Manual Testing Interview Questions and Answers
Manual Testing Interview Questions and Answers
Q) What is SDLC?
SDLC (Software Development Life Cycle) is a process or methodology used to develop a software in a
systematic approach.
a. Requirement gathering
b. Analysis and planning
c. Software Design
d. Coding
e. Testing
f. Release and Maintenance
a. Requirement gathering:
During this phase, Business requirements are gathered from customer and documented. The output
of this phase is Business requirements specification (BRS) document.
c. Software Design:
During this phase, based on SRS document, High Level Design (HLD) and Low Level Design (LLD) is
done for the entire system and for individual components in the system. The output of this phase is
Design documents.
d. Coding:
During this phase, based on the Design documents, programs are written in the selected
programming language. The final output of this phase is code documents and executable software.
e. Testing:
During this phase, Test cases are created and executed by the testers to ensure that the system is
developed as per the System requirements specifications(SRS). If there are any deviations, defects
are reported to developers which are again fixed and given to testers. Testers perform Re and
Regression testing and close the defects. The final output of this phase is Test Documents and Tested
Software.
f. Release and Maintenance:
During this phase, tested software is released to production and the software is deployed in
customer’s environment by release team. Any defects/improvements identified thereafter by
customer are addressed by maintenance team.
SDLC Model in which the development activities are executed in a sequential manner. One phase
starts only after the completion of its previous phase.
Q) Who are the people (Roles) involved in different phases of Waterfall Model?
Roles involved in different phases depends on the organizational structure. In general, below are the
people who gets involved in different phases of SDLC.
In addition to above, Development Managers and QA Managers are also involved to manage the
respective teams.
Q) What is V-Model?
V-Model is also known as Verification and Validation Model. In V-Model, testing is done in parallel
with corresponding development activity.
Advantages of V-model:
———————-
1. Quality of the software gets improved as the model as testing activities for the respective
development activity.
2. Avoids the Defect multiplication.
3. Saves more time as testing activities happen well before coding.
4. Defects can be identified in the early stages of the life cycle.
Disadvantages of V-model:
————————-
1. Expensive as it involves more number of resources
2. Adopting any changes in requirements is not possible.
Software quality gets improved in V-Model as it has testing activities in parallel for the respective
development activity. Defects can be identified in early stages of life cycle and defects multiplication
can be avoided.
Testing activity starts only after development phase is completed i.e, Testing is post development
activity in Waterfall model.
Process of developing software through repeated cycles (Iterative) and in smaller portions at a time
(incremental) is called Iterative/Incremental SDLC.
i. Prototype Model
ii. Spiral model
iii. Agile Model
Q) What is Prototype?
Prototype is the sample implementation of the actual system. It can be also called as Non-functional
system.
1. Clarity on requirements from the customer, success rate of the project is higher.
2. Customer can see the system and he provide the feedback immediately.
3. Errors can detected much earlier as customer is getting involved.
Meaning of Agile is “Moving Quickly”. When applied to Software development, it means that
delivering the software that meets customer requirements in shortest possible time.
Agile software life cycle is an iterative process where software is ready at each iteration but can
always be improved in next iteration.
i. Extreme Programming
ii. Scrum Model
Scrum is an iterative and incremental agile software development methodology for managing
software development.
In this model, System is divided into small parts known as Sprints. The duration of each sprint can
range from one week to three weeks. At the end of the sprint, team members and stake holders
meet to assess the progress of the project and identify further plan of action. This assessment helps
in taking stalk of the current state and rework the line of work and complete the project on time and
not just speculate or predict the further outcome.
The spiral model is a incremental model with more emphasis placed on risk analysis. This model has
four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly
passes through these phases in iterations called Spirals in this model.
Agile Model is popular because of its flexibility in adopting changes in requirements and at the same
time delivering software in shortest possible time.
1. In iterative model we can only create a high-level design of the application before we actually
begin to build the product and define the design solution for the entire product. Later on we can
design and built a skeleton version of that, and then evolved the design based on what had been
built.
2. In iterative model we are building and improving the product step by step. Hence we can track the
defects at early stages and avoid the downward flow of the defects.
3. In iterative model we can get the reliable user feedback. When presenting sketches and blueprints
of the product to users for their feedback, we are effectively asking them to imagine how the
product will work.
4. In iterative model less time is spent on documenting and more time is given for designing.
1. In Sequential models, Software is developed at once and delivered where as in Iterative models,
software is divided into increments and developed.
2. In Sequential models, working software is not produced until late in the life cycle, where as in
Iterative models, software is developed and delivered early in increments.
Unit testing is also called Component Testing, Program Testing or Module Testing.
Individual modules/components of the software are integrated and tested as a group to ensure
whether they are functioning as expected with their counterpart.
In Big Bang approach, all the developed modules are coupled together to form a complete system
and it is tested as a whole. There is no need to simulate the components as everything is complete
before integration testing starts.
In Top-down Integration testing, highest level modules are integrated first and testing takes place
from top to down. Any unfinished modules are substitute by stubs.
In Bottom-up approach, testing of low level components is done first and move towards the high
level components. any unfinished components are substituted by Drivers.
Hybrid approach is combination of Top-down and Bottom-up Integration approaches. Testing can
start as and when modules become available.
A driver is a software component that replaces a component that takes care of the control and/or
the calling of a component or system.
System testing is testing the system as a whole after integrating all the components. It is performed
on the entire system to ensure that it is working as end user expected.
User acceptance testing focuses mainly on the functionality thereby validating the functionality of
the system based on the business requirement specifications.
Operational acceptance testing validates whether the system meets the requirements for operation.
System administrators will perform the operational acceptance test shortly before the system is
released. The operational acceptance test may include testing of backup/restore, disaster recovery,
maintenance tasks and periodic check of security vulnerabilities.
Certified testing also known as Compliance acceptance testing is performed against the regulations
which must be adhered to, such as governmental, legal or safety regulations.
A cross-section of potential users and members are invited to use the system. Developers observe
the users and note problems
Beta testing or field testing sends the system to a cross-section of users who install it and use it
under real-world working conditions. The users send records of incidents with the system to the
development organizations where the defects are fixed.
Certified Testers who are aware of the governmental, legal and safety regulations will perform
Certified testing.
Q) What is verification?
Verification is the process of evaluating software to determine whether the products of a given
development phase satisfy the conditions imposed at the start of that phase. It takes care of set of
activities to address the question “Are we building the product right?”
Q) What is Validation?
Validation is the process of evaluating software during or at the end of the development process to
determine whether it satisfies specified requirements. It takes care of set of activities to address the
question “Are we building the right product?”
Quaity Assurance aims to prevent defects with a focus on the process of producing the software. It is
defect Prevention oriented.
Quality control aims to identify defects in the developed software. It is defect-detection and
correction oriented.
Q) What is Testing?
It is a process of executing a program or application with the intent of finding defects and it helps to
measure quality of software.
Static Testing is done during verification process. This testing includes reviewing of the documents
(including source code) and static analysis. This is useful and cost effective way of testing. For
example: reviewing, walk through, inspection, etc.
i. Functional testing
ii. Non-functional Testing
iii. Structural testing
iv. Experience based testing
Functional testing involves testing an applications’s functionality and features based on analysis of
the requirements specifications. It helps to verify what the system is supposed to do.
Sanity testing is done to ensure that basic functionality is working fine and whether it is reasonable
to proceed with further testing or not. It can also called as “Build Verification test”
According to the Industry standards, there is no difference between Smoke testing and Sanity
testing.
Q) What is Re-Testing?
Re-Testing or Confirmation testing is the process of executing test cases that failed the last time
when they were run, in order to verify the correctiveness of the fixes provided.
Regression testing is done to ensure that the changes made in the software for fixing defects or to
enhance the functionalities does not affect the exiting functionality.
Re-Testing is done to verify defect fixes and Regression testing is done to check if the defect fixes
have disturbed existing functionality that was working fine before making the changes.
Q) What is Performance Testing?
Load testing is performed to understand the behavior of the system under a specific expected load.
Objective is to identify the performance bottlenecks in the system.
Stress testing is performed to evaluate a system beyond the limits of specified requirements or
resources, to ensure that system does not break. Objective is to identify the breakpoint of the
system.
Testing done without using any formal testing technique is called Ad-hoc testing.
It is a formal testing process where there are no test cases are available to test the application.
Functionality of the application is understood by exploring the application and understand the
functionalities.
Testing the application to know how it displays the messages or various languages and how it
handles the inputs, strings and sorting items.
Testing whether the software functions as expected in localized environment after translating the
messages, documents and customizing the resources .
Testing which covers all combination of input values and preconditions for an element of the
software under test is called Exhaustive testing.
Q) What is Usability Testing?
The testing that validates the ease of use, speed, and aesthetics of the software from user’s point of
view is called Usability testing.
Testing whether software is compatible with other elements of a system with which it should
operate, e.g browsers, operating systems etc.
Reliability testing is to check the ability of software to function under given environmental conditions
for a particular amount of time.
Volume testing refers to testing a software application with a certain amount of data. This amount
can, in generic terms, be the database size or it could also be the size of an interface file that is the
subject of volume testing.
Spike testing is done by suddenly increasing the number of or load generated by, users by a very
large amount and observing the behaviour of the system. The goal is to determine whether
performance will suffer, the system will fail, or it will be able to handle dramatic changes in load.
Endurance testing is usually done to determine if the system can sustain the continuous expected
load. That is, to ensure that the throughput and/or response times after some long period of
sustained activity are as good or better than at the beginning of the test.
Tests are created to determine the effects of configuration changes to the system’s components on
the system’s performance and behaviour. A common example would be experimenting with
different methods of load-balancing.
Security testing is a process to determine that an information system protects data and maintains
functionality as intended.
Q) What is Installation Testing?
Installation testing focuses on what users will need to do to install and set up the new software
successfully. The testing process may involve full, partial or upgrades install/uninstall processes
Risk based testing is prioritizing and executing the tests of features and functions based on the risk
of their failure.
Recovery testing is the activity of testing how well an application is able to recover from crashes,
hardware failures and other similar problems.
Database testing mainly deals with finding errors in the databases so as to eliminate them. This will
improve the quality of the database.
Graphical user interface testing is the process of testing a product’s graphical user interface to
ensure it meets its written specifications.
Testing aimed at showing software does not work. Also known as “Test to fail”.
Soak testing involves testing a system with a significant load extended over a significant period of
time, to discover how the system behaves under sustained use.
Test design is a procedure to select few test cases out of many with the likelihood of identifying
defects
Q) What are different types of Test Design Techniques?
Black-box test design technique is a procedure to derive or select test cases based on an analysis of
the specification, either functional or non-functional, of a component without reference to its
internal structure.
White-box test design technique is a procedure to derive or select test cases based on an analysis of
the internal structure of a component or system.
i. Statement Coverage
ii. Decision Coverage
Equivalence partitioning involves identifying a small set of input values that produce many different
output conditions as possible. This reduces number of permutations and combinations of input,
output values used for testing thereby increasing the coverage and reducing the effort involved in
testing.
Boundary value analysis is based on testing the boundaries between partitions. Test Cases are
designed based on boundary values.
Sate Transition Testing is a test design technique in which test cases are designed to execute valid
and invalid state transitions.
Use case testing is a technique that helps us identify test cases that exercise the whole system on a
transaction by transaction basis from start to finish.
Statement coverage is the percentage of executable statements that have been exercised by a test
suite.
Decision coverage is the percentage of decision outcomes that have been exercised by a test suite.
100% decision coverage implies 100% statement coverage.
The percentage of condition outcomes that have been exercised by test suite. 100% code coverage
requires each single condition in every decision statement to be tested as True or False.
Design test cases for each combination of conditions is called multi condition testing.
Experience-based testing is a procedure to select test cases based on the tester’s experience,
knowledge and intuition.
i. Error guessing
ii. Exploratory testing
Exploratory Testing is a test design technique where the tester actively controls the design of the
tests as those tests are performed and uses information gained while testing to design new and
better tests.
When different combinations of inputs result in different actions being taken, it would be more
difficult to show using equivalence partitioning and boundary value analysis, which tend to be more
focused on the user interface.
A table showing combinations of inputs and stimuli(causes) with their associated outputs and/or
actions (effects), which can be used to design Test cases.
A diagram that depicts the states that a component or system can assume and shows the events or
circumstances that cause or result from a change from one state to another.
Software Test Process:
It is a systematic approach to test the Software. Main objective is to monitor and control testing
activities.
A document describing the detailed approach to test the software and what the eventual work flow
will be. It consists of features to be tested, features not to be tested, approach, entry criteria, exit
criteria, suspension criteria, resume criteria, test environment, training needs, resources, roles and
responsibilities, risks and contingency plan.
Mandatory inputs are Requirements documents, Project plan, Test Strategy. Optional inputs are
Design documents, Process guideline documents, Corporate standard documents.
Test Strategy is a organization level document that describes the testing approach during SDLC.
Project Manager
Requirements Specification, Test Plan, Test Scenario Template, Test Case Template, Test Data
Template
Test Lead or Team Lead creates Traceability Matrix and Testers update Traceability Matrix
throughout the STLC.
Requirements Specification, Test Plan, Test Case documents, Test Data, Defect Report, Test Report
Requirements, Test Plan, Test Reports, Open/Closed Defect Reports, Test Summary report Template
Test Summary report, Test Deliverables (Test Plan, Test Scenarios, Test Cases, Test Data, Test
Reports, Opened/Closed Defect Reports)
Any test work product that must be delivered to someone other than the test work product’s
author.
Base lined documents are the documents that are approved and finalized documents.
A document summarizing testing activities and results. It also contains an evaluation of the
corresponding test items against exit criteria.
————————————————————————