SlideShare a Scribd company logo
1 of 36
Software Testing Strategies
based on

Chapter 13

1
Software Testing

Testing is the process of exercising a program with the
specific intent of finding errors prior to delivery
o the end user.
errors
requirements conformance
performance
an indication
of quality
2
Who Tests the Software?

developer
Understands the system
but, will test "gently"
and, is driven by "delivery "

3

independent tester
Must learn about the system,
but, will attempt to break it
and, is driven by quality
Software Testing
ī‚—Goals
ī‚—Types of tests
ī‚—Levels of tests
ī‚—Test measures
ī‚—Test plan
Goals
ī‚—Verification: Have we built the software right?
Bug-free, meets specs

ī‚—Validation: Have we built the right software?
Meets customers’ needs

Are Verification and Validation different or variation of the
same idea
My argument: “meeting specs” should equal “meeting
customer needs”...
not generally true (my kitchen, satellite systems)
Software Testing
ī‚—Goals
ī‚—Types of tests
ī‚—Levels of tests
ī‚—Test measures
ī‚—Test plan

most of this discussion focuses
on verification
(more specifically bug testing)
Types of tests
ī‚—Black box
ī‚—White box
Black box tests
input

output
interfa
ce

1. Does it perform the specified
functions?
2.Does it handle obvious errors in
input?
3.Ariane5 – lousy error handling
4.Classic ints vs floats, yards vs
meters
Black box should catch these if
there is adequate “test coverage”
Example: ordered list of ints
L=create()
L.insert(5)
L.insert(-1)
L.insert(-1)
p=L.getFirst()
print (p)
L.delete(p)
p=L.getFirst()
print(p)
p=L.getNext(p)
print(p)
p=L.getNext(p)

class OrdInts
create
getFirst
getNext
insert
delete
print

-1
-1
5
error
Black box tests
ī‚—Advantage: black box tester≠developer is unbiased by

implementation details. e.g., Use Case testing, just work through
all the Use Cases
ī‚—Disadvantage: black box tester is uninformed about
implementation details
ī‚—unnecessary tests – test same thing in different way
ī‚—insufficient tests – can miss the extremes, especially if actual use

follows a different pattern
black box tests
Code

Input

x
x
x

x

choose good distribution of input – hope good distribution of code tested
unnecessary tests
Input

Code

large range of input may exercise a small part of code
e.g., operator test of satellite control stations, run through
each
input and output light/key option. Testing same functions,
insufficient tests
Input

Code

a small range of input may exercise a large range of code
but can you ‘know’ this without knowing the code? Did we miss
the 20%
sufficient tests
Input

Code

complex
code

a small range of input may exercise a small but important/error-prone region
White box tests
Based on code
test 1

test 2
Example: ordered list of ints
class ordInts {
public: â€Ļ

private:
int vals[1000];
int maxElements=1000;
â€Ļ
}
Example: ordered list of ints
bool testMax()
{
L=create();
num=maxElements;
for (int i=0; i<=num; i++)
print i
L.insert(i)
print maxElements;
}
White box tests
ī‚—Advantage:
ī‚—design tests to achieve good code coverage and avoid duplication
ī‚—can stress complicated, error-prone code
ī‚—can stress boundary values (fault injection)

ī‚—Disadvantage:
ī‚—tester=developer may have bias
ī‚—if code changes, tests may have to be redesigned (is this bad?)
Example: ordered list of ints
L=create()
L.insert(1)
L.insert(2)
L.insert(3)

class OrdInts
create
getFirst

1
2
3

insert
delete
print

â€Ļ

L.insert(1001)
p=L.getFirst()
print(p)
p=L.getNext(p)
print p

â€Ļ

â€Ļ

getNext
Types of tests

ī‚—Black box: test based on interface, through interface
ī‚—White box: test based on code, through code

Testing strategy can/should include all
approaches!
My experience:
Black Box = non developer, outside testing idiots
in your case who?
White Box = developer, part of development process
in your case who?
Gray Box = hated, non developer within developer
organization
in your case who?
Software Testing
White-Box Testing

Black-Box Testing
requirements

output

.
.. our goal is to ensure that all
statements and conditions have
een executed at least once ...
21

input

events
White-Box Testing

Basis Path
Testingwe compute the cyclomatic
First,
complexity:
number of simple decisions + 1
or
number of enclosed areas + 1
In this case, V(G) = 4

22
White-Box Testing

Basis Path
Next, we derive the
Testing independent paths:

1

Since V(G) = 4,
there are four paths

2

3
4
5

7

8

6

Path 1:
Path 2:
Path 3:
Path 4:

1,2,4,7,8
1,2,3,5,7,8
1,2,3,6,7,8
1,2,4,7,2,4,...7,8

Finally, we derive test
cases to exercise these
paths.

A number of industry studies have indicated
that the higher V(G), the higher the probability
23
or errors.
White-Box Testing

Loop Testing

Simple
loop
Nested
Loops
Concatenated
Unstructured
Loops
Loops
24

Why is loop testing important?
White-Box Testing
Equivalence Partitioning

Black-Box
& Boundary Testing

Value Analysis
īą

īą

25

If x = 5 then â€Ļ

If x > -5 and x < 5 then â€Ļ

What would be the equivalence classes?
Black-Box Testing

Comparison Testing
ī‚—Used only in situations in which the reliability of software is

absolutely critical (e.g., human-rated systems)
ī‚—Separate software engineering teams develop independent

versions of an application using the same specification
ī‚— Each version can be tested with the same test data to ensure
that all provide identical output
ī‚—Then all versions are executed in parallel with real-time
comparison of results to ensure consistency

26
Levels of tests
ī‚—Unit

white

ī‚—Integration
ī‚—System
ī‚—System integration

black
Testing measures (white box)
ī‚—Code coverage – individual modules
ī‚—Path coverage – sequence diagrams
ī‚—Code coverage based on complexity – test of the risks, tricky

part of code (e.g., Unix “you are not expected to understand
this” code)
Levels of Testing
ī‚— Unit testing
ī‚— Integration testing
ī‚— Validation testing
ī‚— Focus is on software requirements
ī‚— System testing
ī‚— Focus is on system integration
ī‚— Alpha/Beta testing
ī‚— Focus is on customer usage
ī‚— Recovery testing
ī‚— forces the software to fail in a variety of ways and verifies that recovery is properly performed
ī‚— Security testing
ī‚— verifies that protection mechanisms built into a system will, in fact, protect it from improper penetration
ī‚— Stress testing
ī‚— executes a system in a manner that demands resources in abnormal quantity, frequency, or volume
ī‚— Performance Testing
ī‚— test the run-time performance of software within the context of an integrated system

29
Unit Testing
Tests the smallest individually executable code units.
Usually done by programmers. Test cases might be
selected based on code, specification, intuition, etc.
Tools:
ī‚—Test driver/harness
ī‚—Code coverage analyzer
ī‚—Automatic test case generator
Integration Testing
Tests interactions between two or more units or
components. Usually done by programmers.
Emphasizes interfaces.
Issues:
ī‚—In what order are units combined?
ī‚—How do you assure the compatibility and correctness of
externally-supplied components?
Integration Testing
How are units integrated? What are the implications of
this order?
ī‚—Top-down => need stubs; top-level tested repeatedly.
ī‚—Bottom-up => need drivers; bottom-levels tested repeatedly.
ī‚—Critical units first => stubs & drivers needed; critical units tested

repeatedly.
Integration Testing
Potential Problems:
ī‚—Inadequate unit testing.
ī‚—Inadequate planning & organization for integration testing.
ī‚—Inadequate documentation and testing of externally-supplied
components.
Stages of Testing
Testing in the Large
ī‚— System Testing
ī‚— End-to-End Testing
ī‚— Operations Readiness Testing
ī‚— Beta Testing
ī‚— Load Testing
ī‚— Stress Testing
ī‚— Performance Testing
ī‚— Reliability Testing
ī‚— Regression Testing
System Testing

Test the functionality of the entire system.
Usually done by professional testers.
Realities of System Testing
ī‚—Not all problems will be found no matter how thorough or

systematic the testing.
ī‚—Testing resources (staff, time, tools, labs) are limited.
ī‚—Specifications are frequently unclear/ambiguous and changing
(and not necessarily complete and up-to-date).
ī‚—Systems are almost always too large to permit test cases to be
selected based on code characteristics.

More Related Content

What's hot

Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Damian T. Gordon
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methodsHoma Pourmohammadi
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
@#$@#$@#$"""@#$@#$"""
@#$@#$@#$"""@#$@#$"""@#$@#$@#$"""@#$@#$"""
@#$@#$@#$"""@#$@#$"""nikhilawareness
 
SE2_Lec 21_ TDD and Junit
SE2_Lec 21_ TDD and JunitSE2_Lec 21_ TDD and Junit
SE2_Lec 21_ TDD and JunitAmr E. Mohamed
 
A survey of software testing
A survey of software testingA survey of software testing
A survey of software testingTao He
 
7 stages of unit testing
7 stages of unit testing7 stages of unit testing
7 stages of unit testingJorge Ortiz
 
Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)abdullah619
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniquesFincy V.J
 
Importance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileImportance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileChandan Mishra
 
Unit testing
Unit testing Unit testing
Unit testing Mani Kanth
 
Software testing introduction
Software testing introductionSoftware testing introduction
Software testing introductionSriman Eshwar
 
H testing and debugging
H testing and debuggingH testing and debugging
H testing and debuggingmissstevenson01
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and processgouravkalbalia
 
Software testing quiz questions and answers
Software testing quiz questions and answersSoftware testing quiz questions and answers
Software testing quiz questions and answersRajendraG
 

What's hot (20)

Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
@#$@#$@#$"""@#$@#$"""
@#$@#$@#$"""@#$@#$"""@#$@#$@#$"""@#$@#$"""
@#$@#$@#$"""@#$@#$"""
 
SE2_Lec 21_ TDD and Junit
SE2_Lec 21_ TDD and JunitSE2_Lec 21_ TDD and Junit
SE2_Lec 21_ TDD and Junit
 
A survey of software testing
A survey of software testingA survey of software testing
A survey of software testing
 
7 stages of unit testing
7 stages of unit testing7 stages of unit testing
7 stages of unit testing
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
 
Importance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileImportance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and Agile
 
Unit testing
Unit testing Unit testing
Unit testing
 
Software testing introduction
Software testing introductionSoftware testing introduction
Software testing introduction
 
Test cases
Test casesTest cases
Test cases
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
H testing and debugging
H testing and debuggingH testing and debugging
H testing and debugging
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and process
 
Unit testing
Unit testingUnit testing
Unit testing
 
Rv11
Rv11Rv11
Rv11
 
Software testing quiz questions and answers
Software testing quiz questions and answersSoftware testing quiz questions and answers
Software testing quiz questions and answers
 

Viewers also liked

Guerrilla usability testing
Guerrilla usability testingGuerrilla usability testing
Guerrilla usability testingJohn Whalen
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsEliane Collins
 
Implementing BDD at scale for agile and DevOps teams
Implementing BDD at scale for agile and DevOps teamsImplementing BDD at scale for agile and DevOps teams
Implementing BDD at scale for agile and DevOps teamsLaurent PY
 
Bahaviour Driven Development
Bahaviour Driven DevelopmentBahaviour Driven Development
Bahaviour Driven Developmentbuildmaster
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlcmahendra singh
 
Introduction to Behaviour Driven Development
Introduction to Behaviour Driven DevelopmentIntroduction to Behaviour Driven Development
Introduction to Behaviour Driven DevelopmentChristophe Achouiantz
 
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Anand Bagmar - Behavior Driven Testing (BDT) in AgileAnand Bagmar - Behavior Driven Testing (BDT) in Agile
Anand Bagmar - Behavior Driven Testing (BDT) in AgileAnand Bagmar
 
Validation testing
Validation testingValidation testing
Validation testingSlideshare
 
Basis path testing
Basis path testingBasis path testing
Basis path testingHoa Le
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing PyramidNaresh Jain
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsIosif Itkin
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
 

Viewers also liked (14)

Guerrilla usability testing
Guerrilla usability testingGuerrilla usability testing
Guerrilla usability testing
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
 
Implementing BDD at scale for agile and DevOps teams
Implementing BDD at scale for agile and DevOps teamsImplementing BDD at scale for agile and DevOps teams
Implementing BDD at scale for agile and DevOps teams
 
Bahaviour Driven Development
Bahaviour Driven DevelopmentBahaviour Driven Development
Bahaviour Driven Development
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlc
 
Introduction to Behaviour Driven Development
Introduction to Behaviour Driven DevelopmentIntroduction to Behaviour Driven Development
Introduction to Behaviour Driven Development
 
Testing tools
Testing toolsTesting tools
Testing tools
 
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
Anand Bagmar - Behavior Driven Testing (BDT) in AgileAnand Bagmar - Behavior Driven Testing (BDT) in Agile
Anand Bagmar - Behavior Driven Testing (BDT) in Agile
 
Validation testing
Validation testingValidation testing
Validation testing
 
Basis path testing
Basis path testingBasis path testing
Basis path testing
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and Cons
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 

Similar to Software testing

Slides chapters 13-14
Slides chapters 13-14Slides chapters 13-14
Slides chapters 13-14Priyanka Shetty
 
lec-11 Testing.ppt
lec-11 Testing.pptlec-11 Testing.ppt
lec-11 Testing.pptdebjani12
 
Unit testing
Unit testingUnit testing
Unit testingmedsherb
 
Black box software testing
Black box software testingBlack box software testing
Black box software testingRana Muhammad Asif
 
5.Black Box Testing and Levels of Testing.ppt
5.Black Box Testing and Levels of Testing.ppt5.Black Box Testing and Levels of Testing.ppt
5.Black Box Testing and Levels of Testing.pptSyedAhmad732853
 
Testing
TestingTesting
TestingMohammed
 
SE - Lecture 8 - Software Testing State Diagram.pptx
SE - Lecture 8 - Software Testing  State Diagram.pptxSE - Lecture 8 - Software Testing  State Diagram.pptx
SE - Lecture 8 - Software Testing State Diagram.pptxTangZhiSiang
 
6months industrial training in software testing, jalandhar
6months industrial training in software testing, jalandhar6months industrial training in software testing, jalandhar
6months industrial training in software testing, jalandhardeepikakaler1
 
6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhianadeepikakaler1
 
6 weeks summer training in software testing,jalandhar
6 weeks summer training in software testing,jalandhar6 weeks summer training in software testing,jalandhar
6 weeks summer training in software testing,jalandhardeepikakaler1
 
6months industrial training in software testing, ludhiana
6months industrial training in software testing, ludhiana6months industrial training in software testing, ludhiana
6months industrial training in software testing, ludhianadeepikakaler1
 
Software testing mtech project in jalandhar
Software testing mtech project in jalandharSoftware testing mtech project in jalandhar
Software testing mtech project in jalandhardeepikakaler1
 
Software testing mtech project in ludhiana
Software testing mtech project in ludhianaSoftware testing mtech project in ludhiana
Software testing mtech project in ludhianadeepikakaler1
 
unittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentunittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentAkshayaM79
 
White-box testing.pptx
White-box testing.pptxWhite-box testing.pptx
White-box testing.pptxhalaalz3by
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptChapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptGentaSahuri2
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxketurahhazelhurst
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbjeyasrig
 
Lecture (Software Testing).pptx
Lecture (Software Testing).pptxLecture (Software Testing).pptx
Lecture (Software Testing).pptxskknowledge
 

Similar to Software testing (20)

Slides chapters 13-14
Slides chapters 13-14Slides chapters 13-14
Slides chapters 13-14
 
lec-11 Testing.ppt
lec-11 Testing.pptlec-11 Testing.ppt
lec-11 Testing.ppt
 
Unit testing
Unit testingUnit testing
Unit testing
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
5.Black Box Testing and Levels of Testing.ppt
5.Black Box Testing and Levels of Testing.ppt5.Black Box Testing and Levels of Testing.ppt
5.Black Box Testing and Levels of Testing.ppt
 
Testing
TestingTesting
Testing
 
SE - Lecture 8 - Software Testing State Diagram.pptx
SE - Lecture 8 - Software Testing  State Diagram.pptxSE - Lecture 8 - Software Testing  State Diagram.pptx
SE - Lecture 8 - Software Testing State Diagram.pptx
 
6months industrial training in software testing, jalandhar
6months industrial training in software testing, jalandhar6months industrial training in software testing, jalandhar
6months industrial training in software testing, jalandhar
 
6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana
 
6 weeks summer training in software testing,jalandhar
6 weeks summer training in software testing,jalandhar6 weeks summer training in software testing,jalandhar
6 weeks summer training in software testing,jalandhar
 
6months industrial training in software testing, ludhiana
6months industrial training in software testing, ludhiana6months industrial training in software testing, ludhiana
6months industrial training in software testing, ludhiana
 
Software testing mtech project in jalandhar
Software testing mtech project in jalandharSoftware testing mtech project in jalandhar
Software testing mtech project in jalandhar
 
Software testing mtech project in ludhiana
Software testing mtech project in ludhianaSoftware testing mtech project in ludhiana
Software testing mtech project in ludhiana
 
unittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentunittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx document
 
White-box testing.pptx
White-box testing.pptxWhite-box testing.pptx
White-box testing.pptx
 
Chapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.pptChapter 8 - Software Testing.ppt
Chapter 8 - Software Testing.ppt
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docx
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
 
Testing concepts
Testing conceptsTesting concepts
Testing concepts
 
Lecture (Software Testing).pptx
Lecture (Software Testing).pptxLecture (Software Testing).pptx
Lecture (Software Testing).pptx
 

More from Bala Ganesh

DDL,DML,1stNF
DDL,DML,1stNFDDL,DML,1stNF
DDL,DML,1stNFBala Ganesh
 
Dbms chapter viii
Dbms chapter viiiDbms chapter viii
Dbms chapter viiiBala Ganesh
 
Dbms chapter vii
Dbms chapter viiDbms chapter vii
Dbms chapter viiBala Ganesh
 
Dbms chapter v
Dbms chapter vDbms chapter v
Dbms chapter vBala Ganesh
 
Dbms chapter iv
Dbms chapter ivDbms chapter iv
Dbms chapter ivBala Ganesh
 
Dbms chapter iii
Dbms chapter iiiDbms chapter iii
Dbms chapter iiiBala Ganesh
 
Dmbs chapter vi
Dmbs chapter viDmbs chapter vi
Dmbs chapter viBala Ganesh
 
Dbms chapter ii
Dbms chapter iiDbms chapter ii
Dbms chapter iiBala Ganesh
 
Dbms chap i
Dbms chap iDbms chap i
Dbms chap iBala Ganesh
 
Flip flop& RAM ROM
Flip flop& RAM ROMFlip flop& RAM ROM
Flip flop& RAM ROMBala Ganesh
 
karnaugh maps
karnaugh mapskarnaugh maps
karnaugh mapsBala Ganesh
 
Chap iii-Logic Gates
Chap iii-Logic GatesChap iii-Logic Gates
Chap iii-Logic GatesBala Ganesh
 
Chap ii.BCD code,Gray code
Chap ii.BCD code,Gray codeChap ii.BCD code,Gray code
Chap ii.BCD code,Gray codeBala Ganesh
 
DEL-244Chep i
DEL-244Chep iDEL-244Chep i
DEL-244Chep iBala Ganesh
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and AnswersBala Ganesh
 
Comp 107 cep 8
Comp 107 cep 8Comp 107 cep 8
Comp 107 cep 8Bala Ganesh
 
Comp 107 cep 7
Comp 107 cep 7Comp 107 cep 7
Comp 107 cep 7Bala Ganesh
 
Cocomo model
Cocomo modelCocomo model
Cocomo modelBala Ganesh
 

More from Bala Ganesh (20)

DDL,DML,1stNF
DDL,DML,1stNFDDL,DML,1stNF
DDL,DML,1stNF
 
sfdfds
sfdfdssfdfds
sfdfds
 
Dbms chapter viii
Dbms chapter viiiDbms chapter viii
Dbms chapter viii
 
Dbms chapter vii
Dbms chapter viiDbms chapter vii
Dbms chapter vii
 
Dbms chapter v
Dbms chapter vDbms chapter v
Dbms chapter v
 
Dbms chapter iv
Dbms chapter ivDbms chapter iv
Dbms chapter iv
 
Dbms chapter iii
Dbms chapter iiiDbms chapter iii
Dbms chapter iii
 
Dmbs chapter vi
Dmbs chapter viDmbs chapter vi
Dmbs chapter vi
 
Dbms chapter ii
Dbms chapter iiDbms chapter ii
Dbms chapter ii
 
Dbms chap i
Dbms chap iDbms chap i
Dbms chap i
 
Flip flop& RAM ROM
Flip flop& RAM ROMFlip flop& RAM ROM
Flip flop& RAM ROM
 
karnaugh maps
karnaugh mapskarnaugh maps
karnaugh maps
 
Chap iii-Logic Gates
Chap iii-Logic GatesChap iii-Logic Gates
Chap iii-Logic Gates
 
Chap ii.BCD code,Gray code
Chap ii.BCD code,Gray codeChap ii.BCD code,Gray code
Chap ii.BCD code,Gray code
 
DEL-244Chep i
DEL-244Chep iDEL-244Chep i
DEL-244Chep i
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
 
Design
DesignDesign
Design
 
Comp 107 cep 8
Comp 107 cep 8Comp 107 cep 8
Comp 107 cep 8
 
Comp 107 cep 7
Comp 107 cep 7Comp 107 cep 7
Comp 107 cep 7
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
đŸŦ The future of MySQL is Postgres 🐘
đŸŦ  The future of MySQL is Postgres   🐘đŸŦ  The future of MySQL is Postgres   🐘
đŸŦ The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraÃējo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
đŸŦ The future of MySQL is Postgres 🐘
đŸŦ  The future of MySQL is Postgres   🐘đŸŦ  The future of MySQL is Postgres   🐘
đŸŦ The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Software testing

  • 2. Software Testing Testing is the process of exercising a program with the specific intent of finding errors prior to delivery o the end user. errors requirements conformance performance an indication of quality 2
  • 3. Who Tests the Software? developer Understands the system but, will test "gently" and, is driven by "delivery " 3 independent tester Must learn about the system, but, will attempt to break it and, is driven by quality
  • 4. Software Testing ī‚—Goals ī‚—Types of tests ī‚—Levels of tests ī‚—Test measures ī‚—Test plan
  • 5. Goals ī‚—Verification: Have we built the software right? Bug-free, meets specs ī‚—Validation: Have we built the right software? Meets customers’ needs Are Verification and Validation different or variation of the same idea My argument: “meeting specs” should equal “meeting customer needs”... not generally true (my kitchen, satellite systems)
  • 6. Software Testing ī‚—Goals ī‚—Types of tests ī‚—Levels of tests ī‚—Test measures ī‚—Test plan most of this discussion focuses on verification (more specifically bug testing)
  • 7. Types of tests ī‚—Black box ī‚—White box
  • 8. Black box tests input output interfa ce 1. Does it perform the specified functions? 2.Does it handle obvious errors in input? 3.Ariane5 – lousy error handling 4.Classic ints vs floats, yards vs meters Black box should catch these if there is adequate “test coverage”
  • 9. Example: ordered list of ints L=create() L.insert(5) L.insert(-1) L.insert(-1) p=L.getFirst() print (p) L.delete(p) p=L.getFirst() print(p) p=L.getNext(p) print(p) p=L.getNext(p) class OrdInts create getFirst getNext insert delete print -1 -1 5 error
  • 10. Black box tests ī‚—Advantage: black box tester≠developer is unbiased by implementation details. e.g., Use Case testing, just work through all the Use Cases ī‚—Disadvantage: black box tester is uninformed about implementation details ī‚—unnecessary tests – test same thing in different way ī‚—insufficient tests – can miss the extremes, especially if actual use follows a different pattern
  • 11. black box tests Code Input x x x x choose good distribution of input – hope good distribution of code tested
  • 12. unnecessary tests Input Code large range of input may exercise a small part of code e.g., operator test of satellite control stations, run through each input and output light/key option. Testing same functions,
  • 13. insufficient tests Input Code a small range of input may exercise a large range of code but can you ‘know’ this without knowing the code? Did we miss the 20%
  • 14. sufficient tests Input Code complex code a small range of input may exercise a small but important/error-prone region
  • 15. White box tests Based on code test 1 test 2
  • 16. Example: ordered list of ints class ordInts { public: â€Ļ private: int vals[1000]; int maxElements=1000; â€Ļ }
  • 17. Example: ordered list of ints bool testMax() { L=create(); num=maxElements; for (int i=0; i<=num; i++) print i L.insert(i) print maxElements; }
  • 18. White box tests ī‚—Advantage: ī‚—design tests to achieve good code coverage and avoid duplication ī‚—can stress complicated, error-prone code ī‚—can stress boundary values (fault injection) ī‚—Disadvantage: ī‚—tester=developer may have bias ī‚—if code changes, tests may have to be redesigned (is this bad?)
  • 19. Example: ordered list of ints L=create() L.insert(1) L.insert(2) L.insert(3) class OrdInts create getFirst 1 2 3 insert delete print â€Ļ L.insert(1001) p=L.getFirst() print(p) p=L.getNext(p) print p â€Ļ â€Ļ getNext
  • 20. Types of tests ī‚—Black box: test based on interface, through interface ī‚—White box: test based on code, through code Testing strategy can/should include all approaches! My experience: Black Box = non developer, outside testing idiots in your case who? White Box = developer, part of development process in your case who? Gray Box = hated, non developer within developer organization in your case who?
  • 21. Software Testing White-Box Testing Black-Box Testing requirements output . .. our goal is to ensure that all statements and conditions have een executed at least once ... 21 input events
  • 22. White-Box Testing Basis Path Testingwe compute the cyclomatic First, complexity: number of simple decisions + 1 or number of enclosed areas + 1 In this case, V(G) = 4 22
  • 23. White-Box Testing Basis Path Next, we derive the Testing independent paths: 1 Since V(G) = 4, there are four paths 2 3 4 5 7 8 6 Path 1: Path 2: Path 3: Path 4: 1,2,4,7,8 1,2,3,5,7,8 1,2,3,6,7,8 1,2,4,7,2,4,...7,8 Finally, we derive test cases to exercise these paths. A number of industry studies have indicated that the higher V(G), the higher the probability 23 or errors.
  • 25. White-Box Testing Equivalence Partitioning Black-Box & Boundary Testing Value Analysis īą īą 25 If x = 5 then â€Ļ If x > -5 and x < 5 then â€Ļ What would be the equivalence classes?
  • 26. Black-Box Testing Comparison Testing ī‚—Used only in situations in which the reliability of software is absolutely critical (e.g., human-rated systems) ī‚—Separate software engineering teams develop independent versions of an application using the same specification ī‚— Each version can be tested with the same test data to ensure that all provide identical output ī‚—Then all versions are executed in parallel with real-time comparison of results to ensure consistency 26
  • 28. Testing measures (white box) ī‚—Code coverage – individual modules ī‚—Path coverage – sequence diagrams ī‚—Code coverage based on complexity – test of the risks, tricky part of code (e.g., Unix “you are not expected to understand this” code)
  • 29. Levels of Testing ī‚— Unit testing ī‚— Integration testing ī‚— Validation testing ī‚— Focus is on software requirements ī‚— System testing ī‚— Focus is on system integration ī‚— Alpha/Beta testing ī‚— Focus is on customer usage ī‚— Recovery testing ī‚— forces the software to fail in a variety of ways and verifies that recovery is properly performed ī‚— Security testing ī‚— verifies that protection mechanisms built into a system will, in fact, protect it from improper penetration ī‚— Stress testing ī‚— executes a system in a manner that demands resources in abnormal quantity, frequency, or volume ī‚— Performance Testing ī‚— test the run-time performance of software within the context of an integrated system 29
  • 30. Unit Testing Tests the smallest individually executable code units. Usually done by programmers. Test cases might be selected based on code, specification, intuition, etc. Tools: ī‚—Test driver/harness ī‚—Code coverage analyzer ī‚—Automatic test case generator
  • 31. Integration Testing Tests interactions between two or more units or components. Usually done by programmers. Emphasizes interfaces. Issues: ī‚—In what order are units combined? ī‚—How do you assure the compatibility and correctness of externally-supplied components?
  • 32. Integration Testing How are units integrated? What are the implications of this order? ī‚—Top-down => need stubs; top-level tested repeatedly. ī‚—Bottom-up => need drivers; bottom-levels tested repeatedly. ī‚—Critical units first => stubs & drivers needed; critical units tested repeatedly.
  • 33. Integration Testing Potential Problems: ī‚—Inadequate unit testing. ī‚—Inadequate planning & organization for integration testing. ī‚—Inadequate documentation and testing of externally-supplied components.
  • 34. Stages of Testing Testing in the Large ī‚— System Testing ī‚— End-to-End Testing ī‚— Operations Readiness Testing ī‚— Beta Testing ī‚— Load Testing ī‚— Stress Testing ī‚— Performance Testing ī‚— Reliability Testing ī‚— Regression Testing
  • 35. System Testing Test the functionality of the entire system. Usually done by professional testers.
  • 36. Realities of System Testing ī‚—Not all problems will be found no matter how thorough or systematic the testing. ī‚—Testing resources (staff, time, tools, labs) are limited. ī‚—Specifications are frequently unclear/ambiguous and changing (and not necessarily complete and up-to-date). ī‚—Systems are almost always too large to permit test cases to be selected based on code characteristics.

Editor's Notes

  1. {}