If you’re thinking of becoming a manual tester, you’ll have to ensure that you’re knowledgeable about the basics and more advanced concepts. Manual testers will have to prepare well, just like you would for any other interview.
Here we list some of the most common manual testing interview questions. We’ve divided this list into beginner manual testing questions and advanced manual testing questions.
Want to have this reference handy any time?
Software testing is a validation process that makes sure a system works according to business requirements. It evaluates and qualifies a system on various aspects such as accuracy, completeness, usability, and efficiency.
"Use case" is used to identify and execute the functional requirement of an application from start to finish, and the technique used to do this is known as "Use Case Testing."
Static testing is a white box testing technique that, with the help of a checklist, directs developers to verify their code to find errors in it. Developers can start static testing without finalizing the program or application. Static testing is more cost-effective than dynamic testing as it covers more areas than dynamic testing in a shorter time.
In manual testing, the software is tested without any automation tools or scripts. The various types of manual testing are:
API testing is the testing of the Application Programming Interface directly as well as during integration testing to ensure the APIs deliver the required functionality, performance, security, and reliability. The tests are written to check if the API gives correct responses to specific requests. API testing involves unit testing, load testing, functional testing, security testing, penetration testing, Web UI testing, etc.
System Testing
Integration Testing
The whole system is checked as one (end-to-end).
The interfaces between different interconnected systems are checked.
It includes both functional and non-functional testing (usability, performance, etc.).
It checks only the functionality of the integrated components.
Done after integration testing.
Done after the unit testing phase.
The various types are performance testing, usability testing, functional testing, installation testing, security testing, etc.
Some methods or approaches to perform integration testing are top-down, bottom-up, hybrid, and big-bang.
Uses only black-box testing techniques.
Both white-box and black-box techniques are used.
Test closure is a document that details the tests conducted during the entire SDLC, the analysis of the bugs and errors found and corrected, the density of defects, etc. It is a memo that indicates the formal completion of the testing procedure.
Pesticide paradox is a phenomenon wherein the more you test your software, the more immune it becomes to your tests. Testers should always look for new strategies, approaches, and test cases to overcome this, for different parts of the same applications, so that they can find bugs.
Smoke Testing
Sanity Testing
Verifies the basic functionalities and check if the build is working fine and has no errors.
Verifies the newly added functionalities or bug fixes are corrected and working fine.
Done on initial builds, i.e., it is the first check performed once a build is done.
Done on a stable build after smoke testing is successful.
Performed for every build.
Performed on stable builds to check if the old functionality is working after the new changes are done.
The most straightforward way would be when no defects are not found in the software. However, it is not possible to have software entirely free of bugs. We can determine the exit criteria for testing based on the deadlines, budget, and the extent of testing performed.
Usually, testers can find most of the major and critical bugs during the first and second weeks of testing. After the third and fourth weeks, minor and cosmetic defects are taken care of, and the application moves into the regression testing phase. Once regression is completed, we can be assured that 99% of test scenarios have been covered, and software is ready to be rolled out.
Configuration management is a set of management practices, interrelated processes, and tools that help manage work items, and keep them updated and accurate so that they are readily available for all the users involved. It also helps us maintain all the work items in conformation with the requirements of the project and ensures any changes are appropriately documented, evaluated, and implemented after authorization.
Both driver and stub are types of test harness that are used to provide a simulation environment for testing a module (component). They are not a part of the main software and are used only for testing purposes.
Data flow testing involves testing various paths in the application workflow to test the sequence of events and the status of variables and data objects at different stages. Through data flow testing, we can identify the variables that are used at every stage of the program’s control flow. This helps us eliminate variables that are declared but never used or vice versa, deallocating variables before using them, or a variable whose value is changed multiple times before being used.
Retesting
Regression testing
Checks if the previously failed test cases have been fixed and are working fine.
Identifies new issues that may have occurred because of changes to the application functionality or introducing new functionality.
The primary purpose is to ensure the bugs found in a previous build are fixed in the latest one.
The basic purpose is to ensure that the new changes have not affected the existing working functionality.
Retesting affects the application delivery date and is of high priority; it is done before regression testing.
Regression testing is done after all the other testing procedures are complete.
Retesting has to be done manually.
Test cases can be automated, and scripts can be run to test the same functionality again and again.
Only failed test cases are executed.
All the test cases from the start to the end of the application are executed.
On the Basis Of
Static Testing
Dynamic Testing
When To Perform
Testing was done without executing the program
Testing is done by executing the program
What Does it Do
This testing does the verification process
Dynamic testing does the validation process
What is it About
Static testing about preventing defects
Dynamic testing is about fixing and finding the defects
Output Of the Testing
Static testing gives an assessment of documentation and code
Dynamic testing gives bugs in the software system.
What Does it Involve?
Static testing involves a process and checklist to be followed
Dynamic testing involves test cases for execution
When is the Testing Performed w.r.t Compilation
This testing can be performed before the compilation
Dynamic testing is performed after compilation
What does it Cover?
Static testing covers the statement and structural coverage testing
Dynamic testing covers the executable file of the code
Cost of Finding Defects
Cost of finding defects and fixing is less
Cost of finding and fixing defects is high
Return on Investment
Return on investment is high as this process involved at an early stage
Return on investment is low as this process involves after the development phase
STLC deals with the verification and validation of the software while SDLC deals with the development/coding of the software.
Test coverage is a quality metric that represents the percentage amount of testing completed for a product. It is relevant for both non-functional and functional testing activities. The metric is used to add missing test cases.
No, we cannot do system testing at any stage, it must start only if all modules work correctly and are in place, but it should be performed before UAT (user acceptance testing).
Manual testers use the following kinds of Software testing:
Agile testing evaluates software from the perspective of the customer. Its importance is that it does not require the development team to complete coding for starting QA. Instead, testing and coding go hand in hand. However, it may require continuous customer interaction.
The following steps must be followed when a bug is encountered while testing:
Exploratory testing is testing an application without a test plan and test script. In exploring the testing test, explore the application based on the tester's knowledge as the tester does not know the application previously. Tester explores the application like an end-user and tries to use it. While using the application, the main motive is to find the bugs which are in the application.
White box testing technique involves the selection of test cases based on an analysis of the internal structure i.e., code coverage, branches coverage, paths coverage, condition coverage, and more, of a system or a component. It is also referred to as structural testing or code-based testing. The different types of white box testing are:
The white box testing following verifies the following:
Black box testing is the testing method that involves testing the software without knowing the internal structure of the program or code. This testing is usually checking the functionality of an application.
Black box testing techniques are:
The verification process involves evaluating software in the development phase. It helps the tester decide whether the product of a given application satisfies the specific requirements.
The validation process involves evaluating software after the development process and check whether it meets the customer requirements.
The technique to identify if a set of test cases is useful by intentionally introducing various bugs and retesting with original test cases to determine if the bugs are detected.
The categories for debugging are:
User Acceptance Testing (UAT) is a process of running a product through a series of specific tests, thereby determining whether the product will meet the needs of its users.
System Testing is also known as end-to-end testing, is finding defects when the system undergoes testing as a whole.
Testing type is a standard procedure that is followed to get an expected test outcome.
The commonly used testing types are:
Some of the challenges of software testing are:
Functional testing is defined as testing the ‘functionality’ of a software or an application under review. The software is examined as per client requirements. A document called the requirement specification or software specification is used as a guide to testing the application.
When an application works as per the user’s expectation, efficiently and smoothly under any condition, then it is a reliable application. It is critical to test these parameters based on the quality; this process is called non-functional testing.
A slip in coding is an error. A defect is an error spotted by a manual tester. The defect which is admitted by the development team is known as a bug. Functional failure occurs when a built code misses on the requirement.
A systematic and planned way of monitoring the quality of the process, which is followed to produce a quality product, refers to Quality Testing(QA). QA modifies the process and tracks the test reports to meet the expectations of the project.
Quality Control (QC) is about the quality of the product. QC suggests improvements apart from finding defects. Hence, QC implements the process set by QA. The testing team is responsible for quality control.
The software testing process ensures that the product which is developed by developers meets the requirements of the user. The testing aims to find bugs and to get them fixed by the development team, thereby maintaining the quality of the product to be delivered to the customer.
Drivers and stubs are part of incremental testing. Incremental testing consists of two approaches, namely the bottom-up and top-down approach. Drivers are used in bottom-up testing, and the stub is used for a top-down approach. The stub, which is a dummy code or program, is used to test the main module.
Test Cases: A document that contains the steps to be executed. A test case document is already planned and contains edge cases.
Test Scenarios: Any functionality that can be tested is a test scenario. It is also called Test Possibility or Test Condition.
Test Script: It is a short-coded program used to test part of the functionality of the software system. In short, a written set of steps that should be performed manually.
A latent defect is also called a hidden defect. It is an existing defect in the system which might cause failure or malfunction but is not discoverable through general inspection.
A masked defect is a defect that exists but has not caused a failure yet as another defect prevents that part of the code from being executed.
Test deliverables are a set of tools, documents, and components that are maintained and developed in support of testing. There are different test deliverables at every phase of the software development lifecycle:
A document that describes the approach, scope, resources, and schedule of testing activities is a test plan. The following details must be covered in the test plan:
These are the risks that commonly lead to project failure:
A test report consists of the following:
Following are the benefits of test reports:
Phantom is freeware used by the Windows GUI automation scripting language. It allows the user to take control of functions and windows automatically by simulating any combination of mouse clicks and keystrokes as well as menus, lists, and more.
Bug leakage: This is when the bug is discovered by the end-user and is missed by the testing team at the time of testing. The defect that exists in the application. It is not detected by the tester and is eventually found by the user.
Bug release: When a particular version of the software is released with a set of known bugs, it is called a bug release. These bugs are of low priority. Bug release is done when a software company can afford the existence of bugs in the released software but not the time/cost for fixing it in that particular version.
Performance testing checks the scalability, speed, and stability characteristics of the system. Performance is identified with achieving throughput, response time, and resource-utilization levels that meet the performance objectives for a project.
Monkey testing is a technique in software testing that allows the user to test the application and checks its behavior by providing random inputs.
Test Matrix: Test matrix captures the actual quality, effort, the plan, resources and time required to capture all phases of software testing
Traceability Matrix: Traceability Matrix involves mapping between test cases and customer requirements.
Static:
Dynamic:
Positive testing is when a tester puts in a valid input and expects some action to be completed in accordance with the specification.
Negative testing is when you put in an invalid input and receive errors.
Stopping the testing depends on the risks for the system under testing. There are some criteria based on which you can stop testing:
The Equivalence partitioning technique is when we divide the application input test data into each partition, from which we derive test cases. Using this technique reduces testing time.
Decision table testing is when the specification of testing systems take the form of cause-effect combinations or rules. A decision table lists the input in a column, with the outputs below the input in the same column. The remainder of the table explores combinations of inputs to define the outputs produced.
Decision tables are important because:
Before the software can be actually used it is important that its suitability as per the requirement of the client is evaluated. In this scenario, a manual testing interview system comes into the picture. Its main aim is to manually conduct test cases without making the usage of any kind of automation tools. This developed as a result of the drawback of the automation testing which is that complete automation is impossible.
The advantages of manual testing are:
Some of the disadvantages of manual testing system are:
The differences between manual and automation testing are:
Manual testing cannot be conducted without human involvement.
Automation testing makes use of various kinds of tools to carry out the test cases.
Manual testing needs skilled labor which needs lots of time as well as high cost.
Automation testing doesn’t involve much labor, time and cost.
Different sorts of applications can be tested manually. Certain testing types like ad-hoc and monkey testing are more appropriate for manual execution.
Automated testing is suitable only for stable systems and is generally used for Regression Testing.
Manual testing can be routine and tedious.
The monotonous part of executing the same test cases repetitively is conducted by automation software in Automation Testing.
End to End testing system is a way of testing an application to ensure whether it is working as expected. It conducts a test from the beginning of the application to the end. This testing confirms that the data integrity is maintained in between the different system components and the systems.
The main objective of conducting system testing is to make sure that the system works as per the specified requirements.
The major objective of the integration testing is to test the interface in between the two different software units.
The Big Bang Approach is a method of integration testing which necessitates a side-by-side checking of all the system components. Its main advantage is that the tester can check the work of the entire system and its components.
Sanity Testing is conducted throughout the release phase to determine the main functionalities of the application without going into many details. Sanity checking is carried out at the release level.
Alpha testing is done by the developers who develop the software and testers. Sometimes it can be observed that the alpha testing is conducted by the purchaser or outsourcing team with the existence of developers or testers.
Beta testing is to be conducted by a specified number of ultimate users before delivery. Generally, it is conducted at the place of the end-user.
Gamma testing is performed to check the specified needs when the software is ready to be released. It is usually done at the place of the ultimate user. It is performed at the first hand by omitting all the in-house testing activities.
That’s it for our manual testing interview questions. These questions are those most frequently asked. You should make sure you know them thoroughly, and also put the concepts into practice.
Want to keep leveling up your interview skills?
In addition to these theory-based questions, you will also face coding tests.
Continue practicing programming because there’s no doubt that they will be part of the manual testing interview questions.
You can prepare for the interview with the software testing interview questions listed above. You’ll always want to brush up on your general programming knowledge and skills.
This is when software is tested manually in order to identify bugs. Refer to the questions above for more information.
People are also reading: