These Software testing questions have been designed for various interviews, competitive exams and entrance tests. We have covered questions on both basic and advanced concepts which will help you improve your skills to face interview questions on Software testing.
Who are these Software testing interview questions designed for?
All the Quality Analysts, Software Quality Assurance (QA) Analysts, Developers, Programmers, Software Engineers, Test Engineers, Test Leads, Test Managers, QA leads and QA Managers will find these questions extremely useful. All freshers, BCA, BE, BTech, MCA and college students wanting to make a career in Software Testing will be highly benefited by these questions.
Software testing interview questions topics
This section covers Software testing topics like - Black-Box Testing, White-Box Testing, Grey-Box Testing, Smoke Testing, Sanity Testing, Integration Testing, System Testing, Regression Testing, User Acceptance Testing, Usability Testing, Load Testing, Performance Testing, Compatibility Testing, Stress Testing, Scalability Testing, Unit Testing, Integration Testing, System Testing, Acceptance Testing etc.
1. What are the different methods of testing?
The methods of software testing are as follows:
Black-Box Testing
White-Box Testing
Grey-Box Testing
Black-box testing is based solely on requirements and specifications. In this approach, we just focus on inputs and output of the software system without bothering about internal code structures, implementation details and knowledge of internal paths of the software.
White box testing validates internal structure and working of software code. The testers require detailed programming skills to understand internal code structures.
Gray-Box Testing is a combination of black-box testing and white-box testing which is carried out with some knowledge of internal structure but not in detail.
2. What are the types of Black Box Testing?
There are many types of Black Box Testing but the following are the important ones:
Functional testing - Here, the functions of the system are tested by providing the input and comparing the output with the expected output.
Few major types of Functional Testing are:
Smoke Testing
Sanity Testing
Integration Testing
System Testing
Regression Testing
User Acceptance Testing
Non-functional testing - In this, non-functional aspects such as performance, scalability, usability are tested to improve the quality and performance of the application.
Few major types of Non-functional testing include:
Usability Testing
Load Testing
Performance Testing
Compatibility Testing
Stress Testing
Scalability Testing
Regression testing is done to check the new code has not affected the existing code. It is repeated testing of an already tested program, after modification, to find any defects introduced as a result of the changes in the software.
3. What are the different levels of testing?
Testing starts with the Unit Testing phase and ends with Acceptance Testing.
There are basically four testing levels and they are:
Unit Testing
Integration Testing
System Testing
Acceptance Testing
4. What is a test case?
A test case is a set of step-by-step instructions to verify a system under test satisfies requirements and works correctly.
A test case usually contains:
Title
Description
Test steps
Expected result
Actual result
5. What is Automation testing? What are the benefits of Automation testing?
Automation testing is a testing method that makes use of special software tools to run test cases.
Automation testing helps reducing test execution time drastically as the test scripts written once can be run automatically any number of time without any human intervention.
Automation testing improves accuracy by reducing human-generated errors and also saves time and money.
6. What is Selenium? Why Selenium is a preferred tool for Automation testing?
Selenium is a free test automation framework to conduct software testing of web-based applications.
Selenium is a preferred tool for Automation testing because of following reasons:
i. Selenium is an Open Source Software and it is free to use.
ii. Selenium offers a user-friendly interface that helps create and execute tests easily and effectively
iii. It offers multiple programming languages support, namely Java, C#, Perl, Python, Ruby and PHP
iv. Test cases of Selenium can be executed on various OS such as Windows, Mac OS, Linux etc.
v. Selenium supports various Browsers. It allows running the same set of tests on different browsers
vi. With Selenium, we can reduce the Test execution Time as it supports Parallel Test Execution
vii. Selenium requires less Hardware resources
viii. Selenium Test Automation can be implemented for Mobile web application automation on Android, IPhone and Blackberry
ix. Selenium has a large user base and helping communities
7. What is Static Testing?
Static Testing is done to identify the defects in the early stages of development. We mainly check the defects in the application without actually running the code.
8. What is Dynamic Testing?
Dynamic testing involves testing the application by executing it. It validates the output with the expected outcome.
9. What is Smoke Testing?
The smoke testing qualifies the product is ready for testing. It is a minimal set of tests run on each build and confirms if the QA team can proceed with further testing and thus, helps not to waste time to testing the whole application when the key features don’t work.
10. What is Sanity Testing?
Sanity testing is usually performed by testers to check the new functionality/bugs have been fixed. It is a way to avoid wasting time by quickly determining if the application merits sending for rigorous testing. This test is performed to ascertain that there is no issue as a result of new change and the software build can be sent for rigorous testing.
11. What is Integration Testing?
Integration Testing involves testing where individual units or modules are combined and tested as a group. It mainly focuses on flow of data/information between the modules and verifies that they work as expected when integrated.
12. What is Regression Testing?
Regression Testing is performed when there is change in existing code. It is done to ensure that a code change does not impact the existing functionality of the product.
13. What is usability testing?
Usability testing is a non-functional testing that measures if the system is easy to use. The tests take place with real users by observing them as they attempt to use the system. Usability testing is often conducted on prototypes rather than finished products during the initial stages.