Posted September 07, 2005
When it's time to grow the QA team, how do you hire the best people for the job? Here are some tips from past experience, comments are welcome
1. Methodical and Systematic: Testing is often the process of repetitively doing the same things over and over. A person that is well organized is a great addition to the QA process.
2. Communication Skills: Testers need to communicate their findings, suggestions and conclusions on a daily basis. They will create written test cases, bug reports, test status reports, and more. They need to be able to defend their positions and opinions. You don't need an Eglish major for every QA position, but everyone on the testing team should have an excellent grasp of written and spoken communication.
3. Programming Experience: Programming skills go a long way in helping testers locate the source and cause of a program's bugs. Reading and understanding application code can give a tester valuable insights. Companies are increasingly hiring programmers as testers, and Microsoft even has a special position for test developers – SDET.
4. Curiosity: Testers are in constant contact with new technologies, concepts that need to be quickly learned and understood. Testers should take nothing for granted, curiousity, along with the willingness and ability to learn new things is a must on the job everyday.
5. Positive Attitude: Some would call this desirable trait blind optimism, or a win-win attitude. But the fact is, testers often need that extra bit of optimism when discovering errors and problems on a daily basis, and taking on the challenging task of communicating them to developers and management.
6. Domain Expertise: Knowing what the application is about and how the target industry works is a tremendous help while testing an application. Joel Spolsky suggests looking for testers inside your company, the support department is a great place to start.
- General Questions
- Describe the test life cycle?
- Summarize your interest in testing?
- Summarize your testing background?
- What is a test plan? How would you prepare it?
- What programming languages are you familiar with?
- What scripting languages are you familiar with?
- What is the difference between a scripting and a programming language?
- How do you handle errors in scripts?
- How would you implement a loop in a script?
- Name the types of standard Windows controls?
- How would you use automated testing to perform tests?
- What are the areas of testing an application that you would automate?
- What is a black-box application?
- What is regression testing?
- What is a unit test?
- What is data-driven testing?
- What is distributed testing?
- What is load testing?
- What is test coverage?
- How would you rate the severity of these issues found in an application under test? Crash, Data Corruption, UI Inconsistency, Data Validation Error, Missing Documentation, System Incompatibly, Slow Performance.
- Name some automation test tools that you know.
- What kind of properties can be used for identifying a process? a window?
- TestComplete Questions
- What are the main features of TestComplete?
- For how long have you used TestComplete?
- What type of applications can be tested with TestComplete?
- What scripting languages have you used with TestComplete?
- What are the scripting languages supported by TestComplete?
- How can you find a control in the tested application with TestComplete?
- How would you send a string to the TestComplete log? What about an Image ?
- How do you make an application "Open" for TestComplete?
- Describe the levels of visibility of an application under test to TestComplete
- Describe the data-driven testing in TestComplete?
- Describe the distributed testing in TestComplete?
- What results can you obtain from the Load Testing in TestComplete?
- How would you measure test coverage with TestComplete?
- Describe some problems you had with TestComplete and how you solved them.