Testing Interview Questions

 

1. What do you understand by software testing?

Software testing is a validation process which confirms that a system works as per the business requirements. It qualifies a system on various aspects such as usability, accuracy, completeness, efficiency, etc. ANSI/IEEE 1059 is the global standard that defines the basic principles of testing.

2. When should you stop the testing process?

The testing activity ends when the testing team completes the following milestones.

Test case execution

The successful completion of a full test cycle after the final bug fix marks the end of the testing phase. know more at Testing tool online training

Testing deadline

The end date of the validation stage also declares the closure of the validation if no critical or high-priority defects remain in the system.

Code Coverage(CC) ratio

It is the amount of code concealed via automated tests. If the team achieves the intended level of code coverage (CC) ratio, then it can choose to end the validation.

Mean Time Between Failure (MTBF) rate
Mean time between failure (MTBF) refers to the average amount of time that a device or product functions before failing. This unit of measurement includes only operational time between failures and does not include repair times, assuming the item is repaired and begins functioning again. MTBF figures are often used to project how likely a single unit is to fail within a certain period of time

3. What do verification and validation mean in software testing?

In software testing, verification is a process to confirm that product development is taking place as per the specifications and using the standard development procedures. The process comprises the following activities:

  • Inspections
  • Reviews
  • Walk-throughs
  • Demos

Validation is a means to confirm that the developed product doesn’t have any bugs and is working as expected. It comprises the following activities:

  • Functional testing
  • Non-functional testing

4. What is static testing? When does it start and what does it cover?

Static testing is a white-box testing technique that directs developers to verify their code with the help of a checklist to find errors in it. Developers can start the static testing without actually finalizing the application or program. Static testing is more cost-effective than dynamic testing as it more areas than dynamic testing in a shorter time.

5. Define Black-box testing.

It is a standard software testing approach that requires testers to assess the functionality of the software as per the business requirements. The software is treated as a black box and validated as per the end user’s point of view.

6. What is a test plan and what does it include?

A test plan stores all possible testing activities to ensure a quality product. It gathers data from the product description, requirement, and use case documents.

The test plan document includes the following:

  • Testing objectives
  • Test scope
  • Testing the frame
  • Environment
  • Reason for testing
  • Criteria for entrance and exit
  • Deliverables
  • Risk factors

7. What is meant by test coverage?

Test coverage is a quality metric to represent the amount (in percentage) of testing completed for a product. It is relevant for both functional and non-functional testing activities. This metric is used to add missing test cases. know more at Testing Tool training

8. Is it possible to achieve 100% testing coverage? How would you ensure it?

It’s considered not possible to perform 100% testing of any product. But you can follow the below steps to come closer.

  • Set a hard limit on the following factors:
    • Percentage of test cases passed
    • Number of bugs found
  • Set a red flag if:
    • Test budget is depleted
    • Deadlines are breached
  • Set a green flag if:
    • The entire functionality gets covered in test cases
    • All critical and major bugs must have a ‘CLOSED’ status

9. What are unit testing and integration testing?

Unit testing has many names such as module testing or component testing.

Many times, it is the developers who test individual units or modules to check if they are working correctly.

Whereas, integration testing validates how well two or more units of software interact with each other.

There are three ways to validate integration:

  • Big Bang approach
  • Top-down approach
  • Bottom-up approach

10. Can we do system testing at any stage?

No. System testing should start only if all modules are in place and they work correctly. However, it should be performed before UAT (user acceptance testing).

11. Mention the different types of software testing.

Various testing types used by manual testers are as follows:

  • Unit testing
  • Integration testing
  • Regression testing
  • Shakeout testing
  • Smoke testing
  • Functional testing
  • Performance testing
    • Load testing
    • Stress testing
    • Endurance testing
  •  White-box and Black-box testing
  •  Alpha and Beta testing
  • System testing

12. What is the difference between a test driver and a test stub?

The test driver is a section of code that calls a software component under test. It is useful in testing that follows the bottom-up approach.

The test stub is a dummy program that integrates with an application to complete its functionality. It is relevant for testing that uses the top-down approach.

For example:

  1. Let’s assume a scenario where we have to test the interface between Modules A and B. We have developed only Module A. Here, we can test Module A if we have the real Module B or a dummy module for it. In this case, we call Module B as the test stub.
  2. Now, Module B can’t send or receive data directly from Module A. In such a scenario, we’ve to move data from one module to another using some external features called test driver. know more at Testing tool online training from India

13. What is agile testing and why is it important?

Agile testing is a software testing process that evaluates software from the customers’ point of view. It is favorable as it does not require the development team to complete coding for starting QA. Instead, both coding and testing go hand in hand. However, it may require continuous customer interaction.

14. What do you know about data flow testing?

It is one of the white-box testing techniques.

Data flow testing emphasizes for designing test cases that cover control flow paths around variable definitions and their uses in the modules. It expects test cases to have the following attributes:

  1. The input to the module
  2. The control flow path for testing
  3. A pair of an appropriate variable definition and its use
  4. The expected outcome of the test case

15. What is the purpose of the end-to-end testing?

End-to-end testing is a testing strategy to execute tests that cover every possible flow of an application from its start to finish. The objective of performing end-to-end tests is to discover software dependencies and to assert that the correct input is getting passed between various software modules and sub-systems.

16. The probability that a server-class application hosted on the cloud is up and running for six long months without crashing is 99.99 percentage. To analyze this type of a scenario, what test you will perform?

Reliability testing

17. What will you do when a bug turns up during testing?

When a bug occurs, we can follow the below steps.

  • We can run more tests to make sure that the problem has a clear description.
  • We can also run a few more tests to ensure that the same problem doesn’t exist with different inputs.
  • Once we are certain of the full scope of the bug, we can add details and report it.

18. Why is it impossible to test a program thoroughly?

Here are the two principal reasons that make it impossible to test a program entirely.

  • Software specifications can be subjective and can lead to different interpretations.
  • A software program may require too many inputs, outputs, and path combinations.

19. How do you test a product if the requirements are yet to be freezed?

If the required specifications are not available for a product, then a test plan can be created based on the assumptions made about the product. But we should get all assumptions well-documented in the test plan.

20. If a product is in the production stage and one of its modules gets updated, then is it necessary to ret

It is suggested to perform a regression testing and run tests for all the other modules as well. Finally, the QA should also carry out a system testing.

21. How will you overcome the challenges faced due to the unavailability of proper documentation for testing?

If the standard documents like System Requirement Specification or Feature Description Document are not available, then QAs may have to rely on the following references, if available.

  • Screenshots
  • A previous version of the application
  • Wireframes

Another reliable way is to have discussions with the developer and the business analyst. It helps in solving the doubts, and it opens a channel for bringing clarity on the requirements. Also, the emails exchanged could be useful as a testing reference.

Smoke testing is yet another option that would help verify the main functionality of the application. It would reveal some very basic bugs in the application. If none of these work, then we can just test the application from our previous experiences.

22. Is there any difference between retesting and regression testing?

Possible differences between retesting and regression testing are as follows:

  • We perform retesting to verify the defect fixes. But, the regression testing assures that the bug fix does not break other parts of the application.
  • Regression test cases verify the functionality of some or all modules.
  • Regression testing ensures the re-execution of passed test cases. Whereas, retesting involves the execution of test cases that are in a failed state.
  • Retesting has a higher priority over regression. But in some cases, both get executed in parallel.

23. As per your understanding, list down the key challenges of software testing.

Following are some of the key challenges of software testing:

  • The lack of availability of standard documents to understand the application
  • Lack of skilled testers
  • Understanding the requirements: Testers require good listening and understanding capabilities to be able to communicate with the customers the application requirements.
  • The decision-making ability to analyze when to stop testing
  • Ability to work under time constraints
  • Ability to decide which tests to execute first
  • Testing the entire application using an optimized number of test cases

24. What are the different types of functional testing?

Functional testing covers the following types of validation techniques:

  • Unit testing
  • Smoke testing
  • UAT
  • Sanity testing
  • Interface testing
  • Integration testing
  • System testing
  • Regression testing

25. What are functional test cases and non-functional test cases?

  • Functional testing: It is testing the ‘functionality’ of a software or an application under test. It tests the behavior of the software under test. Based on the requirement of the client, a document called a software specification or requirement specification is used as a guide to test the application. know more at Testing tool online course
  • Non-functional testing: In software terms, when an application works as per the user’s expectation, smoothly and efficiently under any condition, then it is stated as a reliable application. Based on quality, it is very critical to test these parameters.

Comments

  1. Thanks for sharing software testing interview questions and answers. Refer the below link for another set of interview questions,
    Software Testing Interview Questions

    ReplyDelete

Post a Comment

Popular posts from this blog

What is Tableau?

SharePoint Interview Questions