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 about the test execution results for "passes/failures" and mapped requirements for the test step.
The test manager can have the tester provide information as to how test cases and test scripts were documented at the previous project. What level of detail was presented for the test cases and test scripts? What exactly was documented for the test cases and test scripts? Another suggestion is to have the tester send a sample test case and test script that he/she documented at a previous project for review. A well-documented test case and test script will demonstrate the tester’s attention to detail.
Life Cycle Methodologies (生命周期方法)
An experienced tester should have experience working with one or more IT methodologies such as waterfall spiral, evolutionary, incremental, rapid prototyping, etc. Some methodologies are more appropriate when requirements are well known/defined, or when requirements are not well known, or when the project has high risks, etc. The tester vying for the position should understand what the differences are between the main software development lifecycle methodologies. The test manager can present the tester with different hypothetical scenarios of IT projects and ask the tester what methodology would be most fitting based on the presented scenario.