Manual Testing Interview Questions

1.    How do drivers and stubs relate to manual testing?
Drivers and stubs are a part of incremental testing. The two approaches used in incremental testing are the top down and the bottom up methods.   Drivers are used for the bottom up approach. They are modules that run the components that are being tested.  A stub is used for the top down approach and is a replacement of sorts for a component, which is used to test (and even develop) a component that it calls.

2.    What is the Waterfall Model?
The Waterfall model is one of the first models to be used for software testing. In this approach, the software development process is divided into separate phases.  These phases typically include requirements specification, software design, Integration and test, and maintenance.  Each phase cascades to the next.  That is, one phase doesn’t begin until the main goals of the previous phase is completed or signed-off.

3.    What is the V model?
The V model of the software development life cycle integrates testing into each phase of the model. The phases of this includes user requirements specification, system requirements specification, global design, detailed design, implementation, and testing of the system as a whole. In this model the phases are performed in parallel with development activities. There are four test levels in this model: component, integration, system and acceptance.

4.    Explain regression testing.
Regression testing checks either a specific component of the application or the full application after revisions have been made. The purpose of regression testing is to guarantee that new defects have not been introduced in the application.  It is especially important to make sure that bugs have not been introduced into areas where no changes were made.

5.    What is stress testing?
Stress testing checks how robust the application is and involves verifying that that application consistently provides satisfying performance under unfavorable and extreme conditions.  This included, heavy user traffic, heavy process loads, irregular hardware clocking, and heavy utilization of resources.  It is also used to verify effectiveness of error handling under extreme conditions.
6.    What is sanity testing?
Sanity testing is a basic test that is used to ensure that there are not multiple or conflicting functions or variables.   Basically, it verifies that the components of the application can be compiled without a problem.  This is conduction on all parts of the application.

7.    What is ad hoc testing?
Ad hoc testing software testing that is performed without the use of planning and/or documentation. They are typically run only one time unless a defect is found.  In these cases, testing may be repeated. Ad hoc testing is considered to be a part of exploratory testing.

8.    What is smoke testing?
Smoke testing covers all of the basic functionality of the application.  It does not explore the finer details of the application and is considered to be the main test geared towards checking the functionality of the application.

9.    Explain boundary value analysis.
Boundary value analysis is a black box testing method in which tests are based on boundary values in the application. A boundary value is an input/output value that is on the border of an equivalence partition. Or more simply put, the maximum or minimum value allowed.

10. What is the difference between priority and severity in regards to defects found in software testing?
In software testing, the priority of a defect is the level of importance from a business standpoint. Severity, however, is determined by the level of impact the defect will have on the system.  This impact can involve the development or the operation of a component or the whole system.

11. Explain compatibility testing.
Compatibility testing is a non-functional test performed on a software system or component for the purpose of evaluating its compatibility the other parts of the computing environment. This includes the hardware, servers, operating system, web browsers, other software, etc.

12. Explain integration testing.
Integration testing is testing that is performed to verify the interfaces between system components, interactions between the application and the hardware, file system, and other software. A developer can perform it, but ideally a different integration tester team should perform it.

13. What is equivalence class partitioning?
Equivalence partitioning is a testing technique that is used to minimize the occurrences of combinations and permutations of input data used for testing. With this method, input possibilities are sorted into equivalence classes in which data that have the same or similar affects are placed into the same class.  It assumes that the utility of the program will not change for any value of data from the same class. The tester assumes that it is adequate to choose one test case from every segment to verify system or component behavior. This reduces the effort required for testing by minimizing the number of test cases to be tested.
14. Provide and example that explains difference between usability and functional defects?
And example of the difference between usability and functional defect will be that of a Login window. A usability defect would be when a user enters a valid user name, but invalid password, and the application gives an error message of “Please enter a valid user name” when it should have been “Please enter a valid password.” A functionality defect would be if in the same scenario, the application accepts the name and the password, though one is incorrect.

15. Explain pilot testing.
Pilot testing is verifying a component of the system or the entire system under real time operating conditions. Using a real time environment helps to locate bugs in the system at an earlier time since the later a bug is found, the more costly it can be. Pilot testing often involves allowing a group of users access the system and implementing their feedback before it is completed and deployed to the public.