Chapter 3. Bug Detection and Code Review
Imagine paying the highest salaries in a company to software engineers to develop a product that will be responsible for the company’s revenue, only to lose that revenue due to costly bugs in production. This is any business owner’s worst nightmare, and sadly it happens every day. Software has automated whole industries, replacing lengthy manual processes and creating new ways to do previously impossible things. However, automation can’t be effective when bugs detract from the underlying products’ key functionalities.
To mitigate this fundamental concern, several job titles have been created over the years to guarantee proper quality assurance (QA), such as QA engineer, QA analyst, and test engineer. Processes, too, have been developed to detect bugs before they get deployed to production. Those processes boil down to two main categories:
- Code reviews
-
This process is done during development, and it consists of team members reviewing each other’s code before it is deemed ready to go live. Some teams mandate a minimum number of team members who must review and approve a pull request (PR) before it can be merged.
- Quality assurance
-
This process is done after development as the last “gatekeeper” before code gets pushed to production. It consists of manual or automated tests done in an environment that closely matches production. These tests aim to mimic users’ behavior to catch any bug that could have escaped a code review.
When either ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access