General Automation Flashcards

1
Q

What things can you automate?

A
  1. Regression test suite
  2. Smoke / Sanity test suite
  3. Build deployment
  4. Test data creation
  5. Automating behind the GUI like testing of APIs and methods.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

When is Automation testing useful?

A
  1. Regression testing: In case of a bug fix or new module implementation, we have to make sure that the already implemented or unchanged functionality is not affected. In this case, we end up running the regression test case multiple times.
    For Example: After each change request or bug fix, after each iteration in case of incremental development approach, etc.
  2. Non-functional Testing: Testing the non-functional aspects of an application.
    For Example: Load testing or performance testing, etc are very difficult for humans to track and analyze.
  3. Complex calculation checks or test scenarios that are prone to human errors.
  4. Repeated execution of the same tests: Sometimes, we have to run the same set of test case for a different set of data or after each build release or on multiple hardware, software or combination of both.

(i) Smoke test cases: Smoke testing is also known as build verification testing. Smoke test cases are run every time when a new build is released to check the health of the build for acceptance to perform testing.

(ii) Regression Test Cases: Regression testing is the testing to ensure that previously developed modules are functioning as expected after a new module is added or a bug is fixed.

Regression test cases are very crucial in incremental software approach where a new functionality is added at each increment phase. In this case, regression testing is performed at each incremental phase.

(iii) Complex Calculation test cases: Test cases which involve some complex calculations to verify a field for an application fall into this category. Complex calculation results are more prone to human errors hence when automated they give accurate results.

(iv) Data-driven test cases: Test cases which have the same set of steps and run multiple times with the change of data are known as data-driven test cases. Automated testing for these kinds of test cases is quick and cost-effective.

(v) Non-functional test cases: Test cases like load tests and performance tests require a simulated environment with multiple users and multiple hardware or software combinations.

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

What type of test cases you won’t pick up to automate?

A

Before picking up the test cases to automate, I do check whether the application is stable or not. So based on this, I don’t pickup test cases when the AUT changes frequently and the test cases which I run rarely and run only one time. When I do usability and exploratory testing.

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

Can you achieve 100% automation?

A

100% automation would be difficult to achieve because there would be many edge test cases and some cases that are executed seldom. Automating these cases which are not executed that often will not add value to the automated suite.

I don’t pickup test cases when the AUT changes frequently and the test cases which I run rarely and run only one time. When I do usability and exploratory testing.

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

How to decide the tool that one should use for Automation testing in their projects?

A
  1. Understand your project requirements thoroughly and identify the testing scenarios that you want to automate.
  2. Search for the list of tools that support your project’s requirements.
  3. Identify your budget for the automation tool. Select the tools within your budget.
  4. Identify if you already have skilled resources for the tools. If you don’t have the necessary skilled resources then identify the cost for training the existing resources or hiring new resources.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the key criteria of tools?

A
  1. How easy is it to develop and maintain the scripts for the tool?
  2. Can a non-technical person also execute the test cases with little training?
  3. Does the tool support different types of platforms like web, mobile, desktop, etc based on your project requirements?
  4. Does the tool have a test reporting functionality? If not, is it easily configurable for the tool?
  5. How is the tool for cross-browser support for web-based applications?
  6. How many different testing types can this tool support?
  7. How many languages does the tool support?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Is Automation testing a Black box testing or White-box testing?

A

Automation testing is mostly a black box testing as we just program the steps that a manual tester performs for application under test without knowing the low-level design or code of the application.

Sometimes, automated test scripts need access to the database details that are used in the application under test or some more coding details and thus can be a type of white-box testing.

Thus automated testing can be both black or white box type of testing depending on the scenarios in which automation is performed.

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

List some advantages and disadvantages of Manual testing.

A

Advantages:

No environment setup needed.
Programming knowledge is not required.
Recommended for dynamically changing requirements.
Allow human observation power to detect more bugs.
The cost is less for short-term projects.
Flexibility
Disadvantages:

Difficult to perform complex calculations.
Reusability
Time taking
High risk of human errors or mistakes.
More human resources are required.

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

List some advantages and disadvantages of Automation testing.

A

Advantages:

Fewer human resources
Reusability
More Test Coverage in less time
Reliability
Parallel execution of test cases
Fast
Disadvantages:

Development and maintenance time is more.
Tool Cost
Skilled resources are required.
Environment setup
Test Script debugging is an issue.

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

What are some of the factors that determine the effectiveness of automation testing?

A
  1. Time saved by running scripts over the manual execution of test cases.
  2. Defects found
  3. Test Coverage or code coverage
  4. Maintenance time or development time
  5. Stability of the scripts
  6. Test Reusability
  7. Quality of the software under test
How well did you know this?
1
Not at all
2
3
4
5
Perfectly