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.
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:
To have more information about formal technical review, check a presentation from how Kodak implemented it.
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
For more information, check the white box test website.
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
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.
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:
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.
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:
Answer: A bug/defect can have the following stages:
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|
Answer: Binary portability testing aims to test an executable software across different platforms and environments like Windows, Linux, MacOS etc.
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.
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.
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:
I would select automated tested for:
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.
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.
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.
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.
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.
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.
Answer: A Latent defect is an existing defect that does not cause any failure as the exact set of conditions has never been met.