  We present a new model-based approach for testing systems that use sequences
of actions and assertions as test vectors. Our solution includes a method for
quantifying testing quality, a tool for generating high-quality test suites
based on the coverage criteria we propose, and a framework for assessing risks.
For testing quality, we propose a method that specifies generalized coverage
criteria over sequences of actions, which extends previous approaches. Our
publicly available tool demonstrates how to extract effective test suites from
test plans based on these criteria. We also present a Bayesian approach for
measuring the probabilities of bugs or risks, and show how this quantification
can help achieve an informed balance between exploitation and exploration in
testing. Finally, we provide an empirical evaluation demonstrating the
effectiveness of our tool in finding bugs, assessing risks, and achieving
coverage.
