The part-I of this article can be accessed from here
Software TestingTools Interview Questions:Part-I
18. Explain Unit Testing, Interface Testing and Integration Testing. Also explain the types of Integration Testing in brief.
Unit Testing: Unit Testing is done to check whether the individual modules of the source code are working properly. i.e Testing each and every unit of the application separately by the developer in developers environment.
Interface Testing: Interface Testing is done to check whether the individual modules are communicating properly one among other as per the specifications.
Interface Testing is mostly used in testing the user interface of GUI applications.
Integration Testing: Integration Testing is done to check the connectivity by combining all the individual modules together and test the functionality.
The types of Integration Testing are,
1) Big Bang Integration Testing
In Big Bang Integration Testing, the individual modules are not integrated until all the modules are ready. Then they will run to check whether it is performing well.
In this type of testing, some disadvantages might occur like,
Defects can be found at the later stage.
It would be difficult to find out whether the defect arouse in Interface or in module.
2) Top Down Integration Testing
In Top Down Integration Testing, the high level modules are integrated and tested first. i.e Testing from main module to sub module. In this type of testing, Stubs are used as temporary module if a module is not ready for integration testing.
3) Bottom Up Integration Testing
In Bottom Up Integration Testing, the low level modules are integrated and tested first i.e Testing from sub module to main module. Same like Stubs, here drivers are used as a temporary module for integration testing.
19. How many types are there in testing?
1. Black box testing
2. White box testing
3. Gray box testing
20. What Is Black box testing?.
Black box testing – Testing the application without any knowledge of the internal design/code, Tests are based on requirements and functionality.
21. What is white box testing?
White box testing –Testing the internal logic of the application code, Tests are based on coverage of code statements, branches, paths, conditions.
22. What is Unit Testing?
Unit testing - the most 'micro' scale of testing; to test particular functions or code modules. Typically done by the programmers and not by testers, as it requires detailed knowledge of the internal program design and code. Not always easily done unless the application has a well-designed architecture with tight code; may require developing test driver modules or test harnesses.
23. What is incremental integration testing?
Incremental integration testing - continuous testing of an application as new functionality is added; requires that various aspects of an application's functionality be independent enough to work separately before all parts of the program are completed, or that test drivers be developed as needed; done by programmers or by testers.
24. Explain the Integration Testing.
Integration testing - testing of combined parts of an application to determine if they function together correctly. The 'parts' can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.
25. Explain the Functional Testing.
Functional testing - black-box type testing geared to functional requirements of an application; this type of testing should be done by testers. This doesn't mean that the programmers shouldn't check that their code works before releasing it (which of course applies to any stage of testing.)
26. Explain the System Testing
System testing - black-box type testing that is based on overall requirements specifications; covers all combined parts of a system.
27. What is End-to End Testing? (When we do End-to End testing?)
End-to-end testing - similar to system testing; the 'macro' end of the test scale; involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
28. When do we do Sanity/smoke testing? Or what is sanity testing?
Sanity testing or smoke testing - typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing systems every 5 minutes, bogging down systems to a crawl, or corrupting databases, the software may not be in a 'sane' enough condition to warrant further testing in its current state.
29. What is the regression testing?
Regression testing is done after fixes or modifications of the software or its environment.(on modified build) It can be difficult to determine how much re-testing is needed, especially near the end of the development cycle. Automated testing tools can be especially useful for this type of testing.
User Acceptance testing - final testing based on specifications of the end-user or customer, or based on use by end-users/customers over some limited period of time.
31. What is load testing?
Load testing - testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the system's response time degrades or fails.
32. Explain the Stress testing?
Stress testing - term often used interchangeably with 'load' and 'performance' testing. Also used to describe such tests as system functional testing while under unusually heavy loads, heavy repetition of certain actions or inputs, input of large numerical values, large complex queries to a database system, etc.
33. What is Performance testing?
Performance testing - term often used interchangeably with 'stress' and 'load' testing. Ideally 'performance' testing (and any other 'type' of testing) is defined in requirements documentation or QA or Test Plans.
34. Explain the usability testing? When did we do?
Usability testing - testing for 'user-friendliness' of the application. Clearly this is subjective, and will depend on the targeted end-user or customer. User interviews, surveys, video recording of user sessions, and other techniques can be used. Programmers and testers are usually not appropriate as usability testers.
35. Explain the install/uninstall? When did we do?
Install/uninstall testing - testing of full, partial, or upgrade install/uninstall processes.
36. What is recovery testing?
Recovery testing - testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.
37. What is security testing?
Security testing - testing how well the system protects against unauthorized internal or external access, willful damage, etc; may require sophisticated testing techniques.
38. What is compatibility testing?
Compatibility testing - testing how well software performs in a particular hardware/ Software/operating system/network/etc. environment
39. Exploratory testing?
Exploratory testing - often taken to mean a creative, informal software test that is not based on formal test plans or test cases; testers may be learning the software as they test it.
40. Explain Ad-hoc testing?
Ad-hoc testing - similar to exploratory testing, but often taken to mean that the testers have significant understanding of the software before testing it.
41. What is the Comparison Testing?
Comparison testing - comparing software weaknesses and strengths to competing products
42. What is the mutation testing?
Mutation testing - a method for determining if a set of test data or test cases is useful, by deliberately introducing various code changes ('bugs') and retesting with the original test data/cases to determine if the 'bugs' are detected. Proper implementation requires large computational resources.
43. What is Security testing?
It is a process used to look out whether the security features of a system are implemented as designed and also whether they are adequate for a proposed application environment. This process involves functional testing, penetration testing and verification.
44. What is Installation testing?
Installation testing is done to verify whether the hardware and software are installed and configured properly. This will ensure that all the system components were used during the testing process. This Installation testing will look out the testing for a high volume data, error messages as well as security testing.
I'll come back with more interview questions on Testing Tools.
Comments/Suggestions are invited. Happy testing......!