Course Duration: 2 Days

Course Category: Software Testing

 

14 Contact Hours

Requirements Verification



Course Overview
Traditionally, software testing takes place towards the end of the software development life cycle.  Often the first time that testers see the requirements specification is just before they develop a system test plan.

This is a pity because developing a system test plan requires a thorough analysis of the requirements specification that frequently reveals many inconsistencies and incorrect assumptions. Which means that the late involvement of testers is a missed opportunity to improve the requirements specification prior to development.

This course makes a case for involving testers during the requirements stage of the software development life cycle.

The course commences with a discussion of techniques for documenting software requirements and then moves on to explain the role of verification and validation.

Participants will develop their understanding and skills in the areas of designing verification test cases, risk-based testing, model-based testing and test-driven requirements.


Course Features
  • Clarifies the relationship between requirements and testing and highlights the link between changing requirements and regression testing.
  • Suitable for graduates, analysts, developers and others moving into a tester role for the first time; as well as experienced testers who need to update their skills, attend a “refresher” or simply get some new ideas.


Participant Benefits
  • Understanding of techniques for documenting software requirements with an emphasis on use cases.
  • Understanding of the concepts and objectives of requirements validation, product validation, requirements verification and test-driven requirements.
  • Understanding of requirements validation techniques and how testers can contribute to requirements validation.
  • Ability to identify verification test cases from use cases and other requirements; and apply risk-based and model-based testing to verification and validation.


Who should Attend
  • Test Managers, Test Engineers, Testers, Quality Assurance Staff
  • Business Analysts, Business Systems Analysts, Systems Analysts, Functional Analysts
  • Software Development Managers, Software Engineers, Developers, Requirements Engineers, Requirements Analysts
  • Process Engineers, Software Engineering Process Group (SEPG) Staff, Methodologists, Process Improvement Staff


Course Agenda

Introduction

  • The software development life cycle (SDLC)
    • Waterfall life cycle
    • Rational unified process (RUP) life cycle
    • Agile methods
    • Agile life cycle
  • The triangular life cycle model
    • The product life cycle
    • Views of quality
    • Gaps between the views of quality
    • Closing the gaps
  • Requirements concepts
    • Business needs
    • Application features
    • Software requirements
  • Testing concepts
    • Cause of software failures
      • People
      • Environment
    • Understanding the limitations of software testing
    • Concepts of verification and validation
    • Identifying test objectives and expected outcomes
    • Testing and independence
  • SDLC roles and responsibilities

Documenting Software Requirements

  • Software requirements
    • Interface requirements
    • Functional requirements
    • Non-functional requirements
    • Storage requirements
  • Use cases
    • Use case concepts
    • UML use case diagrams
    • Naming use cases
    • The importance of a glossary
    • Use case steps
      • The subject…verb…object template
      • Use case scenarios
    • Interface requirements
      • Data dictionaries
      • The role of prototypes
  • Use cases and business processes
    • Documenting “to be” workflows
    • UML activity diagrams
    • UML sequence diagrams
  • Use case templates
    • Levels of use case description
    • Use case narrative
Validation
  • Validation concepts
    • Product validation
    • Requirements validation
  • Workshops
    • Strengths and weaknesses
    • Objectives
    • Logistics
    • Participants
    • Workshops activities
    • Planning
  • Prototypes
    • Strengths and weaknesses
    • Candidates for prototyping
      • User interface
      • Business rules
  • Modelling
    • Strengths and weaknesses
    • Modelling languages
    • What is the UML?
      • The UML meta-model
      • The role of a UML repository
      • UML diagrams
    • Comparing UML models with natural language
  • Requirements review
    • Strengths and weaknesses
    • Error seeding
    • Requirements reviews and the system test plan
    • Adding error scenarios to use cases
  • Product validation
    • Options for acceptance testing
    • End-to-end testing
    • Operational testing
    • Post implementation reviews
Verification
  • Verification concepts
  • Verification and testing
    • Use case vs. test cases
    • The importance of test case coverage
    • Test case coverage of requirements
  • Verifying functional requirements
    • Identifying verification test cases from use case
    • Test case coverage matrix
    • Adding error scenarios to use cases
  • The concept of a test oracle
  • Verifying non-functional requirements
    • ISO 9126 quality characteristics
    • Constraints
    • Special consideration for verifying non-functional requirements
  • Benefits of early test planning
  • Verification and reviews
    • IEEE 1028-1997 standard for software reviews
    • Types of review
      • Code reviews
      • Design reviews
      • Architecture review
    • Relationship of reviews to test plans
    • Reviews and test case design techniques
Risk Based Testing
  • Risk based testing strategy
  • Failure mode effect and analysis (FMEA)
  • Fast track approaches to risk analysis
Model Based Testing
  • Static models
    • State machine diagrams
    • Generating test cases from state machine diagrams
  • Dynamic models
    • Spreadsheets
    • Executable specification languages
    • xUnit test frameworks
  • Using models to generate program code and test cases
Test Driven Requirements
  • An overview of agile techniques and test driven development
  • Requirements vs. test cases
  • The test driven requirements approach
  • Applying test case design techniques to requirements analysis
  • Test driven requirements and automated testing

Requirements Management

  • The product life cycle revisited
  • Why freezing the specification does not work
  • Baselining requirements
  • Requirements management
  • Controlling changes to requirements
  • Regression testing
Review and Conclusion


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">

PMI, PMP, PMBOK, CAPM, PMI-ACP and the Registered Education Provider logo are registered marks of the Project Management Institute, Inc.
CMMI®, Capability Maturity Model®, Capability Maturity Modeling®, CMM®, PCMM® and Carnegie Mellon® are registered in the US Patent and Trademark Office by Carnegie Mellon University.
ISTQB® is a Registered Trade Mark of the International Software Testing Qualifications Board.
IIBA®, BABOK® and Business Analysis Body of Knowledge® are registered trademarks owned by International Institute of Business Analysis. CBAP® and CCBA® are registered certification marks owned by International Institute of Business Analysis. Certified Business Analysis Professional, Certification of Competency in Business Analysis, Endorsed Education Provider, EEP and the EEP logo are trademarks owned by International Institute of Business Analysis.
The APMG-International Agile Project Management, AgilePM and Swirl Device logos are trademarks of The APM Group Limited.
PRINCE2®, ITIL®, IT Infrastructure Library®, and MSP® are registered trademarks of AXELOS Limited. The Swirl logo™ is a trade mark of AXELOS Limited.
The ITIL Licensed Affiliate logo is a trademark of AXELOS Limited.
SCRUM Alliance REP SM is a service mark of Scrum Alliance, Inc.