Common Questions for Testers
- What is the testing process?
Verifying that an input data produce the expected output.
- What is the difference between testing and debugging?
Big difference is that debugging is conducted by a programmer and the programmer fix the errors during debugging phase. Tester never fixes the errors, but rather find them and return to programmer.
- What is the difference between structural and functional testing?
Structural is a "white box" testing and based on the algorithm or code. Functional testing is a "black box" (behavioral) testing where the tester verifies the functional specification.
- What is a bug? What types of bugs do you know?
Bug is a error during execution of the program. There are two types of bugs: syntax and logical.
- What is the difference between testing and quality assurance (QA)?
This question is surprisingly popular. However, the answer is quite simple. The goals of both are different: The goal of testing is to find the errors. The goal of QA is to prevent the errors in the program.
- What kinds of testing do you know? What is it system testing? What is it integration testing? What is a unit testing? What is a regression testing?
You theoretical background and home work may shine in this question. System testing is a testing of the entire system as a whole. This is what user see and feels about the product you provide. Integration testing is the testing of integration of different modules of the system. Usually, the integration process is quite painful and this testing is the most serious one of all. Integration testing comes before system testing. Unit testing is a testing of a single unit (module) of within system. It's conducted before integration testing. Regression testing is a "backward check" testing. The idea to ensure that new functionality added to the system did not break old, checked, functionality of the system.
- Have you used automatic testing tools. Which ones?
If you never have seen automation tools before, do not try to fool around the interviewer. You produce a bad impression when "caught" on lying to the interviewer. However, if you ever used the automation tools, it would be a huge advantage for us to mention them even if those tools were proprietary automation tools of your previous company. Be prepared then to answer general automation testing questions.
- How would you build a test with WinRunner? Rational Visual Test?
First of all, see the comments to the previous question. Then, all automation testing tools I ever heard of have a GUI recorder which allows you to record the basic user interactions with the software underneath. Then, you manually update your initial script to suit your needs. You must know scripting language of the automation tool for that.
- Could you test a program 100%? 90%? Why?
Definitely not! The major problem with testing that you cannot calculate how many error are in the code, functioning etc. There are many factors involved such as experience of programmer, complexity of the system etc.
- How would you test a mug (chair/table/gas station etc.)?
First of all you must demand requirements and functional specification and design document of the mug. There will find requirements like ability to hold hot water, waterproof, stability, break ability and so on. Then you should test the mug according to all documents.
- How would you conduct your test?
Each test is based on the technical requirements of the software product.
- What is considered a good test?
Good test is a test covering most of the object's functionality.
- What is considered a successful test?
A test that discovered more errors. The whole purpose of testing process is to discover as many bugs and errors as possible. Test that covers more functionality and discovers more errors in your software product, therefore considered more successful.
- How would you conduct a test: top-down or down-top? What is it? Which one is better?
Down-Top: unit -> interface -> system. Top-Down is a vice versa. You may use both, but down-top allows to discover malfunctioning at earlier phases of development and cheaper to fix than in the case of top-down.
- How to develop a test plan ? How to develop a test case?
Test plan consists of test cases. Test cases you develop according to requirement and design documents of the unit, system etc. You may be asked what would you do if you are not provided with requirements documents. Then, you start creating your test cases based on functionality of the system. You should mention that this is a bad practice since there is no way to compare that what you got is what you planned to create.
- How do you see a QA role in the product development life cycle?
QA should be involved in early stages of the development process in order to create an adequate test cases and better general understanding of the system. QA, however, must be separated from the development team to ensure that there is no influence of developers on QA engineers. As a last resort before shipping product to the customer, QA has great level of responsibility for the quality of the product and image of the company on the market.
- What is the size of your executable?
10MB. Who cares? You should demonstrate that you can't be caught with unexpected questions. This question is one of the dumbest, but you must react accordingly. Tell any reasonable number you want, but be careful not to exaggerate!
- What version of Oracle database did you use?
Homework. Tell any version number you want - not many interviewers know the difference at version level. However, do not tell any numbers if you never worked with Oracle!
- How would you execute a SQL query in Oracle 8?
Again, if you ever worked with Oracle, this question should be trivial for you to answer (from command prompt, of course) If you never worked with Oracle, note politely that you did not touch an Oracle database on your career path.
- What version of OS were you using?
Tell whatever you want - you can't be caught here. Popular answers are Windows 95/98, Windows 2000 (make sure you know various flavors) and various Unix flavors (AIX, Solaris, SunOS, HPUX etc.)
- Have you tested front-end of back-end?
In other word you are asked if you tested GUI part of the application or server part of your application.
- What's the most important thing in testing?
You may bring your own arguments, or simply mention "accuracy", "knowledge of the system", etc.
- What was the most difficult problem you ever found while testing?
This is homework. Think about one and give it as an example.
- What's your favorite command in Unix?
Again, this is homework. You may mention any command you want: ls, ps, cat, etc. Be careful not to mention "complex" command unless you absolutely sure what you are talking about. For example, if you mention "vi" you may be asked how were you using vi editor?
- What were you responsible to test in your previous company?
This is homework for you. Actually, this question is a test of the knowledge of your own resume. You must know your real or fake resume as a bible. Practice in front of mirror or ask you
- Why do you like to test?
You enjoy bug hunting process, feel great being between developers and customers, your background and experience are targeting the testing techniques enhancements and you feel proud of your contribution to the whole development process.
- What role do you see yourself in 2-3 years from now? Would you want to become a developer?
You should not concentrate the attention of the interviewer on your wish to become a developer. You are being hired for testing role and you should demonstrate reliability. Team lead of QA team is OK, but do not answer yes when asked if you are willing to become a developer.
- What bug tracking system did you use?
Again and again, it does not matter what bug tracking system did you use if you made your homework and invented the name of such or mentioned a standard one. You may say you've used proprietary bug tracking system (works especially well if you previous company was this way or another dealing with databases) or you may say Test Director, Clarify, ClearCase, VisualTest etc.