This article introduces suggested questions that can be presented to a candidate interviewing for a QA/Testing position. The suggested questions would help a test manager assess a candidate's knowledge of QA concepts and technical skills. The test manager can create a sample set of questions from this article and that will help them form a framework for efficiently interviewing future candidates.
Test managers often hold brief phone interviews to screen out candidates for QA/testing positions. With resume in hand, which the test manager has probably not even reviewed, before the interview commences the test manager is expected to determine within an hour or less whether the interviewed candidate would be a good fit for the project. Trying to evaluate in such a short period time a candidate's ability to perform the project's testing and QA tasks can be an inexact science. It can also be a subjective undertaking if the test manager fails to ask the appropriate questions from the interviewing candidate. Even relying on a resume to determine the candidate's aptitude for a position is unreliable since many candidates embellish their resumes.
A recommended approach for interviewing candidates is to draft a specific list of questions before the interview begins that are pertinent to the position that needs to be filled. These questions should be based on the candidate's QA accomplishments and skill sets as documented in the resume. Below are some sample questions that can help demonstrate a candidate's experience in the areas of quality assurance, and also their creativity and ability to comprehend basic testing concepts. The questions below can serve as criteria to screen out inexperienced candidates during the interviewing process.
Describing Testing/QA Terms
An experienced testing candidate with several years of experience will exhibit knowledge and understanding of well-established testing principles and testing terminologies. It behooves the test manager to ask the testing candidate to describe these concepts. Some suitable examples would be:
What is the objective of a peer review?
What is the Unified Modeling Language?
What are the components of a test plan?
What are the benefits of automated testing?
What are the benefits of Configuration Management?
What are the characteristics of a good test requirement?
What is a requirements traceability matrix is and why it is necessary?
What is the criterion for composing a test readiness review list (TRR)?
Provide descriptions for testing approaches (i.e. white box versus black box, etc).
The test manager needs to ascertain if the testing candidate is familiar with industry accepted terminologies that are commonly used within the project where the tester is being considered.
Thinking On Their Feet
In addition to understanding the testing requirements, a good testing candidate should have creativity and ingenuity when testing a software application. A tester should always be alert to potential scenarios that could cause an application to fail or yield defects and/or errors; even if such scenarios are not documented or presented in requirements. A thorough tester executes a particular test scenario with different sets of data, and conducts boundary testing to ensure that an application would not be deployed into production with overlooked problems.
A suggested question to discern a candidate's testing meticulousness is to have a candidate provide use cases and test cases for a commonly used machine, or a self service application. An example would be: what test cases and use cases can the candidate think of for operating a beverage dispensing machine, or for purchasing books via a website. The candidate should generate an extensive list of test cases and use cases for the two aforementioned examples.
Development of Test Scenarios and Test Scripts
A well written test scenario has information about: pre-conditions, post-conditions, traceability to a requirement, description, identification of authorship, a peer review and sign off section, roles to be tested, etc. A test script or test procedure on the other hand has detailed test steps with valid data values and expected results for each test step. In addition, a test script provides information