O'Reilly logo

Beautiful Testing by Adam Goucher, Tim Riley

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Testing Methods

The Clam Anti-Virus project uses several black and white box testing methods to eliminate as many errors as possible and make the user experience both more efficient and enjoyable.

Black Box Versus White Box Testing

The black box and white box methods are the most common design methods for software testing. In the black box approach, the software is treated as a mysterious object, of which internal structure and design are unknown. It takes some input data, processes it, and spits out the results. A single test is considered successful when a program can both handle the data and give expected results. Whereas black box testing is based on the software specification, the white box approach requires knowledge about the internal implementation and focuses on testing specific paths in the program. The test cases need to be carefully selected by the programmers and cover all of the important units of code.

Black box and white box testing methods are complementary, but both share similar limitations, the major one being the fact that in practice, it’s impossible to test the program completely. You need to be creative, design effectively, and, even better, develop beautiful tests that cover various use cases and detect problems before the software reaches your users.

Static Analysis

A static analysis of source code is a white box testing method, which doesn’t require the code to be executed. The point of this method is to look for common programming errors and ensure that the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required