Sunday, July 7, 2019

25 Software Testing Interview Questions and Answers

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.

14. What is Load Testing?

Load testing measures the system behavior under the expected load. It actually checks response time when the application is subjected to more than usual load and is done to see if the application can sustain the increased load. Load testing helps to identify the behavior of the application under load.

15. What is Performance Testing?

Performance Testing determines if the application perform well under varying loads. It checks if the application meets speed, scalability and stability requirements.

16. What is Compatibility Testing?

Compatibility Testing is a Non-functional testing that checks whether the application is capable of running on different hardware, operating systems, network environments or Mobile devices.

17. What is Stress Testing?

Stress testing is done to test the insane limits of an application. In this testing, load is increased gradually on the server till the time it crashes down. It helps to identify the breaking point of the system.

18. What is Scalability Testing?

Scalability Testing is a type of non-functional testing which focuses to measure whether the application scales for the workload growth. It basically determines if the application can handle high loads given a high demand of end users.

19. What is Unit Testing?

Unit Testing is also called as Module Testing or Component Testing. It is done to check whether the individual unit or module of the source code is working properly. It is done by the developers in the developer’s environment.

20. What is System Testing?

System Testing is a black box testing that involves testing of complete and fully integrated software before it is introduced to the market.

21. What is Acceptance Testing?

Acceptance Testing assesses whether the application is acceptable for delivery. Once testing process is completed by the testing team, the product is handed over to the customer to test for its acceptability. This is a black-box testing technique that involves testing of the functionality of the application.

22. What is Bug Severity?

Bug/Defect severity can be defined as the degree of impact on the operation of the product because of a particular defect. It can be Critical, Major or Minor. Quality Assurance engineer usually determines the severity level of defect.

23. What is Bug Priority?

Defect priority defines the order in which the developer should resolve a defect. It can be Low, Medium and High.

24. What is Alpha testing?

Alpha testing is a pre-release testing done by end user representatives at the developer's site.

25. What is beta testing?

Beta Testing is performed by potential customers at their own locations.



No comments:

Post a Comment

Get max value for identity column without a table scan

  You can use   IDENT_CURRENT   to look up the last identity value to be inserted, e.g. IDENT_CURRENT( 'MyTable' ) However, be caut...