Test automation management tools
This article needs additional citations for verification. (February 2011) |
Test automation management tools tools are specific tools providing test automation collaborative environment that is intended to make test automation efficient, clear for stakeholders and traceable. Since test automation is becoming cross-discipline (i.e. mixes both testing and development practices), the need of specific and dedicated environment for test automation is becoming vital.
Motivation
Test automation usually lacks of reporting, analysis and providing meaningful information about project status from automation perspective. Test management systems from the other hand mostly targeted on manual effort and cannot give all the required information[1]. Test automation management system leverages automation effort towards efficient and continuous process of delivering test execution and new working tests by:
- Making transparent, meaningful and traceable reporting for all project stakeholders
- Easing test debugging through built-in test results analysis workflow
- Providing valuable metrics and KPIs – both technical and business-wise (trend analysis, benchmarking, gap analysis, root cause analysis, 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)
- Keeping historical data in a single place, easily retrievable
- Post project analysis and automation performance assessment (basically progress of test coverage shows the group performance)
Compliance with Agile
Test automation management tools are perfectly fit Agile methodologies and SDLC. In most cases test automation is to cover continuous changes in order to minimize manual regression testing, therefore at glance reporting is essential to be up to date and move project quickly. The changes are usually noted by seeing difference of errors in test logs between day A and day A+1. For example, difference in number of failures (logs errors) signal about probable changes either in AUT or in test code (broken test code base, instabilities) or rarely in both. Quick notice of changes and unified workflow of results analysis, ultimately, reduces cost of testing overall and moreover increase confidence on project quality attributes with clean reporting on hand.
TDD
Test-driven development utilizes test automation as primary driver to rapid and high-quality software production. Concepts of green line and thoughtful design supported with test before actual coding assume having special tools to track, analyze and make right decision within TDD process.
Continuous Integration
Another proper test automation practice [2] is being part of continuous integration which explicitly supposes to have automated test suites as final stage upon building, deployment and distributing new version of software. Basically, based on acceptance test results, a build is declared either as qualified for further testing or not qualified (rejected).[3] CI web dashboards provide all relevant information on all stages of software building including automation test results. However, CI dashboard does not support comprehensive operations and views for automation engineer. This is another reason for having dedicated management tool which can supply high-level data to other project management tools such as CI, test management tools, issue management, change management.
Continuous Automation
Continuous Automation is a subset of CI which can be considered as part of CI or as independent workflow. Different companies and project have different vision and place of automation. In general this isolated from development approach is typical for functional testing and QA teams and teams which are doing independent software verification which could not rely on development codebase and infrastructure (e.g. outsourcing, UAT, etc.)
The Common workflow in test automation can be decomposed as follows:
- Develop, debug and setup tests on production run - test shipping
- Regular Running ready-to-go tests
- Perform test results analysis and maintenance that results in:
- Revealing project (AUT) defects: if new one - report the issue, if persisting one - get confidence that it is covered
- Finding out problems in testing code - to Debug
- Prepare report and notify stakeholders about analysis completion
References
- ^ Kartashov, Peter (2011). = Test Automation Management: A Call For Better Tools. Automated Software Testing Magazine.
{{cite book}}
: line feed character in|title=
at position 2 (help) - ^ Kolawa, Adam (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. ISBN 0470042125.
{{cite book}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Fowler, Martin. "Continuous Integration". Retrieved 2009-11-11.
Slideshare presentation about continuous automation