Continuing the previous articles in my series, I added few more great questions that relevant for the “Theoretical” side if testing.
Please pay attention that memorizes my answers is NOT the right way to work in the testing industry, my goal is to help you to understand the basic questions that you may be asked during a job interview with a short explanation regarding the appropriate answer.
Q1: Explain “Compatibility” testing?
Compatibility testing is a testing technique that belongs to the “nonfunctional” side of testing, this activity, used to determine if the software is compatible with different corresponding elements.
The main reason to execute those tests, is to make sure that the software can run with different elements that may affect the behavior, functionality or any other deviation from the requirements and specification.
- Databases (SQL, Oracle Etc.).
- Compatible hardware
- 3rd party applications
- Different browsers
- Operating systems
Q2: Describe few verification aspects for “White-box” testing?
- The code doesn’t contain any security breaches.
- The software is coded based on the SRS doc.
- The software is coded with an efficient logic.
- Remove irrelevant code.
Q3: Explain “System” testing?
Most testers are failing to understand that “Software” testing is NOT “End-To-End” testing, in “System” testing, we want to validate that the integrated units/components are working together, based on the software requirements and specifications (Testing the whole system as one unit).
In such tests, we will are usually want to investigate the software design, logic, user interfaces and any other subject that may help us to ensure that the software is built based on the client requirements.
In addition, most bugs that may find on such testing activity, is usually occurring due to failures between the integrated components or any other logical errors in the individual components.
Q4: Explain “Localization” testing?
In localization tests, we need to validate that software is adapted a different languages and cultures. The success factor in this test, is to make sure that the adapted software will support (User Experience, interfaces, Etc.) other languages like the original written software.
- Numbers formatting (numbers grouping /Separators Etc.)
- Validating different languages special characteristics.
- Computability with different OS languages.
- Computability with different DB languages.
- Syntax translation of different languages.
- Testing the local time and date formats.
- Usability testing for the user interfaces.
- Shortcuts to different languages.
- Testing he local currency.
- Regional languages.
Q5: Explain “Recovery” testing?
Testing activity that performed to make sure that the tested software can recover quickly and efficiently after a system failure (Software/Hardware).
Q6: What are the success factors for “Recovery” testing?
- The software will return to the last failure point and continuing the original task.
- After the tests, you can approve that the recovery plan is working as expected.
- The system has recovered quickly and efficiency based on the expected process.
- The tester can supply the exact timelines to recover the lost date (If any).
- Approving that the user can use the software without a data loss.
- Ability to eliminate unknown system behaviors
- Build confidence in the product and is stability.
- The user can get a valid explanation about the error and the reason (Logs, Events Etc.).
Q7: explain the benefits in unit testing?
- Allow the Eng. Team to validate the code against the predefined requirements.
- Allow the Eng. Team to start the testing cycle on the smallest piece of code.
- Provide a fast way to find errors after modification is made (the errors are found before it arrives to the QA teams).
- Allow the Eng. Team to run those tests whenever the code is charged in the testing process.
Q8: Explain “Defect Clustering”?
One of the basic principle of testing, the assumption behind this principle is that errors are most likely to be under a small number of components. In simple words, bugs are most likely to be centralized in a small number of components and not distributed in multiple locations.
Q9: Explain “Acceptance” testing?
Testing technique that performed on the client Environment, tests performed by the client (in most cases the company will have her own specialist to provide the relevant support and open questions).
The main target of this testing method, is to enable the customer to determine if the software performed as promised and defined in the initial requirements and specifications (SRS).
Q10: Explain “Exhaustive” testing?
Testing activity that used to cover all the available permutations/input/scenarios (Positive and Negative) on a tested object, the main goal is to confirm sure everything is working as expected.