Testing techniques based on symbolic evaluation
Proceedings of Centre for Software Reliability Workshop on Software: requirements, specification and testing
A Formal Evaluation of Data Flow Path Selection Criteria
IEEE Transactions on Software Engineering
Transition network grammars for natural language analysis
Communications of the ACM
Scenarios and state machines: models, algorithms, and tools: a summary of the 4th workshop
ACM SIGSOFT Software Engineering Notes
Achieving closed-loop control simulation of human-artefact interaction: a comparative review
Modelling and Simulation in Engineering
Hi-index | 0.00 |
Testing is a necessary but frequently expensive activity that is needed to ensure software quality. For large, complex systems, testing based on covering all control flow or all data flow paths is intractable. But focusing on tests that are purpose-driven, namely on tests that are derived from system requirements and that test whether requirements goals are met, significantly reduces the size of a "complete" test suite for the system while simultaneously increasing confidence that the system performs as expected.Scenarios and state machines provide a useful framework for modeling and analysis of purpose-driven testing. Scenarios are sequences of events that represent purposeful uses of a system (or of its components, to any desired degree of detail). State machines, in the form of recursive transition diagrams, can model the successive refinement of requirements goals into architectures and implementations, and testing them using purpose-driven scenario-based tests provides early validation of that refinement. Formulating sets of scenarios that capture and represent a complete-enough set of requirements ensures that a test suite covering them explores all important regions of a system's state space. The scenario-based tests will predict with high confidence which system goals have been met, and, certainly, which have not. This position paper sketches elements of our approach to purpose-driven testing using scenarios and state machines.