Software Testing Interview Questions and Answers For Freshers Part-1
The relationship between test cases and requirements is shown with the help of a document. This document is known as traceability matrix.
2. What is Equivalence partitioning testing?
Equivalence partitioning testing is a software testing technique which divides the application input test data into each partition at least once of equivalent data from which test cases can be derived. By this testing method it reduces the time required for software testing.
3. Does automation replace manual testing?
Automation is the integration of testing tools into the test environment in such a manner that the test execution, logging, and comparison of results are done with little human intervention. A testing tool is a software application which helps automate the testing process. But the testing tool is not the complete answer for automation. One of the huge mistakes done in testing automation is automating the wrong things during development. Many testers learn the hard way that everything cannot be automated. The best components to automate are repetitive tasks. So some companies first start with manual testing and then see which tests are the most repetitive ones and only those are then automated.
As a rule of thumb do not try to automate:
Unstable software: If the software is still under development and undergoing many changes automation testing will not be that effective.
Once in a blue moon test scripts: Do not automate test scripts which will be run once in a while.
Code and document review: Do not try to automate code and document reviews; they will just cause trouble.
The following figure shows what should not be automated.
All repetitive tasks which are frequently used should be automated. For instance, regression tests are prime candidates for automation because they’re typically executed many times. Smoke, load, and performance tests are other examples of repetitive tasks that are suitable for automation. White box testing can also be automated using various unit testing tools. Code coverage can also be a good candidate for automation.
4. What is white box testing and list the types of white box testing?
White box testing technique involves selection of test cases based on an analysis of the internal structure (Code coverage, branches coverage, paths coverage, condition coverage etc.) of a component or system. It is also known as Code-Based testing or Structural testing. Different types of white box testing are :
5. How do you define a testing policy?
The following are the important steps used to define a testing policy in general. But it can change according to your organization. Let’s discuss in detail the steps of implementing a testing policy in an organization.
Definition: The first step any organization needs to do is define one unique definition for testing within the organization so that everyone is of the same mindset.
How to achieve: How are we going to achieve our objective? Is there going to be a testing committee, will there be compulsory test plans which need to be executed, etc?.
Evaluate: After testing is implemented in a project how do we evaluate it? Are we going to derive metrics of defects per phase, per programmer, etc. Finally, it’s important to let everyone know how testing has added value to the project?.
Standards: Finally, what are the standards we want to achieve by testing? For instance, we can say that more than 20 defects per KLOC will be considered below standard and code review should be done for it.
6. What is the MAIN benefit of designing tests early in the life cycle?
It helps prevent defects from being introduced into the code.
7. What is risk-based testing?
Risk-based testing is the term used for an approach to creating a test strategy that is based on prioritizing tests by risk. The basis of the approach is a detailed risk analysis and prioritizing of risks by risk level. Tests to address each risk are then specified, starting with the highest risk first.
8. What is the KEY difference between preventative and reactive approaches to testing?
Preventative tests are designed early; reactive tests are designed after the software has been produced.
9. In white box testing what do you verify?
In white box testing following steps are verified.
Verify the security holes in the code
Verify the incomplete or broken paths in the code
Verify the flow of structure according to the document specification
Verify the expected outputs
Verify all conditional loops in the code to check the complete functionality of the application
Verify the line by line coding and cover 100% testing
10. What is the difference between static and dynamic testing?
a) Static testing: During Static testing method, the code is not executed and it is performed using the software documentation.
b) Dynamic testing: To perform this testing the code is required to be in an executable form.