The job of a software tester is a must for any organization. Since no software project can be completed without testing, it goes without saying that testers are completely necessary for any company.
Many testing professionals start out as manual testers and go on to become real-time software testing professionals. In addition to deep knowledge of technical skills, a real-time software tester should also possess sharp analytical skills, should be a good communicator and should be a wonderful team person. She should also be exceptionally good at organizing and time management. If you think these qualities describe you, you are the one for real-time software testing!
1st Round: Software Testing Basic interview questions and answers:
Q1.Describe Exploratory Testing?
Ans: Exploratory testing may be thought of as a hands-on approach in which the role of testers is very high. Their role is at a minimum when it comes to planning and is at the highest at the time of test execution. Planning for exploratory testing consists of creating the following:
- A test charter
- A short declaration of the scope of a short (1 to 2 hour) time-boxed test effort
- The objectives and possible approaches to be used.
Exploratory design requires the test design and test execution activities to be performed in parallel. This is typically done without formally documenting the test conditions, test cases or test scripts. This, however, does not exclude the other, more formal testing techniques. It is possible that the tester may consider using boundary value analysis but will likely zero in on the most important boundary values and test them without necessarily writing them down. The possibility that some notes could get written during the exploratory-testing session and a report gets produced later always exists.
Q2.Explain "use case testing"?
Ans: The "use case" is used for identifying and executing the functional requirement of an application from start to finish. The technique used to do this is called “Use Case Testing”.
Q3.Differentiate between STLC (Software Testing Lifecycle) and SDLC (Software Development Lifecycle)?
Ans: While SDLC deals with development/coding of the software; STLC concerns itself with validation and verification of the software
Q4.What is your understanding of the traceability matrix?
Ans: The traceability matrix is the document that describes the relationship between test cases and requirements.
Q5.What is Equivalence partitioning testing?
Ans: This can be described as a software testing technique in which the application input test data is divided into each partition at least once of equivalent data from which test cases can be derived. The main feature of this testing method is that it reduces the time needed for software testing.
Q6.Describe white box testing and its types?
Ans: White box testing is a technique in which test cases are selected based on an analysis of the internal structure (consisting of code coverage, branches coverage, paths coverage, condition coverage, etc.) of a component or system. Code-Based testing and Structural testing are its other names. These are the various types of white box testing:
- Statement Coverage
- Decision Coverage
Q7. What is verified in white box testing?
Ans: The following steps are verified in white box testing:
- The expected outputs
- The flow of structure according to the document specification
- The incomplete or broken paths in the code
- The line by line coding and cover 100% testing
- The security holes in the code
- All conditional loops in the code to check the complete functionality of the application
Q8. Describe black box testing and its various techniques?
Ans: This is a method of software testing in which the software is tested without any prior knowledge of the internal structure of code or program. Checking the functionality of an application is the main purpose of this testing. These are the different black box testing techniques:
- Equivalence Partitioning
- Boundary value analysis
- Cause effect graphing
Q9. Differentiate between static and dynamic testing?
Ans: In static testing, the code is not executed during static testing, but is performed using the software documentation, whereas to perform testing in Dynamic Testing, the code is required to be in an executable form.
Q10. Explain verification and validation?
Ans: The process by which software is evaluated at development phase to help decide whether the product of a given application satisfies the specified requirements or not is verification. On the other hand, Validation is the process in which the software is evaluated at the end of the development process. This is done to see if the software meets customer requirements.
Q11. Explain the different test levels?
Ans: There are four different test levels. These are:
- Unit/component/program/module testing
- Integration testing
- System testing
- Acceptance testing
Q12. What is Integration testing?
Ans: Usually performed after unit and functional testing; integration testing is a level of the software testing process where individual units of an application are united and tested.
Q13. Explain tables in test plans?
Ans: The test plan document consists of various details such as test design, scope, test strategies and approach. These are some of the components of the test plan:
- Test case identifier
- Features to be tested
- Features not to be tested
- Test strategy and Test approach
- Test deliverables
- Staffing and training
- Risk and Contingencies
Q14. Explain the difference between UAT (User Acceptance Testing) and System testing
Ans: System testing is finding defects when the system undergoes testing as a whole, which is why it is considered end to end testing. In system testing, the application undergoes changes from beginning till the end.
In UAT, the product is subjected to a series of specific tests which helps to determine whether the product will meet the users’ needs.
Q15. What is the difference between Data Driven Testing and Retesting?
Ans: While the application is tested with multiple test data and is tested with different set of values in data driven testing process; retesting is a process of checking bugs that the development team simulate to verify that they are actually fixed.
Q16. Describe the important steps in resolving issues while testing?
- Record: Log and handle any problems which has happened
- Report: Report the issues to higher level manager
- Control: Define the issue management process
Q17. What function does the software testing tool "phantom" have?
Ans: Phantom is a freeware that is used for Windows GUI automation scripting language. It functions automatically and allows to take control of windows. Apart from simulating any combination of key strokes and mouse clicks; Phantom does the same with menus, lists and more.
Q18. What is mutation testing?
Ans: This is a technique used for identifying if a set of test data or test case is useful. The method of doing this is to deliberately introduce various code changes (bugs) and retesting with original test data/ cases to determine if the bugs are detected.
Q19. What factors should you consider before selecting automation tools for the AUT?
- Technical Feasibility
- Complexity level
- Application stability
- Application size
- Execution across environment
- Re-usability of automated scripts
- Test data
Q20. What is the method of conducting Risk Analysis?
Ans: Risk analysis is implemented in the following steps:
- Finding the risk’s score
- Creating a profile for the risk
- Changing the risk properties
- Deploying the resources of that test risk
- Creating a risk database
Q21. What are the categories of debugging?
Ans: These are the ones:
a) Brute force debugging
e) Fault tree analysis
d) Program slicing
c) Cause elimination
Q22. Explain fault masking with an example
Ans: Fault masking is a method in which the presence of one defect hides the presence of another defect in the system.
As an example, if the "Negative Value" leads to a firing of unhandled system exception, the developer will prevent the negative values input. This will resolve the issue and hide the defect of unhandled exception firing.
Q23. What is the basis on which you can arrive at an estimation for your project?
Ans: An estimation for a project can be done by considering these points:
- Divide the project into smaller chunks
- Allocate each chunk of task to team members
- Evaluate the effort required to complete each task
- Validate the estimation
Q24. Which are some the common mistakes which lead to issues?
Ans: It could be any of these:
- Lopsided allocation of resources to projects
- The test manager’s lack of skills or experience
- Adamancy in insisting on a method that could be wrong
- Bad Scheduling
- Underestimating the gravity of the issue
- Overlooking the small problems
- Not adhering to the process
Q25. What goes into a typical test report? How do test reports benefit the team?
Ans: These are some of the components of a test report:
- Project Information
- Test Objective
- Test Summary
Test reports bring the following benefits:
- There is complete update of the current status of the project and the level of the quality of product at all stages
- Test reports give the customer as well as the stakeholder the option of taking corrective action whenever required
- The final document gives the team the confidence to decide if the product is ready for release
Q26. Describe the difference between Test matrix and Traceability matrix?
Ans: While the Test matrix is used to measure actual quality, effort, the plan, resources and time required to capture all phases of software testing; the Traceability Matrix maps the test cases with customer requirements
Q27. Describe stubs and drivers in manual testing
Ans: These are both part of incremental testing. These are the parts of incremental testing in which two approaches, namely bottom up and top down approach, are present. While stubs are used for the top down approach; drivers are used in bottom up testing. The stub is used to test the main module, which is a dummy code or program.
Q28. What steps should be taken once a defect is detected?
Ans: These are the steps taken once a defect is noticed:
a)Recreate the defect
b)Attach the screen shot
c)Log the defect
Q29. What is the main benefit of designing tests early in the life cycle?
Ans: Simple: by designing test early in the lifecycle, you prevent defects from entering the code.
Q30. What are the phases of a formal review?
Ans: Being formal in nature, a typical formal review process consists of six main steps:
- Review meeting
2nd Round: Software Testing Technical Interview Questions and answers:
Q1. Given the following fragment of code, how many tests are required for 100% decision coverage?
Ans: if width > length
thenbiggest_dimension = width
if height > width
thenbiggest_dimension = height
elsebiggest_dimension = length
if height > length
thenbiggest_dimension = height
Q2. How do Testing Techniques differ from Testing Tools?
The testing technique is the process by which to ensure whether some aspects of the application system or unit are functioning properly. This may consist of a few techniques but many tools.
Testing tools are the means by which a test process is performed. While this may be needed by the tester as a resource; it is not sufficient in itself to conduct testing.
Q3. Which are the Methodologies in Agile Development Model?
- Extreme Programming (XP)
- Agile Unified Process
- Dynamic Systems Development Model (DSDM)
- Feature-Driven Development
- Lean Software Development
Q4. Out of the following techniques, which are static, and which are dynamic?
- Equivalence Partitioning.
- Use Case Testing.
- Data Flow Analysis.
- Exploratory Testing.
- Decision Testing.
Out of these, the static techniques are Data Flow Analysis and Inspections. The rest are dynamic.
Q5. Given the following code, which statement is true about the minimum number of test cases required for full statement and branch coverage?
Ans: Read p
IF p+q> 100
THEN Print "Large"
IF p > 50
THEN Print "p Large"
1 test for statement coverage, 2 for branch coverage
Q6. Which are the Test Deliverables?
Ans: 1.Test Strategy
3. Effort Estimation Report
4. Test Scenarios
5. Test Cases/Scripts
6. Test Data
7. Requirement Traceability Matrix (RTM)
8. Defect Report/Bug Report
9.Test Execution Report
10. Graphs and Metrics
11. Test summary report
12. Test incident report
13. Test closure report
14. Release Note
15. Installation/configuration guide
16. User guide
17. Test status report
18. Weekly status report (Project manager to client)
Q7) What factors need to be considered in Risk-based testing?
Ans:Risk-based testing of a project ensures not just the delivery of a project sans the risk; it does so by implementing the best practices of risk management. These are the factors that one needs to consider when carrying out risk-based testing
- Identifying when and how to implement risk-based testing on an application
- Identifying that measures are needed to identify and handle risk in critical areas of the application
- Achieving a final project outcome in which the risks are balanced with the quality and feature of the application.
1.What is your experience in real-time software testing?
2.Describe a memorable incident in your testing career and explain why you consider it memorable
3.What challenges have you faced in real-time software testing other than the testing itself, i.e., interactions with the team members, resolving issues, etc.?
4.Explain the importance of teamwork in real-time software testing
5.Where do you see yourself five years from now?
A real-time software testing career is a wonderful option for those who are technically skilled, analytical, well-organized and are good team players. The knowledge of testing tools, plus some aspects of SQL, database and Linux and defect tracking tools is a core quality for testers. More than anything else, they should have a keen ken for analyzing where a defect or a problem can arise and should know how to not only detect it, but also apply the right solution to resolve it with the lowest allocation of resources, in the quickest possible time, and with optimal results.
We hope this series of real-time software testing interviews will help you face an interview with aplomb and confidence and help you scale up in your career!