QA Interview Questions & Answers – Part 2
1. Are Test Plan and Test Strategy same type of documents?
Answer: No, they are different documents. A Test Plan is a document that collects and organizes test cases by functional areas and/or types of testing in a form that can be presented to the other teams and/or customer (see the definition on this page for Test Plan) where as the Test Strategy (see the definition in the above question) is the documented approach to testing. The tester prepares test Plan whereas the Manager or lead prepares the Test Strategy. Both are important pieces of Quality Assurance processes since they help communicate the test approach scope and ensure test coverage while improving the efficiency of the testing effort.
2. What does Test Strategy include?
Answer: It includes introduction, Test Objectives, Test Process, Test Methodology, Test Scope, Release Criteria for Testing (exit criteria), Test Lab configuration, resource and schedule for test activities, acceptance criteria, test environment, test tools, test priorities, test planning, executing a test pass and types of test to be performed.
3. What are different types of software testing and define them?
Answer: Different types of testing are:
1) Unit testing
2) Shakeout testing
3) Smoke testing (Ad-hoc testing)
4) Functional testing
5) Integration testing
6) Regression testing
7) System testing
8) Load testing
9) Stress testing
10) Performance testing
11) User acceptance testing
12) Black box testing
13) White box testing
14) Alpha testing
15) Beta testing
(Note: Except the Shakeout testing and Unit testing (which are respectively done by the CMT (Configuration Management Team) and Coder/Developer), all other testing are done by the QA tester.)
What is Unit testing? It is a test to check the code whether it is properly working or not as per the requirement.
What is Shakeout testing?
This test is basically carried out to check the networking facility, database connectivity and the integration of modules. The Configuration Management team, who prepare builds for test environments, normally does this test. They also test whether the major components of the software are not broken. This test is done BEFORE the build is deployed in the test environment. After the shakeout testing, the next step is smoke testing (which is done by the testers after the build is deployed in the test environment)
What is smoke testing?
This test is done when the build is just prepared (fresh build) and deployed in the test environments. This is basically an ad hoc test to check roughly to make sure the major functionalities are not broken. It is the preliminary a test carried out by the QA tester. After the smoke test, the testers perform functional testing.
What is Functional testing?
It is a test to check whether each and every function of that application is working as per the requirement (remember this work “as per requirement document”-you must say this in the interview). It is a major test where 80% of the tests are done. In this test, the Test Cases are executed (or run).
What is Integration testing?
It is a test to check whether all the modules are combined together or not and working successfully as specified in the requirement document. (Just for your information: Each developer works on different modules. When they finish their code, the configuration management team puts them together and prepares a build. We, as testers, need to make sure that these modules, which are now combined, work as per requirement document)
What is Regression testing?
When a new functionality is added to the software, we need to make sure that the added new functionality does not break the other parts of the application. Or when defects (bugs) are fixed, we need to make sure that the bug fix has not broken the other parts of the application. To test this, we perform a repetitive test, which is called regression test.
What is System testing?
When testers complete testing (The testers test the application in the test environments, meaning they test with the test data only, NOT with the real data), the application (software) has to be tested in the real environment. What it means is, since the testers test it in the test environment with the test data, we have to make sure that the application works well in the real environment with the real data. In test environment, some of the things cannot be simulated or tested. Al though the test environment is very similar to the production (real) environment, we need to make sure that we get a smooth delivery in the real system as well (As servers are different and database is different, things may not work as expected when the application is moved from test environment to production environment)
What is Load testing?
It is a test to check the user’s response time for number of users using any one scenario (single business process) of the same application at the same time.
What is Performance testing?
It is a test to check the user’s response time for number of users using multiple scenarios (multiple business process) of the same application at the same time.
(Did you notice the difference between Load Testing and Performance testing? What is it? See the highlighted bold letters)
What is Stress testing?
In this type of testing the application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. which checks for the stress/load the applications can withstand.
What is User acceptance testing (UAT)?
In this type of testing, the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to. In this testing, the tester may do the testing or the clients may have their own testers (For example, banks may have their own teller employees who can test the application).
What is Black box testing?
It is test where a tester performs testing without looking into the code. (OR it is a testing method where the application under test is viewed as a black box and the internal behavior of the program is completely ignored. Testing occurs based upon the external specifications. Also known as behavioral testing, since only the external behavior of the program is evaluated and analyzed.)
What is White box testing?
It is a test where a tester looks into the code and performs the testing.
What is Alpha testing?
In this type of testing, the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers.
What is Beta testing?
In this type of testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers.
4. What is the difference between Load Testing and Performance Testing?
Answer: Basically Load, Stress and Performance Testing are the same. However, Load testing is the test to check the users’ response time of number of users of any one scenario of the application whereas Performance Testing is the test to check the user response time for multiple scenario of the same application.
5. What was the process of QA testing in your company where you worked for the last time? (Or As far as the QA process is involved, what was the testing process in your company?)
Answer: The QA testing process that was followed in my last company where I worked was as follows:
First of all the Business Requirement Document was prepared as per the client’s requirement (with the muck-up). Then on the basis of the requirement document, QA Team wrote Test Plans, Test Cases and Test Strategies. The developers started coding their modules (started programming). Once the developers finished coding, the Configuration Management Team compiled the code together and prepared a build. This Build is now deployed to different testing environments where different types of testing were performed. Once the defects were found, the testers would log the defect using the tools available (like TestDirecotor, ClearQuest and so on. For the companies who cannot afford these expensive tools, they can use Excel sheet as well). Once the defects are logged, then those defects would be discussed in the defect status meeting and would take further actions (meaning, closing, reopening, retesting of defects etc).
6. What is Change Control?
Answer: It is a document that describes the additional functionalities that are added after the Business Requirement Document is signed off. It can be updated in the old business requirement document or it can be a separate document. (For example, in the Business Requirement Document, on the login page, there are User Name and Password fields. The owner of the software wants to add, “If you do not have User Name and Password, please click here.” This is a change. But this change came after the document is signed off by the Project Managers. Now this is a change control and comes as a separate document. (It is also called Change Request, Modification Request).
7. Have you written Change Control?
Answer: Yes. There was a situation where in one page of an application in my previous project, when the user clicked “Contact” link, it would pop up a different window (new separate window). But it was NOT the way it was described in the requirement document. In the requirement document, when the user clicks “Contact” link, then it should navigate to another page (Not a separate new window. Then was it a problem? Functionality wise, it was NOT a problem, however, on all the other pages, when the user clicked “Contact” link, the system would navigate to next page (not a separate window). So, it was NOT CONSISTENT with the other functionalities on the other pages. Therefore, it was a consistency issue. I reported this as a bug. But the Project Manager asked me to write it as a Change Control (because it requires more budget to fix this issue) so that he can address this issue at a later time. So I wrote this as a Change Control. (However, it is NOT a job of a tester to write change control. It’s the business analyst’s job)
8. What is Backend Testing?
Answer: It is a test to check whether the data displayed in the GUI front-end matches with the particular data in the backend.
9. Have you done any Backend Testing and/or if you did, how did you do it in your last project?
Answer: Yes. I have done backend testing. When I was working in my last project, this was my scenario of backend testing:
I was working on Reports. It was the scenario of testing one application used in the bank, where a customer comes to a bank’s front desk, the bank teller is requested to open a Checking Account. The associate then asks for the personal information about the customer, which, are the primary data, such as: First Name, Last Name, Date of Birth, Address and Social Security Number. The associate then puts these primary data of that particular customer into the computer, which then afterwards batch-processed (normally happens in the middle of the nigh). Now, after the batch process, the information of that customer goes into the central database in the XML format. The data now from the database goes to ETL (Extract-Transform-Load). (ETL is a tool made by two companies ‘AbInitio’ and ‘Informatica’) ETL now processes the job to create a file (output file) to produce the report. The file is now displayed in the GUI Front End report with the help of Business Object (or Crystal Reports. These are tools that display data in GUI format). In the GUI Front End report, let us say, if for January, the deposit of that person was displayed as $ 900.00. Then my job was to validate whether this $900 is correct or not. I validated this data by writing SQL queries directly to the database. The data pulled from my SQL query should match to the data in the GUI front end. In other words, my SQL query should also display $900. If it matches, it is well and good. If it doesn’t, then it’s a bug. This is how I have done my Back End Testing.
How can you be sure that the query you wrote is correct? Or how do you know that the data you pulled from the database is correct?
Answer: I write SQL query based on the requirement document. In the requirement document, various conditions are given for the query. Based on those conditions, I write SQL query. Therefore, anything different from the requirement document is definitely a defect.
10. From your resume, I see that you have been working in one place for a very short period of time. This raises me questions why. Can you explain why?
Answer: As a consultant, I am hired for a certain period of time (for project duration only), normally for 6 months to 1 year. Once the project is over, I needed to move to another project. That’s why you see me in the resume jumping frequently here and there.
11. What is done on the first day of the work?
Answer: On the first day, the Manager will come to receive at the lobby. He/she will welcome you; tell where you will be sitting. The next thing will be will show you login name and password and they want to make sure that the login name and password works so that you can use your computer. Then the Manager will tell you where the documents are located in the network drive (or shared drive, or ClearCase, or Sharepoint—different companies use different software for this purpose). Once you find the documents, then you will ask them what you will be working on what are the related documents that you should read. You start reading the documents, which lasts normally one week or more.
12. What do you do on the job every day? What is the first thing you go when you go to work on a day? (What is your routine job?)
Answer: Go to work, have a cup of coffee (coffee is free in any work place), then check emails. I will check in my calendar whether there is any meeting for the day. If there is anything urgent work that needs to take care of, then I will start with that job. Otherwise, I will start what is left from yesterday on a priority basis.
(This question was asked to one of my friends while he was attending interview in one of the companies. When they asked him this question, his answer was, he said, “I start testing”. This was his wrong answer. The answer varies in which phase of testing the application is. If the application is in very beginning state-meaning that the coding has just begun, then the tester’s job will be to analyze and read the requirement documents, write test plans and write test cases. Probably attend walkthrough meeting and so on. However, the daily routine job would be, as mentioned above, check emails, read documents, attend meeting and so on. It’s not that as soon as you enter the office, you start testing)
13. What do you do if you have any questions to ask? Who do you ask?
At the beginning, we all panic, what kind of questions to ask? What if they ask questions that I don’t know? Is it OK to ask questions? What do I do if I don’t know how to do the job I am assigned to? and so on.
Answer: As mentioned earlier, on the first day, your Manager will give you the system (computer) (They normally call system, not computer), will tell you what the User ID and Password is, where are the QA documents on the shared drive (or Network drive) are and so on. They will definitely ask you to read a lot of documents at the beginning (And you must read read and read those documents AS MUCH AS POSSIBLE. At the beginning, allocate about 2 hours extra at home for reading these documents. This habit will put you on the top of your job). These documents are normally design specification document (DSD). Different companies call it with different names, for example, Requirement Specification Document (RSD) and so on. After reading the documents, you will be asked to write Test Plans or Test Cases (Don’t panic. The Test Plans and Test Cases templates will be give by your manager or test lead and they will tell you what to do and how to do because different companies have different formats they follow. If they don’t have one, then you can always prepare a sample from this website (see on the right column) and give it to them. You will be hero)
Who do you ask?
Now let’s say you did not understand something while reading documents. Who are you going to ask? Answer-Business Analysts who wrote this document. If you have any other questions that you don’t know, you will be asking that to you friend first, if he/she is not able to answer, then ask this question to the Lead (or Manager). Do not ask too many questions (some people get irritated). Therefore, it is important to read read and read. That’s the only way to succeed.
If you have any questions in TestDirector, or QTP or any other automation tools, then there is a HELP menu as well as tutorial. Please go through these, read them before you ask any questions to anyone else.
What kind of questions should I ask in the meeting?
Nothing. My advice is, keep your mouth shut. Just listen. This is the best way to handle the job until you are confident enough to speak and you know what you are talking about. If they ask you some questions, then reply gently, wisely.
How to deal with your team members?
Most probably, you will not be the only tester in the team. There will be more than you. Sometimes, dealing with you team members is frustrating, especially when you are new. They try to ignore you. They want to show themselves smart. Don’t worry. Don’t blame them. This part of the human nature. Try to cope with it. Invite them when you go for coffee (in the coffee room in your office, don’t go outside), try to share your feelings and so on. It is all how you handle your friends. It is part of your daily activities, handle it gently. This is part of the situation I have gone through, my friends have gone through. I am just sharing this with you.
14. Have you used automation tools?
(Normally, when someone asks this question, we tend to think about automation functional testing tools, like WinRunner, LoadRunner, QTP (Quick Test Pro), Rational Robot, Experian and so on. But the reality is, even a Manual Tester also uses automation tools like bug tracking tools like TestDirector, ClearQuest, PVC Tracker and so on. Therefore, your answer should be Yes)
Answer: Yes. I have used TestDirector and ClearQuest as defect tracking tools. (Your answer is based on whether you have used automation tools specially for functional and load testing. If you have NOT used, but read about these tools, then you may be better off saying, “I know about the tools. I was involved in some of the testing using these tools, but would need some brush up in order to work independently.” I am saying this because these tools are difficult to tackle in the interview and have to know in depth. In order to pass the interview on functional automation tools, it may not be easy unless you really know the stuff. But, since there is not much to learn in ClearQuest and TestDirector, you only have to know what different types of fields are there in the defect logging window when writing a defect.)
15. When you log a defect using TestDirector (or ClearQuest) what fields do you see?
Answer: When we log a defect, we see Defect ID (it shows later in TestDirector), Summary (where we write short description of the defect), Description (long description of the defect), Detected by (Person who found the defect, (it’s you), Severity (meaning-is the defect critical? High? Medium? Or Low?), Date, Detected in Version, Priority, Project, Status, Assigned to and so on.