Testing Interview Questions and Answers ?
Testing Interview Questions and Answers ?
Interview Question
Ans : You can test the software in many different ways. Some types of
testing are conducted by software developers and some by specialized
quality assurance staff.
©Topperworld
Type Description
©Topperworld
Type Description
©Topperworld
©Topperworld
that the software will produce the right output in all cases. Taking the
software through every test case will cost more, take more effort, etc.,
which makes it impractical.
➢ Defect clustering: The majority of defects are typically found in a
small number of modules in a project. According to the Pareto
Principle, 80% of software defects arise from 20% of modules.
➢ Pesticide Paradox: It is impossible to find new bugs by re-running the
same test cases over and over again. Thus, updating or adding new
test cases is necessary in order to find new bugs.
➢ Early testing: Early testing is crucial to finding the defect in the
software. In the early stages of SDLC, defects will be detected more
easily and at a lower cost. Software testing should start at the initial
phase of software development, which is the requirement analysis
phase.
➢ Testing is context-dependent: The testing approach varies
depending on the software development context. Software needs to
be tested differently depending on its type. For instance, an ed-tech
site is tested differently than an Android app.
©Topperworld
©Topperworld
Regression testing helps ensure that the new code or modifications to the
existing code don't break the present behaviour. It allows the tester to verify
that the new code plays well with the legacy code.
Ans : Imagine a tourist in a foreign city. There are two ways in which they
can explore the city.
With the first approach, the tourist follows a predetermined plan and
executes it. Though they may visit famous spots, they might miss out on
hidden, more exciting places in the city. With the second approach, the
tourist wanders around the city and might encounter strange and exotic
places that the itinerary would have missed.
A tester is similar to a tourist when they are testing software. They can
follow a strict set of test cases and test the software according to them, with
the provided inputs and outputs, or they can explore the software.
©Topperworld
©Topperworld
When a tester doesn't use the test scripts or a predefined test plan and
randomly tests the software, it is called exploratory testing. As the name
suggests, the tester is exploring the software as an end-user would. It's a
form of black-box testing.
Ans : End to End testing is the process of testing a software system from
start to finish. The tester tests the software just like an end-user would. For
example, to test a desktop software, the tester would install the software as
the user would, open it, use the application as intended, and verify the
behavior. Same for a web application.
©Topperworld
©Topperworld
Ans : Unit testing is the process of testing a single unit of code in an isolated
manner. The unit of code can be a method, a class, or a module. Unit testing
aims to focus on the smallest building blocks of code to get confidence to
combine them later to produce fully functioning software.
A unit test invokes the code and verifies the result with the expected result.
If the expected and actual outcomes match, then the unit test passes.
Otherwise, it fails.
Q 8. What is an API?
©Topperworld
When building software, developers rarely write software from scratch and
make use of other third-party libraries. An API allows two software
components to talk to each other by providing an interface that they can
understand.
Whenever a new build of the software is released, the tester updates the test
environment with the latest build and runs the regression tests suite. Once it
passes, the tester moves on to testing new functionality.
©Topperworld
©Topperworld
Ans : When software is being tested, the code coverage measures how much
of the program's source code is covered by the test plan. Code coverage
testing runs in parallel with actual product testing.
Using the code coverage tool, you can monitor the execution of statements
in your source code. A complete report of the pending statements, along
with the coverage percentage, is provided at the end of the final testing.
Ans :
©Topperworld
©Topperworld
Q 14. Explain test scenarios, test scripts, and test cases in software
testing.
➢ Test Case: Test Cases are a series of actions executed during software
development to verify a particular feature or function. A test case
consists of test steps, test data, preconditions, and postconditions
designed to verify a specific requirement.
➢ Test Scenario: Usually, a test scenario consists of a set of test cases
covering the end-to-end functionality of a software application. A test
scenario provides a high-level overview of what needs to be tested.
➢ Test Scripts: When it comes to software testing, a test script refers to
the set of instructions that will be followed in order to verify that the
system under test performs as expected. The document outlines each
step to be taken and the expected results.
©Topperworld
©Topperworld
6
Ans : A software bug is an error in the software that produces wrong results.
A software tester tests the software to find bugs in it.
There are many causes for the bugs—for example, poor design, sloppy
programming, lack of version control, or miscommunication. Throughout
development, developers introduce hundreds or thousands of bugs in the
system. The goal of the tester is to uncover those bugs.
You can find a bug in many different ways, regardless of your role. When
building the software, the software developer might notice the bug in
another module, written by another developer or by themselves. The tester
actively tries to find the bugs as part of a routine testing process. Finally, the
users could see the bugs when the software is in production.
All bugs, no matter how they are found, are recorded into a bug-tracking
system. A triage team triages the bugs and assigns a priority to the bug, and
assigns the bug to a software developer to fix it. Once the developer
resolves the problem, they check in the code and mark that bug as ready for
testing. Once a bug is ready for testing, it goes to the tester, who tests the
software to verify if it’s indeed fixed. If it is, then it’s closed. If not, they
assign it to the same developer with a description of the exact steps to
reproduce the bug. Some examples of popular bug-tracking systems include
BugZilla, FogBugz, etc.
©Topperworld
©Topperworld
Bugs Errors
Software bugs are defects, which Errors in code are caused by problems
occur when the software or an with the code, which means that the
application does not work as developer could have misunderstood
intended. A bug occurs when there is the requirement or the requirement was
a coding error, which causes the not defined correctly, leading to a
program to malfunction. mistake.
The software is detected before it is The error occurs when the code is
deployed in production. unable to be compiled.
©Topperworld
Q 18. What is a Test Report? What does it include?
It helps us to decide whether the product is ready for release or not. It also
helps us determine the current status of the project and the quality of the
product. A test report must include the following details:
⚫ Test Objective
⚫ Project Information
⚫ Defect
⚫ Test Summary
Ans : Test deliverables, also known as test artifacts, are basically a list of all
of the documents, tools, and other components that are given to the
stakeholders of a software project during the SDLC. Test deliverables are
maintained and developed in support of the test. At every phase of SDLC,
there are different deliverables as given below:
©Topperworld
©Topperworld
⚫ Test Scripts
⚫ Simulators.
⚫ Test Data
⚫ Test Traceability Matrix
⚫ Error logs and execution logs
⚫ Test Results/reports
⚫ Defect Report
⚫ Installation/ Test procedures guidelines
⚫ Release notes
©Topperworld
©Topperworld
⚫ Poor Scheduling
⚫ Underestimating
⚫ Ignoring small issues
⚫ Not following the exact process
⚫ Improper resource allocation
Ans : All software has a target user. A user story describes the user's
motivations and what they are trying to accomplish by using the software.
Finally, it shows how the user uses the application. It ignores the design and
implementation details.
A user story aims to focus on the value provided to the end-user instead of
the exact inputs they might enter and the expected output.
In a user story, the tester creates user personas with real names and
characteristics and tries to simulate a real-life interaction with the software.
A user story often helps fish out hidden problems that are often not revealed
by more formal testing processes.
Ans :
©Topperworld
2) Protractor: An end-to-end test framework for Angular and AngularJS
applications. Protractor runs tests against your application running in a
real browser, interacting with it as a user would.
3) Cypress: A modern front-end testing tool built for the modern web.
Though it’s similar to Selenium and Protractor, it’s architecturally
different from them.
4) Jasmine: This is an open-source JavaScript testing framework that
allows you to write behaviour-driven tests.
5) JUnit and NUnit: These are unit testing frameworks for Java and C#
programming languages, respectively.
Ans : A/B testing is the process of testing two or more different versions of
your software with users to assess which performs better. It is a low-risk
way of testing variations of a new or existing functionality.
You can choose a part of your users to use feature A. The other group uses
feature B. Then user feedback and response are evaluated using statistical
testing to decide the final version of the feature.
©Topperworld
©Topperworld
Ans : The term defect refers to a system error that prevents the intended
action from being accomplished. Testing is most important when it comes to
finding defects. Testing needs to begin early in the development process
since defects can be found throughout. As shown in the following figure,
defects are divided into three main categories:
©Topperworld
Q 26. What is spice in software testing?
Ans :
➢ Latent Defect: Latent defects are defects that exist but have not yet
been invoked because the conditions required to invoke them have not
been met. As a systematic flaw, it encompasses the entire production
process of the software, including all pre-production testing and
extended testing. When users perform a particular task in an unusual
or rare situation or without the presence of usual scenarios, latent
defects are revealed.
➢ Masked Defect: These are the defects that have not yet resulted in a
failure since another defect hides that portion of the code from being
executed. It can only be discovered when the defect hiding it is
exposed by the user through a specific operation. There are defects
that are hidden or marked by another defect and remain hidden until
the other defect is detected.
©Topperworld
©Topperworld
Ans : The term 'sanity testing' refers to a subset of regression testing. The
sanity testing ensures that the changes made to the code do not adversely
affect the system's performance. After the software build is received, a
sanity test is conducted to ensure that the changes made to the code are
working correctly. As a checkpoint, this testing is used to determine whether
the build can proceed with further testing. Sanity testing focuses on
validating the functionality of the application rather than detailed testing.
Features
©Topperworld
Q 30. Is it possible to skip a method or a code block in TestNG?
Ans : Yes, you can skip a particular test method or code by setting the
'enabled' parameter to ‘false’ in test annotations.
@Test(enabled = false).
BVA includes values at the boundaries in the test cases. If the input falls
within the boundary range, then the test is positive; if it falls outside, then it
is negative. There are several types of values, including maximum or
minimum, inside or outside edge, and typical or error values.
©Topperworld
©Topperworld
Finally, the testers conduct the testing at the end of the software
development life cycle once the complete software system is built.
©Topperworld
The testers test it and get customer feedback, which drives future
development.
An extensive test that finds hundreds of errors doesn’t imply that it has
discovered them all. There could be many more errors that the test might
have missed. The absence of errors doesn’t mean there are no errors, and
the software is perfect. It could easily mean ineffective or incomplete tests.
To prove that a program works, you’d have to test all possible inputs and
their combinations.
©Topperworld
©Topperworld
your best strategy as a tester is to pick the test cases that are most likely to
find errors. Testing is sufficient when you have enough confidence to release
the software and assume it will work as expected.
Ans : Developers make poor testers. Here are some reasons why:
⚫ They try to test the code to make sure that it works, rather than
testing all the ways in which it doesn't work.
⚫ Since they wrote it themselves, developers tend to be very optimistic
about the software and don't have the correct attitude needed for
testing: to break software.
⚫ Developers skip the more sophisticated tests that an experienced
tester would perform to break the software. They follow the happy
path to execute the code from start to finish with proper inputs, often
not enough to get the confidence to ship software in production.
However, it doesn't mean that developers shouldn't test the software before
sending it to the tester. Developer testing helps find many bugs that are
caused by programming errors. These are hard to find for a tester because
they don't always have access to the source code.
©Topperworld
©Topperworld
Ans : Similar to software development, testing has its life cycle. During the
testing, a tester goes through the following activities.
©Topperworld
©Topperworld
©Topperworld
©Topperworld
Ans : During testing, a tester records their observations, findings, and other
information useful to the developers or the management. All this data
belongs to a test record, also called a bug report.
©Topperworld
Here are a few bits of information that a good bug report should contain.
Field Description
Title
A short headline that summarizes the problem. It shouldn’t be
too long but just to give just the right information to the reader.
It should be specific and accurate.
Description The description should answer all the questions that are not
explained by the title. It contains a detailed summary of the bug,
its severity, and impact, steps to reproduce, expected results vs.
the actual output.
Version
A lot of time can be wasted in trying to reproduce a bug in the
wrong version of the product. Knowing the exact product
version or the build number on which this bug was found is very
useful to the developer in reproducing the bug.
Status
At any point, a bug can be either ‘Active’, ‘Ready for
Testing’, or ‘Closed’. A bug becomes active when it is
found, is ready for testing once the developer fixes it. A tester
can mark it closed if the developer fixed it, or active if not.
Steps to
Reproduce Though the steps to reproduce the problem can be provided in
the description, sometimes having a distinct field force the
tester to think about them. They include each step one must
take to successfully reproduce the problem.
Assigned To
Name of the developer or the tester to whom this bug is
assigned.
©Topperworld
©Topperworld
Field Description
Resolution
When a developer fixes the bug, they should include the cause
for the bug and its resolution. It helps the team in the future
when a similar bug resurfaces.
Here are some of the metrics derived from a record of the tests and failures:
©Topperworld
ABOUT US
➢ Our Vision
❖ Our vision is to create a world where every college student can easily
access high-quality educational content, connect with peers, and achieve
their academic goals.
❖ We believe that education should be accessible, affordable, and engaging,
and that's exactly what we strive to offer through our platform.
❖ Education is not just about textbooks and lectures; it's also about forming
connections and growing together.
©Topperworld
❖ TopperWorld encourages you to engage with your fellow students, ask
questions, and share your knowledge.
❖ We believe that collaborative learning is the key to academic success.
©Topperworld
“Unlock Your
Potential”
With- Topper World
Explore More
topperworld.in
Follow Us On
E-mail
[email protected]