Testing Int Questions
Testing Int Questions
1) Software testing is a validation process that confirms that a system works as per the business
requirements. It qualifies a system on various aspects such as usability, accuracy, completeness,
efficiency, etc. ANSI/IEEE 1059 is the global standard that defines the basic principles of testing.
The testing activity ends when the testing team completes the following milestones.
Test case execution - The successful completion of a full test cycle after the final bug fix marks the end
Testing deadline - The end date of the validation stage also declares the closure of the validation if no
Code Coverage(CC) ratio - It is the amount of code concealed via automated tests. If the team achieves
the intended level of code coverage (CC) ratio, then it can choose to end the validation.
Mean Time Between Failure (MTBF) rate - Mean time between failure (MTBF) refers to the average
amount of time that a device or product functions before failing. This unit of measurement includes only
operational time between failures and does not include repair times, assuming the item is repaired and
begins functioning again. MTBF figures are often used to project how likely a single unit is to fail within a
In software testing, verification is a process to confirm that product development is taking place as per the
specifications and using the standard development procedures. The process comprises the following
activities:
Inspections
Reviews
Walk-throughs
Demos
Validation is a means to confirm that the developed product doesn’t have any bugs and is working as
Functional testing
Non-functional testing
4. What is static testing? When does it start and what does it cover?
Static testing is a white-box testing technique that directs developers to verify their code with the help of a
checklist to find errors in it. Developers can start the static testing without actually finalizing the application
or program. Static testing is more cost-effective than dynamic testing as it more areas than dynamic
as per the business requirements. The software is treated as a black box and validated as per the end
A technique of software testing where the application is tested by ingesting inputs randomly. This test
does not follow any pre-defined set of rules. It is carried out to check the behavior of the application.
While Baseline testing runs a set of tests to determine the performance, Benchmark testing compares the
application performance with industry standards. Baseline testing strives to improve performance with the
help of collected information, on the other hand, benchmark testing seeks to improve application
When a tester finds a bug, the bug is assigned NEW or OPEN with status.
The bug is either assigned to Development Project Managers or is given to Bug Bounty
Program. They will check whether it is a valid defect. If not valid, the bug is rejected, and its
Now, the tester checks whether a similar defect was raised earlier. If yes, the defect is
Next, the tester will re-test the code. In case, the test case passes, the defect is CLOSED
If the test case fails again, the bug is RE-OPENED and assigned to the developer.
Software applications are made up of several elementary processes. There are two
types of elementary processes:
Dynamic elementary Process: The dynamic elementary involves the process of
moving data from one location to another. The location can be either within the
application or outside it.
Static elementary Process: It involves maintaining the data of the application.
Reliability testing
17. What will you do when a bug turns up during testing?
We can run more tests to make sure that the problem has a clear
description.
We can also run a few more tests to ensure that the same problem
doesn’t exist with different inputs.
Once we are certain of the full scope of the bug, we can add details and
report it.
Here are the two principal reasons that make it impossible to test a program
entirely.
If the required specifications are not available for a product, then a test plan can be
created based on the assumptions made about the product. But we should get all
assumptions well-documented in the test plan.
If a product is in the production stage and one of its
modules gets updated, then is it necessary to ret
It is suggested to perform a regression testing and run tests for all the other
modules as well. Finally, the QA should also carry out a system testing.
Screenshots
A previous version of the application
Wireframes
Another reliable way is to have discussions with the developer and the business
analyst. It helps in solving the doubts, and it opens a channel for bringing clarity on
the requirements. Also, the emails exchanged could be useful as a testing
reference.
Smoke testing is yet another option that would help verify the main functionality of
the application. It would reveal some very basic bugs in the application. If none of
these work, then we can just test the application from our previous experiences.
Unit testing
Smoke testing
UAT
Sanity testing
Interface testing
Integration testing
System testing
Regression testing
Software testing life cycle (STLC) proposes the test execution in a planned and
systematic manner. In the STLC model, many activities occur to improve the quality
of the product.
1. Requirement Analysis
2. Test Planning
3. Test Case Development
4. Environment Setup
5. Test Execution
6. Test Cycle Closure
Fault is a condition that makes the software fail to execute while performing the
considered function.
Priority: It specifies which bug should get fixed first. It defines the user’s point of
view.
The criticality of a bug can be low, medium, or high depending on the context.
For example, let’s say, the QA has detected 70 defects during the testing cycle and
the customer reported 20 more after the release. Then, DDP would be: 70/(70 + 20)
= 72.1%
Defect removal efficiency (DRE) is one of the testing metrics. It is an indicator of the
efficiency of the development team to fix issues before the release.
It gets measured as the ratio of defects fixed to total the number of issues
discovered.
For example, let’s say, there were 75 defects discovered during the test cycle while
62 of them got fixed by the development team at the time of measurement. The
DRE would be 62/75 = 82.6%
Defect age is the time elapsed between the day the tester discovered a defect and
the day the developer got it fixed.
The day of birth of a defect is the day it got assigned and accepted by the
development team.
The issues which got dropped are out of the scope.
Age can be both in hours or days.
The end time is the day the defect got verified and closed, not just the
day it got fixed by the development team.
Preparing for a Job Interview! Check out our blog on Selenium Interview
Questions now.
Quality Control (QC) is relevant to the quality of the product. QC not only finds the
defects but suggests improvements too. Thus, a process that is set by QA is
implemented by QC. QC is the responsibility of the testing team.
Software testing is the process of ensuring that the product which is developed by
developers meets the users’ requirements. The aim of performing testing is to find
bugs and make sure that they get fixed. Thus, it helps to maintain the quality of the
product to be delivered to the customer.
37. What is a Silk Test and why should you use it?
A unique ID
Defect description: A short description of the bug
Steps to reproduce: They include the detailed test steps to emulate the
issue. They also provide the test data and the time when the error
has occurred
Environment: Add any system settings that could help in reproducing the
issue
Module/section of the application in which the error has occurred
Severity
Screenshots
Responsible QA: This person is a point of contact in case you want to
follow-up regarding this issue
Bug leakage: Bug leakage is something, when the bug is discovered by the end
user/customer and missed by the testing team to detect while testing the software.
It is a defect that exists in the application and not detected by the tester, which is
eventually found by the customer/end user.
Bug release: A bug release is when a particular version of the software is released
with a set of known bug(s). These bugs are usually of low severity/priority. It is done
when a software company can afford the existence of bugs in the released software
but not the time/cost for fixing it in that particular version.
Test reports will help us find the current status of a project and its quality. This can help stakeholders and
customers take necessary actions. The complete documentation of test reports will help analyze different
However, this will not cause any failure to the application because the conditions will never be met.
1. What are the phases involved in Software Testing Life Cycle?
The different phases involved in the software testing life cycle are:
Test Case Development Here, detailed test cases are defined and developed.
It is the process of executing the code and comparing the expected and
Test Execution
actual results.
It involves calling out the testing team member meeting & evaluating cycle
Test Cycle Closure completion criteria based on test coverage, quality, cost, time, critical
business objectives, and software.
A defect life cycle is a process in which a defect goes through various phases
during its entire lifetime. It starts when a defect is found and ends when a defect is
closed, after ensuring it’s not reproduced.
Bug or defect life cycle includes the steps as illustrated in the below figure. If you
wish to learn in depth about Bug Life Cycle then you can refer my article
on Software Testing Tutorial.
It can vary from organization to organization and also from project to project based
on several factors like organization policy, software development model used (like
Agile, Iterative), project timelines, team structure etc.
A test case is nothing but a set of conditions or variables under which a tester will
determine whether a system under test satisfies requirements or works correctly.
Describes what the product does Describes how the product works
In the V model, the development and QA activities are done simultaneously. There
is no discrete phase called Testing, rather testing starts right from the requirement
phase. The verification and validation activities go hand in hand.
It is a testing methodology where the end customer is asked to use the software to
see if the product is easy to use, to see the customer’s perception and task time. An
accurate way to finalize the customer point of view for usability is by using
prototype or mock-up software during the initial stages.
Requirement document: It specifies what exactly is needed in the project from the
customers perspective.
Input from the customer: This can be discussions, informal talks, emails, etc.
Project plan: The project plan prepared by the project manager also serves as good
input to finalize your acceptance test.
11. What is coverage and what are the different types of coverage techniques?
The parameter used in software testing to describe the extent to which the source
code is tested is known as coverage. There are three basic types of coverage
techniques and they are:
1. Statement coverage: It ensures that each line of source code has been executed
and tested.
2. Decision coverage: It assures that every decision (true/false) in the source code has
been executed and tested.
3. Path coverage: Here we ensure that every possible route through a given part of
the code is executed and tested.
Selenium is an open source tool which is used for automating the tests carried out
on web browsers. Since Selenium is open-source, there is no licensing cost
involved, which is a major advantage over other testing tools. Other reasons behind
Selenium’s ever-growing popularity are:
ID
ClassName
Name
TagName
linkText
PartialLinkText
Xpath
CSS Selector
DOM
Absolute XPath
It is the direct way to find the element, but the disadvantage of the absolute
XPath is that, if there are any changes made in the path of the element then
that XPath gets failed. For example: /html/body/div[1]/section/div[1]/div
Software Testing Fundamentals Course
Instructor-led Sessions
Real-life Case Studies
Assessments
Lifetime Access
Explore Curriculum
Relative XPath
For Relative XPath, the path starts from the middle of the HTML DOM structure. It
begins with the double forward slash (//), which means it can search the element
anywhere at the webpage. For example: //input[@id=‘ap_email’]
TimeoutException
NoSuchElementException
ElementNotVisibleException
StaleElementException
Selenium Grid can be used to execute same or different test scripts on multiple
platforms and browsers concurrently so as to achieve distributed test execution,
testing under different environments and saving execution time remarkably.
Want to upskill yourself to get ahead in your career? Check out this video
21. Should testing be done only after the build and execution phases are
complete?
Testing is always done after the build and execution phases Earlier we catch a
defect, the more cost effective it is. For example, fixing a defect in maintenance is
ten times more costly than fixing it during execution.
As test phases start moving ahead environment reality becomes more important.
For example, while unit testing, you need the environment to be partly real, but at
the acceptance phase you should have a 100% real environment, or we can say it
should be the actual real environment.
The above
graph shows during acceptance testing it should be 100% real.
23. A defect which could have been removed during the initial stage is removed
in a later stage. How does this affect the cost?
If at the initial stage a defect is identified, then it should be removed during that
stage/phase itself rather than at some later stage. It’s a fact that if a defect is
delayed for later phases it becomes more costly. The following figure shows how a
defect is costly as the phases move forward.
If a defect is identified and removed during the design phase, it is the most cost
effective but when removed during maintenance it becomes twenty times costlier.
Boundary Value Analysis (BVA) is a black box test design technique which is
applied to see if there are any bugs at the boundary of the input domain.
Usually, in Random testing, data is generated randomly often using a tool. For
example, the following figure shows how randomly-generated data is sent to the
system.
This data is
generated either using a tool or some automated mechanism. With this randomly
generated input, the system is then tested and results are observed accordingly.
27. On what basis you can arrive at an estimation for your project?
28. Which test cases are written first: white boxes or black boxes?
Usually, black box test cases are written first and white box test cases later. To write
black box test cases we need the requirement document and, design or project
plan. These documents are easily available at the initial start of the project. White
box test cases cannot be started in the initial phase of the project because they
need more architecture clarity which is not available at the start of the project. So
normally white box test cases are written after black box test cases are written.
Project Name
Module Name
Defect detected on
Defect detected by
Defect ID and Name
Snapshot of the defect
Priority and Severity status
Defect resolved by
Defect resolved on
32. On what basis you can map the success of Automation testing?
To access a website, a user sends a “request” to that website’s server, and the
server sends back a response in the form of the website you want to access. To
load test a website, quality assurance engineers and automation engineers just
need to multiply the number of responses sent to simulate different traffic loads.
The web server’s response to the influx of virtual users can then be measured. This
is used to determine performance issues and server capacity.
Selenium Sikuli
It cannot automate flash objects like video player, It provides extensive support to automate flash
audio player etc. objects
It has got complicated API It has a simple API
1driver.findElement(By.linkText(“Google”)).click();
This command finds the element using link text and then click on that element.
Thus, the user would be re-directed to the corresponding page.
Below code helps you to understand how to set test case priority in TestNG.
package TestNG;
1
import org.testng.annotations.*;
2
public class SettingPriority {
3
@Test(priority=0)
4
public void method1() {
5
}
6
7@Test(priority=1)
8public void method2() {
9}
10@Test(priority=2)
11public void method3() {
12}
13}
Selenium supports almost all the popular QTP supports Internet Explorer, Firefox and
browsers like Firefox, Chrome, Safari, Internet Chrome. QTP only supports Windows Operating
Explorer, Opera etc System
Selenium is distributed as an open source tool QTP is distributed as a licensed tool and is
and is freely available commercialized
Selenium supports testing of only web-based QTP supports testing of both the web-based
applications application and windows based application
41. What kind of input do we need from the end user to begin proper testing?
An end user is the most important person because he is the one who has to use the
product and has a keen interest that anyone else in the project.
Above figure illustrates the input that is essential from the user end.
1. Input
2. Execute
3. Check
4. Production output
5. Rework
Defect cascading is a defect which is caused by another defect. One defect triggers
the other defect. When a defect is present in any stage but is not identified, hide to
other phases without getting noticed. This will result in an increase in the number
of defects.
In phase 1 – You are designing Register User Module for Login and mobile number
is mandatory but you can leave it blank due to a bug that gets unnoticed.
In Phase 2 – You will design the login form having username and password. The
password is OTP which will be sent to User’s registered mobile number.
Now as Register module has a bug that mobile number can be left blank so this
may lead to Login failure or maybe some system error or crash if a null mobile
number is not handled. This is known as defect cascading.
Pilot
Gradual Implementation
Phased Implementation
Parallel Implementation
45. Explain how can you find broken links in a page using Selenium WebDriver?
This is a tricky question which the interviewer might present to you. He can provide
a situation wherein there are 20 links in a web page, and we have to verify which of
those 20 links are working and how many are not working (broken).
As you have to verify the working of every link, the workaround is that you need to
send HTTP requests to all of the links on the web page and analyze the response.
Whenever you use driver.get() method to navigate to a URL, it will respond with a
status of 200 – OK. This indicates that the link is working and it has been obtained.
Whereas any other status indicates that the link is broken.
If frame name and frame id is not available, then we can use frame by index. For
example, there are 3 frames in a web page and if none of them have a frame name
and frame id, then we can still select those frames by using frame (zero-based)
index attribute. All the frame will have an index number like the first frame would
be at index “0”, the second at index “1” and the third at index “2”.
1driver.switchTo().frame(int arg0);
If there is a pop up for logging in, we need to use the explicit command and verify if
the alert is actually present. The below code helps you understand the use of
explicit wait command.
To skip a particular test method or a code, then you can set the ‘enabled’ parameter
in test annotation to false.
@Test(enabled = false)