Question Set 19

 

Q 31) List some advantages and disadvantages of Manual testing.

Answer:

Advantages:

·         No environment setup needed.

·         Programming knowledge is not required.

·         Recommended for dynamically changing requirements.

·         Allows human observation power to detect more bugs.

·         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.

 

Q 32) Can we do Automation testing without a framework? If yes, then why do we need a framework?

Answer: Yes, We can perform automation testing even without using a framework. We can just understand the tool that we are using for automation and program the steps in the programming language that tools support.

If we automate test cases without a framework then there won’t be any consistency in the programming scripts for test cases.

A framework is required to give a set of guidelines that everyone has to follow to have maintained readability, reusability, and consistency in the test scripts. A framework also provides one common ground for reporting and logging functionality.

Q 33) How will you automate basic “login” functionality test cases for an application?

Answer: Assuming that the automation tool and framework is already in place of the test environment.

To test the basic “Login” functionality:

·         Understand the project requirement: Login functionality will have a username textbox, a password textbox, and a login button.

·         Identify the Test scenarios: For login functionality, the possible test scenarios are:

·         Blank username and password

·         Invalid username and password

·         A valid username and invalid password

·         Valid username and password

·         Prepare a Data input file with the data corresponding to each scenario.

·         Launch the tool from the program.

·         Identify the username field, password field, and the login button.

·         For each test scenario, get the data from the data file and enter into the corresponding fields. Program click on the login button after entering the data.

·         Validate the error message for negative scenarios and the success message for positive scenarios in the test script with the help of assertions.

·         Run the test suite and generate the report.

 

Q 34) Is Automation testing a Black box testing or White-box testing?

Answer: 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.

Q 35) How many test cases have you automated per day?

Answer: Well, the number depends on the complexity of the test cases. When the complexity was limited, I was able to automate 5 to 6 test cases per day. Sometimes, I was able to automate only one test case for complex scenarios.

I have also broken down my test cases into different components like, take input, do the calculation, verify the output etc. in case of very complex scenarios and have taken 2 or more days.

Q 36) What factors determine the effectiveness of Automation testing?

Answer: Some of the factors that determine the effectiveness of automation testing are:

·         Time saved by running scripts over the manual execution of test cases.

·         Defects found

·         Test Coverage or code coverage

·         Maintenance time or development time

·         Stability of the scripts

·         Test Reusability

·         Quality of the software under test

 

Q 37) Which test cases can be automated?

Answer: Types of test cases which can be automated are:

(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.

Setting up multiple environments manually is impossible for each combination or number of users. Automated tools can easily create this environment to perform non-functional testing easily.

Q 38) What are the phases in Automation testing Life Cycle?

Answer: The phases in Automation testing life Cycle include:

  1. The decision to perform automation testing.
  2. Identify and learn about the automation tool.
  3. Determine the scope of automation testing.
  4. Design and develop a test suite.
  5. Test Execution
  6. Maintenance of test scripts.

phases in Automation testing Life Cycle

Q 39) What is an Automated test script?

Answer: An automated test script is a short program that is written in a programming language to perform a set of instructions on an application under test to verify if the application is as per the requirements.