SlideShare a Scribd company logo
UNIT 4 SYLLABUS
• Testing Strategies : A strategic approach to
software testing, test strategies for conventional
software, Black-Box and White-Box testing,
Validation testing, System testing, the art of
Debugging.
• Product metrics : Software Quality, Metrics for
Analysis Model, Metrics for Design Model,
Metrics for source code, Metrics for testing,
Metrics for maintenance.
2
A strategic Approach for Software testing
• Software Testing
One of the important phases of software
development
Testing is the process of execution of a
program with the intention of finding errors
Involves 40% of total project cost
4
A strategic Approach for Software testing
• Testing Strategy
 A road map that incorporates test planning, test
case design, test execution and resultant data
collection and execution
 Validation refers to a different set of activities
that ensures that the software is traceable to the
customer requirements.
 V&V encompasses a wide array of Software
Quality Assurance
5
A strategic Approach for Software testing
• Perform Formal Technical reviews(FTR) to
uncover errors during software
development
• Begin testing at component level and
move outward to integration of entire
component based system.
• Adopt testing techniques relevant to
stages of testing
6
A strategic Approach for Software testing
• Testing can be done by software
developer and independent testing group
• Testing and debugging are different
activities. Debugging follows testing
• Low level tests verifies small code
segments.
• High level tests validate major system
functions against customer requirements
7
Testing Strategies for Conventional
Software
1)Unit Testing
2)Integration Testing
3)Validation Testing and
4)System Testing
8
Software Testing
• Two major categories of software testing
Black box testing
White box testing
Black box testing
Treats the system as black box whose
behavior can be determined by studying
its input and related output
Not concerned with the internal structure
of the program
11
Black Box Testing
• It focuses on the functional requirements
of the software ie it enables the sw
engineer to derive a set of input conditions
that fully exercise all the functional
requirements for that program.
• Concerned with functionality and
implementation
1)Graph based testing method
2)Equivalence partitioning
12
Equivalence partitioning
Example
• Input consists of 1 to 10
• Then classes are n<1,1<=n<=10,n>10
• Choose one valid class with value within
the allowed range and two invalid classes
where values are greater than maximum
value and smaller than minimum value.
16
Orthogonal array Testing
• To problems in which input domain is
relatively small but too large for exhaustive
testing
Example
• Three inputs A,B,C each having three
values will require 27 test cases
• L9 orthogonal testing will reduce the
number of test case to 9 as shown below
19
Orthogonal array Testing
A B C
1 1 1
1 2 2
1 3 3
2 1 3
2 2 3
2 3 1
3 1 3
3 2 1
3 3 2
20
White Box testing
• Also called glass box testing
• Involves knowing the internal working of a
program
• Guarantees that all independent paths will
be exercised at least once.
• Exercises all logical decisions on their true
and false sides
21
Basis path testing
• Steps of Basis Path Testing
1.Draw the flow graph from flow chart of the
program
2.Calculate the cyclomatic complexity of the
resultant flow graph
3.Prepare test cases that will force
execution of each path
24
Basis path testing
• Three methods to compute Cyclomatic
complexity number
1.V(G)=E-N+2(E is number of edges, N is
number of nodes
2.V(G)=Number of regions
3.V(G)= Number of predicates +1
25
Control Structure testing
• Basis path testing is simple and effective
• It is not sufficient in itself
• Control structure broadens the basic test
coverage and improves the quality of white
box testing
• Condition Testing
• Data flow Testing
• Loop Testing
26
Condition Testing
--Exercise the logical conditions contained in a
program module
--Focuses on testing each condition in the program
to ensure that it does contain errors
--Simple condition
E1<relation operator>E2
--Compound condition
simple condition<Boolean operator>simple
condition
27
Data flow Testing
• Def(definition):definition of a variable on
the left-hand side of an assignment
statement
• C- use: Computational use of a variable
like read, write or variable on the right
hand of assignment statement
• P- use: Predicate use in the condition
• Every DU chain be tested at least once.
29
Loop Testing
• Focuses on the validity of loop constructs
• Four categories can be defined
1.Simple loops
2.Nested loops
3.Concatenated loops
4.Unstructured loops
30
Loop Testing
• Testing of simple loops
-- N is the maximum number of allowable
passes through the loop
1.Skip the loop entirely
2.Only one pass through the loop
3.Two passes through the loop
4.m passes through the loop where m>N
5.N-1,N,N+1 passes the loop
31
Loop Testing
Nested Loops
1.Start at the innermost loop. Set all other
loops to maximum values
2.Conduct simple loop test for the
innermost loop while holding the outer
loops at their minimum iteration
parameter.
3.Work outward conducting tests for the
next loop but keeping all other loops at
minimum.
32
Loop Testing
Concatenated loops
• Follow the approach defined for simple
loops, if each of the loop is independent of
other.
• If the loops are not independent, then
follow the approach for the nested loops
Unstructured Loops
• Redesign the program to avoid
unstructured loops
33
Validation Testing
• It succeeds when the software functions in a
manner that can be reasonably expected by the
customer.
1)Validation Test Criteria
2)Configuration Review
3)Alpha And Beta Testing
34
System Testing
• Its primary purpose is to test the complete
software.
1)Recovery Testing
2)Security Testing
3Stress Testing and
4)Performance Testing
35
The Art of Debugging
• Debugging occurs as a consequences of
successful testing.
• Debugging Stratergies
1)Brute Force Method.
2)Back Tracking
3)Cause Elimination and
4)Automated debugging
36
39
The Art of Debugging
The Debugging process
Test
cases
Execution of
test cases
Results
Debugging
Suspected
causes
Additional
tests
Identified
causes
Corrections
Regression tests
Software Quality
• Conformance to explicitly stated functional and
performance requirements, explicitly documented
development standards, and implicit characteristics that
are expected of all professionally developed software.
• Factors that affect software quality can be categorized in
two broad groups:
1. Factors that can be directly measured (e.g. defects
uncovered during testing)
2. Factors that can be measured only indirectly (e.g.
usability or maintainability)
40
Software Quality
• McCall’s quality factors
1.Product operation
a. Correctness
b. Reliability
c. Efficiency
d. Integrity
e. Usability
2.Product Revision
a. Maintainability
b. Flexibility
c. Testability 41
Software Quality
3. Product Transition
a. Portability
b. Reusability
c. Interoperability
ISO 9126 Quality Factors
1.Functionality
2.Reliability
3.Usability
4.Efficiency
5.Maintainability
6.Portability
42
43
Product metrics
• Product metrics for computer software helps us to
assess quality.
• Measure
-- Provides a quantitative indication of the extent, amount,
dimension, capacity or size of some attribute of a
product or process
• Metric(IEEE 93 definition)
-- A quantitative measure of the degree to which a system,
component or process possess a given attribute
• Indicator
-- A metric or a combination of metrics that provide insight
into the software process, a software project or a product
itself
44
Product Metrics for analysis,Design,Test
and maintenance
• Product metrics for the Analysis model
Function point Metric
 First proposed by Albrecht
 Measures the functionality delivered by the
system
 FP computed from the following
parameters
1) Number of external inputs(EIS)
2) Number external outputs(EOS) 45
Metrics for Design Model
• DSQI(Design Structure Quality Index)
• US air force has designed the DSQI
• Compute s1 to s7 from data and
architectural design
• S1:Total number of modules
• S2:Number of modules whose correct
function depends on the data input
• S3:Number of modules whose function
depends on prior processing
• S4:Number of data base items 48
Metrics for Design Model
• S5:Number of unique database items
• S6: Number of database segments
• S7:Number of modules with single entry
and exit
• Calculate D1 to D6 from s1 to s7 as
follows:
• D1=1 if standard design is followed
otherwise D1=0
49
Metrics for Design Model
• D2(module independence)=(1-(s2/s1))
• D3(module not depending on prior
processing)=(1-(s3/s1))
• D4(Data base size)=(1-(s5/s4))
• D5(Database compartmentalization)=(1-
(s6/s4)
• D6(Module entry/exit characteristics)=(1-
(s7/s1))
• DSQI=sigma of WiDi 50
METRIC FOR SOURCE CODE
• HSS(Halstead Software science)
• Primitive measure that may be derived after the
code is generated or estimated once design is
complete
• n1 = the number of distinct operators that appear
in a program
• n2 = the number of distinct operands that appear
in a program
• N1 = the total number of operator occurrences.
• N2 = the total number of operand occurrence.
• Overall program length N can be computed:
• N = n1 log2 n1 + n2 log2 n2
• V = N log2 (n1 + n2) 52
METRIC FOR TESTING
• n1 = the number of distinct operators that appear in a
program
• n2 = the number of distinct operands that appear in a
program
• N1 = the total number of operator occurrences.
• N2 = the total number of operand occurrence.
• Program Level and Effort
• PL = 1/[(n1 / 2) x (N2 / n2 l)]
• e = V/PL
53
METRICS FOR MAINTENANCE
• Mt = the number of modules in the current release
• Fc = the number of modules in the current release that
have been changed
• Fa = the number of modules in the current release that
have been added.
• Fd = the number of modules from the preceding release
that were deleted in the current release
• The Software Maturity Index, SMI, is defined as:
• SMI = [Mt – (Fc + Fa + Fd)/ Mt ]
54

More Related Content

PPT
Chapter 14 software testing techniques
PPT
Software testing & its technology
PPT
Software Engineering (Testing techniques)
PPTX
Structured system analysis and design
ODP
White box ppt
PPT
New software testing-techniques
PPTX
Introduction to White box testing
PPT
debugging and testing
Chapter 14 software testing techniques
Software testing & its technology
Software Engineering (Testing techniques)
Structured system analysis and design
White box ppt
New software testing-techniques
Introduction to White box testing
debugging and testing

What's hot (18)

PPT
&lt;p>Software Testing&lt;/p>
PPTX
Python: Object-Oriented Testing (Unit Testing)
PPTX
Object oriented testing
PPT
Testing of Object-Oriented Software
DOC
09 cs491 st-t1
PDF
Testing Object-Oriented Systems: Lessons Learned
PDF
@#$@#$@#$"""@#$@#$"""
PPTX
PPTX
Object Oriented Testing(OOT) presentation slides
PPTX
The Core of Testing – Dynamic Testing Process – According to ISO 29119 with...
PPT
Testing
PPTX
Research issues in object oriented software testing
PPT
White box testing
PPT
Software Testing
PPT
Test Techniques
PPTX
H testing and debugging
PDF
Software Engineering : Software testing
&lt;p>Software Testing&lt;/p>
Python: Object-Oriented Testing (Unit Testing)
Object oriented testing
Testing of Object-Oriented Software
09 cs491 st-t1
Testing Object-Oriented Systems: Lessons Learned
@#$@#$@#$"""@#$@#$"""
Object Oriented Testing(OOT) presentation slides
The Core of Testing – Dynamic Testing Process – According to ISO 29119 with...
Testing
Research issues in object oriented software testing
White box testing
Software Testing
Test Techniques
H testing and debugging
Software Engineering : Software testing
Ad

Similar to Se unit 4 (20)

PPT
Unit 6
PPT
OOSE Unit 5 PPT.ppt
PPT
Oose unit 5 ppt
PDF
software-testing-yogesh-singh (1).pdf
PPTX
Software testing
PPT
Testing
PPTX
Testing Plan
PPT
STesting (Unit-II).ppt
PPT
software-testing-strategies888888888.ppt
DOCX
Chapter 10 Testing and Quality Assurance1Unders.docx
PDF
Class9_SW_Testing_Strategies.pdf
PPTX
Software Testing and Debugging
PPTX
SE - Lecture 8 - Software Testing State Diagram.pptx
PPTX
Software Testing & Debugging
PPTX
SE2023 0401 Software Coding and Testing.pptx
PPTX
Software quality assurance,eTesting.pptx
PPT
SOFTWARE ENGINEERING unit4-1 CLASS notes in pptx 2nd year
PPT
Lecture18- Testing Strategy.ppt by aiman
PPT
Chapter 13 software testing strategies
PPT
Software testing-and-analysis
Unit 6
OOSE Unit 5 PPT.ppt
Oose unit 5 ppt
software-testing-yogesh-singh (1).pdf
Software testing
Testing
Testing Plan
STesting (Unit-II).ppt
software-testing-strategies888888888.ppt
Chapter 10 Testing and Quality Assurance1Unders.docx
Class9_SW_Testing_Strategies.pdf
Software Testing and Debugging
SE - Lecture 8 - Software Testing State Diagram.pptx
Software Testing & Debugging
SE2023 0401 Software Coding and Testing.pptx
Software quality assurance,eTesting.pptx
SOFTWARE ENGINEERING unit4-1 CLASS notes in pptx 2nd year
Lecture18- Testing Strategy.ppt by aiman
Chapter 13 software testing strategies
Software testing-and-analysis
Ad

Recently uploaded (20)

PDF
HVAC Specification 2024 according to central public works department
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PDF
Trump Administration's workforce development strategy
PDF
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PDF
1_English_Language_Set_2.pdf probationary
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
Computer Architecture Input Output Memory.pptx
PPTX
History, Philosophy and sociology of education (1).pptx
PDF
IGGE1 Understanding the Self1234567891011
PDF
My India Quiz Book_20210205121199924.pdf
PPTX
Introduction to Building Materials
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PPTX
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
HVAC Specification 2024 according to central public works department
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
Trump Administration's workforce development strategy
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
1_English_Language_Set_2.pdf probationary
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Computer Architecture Input Output Memory.pptx
History, Philosophy and sociology of education (1).pptx
IGGE1 Understanding the Self1234567891011
My India Quiz Book_20210205121199924.pdf
Introduction to Building Materials
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
Paper A Mock Exam 9_ Attempt review.pdf.
202450812 BayCHI UCSC-SV 20250812 v17.pptx
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS

Se unit 4

  • 1. UNIT 4 SYLLABUS • Testing Strategies : A strategic approach to software testing, test strategies for conventional software, Black-Box and White-Box testing, Validation testing, System testing, the art of Debugging. • Product metrics : Software Quality, Metrics for Analysis Model, Metrics for Design Model, Metrics for source code, Metrics for testing, Metrics for maintenance. 2 A strategic Approach for Software testing • Software Testing One of the important phases of software development Testing is the process of execution of a program with the intention of finding errors Involves 40% of total project cost 4
  • 2. A strategic Approach for Software testing • Testing Strategy  A road map that incorporates test planning, test case design, test execution and resultant data collection and execution  Validation refers to a different set of activities that ensures that the software is traceable to the customer requirements.  V&V encompasses a wide array of Software Quality Assurance 5 A strategic Approach for Software testing • Perform Formal Technical reviews(FTR) to uncover errors during software development • Begin testing at component level and move outward to integration of entire component based system. • Adopt testing techniques relevant to stages of testing 6
  • 3. A strategic Approach for Software testing • Testing can be done by software developer and independent testing group • Testing and debugging are different activities. Debugging follows testing • Low level tests verifies small code segments. • High level tests validate major system functions against customer requirements 7 Testing Strategies for Conventional Software 1)Unit Testing 2)Integration Testing 3)Validation Testing and 4)System Testing 8
  • 4. Software Testing • Two major categories of software testing Black box testing White box testing Black box testing Treats the system as black box whose behavior can be determined by studying its input and related output Not concerned with the internal structure of the program 11 Black Box Testing • It focuses on the functional requirements of the software ie it enables the sw engineer to derive a set of input conditions that fully exercise all the functional requirements for that program. • Concerned with functionality and implementation 1)Graph based testing method 2)Equivalence partitioning 12
  • 5. Equivalence partitioning Example • Input consists of 1 to 10 • Then classes are n<1,1<=n<=10,n>10 • Choose one valid class with value within the allowed range and two invalid classes where values are greater than maximum value and smaller than minimum value. 16 Orthogonal array Testing • To problems in which input domain is relatively small but too large for exhaustive testing Example • Three inputs A,B,C each having three values will require 27 test cases • L9 orthogonal testing will reduce the number of test case to 9 as shown below 19
  • 6. Orthogonal array Testing A B C 1 1 1 1 2 2 1 3 3 2 1 3 2 2 3 2 3 1 3 1 3 3 2 1 3 3 2 20 White Box testing • Also called glass box testing • Involves knowing the internal working of a program • Guarantees that all independent paths will be exercised at least once. • Exercises all logical decisions on their true and false sides 21
  • 7. Basis path testing • Steps of Basis Path Testing 1.Draw the flow graph from flow chart of the program 2.Calculate the cyclomatic complexity of the resultant flow graph 3.Prepare test cases that will force execution of each path 24 Basis path testing • Three methods to compute Cyclomatic complexity number 1.V(G)=E-N+2(E is number of edges, N is number of nodes 2.V(G)=Number of regions 3.V(G)= Number of predicates +1 25
  • 8. Control Structure testing • Basis path testing is simple and effective • It is not sufficient in itself • Control structure broadens the basic test coverage and improves the quality of white box testing • Condition Testing • Data flow Testing • Loop Testing 26 Condition Testing --Exercise the logical conditions contained in a program module --Focuses on testing each condition in the program to ensure that it does contain errors --Simple condition E1<relation operator>E2 --Compound condition simple condition<Boolean operator>simple condition 27
  • 9. Data flow Testing • Def(definition):definition of a variable on the left-hand side of an assignment statement • C- use: Computational use of a variable like read, write or variable on the right hand of assignment statement • P- use: Predicate use in the condition • Every DU chain be tested at least once. 29 Loop Testing • Focuses on the validity of loop constructs • Four categories can be defined 1.Simple loops 2.Nested loops 3.Concatenated loops 4.Unstructured loops 30
  • 10. Loop Testing • Testing of simple loops -- N is the maximum number of allowable passes through the loop 1.Skip the loop entirely 2.Only one pass through the loop 3.Two passes through the loop 4.m passes through the loop where m>N 5.N-1,N,N+1 passes the loop 31 Loop Testing Nested Loops 1.Start at the innermost loop. Set all other loops to maximum values 2.Conduct simple loop test for the innermost loop while holding the outer loops at their minimum iteration parameter. 3.Work outward conducting tests for the next loop but keeping all other loops at minimum. 32
  • 11. Loop Testing Concatenated loops • Follow the approach defined for simple loops, if each of the loop is independent of other. • If the loops are not independent, then follow the approach for the nested loops Unstructured Loops • Redesign the program to avoid unstructured loops 33 Validation Testing • It succeeds when the software functions in a manner that can be reasonably expected by the customer. 1)Validation Test Criteria 2)Configuration Review 3)Alpha And Beta Testing 34
  • 12. System Testing • Its primary purpose is to test the complete software. 1)Recovery Testing 2)Security Testing 3Stress Testing and 4)Performance Testing 35 The Art of Debugging • Debugging occurs as a consequences of successful testing. • Debugging Stratergies 1)Brute Force Method. 2)Back Tracking 3)Cause Elimination and 4)Automated debugging 36
  • 13. 39 The Art of Debugging The Debugging process Test cases Execution of test cases Results Debugging Suspected causes Additional tests Identified causes Corrections Regression tests Software Quality • Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software. • Factors that affect software quality can be categorized in two broad groups: 1. Factors that can be directly measured (e.g. defects uncovered during testing) 2. Factors that can be measured only indirectly (e.g. usability or maintainability) 40
  • 14. Software Quality • McCall’s quality factors 1.Product operation a. Correctness b. Reliability c. Efficiency d. Integrity e. Usability 2.Product Revision a. Maintainability b. Flexibility c. Testability 41 Software Quality 3. Product Transition a. Portability b. Reusability c. Interoperability ISO 9126 Quality Factors 1.Functionality 2.Reliability 3.Usability 4.Efficiency 5.Maintainability 6.Portability 42
  • 15. 43 Product metrics • Product metrics for computer software helps us to assess quality. • Measure -- Provides a quantitative indication of the extent, amount, dimension, capacity or size of some attribute of a product or process • Metric(IEEE 93 definition) -- A quantitative measure of the degree to which a system, component or process possess a given attribute • Indicator -- A metric or a combination of metrics that provide insight into the software process, a software project or a product itself 44
  • 16. Product Metrics for analysis,Design,Test and maintenance • Product metrics for the Analysis model Function point Metric  First proposed by Albrecht  Measures the functionality delivered by the system  FP computed from the following parameters 1) Number of external inputs(EIS) 2) Number external outputs(EOS) 45 Metrics for Design Model • DSQI(Design Structure Quality Index) • US air force has designed the DSQI • Compute s1 to s7 from data and architectural design • S1:Total number of modules • S2:Number of modules whose correct function depends on the data input • S3:Number of modules whose function depends on prior processing • S4:Number of data base items 48
  • 17. Metrics for Design Model • S5:Number of unique database items • S6: Number of database segments • S7:Number of modules with single entry and exit • Calculate D1 to D6 from s1 to s7 as follows: • D1=1 if standard design is followed otherwise D1=0 49 Metrics for Design Model • D2(module independence)=(1-(s2/s1)) • D3(module not depending on prior processing)=(1-(s3/s1)) • D4(Data base size)=(1-(s5/s4)) • D5(Database compartmentalization)=(1- (s6/s4) • D6(Module entry/exit characteristics)=(1- (s7/s1)) • DSQI=sigma of WiDi 50
  • 18. METRIC FOR SOURCE CODE • HSS(Halstead Software science) • Primitive measure that may be derived after the code is generated or estimated once design is complete • n1 = the number of distinct operators that appear in a program • n2 = the number of distinct operands that appear in a program • N1 = the total number of operator occurrences. • N2 = the total number of operand occurrence. • Overall program length N can be computed: • N = n1 log2 n1 + n2 log2 n2 • V = N log2 (n1 + n2) 52 METRIC FOR TESTING • n1 = the number of distinct operators that appear in a program • n2 = the number of distinct operands that appear in a program • N1 = the total number of operator occurrences. • N2 = the total number of operand occurrence. • Program Level and Effort • PL = 1/[(n1 / 2) x (N2 / n2 l)] • e = V/PL 53
  • 19. METRICS FOR MAINTENANCE • Mt = the number of modules in the current release • Fc = the number of modules in the current release that have been changed • Fa = the number of modules in the current release that have been added. • Fd = the number of modules from the preceding release that were deleted in the current release • The Software Maturity Index, SMI, is defined as: • SMI = [Mt – (Fc + Fa + Fd)/ Mt ] 54