ST&SA
ST&SA
ST&SA
New
SPU A
Book 0f
SOFTWARE TESTING
AND
QUALITY ASSURANCE
: -
Price 300.00
N4831
Syllabus
1 SOFTWARE QUAUITY ASSURANCE FUNDAMENTALS
(WEIGHTAGE 20, HPS.
6)
17
3. Static Testlng
2.1 - 2.58
Software Quality
3.1-3.34 |Assurance Fundamentals
4. Dynamic Tosting
2. Reliability
3. Customer satisfaction.
A software product is said to have good quality if:
It has a few post-release failures.
(1.1)
ST & QA - MCA (Mgt.): Som I! 1.2 Softwarc Quality
Assurance Fundamentale
It is reliable, meaning that hardly crashes or behaves
it
Contd.
ST& QA- MCA (Mgt.) : Sem ll 1.18 Software Quality
Assuranco Fundamenta.
Improve upon factors such as usability,
customer education, and support documentation, ST & QA - MCA (Mgt.) : Sem IlI 1.19 Software Quality Assurance Fundamentals
to reduce the numerator
PUM. of
Cyclomatic This is a measure to control complexity of a program.
Increase the sale (the number of
installed Complexity
product to increase the denominator PUM. licenses) of the
of Software Test cost (in %) = Cost of testing / total cost "10o
Customer Customer satisfaction is
measured with the help Testing
Satisfaction the five-point scale: of survey data vis Cost to locate defect = Cost of testing / the number of defects located
Metrics 1) Very satisfied
Metrics Defects detected in testing = Defects detected in testing/total system
2) Satis fied defects
3) Neutral Defects detected in production = Defects detected in production/system
4) Dissatis fied size
5) Very dissatisfied Defect Defcct removal efficiency can be defined as follows:
Customer Satisfaction Removal Defects removed during a development phase
DRE =
functionality, usability, is monitored with factors such as Efficiency x
Defects latent in the product 100%
performance, reliability, maintainability.
-
(Process
documentation and many more. This gives approximated value, because
the total number of latent
Example metrics can be: Quality (hidden) defects in the product at any given
phase is not known in
Metric) advance.
Percent of completely
satisfied customers It is usually estimated by: Defects
Percent of satisfied customers removed during the phase +
(satisfied and completely defccts found later.
Percent of dissatisfied satisfied)
customers (dissatisfied Effectiveness of development process
dissatisfied) and completely increases with the higher value
of metric; which results in fewer defects
Percent of nonsatisfied for the next phase.
customers (neutral,
completely dissatisfied) dissatisfied, and
17 SOFTWARE RELIABILITY
RELIABILITY
FACTORS: ROCOF, MTTE, MTTR, MEASUREMENT
MTBF, POFOD, AVAILABILITY
Customer
Satisfaction 1.74 Software Reliability
Customer
Problems Software Reliability is the probability
of failure-free software operation for a
specified period of time in a specified
environment.
It is a broad concept and can
Defects be measured directly and can
historical and developmental data. be estimated using
There are three phases in the life
of software. i.e. Testing, Useful life(i.e. actual usage)
and Obsolescence(where software is no
longer in use).
In testing phase, failure rate is
Fig. 1.4: Scopes quite high. During software usage,
Good customer of Quality metrics approximately constant and it either stays constant or failure rate is
satisfaction is directly with the time. (Refer Fig. 1.5)
starts decreasing gradually
which in turn is proportional to
directly proportional reduced customer
the Fig.1.4. to decrease in problems: Software reliability depends on two
number of defects as factors, namely,
illustrated in (i) The number of faults present in the software.
(ii) The ways users operate
Contd.
the system.
ST& QA - MCA (MgL): Sem 1.20 Software Quallty
Assurance Fundarnental.
Testing
ST & QA - MCA (Mgt.) :
Sem ll 1.21 Software Quality Assurance Fundamentals
phase
Useful ife
It is obtained by observing a large number of failures in the software
Obsolescence product.
Failure To measure MTTF, failure data for n failures is recorded.
rale ...
If the failures occurat the time instants T1, T2, Tn then MTTF can be
calculated as:
MITE = ((T2- T1) + (T3 - T2) + ... + (Tn+1-
Tn))/ (n-1)
2. Mean Time To Repair (MTTR):
Time It is the average time needed for system to repair a failed
software nodule.
Fig. 1.5: Software Reliability 3. Mean Time Between Failure (MTBE):
Curve
Key concepts in discussing It is the average time between system breakdowns.
reliability:
1. Fault: Fault can cause a program to It is calculated as, MTBF= MTTF + MTTR
perform in an un-intended manner. Problerm with MTBF: It projects a
2. Failure: A
failure is said to occur time span between failures, but does not
from the expected one.
if the actual outcomne of a program provide a projected failure rate.
is different
4. Rate of occurrence
3. Time: Time is a
key concept in the formulation
of failure (ROCOF):
between two successive of reliability. If the time gap It is the number of failures appearing
failures is short, we say ina unit time interval. The number of
o Three that the system is less reliable. unexpected events over a specific time
of operation. ROCOF is the frequency
forms of time are considered as follows: of occurrence with which unexpected role is likely appear.
() Execution time (): The execution
A ROCOF of 0.02 mean
to
time for a software system that two failures are likely to occur in each 100
time spent by a processor in executing is the actual
operational time unit steps. It is also called
(iü) Calendar
timne (t) : Calendar
the software system. the failure intensity metric.
time is the time more commonly 5. Probability of Failure on
Demand (POFOD):
followed by everyone understood and
(iii) Clock time:
in everyday life. POFOD is the possibility
Clock time refers that the system will fail when service request
end of program execution.
the elapsed time between made. It is the number of system is
It also includes the wait
the start and the deficiency given several systems inputs.
system and execution time of the software This attribute does not involve time measurements
times of other software systems. like the other attributes.
4. Intervals (MTTR, MTTF, A POFOD of 0.1 means
MTBF), that one out of ten service requests may fail. POFOD
an essential measure for is
1.7.2 Reliability Measurement safety-critical systems. POFOD is relevant
for
Reliability attributes are Factors protection systems where services are demanded
occasionally.
the measure of software 6. Availability (AVAIL):
reliability requirements reliability. There many
common reliability for different software o Availability is the probability that the system
measures. Reliability but all the software some is applicable for use at a given
software products may be attributes for different have time. It takes into account the repair
time & the restart time for the system.
different. categories of An availability of 0.995 means
There are six reliability that in every 1000 time units, the system is
attributes which can
ofa software product. be used to express
the reliability
feasible to be available for 995
of these.
1. Mean Time The percentage of time that a system
To Failure (MTTF): is applicable for use, taking into account
It is abasic measure planned and unplanned downtime. If a system
is down an average of four
of reliability for non-repairable hours out of 100 hours of operation, its AVAIL
time expected untilthe systems. It is is 96%.
first failure of a product. the mean This plays a vital role in telecommunication
systems and operating systerms.
These systems need to run even during
the repair time.
ST &OA - MCA(lgt.): Sem I/ 1.22 Software Quality Assuranco Fundamenlals
Summary ST & OA - MCA (Mgt.): Sem Ill 1.23 Software Quality Assurance Fundamentals
Software Quality Assurance (SQA) is a set of activities for ensuring qualit,
software engineering processesthat ultimately results,,or at least gives confidence,
: 4. Size and Complexity are a part of
(a) Product Metrics (b) Process Metrics
the quality of software products. in
(c) Projcct Metrics of the mentioned
(d) All
Ouality Assurance (OA) aims to prevent defects with a
focus on the process ueod. 5. Percentage of modules that were inspected is a part of
make the product.
(a) Product Metrics (b) Process Metrics
Quality Control (QC) aims to identify defects in the final product.
(c) Project Metrics (d) All of the mentioned
SQA plan provides a road map for
establishing software quality assurance. The nl 6. Which is not McCall's software quality factor?
serves as a template for various SQA
activities that are instituted for each softuwa. (a) Product Revision
project. (b) Product Transition
(c) Product Operation (d) Product Generation
Software quality assurance (SQA) is
the process of checking the quality
based on adefined set of standards. of the product 7
Which of the foilowing is not a SQA plan for a project?
These standards are
of the development stage and are used as guidelines established at the beginning (a) Evaluations to be performed
for testers before the product's (b) Amount of technical work
release.
SQA building blocks or components ensure an (c) Audit and reviews to be performed
acceptable level of quality. The (d) Documents to be produced
Componentsused by the SQA System are by the SQA group
classified into six different categories; each
of which guarantees maximum quality 8. TQM stands for
andensures the execution with the standards
and procedures. (a) Time Quality Management
(b) Total Quality Management
Software metrics are classified (c) Time Quantity Management
into three categories: Product, Process, (d) Total Quantity Management
Metrics. and Project 9. Which of the following
is/are SQA standards?
Software Reliability is the probability (a) Documents standards
of failure-free software operation (b) Design standards
specified period of time in a specified for a (c) Code
environment. standards (d) All of the above
Reliability attributes are the measure 10. Quality control (Qc) is
of software reliability. oriented.
Check Your Understanding (a) Process
(b) Procedure
1. According to components FURPS (c) Program
of model, which of the following (d) Product
to S? does not belong
(a) Testability ANSWERS
(b) Speed Efficiency
(c) Serviceability 1. (b) 2. (b) 3. (b) 4. (a) 5. (b)
(d) Installability 6. (d) 7. (b) 8. (b)
2. How many product
quality factors are proposed 9. (d) 10. (d)
(a) 2
in McCallquality model?
(b) 3
(c) 11 Practice Questions
(d) 8
3. What is MTTF?
QIAnswer the following questions
(a) Maximum time to in short.
failure (b) Mean time to 1, What is SQA?
(c) Minimum time to failure failure
(d) None 2. What is Software Reliability?
of the mentioned.
3. Write any 2 SQAactivities.
1.
the following questions.
Explain various SQA attributes.
2..
2. What are the building blocks of SQA?
3. Explain various quality factor of
SQA. Software Testing
4. What does SQA ensure? What are the goals of an SQA activity?
6.
5. What is meant by Software Quality Control?
Describe the various level of CMM.
Fundamentals
7. Explain with an example the six sigma measure of software quality.
(2.1)
ST &
QA MCA (Mgt.) : Scm lIl 2.2 Software Testing
Fundamental,
It determines why a system doesn't meet one or mnore of its specifications -
Softwarc Testing Fundamentals
c ST& QA MCA (Mgt.) : Sem || 2.3
requirements and making it meet those specifications.
Debugging is not testing but testing can be a part of debugging. CAUSES OF SOFTWARE FAILURE: DEFINITION OF ERROR, BUG,
There are two basic functions of software
testing: Verification and Validation FAULT, DEFECT AND FAILURE
2.1.1 Testing Objectives Testing is the process of identifying defects, where a defect is any variance between
Key objectives of Software Testing are: actual and expected results. "A mistake in coding is called Error, an error found by
To expose undiscovered error(s). tester is called Defect, defect accepted by development team then it is called Bug,
To
establish a confidence build does not meet the requirements then it is Failure."
that a program does what
functions correctly. it is supposed to do and Causes of System Failure:
To ensure that Miscalculated time and Budget frames
software is error free.
To measure quality
Lack of Communication
of software. o No End-user involvement
To confirm that a program
performs its intended functions Unfocused Executive Spornsors
o To identify correctly.
the difference between o Lack
of Quality Testing
expected result and actual
To ensure result.
that a system is ready to use. Let us see definitions of Error, Bug, Fault, Defect
and Failure.
To evaluate and
verify the documents 2.3.1 ERROR
troubleshooting, and user such as online help,
training for correctness. installation and The system is in a state such that further processing
by the system will lead to a
2.2 ROLE OF TESTING AND ITS EFFECT failure,
ON QUALITY An error is a mistake, misconception or
Testing is an activity misunderstanding on the part ofa software
that occurs on a deliverable, developer. It might be typographical error, a
misleading of specifications, a
quality. Testing helps in order to measure
support the delivery a its perceived misunderstanding of what a subroutine does.
part of a quality process. of quality product provided
it is run as The errors may be:
Testing needs a strategy,
approach, Programming errors.
that the product quality delivery and plan derived from quality processes to ensure Incorrect implementation of the requireme:ts or
is robust. functional specifications
Role of Software because of misunderstandings and/or incomplete
Testing: requirements or functional
1. Testing systematically uncovers specifications.
time and immediately different classes of errors Incorrect human action that produces erroneous step, process,
flags these errors in a minimum amount or inaccurate
2. Testing for investigation of result.
demonstrates that and fixes.
the software appears User interface errors.
specifications. to be working as
stated in the Calculation errors.
3 Good testing covers
Instalation, Functionality, Errors in handling or interpreting data.
the system. and operational ease
to learn and use Documentation - The user does not observe the operation
4. More importantly, described in manuals.
as Software Testing errors.
business perspective, Testing is a part of every
major benefit organization. From a 2:3:2 Software Bug
software; and better quality of testing is that
software sells better. it produces good
quality A software bug is the common term used to describe an error, flaw,
or fault in a computer program or system mistake, failure
that produces an incorrect or unexpected
result, or which causes the program to perform
in an manner.
un-intended
ST& QA - MCA (Mgt.) : Senm
ll 2.4 Software Testlng
Fundamentx.
Most bugs arise from mistakes and errors in either a program's source
code or ST & QA - MCA (gt.) :
Sem I| 2.5 Softwaro Testing Fundamentals
design, but the main cause can be traced to the specification. its
2.3.3 FAULT Failures can be discovered both before and after system delivery, as they can occur in
testing as well as in operation.
fault occurs vhen a human error results in a mistake in some
A
A
software product{s). Faults are seen by the developer, while failures are scen by the users.
fault is the difference between an incorrect program
and the correct version Ideally the life of a bug ends when it is uncovered in testing and fixed.
A single error can result in one or more
faults.
For example, a developer
might misunderstand a user-interface Lead to Lead to
therefore create a design that includes requirement
misunderstanding. The design fault can Error Fault Failure
result in incorrect code, as well as l
incorrect instructions in the user
manual
Lead to Incorrect Code
Logical Error Unable 10 procoSs
Human Error
Fault
Fig. 2.2 Relation betwcen Error, Fault
and Failurc
Misunderstanding GUI For example, consider an operation on ATM
Design Fault Incorrect code machine: A developer might have
requirements forgotten to fire an update query on the database when
Incorrect instructions the user changes the pin
.Fig. 2.2: in number, and the screen displays the message "Your PIN
Errors Lead to Fault User manual number has been changed"!
When the user tries to access the system
with new PIN numnber.... The system gives the
One fault can message "Sorry unable to process".
result in multiple changes to one
sections of a piece code) or product (such as changing
of multiple changes to multiple several
2:4% ECONOMICS OF TESTING
to requirements, products (such as change
design code and test plans,etc.).
2.3.4 DEFECTS There isa definite economic impact
of software testing. One economic impact
the cost of defects.This isa very real and very is from
Abnormal behavior tangible cost. Another economic impact
of the software i.e. deviation is from the way we perform testing. It is
It is a fault in program from the expected result. possible to have very good motivations
which causes the program testing goals while testing in a very inefficient way. and
manner. to perform in an un-intended
A
Software bug occurs The Cost of Defects:
when one or more of following Most defects originate in
The Software rules is true: requirements and design, but most of the
doesn't do something occurs in a traditional testing effort
do, that the product specification says "testing" phase toward the end of the project.
it should well known facts about software
One of the most
The Software does defects is that the longer they go undetected,
something that the product the
For example, Requirements specification says it should more expensive they are to fix.
and Specification defects, not do.
or Testing defects. Design defects, Coding If you want to make testing more efficient
defects and reduce the overall cost of testing and
defects, test early in the project and continue
2.3.5 FAILURE testing throughout the project.
A
fault (bug) can go
undetected until a
failure occurs. Failure can
2:5 SEVEN TESTING PRINCIPLES
follows:
be defined as Testing is a crucial element of software
Deviation of the system development. It can also be a complex activity
from its expected behavior to structure correctly, and in a way
The inability a or service. that supports maximum efficiency. Because of
of system or module to this complexity, it is always helpful to review processes
specified performance perform its required and guidelines to ensure you
requirements. function as per the are following best practice.
The ISTQB (International Software
Testing Qualifications
Board), lists seven fundamental
principles of testing.
ST&QA - MCA (Mgt.) : Sem II
2.6 Softwarc Testing1Fundamenta
The Seven Principles of Testing:
1. Testing shows the presence of defects ST & QA - MCA (Mgt.) :
and not their absence: Sem I| 2.7 Software Testing Fundamenlals
o
Testing shows the presence of
defects in the software. The goal whole system. The more complicated a component, or
make the software fail. Sufficient
testing reduces the presence of of testing is the more third-party
testers are unable to find dependencies there are, the more likely it is that there will be defects.
defects defects. Inheriting
after repeated regression testing In case legacy code, and developing new features in certain components
that the software is bug-free. doesn't
m
that are
undergoing frequent changes and are therefore more volatile, can also cause
It is important to remember defect clustering.
however that while
bugsand not their absence, testing shows the presenea.
detailed testing willgive everyone 5. Beware of the Pesticide Paradox:
software will not fail. Having a confidence that
test plans, reports comprehensive test strategy that includes detailo Pesticide Paradox in software testing is the process
and statistics along with cases again and again, of repeating the same test
this. This strategy reassures testing release plans can eventually, the same test cases will no longer
all help wih bugs. So to overcome find new
confidence that the right areas are cients as to testing progress this Pesticide Paradox, it is necessary to review the test cases
being tested.
and providine regularly and add or update them to find more defects.
2. Exhaustive
testing is imnpossible: 6. Testing is context dependent:
Exhaustive Testing Testing approach depends on the context
is testing all the functionalities we develop. We do test
of the
inputs and preconditions are using
known as Exhaustive testing. all valid and invalia the software differently in different contexts.software
The software execution For example, online banking
time and costs will rise we application requires a different approach of testing compared to an e-commerce
test conditions. So
instead of doing exhaustive if keep on testing all possible site.
taken into consideration testing, risks and priorities 7. Absence-of-errors a
while doing testing will be is fallacy:
3. Early testing saves and estimating testing If wrong requirements were incorporated
time and money: efforts.
into the software, 99% of bug-free
Testing early is fundamentally software may still be unusable and
even mean inportant in the software the software is not addressing the
testing requirements lifecycle. needs. business
before coding has This could
testing reduces the cost started. So conducting The software which we built not a
of fixing defects. early only be 99% bug-free software
but also it must
Assume two situations, fulfill the business needs otherwise
first one is you have identified it will become an unusable software.
in the requirement
gathering phase and an incorrect requirement 2.6 SOFTWARE TESTING LIFE CYCLE
bug in the fully developed the second one is you
functionality. It is have identified a Once the project is confirmed to
requirement compared cheaper to change start, project development can
to fixing the fully
working as intended. developed functionality the incorrect following phases: be divided into the
4. Defects cluster which is not
Software Requirements Phase.
together:
Defect Clustering Software Design Phase.
in software testing means
contains most of the that a small module or Implementation Phase.
bugs or it has the most functionality
This is the idea operational failures. Testing Phase.
that certain components or
the most number modules of software Maintenance and Support Phase.
Therefore, testing of issues, or are responsible for most usually contain
The process of testing software
should be focused on operational in a planned and systematic way
expected - and these areas (proportionallyfailures. is known as
later observed - defect to
Software Testing Lifecycle (STLC).
Testing life cycle defines the steps or
based on "Pareto density of these areas). the testing stages in
Principle" which Defect Clustering the software. There is no fixed standard STLC,
of the defects found are is also known as is of different organizations have
due to 20% of the 80-20 rule. It means different phases; However, generic phases involved in testing,
This is particularly modules in the that 80% Software Development Life Cycle are: with regard to the
the case with large application.
can vary and complex systems,
for a range of reasons. but defect density
1. Requirements Analysis.
Issues are not evenly
distributed throughout 2. Test Planning.
the
3. Test Design.
ST& QA - MCA (Mgt.) : Sem l 2.8 Softwaro Testingi Fundamenta
Computer. Reviews
Validation is the assurance that the final product satisfies the system requirements. 8. Verification makes sure that the Validation makes sure that the
It is a high level activity. "product is being built right". "right product is being built".
In simple terms, validation makes sure that the "right product is being built".
2:7.1 V Model
The purpose of validation is to ensure that the system
has implemented all
requirements, so that each function can be traced back to a A contemporary of traditional software development model is 'V-Model'. V-Model also
particular customer
requirement. referred to as the Verification and Validation Model. This is an extension of
Table 2.1 summarizes the difference
between Verification the Waterfall model.
and Validation.
In this, each phase of SDLC must complete before the next phase starts. It follows a
Table 2.1: Difference between
Verification and Validation
sequential design process same as the waterfall model. Testing of the device is
Sr, No.
Verification planned in parallel with a corresponding stage of development.
Validation
1, It is the process of confirming The crux of V model establishes an association between each phase of testing with
It is the process
whether software meets of confirming that of development. The phases of testing are categorised as "Validation Phase" and
its whether software meets
specifications. user's that of development as "Verification Phase". Therefore for each phase of development
requirements.
there's a corresponding test activity planned in advance.
Contd..
- : 2.14 Software Testing Fundamental,
ST& QA MCA (Mgt.) Sem !
Architecture of V Model: ST & QA- MCA (Mgt.) : Sem ll 2.15 Software Testing Fundamentals
2. Not a good for a complex project. The product is then sent for testing using various testing methodologies such as
3. Ifany changes happen in the midway, then the test c documents Unit testing, Integration testing and Specification-based testing, etc.
along with the
required documents, has to be updated. i Once the product is tested thoroughly then it undergoes regression test cycles and
user acceptance testing.
4. Software is developed during theimplementation stage,
sO no carly prototypes Advantages:
the software are produced. of
1. Tackles all those aspects that are skipped in the V Model of so ftware development.
2.7.2 W Model 2. It is one such software development model which is designed to achieve various
This model introduced by Paul Herzlich. demands and requirements ofa developer.
It indicates the one-to-one
exists between the documents and test activities. relationship th.. 3. The importance of the tests and the ordering of the individual activities
for
testing are clear.
W model is a sequential approach to test a
development of the product is complete
product. It can be done only once ..
4. During the test phase, the developer is responsible for the rermoval of
with no modifications required to be donein defects and
between. the correction of the implementation.
W-Model is a variant of the V-Model. 5. The testing process is carried out parallel to the development process. It is not
It is specifically focused on identifying produet
risks and concentrates on points where testing can first started after the development is complete.
be most effective.
Disadvantages:
Write Tost the 1. This model is difficult to implement.
Requirements Install Acceptance
Requirements System Test 2. In the most of the cases, resource allocation
might not be sufficient.
28 AGILE TESTING -TEST DRIVEN SOFTWARE DEVELOPMENT
Specify Test the
System Build System
Speclficalions Agile testing is a software testing process
Systom Test that follows the principles of Agile
Software Development. Agile testing methodology aligns
with iterative
Development Methodology in which requirements develop
Design Test the Bulld Integration customers and testing teams. gradually from
System Design Software Test
In this approach, every iteration has its own
testing phase. The regression tests can be
run every time new functions or logic are
released.
Write Unit Test Driven Development is the prOcess in which test cases are
Code Test code that validates those cases. It depends on
written before the
repetition of a very short development
cycle.
Fig. 2.5: W Model
Phases of W-Model: 2.8.1 Types of Testing in Agile
Using W-model helps in 1. Acceptance Test-Driven Development (ATDD):
ensuring that each phase
verified and validated. W-model of the product development is ATDD isa form of TDD (Test Driven
can be divided Development). It holds the collaborative nature of
Building test plan and test into a number of stages Agile testing, bringing together customers,
strategy to ensure that includes: developers and testers to create
rigorously before delivery. that the product delivered acceptance tests from the customer's point of view. Only once
is tested these tests have been
Identifying the scenario for created is the corresponding functionality developed. It's easy to create
the product. test cases
o Preparing with this style of workflow.
the test cases using specification
Reviewingthe test cases and design documents. This gives developers direct insight into what customers
want and how the product
and sharing an update on will be used, removing ambiguity from the process
the basis of review comments. and reducing the chances of large
errors being made.
ST & QA - MCA (Agt.) : Sem 2,18
Il Softwaro Tosting
Fundameru
2. Behaviour-Driven Development (BDD):
ST & QA - MCA (Mgt.) : Sem )
BDD based on and enhances test-driven development
is 2.19 Software Testing Fundamenlals
and acceptance test-drivet
development. Business Facing
The primary purpose of
this development is to emphasize the identification
business nceds and outputs. And c
the development should be consistent a busines, Functional Tests Exploratory Tests
output. to Programming
noticed. testing approach could not ha. Unit Tests Performanco Tests
Integration Tests Load Tests
To explore each aspect Compornent Tests Stress Tests
of the software functionality, the test System Tests Security Tests
test cases, executes different tests, engineer creates varion.
and records the process to learn
itsparticular flow. it and understam) Technology Facing
4. Session-based Testing:
Fig. 2.6: Four Quadrants of
It is mainly is created on Agile Testing
the values of exploratory Quadrant 1:Unit Level, Technology
Though session-based testing. Facing
testing contains some structure It supports the developers
exploratory testing is and on the other hand and can be automated.
performed unexpectedly Ouadrant 2: System Level,
help usidentify the hidden without any planning. Business Facing
bugs and defects in the It is used to
The session-based particular software. It validates product behavior
testing structure is prepared and Automated or Manual testing.
sessions where test by executing the tests Quadrant 3: System or User Acceptance
engineers must report in continuous o It focuses on
Level, Business Facing
process. the tests, which took place real-timne scenarios and uses
throughout the Manual testing.
Quadrant 4: System or Operational
2,8.2 Extreme Programming (XP) Acceptance Level, Technology
It focuses on software stabilities Facing
We will use this and uses Automated testing tools.
methodology when
requirements. there is a continuous
modification in the user
2.8.4 Agile Testing Model
The XP will help us
deliver a quality Create tho test code
requirements that are product, which meets
made clear throughout the customer's
the process of development
2.8.3 Four Quadrants and testing.
The following are
ofAgile Testing Write or modify the function
code
the four
It enlists the different quadrants of Agile Testing, as introduced
types of software by Brian Marick.
development process. testing that fit Create additional tosts
the various stages
Brian Marick discovered of the
a way to categorize
two dimensions: the different types
1. Tests
by using following Test the funcional code
that support programming
2. Tests or the team and tests
that are technology that critique the product.
facing and tests Refactor the code
that are business facing.
Fig. 2.7: Agile Testing Model
ST&QA - MCA (Mgt): Sem Il 2.20 Software Testing
Fundamen
1. Create the Test Code: The developer creates
the test code using an automated -
framework even beforethe actual code is written and tary ST& OA MCA (Mgt.) :Sem lI 2.21 Software Testing Fundamentals
these test codes
to thetest team. The functionality of the software is developed based on aresubmitt
thetest code. 3. System Testing: It evaluates both functional
and non-functional needs for the
2. Write or Modify the Function Code:
The functional code is written testing. Testing the fully integrated application is also called as an
that have cleared the test case. The actual for the test end to end
functional code is not written code; scenario testing.
case requirements are met
with. Once the functional untilthe
code is written it 4. Acceptance Testing: It checks the requirements of a specification or
checked using the test case. The
functional code module is completed is agaia contract are
met as per its delivery. Types of Acceptance
clears the test cases. only after Testing are Alpha, Beta
& Gamma
Testing.
3. Create Additional Tests: In i
this step the tester tests the module
input. The tester develops various for various ttmos 2.9.1 Unit (Component) Testing
test conditions depending on The primary goal of unit testing is to
module. the complexity of th take the smallest piece (unit) of testable
software in the application, isolate it from the
4. Test Functional Code:
The remainder of the code, and determine
functional code is tested based on whether it behaves exactly as you expect.
in step 3 and step 1. The steps 2 to are the test case develnne) It focuses on
4 repeated until the code clears the smallest testable unit of software design.
S. Refactor
the Code: In this step, some all the test Caser component or mnodule. Hence Synonyms This unit can be a software
easy to maintain changes to the code are for unit testing are: Component testing,
and extensible. This enables made to make the coda Module testing.
particular module without the developer to make changes to a
Unit testing is white-box oriented. It is
affecting the entire application. used to verify control flow and data flow
added to the existing application Any new can he of
any duplicate code or easily, without major modifjcations. feature the code.
unused code and reduces It also removes It requires knowledge of the code
Thus, in Agile method the code complexity hence is performned by the developers
testers have a strong subjecting the code to more extensive before
role to play in development code coverage testing. This can
software. adding dummy code. happen by
of efficient
For example, for modules with
2.9 LEVELS OF TESTING complex logic or conditions, the developer can
"debug version" of the product by build a
There are many putting intermediate print statements
different making sure that the program is passing through the right loops and
performance for software testing levels which help to check behavior right number of iterms. It is impc and iterations the
testing. These testing and stant to remove the intermediate
missing areas and reconciliation levels are designed after the defects are fixed. print statements
between the development to recognize
In SDLC models life cycle states. Unit testing on the part of the component
there are characterized will not really help in deciding
analysis, design, coding or phases such as requirement working of the same component the final
execution, gathering, in the entire system.
through the process testing,
of software testing levels. and deployment. AIl these phases go Unit testing is normally performed
by software developers themselves or
Each of these testing Unit Tests Considerations: their peers.
levels a
the software development has specific purpose. These testing level
lifecycle. provide value to
Levels of Testing:
There are mainly Module to be Interface
four Levels Testing
1. Unit Testing: It checks of in software testing: tested Local data structures
return tre;
This approach is great with smaller systems, but it can end up ST& QA - MCA (Mgt.) : Sem ll
taking a lot of 2.27 Software Testing Fundamentals
larger, more complex systems. timef;
However, this approach is not recommended as both On the other hand, Breadth-first integration incorporates all components directly
drivers and stubss are
Biggest disadvantage of this approach is requirei subordinate at each level. For example, in example 2, components M1, M2, M3 and M4
that Debuggingis not easy, as it would be integrated first. The next control level (M5, M6) would be integrated, and so
to trace the cause of any failure since all
components are merged all is diffic
at once, whic. on.
results in complexity of correction.
A second disadvantage Example 2: Based on Breadth-first integration:
is thatyou cannot start integration
modules have been successfully testing until alh.
unit tested. Some modules that work together m A
completed early, but they cannot
be integration tested until all
application are completed. the modules i Test
Test A
A, B, C,D
2. Top-down Integration:
It is an incremental approach
to construction of a program
Modules/Components are structure. G
integrated by moving downward Test Test
hierarchy, beginning with through contst A, B, C,
the main control module (main D, E, F D, E, F, G
Modules/Components program).
subordinate to the main Fig. 2.14: Top-down integration (Breadth-first)
either control modle are integrated
i: Procedure of Top-down
Depth-first Manner Integration:
1. The main control module is used as a test
Breadth-first Manner driver, and stubs are substituted for all
components directly subordinate to
Example 1: Based on the main control module.
Depth-first integration: 2. Depending on the integration
approach selected, subordinate stubs are replaced
one at a time with actual components.
M1 Main Module 3. Tests are conducted as each component
is integrated.
4. On completion
of each set of tests, another stub is replaced
EK component. with a real
M2 M3 M4 Subordinate Modules to M1 5. Re-testing may be conducted to ensure new errors
that have not been introduced.
6. The process continues
from step 2 until the entire program structure
MS M6 Subordinate Modules Advantages: is built.
M7 to
upper level
1. Any design faults or major questions
about functional feasibility can be
addressed at the beginning of testing instead of the end.
M8
Disadvantages:
Fig.2.13:Top-down Integration 1. Writing stubs can be difficult- Stubs must allow
(Depth-first) all possible conditions to be
In Fig. 2.13, Depth-first tested.
integration would integrate 2. Large number of stubs may be
of the structure. For example, all components on required, especially if the lowest level of the system
selecting the lert hand control path
would be integrated path, components M1, contains many methods.
first. Next M8 or M6 M2, MS
right hand control paths are wold be integrated. Then 3. Stubs replace lower-level
modules at the beginning of top-down process; so no
built. the central and
With Depth First
Integration, a complete significant data can flow upward.
demonstrated. function of the software 4. The stubs themselves can have
is implernented faultssince they are written by people.
and In this situation, the tester is left with 3 choices:
0) Delay many tests until stubs are replaced with
actual modules.
ST & OA - MCA (Mgt.)
:Sem il
2.28 Software
(ii) Develop TestingFundamer.
stubs that perform limited
(iii) Integrate functions that simulate
the software from the actual modt. ST& QA MCA (Mgt.): Sem I|
Integration) the bottom of the hierarchy 2.29 Software Testing Fundamentals
upwards (Bottom... 4.
3. Bottom-up Sandwich Integration:
Integration: In sandwich integration
Bottom-up integration testing, both top-down and
simultaneously and testing is built up bottom-up is
is just the opposite
from both sides. This approach is also started
components
for a new product
starting from the
bottom. That is,
of top-down integration,
development become where
available in reverse
."Bi-directional integration
The system is viewed as
testing".
having three layers:
called as
documentation testing.
3. Performance Testing: Performance testing is performed to determine how
..
some aspectof a system performs under a particular workload. Testing
Fig. 2.21: White Box
4. Internationalization Testing and Localization Testing: Internationalization is,
process of designing a software application so that it can be adapted to varioy; White Box testing is the detailed investigation
of internal logic and structure of the
languages and regions without any changes. Whereas Localization is a process ! code.
adapting internationalized software for a specific region or language by addir This Testing is done by developers
as they know the internals of the application.
to know the
local specific components and translating text. In order to perform White Box testing on an application, a tester needs
5. Usability Testing: In usability testing, basicaly the testers tests the ease with internal workings of the code. The tester needs to have a look inside the source code
which the user interfaces can be used, It tests that whether the application or the and find out which unit/chunk of the code is behaving inappropriately.
In White box, we do code reviews, view the architecture, and
remove bad code
product built is user-friendly or not.
6. Installation Testing: Installation Testing helps to verify the software applicatio, practices and component level testing.
is working correctly or not after installation. It helps to validate whether i.
it
Example of White Box testing and Black Box testing is shown in Fig. 2.22
performing well or not if any updates or modifications have been done.
Black Box
7. Security Testing: It is a process to determine that an information system protects
data and maintains functionality as intended. Accounting
Result
2.10.3 Structural Testing (White-box) Application
White Box testing isalso called Structural Testing and Glass Box Testing, White Box is
a testing technique that takes into account the internal mechanism of a system or Toster
2.11.4 Portability
Sem l 2.50 Software
TestingFundame
6
Portability testing is done
different system or on a
to verify if in case a software/application ST&OA- MCA (gt.) : Sem l
2.51 Software Testing Fundamentals
different platformit should isinstalled
functionality should be a be able to run as cn. I18N testing can be divided in to two parts. to sure that application's GUI
ffected because of a change expected First, make
While testing,
it is also required to test
in the environment. iet, or functionality will not be broken with the translated text. Second, to make sure that
such as the hard disk space, the change with the hardwar translation of all the strings have happened properly.
This activity is called
ensure the application's Processor, and also with configurt Translation Verification Testing and is normally
correct behavior different operating systems conducted by person who knows the
2.11.5 Security and expected functionality are language very well.
intac
Localization (L10N):
Security testing is done
to ensure that the application It is a process of adapting internationalized
lead to any data loss or has no loopholes software for a specific region or language
threats. It is one whichcou, by adding local specific components
testing and if not performed of the important aspects and translating text.
properly, it can lead to of non-functin Localization testing follows after product
It includes testing security threats. localization and is performed to ensure that
authentication, authorization, the localized product is fully functional, linguistically
2.11.6 Localization & integrity, and availability. accurate, and no issues have
Internationalization been introduced during the localization process.
Internationalization (118N): A localization tester
must know the destination
language.
It is a process of designing Localization testing involves testing
a software application of the localized product in accordance with
languages and regions so that can
without any changes. it be adapted to vario: National language standards.
It checks the ability a Searching for un-translated text in the user
of software product to support interface.
Regardless of the any language Verifying consistency of formats (date formats,
platform, internationalization in the world. number formats, ctc.).
1. Data Component: has three main components: Verifying accordance with capitalization
Includes data analysis, rules and proper use of alphabets.
searching, and conversion. storage, retrieval, Verification of correct use of currencies,
display, sorting. etc.
2. Locale/Culture Focus on Translations that are cut
Component: Includes off or wrap to the next line.
well as calendars, measurement formatting of numbers, Reveal incorrecterror messages.
units, currency, graphics, dates and times, as
3. User Interface and audio. Reveal errors generated by installing
Component: Includes the localized software on a localized os.
localizable data aspects of design For example, Zip code field in Sign up
for localizers. This category and accessibility of form:
fragmentation, ambiguity, includes issues such 1) For globalized,
it should allow to enter alphanumeric
space limitations, hard-coding, text inputs.
information. fonts, image layering 2) For localized (country like INDIA),
and size it should allow only numbers in input field.
In I18N testing, The Localization Testing and Globalization
first step is to identify testing is done for adapting a product to
includes all the text all the textual information a local or regional
present on the in the system. This market & its goal is to make appropriate linguistic
application is producing application's GUI, and cultural
including error message/warning any text/messages that
aspects of product.
etc. and help/documentation These testing are performed with the
help of by translators, language engineers &
Main focus of the I18N localizers.
testing is not to find
product is ready functional defects, Internationalization and Localization Testing:
for the global market. but to make sure that
functional testing In non-functional
has been completed testing, it is assumed Reduces overall testing costs.
and all the functionality that
identified and removed. related defects are Reduces the support costs.
Help to reduce time for testing which result faster time-to-market.
It has more flexibility and scalability.
ST & QA- MCA (Mgt.) :
Sem !!
2.52 Software Testing!
Fundamert
2.12 BLACK BOX VS WHITE BOX TESTING
Table 2.3 summarizes ST& QA - MCA (Mgt.) : Sem ll
the difference between 2.53 Software Testing Fundamentals
black box and white box
Table 2.3: Difference testing
between Black Box and 8
Types:
White Box Testing Types:
Sr. Static Black Box Testing
No. Black box testing Static White Box Testing
White b0x testing Dynamic Black Box Testing
Dynamic White Box Testing
1 Focus: /O behaviour.
For any given Focus: Thoroughness Statement Coverage
input, predict the Branch Coverage
output, if it (coveragel
matches with actual Every statement in
the coimponent
output then the Path Coverage
module passes is executed at least once. 9. Mainly applicable to higher levels
the test. of Mainly applicable to lower levels of
2 Tester oes not testing: Acceptance and system
programs code. have access to Tester testing. testing: Unit, integration testing.
He only knows has access to the program's
the software is supposed what code andcan examine
to do. He help him with his it for clues to 213 CONCEPT OF SMOKE TESTING
doesn't know HOW testing. AND SANITY TESTING
or WHY
happens? 2.13.1 Smoke Testing
3
It is testing Smoke testing is a software
against functional testing technigue used
specification. Testing based on that the software's essential after software builds to ensure
design and features are operating properly.
implementation functional or regression tests are run It is run before any
4 (specification may structures in detail.
It is not based on any be ignored). Smoke testing looks for
knowledge of It problerns in specific sections
internal design or deals with the internal entire application. of the program rather than the
on requirements code. Tests are based structure of logic and
"Build Verification Testing" or
and functionality. thecode. "Confidence Testing" are
Therefore, programming testing. other terms for Smoke
knowledge is
not required. It is used to test the acute
S. functionality of the software.
It will not test the developers deliver a new build Smoke testing is done When
errors associatedhidden functions and It will not test limited to being carried out
to the Quality Assurance teams,
However, it is not
with them will not missing functions (i.e. simply at the outset of a new
found. be those described continue to operate even if new project. Smoke testing will
in the functiona! modules are added to current
design specification It is done by both testers functionality.
implemented but not and developers because it is
It's part of the thorough testing process, simple and requires little time.
by the internal and it employs test cases to ensure
6 Black box testing specification or critical components of the build are
so code). that all
not possible to is named as it is White box Smoke testing is a subset
in working order.
look inside
determine the box to possible totesting is so named as it is of acceptance testing.
the design look inside The basic goal of smoke
implementation structures and determine the box to testing is to rcjecta software program
the the QA team doesn't waste that has flaws so that
components you are testing. of the| implementation design and time evaluating defective software.
components you
structures Smoke testing can save test
are testing. of the
7. Synonyms: effort while improving the application's
Behavioral the client and the organization, quality. Based on
Functional testing, testing, Synonyms: smoke testing can be done
Opaque-bOx Structural automatically. manually or
concrete Box testing testing, Box testing, Clear
and Closed-Box Box testing, Glass-Box testing, Open Real-Time Example: Assume
that you are working for an e-commerce
testing. testing. new build is released site. When a
for testing, as a Software QA you have to
core functionalities are make sure whether the
working or not. So you try to access
add an item into your.cart to place an the e-commerce site and
Contd order. That's a major workflow in most e
of the
ST &
QA - MCA (Mat.)
:Sem ll 2.54 Software
Testing
Fundama,
Commerce sites. If this
flow works, you can say
to functional testing on same
this build is passed. You can
the build. ST&QA
-
MCA(Mgt.) :Sem ll 2.55 Software Testing Fundamentals
Advantages: moit
1. 3. Most of the time Sanity testing is not at all scripted, which may
It helps to find issues
in the early phase of testing. be a problem for
2. Some testers.
Improves the overall quality
3. Very limited of the system.
number of test cases is required to
Disadvantages: do the Smoke testing. Initlal or
Unstablo Build Smoko Tesing Smoke Tost
1
Is Yes
Smoke testing does is not Passcd
detailed.
2. Smoke testing
sometimes causes wastage
stable. of time if the software build
i Build 1
3. This type
of test is more suitable if you can automate;
spent manually executing otherwise, a lot of tima:. Build 2 System and/or
the test cases. Build Rejectcd
2.13.2 Sanity Testing Regression
Tsting
Sanity testing determines Build N
new module
build are stable enough to whether additions to an existing
proceed to the next stage softu:.
Surface Level Testing,
and it is required to quickly of testing. This is also known:
assess the
regressions. quality of softw Stable Build Sanity Testing Sanity Test
Yes
Sanity tests also guarantee is Passed
that any modifications
build's other capabilities. made do not affect
Sanity testing is a type the softwar:
assurance. of regression testing used in qual:y
Fig 2.26: Smoke Testing and Sanity
The goal is to determine Testing
testing is similar to Regressionif the proposed functionality works as expected. Sanity Summary
that cover all the AUT or testing in the fact that you
application area but ch0ose specific scenarios Software testing is the process of executing a
factors. It is executed at an shorter and based on software program or an application for
end in the process of a software the highest risk finding the bugs.
Real-Time Example: development Lifecycle. An error is a human action that produces an incorrect
Let's take the same result.
on an e-commerce example as above. Assume you
site. A new feature are working A defect is a flaw in a component or
system that can cause the component or system
functionality. Here your is released which
is related to Search to fail to perform its required function, e.g. an
main focus should be on incorrect statement or data definition.
make sure that the the search functionality. A defect, if encountered during execution, may cause a
Search functionality is Once you failure of the component or
major functionality such as payment working fine then you moves on
flow. to othe: system.
Advantages: A failure is actual
deviation of the component or system from its expected delivery,
1. It helps to
find related and missing objects. service or result.
It saves lots A software bug is an error, flaw, failure or
fault in a computer program or system that
of time and effort because
functionality. it is focused on one or causes it to produce an incorrect or unexpected result, or to
few areas of behave in unintended
3. It is the simplest way ways.
to assure ethe qualityof product
Disadvantages: the before it is developed. Software Testing Life Cycle (STLC) refers to a testing process which has specific steps
to be executed in a definite sequence to ensure that the quality goals
1.
Its scope is relatively narrow, compared to have been met.
i the other typesof testing. In STLC process, each activity is carried out in a planned and systematic way. Each
2. It focuses only on
the commands. andfunctions of phase has different goals and deliverables.
the software.
ST& QA - ACA (Mgt.) :
Sem l 2.56 Software Testing
Fundame,
Unit testing is performed at developer's
well end to make sure that their code
and meets the user specifications. The QA - MCA (Mgt.)
: Sem l!l
aim of unít testing is to divide is ST &
2.57 Software Testing Fundamentals
of the program and test that the separate part are working
correctly. everj
Integration testing is a technique to Checking that we are building the system right
(c)
Modules are typically code verify joint functionality after (d) Performed by an independent test team
modules, individual applications, integra
applications on a network, etc. client and 6. What are the various Testing Levels?
Agite testing is specified as (a) Unit Testing
an advanced and dynamic (b) System Testing
performed regularly throughout every type of Testing (c) Integration Testing
iteration of the SDLC (Software (d) Allof the Above
Life Cycle) by the
agile test engineers.
Types of Black Box Testing:
Devel! thi 7. The plan for unit testing, system
testing, and acceptance testing is called
Functionality Testing and Non-functionality
Functionality testing used to Testing (a) A test plan
verify the functionality of (b) A development plan
whether the function is working the software applira:
according to the requirement (c) A Re-Test Plan
(d) None of above
The primary purpose specification.
of non-functional testing is to test 8. Software mistakes during coding are known as
software systemn as per non-functional the reading speed of
parameters. (a) erTOrS
In the V model, all the activities go (b) bugs
on the downward (c)
failures
in time, it starts moving in direction first and at one neis. (d) defects
the upward direction to re-use 9. Which testing technique
testing process and forms V the test document for tb,: is used for usability testing?
shape. (a) White-box testing
Smoke Testing is a software (b) Grey box testing
testing process that determines whether the deplor
software build is stable or (c) Black Box testing
not. (d) Comnbination of all
Sanity testing is performed 10. "" model is
working as properly. to ensure that the code
changes that are made ar. (a) Test type
(b) Test Level
Check Your Understanding
(c) Software development
testing (SDL(C) model
1 Which of the following (d) Test design technique
is not a valid phase
Cycle)? of SDLC (Software Development Lite
(a) Testing Phase ANSWERS
(c) (b) Requirement Phase |1. (d) 2. (a) 3. (b)
Deployment phase 4. (b) 5. (c) 6. (d) 7. (a) 8. (b)
2. Functional (d) Testing closure 9. (c) 10. (c)
testing is a
(a) Test type
(b) Test design
(c) Test level technique Practice Questions
3. Locating or (d) SDLC Model
identifying the bugs is known as Q.I Answer the following questions in short.
(a) Design
(b) Testing 1 What are the different methods of testing?
(c) Debugging
(d) Coding 2. What is SDLC?
4. Black box
testing is only functional testing. 3. What are the different levels of testing?
(a) True
(b) False 4. What is usability testing?
5. Verification is S. What is User Acceptance Testing?
(a) Making sure that is
it what the user really wants 6. What is system testing?
(b) Checking that we are building
the right system 7. Define the term: regression testing
ST& QA - MCA (Mgt.) :Sem Softwarc Testing
Il 2.58
Fundamerta
Q.Il Answer the following questions.
1. Explain Load and Stress Testing?
2. On what basis the acceptance plan is
prepared?
3.
What is Verification and Validation in Software Testing?
4. Explain V modcl and W model.
3...
5. Describe seven
testing principles.
6.
7.
Explain any 4 non-functional testing types.
Write difference between smoke testing
and sanity testing.
StaticTesting
8
What is software testing? What is the effect
Q.III Write a short note on:
ofit on software quality?
1. Agile Testing
Objectives...
2. Smoke Testing To understand the concept of Static Testing.
3. Sanity Testing To study Review in Static Testing Techniques.
4. Structural Testing To study Static Analysis of Static Testing Techniques.
5. Functional Testing
3.1 INTRODUCTION
Static testing is a software testing techniquc for evaluating
the quality of the
software without actually executing the code.
This testing purposes to detect errors right from the requirement
gathering stage of
SDLC (software development life cycle),
all the way up to source code.
Finding errors in the documentation stages helps in the prevention errors
of at later
stages and thus, it is cost-effective to perform static testing.
Static testing is done either manually which is performed in Reviews or
through
testing tools that are performed in Static Analysis.
(3.1)
ST & QA - MCA (Mgt.) :
Sem ! 3.2
Statlc
in the life cycle (e.g., defects found Tet
remove than those detected in requirements) are often much cheape: ST& QA - MCA (Mgt.) Sem lll :
Planning
Overview
Requirements
Individual Follow-up
preparation Design
Without inspection
Rework
Inspection Planning
meeting
Coding
use
depending upon on his/her usage. Bill > 100 (Usage - 200)
Bill
define Bill
Example: 0.1
(Y N
Consider the following source code: 8. use Bill
l8. Bill = Bill 0.9 define Bi
Fig. 3.5: Control Flow Diagram Fig. 3.6: Annotated Control Flow Diagram
for Variable Bill'
ST & OA - MCA (Mgt.)
:Sem Ill
3.18
Slatic
0. define usage Tet
sT& QA - MCA (Mgt.) : Sem |
3.19
Static Testing
Table 3.4: Static Analysis
for variable 'Bil1'
Anomaly
use usage 3 Explanation
0-1 Allowed. Normal case.
dd 0-1-2-3 Potential bug. Double definition.
4 du 3-4-5-6
use usage 5. Allowed. Normal case.
use usago
ud 6 Allowed. Data is used
and then redefined.
uk 10-11 Allowed
1-2-3
Potential bug. Double definition.
6. use usage 7-8 Allowed. Normal case.
|k 11 Allowed. Normal case
N
8 Table 3.5 covers the
Static data flow testing for
any bug. Variable 'Usage' and did not
0
discover
9. use usage
Table 3.5: Static Analysis
11. kill usago for variable 'Usage'
Fig.3.7: Annotated Anomaly
Control Flow Diagram Explanation
For variable 'Usage', for Variable 'Usage' -d Allowed
- define: normal case the define-use-kill patterns
are: du 0-1-2 Allowed. Normal case.
define-use : normal case uk 9-10-11 Allowed.
use-use:normal case
S-6 Allowed. Normal case.
use-kill:normal case k
11
For variable 'Bill', Allowed. Normal case.
the define-use-kill patterns Static Data-flow testing
~
define: normal case are: will fail in situations
cannot be determined where the state of a data
by just analyzing variable
define-define: suspicious variable is used as an the code. This is possible
index for a collection when the data
define-use :normal case For example, in case of data elements.
of arrays, the index might
use-define: acceptable execution. Hence we be generated dynamically
can't guarantee what the state during
use-use: normal case referenced by that index. of the array element is which is
use-kill:normal case Static analysis methods are
also inadequate for :
The static data-flow Dead variables : Detecting
testing for the given unreachable variables is unsolvable.
anomaly: application discovered Pointers: Impossible to verify
the pointer values at compile time.
Bill:define - define following 3.3.1:2 Dynamic
Data Flow Testing
Table3.4 covers the Static data flow The primary purpose
usage 0-1-2-3 is a potential testing for Variable of dynamic data-flow testing is to uncover
bug. 'Bill' and discovers usage during possible bugs in data
the execution of the code. To achieve
that the trace every definition to this, test cases are created which
each of its use and every use
definition. is traced to each of its
ST & QA - MCA (Mgt.) :
Sem l
3.20
Data Flow Testing salic
Strategies: Tes
Various testing strategies ST& OA - MCA (Mgt.) : Sem
employed for the creation of !
Table 3.6: Testing Strategies thetest cases are: 3.21
Static Testing
for the creation of the test cases 6
All-c-uses/Some-p 'For every variable and every definition
Sr. Testing Strategy uses (ACU+P) of that variable,
No. include at least one path from
Explanation the definition to every
computational use; if there are definitions
1. All-du paths
'Every du path from every that are not covered then add predicate useof thecases
variable
(ADUP) definition of every required to cover ever y definition'. test as
every use of that definition' variobe In this testing strategy, for every
It is the strongest data-flow from every definition to every c-usevariable, a
there is path
testing strategy since it i there is a definition of that definition. If
superset of all other no c-use
data tlow testing stratepia use of the definition with following it, then a p
Moreover, this strategy All-definition (AD) is considered.
requires greatest number patb.i 7. 'Every definition of every
for testing. of one use of that variable be covered by at least
2
All-Uses (AU) variable, be that use a computational use
'At least one path from every or a predicate use'.
definition of every variable
to every use of that can be In this strategy, there is path every definition to at
reached by that definition' least one use of that de finition. from
For every use of the Note: ln the above tabe italic text shows
variable, there is a Formal Definition of Testing
definition of that variable to the use. path from th Eyample: Strategy.)
3. .
All-p-uses (APU) 'APU Strategy is derived from APU+C Let us consider our billing application
by dropping the control flow graph is and perform dynamic data-flow
requirement of including a C-use there are no p-use annotated testing.The
if references to all other variables for each variable (Fig. 3.8 and Fig. 3.9) by removing
instances following the definition' and
definition, 'c-use' for computational replacing the contents
use and 'p-use' of the nodes with 'def for
In this testing strategy, for every 0. Start
for predicate use.
variable, there is path
from every definition to every p-use 0. daf
of that definition. t
there is a definition with no p-use following 1. def
dropped from contention.. it, then it is
4. All-c-uses (ACU)
'ACUStrategy is derived from ACU+P Y
by dropping the 2 3. def 2
requirement of including a p-use p-uso 3
if there are no c-use
instances following the definition'.
In this testing strategy, for every
variable, there is a path
from every definition to every c-use 4 4.
5.
there is definition with no c-use of that definition. If
p•use
a p-use
following it, then it is N
dropped from contention.
5. All-p-uses/Some-c- |For every variable
and every definition of that variable, 7.
uses (APU+C) include at least one N p-use
6. C-use,def 7 6. C-use
path from the definition to every
predicate use; if there are
definitions of the variable that Y
are not covered then
add computational use test cases as 8. C-use,def
required to cover every definition'.
In this testing strategy, 10. C-use 10
9. C-use
for every 9. C-use,def
from every definition to every variable, there is a path
p-use
there is a definition with no p-use of that definition. Ii 11. End 11
use of the definition following it, then a C Fig. 3.8: Annotated Control Flow Diagram Fig. 3.9: Annotated Control Flow
Diagram
is considered. for
for Variable 'Usage'
Variable 'Bill'
ST& OA - ACA
(Mgt.):Sem
ll 3.22
The testing Static
Teslrg
strategies are then applied to
cases are derived. the annotated control flow ST& QA - MCA (Mgt.)
:
Sem l!
graphs 3.23
Table 3,7 presents andte:, Static Testing
application. the list of test paths for variables 'Bill' 8-10
and 'Usage' of tho
In Table 3.7 for variable bilin, 9-10
'Bill': All du
Path 1-2-10 depicts an all-definition (ACU + P) +
(ACU+ P) +
For All c-uses, we path from definition in 1 to c-use (ADUP)
(APU + C)
trace a path for every definition of in 10. (APU + C)
path tracing from every C-use to Bill to at least one c-use All definition 1-2-10
its definition. The same 0-1-2
applies for All p-useeanda (AD)
3-4-5-6
Table 3.7: Data flow testing
paths for each variable 6-7
Strategy 8-10
Bill Usage
All uses 9-10
3-4-5-6 0-1-2 After obtaining the test paths,
(AU) test cases are created by giving
6-7 0-1-2-3-4 parameter (Usage'). We alues to the input
obtain different test suites
6-7-8 0-1-2-3-4-5 application considered, we get 2 for each variable. For the
test suites for 'Bill' and 'Usage'
8-10 and3.9 shows the test suite for Variable respectively. Table 3.8
0-1-2-3-4-5-6 'Bill' and Úsage'.
3-4-5-9 0-1-2-3-4-5-9 Table 3.8: Test suite for
Allp- uses Variable 'Bill'
1-2-3-4-5-6-7 0-1-2 Uses Bill
(APU) Input Usage Value Expected Value
3-4-5-6-7 0-1-2-3-4 All definition 1-2-10
6-7 0-1-2-3-4-5 (AD)
3-4-5-6 0.0
All c- uses 220 92.0
1-2-10 0-1-2-3-4-5-6 6-7
(ACU) 220 92.0
3-4-5-6 0-1-2-3-4-5-9 8-10 350 94.5
3-4-5-9 9-10 220
3-4-10 All c- use 92.0
1-2-10
6-7-8 (ACU) 0.0
3-4-5-6 220
6-7-10 92.0
6-7-8 350
8-10 94.5
8-10 350
9-10 94.5
All p-use/somec 9-10 220
1-2-3-4-5-6-7 92.0
0-1-2 All p- use 1-2-3-4-5-6-7
(APU + C) 3-4-5-6-7 220
0-1-2-3-4 (APU) 92.0
3-4-5-6-7 220
6-7 92.0
0-1-2-3-4-5 6-7
8-10 220 92.0
All c-use + p 1-2-10
9-10 0.0
(ACU+ P)
Allc-use/some p 1-2-10 3-4-5-6 220
0-1-2-3-4-5-6 92.0
(ACU + P) 3-4-5-6 3-4-5-9 170
0-1-2-3-4-5-9 75.0
3-4-5-9 6-7-8 350 94.5
6-7-8 8-10 350 94.5
9-10 170 75.0
Contd..
Contd.
3.24 StalcTes
Al p-use+c 1-2-3-4-5-6-7 220 sT& QA- MCA (Mgt.)
: Sem lll
3.25 Slatic Testing
92.0
(APU + C)
3-4-5-6-7 220 92.0 In addition with Code Coverage (Statement, Branch, Path and Function coverage)
6-7 220 92.0 discussed earlier. CFA also deals with Independent Program Paths and Loop Testing.
S-10 350 94.5 B3.21 Independent Program Paths
9-10 170 75.0 An independent path is any path through the program that introduces at least one
Al uss 3-4-5-6 220 92.0
new set of processing statements or a new condition.
(AU) 6-7 When stated in terms of a flow graph, an independent path must move along at least
220 92.0 one edge that has not been traversed before the path is defined. For example, a set of
6-7-8 350 94.5
independent paths for the flow graph illustrated in Fig. 3.10 is:
8-10 350 94.5
3-4-5-9 170 75.0
3.4 CASE STUDY : PREPARATION OF SOFTWARE Are all the conditional paths reachable?
CHECKLIST INSPECTION 2. Are "goto" and "labels" used only
when absolutely necessary?
It is useful to have a Software 3. If there is a nested "IF" statemnent, are the THEN
Inspection Checklist. Checklist and ELSE parts
should be used to drive the inspection. of common errors appropriately delimited?
Error checklist is programming 4 In branch like SWITCH I CASE statement,
dependent. language is a default clause
a provided? Are the breaks after each CASE
In multi-product organization, appropriate?
the checklist may beat two levels: Are there are any loops that wil never execute?
1. Organization-wide
Checklist: It includes issues as organizational
such 6. Is there any part of code that is unreachable?
standards, documentation standards, coding
and so on.
2. Product or Project-specific
Checklist: It addresses issues Standards related:
or project. specific to the product
Given below is a checklist Y, N, N/A
that covers some of the common issues.
1. Does the code follow the coding conventions of the
Example 1: CODE REVIEW CHECKLIST organization?
2. Does the code follow the coding conventions
Data item declaration related: that are platform
specific?
Y, N, N/A
1. Are the names
of the variables meaningful? Style related :
:
1
Are unhealthy programming constructs (For example Globa!
variables in C) being used in program?
ST &
QAACA (Mgt.) : Sem ll 3.30
Static
Miscellaneous : Tesr
- : Ill
ST& OA MCA (Mgt.) Sem
Y, 3.31 Static Testing
N, NJA
1 Have you checked for memory Computation (Lexical rules for operators) :
leaks (For example : Memory
Y, N,N/A
but not explicitly freed)? acquite,
Do assignment and
conditional operators always have space
Documentation related: around them?
Y, N, Are commas and semicolons
NJA followed by a space?
3 Are unary operators adjacent to
1 Is the code adequately documented, their operands?
especially where the loeie : 4. Do primary operators "s"
complex? "" "0" have a space around them?
(Should have none)
Is appropriate change history documented? :
Comments
Y, N,N/A
Exception related :
1
Isthe module header informative
Y, N, NIA and complete?
2. Are there sufficient comments to
1
Have all possible error conditions 3.
understand the code?
been taken into account? Are the functions of arrays and
variables described?
4
Are changes made to a module
Example 2: Code review checklist, after its release noted in the
especially forClanguage. development history section of the header?
Functionality : Interface Related:
Y, N, NIA Y, N, N/A
1
Is there code, which should 1. Do all function and procedure calls have
be in a separate function? the correct number of
2. Is the code consistent parameters?
with performance requirements?
3
Does the code match
2
Do formal and actual parameter
the detailed design? types match?
3. Are the parameters in the right
order?
Data, Constants, and Variables : 4. If components access shared memory, do
they have the same
Y, N, NIA model of the of the shared memory
structure?
1
Are allvariable names
lower case? Summary
2
Are all constant names upper Static testing isa software testing method
3 case? that iinvolves the examination of a
Are constants defined via. program, along with any associated
4
"# define"? documents, but does not require the program to
Are constants that are be executed.
used in multiple
INCLUDE header file? files defined in an
Static testing is performed for the following reasons: We can
Control and Linkage : find and address defects
and errors early on. It improves development productivity.
Y, It reduces testing costs
N, N/A and the timeline for dynamic testing
later on.
1
Are "else if" and "switch" Static testing is carried out with two different steps or
used clearly? techniques: Review and Static
2 Are "goto" and "labels" Analysis.
used only when absolutely
3 Is "while" necessary? Review is typically used to find and eliminate errors or
rather than "do while" ambiguities in documents
Are "INCLUDE" files used wherever possible? such as requirements, design, test cases, etc.
4. used according to
5. Are nested "INCLUDE project standards? In static testing, reviews can be divided into four
different parts: Informal Review,
files avoided?
WalkThrough, Technical Review, Inspection
ST & QA• MCA (Mgt) : Sem lM 3.32
Siallc
Teai
Static Analysis is the code written by developers are analysed (usually sT & OA - MCA (Mgt.)
:
Sem iI
by tool3) 3.33 Statlc Testing
structural defects that may lead to defects.
(c) Revicwer
Static Analysis can be further classified into three parts, Data Flow. Control (d) Scribe
Cyclomatic Complextty. Flow (c) (a) and (d)
Phases of formal reviews are: Planning, Kick-off, Preparation,
G
Which is a formal review technique?
Review
Rework, Follow-up. meelg, (a) Walkthrough (b) Pecr to Peer Review
Static code analysis is the process of detecting errors and (c) Inspection
defects in software,
(d) Al of the above
sOurce code. 6. 'If static testing is done prior to dynamic testing, it would be
beneficial'. True or
The static data flow testing process involves analyzing the source code False.
withou
executing it. (a) True
(b) False
Control flow analysis (CFA) is a static program 7. Which documents can be revicwed in static testing?
analysis for determining the cont..
flow of a program, which is usually expressed as a (a) Functional requirement specification
control flow graph (CFG),
Static analysis tool is typically used by the (b) User manual
developers before and somnetimes durits
component and integration testing. (c) Code
Check Your Understanding (d) Design document
(c) All of the above
1. Which are the benefits of Static Testing?
8. Which are methodologies of Walkthrough?
(a) Early feedback of a quality."
,(a) Scenario, Dry Run, Peer Group (b) Kick-off Meetings
fb) Less rework cost.
(c)
Formal Follow up Process
(c) Increased developmental (d) Includes Metrics
productivity. 9. Which of thefollowing is not a static testing technique?
(d) All of the above
(a) Error Guessing (b) Walkthrough
2. Arrange the following phases of a Formal
Review, according to the (c) Data Flow Analysis
they are conducted. order in which (d) Inspections
10. In Static Testing
1.Preparation
(a) code is not executed (b) code executed twice
2. Kick-off
(c) code executed repeatedly (d) None of the above.
3. Review meeting
4. Planning
5. ANSWERS
Follow up
1. (d) 2. (c) 3. (a) 4. (e) 5.(c) 6. (a) 7. (e)
6. Rework 8.(a)
(a) 1, 2,
4,3, 6, 5 9.(a) 10. (a)
(b) 4,1, 2, 3, 6, 5
(c) 4, 2, 1,3, 6, 5
(d) 4,2,1, 3, 5, 6
3 Which of the following can be Practice Questions
found using static testing
(a) Defect techniques?
(b) Failure QIAnswer the following questions in short.
(c) Both
(d) None
of the these
1. What are the static testing techniques?
4. During review meeting, defects are logged
by 2. What is meant by data flow analysis?
(a) Author (b) Moderator 3. Which are types of Reviews?
4. What is thedifference between static and dynamictesting?
ST& QA- ACA
(agt.) : Sem ll
3.34
5. Explain Walkthroughs. Stalic
Tesi
6. Write examples
of Technical Review.
Q.II Answer
the following questions.
1 What is Dynamic data
2. Explain
flow testing?
in brief Loop testing.
4...
4 What are
verification and validation?
S. What are
the valuable steps to
6. What are the
7. Explain the
resolve issues while
phases of a formal review? testing? Dynamic Testing
data flow analysis in detail.
8. Differentiate
between Walkthrough
Q,III Write a and Inspection. Objectives...
short note on:
1 Informal Review.
To learn about Black Box Testing
2. Technical Techniques.
Revie. To learn White Box Testing Techniques.
3. Inspection [ To know Experience-based
Techniques.
4. Review Meeting
5. Desk-checking
4.1 INTRODUCTION
Dynamic Testing is a kind
of software testing technique using which
behaviour of the code is analysed. the dynamic
The main aim of the Dynamic
Tests is to ensure the correct
during the installation of and workings of the
after installation of the software, to ensure software,
of the application, without any major defects. the stability
It validates the software's stability
and efficiency before and after execution.
Dynamic Testing is classified into two
categories: White Box Testing and Black Box
Testing.
4, "must be" condition : If an input test cases should be designed with - values a and b as well as values just
condition specifies a must above and
select one valid equivalence class to be condition, then just below a and b.
represent the "must be"
invalid cquivalence class that does not condition and one For example,for the insurance modu!e mentioned previously specified
include "must be" condition. that age
For example, if the must lie in the range 25-45; then boundary values for age are: 24, 25,
specification for a registration
characters of username must be module states that the first 4
letters, then select one valid 26,44,45,46.
where first 4 characters are equivalence class
letters and one invalid class 25 45
are not letters. where the first 4
characters
5. Boolean Condition: If an input condition is Boolean,
then select one valid
invalid equivalence class. and one
24 25 26 44 45 46
possible paths.
Coverage based Testing:
These types of White
box testing techniques
program to propose utilize the logical flow
test cases. By logical throuoh
parts of a program may flow that means
be executed as we run the way in which certai.
Execution of a test case causes the program.
Corresponds to taking a the program to execute
specific path through certain statements, whick
Different paths can be the flow graph.
taken by varying
edge to be taken from a the conditions to cause a
branch node. Branch, different
from the execution Statement and Path coverage branct
path of a program in ways isderived
edges and paths within that correspond to visiting Fig. 4.4 : Flow graph
the flow graph. nodes. showing statement coverage
Types of Code Coverage Various examples of statement coverage
based Testing: can be:
Code coverage testing <A, B, D, H, K>, <A, B, E,
H, K>, <A, C, F, I, K>, <A,C, G, I, K>
is made up of the following
(i) Statement
Coverage.
types of coverage: 43.2 Branch and Decision Coverage
(ii) Branch Branch coverage is determined
/
Condition Coverage. by assessing the proportion
(iii) Path Coverage. exercised by the set of decision branches
of proposed test cases. 100% branch coverage
decision branch in the program is where every
(iv) Function Coverage. is visited by at least one test.
4.3.1 Statement Coverage Branch coverage Total decisions exercised
=
Total number of decisions program x 100
Statement coverage Branch coverage corresponds in
is determined by assessing coverage is to visiting the branch edges
by the set of the graph. 100%
of proposed test cases. 100% statementthe proportion of statements visited where all branch edges are visited by
the paths taken by the test cases.
in the program is visited by at coverage
least one test. is where every statement
Statement coverage =
Total statements
Total number of executable exercised
Statement coverage statements in program
corresponds to visiting * 0
where all nodes are the nodes of the graph.
visited by the paths 100% coverage is
There are 10 nodes in the taken by the test cases as
sample flow graph. shown in Fig. 4.4.
Nodes<A, B. D, H,
K> trace one execution
path
10 nodes,
thus 50% coverage. Actual statementthrough
coverage
the program. It visits 5
of the
coverage levels levels may differ
depending on the way your graph from
many statements are is defined, e.g. node
grouped as one node, etc. For depending on how
anda decision statement can map instance, a sequence
into a single node, instead 2 of process
of nodae
Fig. 4.5 : Flow graph showing Branch Coverage
ST & QA- MCA (Mgt.) :
Sem ll 4.10
Dynamic
There are 6
branch edges
traces one execution in the sample flow graph (Refer Fig. 4.5). <A, Teste eT& QA- MCA (gt.)
:
Sem IlI|
4.11
path through the program. It visits 2 B, D, H,L, Dynamic Testing
33% coverage. of the 6 branch
edges, 4.3.3 Path Coverage
Example 3: thy
Path coverage is determined by
For the code in Fig. assessing the proportion of execution paths through a
4.6 (a) and its corresponding programn exercised
by the set of proposed test cases.
would have to develop test cases flow graph in Fig. 4.6 (b). a ouery path 100% path coverage is where
case that satis fies that exercise nodes 1-8 in t..
the graph. A possible .
in the program is visited by at least one test.
Path coverage corresponds to
100% branch coverage uisiting the paths through the graph.
is shown in table 4.1. 100% coverage is where all
the test cases. paths are taken by
1, pos_sum(a, no, sum) 1,2,3
Path coverage = Total paths exercised
2. Sum = 0 Totalnumber of
pathsin program
There are 4 paths in the sample
3. int i 1 False flow graph (refer Fig. 4.7). Path <A, B, D,
one execution path H, K> traces
through program. the It visits 1 of the 4 paths,
while(i=no) I Truo thus 25% coverage.
if(a[i] >
0)
6. 5
Sum = Sum + |False
a[i] Truo
end if
i = i + 1
end while
8. end pos_sum
Example 6: Based on the following procedure, identify 2 test conditions for each of
following: (1) Statement Coverage:
Married Nodes visited
(i) Statement coverage. Test case Age Gender
{1,2,4,5,6,7,8)
55 Female Yes
(ii) Decision coverage. 1
7 out of8 nodes visited i.e.
87%
statement coverage
(iii) condition coverage. {1,2,3,6,8}
coverage. Male No
(iv) Multiple condition 2 20 5 out of 8 nodes
visited i.e. 63%
(age, gender, married, premium) statement coverage
Procedure liability
begin Coverage:
Decision Coverage/Branch
(ii) Condition2 Condition3
premium :=500; Married
Condition1
((age <
25) and (gender
=
male) and (not married)) then Test case Age Gender (Node 4)
(Node 6)
if (Node 2)
premi um ::
premi
end;
ST & QA MCA-(Mgt.) : Sem 1! 4.14
(iii) Condition coverage Dynamic
& (iv) Multiple condition Testg
Let us consider coverage: - MCA(Mgt.) : Sem I
following
conditions for sT& QA 4.15
condition and Flow graph of Dynamic Testing
coverage as multiple condition the code:
.The various complexity metrics are :
follows:
1. Lines of code
Procedure 1iability
2. McCabe's cyclomatic complexity
(age, gender,
marricd, premium) 3. Halstead's software science
begin
1, Lines of Code:
1
premi um
:-500; It is simple metric. It counts
the number of lines of the code in a program
if ( (aqe <
25) and (gender the count as measure of complexity. and use
male)
and (not narried) ) 2. CyclomaticComplexity :
2. then It is software metric that
Prenium : premium + provides a quantitative measure
1500; complexity of a program. When used of the logical
else if (
(married or (qender in the context of the basis path
method, the value computed for Cyclomatic testing
female) ) then complexity defines the number of
3. independent paths in the basis set a program
Premium : premi um - of us
and provides with an upper
200; bound for the number of tests
if ((age that must be conducted to ensure that all
45) and (age <65)) statements have been executed at least once.
4 then
Premi um :
premium - 100: Cyclomatic complexity has a foundation
in graph theory and is computed in one
5. end; of following three ways :
C1- age < 25 The NUMBER OF REGIONS corresponds to
F the Cyclomatic complexity.
C2-gender = male Cyclomatic complexity, V(G), for a flow
graph G is defined as:
C3-not married V(G) = E-N + 2
(5.1)
ST& OA - MCA (Mgt.) :
Sem l 5.2
TestManageme
standards. Additionally,
they make sure that the software products ST& QA MCA (Mgt.)
:
Scm I!
ithouterors before they are pushed into production. work seamleesk 5.3
Tost Managomont
2. Test Managcr: test manager
A
acts as a project manager. This a the software product.
withín the QA or test team, is management testing process. Estimate,
for custom software tpositra
which is very common
organízations. Design the prioritize, plan,
outsourdrg Recruit and
3. Test Engineer: This automatcd testíing and coordinate
is generally used as an supervise the team.
can refer to many umbrella term to cover many processes and quality testing
engincers specialized in capabiliti . Communicate
testing, exploratory testing, various testing approaches, as ma. create activitics.
performance testing, etc such across
testing position that minimally It is also widely used to infor documentation.
departments. Create detailcd
relies on automation. Sclect and use the
4. Test Analyst: This a and well.
is position that,
business problems. Test rather than being more technical, tooling. structured test
analysts ensure the functional focucor
acceptable before it is readiness of the application i. plans and test
pushed into production.
troubleshoot tests to They generally design, Cases.
catch any defects or errors develop, run, and
-
environments. in the code in pre-production Create status
5. Test Automation
Engineer: This is a widely reports and defect
representing an engincer spread position among report.
who codes (most likely a developer), enterprises Create the strategy
automating test processes. but whose sole focus is on Develop scripts to
These people use for testing the Evaluatc and
Cucumber, or others to testing framneworks such as Selenium. run automated
effectively design product. observe the
advantage of test automation and write new test cases. tests.
engineers is that they are Another great Core Functions - product manually
software testing. well versed Manage the testing Design automated
in GUIdesign and to make sure it
process and
tests to streamline
5.2.1 Core Functions, Skills, workflow within the testing
doesn't go to
and Responsibilities production with
Software Testing of Roles in the team. process. any defects.
The software tester's Comprehensive
role in a project is utilized
depending on the size differently in different knowledge about
of the organizations
requirements of the organization.testing team, structure of the team, and specific testing strategies,
Comprehensive
Comprehensive knowledge about
Software testing job
titles or positions are typically Manualand knowledge about
the technology they use, called manual testing
the business domain they are "QA" or "test engincer", but automated testing Devops and agile
even the type in, the expertise methodologies.
of testing they make will differ. they have, or Required Skills knowledge. methodologies.
In the table below, you can Ability to
review a summary Ability to Coding skills.
required overall skills, of the core functions, responsibilities, understand the
and knowledge of required understand and -
testing roles. tools of some common Analytical skills. clients'
software
Table 5.1: Summary communicate both Problem-solving requirements.
of Software Testing Team - Roles/Responsibilities with the internal skills. Data analysis
Roles Test Automation team and also with skills.
Test Manager
Engineer QA Engineer
the client.
Set suCcess and Write, run, Automation tools
and Do the
Responsibilities quality metrics for monitor the and frameworks. Test management
product. automated test requirement |Tools
Management tools . Observability tools.
-
Plan and execute suites for the analysis for -
tools. Debugging tools
manual tests.
CI/CD tools
ST& OA MCA
(Mgt.): Sem I!
5.4
Test Hanagemen
5.2.2 Test Lead- Roles
and Skills sT& QA MCA(Mgt.) : Sem I!
5.5
Responsibilities of Test leaders tend to include .dantify and plan necessary Test Management
monitoring, and control involvement in skils development within their test team.
At the outset of the of the testing activities
and tasks. the planning, nnse a
business case tor test
project, test leaders, activities which outlines
devise the test objectives, in collaboration expected. the costs and henefte
organizational test policies, with theother stakehold. Eoeure proper
They estimate the test strategies and test communication within
testing to be done plans stakeholders. the test team and with
necessary resources. and negotiate with management other proiect
to acquire th. .Participate in and lead test process improvement
They recognize when initiatives.
test
select the tools, and ensureautomation is appropriate and, if it is, aTEsT PLANNING- TEST PLAN AS PER IEEE
training of the team. they plan the effor
such as programmers They may consult PLAN TEMPLATE 829 STANDARD TEST
They lead, guide -to help them with their testing. with other grouns
and monitor The test plan is a
the test cases, test procedures the analysis, design, implementation document describing
the activities and the testing scope.
They ensure proper and test suites. and execution of basic requirement any
for testing It is the
configuration management TEEE software product.
traceability of the tests to 829 is a standard
of the testware for software testing by
As test execution comes near, the test basis. produced and Electronics Engineers the Institute of Electrical
((EEE). It specifies and
they make sure the test documentation at each stage. all the stages of software
before test execution environmnent is put IEEE 829 defines testing and
They schedule the tests and managed during test into place the standards for software
execution. and citations. analysis
report on the test progress, for execution and then they monitor, measure, JEEE 829
standard TEST PLAN TEMPLATE
the test plan and compensating the product quality status control and /2014/03/ieee-829.pdf) (https://jmpovedar.files.wordpress.com
as needed to and the test results, adapting
During test execution adjust to evolving conditions. Sections of IEEE 829 Test Plan:
and as the project winds
test status. down, they write summary According to IEEE
829 test
Sometimes test leaders wear reports on plan standard, following
testing plan: sections goes into creating a
Alternatively, the test different titles, such as test
leader role may wind up manager or test 1 Test Plan Identifier:
coordinator.
development manager or assigned to a project manager, •
Test Plan Identifier, unigquely identifies
a quality assurance a
expect them to manager. Whoever project and, in the test plan. It contains information on
plan, monitor and control is playing the role, certain cases, version information. the
Along with the test the testing work.
identifier convention in some Companies may employ a test
leaders
projects, although most testers should also be included from instances. The type of test plan
plan is also included in the
testers until the test of the time the project the beginning of the test plan identification.
execution period. So, now we doesn't need a full complement of Preferably the test plan
will see testers responsibilities. level will be the same as
5.2.3 Test Manager- Roles and Skills number may also identify the related software level. The
whether the test plan is a Master
Test Manager manages integration plan or whichever plan, a Level plan, an
a testing project plan level it represents. This is to
by implementing software and testware versions assist in coordinating
testing processes established the mission, goals and within configuration management.
for the
Organize and lead risk identificationtesting organization. test plans are like
other software documentation, they are
Keep in mind that
such sessions for test estimation, and risk analysis sessions and use must be kept up dynamic in nature and
planning, monitoring the results of todate. Therefore, they will have revision numbers. You may want
Create and implement test plans consistent and control lnclude author and contact to
with information including the revision
strategies. organizational part of either the identifier history information as
policies and test
2.
section of as part of the introduction.
Continuously monitor and control the test activities References:
Assess and report relevant and timely test status to achieve project ASt all documents
t to project objectives.
stakeholders.
that support this test plan. Refer to the actual
version/release
Identify skills and resource gaps in their test umber of the document as stored in
team and the configuration management system. Do
adequate resources. participate
in sourcing upicate the text from other documents as n0t
this will reduce the viability of this
dOcument and increase
the maintenance effort.
ST& QA - MCA (Mgt.) : Sem Il 5.6 TesttManagemert
Documents that can be referenced include:
- :
er& QA MCA (Mgt.) Sem u
5.7
o
Project Plan
o Requirements
ao are some
inhercnt sottware risks
such as complexity:
Test Management
specifications identified. these need to he
o High Level design
documnent Safety
Detail design document o Multiple interfaces
Development and Test process standards o Impacts on Client
Methodology guidelines and examples Government regulations and rules
Corporate standards and guidelines Amisunderstanding of
the original requirements is
3. Introduction: etr at the management, user another key area of risk. This can
and developer levels. Be aware
State the purpose of the Plan, possibly and requirements that cannot be tested. unclear requirements
identifying the level of the plan (master ete) The past history
This is essentially the executive summary of defects (bugs) discovered during
part of the plan. ootential areas within
You may want to include any the software that are risky.
Unit testing will help
identify
references to other plans, documents
contain information relevant to or.items that
this project/process. If preferable, you can
large number
of defects or a tendency towards If the unit testing discovered a
references section to contain all create a software, this is an defects in a particular area
reference documents. indication of potential future of the
Identify the Scope of the plan in relation ie the nature problems.
to the Software Project of defects to cluster and
Other items may include, resource plan that it relates to. it will most likely bunch together. If it was
continue to be defect prone. defect riddern earlier.
and budget constraints, scope risks are is to have One
how testing relates to other
evaluation activities (Analysis &
of the testing effort. several brainstorming sessions. good approach to define where the
the process to be used for change control Reviews), and possible 6. Features To Be
Tested:
and communication and coordination , This a
activities. As this is the "Executive of key is listing
Summary" keep information of what is to be tested from
4. Test Items (Functions): brief and to the point. does. This is not a the USER'S viewpoint of what
technical description of the system
These are things to test functions. Set the level the software, but a user's view
within the scope of this test of risk for each feature. of the
will test, a list of what is to plan. Essentially, something you Use a simple
be tested. This can be developed rating scale such as (H, M, L):
application inventories as well as from the software levels are understandable High, Medium and Lov. These
to a User. You should types of
This can be controlled other sources of documentation be prepared to discuss why a
and defined
and information. particular level was chosen.
process you by your local Configuration Management
if have one. This information (CM) It should be noted
includes version numbers, that Section 4 and Section 6 are very
requirements where needed, configuration difference is the point similar. The only true
(especially if multiple of view. Section 4 is a technical type
supported). It may also include versions of the product are version numbers description including
key delivery schedule
issues for critical elements.
and other technical information
Remember, what you are viewpoint. and Section 6 is from the User's
section can be oriented testing is what you intend to deliver to the Client. Users do not
to the This understand technical software terminology:
application or functional area, level of the test plan. For higher levels, may and processes as they understand functions
for lower levels it may be program, it be by they relate to their jobs.
build. by unit, 7. Features
module or Not To Be Tested:
5. Software Risk Issues: Ihis is a listing of what is NOT to
Identify what software be tested from both the Users viewpoint
is to be tested and System does and a of what the
Delivery of a third party product. what the critical areas are, configuration managemnent/version control
such as: technical description view. This is not a
New version of interfacing software
of the software, but a USERS View of the functions.
laentity WHY.the feature is not
Ability to use and understarnd a new to be tested, there can be any number
package/tool, etc.
Reasons may of reasons.
be:
Extremely complex functions. o Not to be included
Modifications to components in this release of the Software.
with a past history of failure. O Low risk has been
used before and is considered
Poorly documented modules or stable.
change requests, wu be released but not tested or documented as a
of this version functional part of
therelease
of the software.
ST &QA - MCA
(Mgt.) : Sem ill
5.8
Sections 6 Test Managemen
and7 are directly related
tested is directly to
affected by the levels Sections 5 and 17. What will
:
er& OA MCA (Mgt.) Sem l
-
the total number of defects found application cannot be tested, as needs connectivity
in software during a specific the connectivity could not to a third party
operation or development. The results are period of t: P
then divided by the size of that limitations. This section be established due
to some
module, which allows the team to particulat should be clearly documented;
decide whether the software sceumed that Testing covered else it yill be
or whether it requires more is ready for the rol all areas of the application.
testing. i. In Scope:
Defect density is counted per
thousand lines of code also Eunctional Testing
used for this is: known as KLOC. The for the folowing modules are
forml Registration in Scope of Testing:
Defect Density = Defect Count/Size
Example: For a particular of the Release/Module ii. Booking
test cycle there are 30 ii. Payment
components). The density would be: defects in S modules (nr
ii. Out of Scope:
Total no. of defects/Total no.
Testing for defects during of modules = 30/5 =6. DD per Performance Testing was not
module is 6. done for thisapplication.
the development of your
rate of the software software will predict iii. Items not tested:
released on the market. the defect
testing, it means there was If the defect density is Verification of connectivity
high during
development of your app.
likely a high rate
of errors occurring during the System' was not tested, as with the third party system 'Central Repository
some technical the connectivity could not
be established due to
S.4.2 Reporting Test limitations. This can be
Status (IEEE 829 TEST SUMMARY Testing) where the connectivity verified during UAT (User
TEMPLATE to REPORT is available or can be established. Acceptance
be discussed) 4. Metrics:
(https://www.softwaretestinghelp.com/wp-content/qa/uploads/2014/06/Sample-Test .
Metrics will help to
Summary-Report-by-SoftwareTestingHelp.pd) understand
the test
execution results, status
defects etc. Required of test cases &
A test summary report a Metrics can be added as necessary.
is Quality work product Example: Defect Summary ·
summarizes the results
of all testing. The Lead or/
Test document Severity wise; Defect Distribution -
that formally wise; Defect Ageing
etc. Function / Module
document at end Test Manager prepares Charts / Graphs can be
STLC/SOftware
of the Testing, means this representation. attached for better visual
in Test Closure
Test Process). phase (Last phase in i. No. of test cases
A typical Test Report
Template will contain
planned vs executed
1. Purpose: the below information: i. No. of test cases
passed/failed
This document explains Test cases
the various activities Test cases Test cases
Transport System' application. performed as part Planned Test cases
of Testing of 'ABCD Executed Passed
2. Application Overview: 80
Failed
'ABCD Transport 75 70
System' is a web-based
various buses can Bus ticket booking
be booked using application. Tickets TCs Fail
information is received the online facilities. for
from a 'Central repository Real time passenger 17% TCs Pass
before booking is system', 93%
confirmed. There are which will be referred
Payment and Reports several modules like
which are integrated to Registration, Booking.
3. Testing Scope: fulfill the purpose.
Thissection explains
about
Anvitems which are not the functions/modules in scope & out scope
of
tested due to any constraints/dependencies/restrictions.for testing:
L
environment) for testing to (deployed into Test
make sure the major functionalities are
20 fine, Build can be accepted and Testing can working
start.
i. System Integration Testing:
15 This is the Testing performed on
the Application under test, to verify
D
Cosed entire application works as per the the
requirements.
10 Critical Business scenarios were
Open tested to make sure important functionalities
in the application works as intended
without any errors.
5
iii. Regression Testing:
Regression testing was performed
each time a new build is deployed
testing which contains defect fixes for
Cntical Major Modium Cosmotic
and new enhancements, if any.
Regression Testing is being done on
the entire application and not just the new
Fig, 5.3: Graph of Defects
Severity and Status functionalities and Defect fixes.
iv. Defects distribution - Modulewise: This testing ensures that existing
functionalities works fine after defect fix
and new enhancements are
added to the existing application.
Registration Booking
Payment Reports Test cases for new functionalities are
Critical 6 Total added to the existing test cases and
Major 7 25 executed.
2 6. Test Environment & Tools:
Medium 6 15
2 This section
Cosmetic 1
4 20 provides details on Test Environment in which
2 the Testing is carried out.
1 Server, Database,Application URL etc. If any Tools were used like Quality
Total 17 Center (now
22 10 HP ALM)
16 65
for logging defects.
25%
Application URL http://abcd.2345.com
26% Apps Server 192.168.0x.22
URegistration
Database Oracle 12g
DBooking
HP QC/ALM 192.168.X0.22
Paymont 1.
344 Lessons
Learnt:
IReporls
nis section is used to describe the critical issues faced and their solutions (how
they
oved during the Testing). Lessons learnt will help to make proactive decisions
Fig. 5.4: Defects Distribution-Module Wise during the next
Testing engagenent, by avoiding these mistakes or finding asuitable
workaround.
ST & QA MCA (Ag.) :
Sem Ill 5.16
TostManagemes
Sr. No. : Sem I!
sf& QA HCA(Mgt.)
-
Issues faced 5.17
1 Smoke testing test cases
be executed manually each
Solutions
required to Smoke test cases were
automated a
. Conclusion/Sign off:
Test Management
time. the scripts were run, This section will mention whether
the Testing team agrees and gives a
which ran fast Abe application to 'Go Live' or not,
and saved time. Green
2. after the Exit Criteria was met. signal
Initially, Few testers were not application does not meet the Exit Criteria, If the
Rights were obtained then it can be mentioned as
having rights to change defect from Client, by application is not suggested to "The
explaining the difficulty. 'Go Live'. In this scenario, It will be
status in HP QC/ALM. Test Jaision of Senior Management and Client and other left with the
lead Stakeholders involved to take
need to perform this task. he call on whether the application can 'Go Live' or not.
8. Recommendations: abo Fxit criteria was
Inet and satistied as mentioned
ie suggested in Section 10, this application
Any workaround or suggestions can to 'Go Live' by the Testing team.
be mentioned here. Appropriate User/Business acceptance
testing should be performed before 'Go Live'.
Admin control for defect management
lead/manager for providing access to tool can be given to 12. Definitions,
Acronyms, and Abbreviations:
Testing team. ffshore Test rhicsection mentions
Each time the onsite Admin the meanings of Abbreviated terms used
need not be contacted for requests any other new in this document and
arise, thereby saving time due to whenever they definitions.
the geographical time zone difference.
9. Best Practices: S.4.3 Test Control
There will be lot of activities Test Control occurs based on
done by the Testing team the results of Test Monitoring. It refers to taking
them could have. saved time, some during the project. Some of corrective action based on test
proved to be a good & efficient way monitoring reports to improve quality
These can be documented as a to work,etc. Some examples of test control and efficiency.
'Value Add' to show case to activities would be:
Example: A repetitive task done the Stakeholders. o
Prioritize testing efforts in adifferent way.
manually every time was time
was automated consuming. This task o
Reorganize test schedules and deadlines.
by creating scripts and run
each time, which saved
resources. time and o
Restructure the test environment.
Smoke test cases were automated o
Reprioritize the test case and conditions.
and the scripts were run, which ran
saved time. fast and Test Control is essentially
modifying the testing process so that it becomes better
Automation scripts were prepared to create new suited for meeting the defined objectives.
customers, where a lot records This may require adding extra resources,
need to be created for Testing. of reducing the scope of release, or splitting the
release into multiple releases, etc.
Business critical scenarios are Obviously, what specific test control
separately tested on the entire activities will be implernented depends on a
are vital to certify they work fine. applications which variety of factors - stakeholders' opinions, budget,
project complexity. availability of
10. Exit Criteria: testers, and the like.
Exit Criteria is defined asa Completion of Test Control goes hand-in-hand
Testing by fulfilling certain with Test Monitoring. Obviously, once Monitoring
conditions. Identifies any bottlenecks that may prevent a test cycle
Alltest cases should be executed- Yes from meeting its goals,
Control activities will have to come into play to ensure
Aldefects in Critical, Major, Medium severity should otherWise.
o Ány open be verified and closed - Yes.
defects in trivial severity - Action plan D.5 REQUIREMENT TRACEABILITY MATRIX (HORIZONTAL &
prepared with expected dates
of closure. VERTICAL)
Example: No Severity1 defects should be 'OPEN"; Only 2 Severity2
defects should
be 'OPEN; Only 4 Severity3 defects should be 'OPEN' Airaceability Matrix (TM) is a document that correlates any two baselined documents
may which
Note: This vary from project to project. Plan require a many-to-many relationship comparison, checking the completeness
of Action for the Onen defects
should be clearly mentioned with details on when S how they will of said relationship.
be addressed A Requirement
and closed. Traceability Matrix(RTM) may be used check the current project
to if
Tequirements are of a request for proposal,
being met, and to help in the creation
ST & QA - MCA (Mgt.) : Sem
ll 5.18
TestManagement
11
software requirements specification, various deliverable sT& QA- MCA (Mgt.) : Sem
documents, and 5.19
tasks. project plan st
Management
A
requirement traceability matrix has four basic
his wilI have multiple test cases as stated below:
components: Requirement Pavment method to be used: PayPal,
Identifier, Requirement Summary Text, Test Paytm, GPay, Credit/Debit Card.
Case ldentifier, and Test Case i) The payment done is success ful.
Vertical Traceability Matrix: Stat.
There is verticaltraceability i) Payment done is unsuccessful.
matrix which showS relationships liv) The payment process aborted in between.
and horizontal traceability between requiremens.
matrix which displays v) Not able to access payment methods.
requirements andtest cases. relationships betweas
ui) The application breaks down in between.
Vertical Traceability matrix
is high level document Scenario Testing :
requirements to all phases which map
of the Software developrment cycle. the nnarioTesting in software
Component Integration testing, i.e. Unit testing testing is a method in which
System Integration testing, Be testing the software actual scenarios are used
System testing, Acceptance Smoke/Sanity testing application instead of test cases.
testing etc. bing js to test end to end The purpose of scenario
Vertical traceability is scenarios for a specific complex
registered from the textual
related to the bidirectional
trace that could be
Scenarios help in an
easier way to test and evaluate end to problem of the software.
requirements, going through Procedure to write Test Scenarios: end complicated problems.
requirements and at last to graphical functional
the phases of the software development Ás a tester, you can
like design coding, testing lifecycle follow these five steps to create Test
and so on. Step 1: Read the Requirement Scenarios:
Horizontal Traceability Documents like BRS, SRS, FRS, of
Matrix: Test (SUT), You the System Under
Horizontal Traceability could alsO refer uses cases, books,
matrix is used for Coverage to be tested. manuals, etc. of the application
requirement changed it will analysis when a
used to identify the Test cases o Step
requirement. prepared on that 2: For each requirement,
figure out possible users actions
Horizontal traceability Determine the technical aspects and objectives.
is related to the bidirectional of the requirement. Establish possible
could be registered from trace that of system abuse and evaluate users scenarios
the graphical with hacker's mindset.
architectural policies or mechanisms non-functional requirements or even the o Step 3:
After reading the Requirements
to the architectural Document and doing your due Analysis,
at last the design phase. integration model and list out different test scenarios
that verify each feature of the software.
o Step
4: Once you have listed all possible
5.6 TEST SCENARIO, TEST
SUITE,TEST CASES(BOTH created to verify that each & every
Test Scenarios, a Trsceability Matrix is
NEGATIVETEST CASES POSITIVE AND requirement has a corresponding Test Scenario
AS PER IEEE 829) o
Step 5: The scenarios created are
reviewed by your supervisor. Later, they are
5.6.1 Test Scenario reviewed by other Stakeholders
in the project.
also
A Test Scenario Tips to create
Test
is a statement describing Scenarios:
tested. It is used for end-to-end the functionality of Each Test
the application to be Scenario should be tied to a minimum one
testing ofa feature. It is per the Project of Requirement or User Story as
use cases. generally derived from Methodology.
the
The quality of the software can Betore creating a Test
Scenario that verifies multiple Requirements at once, ensure
be improved by having a good you have a
scenarios. foundation for test Test Scenario that checks that requirement
AYOld
in isolation.
Test scenarios can serve as creating overly complicated Test Scenarios spanning multiple
the basis for lower-level test case Requirements.
Ihe number of scenarios may
Scenario can cover one or more test cases. Therefore a creation. A single test be large, and it is expensive to run them all. Based on
test scenario CUstomer priorities
only run selected Test Scenarios.
relationship with the test cases. has a one-to-1many
56.2 Test
Example: Suite
Test Scenario: Make the payment for the cab service availed
A testtsuite is a
collection of test cases
15
also known that are grouped for test execution purposes. It
as "validation
suite".
ST & QA - MCA (Mgt.) : Sem
Il 5.20 Test Management
Test suites can identify gaps a sr& QA- MCA(Mgt.)
: Sem 1 5.21
in testing where the successful Test Management
case must occur before you completion of ona.
begin the next test case. tfoither of the situations in parentheses
Test suites are useful for Build - happens, you have a nepative tect in
verification tests, Functional verification terms of. its result again, not what the test was
tests, End-to-End integration tests, tests sma hoping to find. The
to put negative values, application did
what it was not supposed to do. User tends
Regression tests.
In a test suite, the test cases scripts are
/
test case for registration will precede
organized in a logical order. For examnle
the test case for login.
. the application.
example in Registration Form, for Name field, user
For
which may crash
should be allowed to
5.6.3 Test Case ly alphabets. Here tor Positive Testing.
tester will enter only alphabetsenter
application should run properly and should and
A Test Case isa set of actions executed accept only alphabets.
to verify a particular Testing, in the same case user tries to enter For Negative
of your software application. A Test Case feature or functionality case is executed numbers, special characters
and if the
postcondition developed for specific test contains test steps, test data, precondition successfully, negative testing is successful.
The test case includes specific scenario to verify any requirement. netail on the contents ofa Test Case
variables or conditions, using Format as per IEEE 829
can compare expected which a testing engineer case refers to
bact
and actual results to determine whether a the sequence of actions required to
functioning as per the requirements of software product is Aunctionality. Basically, verify a specific feature or
the customer. the test case specifics the steps, data,
Test Cases for Mobile Phone: conditions necessary to verify a feature. prerequisites, and post
.
Check whether Battery is Test cases specify for cach
inserted into mobile properly. testing requirement:
Check Switch on/Switch The exact input values
offof the Mobile. that will be input and the values of any
is required. standing data that
Insert the SIM into the phone n check.
o The exact
Add one user with name output values and changes
and phone number in the Address book.
expected.
of value of the internal system state that are
Check the Incoming call.
Check the outgoing call.
o
And any special steps
for setting up the tests.
Send/receive messages for that mobile. Defining the expected
values is very important, by doing
Check all the numbers/Characters SDotted. A feature this discrepancies can be
on the phone from the Test Design may be tested more
working fine by clicking on and a Test Case may test more in than one Test Case,
them. than one feature. The aim of a set of test cases is to
Remove the user from each feature
from the Test Design at least once. test
phone book and check removed Standard Test Case
and phone number. properly with name Format:
Check whether Network working
1. Test Case ID
fine. Test case name
5.6.4 The difference between Positive 3. Feature to be tested
and Negative
Test Cases
Positive test cases ensure 4, Test
that users can suite ID
valid datawhereas Negative test cases are pertorm appropriate actions when using S. Priorityy
performed to try to "break"
performing invalid (or unacceptable) actions, or the software by 6. Test environment
by using invalid data.
Positive Testing = (Not showing error 7. Test effort
when not supposed to)
+ (Showing error 8, Test duration
Soifeither of the situations
when supposed to)
9. Precondition
in parentheses nappens, you
of its result - not what the test was hop1ng to have a positive test in terms 10. Test
procedure
nd. The application did what was
supposed to do. Here user tends to put all positive values it 11 Actions
according Input Reqd.
Negative Testing = (Showing error when not supposed to) to requirements. 12 Expected
Result
(Not showing error wheni supposed
+ 13. Actual Results
(ISually these situations crop up during to) est Case
boundy testing or cause-effect testing) Example:
Let's
build a
test case example based on a specific scenario. Here is a sample case.
ST & OA - IACA (Mgt.): Sem IlI 5.22 Test anagement : Sem lI
sf&QA MCA (Mgt.)
-
Test Case ID: #BSTO01 5.23
Test Management
Test Scenario: To authenticate a successful user
login on Gmail.com retracing the same could become impossible or
Test Steps: expensive in the available
environment. test
1 The user navigates to Gmail.com. Therefore it is important to consider
the software deployment cycle
2. In the 'email' field, in the test
the user enters a registered email address. plan not only regarding software test cycles but
also regarding
3. The user clicks configurations. software test
the 'Next' button.
4. The user enters the registered gelease Notes:
password.
S. The user clicks eally. when testers receive an organized,
'Sign In.' version-controlled test release from a
Home
Back Fig. 5.9: Input Screen
for Payment
ITEM ENTRY ESTPLAN
L Introduction:
Don't know tem
code? Clhck here Bil tracking
Item Nano : system keeps track
of bills that are not paid and
is purchased
from each supplier, the amount of material
Rate: details of suppliers supplying
Quantity:
material etc, that particular
First the
material and then the
Total Amount: supplier sending the data about
I these two conditions are materials is validated.
satis fied then the bill-code
mi be used to uniquely will be generated. This
identify the bil then payment bill code
Add Bil cheque. will be issued either by cash or
tinally reports
will be sent to the user
Fig. 5.8: Input Screen TestScope: and the management.
for Item Entry
InScope:
GUI Testing,
Validation and Navigation
Out of scope:
Performance Testing,
Stress Testing, Security
Testing
ST & OA- MCA (Mgt): Sem il 5.34
Test Management MCA(Mgt.) : Sem IlI 5.35 Test Management
4. Items to be tested: •
NAME criteria:
item_entry
IDENTIFIER
VERSION
NUMBER AEdt will suspended at the end of the work day. Testing is resumed
be
BILL_TRACK_ITEM Testing the
supplier_details 1.1 fallowing work day morning. A decision to stop
testing will be based on
BILL TRACK_SUPP
tracking :
payment_screen 1.1 requirements
BILL_TRACK_PAY Coverage of all the
Billing 1.2
BILL TRACK
BILL number of open defects reports.
The
5. Test Environment: 1,2 test-relatedIdoccuments must be
All subnitted to Lara.
Test planner describes Managernent:
main components Risk
configuration) including of the test environment Non-availability: Lara. test lead is not available
hardware, software, and (test bed with
the test team to provide
operating system.
Platform cecessary data,and past schedules. In this situation, other test lead will be available
Java Server Page(SP) tothe group and will supply the needed information.
Browser : Mozilla / Chrome Gietof staff
responsibilities: Lara is required to work on a more
Server : .ken some other person urgent project,
Apache who having the experience of test lead
Database test lead.
engineer will replace
: SQL Server the current
OS nelays in testing efforts: If the testing schedule
Windows is significantly impacted
Payment gateway
cererity level
defects, an additional developer by high
Authorize.net will be assigned to the project to
6. Test Team: perform fault localization.
L Aoplication:
List testing participants Itself is not available for the testing on
(team) and their time.
includes: roles and responsibilities. All the resources are not
properly provided.
Test team
Lara, Test lead SRS are not clearly defined.
o John,
Jane, Manual test engineers 2 Defect Recording/Tracking:
Twomanual test Excel
spreadsheet should be
engineers, developed for recording
execution and recording John and Jane will be responsible Approvals : defects and tracking status.
7. Testing of results. They will be supervised for test case design, test
Strategies: by Lara, test lead. he test plans for a
Type of Testing : manager.
project should be reviewed
Manual testing Al parties by Lara, Project manager
who review the plan and sQA
8. Test Deliverables: and approve it should sign
lara the document.
Scope: GUI testing,
Functional testing. Test lead
System test plan Signature
Test cases Date
Test summary report
and Defect Report. Philip Adler
Test data
rojectManager
Input / Output screens
and Reports Signature
Input / Output
for item entry, supplier Date
9. Test schedule: details and payment screens
The project should aulMartin
be ready for acceptance SQA
test by "dd mm Manager
/ /yyyy". Siznature
Date
ST&OA- MCA
(Mat):Sem l S.34 Test
Mana (Mgt ): Sem u!
5.35 Test Managemert
ef&GA. MCA
4
Items to be tested:
NAME IDENTIFILR VERSION Exit eriteria,
NUM2tR 10.
item_entry BIL TRACK ITEM Testing will be stusperded a the rnd of the work day Testinz is resumed tte
11 A Cei310n to stop testing
Supplier_details BILL TRACK SUPP
fottowinz work day marning will be based on
11 trachinz
paynent _screen BILL_TPACK PAY
12 Coveraze of all tho requuirment:
Billing
BIL TRACK EIL The number of orn defects reports.
5 Test Environmnent: All test-re' >'nd urnen3must be subm.e! to Lur
Test p!anner
descnbes main cGmporents of the test cnvironment 11. Risk Manageiaent:
Configuration) incdudirghardware. software, and operating 3y3tem Non-availability: Lara, test Irad is not ava.lb! nith the test team to provide
Platform Java Server Pagc(USP) rrcessary data, and pait schedila: in th.: 3ituation, other test lead will be available
Browser to the zroup and ill suppl the neetod infor a'ion
Mozlla / Chrome
Conflict of staff responsibilities: Lara ii requred to work on a rnore urgent
Server Apache project,
then some other person nho hainz the eprience of te: lead erngineer will replace
Database SQL Serve: the current tr:t lead
Windows Delays in testinz efforts: If the ta"in,
ictoule Sznificantly inpacted by high
Payment gateway severity level defrct:, an add.tion.al Ceopt will be assizned to the project to
Authorize ret
6. Test Team: perfurm fault lccalization.
List testing participants (tean) Application: self i: rGt avulable for :hotoin; on tu,
It
Configuration Management determines clearly about the items that make up the (a) determine when to release a system.
software or system. These items include source code, test scripts, third-party (b) Reallocate resources to meet objectives.
software, hardvware, data and both development and test documentation. (c) raise incidents on fault.
Defect life cycle or Bug Life cycle is the journey a defect (d) report deviations in project plan.
of cycle, which a defect goes
through during its lifetime. 9. Test suite is
Project risks are potential failure areas in (a) Set of test cases (b) Set of inputs
the software or system: product risks 3e
risks that surround the project's capability to deliver its (c) Set ofoutputs (d) Set of products
objectives.
TestManagement
T& QA. MCA (Mgt.) : Sem lII 5.42
document?
10. not part of the Test
6...
is
(a) Test Case
(RTM)
(b) Requirements Traceability Matrix
1. (d)
9. (a)
2. (c)
10. (c)
3. (b) 4. (b) S.(d) 6. (a) 7. (d) 8.(c)
Testing,
Practice Questions
Q.I Answer the following questions in short. Objectives...
1. What is a Test Plan?
2. What is test Management? Tointroduce the tool support for testing.
To know about types of test tools and their use.
3. What is 'Configuration Management'?
To get informationof various testing tools.
4. Mention what are Project risk and Product Risk?
5. What is a bug life cycle? O To learn about an introduction of testing tool in organisation.
6. What is Requirement traceability matrix?
QII Answer the following questions. 6.1 TYPES OF TEST TOOLS - CAST
1. Explain the various types of white box
testing.
What is CAST in Testing?
1. In software testing, which are roles/skills of tester?
The CAST Certification demonstrates a foundation-level understanding of quality
2. What are the actions that test manager should take against risks?
3. Explain how test manager can estimate the project and
testing principles and practices. Acquiring the designation of Certified Associate in
what to estimate? Software Testing (CAST) indicates a professional level of competence in the principles
4. What does a good test report include?
and practices of software testing in the IT profession.
5. By what factors you can determine the quality
of the test execution? Testing Tools:
6. Describe the defect/incident report.
Tools from a software testing context can be defined as a product that supports one or
7. Explain the IEEE 829 Test Plan.
more test activities right from planning. requirements, creating a build, test
Q.III Write a short note on:
execution, defect logging and test analysis.
1 Test Scenario
Classification of Tools:
2. Horizontal traceability
Tools ca ue classified based on several parameters. These include:
3. Test Log
The purpose of the tool.
4. Defect Management
The activities that are supported within the tool.
S. Defect Density o The type/level of testing it supports,
Thekind of licensing (Open Source, Freeware, Commercial)
The technology used.
(6.1)
ST & OA- MCA (Agt.) : Sem l1
6.2 Tool Support
Following table shows various types
1or Testing QA - MCA (Hgt.) : Sem 6.3 Tool Support for Testing
sT&
of tools with their use:
Table 6.1: Types of Tools Risks of using tools include:
Sr. No. ToolType
Used for Unrealisticexpectations for the tool (including functionality and ease of use.
1 Test Management Tools Usedby Ttnderestimating the time, cost and effort for the initial introduction of a tool
Test Managing, Scheduling,
Defect Logging, Tracking Testers (including training and external expertise).
and Analysis. 1Inderestimating the time and effort needed to achieve significant and
2. Configuration continuing benefits from the tool (including the need for changes in the testing
Implementation, Execution,
Management Tools Tracking Changes. Al Team members process and continuous improvement of the way the tool is used).
Static Analysis Tools Ünderestimating the effort required to maintain the test assets generated by the
Static Testing
4 Test Data Preparation Developers tool.
Tools Analysis and Design, Test Over-reliance on the tool (replacement for test design or use of automated testing
data generation. Testers
S. Test Execution Tools where manual testing would be better).
Implementation, Execution Neglecting version controlof test assets within the tool.
6. Test Comparators Testers
Comparing expected and Neglecting relationships and interoperability issues between critical tools, such as
actual results Al Team members requirements management tools, version control tools, incident management
7. Coverage Measurement
Provides Structural tools, defect tracking tools and tools from multiple vendors.
Tools Developers
8.
Coverage 6.3 INTRODUCTION OF TOOL INTO ORGANIZATION
Performance Testing
Tools Monitoring the The organization must be ready to introduce, use and be involved in adapting
performance, response Testers the tool
9. Project Planning time through its test processes. Only an assessment of the organizational maturity
and Planning could prove its readiness by clearly identifying the strengths, weaknesses
Tracking Tools Project Managers and
opportunities to do so.
10. Incident Management
Managing the tests Essentially, the assessment should identify which testing area or processes can be
Tools
Testers improved by adopting the toolL
6.2 EFFECTIVE USE
OF TOOLS: POTENTIAL
During test tool evaluation phase, we should identify whether:
Simply purchasing or BENEFITS AND RISK It performs effectively within the software under test and within the current
leasing a tool does not
type of tool may require infrastructure.
guarantee success
are potential additional effort to achieve with that tool. Each It requires any potential changes.
benefits and opportunities real and lasting benefits. We should also evaluate the vendor (support, version, reference site visit, training).
also risks. with the use of tools There
in testing, but there are evaluate internal requirementssuch as training needed and estimate a cost-benefit
Potential benefits of using
tools include: ratio based on a concrete business case.
Repetitive work is Once the assessment done and the decision to introduce this tool is made. a nilot
reduced (e.g., running
test data,and checking regression tests, re-entering should be planned for learning more details, confirming that our assumptions were
against coding standards). the same
Greater consistency justified (costs involved, benefits, changes identified) and mastering its use before
and repeatability (e.g., tests
order with the same frequency, executed by a tool further roll out.
and tests derived from requirements). in the same For successfully deploying a tool within an organisation, the initiative should alwsave
Objective assessment
(e.g., static measures,
Ease of access to coverage). follow these principles:
information
about test progress, incident about tests or testing (e.g., statistics and graphs Rollout the tool to the rest of the organization incrementally.
rates and performance). Adapt and improve processes to iit accordingly to how the tool should be 3ead
ST & QA - MCA (Mgt.) :
Sem 11 6.4
Tool Support
for Testing - MCA (Mgt.) : Sem II
ST&QA 6.5 Tool Support for Testing
Provide training and coaching/mentoring for new users.
Define usage guidelines. Components s of WebDriver Architecture:
Implement way to gather usage information. WebDriver Architecture is made up of four major components:
Monitor tool use and benefits. 1.
selenium Client library: Selenium provides support to multiple libraries such as
Provide support to the test team. Ruby, Python, Java, etc. as language bindings have been developed
by Selenium
Collect lessons learned from all teams. developers to provide compatibility for nultiple languages.
1SON Wire protocol over HTTP: It is an open
.6.4 TESTING TOOLS standard that provides a transport
mechanism for transferring data between client and server on
the web. It
Software testing tools are applications provides support for vario'is data structures like arrays and objects which makes
that can be used to assist developers
testers in performing Manual or Automated Tests. and it easier to read and writer'g from JSON.
6.4.1 selenium Web Driver and Test NG 3. Browser Drivers: Selenium provides drivers specific to
each browser and without
Selenium and Test NG are the most trending software testing tools. revealing the internal logic of browser functionality. The browser driver interacts
with the respective browser by establishing a secure connection. These browser
6.4.1.1 Selenium Web Driver
drivers are also specific to the language which is used for test case automation
Selenium Web Driver is one of the many types selenium like C#, Python, Java, etc.
of frameworks, can he
defined as a Test Automation Tool used to test web-based applications. which
4. Browsers: Selenium provides support for multiple browsers like Chrome, FirefoX,
Selenium WebDriver is a web automation
across various browsers (cross-browser framework which allows us to execute tect Safari, Internet Explorer etc.
tests). How Selenium WebDriver Works?
It makes direct calls to the browser
using each browser's native support for Selenium WebDriver works in three steps:
automation.
1. Test commands are converted into an HTTP request by the JSON wire protocol.
Tool is used for automating web-based
application testing to verify that it performs 2. Before executing any test cases, every browser has its own driver which initializes
expectedly.
the server.
Selenium WebDriver allows you to choose a
programming language to create test 3. The browser then starts receiving the request through its driver.
scripts.
Advantages of Selenium:
Selenium WebDriver Framework Architecture: It is one of the most popular Open-Source tools and is easy to get started with for
testing web-based applications.
It also allows you to perform cross browser compatibility testing.
It supports multiple operating systems like Windows, Mac, Linux, Unix, etc.
It helps to get a higher ROI.
It is easy to access. Users can even access it remotely through anv device
Browser Real
Drivers It helps to find bugs and flaws at the initial stage.
Seleniunm Browsers
usere
DI Client Librarios
(Pyhon, C#, Java, Porl, etc.)
JSON Wire
Prolocol (Chromo Driver,
It makes the process more reliable and tests dependable for
(a) Selenium Webdríver (b) TestNG o.lI Answer the following questions.
(c)
Appium (d) JMeter
1. Explain Appium testing tool.
7 is a Java desktop application with a
graphical interface that uses the Swing
2. What are advantages of TestNG?
graphical API. 3. How JMeter Works?
(a) JMeter
(b) TestNG 4. Write the difference between Webdriver and TestNG tools,
(c) Appium
(d) Webdriver 5. Explain how to introduce a testing Tool into organization?
8. Appium is an HTIP server
that is written in 0.III Write a short note on:
(a) XML
(b) PHP 1. Potential benefits of using testing tools.
(c) Node.js
(d) C 2. WebDriver Architecture
9. In testing tools, CAST stand
for 3. Advarntages of Appium testing tool
(a) Certified Associate
in Software Testing 4. Features
(b) Certified Associate
of JMeter
in Software Technology
(c)
Certified Associate in System
Testing
(d) Classified Associate
in Software Testing
10. On which parameter,
testing tools can be classified?
(a) Purpose of the tool.
(b) Activities that are
supported within the tool
(c) Type/level of testing it supports.
(d) All of the above
ANSWERS
1. (b) 2. (a) 3. (a) 4. (d) 5. (b) 6. (c) 7. (a) 8. (c)
9. (a) 10. (d)
PracticeQuestions
Q.I Answer the following
questions in short.
1. What is TestNG?
2. Is the cast science test mandatory?
3. What is cast in testing?
4. Which are types of testing tools?
5
How to classify testing tools?
6. Write applications of testing tools?