SlideShare a Scribd company logo
1 of 20
Software Testing Foundations #2
Testing in the Software Lifecycle
Nikita Knysh
nknysh@gmail.com
http://www.facebook.com/groups/istqb/
Agenda
•   Levels of Test: The V-model
•   Testing New Product Versions
•   Types of Testing
•   Testing Related to Changes
Development Activities
• Req specification: needs & reqs of the
  customer, desired characteristics and features of the
  system.
• Func system design: reqs are mapped onto system
  functions & dialogs.
• Technical system design: implementation of system
  is designed (architecture, interfaces, etc.).
• Component specification: task, behavior, inner
  structure & interfaces are defined for each
  subsystem.
• Programming.
Levels of Test: The V-model
 Requirements                                                  Acceptance
   Definition                                                     Test


         Functional
                                                        System Test
       System Design


              Technical                          Integration
            System Design                            Test


                  Component                 Component
                  Specification                Test
                                                                      Implementation &
                                                                      Integration
                                                                      Validation
                                  Programming
                                                                      Verification
V-model: Test Activities #1
• Component test: test functionality, robustness, efficiency
  and maintainability of components. Techniques: white
  box, black box, test-driven development.
• Integration test: test of collaboration between
  components after assembling to expose faults in
  interfaces and interaction between components. Test
  drivers, stubs and monitors are used. Integration in the
  large – integration of several software systems.
  ▫ Integration strategy has to be designed by test manager
    taking into account system architecture, project plan and
    test plan constraints. Top-down, bottom-up, ad-
    hoc, backbone.
V-model: Test Activities #2
• System test: check if the integrated product meets the
  specified requirements. System is examined from the
  point of view of customer and future user. Environment
  should be as close to the operation environment as
  possible, but this should NOT be the customer’s
  operational environment.
• Acceptance test: “Formal testing with respect to user
  needs, requirements, and business processes conducted
  to determine whether or not a system satisfies the
  acceptance criteria and to enable the user, customers or
  other authorized entity to determine whether or not to
  accept the system.” [After IEEE 610]. Customer must be
  involved.
V-model: Acceptance Test on Lower Levels
• A commercial off-the-shelf software product (COTS)
  may be acceptance tested when it is installed or
  integrated.
• Acceptance testing of new functionality may come
  before system testing (using a prototype).
V-model: Forms of Acceptance Test
•   According to contract
•   User acceptance testing
•   Operational testing
•   Field testing
    ▫ alpha – at the producer’s site
    ▫ beta – at the customer’s site

Extent of acceptance test depends on application risk.
Testing New Product Versions
• Software maintenance:
  ▫ testing after maintenance (anything new or changed is
    tested),
  ▫ testing after change of environment,
  ▫ testing for retirement (data archiving or data migration
    into future system).
• Release: full regression test (if possible) to find side
  effects of changes to the software.
Testing New Product Versions #2
• Testing in incremental development: several V-
  models after each other, where every next "V"
  reuses existing test material and adds the tests for
  everything new, or for higher reliability
  require-ments.
Types of Testing: Overview
•   Functional
•   Non-functional
•   Testing of Software Structure
•   Testing related to Changes
Types of Testing: Functional
Test what the system does. Tests are based on
functional specs, check system’s input-output behavior
and use black-box methods.
• Requirements-based testing focuses on single
  system functions.
• Business-process-based testing focuses on whole
  process consisting of many steps.
Types of Testing: Non-functional #1
Test how well the (partial) system carries out its
functions.

[ISO 9126]: reliability, usability, efficiency,
maintainability, portability.
Types of Testing: Non-functional #2
• Load test: measuring system behavior when working with the
  number of users, number of transaction at a time.
• Performance test: measuring system processing speed and
  response time (depending on increasing load).
• Volume test: observation of system behavior on large amount of
  data (e.g. processing very large files).
• Stress test: observation of system behavior when it is
  overloaded.
• Security test: against unauthorized access, denial of service
  attacks, etc.
• Stability (reliability) test during permanent operation, e.g. time
  between failures or failure rate within a given user profile.
Types of Testing: Non-functional #3
• Robustness test for response to operating errors, wrong
  programming hardware failure, etc., as well as examination of
  exception handling and recovery.
• Testing of compatibility (to other systems) and data conversion
  (import / export).
• Testing of different configurations of the system, e.g. OS
  version, UI language, hardware platform, etc.
• Usability test: ease of learning the system, ease and efficiency
  of operation, etc. with respect to a specific group of users.
• Checking of documentation for compliance with the system
  behavior (e.g. user manual and GUI).
• Checking of maintainability: is documentation understandable
  and up-to-date? Does the system have modular structure, etc.
Types of Testing: Testing Software
Structure
Using white box techniques to test object’s internal
code or architecture.

• Goal is to cover all structure items.
• Most used in component and integration testing.
Testing Related to Changes
• Re-test of changed (modified or repaired) parts.
• Regression test of whole program (part) after
  modification to ensure that no faults are introduced
  as side effects of changes.
Volume of Regression Test
• Defect retest (confirmation test): rerunning of tests
  that detected faults that have been then fixed.
• Testing of altered functionality: testing of all
  program parts that were changed or corrected.
• Testing of new functionality: testing of all newly
  integrated program parts.
• Complete regression test: testing of the whole
  system.
Shrinking Regression Test Effort
Deciding which test cases we can omit:
• Only high-priority test cases (according to test plan)
  are repeated.
• In the functional test, certain variations (test cases)
  are omitted.
• Restriction of the test to certain configurations only
  (on one OS only, in one language only, etc.)
• Restriction of the test to certain subsystems or test
  levels.
Thank you!


       http://www.facebook.com/groups/istqb/

More Related Content

What's hot

Fundamental test process
Fundamental test processFundamental test process
Fundamental test processmuhammad afif
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146vidhyyav
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
Overview of test process improvement frameworks
Overview of test process improvement frameworksOverview of test process improvement frameworks
Overview of test process improvement frameworksNikita Knysh
 
1 testing fundamentals
1 testing fundamentals1 testing fundamentals
1 testing fundamentalsAsmaa Matar
 
Verification and Validation with Innoslate
Verification and Validation with InnoslateVerification and Validation with Innoslate
Verification and Validation with InnoslateElizabeth Steiner
 
Software Testing - Software V&V and selection processes
Software Testing - Software V&V and selection processesSoftware Testing - Software V&V and selection processes
Software Testing - Software V&V and selection processesanasz3z3
 
Product Quality: Metrics, Verification, Validation, Testing
Product Quality: Metrics, Verification, Validation, TestingProduct Quality: Metrics, Verification, Validation, Testing
Product Quality: Metrics, Verification, Validation, TestingReem Alattas
 
Risk based testing and random testing
Risk based testing and random testingRisk based testing and random testing
Risk based testing and random testingHimanshu
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2Yogindernath Gupta
 
Regression and performance testing
Regression and performance testingRegression and performance testing
Regression and performance testingHimanshu
 
What is Test Matrix?
What is Test Matrix?What is Test Matrix?
What is Test Matrix?QA InfoTech
 

What's hot (20)

Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
 
verification and validation
verification and validationverification and validation
verification and validation
 
Overview of test process improvement frameworks
Overview of test process improvement frameworksOverview of test process improvement frameworks
Overview of test process improvement frameworks
 
1 testing fundamentals
1 testing fundamentals1 testing fundamentals
1 testing fundamentals
 
Verification and Validation with Innoslate
Verification and Validation with InnoslateVerification and Validation with Innoslate
Verification and Validation with Innoslate
 
Software Testing - Software V&V and selection processes
Software Testing - Software V&V and selection processesSoftware Testing - Software V&V and selection processes
Software Testing - Software V&V and selection processes
 
Product Quality: Metrics, Verification, Validation, Testing
Product Quality: Metrics, Verification, Validation, TestingProduct Quality: Metrics, Verification, Validation, Testing
Product Quality: Metrics, Verification, Validation, Testing
 
Static Testing
Static TestingStatic Testing
Static Testing
 
Test planning
Test planningTest planning
Test planning
 
Risk based testing and random testing
Risk based testing and random testingRisk based testing and random testing
Risk based testing and random testing
 
Data validation
Data validationData validation
Data validation
 
Software testing
Software testingSoftware testing
Software testing
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
ISTQB Advanced Training
ISTQB Advanced TrainingISTQB Advanced Training
ISTQB Advanced Training
 
Regression and performance testing
Regression and performance testingRegression and performance testing
Regression and performance testing
 
Test Planning_Arsala
Test Planning_ArsalaTest Planning_Arsala
Test Planning_Arsala
 
What is Test Matrix?
What is Test Matrix?What is Test Matrix?
What is Test Matrix?
 
STLC
STLCSTLC
STLC
 

Similar to Software Testing Foundations Part 2 - Testing in Software Lifecycle

Object oriented testing
Object oriented testingObject oriented testing
Object oriented testingHaris Jamil
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementationyogi syafrialdi
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 
Test Process
Test ProcessTest Process
Test Processtokarthik
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesPunjab University
 
Practical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesPractical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesJohan Hoberg
 
testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2Dr. Ahmed Al Zaidy
 
software testing
 software testing software testing
software testingSara shall
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validationAman Adhikari
 
software testing strategies
software testing strategiessoftware testing strategies
software testing strategiesHemanth Gajula
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingShwetha-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingLakshmi-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingSwatiS-BA
 

Similar to Software Testing Foundations Part 2 - Testing in Software Lifecycle (20)

Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Test Process
Test ProcessTest Process
Test Process
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
 
Practical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesPractical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile Devices
 
Lec25
Lec25Lec25
Lec25
 
testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2
 
software testing
 software testing software testing
software testing
 
CTFL Module 02
CTFL Module 02CTFL Module 02
CTFL Module 02
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validation
 
Software testing
Software testingSoftware testing
Software testing
 
software testing strategies
software testing strategiessoftware testing strategies
software testing strategies
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Software Testing Foundations Part 2 - Testing in Software Lifecycle

  • 1. Software Testing Foundations #2 Testing in the Software Lifecycle Nikita Knysh nknysh@gmail.com http://www.facebook.com/groups/istqb/
  • 2. Agenda • Levels of Test: The V-model • Testing New Product Versions • Types of Testing • Testing Related to Changes
  • 3. Development Activities • Req specification: needs & reqs of the customer, desired characteristics and features of the system. • Func system design: reqs are mapped onto system functions & dialogs. • Technical system design: implementation of system is designed (architecture, interfaces, etc.). • Component specification: task, behavior, inner structure & interfaces are defined for each subsystem. • Programming.
  • 4. Levels of Test: The V-model Requirements Acceptance Definition Test Functional System Test System Design Technical Integration System Design Test Component Component Specification Test Implementation & Integration Validation Programming Verification
  • 5. V-model: Test Activities #1 • Component test: test functionality, robustness, efficiency and maintainability of components. Techniques: white box, black box, test-driven development. • Integration test: test of collaboration between components after assembling to expose faults in interfaces and interaction between components. Test drivers, stubs and monitors are used. Integration in the large – integration of several software systems. ▫ Integration strategy has to be designed by test manager taking into account system architecture, project plan and test plan constraints. Top-down, bottom-up, ad- hoc, backbone.
  • 6. V-model: Test Activities #2 • System test: check if the integrated product meets the specified requirements. System is examined from the point of view of customer and future user. Environment should be as close to the operation environment as possible, but this should NOT be the customer’s operational environment. • Acceptance test: “Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.” [After IEEE 610]. Customer must be involved.
  • 7. V-model: Acceptance Test on Lower Levels • A commercial off-the-shelf software product (COTS) may be acceptance tested when it is installed or integrated. • Acceptance testing of new functionality may come before system testing (using a prototype).
  • 8. V-model: Forms of Acceptance Test • According to contract • User acceptance testing • Operational testing • Field testing ▫ alpha – at the producer’s site ▫ beta – at the customer’s site Extent of acceptance test depends on application risk.
  • 9. Testing New Product Versions • Software maintenance: ▫ testing after maintenance (anything new or changed is tested), ▫ testing after change of environment, ▫ testing for retirement (data archiving or data migration into future system). • Release: full regression test (if possible) to find side effects of changes to the software.
  • 10. Testing New Product Versions #2 • Testing in incremental development: several V- models after each other, where every next "V" reuses existing test material and adds the tests for everything new, or for higher reliability require-ments.
  • 11. Types of Testing: Overview • Functional • Non-functional • Testing of Software Structure • Testing related to Changes
  • 12. Types of Testing: Functional Test what the system does. Tests are based on functional specs, check system’s input-output behavior and use black-box methods. • Requirements-based testing focuses on single system functions. • Business-process-based testing focuses on whole process consisting of many steps.
  • 13. Types of Testing: Non-functional #1 Test how well the (partial) system carries out its functions. [ISO 9126]: reliability, usability, efficiency, maintainability, portability.
  • 14. Types of Testing: Non-functional #2 • Load test: measuring system behavior when working with the number of users, number of transaction at a time. • Performance test: measuring system processing speed and response time (depending on increasing load). • Volume test: observation of system behavior on large amount of data (e.g. processing very large files). • Stress test: observation of system behavior when it is overloaded. • Security test: against unauthorized access, denial of service attacks, etc. • Stability (reliability) test during permanent operation, e.g. time between failures or failure rate within a given user profile.
  • 15. Types of Testing: Non-functional #3 • Robustness test for response to operating errors, wrong programming hardware failure, etc., as well as examination of exception handling and recovery. • Testing of compatibility (to other systems) and data conversion (import / export). • Testing of different configurations of the system, e.g. OS version, UI language, hardware platform, etc. • Usability test: ease of learning the system, ease and efficiency of operation, etc. with respect to a specific group of users. • Checking of documentation for compliance with the system behavior (e.g. user manual and GUI). • Checking of maintainability: is documentation understandable and up-to-date? Does the system have modular structure, etc.
  • 16. Types of Testing: Testing Software Structure Using white box techniques to test object’s internal code or architecture. • Goal is to cover all structure items. • Most used in component and integration testing.
  • 17. Testing Related to Changes • Re-test of changed (modified or repaired) parts. • Regression test of whole program (part) after modification to ensure that no faults are introduced as side effects of changes.
  • 18. Volume of Regression Test • Defect retest (confirmation test): rerunning of tests that detected faults that have been then fixed. • Testing of altered functionality: testing of all program parts that were changed or corrected. • Testing of new functionality: testing of all newly integrated program parts. • Complete regression test: testing of the whole system.
  • 19. Shrinking Regression Test Effort Deciding which test cases we can omit: • Only high-priority test cases (according to test plan) are repeated. • In the functional test, certain variations (test cases) are omitted. • Restriction of the test to certain configurations only (on one OS only, in one language only, etc.) • Restriction of the test to certain subsystems or test levels.
  • 20. Thank you! http://www.facebook.com/groups/istqb/