Testing still represents an important share of the overall development effort and, coming late in the software life cycle, it is on the critical path both from a schedule and quality perspective. In an effort to conduct smarter software testing, Motorola Labs have developed the Bayesian test assistant (BTA), an advanced decision support tool to optimize all verification and validation activities, in development and system testing. With Bayesian networks, the theory underlying BTA, Motorola Labs built a library of causal models to predict, from key process, people and product factors, the quality of artefacts at each step of the software development. In this paper we present how BTA links the predictions from development models by mapping dependencies between components or subsystems to predict the level of risk in each system feature. As a result, and well before system testing starts, BTA generates a test strategy that optimizes the writing of test cases. During system test, BTA scores test cases to select an optimum set for each test step, leading to a faster discovery of defects. We also describe how BTA was deployed on large telecomm system releases in several Motorola organizations and the improvement driven so far in system testing
['Jean-Jacques Gras', 'Rishabh Gupta', 'Elena Pérez‐Miñana']
Generating a Test Strategy with Bayesian Networks and Common Sense