In this era of everything agile, test automation cannot be limited to just execution. Rather, it should be expanded to cover the entire test process, including test design, development, execution, and ongoing maintenance.
Automation is the key to this type of test design optimization. The first step is to use model-based testing (MBT), which promotes communication between business stakeholders, test architects, subject matter experts, and testers. The next step is to leverage tools that automatically generate tests for execution, with test scripts and documentation from the models. These generated tests can be optimized for full coverage with the most effective test suites and are easily updated when the software changes.
Results that can be achieved with this strategy include:
- Improved efficiency: 40% faster development cycles
- Higher quality: 50% more defects found
- Reduced costs: 400% return on investment
- Increased manageability: 60% better collaboration
The test design optimization approach is a next-generation solution for automated software testing, transforming traditional software testing, advancing the state of the art, and supporting the needs of agile, waterfall, and in-sprint software development and test flows.
There are three steps in the test design optimization methodology:
Step 1: Create a business process model
- Rather than creating a miscellany of test cases, testers create a model that describes the product they want to test (the application under test, or AUT).
- Testers use a tool that leverages highly intelligent algorithms to (1) automatically determine the necessary tests and test data and (2) optimize tests for 100% coverage with a minimum of tests generated.
- Users need only maintain the models because everything downstream updates automatically.
- Users can jump-start modeling by importing software design/software architecture documents like BPMN, flow charts, and WSDL/XSD files.
Step 2: Generate test cases and review
- Customized scripter add-ins enable generation of tests in a specific format that can be easily executed.
- Tests generated are optimized for fast test execution and improved coverage.
- Coverage of the created test cases is known, correlated, and reported, improving the quality of the end product.
- Changes in product requirements are automatically flagged to make maintenance faster and adapt test cases quickly to new product requirements, eliminating laborious test execution script maintenance during short sprints.
Step 3: Generate test documentation and scripts
- Scripts for automated test execution systems are automatically created, transforming manual tests into automated ones.
- Test case documentation can be generated in any language for upload to application lifecycle management and test management systems.
- A requirement traceability matrix is generated, enables users to ensure the required test coverage is achieved.
In summary, there are a number of important benefits of a test design optimization approach:
- Accelerated project schedules
- Faster testing for frequent application changes
- Reduced testing effort and resources
- Improved test design productivity
- 100% requirements test coverage
- Requirements visibility and traceability
- Known test coverage with minimum test cases
- Integration with existing SDLC tools