Software testing is an integral part of building software. Regardless of if you are building software for the web, mobile devices or even native Mac or PC. As software becomes more and more robust in its feature sets, testing becomes a core part of how engineers can work together and confirm working software before it becomes commercialized and released. Having a firm grasp on manual testing interview questions and answers will give you strong positioning during your candidate review sessions. As with all of the questions and answers listed, please use them as a study guide. Attempt to fill in the questions with answers you feel comfortable and confident with.
1. What is software testing?
Going by the IEEE standards, software testing is a process, which entails the breaking down of software in order to ascertain the defining and contrasting characteristics among the software, which exists and needed conditions for the assessment of highlights of the software at the time.
2. Explain the process entailed for manual testing.
• Planning and control
• Analyses and design
• Execution and implementation
• Assessment of the exit criteria and reporting
• Testing of closure activities
3. Explain the tasks, which are considered when it comes to planning and control.
The test planning considers some of the following objectives.
• Fixing the scope and the risks and ascertaining the objectives of testing
• To rule over the testing method.
• To execute the test policy and the testing tactics
4. What is the Requirement Traceability Matrix?
This document records mapping between higher level needs and the test cases in the form of a table. That is the manner that it makes certain the test plan covers the requirements and links to their latest version.
5. Explain the difference between Beta and Pilot testing.
The beta test is implemented when the product is about to release to the customer but the pilot testing happens during the earlier phases of the development cycle. During the beta test, testing applications are given to a number of users to make certain the application meets the requirements of the clients and does not have particular show-stopping bugs. In the pilot, test though, only a few members of the testing teamwork at the customer site in order to set up the product. They would give their feedback also for improving the quality of the product.
6. What is acceptance testing?
This is testing done to allow the user to ascertain whether to accept the software product or not. It is usually done to validate the fact the software meets a set of agreed acceptance criteria.
7. What is the need of software testing?
This needed process, which essentially qualifies the software as usable for the production. There are a few reasons to prove the reason why it would be needed.
• The testing process allows it to be known that the software is going to work according to the particular expectations of the customers.
• It would also reduce the coding cycles through the identification of issues during the early stages of the development.
• The discovery of problems during the early phases of the SDLC makes sure there is proper utilization of particular resources and prevents any scenario of cost escalations. The testing team allows customer view to the process and finds use cases which the developer may not necessarily consider.
• Any failure or defect as observed by the client would distort the creditability of the organization, which only the testing can make certain does not occur in the end.
8. When is the best time to conclude the testing process?
The status of the testing milestones would assist in ascertaining the end of the testing process.
• Test case execution status: that would be the successful completion of the full test cycle after final bug fix marks occurring at the end of the testing stage.
• Testing deadline: the end date for the validation phase also shows the closure of the validation in the event no critical defects are still within the system.
• MTBF rate: this would be the mean time between the failures that show the reliability of the particular components. In the event that it is on the higher side then the PO and EM may not have to keep testing.
• CC ratio: that would be the amount of code that is covered through the automated tests. In the event the team achieves the desired level of code coverage or the CC ratio, then they would opt to end the validation.
9. What is static testing?
Static testing entails the process of exploring the records to recognize imperfections within the early stages of the SLDC.
10. What is dynamic testing?
This is the process of the execution or the implementation of code. It provides validation and approves output with the expected results.
11. What is automated testing?
This is the testing of employing particular software tools, which implement modes to execute tests without manual intervention. This can be applied in GUI, API, performance and testing. The utilization of software for the control of the execution of these tests and the comparison of the actual outcomes to the predicted outcomes, setting up of test preconditions and other test control functions is to be noted.
12. What is bottom up testing?
This is an approach to integration testing whereby the lowest hierarchy components are tested in the first case and then utilized for facilitating the testing of the higher level components. This process is repeated up to the point the component at the top of the hierarchy would be tested.
13. What does quality assurance mean when it comes to software testing?
Quality assurance refers to a process oriented approach, which certifies the software development method to claim that it is correct, and follows standard methodology. It could bring some change within the process and then cause a replacement of the weak practices in the event that any are identified. This includes the reviewing of activities like the inspection of particular documents, source code and automation.
14. What does quality control mean when it comes to software testing?
Quality control is product oriented approach, which qualifies if the product that is under development meets the particular software specifications. It is also resultant in particular changes to the product in the event there are bugs within the system or there is a bit of deviation, which has been observed in the implementation. That would include different forms of testing so as to perform which may be functional or nonfunctional.
15. What is baseline testing?
Baseline testing refers to the process of running a set of tests for capturing performance information. Baseline testing allows for the information that is collected to make the changes within the application so as to improve on performance and capabilities in the application. The baseline gives a comparison of the present performance of the application with the previous performance.
16. What is verification and validation and what is the difference?
Verification refers to the process of evaluation of the work products of a particular development phase in order to ascertain whether they meet the particular needs for that phase. Validation is the process that entails the evaluation of software during or at the end of the process of development to determine the specified requirements. Now the verification process employs static testing though validation utilizes dynamic testing. Verification also assesses the plans and documents while validation assesses the product in particular. The verification inputs would be the check-list, walkthroughs and inspection though validation tests the actual products.
17. What do you know about the SDLC?
This is the software development life cycle and it is known as the SDLC. It is a standard framework and the basis of the processes such as spiral, V model, Waterfall and Agile. It breaks down the development processes into different stages, which are termed as the SDLC phases such as requirement collection, design, analysis, implementation, testing, deployment and the maintenance.
18. What are the silk test and the reasons for using it?
• The silk tool is developed for the performing of regression and functionality testing of the application.
• It gives advantage when you are testing Java, window based, traditional client to server and other web applications.
• The silk test assists in the preparation of the test plan and managing them for giving direct access of a database and validation within the field.
19. How do you perform risk analysis during software testing?
Risk analysis entails the identification of hidden problems, which could result in the derailing of successful delivery of the application. This also gives priority to the sequence of resolving some of the identified risks for the purpose of testing. There are some risks, which are considered within quality assurance processes.
• New technology
• New automation tools
• New hardware
• The sequence of the delivery of the code
• The availability of test resources for the application
These are then prioritized into categories as follows:
• High magnitude: that is the impact of the bug on the other functionalities of the application.
• Medium: this is bearable but not necessarily desirable.
• Low: it is tolerable. This form of risk does not have an effect on the company business.
20. Give the differences between the test plan and the master test plan.
• The master test plan captures every test to be run during the overall development of the application though the test plan just gives a description of the approach, scope and the schedule for performing the implementation.
• The master test plan has all of the test scenarios and situations, not to mention the risk prone areas of the application. However, the test plan document has the test cases corresponding to the test scenarios.
• The master test plan has the entire test scenario, which are to be executed in all of the phases of testing that run during the lifecycle of the application development. A completely different test plan is there for each stage of the testing like the Functional, Unit and system that has the test cases related to that type only.
• A master test plan suffices for the large projects that need execution in each of the phases of testing. On the other hand, the preparation of a basic test plan is sufficient for the small projects.
21. Explain the tasks of test closure activities.
• To view the strategic deliverables that are delivered and for making certain, all of the incident reports have been resolved in the right way.
• To document and confirm the test ware like the testing environments and writings for the purpose of reuse in the future.
• For the delivery of the test ware to the maintenance team; that will provide sustainability to the software.
• To provide an evaluation of the way the testing went and acquires lessons for the upcoming ventures and releases.
22. List a few attributes of test cases
• Test summary: this entails the online comments and summary for each of the test cases.
• Test case ID: an exceptional identifier for the test case.
• Description: this is comprehensive narrative for the test case.
• Precondition: a set of fundamentals, which have to be charted before the implementation of the test steps.
• Expected result: the estimated result in the direction to pass the test.
• Automation status: identifier for automation, whether the application has been mechanized or if it has not.
• Actual result: the actual result as received after doing the execution of the test steps.
• Test result: passing or failing to stand of the test execution.
23. How to define a critical bug?
A critical bug is one with the tendency of affecting a majority of the functionality of the given application and this cannot be distributed to the end client deprived of the process of fixing the bug. It is different from the blocker bug as it does not essentially disturb or block the testing of the other parts of the provided application.
24. What is path testing?
This is a testing where the tester guarantees that each path of the application ought to be affected at least one time. In this testing the paths within the source code of the program are tested in any case once for sure.
25. What is a test harness?
The test harness is a gathering of software along with the test information arranged to test a program unit through running it under conditions that include checking the input values with the expected provision.
26. What is a test closure?
The test closure is the note, which is arranged before the test group formally finishing the testing process. This has the aggregate number of experiments, the total number of implemented experiments and the number of imperfections settled and attained. It also has the total number of bugs settled and the ones, which have not been settled, or the ones, which have been rejected.
27. What is the top down approach?
The testing occurs from the top to the bottom. The high level state modules are the ones which are tested first and after this, there are low level modules and lastly incorporate the low level modules to a high level state in order to make sure the framework is operating at the level it is expected. The stubs are made as an impermanent module in the event the module is not prepared for the purpose of integration testing.
28. What is the bottom up approach?
This is the complete opposite of the top down approach. The testing is done from the base levels to the higher levels. The lowest level modules are first tried and then high-level state modules and then coordinating the high state modules to a low level. This is to guarantee the framework is doing what it is supposed to. The drivers are utilized as the transition modules to allow for testing.
29. Can testing be done at any stage?
No, the system testing can only begin when every unit is in place and is working in the right manner. However, it has to happen before the User Acceptance testing.
30. What are some of the experience based testing approaches?
Inexperienced based methods, abilities, basic knowledge and individual information are some of the main supporters of the test conditions and experiments. The experience of both the technical and business is vital considering they may convey alternate perspectives to the examination and the processes of configuration. Because of the involvement in the past with comparable frameworks, they could have some bits of knowledge into the things that may turn out to be bad which is very valuable for the purposes of testing.
31. What is the ideal time to stop testing?
This is dependent on the level of risk, which is associated with the system that is being tested. There are particular criteria that determine when it would be preferable to stop the testing.
• The exhaustion of the test budget.
• The closing date for the testing and releasing.
• The falling of the bug rate below the definite level.
• Finishing the test cases with assured percentage passing.
• Ending of the testing of alpha or beta periods.
• Reporting the code, functionality or needs to be met to a particular stated point.
32. What are semi random test cases?
People would get these test cases when they perform arbitrary experiments and do proportionality parceling to these particular experiments meaning it evacuates repetitive experiments along these lines to provide for the semi random test cases.
33. Why people utilize decision tables?
The techniques for equivalence dividing and the boundary value analysis can be said to be regularly connected to the specific circumstances or sources of information. On the other hand, if the distinctive combinations of the sources of information result in the different actions being taken then it can be very hard to indicate the utilization of comparability apportioning and limiting the esteem investigation, which has the tendency of being centered around the user interface. Some of the other two determination based methods, choice tables and the state change testing would be more centered around the business rationale or regulations. The choice table is one of the best methods for managements of blends of things. This process is also alluded to a cause and effect type of table. The reason behind this could be a related rationale charting system, which is known as the cause impact diagramming that was sometimes used for helping to determine the decision table.
34. What is smoke testing and what is sanity?
Smoke testing confirms the functionality works for a product. In this way, it needs you to identify the most basic test cases, which can be executed. Sanity testing makes certain the product runs without the problem of logical errors. As such, if you are testing a calculator application, you may multiply a number by 3 and check if 3 can divide the sum of the digits of the answer.
35. What sort of document is going to be needed in order to start functional testing?
This would be the functional specification document. It allows for the definition of the full functionality of the product. The other documents, which are useful in testing, would include the BRS and user manual. Gap analysis as well, is another document that can assist in understanding the expected and existing systems.
36. What are the differences between cohesion and coupling?
Cohesion refers to the degree which measures dependency of the software, which combines the related functionality into a particular unit though coupling, illustrates the binding of the related functionality into a different unit. Cohesion also deals with the functionality which considers different processes within a particular module though coupling is only about how much one module is dependent on the others within the product. This is a good practice and it allows for the increasing of the cohesion between the software though coupling is not encouraged.
37. What is CMM?
This is the capability maturity model, which is there to provide an assessment of the maturity of software type processes within an organization. It also points out the main practices, which increase the particular maturities of these processes.
38. What is ramp testing?
This is a test method that proposes raising an input signal to the point of the system breaking down.
39. What do you understand from the process of inspection?
It is a group level review and quality improvement process for the product type documentation. This would focus particularly on two elements, which are the product document improvement and process improvement.
40. What is globalization testing?
Globalization testing is set on the detection of the potential issues within the product design, which could ruin globalization. It gives certification the code has the ability to handle the desired international support without breaking functionality. At the same time, it also makes certain there will not be any data loss or display issues.
41. What does functional testing mean?
Functional testing is software testing approaches, which make certain the application that is being tested, has the functionality working according to the particular specifications, which are required.
42. What are the types of functional testing?
The functional testing spectrum covers different validation approaches and techniques.
• Unit testing
• Sanity testing
• Integration testing
• Interface testing
• System testing
• Regression testing
43. How do you do functional testing?
Functional testing views the application under test as the black box. As the tester, one writes down the use cases for the potential workflows of the said features. After that, you have to verify the functionality through exercising all of the acclaimed features, their options and make certain they would behave as would be expected of them.
44. Which tools would be used for functional testing?
The unified functional testing tool as developed by HP for both the functional and regression testing. This tool makes usage of the visual basic scripting in order to automate the functional workflow. It allows for the integration of manual or even automated framework based test scripts within the same IDE.
45. What is the reliability testing?
This is a testing strategy that evaluates the consistency of the software in the implementation of particular operations without throwing errors for a particular period in certain environments.
46. What does it mean to be STLC?
This is the software testing life cycle in full. It is one of the testing models that give a proposal for implementing test execution within a systematic and planned manner. Within the STLC model, several activities are there which improve the quality of their products. The STLC model comes in some of the following steps.
• Requirement analysis
• Test Case Development
• Environment setup
• Test Planning
• Test Execution
• Test Cycle Closure.
47. What would be the requirement analysis phase when it comes to the software-testing life cycle?
The requirement analysis pertains the first stage of the STLC model. In this phase, the testing team gets to know what they are testing and determines the testable requirements. In the event that some of the specifications are not precise or there is a disagreement, the stakeholders such as the customers and analysts provide the needed clarity.
48. What are the tasks that are done within the requirement analysis phase?
The test team
• Provides a survey questionnaire for the customer facing individuals
• Gives a list of the priority areas for the testing
• Gathers the test environment details for doing the testing tasks
• Assesses the potential for test automation and comes up with a report
49. What is the test-planning phase in STLC?
The second part of STLC would be the test planning. This is a significant step as the team defines the entire testing strategy for the project. From then, it is known as the test strategy phase. During this time, the test lead has to give the effort and cost estimation done for the entire project. This phase begins after the RA phase. The outcome of the test-planning phase would include the test planning and effort estimation documentation. After the end of the planning, the testing team would start writing the test case development tasks.
50. What is the test case development phase within STLC?
The testing team would pick on the test case developmental tasks once the test planning period is over. During this time of the STLC, the main activity would be writing detailed types of test cases for the requirements. Though performing of these tasks, they would also need preparation of the input data needed for testing. Once the test plan is now ready, then it would have to be reviewed by the senior members or the lead. Once of the documents, which the team would, produce is the Requirement Traceability Metric. This is an industry wide standard for making sure the test case is correctly mapped according to the requirement. This assists in tracking both backward and forward directions.
51. What is the test-environment setup phase in STLC?
It is time consuming but crucial activity within the STLC for preparing the test environment. Only after the test, setup has been done would the team be able to determine the conditions the application can go through testing. It is an independent task, which can go in parallel with test case writing stage. The team or those members that are outside of the group may also assist with setting the test environment. In some platforms, the developer or the client may create or five the testing beds. At the same time, the test team would begin writing the smoke tests to make certain the readiness of the test infra.
52. What is the Test Cycle Closure Phase within STLC?
The testing team calls on the meeting to assess the open defects, code quality issues, known issues and would accordingly decide on the closure of the test cycle. They consider the things that went well, not to mention where there is a need for improvement and notes the pain points as faced within the current STLC. This information is advantageous for the future STLC cycles. Each of the members would indicate their views of the test case and the bug reports and then finalize the detect distribution through the type and apparent severity.
53. What does a fault mean when it comes to software testing?
A fault pertains a condition which makes the software fail during the execution of the function intended.
54. What does an error mean in software testing?
An error is a problem in a program that comes unexpectedly and causes it not to function correctly. An application can encounter either software or network errors.