SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Producing Testable Requirements
 Piers Chamberlain piersc@intergen.co.nz &
 Robert Nugent robertn@intergen.co.nz
Producing Testable Requirements




 Requirements Inspection
 THE PROBLEM
 What the project team built wasn’t what I asked for…and I can’t believe that no-one
      picked up these issues before I started looking at the system myself!

                         …but was what you asked for what you meant!

 1.     Natural language is very poor for communicating precise detail.
 2.     Human beings are so good at “interpreting” language that we make assumptions
        without thinking.
Producing Testable Requirements




 Quality Requirements
 The idea is to get your specification as ship-shape as possible.
                Feasible                Scope
                Necessary
                Correct
                Complete                Function
                Consistent
                Verifiable              Testability
                Modifiable
                Traceable               Maintenance
                Prioritized
Producing Testable Requirements




 What is a Testable Requirement
        Testable (in principal) means
                Precise
                Unambiguous
                Absolute state – The requirement is either met or not met
                …but it needs not be tested – can be either untested or indirectly tested


        Indirectly testable in practice
                Cost or risk reasons may prevent “real” testing
                Simulations, other tests that can provide some confidence
Producing Testable Requirements




 Validation through Test Design
        Define a set of test cases to prove a requirement in
        principal
           If you have a large number of tests (> 5 or 6) the requirement is
           probably too vague
           Especially if the tests are of different types


        Test Design Rules
           You can assume any other requirements in the spec are met
           You cannot assume anything not in the spec
Producing Testable Requirements




 An Example
 Change Password
    The system will allow a user to change both their
    password and username, but the user needs to have
    logged in to do this. On updating, the old credentials will
    be discarded and the user's new one activated. The rules
    for password / email validation remain the same.
Producing Testable Requirements




 Ambiguous…
 Change Password
    The system will allow a user to change both their
    password and username, but the user needs to have
    logged in to do this. On updating, the old credentials will
    be discarded and the user's new one activated. The rules
    for password / email validation remain the same.
Producing Testable Requirements




 Inconsistent…
 Change Password
    The system will allow a user to change both their
    password and username, but the user needs to have
    logged in to do this. On updating, the old credentials will
    be discarded and the user's new one activated. The rules
    for password / email validation remain the same.
Producing Testable Requirements




 Imprecise…
 Change Password
    The system will allow a user to change both their
    password and username, but the user needs to have
    logged in to do this. On updating, the old credentials will
    be discarded and the user's new one activated. The rules
    for password / email validation remain the same.
Producing Testable Requirements




 Incomplete…
 Change Password
    The system will allow a user to change both their
    password and username, but the user needs to have
    logged in to do this. On updating, the old credentials will
    be discarded and the user's new one activated. The rules
    for password / email validation remain the same.
Producing Testable Requirements




 Let‟s assume some validation rules…
 The system will validate a user's password
           The password must be at least 6 and no more than 40 characters
           The password can consist only of standard alphanumeric characters (i.e. a-z, A-Z and
           0-9)
           Until the password is validated, it cannot be saved or used to authenticate a user.

 The system will validate a user's username
           The system will validate that the username conforms to the RFC 2822 standard as an
           email address
           The system will verify that the username is valid by sending an activation code as a
           hyperlink to that destination
              The username is accepted as valid if the user clicks the activation code sent
              Until the username is activated, it cannot be used to authenticate a user.
Producing Testable Requirements




 Version 2
 1. Change Password
 1.1 A user must be currently authenticated to change their password
      1.1.1 The new password must meet the standard password validation rules*
 1.2. A user must be currently authenticated to change their username
      1.2.1 The new username is subject to the standard username validation rules*

 2. Authentication
 2.1 To authenticate a user must supply a valid username and password credentials
     at the login screen
     2.1.2 A user‟s authentication is expired after 30 minutes
     2.1.3 A user‟s authentication is expired immediately if they have elected to logout
Producing Testable Requirements




 Why it works
        It forces a user-centric view of how the system should
        hang together
                Introduces workflow, temporal elements
                Checks for consistency and completeness
                Can highlight design considerations where they are either
                required (and missing) or unnecessary
                Can provide behavioural and psychological insights
Producing Testable Requirements




 Guidelines for Quality Requirements
        Keep sentences short and break up paragraphs
        Use the active voice
        Supply all required detail
        Granularity – The “smaller number of tests” principle
        Avoid aggregation (conjunctions like “AND” and “OR” can
        suggest combined requirements)
        Write at a consistent level of detail throughout the
        document
Producing Testable Requirements



 Requirement in good shape … now
 what am I prioritising
        Requirements (source of the tests)
        At the same level of extraction or type
        Need to determine a measure to use (I am using
        Risk)
Producing Testable Requirements



 Why Assess the Risks
        Not all requirements are the same
        I can choice what to test first
        Testing duration is NOT guaranteed

 How can I conduct an assessment
        Need to determine:
                The source of requirements
                What method
                What criteria to use
                Who should be involved
Producing Testable Requirements




    Example – Methods*
                                                         RISK


Usage frequency                                                    Quality
                                                                                               Probability of failure
                                        Damage                  Functional Volume
Damage / Loss of Use
                                     (cost of failure)


      Example – Criteria
                                                                             Changed areas
          Critical area                                                      New component
          Visible area                                                       Impacted user base
          Usage frequency                                                    Deadlines
          Complex areas                                                      Defect history
                   *Risk Based Testing, Strategies for Prioritising Tests against Deadlines Hans Schaefer.
Producing Testable Requirements




 Example – risk calc spreadsheet
                                                       Risk calculation schema
                        Impact factors                                        Probability factors                                 Prob. of defect detection


                        visibility       user impact         frequency        deadline pressure new people       complexity


                        weights                                               weights                                                                Risk

  Risks addressed                    1                   3               10                   1              3                3

  function A                         1                   1                2                   1              5                5                  1            744

  performance                        0                   1                1                   1              1                4                  1            208

  usability of x                     5                   1                2                   3              1                5                  1            588

  …                                  2                   2                2                   2              2                5                  1            644

  …                                  1                   1                1                   1              1                2                  1            140

                                     1                   2                1                   2              1                1                  1            136
Producing Testable Requirements




 Prioritising the Requirements
        By Requirement Type
        Must Have, Should Have, Nice to Have (I Wish)
        Core  Discretionary
        1 to 100
        From two factor risk assessment
   Clustering First Helps
        By Function
        By Functional Area
        Core vs. Auxiliary
        By sprint, cycle, release
        By Architectural layer
Producing Testable Requirements




 Example –using risk spreadsheet
                                                               Risk calculation schema
                               Impact factors                                           Probability factors                                 Prob. of defect detection


                               visibility        user impact           frequency        deadline pressure new people       complexity


                               weights                                                  weights                                                                Risk

  Risks addressed                           31                     3               10                   1              3                3

  function A                                 1                     1                2                   1              5                5                  1            744

    Performance profile of …                 0                     1                1                   1              1                4                  1            208

    usability of x                           5                 2   1                2                   3              1                5                  1            588

    UC213.1                                  2                     2                2                   2              2                5                  1            644

    Password must have …                     1                     1                1                   1              1                2                  1
                                                               1
                                                                                                                                                                        140

     …                                       1                     2                1                   2              1                1                  1            136



                                            4
Producing Testable Requirements




 Prioritising Wrap up
        To successfully prioritise requirements you need to:
                Determine Risk assessment criteria
                Use one or two factor method
                Weight the results
                Rank by chosen method
        And you will have:
                Objective view of project deliverables (the Risk if not delivered)
                Assistance in test scope analysis
                Prioritising of test effort
Producing Testable Requirements




 Other Benefits
        From Requirements Inspection
                Higher First Release quality
                Lower Cost of software maintenance
                Improved team dynamics / education
        From RiskPrioritisation
                Objective estimates
                Defect clustering analysis
                Defect resolution order
                Business perspective progress reporting
Producing Testable Requirements




 Some Simple First Steps
        Evaluate Requirements
                Review for Testability
        Conduct a risk assessment
                Must have, Should have or Could have
        Prioritise the Results
                Group the requirements
                Test this one first … to test this one last
Producing Testable Requirements




 Questions & Discussion
Producing Testable Requirements




 References & Further Reading
 Generating Testable Requirements
      Methodology for Writing High Quality Requirement Specifications Linda Rosenberg
      September 24 1998
      Writing Quality Requirements by Karl E. Wiegers
      Writing Testable and Code-able Requirements Murat Guvenc / Borland
      On-Track Requirements by Rodger Drabick Better Software Magazine May/Jun 1999
      (Vol. 1, Issue 3)
Producing Testable Requirements




 References & Further Reading
 Risk-Based Prioritisation
       Requirement Ranking – NO, No, No to High, Medium or Low Posted April 25th, 2008 by Steven Davis
       Risk-Based Quality Management Posted April 24th, 2008 by Tracy Lynne Dedore
       Prioritizing Requirements Posted April 9th, 2008 by Patrick Walsh
       Theory and Practice of Risk-based Testing by Felix Redmill
       Published in Software Testing, Verification and Reliability, Vol. 15, No. 1, March 2005
       *Risk Based Testing, Strategies for Prioritizing Tests against Deadlines by Hans Schaefer,
       Published in Methods & Tools Volume 13 number 4, Winter 2005.
       Exploring Risk-based Testing and Its Implications by Felix Redmill
       Published in Software Testing, Verification and Reliability, Vol. 14, No. 1, March 2004
       Risk-based Test Planning During System Development by Felix Redmill
       Invited paper at KKIO 2004, Gdansk, Poland, 5-8 October 2004
       *Risk Based Testing and Metrics by Stale Amland, presented at EuroSTAR „99, November 8 – 12,
       1999 Barcelona, Spain

Contenu connexe

Tendances

Improving the Quality of Existing Software - DevIntersection April 2016
Improving the Quality of Existing Software - DevIntersection April 2016Improving the Quality of Existing Software - DevIntersection April 2016
Improving the Quality of Existing Software - DevIntersection April 2016Steven Smith
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing SoftwareSteven Smith
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep DiveAnand Bagmar
 
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016Steven Smith
 
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.comReaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.comKlaus Salchner
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automationMikalai Alimenkou
 
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
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing SoftwareSteven Smith
 
Know Before it Goes: Testing Your Email Design
Know Before it Goes: Testing Your Email DesignKnow Before it Goes: Testing Your Email Design
Know Before it Goes: Testing Your Email DesignLitmus
 
Breaking Dependencies to Allow Unit Testing
Breaking Dependencies to Allow Unit TestingBreaking Dependencies to Allow Unit Testing
Breaking Dependencies to Allow Unit TestingSteven Smith
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
 
Measuring Coverage From E2E Tests
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E TestsAnand Bagmar
 
Refactoring page objects The Screenplay Pattern
Refactoring page objects   The Screenplay Pattern Refactoring page objects   The Screenplay Pattern
Refactoring page objects The Screenplay Pattern RiverGlide
 
Behavior driven development - cucumber, Junit and java
Behavior driven development - cucumber, Junit and javaBehavior driven development - cucumber, Junit and java
Behavior driven development - cucumber, Junit and javaNaveen Kumar Singh
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingThoughtworks
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaHoa Le
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingAnand Bagmar
 
.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developersNETFest
 
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisAnand Bagmar
 
Moving away from legacy code with BDD
Moving away from legacy code with BDDMoving away from legacy code with BDD
Moving away from legacy code with BDDKonstantin Kudryashov
 

Tendances (20)

Improving the Quality of Existing Software - DevIntersection April 2016
Improving the Quality of Existing Software - DevIntersection April 2016Improving the Quality of Existing Software - DevIntersection April 2016
Improving the Quality of Existing Software - DevIntersection April 2016
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing Software
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep Dive
 
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
 
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.comReaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automation
 
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
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing Software
 
Know Before it Goes: Testing Your Email Design
Know Before it Goes: Testing Your Email DesignKnow Before it Goes: Testing Your Email Design
Know Before it Goes: Testing Your Email Design
 
Breaking Dependencies to Allow Unit Testing
Breaking Dependencies to Allow Unit TestingBreaking Dependencies to Allow Unit Testing
Breaking Dependencies to Allow Unit Testing
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
 
Measuring Coverage From E2E Tests
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E Tests
 
Refactoring page objects The Screenplay Pattern
Refactoring page objects   The Screenplay Pattern Refactoring page objects   The Screenplay Pattern
Refactoring page objects The Screenplay Pattern
 
Behavior driven development - cucumber, Junit and java
Behavior driven development - cucumber, Junit and javaBehavior driven development - cucumber, Junit and java
Behavior driven development - cucumber, Junit and java
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
 
.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers
 
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
 
Moving away from legacy code with BDD
Moving away from legacy code with BDDMoving away from legacy code with BDD
Moving away from legacy code with BDD
 

En vedette

Writing Requirements Right
Writing Requirements RightWriting Requirements Right
Writing Requirements RightHani Massoud
 
Repository deposit: specifying user requirements and test cases
Repository deposit: specifying user requirements and test casesRepository deposit: specifying user requirements and test cases
Repository deposit: specifying user requirements and test casesdepositMO
 
Making Testable Requirements a Reality by Cathy Burke and Stephanie Vineyard
Making Testable Requirements a Reality by Cathy Burke and Stephanie VineyardMaking Testable Requirements a Reality by Cathy Burke and Stephanie Vineyard
Making Testable Requirements a Reality by Cathy Burke and Stephanie VineyardExcella
 
Requirements Review Process
Requirements Review ProcessRequirements Review Process
Requirements Review ProcessManageware
 
Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Ahmed Alageed
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering ProcessJomel Penalba
 
Validation of Heat ventilation air conditioning
Validation of Heat ventilation air conditioningValidation of Heat ventilation air conditioning
Validation of Heat ventilation air conditioningPrashant Tomar
 
SRS document for Hotel Management System
SRS document for Hotel Management SystemSRS document for Hotel Management System
SRS document for Hotel Management SystemCharitha Gamage
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement EngineeringSlideshare
 
Validation of hvac
Validation of hvacValidation of hvac
Validation of hvacK Manivannan
 
Concept of URS,DQ,IQ,OQ,PQ
Concept of URS,DQ,IQ,OQ,PQConcept of URS,DQ,IQ,OQ,PQ
Concept of URS,DQ,IQ,OQ,PQdhavalrock24
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
Project Proposal document for Hotel Management System
Project Proposal document for Hotel Management SystemProject Proposal document for Hotel Management System
Project Proposal document for Hotel Management SystemCharitha Gamage
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineeringPreeti Mishra
 

En vedette (16)

Writing Requirements Right
Writing Requirements RightWriting Requirements Right
Writing Requirements Right
 
Repository deposit: specifying user requirements and test cases
Repository deposit: specifying user requirements and test casesRepository deposit: specifying user requirements and test cases
Repository deposit: specifying user requirements and test cases
 
Making Testable Requirements a Reality by Cathy Burke and Stephanie Vineyard
Making Testable Requirements a Reality by Cathy Burke and Stephanie VineyardMaking Testable Requirements a Reality by Cathy Burke and Stephanie Vineyard
Making Testable Requirements a Reality by Cathy Burke and Stephanie Vineyard
 
Requirements Review Process
Requirements Review ProcessRequirements Review Process
Requirements Review Process
 
Qualification
QualificationQualification
Qualification
 
Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
Validation of Heat ventilation air conditioning
Validation of Heat ventilation air conditioningValidation of Heat ventilation air conditioning
Validation of Heat ventilation air conditioning
 
SRS document for Hotel Management System
SRS document for Hotel Management SystemSRS document for Hotel Management System
SRS document for Hotel Management System
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Validation of hvac
Validation of hvacValidation of hvac
Validation of hvac
 
Concept of URS,DQ,IQ,OQ,PQ
Concept of URS,DQ,IQ,OQ,PQConcept of URS,DQ,IQ,OQ,PQ
Concept of URS,DQ,IQ,OQ,PQ
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Project Proposal document for Hotel Management System
Project Proposal document for Hotel Management SystemProject Proposal document for Hotel Management System
Project Proposal document for Hotel Management System
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 

Similaire à Producing Testable Requirements

Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsMichael Palotas
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsDominik Dary
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaEdureka!
 
Презентация
ПрезентацияПрезентация
Презентацияguest22d71d
 
Database Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSDatabase Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSSanil Mhatre
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510techweb08
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentationtechweb08
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentationtechweb08
 
Usability Testing Plan & Report
Usability Testing Plan & ReportUsability Testing Plan & Report
Usability Testing Plan & ReportGaurav Bhatia
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2Yogindernath Gupta
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdfPradeepaKannan6
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsBhavin Javia
 
Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalDmitriy Gumeniuk
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2onsoftwaretest
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2Chandukar
 
A Software Testing Intro
A Software Testing IntroA Software Testing Intro
A Software Testing IntroEvozon Test Lab
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Deepak Singhvi
 

Similaire à Producing Testable Requirements (20)

Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
 
Презентация
ПрезентацияПрезентация
Презентация
 
Database Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSDatabase Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTS
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentation
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentation
 
Usability Testing Plan & Report
Usability Testing Plan & ReportUsability Testing Plan & Report
Usability Testing Plan & Report
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
testing
testingtesting
testing
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdf
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
 
Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortal
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
 
Design testabilty
Design testabiltyDesign testabilty
Design testabilty
 
Quality & Reliability in Software Engineering
Quality & Reliability in Software EngineeringQuality & Reliability in Software Engineering
Quality & Reliability in Software Engineering
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
 
A Software Testing Intro
A Software Testing IntroA Software Testing Intro
A Software Testing Intro
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 

Plus de Intergen

Creating intelligent content: How to automate personalised, one-to-one market...
Creating intelligent content: How to automate personalised, one-to-one market...Creating intelligent content: How to automate personalised, one-to-one market...
Creating intelligent content: How to automate personalised, one-to-one market...Intergen
 
Taming the feral Teams
Taming the feral TeamsTaming the feral Teams
Taming the feral TeamsIntergen
 
Customer Insights: It's time to get personal
Customer Insights: It's time to get personalCustomer Insights: It's time to get personal
Customer Insights: It's time to get personalIntergen
 
Working Remotely with Microsoft Technologies
Working Remotely with Microsoft TechnologiesWorking Remotely with Microsoft Technologies
Working Remotely with Microsoft TechnologiesIntergen
 
Intergen Convergence 2017 - Digital workplace
Intergen Convergence 2017 - Digital workplaceIntergen Convergence 2017 - Digital workplace
Intergen Convergence 2017 - Digital workplaceIntergen
 
Intergen Convergence 2017 - Customer engagement (Toyota)
Intergen Convergence 2017 - Customer engagement (Toyota)Intergen Convergence 2017 - Customer engagement (Toyota)
Intergen Convergence 2017 - Customer engagement (Toyota)Intergen
 
Intergen Convergence 2017 - Customer engagement (Green Cross Health)
Intergen Convergence 2017 - Customer engagement (Green Cross Health)Intergen Convergence 2017 - Customer engagement (Green Cross Health)
Intergen Convergence 2017 - Customer engagement (Green Cross Health)Intergen
 
Intergen Convergence 2017 - Customer engagement (Dynamic Controls)
Intergen Convergence 2017 - Customer engagement (Dynamic Controls)Intergen Convergence 2017 - Customer engagement (Dynamic Controls)
Intergen Convergence 2017 - Customer engagement (Dynamic Controls)Intergen
 
Intergen Convergence 2017 - Business transformation across the enterprise (NZ...
Intergen Convergence 2017 - Business transformation across the enterprise (NZ...Intergen Convergence 2017 - Business transformation across the enterprise (NZ...
Intergen Convergence 2017 - Business transformation across the enterprise (NZ...Intergen
 
Intergen Convergence 2017 - Bringing your people on the change journey
Intergen Convergence 2017 - Bringing your people on the change journeyIntergen Convergence 2017 - Bringing your people on the change journey
Intergen Convergence 2017 - Bringing your people on the change journeyIntergen
 
Intergen Convergence 2017 - Why digital transformation
Intergen Convergence 2017 - Why digital transformationIntergen Convergence 2017 - Why digital transformation
Intergen Convergence 2017 - Why digital transformationIntergen
 
Intergen Convergence 2017 - Unleash your digital enterprise
Intergen Convergence 2017 - Unleash your digital enterpriseIntergen Convergence 2017 - Unleash your digital enterprise
Intergen Convergence 2017 - Unleash your digital enterpriseIntergen
 
Intergen Convergence 2017 - The future is here
Intergen Convergence 2017 - The future is hereIntergen Convergence 2017 - The future is here
Intergen Convergence 2017 - The future is hereIntergen
 
Intergen Convergence 2017 - Keeping safe, staying safe
Intergen Convergence 2017 - Keeping safe, staying safeIntergen Convergence 2017 - Keeping safe, staying safe
Intergen Convergence 2017 - Keeping safe, staying safeIntergen
 
Intergen Convergence 2017 - Customer Engagement
Intergen Convergence 2017 - Customer EngagementIntergen Convergence 2017 - Customer Engagement
Intergen Convergence 2017 - Customer EngagementIntergen
 
Intergen Convergence 2017 - Data as your most important asset
Intergen Convergence 2017 - Data as your most important assetIntergen Convergence 2017 - Data as your most important asset
Intergen Convergence 2017 - Data as your most important assetIntergen
 
Intergen Interconnect
Intergen InterconnectIntergen Interconnect
Intergen InterconnectIntergen
 
Your cyber security webinar
Your cyber security webinarYour cyber security webinar
Your cyber security webinarIntergen
 
Dynamics Day 2016: Microsoft Dynamics 365 first look
Dynamics Day 2016: Microsoft Dynamics 365 first lookDynamics Day 2016: Microsoft Dynamics 365 first look
Dynamics Day 2016: Microsoft Dynamics 365 first lookIntergen
 
Dynamics Day 2016: CRM Field Service and Project Service
Dynamics Day 2016: CRM Field Service and Project ServiceDynamics Day 2016: CRM Field Service and Project Service
Dynamics Day 2016: CRM Field Service and Project ServiceIntergen
 

Plus de Intergen (20)

Creating intelligent content: How to automate personalised, one-to-one market...
Creating intelligent content: How to automate personalised, one-to-one market...Creating intelligent content: How to automate personalised, one-to-one market...
Creating intelligent content: How to automate personalised, one-to-one market...
 
Taming the feral Teams
Taming the feral TeamsTaming the feral Teams
Taming the feral Teams
 
Customer Insights: It's time to get personal
Customer Insights: It's time to get personalCustomer Insights: It's time to get personal
Customer Insights: It's time to get personal
 
Working Remotely with Microsoft Technologies
Working Remotely with Microsoft TechnologiesWorking Remotely with Microsoft Technologies
Working Remotely with Microsoft Technologies
 
Intergen Convergence 2017 - Digital workplace
Intergen Convergence 2017 - Digital workplaceIntergen Convergence 2017 - Digital workplace
Intergen Convergence 2017 - Digital workplace
 
Intergen Convergence 2017 - Customer engagement (Toyota)
Intergen Convergence 2017 - Customer engagement (Toyota)Intergen Convergence 2017 - Customer engagement (Toyota)
Intergen Convergence 2017 - Customer engagement (Toyota)
 
Intergen Convergence 2017 - Customer engagement (Green Cross Health)
Intergen Convergence 2017 - Customer engagement (Green Cross Health)Intergen Convergence 2017 - Customer engagement (Green Cross Health)
Intergen Convergence 2017 - Customer engagement (Green Cross Health)
 
Intergen Convergence 2017 - Customer engagement (Dynamic Controls)
Intergen Convergence 2017 - Customer engagement (Dynamic Controls)Intergen Convergence 2017 - Customer engagement (Dynamic Controls)
Intergen Convergence 2017 - Customer engagement (Dynamic Controls)
 
Intergen Convergence 2017 - Business transformation across the enterprise (NZ...
Intergen Convergence 2017 - Business transformation across the enterprise (NZ...Intergen Convergence 2017 - Business transformation across the enterprise (NZ...
Intergen Convergence 2017 - Business transformation across the enterprise (NZ...
 
Intergen Convergence 2017 - Bringing your people on the change journey
Intergen Convergence 2017 - Bringing your people on the change journeyIntergen Convergence 2017 - Bringing your people on the change journey
Intergen Convergence 2017 - Bringing your people on the change journey
 
Intergen Convergence 2017 - Why digital transformation
Intergen Convergence 2017 - Why digital transformationIntergen Convergence 2017 - Why digital transformation
Intergen Convergence 2017 - Why digital transformation
 
Intergen Convergence 2017 - Unleash your digital enterprise
Intergen Convergence 2017 - Unleash your digital enterpriseIntergen Convergence 2017 - Unleash your digital enterprise
Intergen Convergence 2017 - Unleash your digital enterprise
 
Intergen Convergence 2017 - The future is here
Intergen Convergence 2017 - The future is hereIntergen Convergence 2017 - The future is here
Intergen Convergence 2017 - The future is here
 
Intergen Convergence 2017 - Keeping safe, staying safe
Intergen Convergence 2017 - Keeping safe, staying safeIntergen Convergence 2017 - Keeping safe, staying safe
Intergen Convergence 2017 - Keeping safe, staying safe
 
Intergen Convergence 2017 - Customer Engagement
Intergen Convergence 2017 - Customer EngagementIntergen Convergence 2017 - Customer Engagement
Intergen Convergence 2017 - Customer Engagement
 
Intergen Convergence 2017 - Data as your most important asset
Intergen Convergence 2017 - Data as your most important assetIntergen Convergence 2017 - Data as your most important asset
Intergen Convergence 2017 - Data as your most important asset
 
Intergen Interconnect
Intergen InterconnectIntergen Interconnect
Intergen Interconnect
 
Your cyber security webinar
Your cyber security webinarYour cyber security webinar
Your cyber security webinar
 
Dynamics Day 2016: Microsoft Dynamics 365 first look
Dynamics Day 2016: Microsoft Dynamics 365 first lookDynamics Day 2016: Microsoft Dynamics 365 first look
Dynamics Day 2016: Microsoft Dynamics 365 first look
 
Dynamics Day 2016: CRM Field Service and Project Service
Dynamics Day 2016: CRM Field Service and Project ServiceDynamics Day 2016: CRM Field Service and Project Service
Dynamics Day 2016: CRM Field Service and Project Service
 

Dernier

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Dernier (20)

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Producing Testable Requirements

  • 1. Producing Testable Requirements Piers Chamberlain piersc@intergen.co.nz & Robert Nugent robertn@intergen.co.nz
  • 2. Producing Testable Requirements Requirements Inspection THE PROBLEM What the project team built wasn’t what I asked for…and I can’t believe that no-one picked up these issues before I started looking at the system myself! …but was what you asked for what you meant! 1. Natural language is very poor for communicating precise detail. 2. Human beings are so good at “interpreting” language that we make assumptions without thinking.
  • 3. Producing Testable Requirements Quality Requirements The idea is to get your specification as ship-shape as possible. Feasible Scope Necessary Correct Complete Function Consistent Verifiable Testability Modifiable Traceable Maintenance Prioritized
  • 4. Producing Testable Requirements What is a Testable Requirement Testable (in principal) means Precise Unambiguous Absolute state – The requirement is either met or not met …but it needs not be tested – can be either untested or indirectly tested Indirectly testable in practice Cost or risk reasons may prevent “real” testing Simulations, other tests that can provide some confidence
  • 5. Producing Testable Requirements Validation through Test Design Define a set of test cases to prove a requirement in principal If you have a large number of tests (> 5 or 6) the requirement is probably too vague Especially if the tests are of different types Test Design Rules You can assume any other requirements in the spec are met You cannot assume anything not in the spec
  • 6. Producing Testable Requirements An Example Change Password The system will allow a user to change both their password and username, but the user needs to have logged in to do this. On updating, the old credentials will be discarded and the user's new one activated. The rules for password / email validation remain the same.
  • 7. Producing Testable Requirements Ambiguous… Change Password The system will allow a user to change both their password and username, but the user needs to have logged in to do this. On updating, the old credentials will be discarded and the user's new one activated. The rules for password / email validation remain the same.
  • 8. Producing Testable Requirements Inconsistent… Change Password The system will allow a user to change both their password and username, but the user needs to have logged in to do this. On updating, the old credentials will be discarded and the user's new one activated. The rules for password / email validation remain the same.
  • 9. Producing Testable Requirements Imprecise… Change Password The system will allow a user to change both their password and username, but the user needs to have logged in to do this. On updating, the old credentials will be discarded and the user's new one activated. The rules for password / email validation remain the same.
  • 10. Producing Testable Requirements Incomplete… Change Password The system will allow a user to change both their password and username, but the user needs to have logged in to do this. On updating, the old credentials will be discarded and the user's new one activated. The rules for password / email validation remain the same.
  • 11. Producing Testable Requirements Let‟s assume some validation rules… The system will validate a user's password The password must be at least 6 and no more than 40 characters The password can consist only of standard alphanumeric characters (i.e. a-z, A-Z and 0-9) Until the password is validated, it cannot be saved or used to authenticate a user. The system will validate a user's username The system will validate that the username conforms to the RFC 2822 standard as an email address The system will verify that the username is valid by sending an activation code as a hyperlink to that destination The username is accepted as valid if the user clicks the activation code sent Until the username is activated, it cannot be used to authenticate a user.
  • 12. Producing Testable Requirements Version 2 1. Change Password 1.1 A user must be currently authenticated to change their password 1.1.1 The new password must meet the standard password validation rules* 1.2. A user must be currently authenticated to change their username 1.2.1 The new username is subject to the standard username validation rules* 2. Authentication 2.1 To authenticate a user must supply a valid username and password credentials at the login screen 2.1.2 A user‟s authentication is expired after 30 minutes 2.1.3 A user‟s authentication is expired immediately if they have elected to logout
  • 13. Producing Testable Requirements Why it works It forces a user-centric view of how the system should hang together Introduces workflow, temporal elements Checks for consistency and completeness Can highlight design considerations where they are either required (and missing) or unnecessary Can provide behavioural and psychological insights
  • 14. Producing Testable Requirements Guidelines for Quality Requirements Keep sentences short and break up paragraphs Use the active voice Supply all required detail Granularity – The “smaller number of tests” principle Avoid aggregation (conjunctions like “AND” and “OR” can suggest combined requirements) Write at a consistent level of detail throughout the document
  • 15. Producing Testable Requirements Requirement in good shape … now what am I prioritising Requirements (source of the tests) At the same level of extraction or type Need to determine a measure to use (I am using Risk)
  • 16. Producing Testable Requirements Why Assess the Risks Not all requirements are the same I can choice what to test first Testing duration is NOT guaranteed How can I conduct an assessment Need to determine: The source of requirements What method What criteria to use Who should be involved
  • 17. Producing Testable Requirements Example – Methods* RISK Usage frequency Quality Probability of failure Damage Functional Volume Damage / Loss of Use (cost of failure) Example – Criteria Changed areas Critical area New component Visible area Impacted user base Usage frequency Deadlines Complex areas Defect history *Risk Based Testing, Strategies for Prioritising Tests against Deadlines Hans Schaefer.
  • 18. Producing Testable Requirements Example – risk calc spreadsheet Risk calculation schema Impact factors Probability factors Prob. of defect detection visibility user impact frequency deadline pressure new people complexity weights weights Risk Risks addressed 1 3 10 1 3 3 function A 1 1 2 1 5 5 1 744 performance 0 1 1 1 1 4 1 208 usability of x 5 1 2 3 1 5 1 588 … 2 2 2 2 2 5 1 644 … 1 1 1 1 1 2 1 140 1 2 1 2 1 1 1 136
  • 19. Producing Testable Requirements Prioritising the Requirements By Requirement Type Must Have, Should Have, Nice to Have (I Wish) Core Discretionary 1 to 100 From two factor risk assessment Clustering First Helps By Function By Functional Area Core vs. Auxiliary By sprint, cycle, release By Architectural layer
  • 20. Producing Testable Requirements Example –using risk spreadsheet Risk calculation schema Impact factors Probability factors Prob. of defect detection visibility user impact frequency deadline pressure new people complexity weights weights Risk Risks addressed 31 3 10 1 3 3 function A 1 1 2 1 5 5 1 744 Performance profile of … 0 1 1 1 1 4 1 208 usability of x 5 2 1 2 3 1 5 1 588 UC213.1 2 2 2 2 2 5 1 644 Password must have … 1 1 1 1 1 2 1 1 140 … 1 2 1 2 1 1 1 136 4
  • 21. Producing Testable Requirements Prioritising Wrap up To successfully prioritise requirements you need to: Determine Risk assessment criteria Use one or two factor method Weight the results Rank by chosen method And you will have: Objective view of project deliverables (the Risk if not delivered) Assistance in test scope analysis Prioritising of test effort
  • 22. Producing Testable Requirements Other Benefits From Requirements Inspection Higher First Release quality Lower Cost of software maintenance Improved team dynamics / education From RiskPrioritisation Objective estimates Defect clustering analysis Defect resolution order Business perspective progress reporting
  • 23. Producing Testable Requirements Some Simple First Steps Evaluate Requirements Review for Testability Conduct a risk assessment Must have, Should have or Could have Prioritise the Results Group the requirements Test this one first … to test this one last
  • 24. Producing Testable Requirements Questions & Discussion
  • 25. Producing Testable Requirements References & Further Reading Generating Testable Requirements Methodology for Writing High Quality Requirement Specifications Linda Rosenberg September 24 1998 Writing Quality Requirements by Karl E. Wiegers Writing Testable and Code-able Requirements Murat Guvenc / Borland On-Track Requirements by Rodger Drabick Better Software Magazine May/Jun 1999 (Vol. 1, Issue 3)
  • 26. Producing Testable Requirements References & Further Reading Risk-Based Prioritisation Requirement Ranking – NO, No, No to High, Medium or Low Posted April 25th, 2008 by Steven Davis Risk-Based Quality Management Posted April 24th, 2008 by Tracy Lynne Dedore Prioritizing Requirements Posted April 9th, 2008 by Patrick Walsh Theory and Practice of Risk-based Testing by Felix Redmill Published in Software Testing, Verification and Reliability, Vol. 15, No. 1, March 2005 *Risk Based Testing, Strategies for Prioritizing Tests against Deadlines by Hans Schaefer, Published in Methods & Tools Volume 13 number 4, Winter 2005. Exploring Risk-based Testing and Its Implications by Felix Redmill Published in Software Testing, Verification and Reliability, Vol. 14, No. 1, March 2004 Risk-based Test Planning During System Development by Felix Redmill Invited paper at KKIO 2004, Gdansk, Poland, 5-8 October 2004 *Risk Based Testing and Metrics by Stale Amland, presented at EuroSTAR „99, November 8 – 12, 1999 Barcelona, Spain