Manual Testing Interview Questions and Answers
Manual testing is a stepping stone of a QA-Tester. Among the objectives of the software test are verifying that the functionalities of a product meet specifications and requirements, as well as preventing failures so that it reaches the level of Expected Quality and actually do what it proposes to do. It requires knowledge of testing terminology and industry practices. This article introduces you to manual testing interview questions.
Question: What is the difference between Software review and Formal Technical review
About the question: This question requires basic understanding of testing techniques
Answer: A software review is a broad definition of a process that aims to check a software product to give comments or approval.
A formal technical review is a software review in which a team does a technical analysis of the software, checking aspects like:
- possible errors in logic, functionality or implementation (documentation and code)
- If the software meets the requirements
- If it follow the standards and guidelines
To have more information about formal technical review, check a presentation from how Kodak implemented it.
What is cyclomatic complexity? Explain.
About the question: This question requires knowledge of basic software terminology.
Answer: Cyclomatic complexity is a software metric used to measure the complexity of a given module (a class, a method, a function, etc.) from counting the number of Independent paths that it can be executed until its end. An independent path is one that presents at least one new condition (possibility of flow deviation) or a new set of commands to execute.
What is the connection with manual test? The result of cyclomatic complexity indicates how many (at least) tests needed to be performed to check for all possible flows that the code can take to ensure complete testing coverage.
It is obtained by the following formula
Cyclomatic complexity = E – N +2*P
- E = number of edges in the flow graph
- N = number of nodes in the flow graph
- P = number of nodes in flow graph that have exit points.
For more information, check the white box test website.
What is the difference between build, release, and version in software versioning?
- A build is a version of a software or part of it, which contains a set of features that may integrate the final product. That’s when most part of the manual test starts.
- A release is a build that is ready to be shipped to the client.
- A version is the number or name given to a build of a software to identify it. Software in different stage receives different versioning. One famous example is the Linux versioning.
In a hypothetical banking application, the rate of loan interest is 12% when the principal is less than $2,000. If the amount is equal or more than $2,000 the interest rate is 10%. Which values would you use in your test cases and why?
Answer: To solve this question one recommended approach would be to use Boundary Value analysis and equivalence partitioning strategies.
It would be very desirable for the candidate to explain both:
Equivalence partitioning is about finding a finite, minimum, number of test cases that cover the requirements. This means dividing the cases into groups that should yield the same rule.
In the above question, we could say that:
– the rule of 12% is yield for the values between 1 to 1999 inclusive.
– the rule of 10% is yield for values from 2000 (inclusive) and above.
Then you have an invalid group of values: 0 (no one can get a loan of 0, right?) to infinite negative (In this case you would be lending money to the bank) which normally is not called a loan in the industry.
So you have valid groups:
Each of these sets is called an Equivalence Class.
Since problems tend to occur with values that are at the boundary of these classes, we use the next technique that is called Boundary value analysis.
It advocates for the tests to be done for cases just below the extreme edges and also just above them.
These would be recommended test cases if this strategy is followed:
0 – 1 – 2
1998 – 1999 – 2000 – 2001
To apply for a driver’s license the applicant should be between 18 years (inclusive) and 80 years (exclusive) of age. How would you design equivalence partition for such an input field?
The valid input value for the given condition is:
Hence if the input value is below 18 years then it is an invalid input. Also if the input is 80 or more then it is invalid input. Therefore, three equivalence partition are:
[0…17|18…79|80…120], respectively invalid, valid, invalid.
What is the branch coverage in the following flow chart?
Answer: There are two decision nodes (in blue) and three possible outcomes (in green). To find out branch coverage we need the minimum number of paths that covers all paths. A minimum of 3 paths covers all edge (1 -> 2 -> 3 -> 4), (1 -> 2 -> 5 -> 6 -> 4), (1 -> 2 -> 5 -> 7 -> 4). Hence branch coverage is 3.
Check this quick video for more information:
What does baseline testing mean?
About this question: This question is aimed at checking the candidate’s understanding of types of testing.
Answer: Baseline is the formal document used as the baseline of a test plan. It is the document or set of documents from which test cases are designed. Such a testing is called baseline testing. It is used for non-functional testing.
What are internationalization and localization testing?
Answer: The purpose of internationalization testing is to assert that the software presents the user with a visual and functional application, in the various languages for which it has been localized.
The localization testing is the process of testing the software using the local setting, i.e., taking into account the set of cultural conventions of a particular market, like date format and currency.
For more information:
Can you describe a common list of stages for a bug life cycle?
Answer: A bug/defect can have the following stages:
- Open/New: When a new bug is reported it is assigned as an Open bug. It waits for verification by project manager/team lead/QA, etc.
- The verifier evaluates the bug and assigns it as Active, Duplicate or rejected.
- Active: If a new bug is valid and needs to be fixed then it is assigned as active. It is usually assigned to a developer or team to be fixed.
- Duplicate: If the bug is already raised then it is assigned as duplicated.
- Rejected: If the bug is not valid or does not meet specifications it is assigned as rejected.
- Fixed: Once the bug is fixed it is assigned as Fixed.
- Once the bug is fixed it is retested by a tester.
- Reopened: The tester can reopen it if it is not fixed or close it.
- Close: If the bug is checked by the tester and no problem is found.
What is a decision table and why it is important? Give an Example.
Answer: A decision table testing is a black box testing technique to find test scenarios involving complex business logic. When different combinations of input result in different outputs, a decision table could be used. For each possible combination of inputs, the expected output is tabulated and then tested.
For example, consider a customer withdrawing cash from an ATM. Cash can be withdrawn if the customer gives correct pin and there is sufficient balance in customer’s account.
A decision tree is shown below:
|Is Pin correct?||True||True||False||False|
|Has sufficient cash balance?||True||False||False||False|
|Action (expected output)||Yes||No||No||No|
What is Binary Portability Testing?
Answer: Binary portability testing aims to test an executable software across different platforms and environments like Windows, Linux, MacOS etc.
What is the difference between Quality Control and Quality Assurance?
Answer: Quality Control is the set of activities to ensure a required quality of the product is achieved. It is the process of finding bugs and rectifying it. The purpose of Quality Assurance is to implement processes to achieve better quality in the product. Quality Assurance aims at improving the processes to meet the requirements.
Check this great page to learn more: Quality Assurance Is Not Quality Control.
What does Defect Density mean? How can it be measured?
Answer: Defect density is the number of confirmed bugs in an application divided by the size of the software:
Defect density = Number of defects / Size
Only confirmed defects are considered for this metric. The size of the software is usually measured by lines of code or functions points.
To complement this question, you can take a look at this great article about the defect of defect density.
How would you choose between manual testing and automated testing?
About the question: This question tests user’s knowledge of manual and automated testing and experience with them.
Answer: I would select manual test for:
- Tests that involve more intellectual tasks and require analysis and logical thinking;
- Usability tests;
- Dynamic tasks;
- In systems that have a short life cycle.
I would select automated tested for:
- Tests involving repetitive tasks;
- Applications with long life cycles, so the test will need to be repeated;
- Tests that need to be done more often.
- Accuracy is critical (humans fail more than machines 🙂 )
What is Impact analysis?
Answer: Impact analysis is the process to analyze the impact of changes introduced in the software, estimating potential consequences and risks that it could cause.
What is Rapid Action Development Model?
Answer: It is an incremental software development model that aims at the development of the project in a very short time. In this model, the modules are developed in parallel as prototypes. They are integrated to make the complete product. There is usually some beforehand planning included in the process.
What is the role of a recorder in a review process?
Answer: Software review is a static testing technique to improve software quality early in the development process. A review team conducts the review process and a specific task is given to each member.
The role of a recorder is to record each defect found and include recommendations given in the meeting.
What is the difference between test case, test scenario, and test plan?
Answer: A test case tests a single condition of the application. It has a predefined set of steps to execute, describing “how” to test. They serve as a basis for testers to run the tests manually, but they can also be automated, and should cover as many situations as possible.
The test scenario is a document which describes situations to help the tester at the time of executing the tests. The test scenario describes “what” should be tested.
A Test Plan is a document responsible for presenting the planning for the execution of the tests of the software being developed, including the approach, features, and schedule of testing activities.
What is a test script?
Answer: Test Scripts are computer readable statements that automate the execution of one or more (or parts of) Test Cases. Test Scripts can be created or generated automatically using test automation tools, programmed through a programming language or a combination of logging, generation, and programming.
What are the advantages of Independent testers?
Answer: Independent testers have a neutral approach and are more likely to be unbiased. They can observe things from a perspective that a developer, or a project lead or anyone else involved with coding or analysis part of the development process might miss.
What is a latent defect?
Answer: A Latent defect is an existing defect that does not cause any failure as the exact set of conditions has never been met.