Forms of Quality Assurance
Learn code-level quality and unit testing along with what your product will need to endure.
This chapter focuses on code-level quality and unit testing, and their role in assuring product quality. We will also consider what our product will need to endure.
Code review
The first obvious, simple way to assure code quality is to have another programmer read it. It does not need to be a fancy review – even pair programming is a form of real-time code review. Teams will use code reviews to catch bugs, enforce coding style and standards, and spread knowledge among team members.
Unit tests
As we build the business logic of our application, class by class and method by method, there is no better way to verify our code than with unit tests. These base-level tests are designed to verify bits of logic in isolation.
Acceptance tests
Where unit tests view the product from the inside out, acceptance tests are designed to simulate real-world users as they interact with the system. Ideally, they are automated and written as a narrative of sorts. For example, an automated bank teller application could have an acceptance story like this:
"I have $0 in my checking account. When I go to the ATM and select ‘Withdrawal’ from ‘Checking Account,’ then I should see ‘Sorry, your account has insufficient funds.’”
These tests exercise the whole system from the user interface down to business logic. Whether they are ...