Test Automation Flashcards

1
Q

Define test automation.

A

Method of testing that uses automated test scripts rather than manual test cases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define test scripts.

A

Small software programs written in a scripting or programming language; controls the inputs into a software module and verifies that results match expectations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What two factors should be considered when selecting test automation candidates?

A
  • Automation must be designed for long term use
  • ROI
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is ROI for test automation based on?

A
  1. The amount of money/time required to build the initial software
  2. The amount of money/time to maintain it over its lifetime
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the characteristics of good candidates for test automation? (Name six.)

A
  1. Expected long term usage
  2. Stable functionality and interface
  3. Need for frequent regression testing
  4. Adequate tool support
  5. Adequate skills on team
  6. Management support
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is considered an acceptable long term usage period for test automation? Why?

A

Target software should remain in production for 2-5 years in order to regain automation costs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe how a stable functionality and interface relates to test automation implementation.

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does tool support impact test automation implementation?

A

There may be situations where the right tool is not available, may need to consider creating a custom tool.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What skills within a team are needed to implement test automation? Why?

A

Because implementation of test automation is synonymous with a software project, true programming skills are needed to write test scripts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why is management support a factor when deciding whether to implement test automation?

A

Test automation can be expensive, so it requires management support, understanding, and approval.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Maintainable automation starts with __________.

A

Building an automation framework.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the value of automation framework?

A

Provides a way to identify and control all test automation test ware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the three steps to creating an effective automation framework?

A
  1. Decide on data-driven vs keyword-driven approach.
  2. Implement the framework.
  3. Build continuously.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe the data-driven approach. What is an advantage to this approach?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Describe keyword-driven automation.

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Is data-driven or keyword-driven approach best suited for early automation? Why?

A

Keyword-driven approach. The software is still evolving, and this approach can reduce the amount of technical debt that accrues later on.

17
Q

Why is implementation of a framework essential for creating effective test automation? (i.e., what is the framework considered?)

A

The framework is a living structure where automation engineers maintain it by adding more to the function library as time allows.

18
Q

When is an automation project considered complete?

A

When the software under test is no longer changing and no changes to existing tests are needed.

19
Q

List some of the benefits of automated testing.

A
  • execute more tests in a short period of time
  • scripted tests provide reliability, repeatability, and improved consistency
  • regression testing
  • faster release cycles
  • reduces burdens on manual test efforts
  • compatibility automation
  • more time for testers to explore areas of software that have gone untested
  • testing earlier with automation results in less expensive defect detection and remediation
  • tests can be executed when people don’t need to be using them
20
Q

What are the risks of test automation implementation?

A
  • management perceives less need for manual testers; reality is that manual tester’s role is expanded
  • automation testing is NOT automatic testing
  • does not improve the effectiveness in terms of defects found (more confirmatory in nature)
  • selecting the wrong tool, resulting in extra effort
  • automation may just speed up the chaos if a good testing process is not in place
  • inaccurate reporting, failures cascading to inaccurately reflect quality of software
  • poor maintainability is expensive
21
Q

Name five test automation success factors.

A
  1. Finding the right project
  2. Build automatability into the system
  3. Show early success
  4. Review the plan
  5. Define ownership
22
Q

What is the standard and preferred approach in test automation?

A

Object-based test automation.

23
Q

How can early success in test automation be demonstrated?

A

Create interim milestones and show that milestones are being met.

24
Q

What are the three areas of automation focus (in order of priority)?

A
  1. Create acceptance/verification tests for the software build
  2. Regression tests
  3. Functionality tests
25
Q

Where do manual testers fit in with ownership of test automation?

A

Manual testers often assume responsibility of executing automated tests and manually testing any failures that occur; allows manual testers to engage with automation and frees up automation engineers from debugging.

26
Q

It is important to identify a test automation tool that meets the needs of __________.

A

Both the SUT and skills of the team.