Software Testing - Interview Questions and Answers
The different phases involved in the software testing life cycle are:
Black box Testing: The strategy of black box testing is based on requirements and specification. It requires no need of knowledge of internal path, structure or implementation of the software being tested.
White box Testing: White box testing is based on internal paths, code structure, and implementation of the software being tested. It requires a full and detail programming skill.
Gray box Testing: This is another type of testing in which we look into the box which is being tested, It is done only to understand how it has been implemented. After that, we close the box and use the black box testing.
Risk-based testing is done for projects and applications based on risks. It uses risk to prioritize and emphasize the appropriate tests during test execution.
- Manual Testing – This is the oldest type of software testing where the testers manually execute test cases without using any test automation tools. It means the software application is tested manually by QA testers.
- Automation Testing – This is the process of using the assistance of tools, scripts, and software to perform test cases by repeating pre-defined actions. Test Automation focuses on replacing manual human activity with systems or devices that enhance efficiency.
Quality control is a product-oriented approach of running a program to determine if it has any defects, as well as making sure that the software meets all of the requirements put forth by the stakeholders.
Four levels of manual testing are:
- Unit testing – It is a way of testing the smallest piece of code referred to as a unit that can be logically isolated in a system. It is mainly focused on the functional correctness of the standalone module.
- Integration Testing – It is a level of software testing where individual units are combined and tested to verify if they are working as they intend to when integrated. The main aim here is to test the interface between the modules.
- System Testing – In system testing all the components of the software are tested as a whole in order to ensure that the overall product meets the requirements specified. There are dozens of types of system testing, including usability testing, regression testing, and functional testing.
API testing is a type of software testing where application programming interfaces (APIs) are tested to determine if they meet expectations for functionality, reliability, performance, and security. In simple terms, API testing is intended to reveal bugs, inconsistencies or deviations from the expected behavior of an API.
SDLC deals with development/coding of the software while STLC deales with validation and verification of the software.
- Smoke testing
- Sanity testing
- Integration testing
- Regression testing
- Localization testing
- User acceptance testing
- Performance testing Usability Testing
- Security Testing
- Installation testing
- Recovery testing
Functional testing | Non-functional testing |
Performed before non-functional testing | Performed after Functional testing |
Based on customer requirements | Based on customers expectations |
Describes what the product does | Describes how the product works |
Static testing: During Static testing method, the code is not executed, and it is performed using the software documentation.
Dynamic testing: To perform this testing the code is required to be in an executable form.
Test design, scope, test strategies, approach are various details that Test plan document consists of.
- Test case identifier
- Scope
- Features to be tested
- Features not to be tested
- Test strategy & Test approach
- Test deliverables
- Responsibilities
- Staffing and training
- Risk and Contingencies
Benefits of Automation testing are:
- Supports execution of repeated test cases
- Aids in testing a large test matrix
- Enables parallel execution
- Encourages unattended execution
- Improves accuracy thereby reducing human-generated errors
- Saves time and money
Verification: It is a static analysis technique. Here, testing is done without executing the code. Examples include – Reviews, Inspection, and walkthrough.
Validation: It is a dynamic analysis technique where testing is done by executing the code. Examples include functional and non-functional testing techniques.
- It is a cheaper way of testing when compared to automated testing
- Analysis of product from the point of view of the end-user is possible only with manual testing
- GUI testing can be done more accurately with the help of manual testing as visual accessibility and preferences are difficult to automate
- East to learn for new people who have just entered into testing
- It is highly suitable for short-term projects when test-scripts are not going to be repeated and reused for thousands of times
- Best suited when the project is at the early stages of its development
- Highly reliable, since automated tests can contain errors and missed bugs
The debugging categories:
- Backtracking
- Cause elimination
- Program Slicing
- Fault tree analysis
- Brute force debugging
- Error – When a program is unable to compile or run due to coding mistakes it is termed as an error.
- Failure- If the end-user is unable to program due to any issue, it is termed as a failure.
A latent bug is a bug that is present in the system from previous iterations or releases. It is a low priority bug. It includes those bugs that remain dormant or unhidden.
A golden bug is a bug that appears in every iteration or release, affecting the major module. It is a high priority bug as it may affect the critical functionality of the system.
Traceability matrix is the document with the help of which the relationship between test cases and requirement specifications is shown. It helps to ensure transparency and completeness of the software testing products.
Steps are:-
- Bug investigation
- Bug assignment
- Bug fixing
- Bug retesting
- Bug closing and reopening
CAST stands for Computer-aided software testing which is an automated process, technique, and tool used by a computer to test software apps and programs. CAST’s performance is equivalent to thousands of users working at a time as the CAST-based tools evaluate the code using the testing tools and built-in software testing solutions.
Random Blogs
- Convert RBG Image to Gray Scale Image Using CV2
- Best Platform to Learn Digital Marketing in Free
- What is YII? and How to Install it?
- Downlaod Youtube Video in Any Format Using Python Pytube Library
- Python Challenging Programming Exercises Part 3
- What Is SEO and Why Is It Important?
- Understanding OLTP vs OLAP Databases: How SQL Handles Query Optimization
- Datasets for analyze in Tableau
- Understanding HTAP Databases: Bridging Transactions and Analytics
- Mastering Python in 2025: A Complete Roadmap for Beginners