Test Automation Flashcards
Define test automation.
Method of testing that uses automated test scripts rather than manual test cases.
Define test scripts.
Small software programs written in a scripting or programming language; controls the inputs into a software module and verifies that results match expectations.
What two factors should be considered when selecting test automation candidates?
- Automation must be designed for long term use
- ROI
What is ROI for test automation based on?
- The amount of money/time required to build the initial software
- The amount of money/time to maintain it over its lifetime
What are the characteristics of good candidates for test automation? (Name six.)
- Expected long term usage
- Stable functionality and interface
- Need for frequent regression testing
- Adequate tool support
- Adequate skills on team
- Management support
What is considered an acceptable long term usage period for test automation? Why?
Target software should remain in production for 2-5 years in order to regain automation costs.
Describe how a stable functionality and interface relates to test automation implementation.
It is more cost effective to implement automation at a point where the software has stabilized. Stabilization is reached when a set of core functionality is working and not subject to substantial change.
How does tool support impact test automation implementation?
There may be situations where the right tool is not available, may need to consider creating a custom tool.
What skills within a team are needed to implement test automation? Why?
Because implementation of test automation is synonymous with a software project, true programming skills are needed to write test scripts.
Why is management support a factor when deciding whether to implement test automation?
Test automation can be expensive, so it requires management support, understanding, and approval.
Maintainable automation starts with __________.
Building an automation framework.
What is the value of automation framework?
Provides a way to identify and control all test automation test ware.
What are the three steps to creating an effective automation framework?
- Decide on data-driven vs keyword-driven approach.
- Implement the framework.
- Build continuously.
Describe the data-driven approach. What is an advantage to this approach?
- separates the test script from the data to be used
- data accessed by the script from a spreadsheet or database
- data is maintained by a test analyst with good knowledge of the domain to be tested
- script is managed by an automation engineer
- separation provides a higher level of maintainability by allowing single script to conduct many tests where the only variance is data
Describe keyword-driven automation.
- uses action words (keywords) to describe the actions to be performed by the script
- test analyst defines the actions to be tested (e.g. add a user) and data to be used by the actions (e.g. first name, last name, address)
- automation engineer writes a test script that reads the action and performs the appropriate steps using the provided data