Blackbox tests assume that test engineers have no knowledge of the application’s internals — test engineers work purely in terms of inputs and the corresponding expected outputs. Blackbox testing is an important part of a team’s overall testing strategy, especially when source code cannot be shared (e.g., due to security reasons) with a distributed QA team.
Coco offers a facility for multi-user, blackbox testing where a developer with source code privileges can create a so-called blackbox instrumentation database, in which no source code access is available to the test engineers. The developer need only ship an instrumented binary to QA and provide the test team with the blackbox database. Test engineers will conduct their tests on the application, and an execution report (.csexe file) will generate. The test engineers can load this report into the blackbox database to view the coverage of their tests and manage their executions (e.g., add execution comments or view test duration.)
To obtain a global coverage report, the developer with source code access can merge the coverage data from each member of QA into one master report. The team can then get a clearer picture of the whole team’s testing efforts (i.e., a developer’s unit tests coupled with a test engineer’s interactive tests.) This testing approach can be generalized to any number of developers and testers: the merging utility works no matter the team size.
We’ve written a blog article that explains how to create a blackbox database and how to merge developer’s unit tests with QA’s manual tests into one master view of the source code coverage. Take a look here.