0% found this document useful (0 votes)
30 views

Testing Interview Questions

The document discusses various software testing concepts and best practices. It provides answers to 21 questions related to testing documents, test plans, common bugs, purposes of testing, roles of testers and managers, defining quality, differences between validation and verification, elements of a good test process, when to use FMEA, what SDLC is, requirements specifications, differences between quality management and project management, QA experiences, bringing quality changes in adverse environments, need for test automation, and incorporating effective phase containment in a project development cycle.

Uploaded by

Rahulk_rana
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Testing Interview Questions

The document discusses various software testing concepts and best practices. It provides answers to 21 questions related to testing documents, test plans, common bugs, purposes of testing, roles of testers and managers, defining quality, differences between validation and verification, elements of a good test process, when to use FMEA, what SDLC is, requirements specifications, differences between quality management and project management, QA experiences, bringing quality changes in adverse environments, need for test automation, and incorporating effective phase containment in a project development cycle.

Uploaded by

Rahulk_rana
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Below are the set1 of many testing interview questions and answers that we have in this website.

1. While at the stages of QA, QC and other testing phases what are the main documents that are referred?

The Quality related testing and testing phase in general requires each and every aspect of the project from customer specifications
to developer designs. So the documents that are used can be summed up as:

ñ  SRS & Business requirements doc.

ñ  Functional/Technical documentation that was initially prepared.

ñ  Documents pertaining to the various modules – used for White Box testing.

ñ  Use case & other representative documents for program flow.

ñ  Test plan and other test case/script related documents.

2. How should the test plan be drafted?

The test plan and its specification depends on the methodology adopted for development and testing of the project. But speaking
on a top most level, the test plan should consist of all the different types of tests that have to be carried out to give the best
assessment of the product. The compliance, production phase tests, regression test methods/scripts requirement, usability test,
verification and validation criteria related tests should all be put into the test plan that is prepared.

3. What kinds of bugs usually occur and are identified in initial tests?

The major bugs that come up during the tests are the memory related issues in the software and these come up in the initial load
testing or regression testing. There may be a minute error somewhere in the product which can lead to a very intensive impact on
the overall application. These are the bugs that can also be easily identified and rectified. Tests should be carefully drafted to
identify such memory related errors.

4. What is the purpose of software testing?

The software testing is the phase that gives us the overall picture as to the quality of the product and the performance related
aspects of the program. The software testing phase is the one by which the developers can make sure that what is built is
conforming to the customer’s requirement (verification) and that everything is working as expected and intended to (validation).

5. What are the pros and cons of being a Tester?

The software testing can be done only if you have a overall understanding regarding the project. This way software tester gains
immense knowledge regarding the software, from the customer and the user perspective, which even the developer may not have
in some cases. The cons are overcome by the pros of the job, so I think it is good thing to be involved in the software testing.
Opportunities for learning and improvement are many in this field of software testing.

6. How can you define Quality Assurance?

The Quality Assurance refers to the phase of the project development where we examine the product and put into a sequence of
various tests to determine if the product is fit for the specified purpose. The QA aims at attaining a specific quality level to the
overall product. This cannot assure it but can maximize the quality attainable in the product by doing the right corrections to the
final developed product.

7. How can you demarcate the QA line against the general testing?

The QA refers to the testing process that is aimed at giving the right perspective of the product from the high level of perspective,
thereby determining the quality of the product from the eyes of the customer and the user. The Software testing is a more generic
term used to refer any type of test that we do over a product to detect any type of error in the software. Thus the quality assurance
can be seen as a specialized version of software testing, which again can be considered a part of software testing domain.

8. How can effectively scope out or organize a test project and execute it?

The test project has to be executed in a sequence that narrows it to the very specific reason for which it is run. The identification
of the goal that pertains to each test project can help us in doing this. The test project can then be planned in modules or just into
a single large batch execution which can identify the specific bug or error in the product that is under discussion. The
organization of the test project can happen only if there is a right understanding in every team member as to what his
responsibility in the test is.

9. How can a role of QA be utilized efficiently in a development project

The QA has to be effective and efficient in avoiding the bugs in the project. The test plan to detect conformance variation,
deviation of the functionality has to be dictated and run by the QA periodically over the product at various stages of development.
He has to make sure the project is heading in the right direction at various points of development.

10. What is the ideal character that you expect from a manager?

The manager has to have the right mix of technical knowledge and the management skills. This can help him in understanding the
use of the tests. The QA, QC and testing can be of great value to the project and the manager should be one who provides as
much importance to testing stages as is given for development.

11. How can you define quality in a software product?

The quality refers to the conformance to the customer requirements in the most efficient way possible. The conformance should
not be implicating some other side effect in some other perspective of the project. It should just be FIT to be used effectively.

12. How is validation different from verification?

Simply put, the validation is the process of determining if the things are done the right way and the verification is the process of
determining is the right things are done as per specification.

13. What are the things that are to be present in a good test process?

A good a valid test process should contain various aspects of testing and attributes that are configurable from the tester. The
effect of each of the test cases should be clearly shown by the test process with a clear outlook given to the results as to which
test conforms to which case of testing. The understanding of the results should be clearly brought out. These when done can give
a good test process. If you are going to better it, then the test process can also specify the possible causes of the error that has
occurred.

14. When can FMEA be of help to developers?

The Failure Mode and Effect Analysis is most effective when we are dealing with software products that have similarity to the
previously developed applications. The experience of the developers/team other members in similar products can come in handy.
The similarity of usage specifics and the structure of the design when identified implies we can have the FMEA oriented testing.

15. What is SDLC?

The Software Development Life Cycle refers to the overall development cycle of the software from the eyes of the System
Analyst. The various stages of the development right from the requirements gathering to the final delivery after testing are
included in the SDLC. The SDLC can further be defined as specific methodology that is incorporated as the way to proceed in
the development of a specific software product.

16. What should a perfect requirement specification contain?


A good requirement should give a clear business logic requirement, technical requirement for the product and rightly correlate
each of those. The process requirements from the client are auxiliary but can be of immense help in coordinating the activities of
developments with the customer side testing.

17. How is management of Quality in a project different from management of total project?

QA management comes into picture at the times of testing, the main aim is to verify the project is heading the right way. The
project manager on the other hand manages the entire work flow and development flow in the project life cycle. There are also
other aspects of the project like customer side interactions, business logic definitions etc. The project manager is one who
manages the work done and the QA manager is one who oversees the work done for quality maintenance throughout, whether
work done is right.

18. Share some of your QA experiences.

I was involved in the testing of the product that was for a project that had to support at least 30 items in the input criteria. The
quality was measured as the number supported by the system. The test script was developed to simulate 20 or more input items.
The testing on the periodic basis helped the developers to go in the right track and develop the various aspects of the product
without affecting the number of items supported.

19. How can you bring about quality changes in adverse environments?

The quality changes in environments which are very static and not adaptable have to be done very carefully. Sometimes the
quality changes may require change from the base in adverse environments, so spending good amount of time in designing the
right architecture depending on the environment right from the start is essential when we are not sure about the adaptive nature of
the environment or user.

20. Is test automation a required thing at all?

The tests in many cases are not a single execution of the program and there are always many cases to be tested. The immense
number can be overwhelmingly high to think of manual testing. So in such a case the automation of testing with test scripts is the
right way and the only possible way to go, considering the value of resources and man hours. This can be considered the smart
way of working and most often this proves to be effective and efficient.

21. How can we have a effective phase containment concept incorporated into the project development cycle?

The testing should be done in parallel along with development over the various stages of deliverable. This way the errors are not
propagating across the various phases of the project. This phase containment mechanism can result in avoiding defects in the
final product that is being created. The more methodical and frequent we have the testing and workable product across the
timeline the more effective the phase containment will be.

22. What are the various testing mechanisms you have done in your experience?

The regression, load tests and the module wise testing was done by me in the previous project that I was involved in. The
regression testing gave the exact errors that were found in the application along with the appropriate test cases that have failed.
The load testing was more of a stability test over the application and was to prove the quality of the product in terms of
performance and stability to the customer. Both of them were automated and run at various stages of development.

23. How will you start with a new project, assuming you are put into a new team that is embarking on a new development
project?

The first week will be purely dedicated to gaining of knowledge relating to the various technologies, methodologies used in the
project. After this will be the phase where I will involve myself in getting to know more about the project that is being developed.
The use cases, purpose of the project will be the start point and the modularity and design architecture will be analyzed by me
and peer reviews and interactions with the team regarding the phases of testing and development will get me into the project
completely. After this the planning and execution of the test plan will help me ensure the project is going as expected from every
aspect of view.
24. How will you go about developing a test plan for a project?

That more often depends on the methodology used. Say, for example if there is RPD based development the test plan will be
more interactive with the development plan. The modularity of the project, in every methodology has to be brought out in the test
plan, so that the testing can recognize the potential areas of integration related weaknesses. The test plan also should impose upon
the team members appropriate responsibilities so that each have their own perspective of delivery clear when it comes to test
cases.

25. How do you expect a Software testing environment to be?

A Software testing environment should be very adaptable and should be configurable to simulate any kind of situation for the
product under test. The exhaustiveness of the testing is directly related to the configurable aspect of the environment.

26. Do you have any prior experience in writing test cases? How did you proceed writing them?

Yes, I do have experience in writing test cases for the testing purposes of the project. The test cases should have a clear input
category and output category. The inputs should be pertaining to the test’s aim. The output should automatically be scanned for
correctness for deciding the failure/success demarcation. The test case also conforms to specific requirement from the client side
or atleast a part of it. To ensure the correctness and validity of the output, we should be having the right idea of the customer
expectation. Once we have the sufficient knowledge in the above aspects, we can have the best test case with apt goal to satisfy
from the customer’s standpoint.

I am sure that these above testing interview questions are useful for the testing job seekers. Please comment your valuable
opinion so that we will improve our website as required.

27. Diff between Load Testing and Stress Testing?

Testing the application with a load that application supposed to sustain as per the SRS. Here we check the performance of the
application at different load levels and is acceptable or not.

Stress testing is, keeping the application under heavy loads than expected maximum loads in peak hours and checking how it
affects application. This is generally done to do "failure recovery" testing.

Load Testing

How well will my Web site handle the number of visitors I anticipate? Load testing is designed to verify that your site
can handle the load (number of simultaneous users) you expect. The concept is simple. If you think your site will
need to accommodate a certain number of simultaneous users, for instance 200 people buying the same widget at
the same time using your secure credit card servers, then you would want to test for that load before putting your site
into production. Actually generating a real-world load to test your site gets fairly complicated though. Each of those
200 visitors will access your site with different browsers and different versions of the same browser. They will use
different machines, with different platforms. Their connections will range from 28k modem dial up to high-bandwidth
data lines. Each variation that makes up the world of unique users who will visit your site has a different effect on its
ability to handle the load.
At Performance Labs, we've put a lot of effort and technical innovation into being able to create real-world user loads
that take into account the complexity and latency of the Internet. When we load test your site with our proven tools
and methodology, you will get results you can count on, because the last thing that should create a problem with your
site is an expected load.
testing an application under heavy loads, such as testing of a web site under a range of loads to determine at
what point the system's response time degrades or fails.
Load Tests determine the applications behavior under load, up to and including its limits (not just at its limits). Load
tests specifically refer to the load size (number of concurrent users) and related values.

Load testing identifies the volume of traffic accessing a particular application. It measures the number of
simultaneous users that can successfully access the application. Load testing determines an optimum number of
simultaneous users. The simplest form of load testing of allow users to logon simultaneously and navigate through
the application and monitor the results. A more complex form of load testing can be performed by using an automated
test tool such as LoadRunner by Mercury Interactive or QALoad by Compuware.
Stress testing

The aim of load/stress testing is to find how your web service scales as the number of clients accessing it increases.
You have carried out functional and regression testing, so you know that your web service will cope with a single
user. What you need to know now is if it will cope with 10, 100 or 1,000 users, or how many users it will cope with. If
you double the number of users, do response times stay the same? If you double the number of servers running your
web service, does its capacity double? The following section in this White Paper will go into more details about these
issues.
How many simultaneous users can my site take without slowing down significantly or crashing? Stress testing is
nothing more than applying a steadily increasing load to your site until it reaches the breaking point (when site
performance degrades to unacceptable levels). What this test tells you is how well your site will handle unexpected
loads that may come as a result of unplanned events like, changing market forces, the failure of your competitors to
fill the needs of their customers, or serendipitous national publicity.
Knowing your breaking point will tell you how much excess capacity you have and give you the opportunity to create
a scalability plan that will ensure a quick response when your site gets hit by a rapidly increasing load.
term often used interchangeably with 'load' and 'performance' testing. Also used to describe such tests as system
functional testing while under unusually heavy loads, heavy repetition of certain actions or inputs, input of large
numerical values, large complex queries to a database system, etc.

The web is one of the fastest growing technologies in the world. Companies are using web technology in the form of
Internet and intranet applications to bring products and information to customers through the comfort of their
desktops. Load and stress testing, a technique used in the client/server environment for years to verify reliable and
timely data processing, can help determine whether web applications are accessible to potential customers in both
the best and worst of times.
Typically, a client/server environment contains a client system and a server system, both of which handle a portion of
an application's processing. On the web, the client is the web browser (e.g., Microsoft Internet Explorer, Netscape
Navigator) and the server is the web server. The web server handles all the requests for URLs from the client,
processes all server-side scripts, passes data to and from a database server, and responds to the client with HTML in
the form of a web page. On more complex systems, the server environment might also include a database server, a
file server, a print server and/or any other of a number of server systems. Load and stress testing in a web
environment is most often concerned with the web server and possibly an accompanying database server.
Load and stress testing are mentioned in conjunction with each other, but are really two different types of tests. In the
client/server environment both load and stress testing emulate multiple user operations to place a load on the server.
Each user operation is a specific function performed by the system-under-test (SUT), and load is generated as
multiple users invoke this operation (or series of operations) concurrently. The difference between load and stress
testing is in what gets measured from the user load. In load testing, performance results are extracted based on the
number of users added incrementally to the SUT. In stress testing, users are added with the sole purpose of
generating server errors or even crashing the system. Simply put, load testing is used to determine how well a
system will perform in a typical (and atypical) environment; stress testing is used to determine when response times
become unacceptable or the system will break.
There are two methods for generating load on a server system. Both methods incorporate multiple users executing
"real-world" kinds of functions. The best means to measure performance in load testing is to generate a collection of
"typical" user functions (called "scenarios") performed in no particular order. Running a "typical" load creates a
system environment that is level (no dips or spikes in usage) which can be scaled (or "ramped") to measure
performance. The second of load testing performs stress measurements. This method utilizes "scenarios" to
synchronize users to execute functions simultaneously.
When talking about "users" this normally mean real people in front of real machines interacting with their browsers
(entering and extracting data through the mouse and keyboard). While there is no limit (theoretically) to the number of
users available to test a system, budget and hardware constraints will limit this test scenario to a dozen users at best.
Such limitations will simply not satisfy the needs of tests that require hundreds (even thousands) of users to apply the
proper load. To accomplish this seemingly impossible task, there are a number of test tools on the market that
automate and simulate "virtual users" (VUs) in lieu of real people
Stress testing determines the applications ability to handle large amounts of data.
Stress Testing can be much more successful with a full load applied to the server. Running addition applications on
the server in conjunction with the client side tests is an additional form of stress testing.

Stress testing usually coincides with load testing. Stress testing steadily increases the load on the system beyond the
maximum design load until the system fails or crashes.
The benefits of this type of testing are:
1. It tests the behavior of failures of the system.
2. It determines if system overload results in loss of data or service.
3. It also stresses the system and may cause certain defects to arise which may not normally be detected.
This type of testing can be performed informally by allowing a small user groups to logon simultaneously, then
allowing another small user groups to logon within a specific time period, i.e. 20 minutes later and continue with
additional user groups for a specified time period allowing the user groups will navigate through the application and
monitoring the results.

Stress / Load Testing verifies that a website can handle the designed-for number of users. Usage loads and
connection speeds are varied to determine average-load and peak-load performance and to determine the amount of
headroom. This data is critical to the web hosting and ASP vendor who needs to perform capacity planning and
provide the most cost efficient solutions to their clients

Load and stress testing are subsets of performance testing.


Performance testing means how best something performs under a given benchmark. For example How
mucn time you take to run 100 meters without carrying any load (no load is the benchmark) ?
Load testing is also performance testing but under various loads. The previous example if extended
would be How much time you took to run the same 100mts but carrying a load of 50 kilos, 100 kilos .... ?
Stress testing is performance under stress conditions. Extending the same example as before How much
time you took to run 100 meters with load or no load when a strong wind was blowing in opposite
direction ?.
Extending performance, load.. testing to s/w or h/w application.
example
PERformance : 1000 txns per minute with 1000 users concurrent
Load : How many txns when 2000, 3000, 4000 concurrent users.
Stress : How many txns when 1000, 2000, 3000 concurrent users... under conditions like server memory
very low, data transmission line poor, etc...
Performance testing is a measurement of performance characteristics, such as
response time, throughput, availability, error rate, resource utilization, under
normal working conditions.

You might also like