SlideShare a Scribd company logo
ITIS-3320-091 
Test Levels
2 
Coverage in software testing 
 Coverage: The degree, expressed as a percentage, to 
which a specified item has been exercised by a test 
suite 
 Branch coverage: % the branches that have been exercised 
 Code coverage: % which parts of the software has been 
executed 
 Statement coverage: % executable statements have been 
exercised 
 Coverage tool: a tool that provides objective 
measures of what structural elements, e.g. statements 
branches have been exercised by the test suite
3 
Test Levels 
Whichever development model is selected, a number of 
design activities are executed: 
Creation of components 
Integration of these components together 
When all components have been integrated, it is 
necessary ensure that the system works properly in 
end-to-end 
Ensure that the system is accepted by the users, so 
that it can be delivered.
4 
V-model 
Using the V-model to group the testing tasks in four 
levels: 
Component tests (Unit tests) 
Components integration tests 
System tests, on the completely integrated system 
Acceptance tests, a prerequisite for delivery to the 
market or production
5 
Aspects of testing activities 
 Test object: the target of the test, be it a function, a sub-program, 
or a program, a software application, or a 
system made up of different sub-systems 
 Specific objectives: associated with that activity, which 
are the reasons why the tests will be executed. These can 
be to discover certain types of defects, to ensure correct 
operation, or provide any other type of information (such 
as coverage) 
 Test basis: a referential or set of information that can be 
used to define what the test object is supposed to do 
 Entry and exit criteria: which will define when a task can 
start (the pre-requisites) and when it can be considered as 
finished
6 
Component test (Unit Test) 
 Test object: components, program modules, 
functions, programs, database modules, SQL request, 
depending on the granularity of the software or 
system to test 
 Objective: detect failures in the components, verifies 
whether the mode of operation of the component, 
module, program, object, class, etc. is functional or 
non-functional 
 Reference materials: requirements applicable to the 
component, detailed specification, source code, 
algorithms
7 
Component test (Unit Test) 
 Entry criteria: the component is available, compiled 
and executed in the test environment; the 
specifications are available and stable. 
 Exit criteria: the required coverage level, functional 
and technical (or non-functional), has been reached; 
defects found have been corrected; and the 
corrections have been verified; regression tests on 
the rest of the component have been executed on the 
last version of the software.
8 
Integration level testing 
 Test object: components, infrastructure, interfaces, 
database systems, and file systems 
 Objective: detect failures in the interfaces and 
exchanges between components 
 Reference materials: preliminary and detailed design 
documentation for the software or system, software or 
system architecture, use cases, workflow, etc. 
 Entry criteria: components that must exchange data are 
available, and have passed component test successfully 
 Exit criteria: all components have been integrated and 
all message types (sent or received) have been 
exchanged without any defect for each existing interface
9 
Integration level testing 
 Component integration testing focuses on the 
interfaces between components and between the 
different parts of the software and the system 
(including the hardware). 
 This includes the interface with the operating system, 
file systems, database systems, hardware, and 
software (protocol, message, etc.); interfaces inside 
the system or between systems
10 
Ways to integrate components 
 Big bang integration 
 Bottom-up integration 
 Top-down integration 
 Other types of integration
11 
System tests 
 Test object: the complete software or system, its 
documentation (user manual, maintenance and 
installation documentation, etc.) 
 Objective: detect failures in the software, to ensure that 
it corresponds to the requirements and specifications, 
and that it can be accepted by the users 
 Entry criteria: all components have been correctly 
integrated, all components are available 
 Exit criteria: the functional and technical level of 
coverage has been reached; must-fix defects have been 
corrected and their fixes have been verified; regression 
tests have been executed on the last version of the SW
12 
Acceptance tests 
 Test object: the complete software or system, its 
documentation, all necessary configuration items. 
 Objective: obtain customer or user acceptance of the 
software 
 Reference material: specifications, and requirements 
for the system or software, use case, risk analysis 
 Entry criteria: all components have been correctly 
tested 
 Exit criteria: the expected coverage level have been 
reached; must-fix defects have been corrected and the 
fixes have been verified; regression tests have been 
executed on the latest version of the software
13 
Types of tests 
 You probably have a car, and selected it based on 
criteria that were specific to you, such as price, color, 
brand, horsepower, reliability, comfort, miles to 
gallons, speed, price of spare parts or of 
maintenance, etc. 
 To go from “A” to “B” was not the determining 
factor (all vehicles have that functionality) 
 Your selection was thus mostly toward non-functional 
characteristics
14 
Functional tests 
 Functional tests focus on the functions of the 
software, what they do, the services provided, and 
the requirements covered 
 Functional tests include (ISO 9126): 
 Suitability 
 Accuracy 
 Interoperability 
 Security 
 Functional compliance
15 
Non-functional tests 
 Non-functional tests focus on the way the services 
are provided 
 Can be executed at all test levels (unit, integration, 
system, acceptance) 
 Non-functional aspects of the ISO 9126: 
 Reliability 
 Usability 
 Efficiency 
 Maintainability 
 Portability
16 
Tests associated with changes 
 When a defect has been corrected, two types of tests 
should be executed: 
1. Confirmation tests or retests: which focus on verifying 
that the defect has been corrected and the software 
operates as expected; and 
2. Regression tests: that will make sure that the correction 
did not introduce any side effects (regression) on the rest 
of the software 
 Regression tests and impact analysis of modification 
are very important during maintenance and 
correction of software
Impact analysis 
 We see the structure 
of calls between 
components of a 
software 
 If components 22 
must be updated, 
then components 1, 
23, 24, 25, 26, and 
27 will have to be 
verified 
 Indirectly impacted 
components must be 
verified
18 
Test and maintenance 
 Software maintenance applies to modifications of 
software already used or delivered to the market 
 During maintenance, evolutions or fixes are usually 
caused by external events such as changes in 
regulations that translates in a corresponding change 
in the software. 
 Maintenance testing has constraints: 
 Timing constraints, for development and testing 
 Impact constraints, to ensure that other functionalities are 
not impacted 
 As times goes on, changes and fixes are added, 
evolution occurs and new, functionalities are 
introduced.
Bathtub curve 
 The curve illustrates the evolution associated with the 
software life cycle 
 “A” During the design phase the number of defects 
decreases until the software is provided to the market 
 “B” maintenance becomes too large and justify retirements

More Related Content

What's hot

Unit 7 verification & validation
Unit 7 verification & validationUnit 7 verification & validation
Unit 7 verification & validationraksharao
 
Tools for Software Verification and Validation
Tools for Software Verification and ValidationTools for Software Verification and Validation
Tools for Software Verification and Validationaliraza786
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati HolaszHolasz Kati
 
Ppt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cyclePpt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cyclesanti suryani
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurancelokareminakshi
 
Software testing tools and its taxonomy
Software testing tools and its taxonomySoftware testing tools and its taxonomy
Software testing tools and its taxonomyHimanshu
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testingpooja deshmukh
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingFayis-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingSachin-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual TestingANKUR-BA
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software EngineeringMuhammadTalha436
 

What's hot (18)

Unit 7 verification & validation
Unit 7 verification & validationUnit 7 verification & validation
Unit 7 verification & validation
 
Audit
AuditAudit
Audit
 
Tools for Software Verification and Validation
Tools for Software Verification and ValidationTools for Software Verification and Validation
Tools for Software Verification and Validation
 
Software testing
Software testingSoftware testing
Software testing
 
Testing tools
Testing toolsTesting tools
Testing tools
 
Verification & Validation
Verification & ValidationVerification & Validation
Verification & Validation
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati Holasz
 
Ppt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cyclePpt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cycle
 
Testing software development
Testing software developmentTesting software development
Testing software development
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software testing tools and its taxonomy
Software testing tools and its taxonomySoftware testing tools and its taxonomy
Software testing tools and its taxonomy
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 

Viewers also liked

Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)Iosif Itkin
 
MXML Storage and the problem of manipulation of context
MXML Storage and the problem of manipulation of context MXML Storage and the problem of manipulation of context
MXML Storage and the problem of manipulation of context Giannis Tsakonas
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsLionel Briand
 
Shubham Khare - Profile
Shubham Khare - ProfileShubham Khare - Profile
Shubham Khare - ProfileShubham Khare
 
Non-Functional Testing at London Stock Exchange
Non-Functional Testing at  London Stock ExchangeNon-Functional Testing at  London Stock Exchange
Non-Functional Testing at London Stock ExchangeIosif Itkin
 
Reconciliation Testing Aspects of Trading Systems Software Failures
Reconciliation Testing Aspects of Trading Systems Software FailuresReconciliation Testing Aspects of Trading Systems Software Failures
Reconciliation Testing Aspects of Trading Systems Software FailuresIosif Itkin
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14Alexander Podelko
 
Financial derivatives ppt
Financial derivatives pptFinancial derivatives ppt
Financial derivatives pptVaishnaviSavant
 
Writing Test Cases in Agile
Writing Test Cases in AgileWriting Test Cases in Agile
Writing Test Cases in AgileSaroj Singh
 

Viewers also liked (12)

Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
 
MXML Storage and the problem of manipulation of context
MXML Storage and the problem of manipulation of context MXML Storage and the problem of manipulation of context
MXML Storage and the problem of manipulation of context
 
Nivethitha_Murex and Manual Testing_7 yrs
Nivethitha_Murex and Manual Testing_7 yrsNivethitha_Murex and Manual Testing_7 yrs
Nivethitha_Murex and Manual Testing_7 yrs
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
 
Shubham Khare - Profile
Shubham Khare - ProfileShubham Khare - Profile
Shubham Khare - Profile
 
Non-Functional Testing at London Stock Exchange
Non-Functional Testing at  London Stock ExchangeNon-Functional Testing at  London Stock Exchange
Non-Functional Testing at London Stock Exchange
 
Reconciliation Testing Aspects of Trading Systems Software Failures
Reconciliation Testing Aspects of Trading Systems Software FailuresReconciliation Testing Aspects of Trading Systems Software Failures
Reconciliation Testing Aspects of Trading Systems Software Failures
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
 
Guide to OTC Trading
Guide to OTC TradingGuide to OTC Trading
Guide to OTC Trading
 
Ecommerce Website Testing Checklist
Ecommerce Website Testing ChecklistEcommerce Website Testing Checklist
Ecommerce Website Testing Checklist
 
Financial derivatives ppt
Financial derivatives pptFinancial derivatives ppt
Financial derivatives ppt
 
Writing Test Cases in Agile
Writing Test Cases in AgileWriting Test Cases in Agile
Writing Test Cases in Agile
 

Similar to 9 test_levels-

Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual TestingHiral Gosani
 
Testing in Software Engineering.docx
Testing in Software Engineering.docxTesting in Software Engineering.docx
Testing in Software Engineering.docx8759000398
 
Software enginnenring Book Slides By summer
Software enginnenring Book Slides By summerSoftware enginnenring Book Slides By summer
Software enginnenring Book Slides By summerp229279
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8Mohammed Romi
 
Testing terms & definitions
Testing terms & definitionsTesting terms & definitions
Testing terms & definitionsSachin MK
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDhrumil Panchal
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6Bisrat Girma
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1FAIZALSAIYED
 
software testing methodologies
software testing methodologiessoftware testing methodologies
software testing methodologiesJhonny Jhon
 
object oriented system analysis and design
object oriented system analysis and designobject oriented system analysis and design
object oriented system analysis and designwekineheshete
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Conceptsmqamarhayat
 

Similar to 9 test_levels- (20)

CTFL Module 02
CTFL Module 02CTFL Module 02
CTFL Module 02
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 
Testing in Software Engineering.docx
Testing in Software Engineering.docxTesting in Software Engineering.docx
Testing in Software Engineering.docx
 
Software enginnenring Book Slides By summer
Software enginnenring Book Slides By summerSoftware enginnenring Book Slides By summer
Software enginnenring Book Slides By summer
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
Testing terms & definitions
Testing terms & definitionsTesting terms & definitions
Testing terms & definitions
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
software testing methodologies
software testing methodologiessoftware testing methodologies
software testing methodologies
 
Testing
TestingTesting
Testing
 
object oriented system analysis and design
object oriented system analysis and designobject oriented system analysis and design
object oriented system analysis and design
 
Software test proposal
Software test proposalSoftware test proposal
Software test proposal
 
Software testing2
Software testing2Software testing2
Software testing2
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
 
Software testing
Software testingSoftware testing
Software testing
 
Glossary of Testing Terms and Concepts
Glossary of Testing Terms and ConceptsGlossary of Testing Terms and Concepts
Glossary of Testing Terms and Concepts
 

9 test_levels-

  • 2. 2 Coverage in software testing  Coverage: The degree, expressed as a percentage, to which a specified item has been exercised by a test suite  Branch coverage: % the branches that have been exercised  Code coverage: % which parts of the software has been executed  Statement coverage: % executable statements have been exercised  Coverage tool: a tool that provides objective measures of what structural elements, e.g. statements branches have been exercised by the test suite
  • 3. 3 Test Levels Whichever development model is selected, a number of design activities are executed: Creation of components Integration of these components together When all components have been integrated, it is necessary ensure that the system works properly in end-to-end Ensure that the system is accepted by the users, so that it can be delivered.
  • 4. 4 V-model Using the V-model to group the testing tasks in four levels: Component tests (Unit tests) Components integration tests System tests, on the completely integrated system Acceptance tests, a prerequisite for delivery to the market or production
  • 5. 5 Aspects of testing activities  Test object: the target of the test, be it a function, a sub-program, or a program, a software application, or a system made up of different sub-systems  Specific objectives: associated with that activity, which are the reasons why the tests will be executed. These can be to discover certain types of defects, to ensure correct operation, or provide any other type of information (such as coverage)  Test basis: a referential or set of information that can be used to define what the test object is supposed to do  Entry and exit criteria: which will define when a task can start (the pre-requisites) and when it can be considered as finished
  • 6. 6 Component test (Unit Test)  Test object: components, program modules, functions, programs, database modules, SQL request, depending on the granularity of the software or system to test  Objective: detect failures in the components, verifies whether the mode of operation of the component, module, program, object, class, etc. is functional or non-functional  Reference materials: requirements applicable to the component, detailed specification, source code, algorithms
  • 7. 7 Component test (Unit Test)  Entry criteria: the component is available, compiled and executed in the test environment; the specifications are available and stable.  Exit criteria: the required coverage level, functional and technical (or non-functional), has been reached; defects found have been corrected; and the corrections have been verified; regression tests on the rest of the component have been executed on the last version of the software.
  • 8. 8 Integration level testing  Test object: components, infrastructure, interfaces, database systems, and file systems  Objective: detect failures in the interfaces and exchanges between components  Reference materials: preliminary and detailed design documentation for the software or system, software or system architecture, use cases, workflow, etc.  Entry criteria: components that must exchange data are available, and have passed component test successfully  Exit criteria: all components have been integrated and all message types (sent or received) have been exchanged without any defect for each existing interface
  • 9. 9 Integration level testing  Component integration testing focuses on the interfaces between components and between the different parts of the software and the system (including the hardware).  This includes the interface with the operating system, file systems, database systems, hardware, and software (protocol, message, etc.); interfaces inside the system or between systems
  • 10. 10 Ways to integrate components  Big bang integration  Bottom-up integration  Top-down integration  Other types of integration
  • 11. 11 System tests  Test object: the complete software or system, its documentation (user manual, maintenance and installation documentation, etc.)  Objective: detect failures in the software, to ensure that it corresponds to the requirements and specifications, and that it can be accepted by the users  Entry criteria: all components have been correctly integrated, all components are available  Exit criteria: the functional and technical level of coverage has been reached; must-fix defects have been corrected and their fixes have been verified; regression tests have been executed on the last version of the SW
  • 12. 12 Acceptance tests  Test object: the complete software or system, its documentation, all necessary configuration items.  Objective: obtain customer or user acceptance of the software  Reference material: specifications, and requirements for the system or software, use case, risk analysis  Entry criteria: all components have been correctly tested  Exit criteria: the expected coverage level have been reached; must-fix defects have been corrected and the fixes have been verified; regression tests have been executed on the latest version of the software
  • 13. 13 Types of tests  You probably have a car, and selected it based on criteria that were specific to you, such as price, color, brand, horsepower, reliability, comfort, miles to gallons, speed, price of spare parts or of maintenance, etc.  To go from “A” to “B” was not the determining factor (all vehicles have that functionality)  Your selection was thus mostly toward non-functional characteristics
  • 14. 14 Functional tests  Functional tests focus on the functions of the software, what they do, the services provided, and the requirements covered  Functional tests include (ISO 9126):  Suitability  Accuracy  Interoperability  Security  Functional compliance
  • 15. 15 Non-functional tests  Non-functional tests focus on the way the services are provided  Can be executed at all test levels (unit, integration, system, acceptance)  Non-functional aspects of the ISO 9126:  Reliability  Usability  Efficiency  Maintainability  Portability
  • 16. 16 Tests associated with changes  When a defect has been corrected, two types of tests should be executed: 1. Confirmation tests or retests: which focus on verifying that the defect has been corrected and the software operates as expected; and 2. Regression tests: that will make sure that the correction did not introduce any side effects (regression) on the rest of the software  Regression tests and impact analysis of modification are very important during maintenance and correction of software
  • 17. Impact analysis  We see the structure of calls between components of a software  If components 22 must be updated, then components 1, 23, 24, 25, 26, and 27 will have to be verified  Indirectly impacted components must be verified
  • 18. 18 Test and maintenance  Software maintenance applies to modifications of software already used or delivered to the market  During maintenance, evolutions or fixes are usually caused by external events such as changes in regulations that translates in a corresponding change in the software.  Maintenance testing has constraints:  Timing constraints, for development and testing  Impact constraints, to ensure that other functionalities are not impacted  As times goes on, changes and fixes are added, evolution occurs and new, functionalities are introduced.
  • 19. Bathtub curve  The curve illustrates the evolution associated with the software life cycle  “A” During the design phase the number of defects decreases until the software is provided to the market  “B” maintenance becomes too large and justify retirements