Interview Questions Regarding Manual Testing
List of most frequently asked Interview Questions Regarding Manual Testing with their answers. From the beginners to the advanced level. It will be helpful for your next interview.
1) What is the difference between bug, error, and defect?
Bug and defect are the same. It is the flaw in a component or system, which can cause the component or system to fail to perform its required function. If a bug or defect is encountered during the execution phase of software development, it can cause the component or the system to fail. On the other hand, an error is a human error, which gives rise to an incorrect result.
2) Explain white box testing.
It is also known as glass box, structural, clear box, and open box testing. A software testing technique where the internal workings of the software is tested. Unlike black-box testing white box testing uses specific knowledge of programming code to examine outputs. The test is accurate only if the tester knows what the program is supposed to do. A tester can then see if the program deviates from its intended goal.
3) Tell me about the V model in manual testing.
V model is a framework, which describes the software development life cycle activities right from requirements specification up to the software maintenance phase. Testing is integrated into each of the phases of the model. The phases of the model start with user requirements and are followed by system requirements, a global design, detailed design, implementation and end with system testing of the entire system. Each phase of the model has the respective testing activity integrated with it and is carried out parallel to the development activities. The four test levels used by this model include component testing, integration testing, system testing, and acceptance testing.
4) What are stubs and drivers in manual testing?
Stubs and drivers are a part of incremental testing. There are two approaches, which are used in incremental testing, the bottom-up and top-down approach. Drivers are used in bottom-up testing. They are modules, which test the components to be tested. The look of the drivers is similar to future real modules. A skeletal or special-purpose implementation of a component, which is used to develop or test a component, that calls or is otherwise dependent on it. It is the replacement for the called component.
5) Explain black box testing.
The goal of black-box testing is not to dig deep into the code, going through the software’s insides, but to interact with its user interface, test its functionality, and make sure that every input and output of the system meets the specified requirements. Therefore black-box testing can also be called functional or specification-based testing. The black-box testing method is that the testers performing it has no knowledge of the internal structure and source code of the software they’re testing. And they don’t need to have any, neither do they need to have in-depth knowledge of programming languages or outstanding coding skills to perform the tests.
6) Explain compatibility testing.
It is a type of software testing in which the tester checks whether the software is capable of running on different hardware, applications, operating systems, network environments, or mobile devices. Compatibility Testing is a type of Non-functional testing.
7) What are the checklists, which a software tester should follow?
Checklists can be structured according to the process type, testing methodology, or product category.
Creating a checklist for each stage of the software testing lifecycle is important:
- Requirement analysis — define stakeholders, create requirement traceability matrix, testing areas, and expected results
- Test-planning – prepare test plan and strategy, allocate resources and determine team roles, select tools
- Testcase development — create test cases, generate test data, automation scripts
- Test-environment setup. Test environment setup checklist is a great example of areas where a QA checklist can be successfully implemented: it’s applicable for all type of projects and involves several teams.
- Test-Execution. Undoubtedly you have a comprehensive test plan and a bunch of test cases. But if it’s a huge project, creating a simple checklist for both functional and non-functional testing can work for you. Also, it will streamline progress tracking and understanding blockers, if there are any.
- Test cycle closure. Include a list of documents that should be created, including metrics and reports.
8) What are the different types of software testing?
There are four main software tests that should be performed before the software can be released: unit testing, integration testing, system testing, and acceptance testing.
9) Explain what are the phases of STLC?
Like there are different phases of the software development life cycle, there are different phases of the software testing life cycle as well.
- Requirement Analysis
- Test Closure
10) What is a Review?
A review is an evaluation of a said product or project status to ascertain any discrepancies from the actual planned results and to recommend improvements to the said product. The common examples of reviews are informal review or peer review, technical review, inspection, walkthrough, management review.
11) Explain beta testing.
The product is released for a selected group of people outside the organization who reports any glitches in the product.
12) Explain equivalence class partition.
It is used in designing the test cases where the tester divides the input data into partitions of equivalent data. The test cases are designed to cover each partition at least once.
13) What is a test case?
- Usually the smallest unit of testing.
- A set of inputs, execution preconditions, execution steps, and expected outcomes developed for a particular use case.
14) What is a test suite?
A test suite is a set of several test cases designed for a component of a software or system under test, where the postcondition of one test case is normally used as the precondition for the next test.
15) Explain what is acceptance testing?
Testing conducted to determine whether to accept the product or not. Performed to validate whether the software meets a set of acceptance criteria.
16) What is boundary value analysis?
A boundary value is an input or an output value, which resides on the edge of an equivalence partition. It can also be the smallest incremental distance on either side of an edge, like the minimum or a maximum value of an edge. Boundary value analysis is a black-box testing technique, where the tests are based on the boundary values.
17) Explain what is compatibility testing?
Compatibility testing is a part of non-functional tests carried out on the software component or the entire software to evaluate the compatibility of the application with the computing environment. It can be with the servers, other software, computer operating system, different web browsers, or the hardware as well.
18) What is the exact difference between debugging & testing?
When a test is run and a defect has been identified. It is the duty of the developer to first locate the defect in the code and then fix it. This process is known as debugging. In other words, debugging is the process of finding, analyzing, and removing the causes of failures in the software. On the other hand, testing consists of both static and dynamic testing life cycle activities. It helps to determine that the software satisfy specified requirements and is fit for its purpose.
19) Explain in short, sanity testing, ad-hoc testing, and smoke testing.
Sanity testing is a basic test, which is conducted if all the components of the software can be compiled with each other without any problem. It is to make sure that there are no conflicting or multiple functions or global variable definitions that have been made by different developers. It can also be carried out by the developers themselves.
Smoke testing on the other hand is a testing methodology used to cover all the major functionality of the application without getting into the finer nuances of the application. It is said to be the main functionality-oriented test.
Ad hoc testing is different than smoke and sanity testing. This term is used for software testing, which is performed without any sort of planning and/or documentation. These tests are intended to run only once. However, in case of a defect found it can be carried out again. It is also said to be a part of exploratory testing.
20) Explain performance testing.
It is one of the non-functional types of software testing. Performance of the software is the degree to which a system or a component of the system accomplishes the designated functions given constraints regarding processing time and throughput rate. Therefore, performance testing is the process to test to determine the performance of the software.
21) Define what is exploratory testing?
It is a type of software testing where test cases are not created in advance and testers check the software/product on the fly. They may note down ideas about what to test before test execution. Exploratory Testing is widely used in agile models and is all about investigation, discovery, and learning.
22) What is integration testing?
One of the software testing types, where tests are conducted to test interfaces between components, interactions of the different parts of the system with the operating system, file system, hardware, and between different software. It may be carried out by the integrator of the system, but should ideally be carried out by a specific integration tester or a test team.
23) What is meant by functional defects and usability defects in general? Give an appropriate example.
We will take the example of a ‘Login window’ to understand functionality and usability defects. A functionality defect is when a user gives a valid user name but an invalid password and the user clicks on the login button. If the application accepts the user name and password and displays the main window, where an error should have been displayed. On the other hand, a usability defect is when the user gives a valid user name, but an invalid password and clicks on the login button. The application throws up an error message saying “Please enter valid user name” when the error message should have been “Please enter valid Password.”
24) Explain what is pilot testing?
It is a test of a component of a software system or the entire system under real-time operating conditions. The real-time environment helps to find the defects in the system and prevent costly bugs been detected later on. Normally a group of users use the system before its complete deployment and give their feedback about the system.
25) Explain statement coverage.
It is a structure-based or white box technique. Test coverage measures in a specific way the amount of testing performed by a set of tests. One of the test coverage type is statement coverage. It is the percentage of executable statements that have been exercised by a particular test suite. The formula which is used for statement coverage is:
Statement Coverage = Number of statements exercised Total number of statements * 100%
26) Meaning of stress testing.
In stress testing we increase the load, keep increasing, and check the performance at each level.
27) What is regression testing?
Regression testing is the testing of a particular component of the software or the entire software after modifications have been made to it. The aim of regression testing is to ensure new defects have not been introduced in the component or software, especially in the areas where no changes have been made. In short, regression testing is the testing to ensure nothing has changed, which should not have changed due to changes made.
28) What is security testing?
Basically, it includes two parts
- The program should restrict authorized access.
- The authorized personnel should be allowed to access the functions available to their security level only.
29) Explain what is system testing?
System testing is testing carried out of an integrated system to verify, that the system meets the specified requirements. It is concerned with the behavior of the whole system, according to the scope defined. More often than not system testing is the final test carried out by the development team, in order to verify that the system developed does meet the specifications and also identify defects that may be present.
30) Difference between retest and regression testing?
Retesting, also known as confirmation testing is testing which runs the test cases that failed the last time when they were run in order to verify the success of corrective actions taken on the defect found. On the other hand, regression testing is testing a previously tested program after the modifications to make sure that no new defects have been introduced. In other words, it helps to uncover defects in the unchanged areas of the software.
31) Explain priority, severity in software testing.
Priority is the level of business importance, which is assigned to a defect found. On the other hand, severity is the degree of impact, the defect can have on the development or operation of the component or the system.
32) Explain the bug life cycle in detail.
This is one of the most commonly asked interview questions, hence this question is always a part of software testing interview questions and answers for experienced as well as fresher’s. The bug life cycle is the stages the bug or defect goes through before it is fixed, deferred, or rejected.
33) What is the difference between volume testing and load testing?
Volume testing checks if the system can actually come up with a large amount of data. For example, a number of fields in a particular record or numerous records in a file, etc. On the other hand, load testing is measuring the behavior of a component or a system with increased load. The increase in load can be in terms of the number of parallel users and/or parallel transactions. This helps to determine the amount of load, which can be handled by the component or the software system.
34) What is usability testing?
Testing the ease with which users can explore, learn, and use the product.
35) Explain the test case life cycle.
On average, a test case goes through the following phases. The first phase of the test case life cycle is identifying the test scenarios either from the specifications or from the use cases designed to develop the system. Once the scenarios have been identified, the test cases apt for the scenarios have to be developed. Then the test cases are reviewed and the approval for those test cases has to be taken from the concerned authority. After the test cases have been approved, they are executed. When the execution of the test cases starts, the results of the tests have to be recorded. The test cases which pass are marked accordingly. If the test cases fail, defects have to be raised. When the defects are fixed the failed test case has to be executed again.
36) What are verification and validation?
|Are we building the product right?||Are we building the right product?|
|Focused on evaluating the process of building of product in its developing phase||Focused on evaluating the end product, whether it meets the end requirements.|
37) Which are the different methodologies used in software testing?
Software testing methodologies are the various strategies or approaches used to test an application to ensure it behaves and looks as expected. These encompass everything from front to back-end testing, including unit and system testing.
38) Explain the waterfall model in testing.
The waterfall model is a part of the software development life cycle, as well as software testing. It is one of the first models to be used for software testing.
The waterfall model is a breakdown of project activities into linear sequential phases, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks.
39) Explain is Validation?
The process of evaluating software at the end of the software development process to ensure compliance with software requirements. The techniques for validation are testing, inspection, and reviewing.
40) What is Verification?
The process of determining whether or not the products of a given phase of the software development cycle meet the implementation steps and can be traced to the incoming objectives established during the previous phase. The techniques for verification are testing, inspection, and reviewing.
41) What is Acceptance Testing?
Testing conducted to enable a user/customer to determine whether to accept a software product. Normally performed to validate the software meets a set of agreed acceptance criteria.
42) Describe what is Accessibility Testing?
Verifying a product is accessible to people having disabilities (deaf, blind, mentally disabled, etc.).
43) What is Ad Hoc Testing?
A testing phase where the tester tries to ‘break’ the system by randomly trying the system’s functionality. Can include negative testing as well. See also Monkey Testing.
44) What is Agile Testing?
Testing practice for projects using agile methodologies, treating development as the customer of testing and emphasizing a test-first design paradigm.
45) Explain what is the Application Binary Interface (ABI)?
A specification defining requirements for portability of applications in binary forms across different system platforms and environments.
46) What is the Application Programming Interface (API)?
A formalized set of software calls and routines that can be referenced by an application program in order to access supporting system or network services.
47) What is Automated Software Quality (ASQ)?
The use of software tools, such as automated testing tools, to improve software quality.
48) Explain what is Automated Testing?
Testing employing software tools that execute tests without manual intervention. Can be applied in GUI, performance, API, etc. testing. The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions.
49) What is Backus-Naur Form?
A metalanguage used to formally describe the syntax of a language.
50 )What is Basic Block?
A sequence of one or more consecutive, executable statements containing no branches.
Above are the Interview Questions Regarding Manual Testing
Wikipedia Manual Testing