软件测试英文面试题
萌到你眼炸
912次浏览
2021年01月17日 01:31
最佳经验
本文由作者推荐
指导记录表-引领
Interview Questions for QA Tester
(Software Tester)
These questions and answers are totally based on the interview I
attended during my 6 years of working experience as a QA Tester. In
some sections, I have started including the interview questions that
were asked by companies to some of the candidates who visited this
website and wanted to share.
If you are attending an interview, you have to know these questions
and answers by heart must be very fluent in answering these
questions. Practice in front of the mirror, loud and clear (talk to
yourself). Most of the time, when we read the questions, we feel good
and 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 and operating systems like Windows 95, Windows 2000,
Windows XP and UNIX. I have tested applications developed in Java,
C++, Visual Basic and 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 and QA Leads. I have attended requirement
review meetings and provided feedback to the Business Analysts. I
have worked in different databases like Oracle and 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 and UAT (User Acceptance Testing) Testing. I
have participated in Load Testing and Stress Testing.
I have written defects as they are found using ClearQuest and
TestDirector. Once the defects were fixed, retested them and 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 and Use Cases. I performed
Smoke Testing, Functional Testing, Backend Testing, Black Box
Testing, Integration Testing, Regression Testing and UAT (User
Acceptance Testing). I have participated in Load Testing and Stress
Testing. I attended several walkthrough meetings for requirement
reviews and 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 and 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, and schedule of intended testing activities. It identifies test
items, the features to be tested, the testing tasks and who will do
each task (roles and responsibilities) and any risks and 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 and hardware will be
required, issues, risks, assumptions and 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, and
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) and
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 thousands. 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 and 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) and 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 and functionalities with
the Business Analysts or developer. On the basis of that discussion, I
prepared a document in consultation with Business Analysts and
Developers and then started writing Plans and 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 and
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 and 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 and 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 and 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 and 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 and data
resources.
(iii)
Developmen
t: 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 hand, the testers in the QA (Quality
Assurance) Department start writing Test Plans (one module=1 test
plan), test cases and get ready for testing.
(iv)
Testing
: Once the code (programs) are ready, they are compiled
together and 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 handed over to the owner).
(vi)
End
: And one day, the owner will have say bye to the software
either because the business grows and this software does not meet
the demand 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 and 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 and 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 and various point of
views are expressed. This is walk-through meeting.
12. What is a Use Case and what does it include?
Answer: A Use Case is a document that describes the user action and
system response for a particular functionality. It includes cover page,
Revision History, Table of Contents, Flow of Events (normal flow and
alternative flow), Exceptions, Special Requirements, Pre- conditions
and 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 and 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 and entry criteria for testing, what different types of
testing will be carried out (for example, smoke test, regression, load
test, functional test and so on) types of testing to be carried out and
system requirement. The Test Manager or Lead writes it. (Remember,
the Tester does NOT write Test Strategy. A Tester writes Test Plans
and Test Cases) See how a Test Strategy looks like.
16. 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.
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 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.
18. 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 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) 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
req
uirement 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.
19. 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.
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 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