Question Set 18

Q 21) Do you think that testing can be done only at the UI level?

Answer: Today as we are moving to the Agile mode, testing is not limited to the UI layer. Early feedback is imperial for an agile project. If we concentrate only on the UI layer, we are actually waiting until the UI is developed and available to test.

Rather we can test even before the UI is actually developed. We can directly test the APIs or the methods using tools like Cucumber and FitNesse.

In this way, we are giving the feedback much early and are testing even before the UI is developed. Following this approach will help us to test only the GUI aspect of small cosmetic changes or some validations on the UI and will help the developers by giving more time to fix the bugs.

Q 22) How do you select which automation tool is best suited for you?

Answer: Selecting the automation tool depends upon various factors like:

·         The scope of the application which we want to automate.

·         Management overhead like cost and budget.

·         Time to learn and implement the tool.

·         Type of support available for the tool.

·         Limitation of the tool

 

Q #23) What do you think holds the testers back to do automation? Is there a way to overcome it?

Answer: The major hurdle for testers is to learn programming/coding when they want to automate. Since testers do not code, adapting to coding is a bit challenging for testers.

We can overcome it by:

·         Collaborating with developers when automating.

·         Considering that automation is the responsibility of the whole team and not only of the testers.

·         Giving a dedicated time and focus on automation.

·         Getting proper management support.

You can save these automation testing interview questions as a pdf and print for further reading.

Q 24) What is an Automation testing framework?

Answer: A framework, in general, is a set of guidelines. A set of guidelines, assumptions, concepts and coding practices for creating an execution environment in which the tests will be automated, is known as an Automation testing framework.

An automation testing framework is responsible for creating a test harness with a mechanism to connect with the application under test, take input from a file, execute the test cases and generate the reports for test execution. An automation testing framework should be independent of the application and it should be easy to use, modify or extend.

Q 25) What are the important modules of an automation testing framework?

Answer: Important modules of an Automation testing framework are:

  1. Test Assertion Tool: This tool will provide assert statements for testing the expected values in the application under test. E.g.TestNG, Junit etc.
  2. Data Setup: Each test case needs to take the user data either from the database or from a file or embedded in the test script. Frameworks data module should take care of the data intake for test scripts and the global variables.
  3. Build Management Tool: Framework needs to be built and deployed for the use of creating test scripts.
  4. Continuous integration tool: With CICD (continuous integration and continuous development) in place, continuous integration tool is required for integrating and deploying the changes done in the framework at each iteration.
  5. Reporting tool: A reporting tool is required to generate a readable report after the test cases are executed for a better view of the steps, results, and failures.
  6. Logging tool: The logging tool in framework helps in better debugging of the error and bugs.

 

Q 26) Explain some Automation testing tools.

 

Answer: Some of the famous Automation testing tools are explained below:

(i) Selenium: Selenium is a test framework for web application automation testing. It supports multiple browsers and is OS independent. Selenium also supports various programming languages like java, c#, PHP, Ruby, and Perl etc.

Selenium is an open source set of libraries which can be used to develop additional test frameworks or test scripts for testing web-based applications.

(ii) UFT: Unified functional testing is a licensed tool for functional testing. It provides a wide range of features like APIs, web services etc and also supports multiple platforms like desktops, web, and mobile. UFT scripts are written in visual basic scripting language.

(iii) Appium: Appium is an open source mobile application testing tool. It is used to automate testing on cross-platform, native, hybrid and web-based mobile applications. Appium automates any mobile application from any language with full access to APIs and DBs from the test code.

Appium is based on client-server architecture and has evolved from selenium.

(iv) Cucumber: Cucumber is an open source behavior-driven development tool. It is used for web-based application automation testing and supports languages like ruby, java, scala, groovy etc. Cucumber reads executable specification written in plain text and tests the application under test for those specifications.

For cucumber to understand the scenarios in plain text, we have to follow some basic syntax rules which are known as Gherkin.

(v) TestComplete: TestComplete is a licensed automated UI testing tool to test the application across different platforms like desktops, web, mobile etc. It provides flexibility to record a test case on one browser and run it on multiple browsers and thus supports cross browsers testing.

TestComplete has inbuilt object recognition algorithm which uniquely identifies an object and stores it in the repository.

Q 27) What are the different types of testing framework techniques?

Answer: There are four types of automation testing framework techniques.

They are:

1) Modular Testing framework:

This framework is built on the concept of abstraction. In this framework, the tester creates scripts for each module of the application under test individually and then these scripts are combined in the hierarchical order to create large test cases.

It creates an abstraction layer between the modules, thus any modifications in test scripts for one module do not affect any other modules.

Advantages of this framework:

·         Easier maintenance and scalability of test cases.

·         Creating test cases by using already scripted modules is easier and faster.

Disadvantages:

·         Test cases have data embedded in them. Thus executing the same test script with different data is a big change at the script level.

2) Data Driven Testing framework:

In Data-driven testing framework, the input data and the expected output data corresponding to the input data is stored in a file or database and automated script runs the same set of test steps for multiple sets of data. With this framework, we can run multiple test cases where only the input data differs and the steps of execution are the same.

Advantages:

·         Reduces the number of test scripts that are required to be executed. We execute the same script multiple times with different data.

·         Less coding for automation testing.

·         Greater flexibility for maintaining and fixing the bugs or enhancing the functionality.

·         Test data can be created even before the automated system for testing is ready.

Disadvantages:

·         Only similar test cases with the same set of execution steps can be combined for multiple sets of data. The different set of execution steps require a different test case.

3) Keyword-Driven Testing framework:

It is an application independent testing framework which uses data tables and self-explanatory keywords. Keywords explain the actions to be performed on the application under test and data table provides the input and expected output data.

Keyword-based testing is an increment to data-driven testing.

Advantages:

·         Less coding and the same script can be used for multiple sets of data.

·         Automation expertise is not required for creating a test case using the already existing keywords for actions.

·         Same keywords can be used across multiple test cases.

Disadvantages:

·         This framework is more complicated as it needs to take care of the keyword actions and also the data input.

·         Test cases get longer and complex thereby affecting the maintainability of the same.

4) Hybrid Testing framework:

This framework is a combination of all the above-mentioned testing frameworks ( Modular, data-driven, and keyword-driven).

In this framework, the test cases are developed from modular scripts by combining them in the modular testing framework. Each of the test cases uses a driver script which uses a data file as in data-driven framework and a keyword based action file.

Advantages:

·         Modular and easy to maintain.

·         Less coding can take care of more test cases.

·         One test case can be executed with multiple sets of data.

Disadvantages:

·         Complex to read, maintain and enhance.

 

Q 28) When do you prefer Manual testing over Automation testing?

Answer: We prefer manual testing over automation testing if:

·         The project is short-term and writing scripts will be time-consuming and costly when compared to manual testing.

·         Flexibility is required. Automated test cases are programmed and run in a specific way of configurations.

·         Usability testing needs to be performed.

·         Application/module are newly developed and have no previous test cases.

·         Ad-hoc or exploratory testing needs to be performed.

 

Q 29) Is Automation testing in agile Methodology useful or not?

Answer: Automation testing is useful for regression, smoke or sanity testing. All these types of testing in traditional waterfall model happen at the end of the cycle and sometimes if there are not many enhancements to the application, we might not even have to do regression testing.

Whereas, in agile methodology, every iteration requires executing the regression test case as a new functionality is added.

Also, the regression suite itself keeps growing after each sprint as the functional test cases of the current sprint module need to be added to the regression suite for the next sprint.

Thus, Automation testing in agile methodology is very useful and helps in achieving maximum test coverage in a lesser time of the sprint.

Q 30) List some advantages and disadvantages of Automation testing.

Answer:

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.