If you are attending an interview, you have to know these questions an d answers by heart must be very fluent in answering these questions. Practice in front of the mirror, loud an d clear (talk to yourself). Most of the time, when we read the questions, we feel good an d feel comfortable, but the reality is, at the time of the interview, even though we feel we have the knowledge, can’t express it well. It may sound a little rough, but this is my experience. When we come out the door, we regret.
HERE ARE THE QUESTIONS:
1. Can you tell me about yourself?
Answer: In my QA career, I have been working on various system platforms an d operating systems like Windows 95, Windows 2000, Windows XP an d UNIX. I have tested applications developed in Java, C++, Visual Basic an d so on. I have tested Web-based applications as well as client server applications.
As a QA person, I have written Test Plans, Test Cases, attended walkthrough meetings with the Business Analysts, Project Managers, Business Managers an d QA Leads. I have attended requirement review meetings an d provided feedback to the Business Analysts. I have worked in different databases like Oracle an d DB2, wrote SQL queries to retrieve data from the database. As far as different types of testing are concerned, I have performed Smoke Testing, Functional Testing, Backend Testing, Black Box Testing, Integration Testing, Regression Testing an d UAT (User Acceptance Testing) Testing. I have participated in Load Testing an d Stress Testing.
I have written defects as they are found using ClearQuest an d TestDirector. Once the defects were fixed, retested them an d if the passed, closed them. If the defects were not fixed, then reopened them. I have also attended the defect assessment meetings as necessary.
In the meantime, a continuous interaction with developers was necessary.
This is pretty much what I have been doing as a QA person.
2. What did you do in your last project?
Answer: In my last project, the application was a web-based application developed in Java platform. As a QA Person, I wrote Test Plans from the requirement documents an d Use Cases. I performed Smoke Testing, Functional Testing, Backend Testing, Black Box Testing, Integration Testing, Regression Testing an d UAT (User Acceptance Testing). I have participated in Load Testing an d Stress Testing. I attended several walkthrough meetings for requirement reviews an d provided feedback to the Business Analysts. Mostly, I was in the backend testing, which required writing SQL queries directly to the database.
Besides these, I wrote defects using ClearQuest. Once the defects were fixed, retested them an d if the passed, closed them. If the defects were not fixed, then reopened them.
3. Have you written Test Plan? What is a Test Plan? What does it include?
Answer: Yes.
What is a Test Plan?
Answer: A Test Plan is a document that describes the scope, approach, resources, an d schedule of intended testing activities. It identifies test items, the features to be tested, the testing tasks an d who will do each task (roles an d responsibilities) an d any risks an d its solutions. See how the Test Plan looks like.
What does it include?
Answer: A Test Plan includes Heading, Revision History, Table of Contents, Introduction, Scope, Approach, Overview, different types of testing that will be carried out, what software an d hardware will be required, issues, risks, assumptions an d sign off section.
4. Have you written Test Cases?
Answer: Yes.
What is a Test Case? What does it include?
Answer: A Test Case is a document that describes step-by-step process how to test the application. A Test Case includes Test Case ID, Steps Description, Expected Output, Actual Output, Pass/Fail, an d Remarks. (Remember, this is NOT a part of Test Plan. It is a separate document written using Excel. In some companies, they use Rational TestManager or TestDirector. But for companies, who do not have these tools, use Excel sheet. In t he example below, it is in the Excel sheet)
Did you use any tools to write Test Cases?
Answer: Yes. I have used TestDirector (now called QualityCenter) an d Rational TestManager to write Test Cases. However, in most of the companies, I used Excel sheet. See a sample Test Case.
How many Test Cases did you write in your last project?
Answer: I wrote about 1100 Test Cases in my last project. (The reasonable number of Test Cases varies from 500 to thousan ds. The number 1100 test cases can be completed in 6-month project duration).
What document did you refer to write the Test Cases?
Answer: Requirement document. (NOTE: It can also be Use Cases, or Design Document. It depends company to company. In some company, they use Use Cases. In some companies, they use Requirement Documents an d in companies, they use Design Document. However, in practical scenario, most of the companies have requirement document at least).
5. Did you have a situation where you did not have any documents (no requirement document, no Use Cases, or no Design Document) an d you had to write the Test Cases? How did you write the Test Cases in this situation?
Answer: Yes. I have been to that kind of scenarios several times. There were companies where they had no documents at all. In that case, I had to discuss the application scenario an d functionalities with the Business Analysts or developer. On the basis of that discussion, I prepared a document in consultation with Business Analysts an d Developers an d then started writing Plans an d Test Cases.
6. What you worked with Use Cases before?
Answer: Yes. I have written Test Cases using Use Cases.
Can you tell me what a Use Case is?
Answer: A use case is a document that describes the user action an d system response for a particular functionality. See how a Use Case looks like.
7. What is SDLC (Software Development Life Cycle)?
Answer: SDLC (Software Development Life Cycle) is the process of developing software through business needs, analysis, design, implementation an d maintenance. Software has to go through various phases before it is born which are as follows:
(i) Generating a Concept – A concept comes from the users of the software. For example, a Pizza Hut may need software to sell pizza. An Indian store may need software to sell its newly arrived movies or grocery. The owner of the company feels that he needs software that would help him in tracking his expenses an d income as well as enhance the selling process. This is how the concept is generated. The owner will specifically tell the software company what kind of software he would need. In other words, he will specify his requirements.
(ii) Requirements analysis – After the owner (user) knows his requirements, then it is given to a software team (company) who will analyze the requirement an d prepare requirement document that will explain every functionality that are needed by the owner. The requirement document will be the main document for developers, testers an d database administrators. In other words, this is the main document that will be referred by everyone. After the requirement documents, other detailed documents many be needed. For example, the architectural design which is a blueprint for the design with the necessary specifications for the hardware, software, people an d data resources.
(iii) Development: After the detailed requirement documents (some companies have design documents instead of requirement documents), the developers start writing their code (program) for their modules. On the other han d, the testers in the QA (Quality Assurance) Department start writing Test Plans (one module=1 test plan), test cases an d get ready for testing.
(iv) Testing: Once the code (programs) are ready, they are compiled together an d to make a build. This build is now tested by the software testers (QA Testers)
(v) Production: After testing, the application (software) goes into production (meaning, it will be han ded over to the owner).
(vi) End: And one day, the owner will have say bye to the software either because the business grows an d this software does not meet the deman d or for some reason, the he does not need the software. That’s the end of it.
8. What is Business Requirement Document (BRD)?
Answer: It is a document that describes the details of the application functionalities which is required by the user. This document is written by the Business Analysts.
9. What is Business Design Document?
Answer: It is the document that describes the application functionalities of the user in detail. This document has the further details of the Business Requirement Document. This is a very crucial step in Software Development Life Cycle (SDLC). Sometimes the Business Requirement Document an d Business Design Document can be lumped together to make only one Business Requirement Document.
10. What is a Module?
Answer: A ‘Module’ is a software component that has a specific task. It can be a ‘link’, which can go inside to its component detail. (This is NOT a very common question for the interview. This is just for your knowledge, if you don’t know what a module is.)
11. What is walk-through meeting?
Answer: Once the Business Analysts complete the requirement document, they call a meeting to explain how the functionalities work, what the process is in the designed application an d other details. The Business Analysts explain the high level functionalities of the application (software) that is going to the built. The participant members in the meeting may provide feed back an d various point of views are expressed. This is walk-through meeting.
12. What is a Use Case an d what does it include?
Answer: A Use Case is a document that describes the user action an d system response for a particular functionality. It includes cover page, Revision History, Table of Contents, Flow of Events (normal flow an d alternative flow), Exceptions, Special Requirements, Pre-conditions an d Post-conditions. See how a Use Case looks like.
13. What is Build?
Answer: When each of the different modules of software is prepared, the Configuration Management Team (CMT) puts them in a single folder an d it is called the ‘Build’. . (This is NOT a very common question for the interview. This is just for your knowledge, if you don’t know what a build is.) See how the build is prepared.
14. What does the Build Deployment mean?
Answer: When the Build so prepared by the CMT (Configuration Management Team), it is deployed (put) to different Test Environments; it is called the Build Deployment.
15. What is Test Strategy?
Answer: A Test Strategy is a document that describes the test efforts, test configuration, testing tools to be employed, test environments, exit criteria an d entry criteria for testing, what different types of testing will be carried out (for example, smoke test, regression, load test, functional test an d so on) types of testing to be carried out an d system requirement. The Test Manager or Lead writes it. (Remember, the Tester does NOT write Test Strategy. A Tester writes Test Plans an d Test Cases) See how a Test Strategy looks like.
16. Are Test Plan an d Test Strategy same type of documents?
Answer: No, they are different documents. A Test Plan is a document that collects an d organizes test cases by functional areas an d/or types of testing in a form that can be presented to the other teams an d/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 an d ensure test coverage while improving the efficiency of the testing effort.
17. 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 an d schedule for test activities, acceptance criteria, test environment, test tools, test priorities, test planning, executing a test pass an d types of test to be performed.
18. What are different types of software testing an d 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 an d Unit testing (which are respectively done by the CMT (Configuration Management Team) an d 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 an d 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 shake out 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) an d 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 an d 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 an d 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 an d 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 an d 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 an d 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 withstan d.
What is User acceptance testing (UAT)? In this type of testing, the software is han ded over to the user in order to find out if the software meets the user expectations an d 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 an d 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 an d analyzed.)
What is White box testing? It is a test where a tester looks into the code an d 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 an d the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted an d rectified by the developers.
What is Beta testing? In this type of testing, the software is distributed as a beta version to the users an d 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.
19. What is the difference between Load Testing an d Performance Testing?
Answer: Basically Load, Stress an d 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.
20. 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 an d Test Strategies. The developers started coding their modules (started programming). Once the developers finished coding, the Configuration Management Team compiled the code together an d 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 an d 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 an d would take further actions (meaning, closing, reopening, retesting of defects etc).
21. 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 an d Password fields. The owner of the software wants to add, “If you do not have User Name an d 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 an d comes as a separate document. (It is also called Change Request, Modification Request).
22. 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)
23. 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.
24. Have you done any Backend Testing an d/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 an d 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’ an d ‘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