Search⌘ K

Forms of Quality Assurance

Explore different forms of quality assurance in software development such as code reviews, unit tests, acceptance tests, load testing, and exploratory testing. Understand how these practices help maintain code quality and product reliability across environments, ensuring software performs well for users and meets industry standards.

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 automated or ...