Question Set 16
Q 1) What is Automation?
Answer: Automation is any action which can reduce human efforts.
Q 2) What is Automation testing?
Answer: The process of using special software tools or scripts to perform testing tasks such as entering data, executing the test steps and comparing the results etc. is known as Automation testing.
Q 3) What all things can you automate?
Answer:
· Regression test suite
· Smoke / Sanity test suite
· Build deployment
· Test data creation
· Automating behind the GUI like testing of APIs and methods.
Q 4) When is Automation testing useful?
Answer: Automation testing is useful in the following scenarios:
a) 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.
b) 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.
c) Complex calculation checks or tests scenarios that are prone to human errors.
d) Repeated execution of 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.
Automating the test cases in the above scenarios helps in achieving the speed of testing and minimizing human errors.
Q 5) How do you identify the test cases which are suitable for automation?
Answer: Identifying the appropriate test cases for automation is the most important step towards automation.
Q 6) Can you achieve 100% automation?
Answer: 100% automation would be difficult to achieve because there would be many edge test cases and some cases which are executed seldom. Automating these cases which are not executed that often will not add value to the automated suite.
Q 7) How to decide the tool that one should use for Automation testing in their projects?
Answer: In order to identify the tool for Automation testing in your project:
a) Understand your project requirements thoroughly and identify the testing scenarios that you want to automate.
b) Search for the list of tools that support your project’s requirements.
c) Identify your budget for the automation tool. Select the tools within your budget.
d) 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.
e) Now compare each tool for key criteria like:
· How easy is it to develop and maintain the scripts for the tool.
· Can a non-technical person also execute the test cases with little training?
· Does the tool support different types of platforms like web, mobile, desktop etc based on your project requirements?
· Does the tool have a test reporting functionality? If not, is it easily configurable for the tool?
· How is the tool for cross-browser support for web-based applications?
· How many different testing types can this tool support?
· How many languages does the tool support?
f) Once you have compared the tools, select the tool which is within your budget and supports your project requirements, and gives you more advantages based on the key criteria mentioned above.
Q 8) Currently I do not have any automation in place in my project, but now I want to implement automation, what would be my steps?
Answer:
· First, identify which type of testing/test cases you want to automate.
· Identify the tool
· Design the framework
· Create utility files and environment files.
· Start scripting
· Identify and work on the reporting.
· Allocating time for enhancing and maintaining the scripts.
Steps required for getting Automation Testing in place for a project include:
Q 9) How do you decide which tool you have to use?
Answer: Concluding which tool is best suitable for the project requires a lot of brainstorming and discussions.
Q 10) Once you identify the tool what would be your next steps?
Answer: Once we finalize the tool, our next step would be to design the framework.