Engineering:Test automation management tools
Software development |
---|
Core activities |
Paradigms and models |
Methodologies and frameworks |
Supporting disciplines |
Practices |
Tools |
Standards and Bodies of Knowledge |
Glossaries |
Test automation management tools are specific tools that provide a collaborative environment that is intended to make test automation efficient, traceable and clear for stakeholders. Test automation is becoming a cross-discipline (i.e. a mix of both testing and development practices.)
Motivation
Test automation systems usually lack reporting, analysis and meaningful information about project status. Test management systems target manual effort and do not give all the required information.[1]
Test automation management systems leverage automation effort towards efficient and continuous processes of delivering test execution and new working tests by:
- Making transparent, meaningful and traceable reporting for all project stakeholders.
- Easing test debugging through test results analysis workflow.
- Providing valuable metrics and key performance indicators – both technical and business-wise (trend analysis, benchmarking, gap analysis, root cause analysis and risk point analysis).
- Grid benchmarking and comparison of test execution days reduces analysis and review effort.
- Clean traceability with other testing artifacts (test cases, data, issues, etc.).
- Organizing historical data.
- Post-project analysis and automation performance assessment. (Progress of test coverage shows the group performance.)
Compliance with Agile
Test automation management tools fit Agile Systems Development Life Cycle methodologies. In most cases, test automation covers continuous changes in order to minimize manual regression testing. Changes are usually noted by monitoring test log diffs. For example, differences in the number of failures signal probable changes either in AUT or in test code (broken test code base, instabilities) or in both. Quick notice of changes and unified workflow of results analysis reduces testing costs and increases project quality.
TDD
Test-driven development utilizes test automation as the primary driver to rapid and high-quality software production. Concepts of green line and thoughtful design are supported with tests before actual coding, assuming there are special tools to track and analyze within TDD process.
Continuous Integration
Another test automation practice[2] is continuous integration, which explicitly supposes automated test suites as a final stage upon building, deployment and distributing new versions of software. Based on acceptance of test results, a build is declared either as qualified for further testing or rejected.[3] Dashboards provide relevant information on all stages of software development including test results. However, dashboards do not support comprehensive operations and views for an automation engineer. This is another reason for dedicated management tools that can supply high-level data to other project management tools such as test management, issue management and change management.
References
- ↑ Kartashov, Peter (2011). Test Automation Management: A Call For Better Tools. Automated Software Testing Magazine. http://www.automatedtestinginstitute.com/home/index.php?option=com_content&view=article&id=1276:ast-magazine&catid=105:ast-cover-description&Itemid=122.
- ↑ Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. ISBN 0-470-04212-5. http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470042125.html.
- ↑ "Continuous Integration". http://martinfowler.com/articles/continuousIntegration.html#PracticesOfContinuousIntegration. Retrieved 2009-11-11.