February 2022
Intermediate to advanced
274 pages
6h 28m
English
How your application is set up—its software architecture—is an important consideration when determining a testing strategy. Software architecture pertains to how your project’s software is organized, what APIs are available, what the interfaces are, where code complexity lives, modularity, and so much more. In relation to testing, we need to know how much of the system we need to test and what the entry points are.
As a simple example, let’s say we’re testing code that exists in one module, is intended to be used on the command line, has no interactive components other than print output, and has no API. Also, it’s not written in Python. We have no choices then. Our only option is to test it as a black box. ...