Download - 'An Evolution Into Specification By Example' by Adam Knight

Transcript
Page 1: 'An Evolution Into Specification By Example' by Adam Knight

An Evolution Into Specification An Evolution Into Specification By ExampleBy Example

Adam KnightAdam Knight

Twitter: adampknightTwitter: adampknight

Page 2: 'An Evolution Into Specification By Example' by Adam Knight

Two ConversationsTwo Conversations

• Zachary KnightZachary Knight

““Can we see Can we see the picture the picture of the of the Monkey Monkey turning into turning into a Man?”a Man?”

• Gojko AdzicGojko Adzic

““Although their Although their process has process has almost all the almost all the elements of SBE, elements of SBE, they just think of they just think of it as their it as their homegrown way homegrown way of developing of developing software”software”

Page 3: 'An Evolution Into Specification By Example' by Adam Knight

Evolution - ContextEvolution - Context

• Successful Strategy Successful Strategy Depends on ContextDepends on Context

• ProductProduct API/CLI interfacesAPI/CLI interfaces Scalable Parallel Scalable Parallel

ProcessingProcessing SQL ParserSQL Parser

• MarketMarket OEM PartnersOEM Partners Varied Varied

implementationsimplementations Traditional Delivery Traditional Delivery

ModelsModels

Page 4: 'An Evolution Into Specification By Example' by Adam Knight

Evolutionary CyclesEvolutionary Cycles

• It takes time to adapt to changeIt takes time to adapt to change• Methodology is an environmental factorMethodology is an environmental factor• Faster feedback cycles encourage evolutionFaster feedback cycles encourage evolution

Page 5: 'An Evolution Into Specification By Example' by Adam Knight

Requirements and SpecificationsRequirements and Specifications

Page 6: 'An Evolution Into Specification By Example' by Adam Knight

• Included Functional DesignIncluded Functional Design• Abstracted out Customer DetailAbstracted out Customer Detail• Not maintainedNot maintained• Not completed in sprintNot completed in sprint

Requirements Documents Requirements Documents

Page 7: 'An Evolution Into Specification By Example' by Adam Knight

User StoriesUser Stories

• Developer Developer ReservationsReservations

• Hard to break downHard to break down• Still Solution BasedStill Solution Based

• Value drivenValue driven• IndependentIndependent• RecursiveRecursive

Page 8: 'An Evolution Into Specification By Example' by Adam Knight

Challenging RequirementsChallenging Requirements

• Rejecting SolutionsRejecting Solutions

• Requesting ExamplesRequesting Examples

• Raising Testing ProfileRaising Testing Profile

Page 9: 'An Evolution Into Specification By Example' by Adam Knight

Collaborative SpecificationCollaborative Specification

• Defining SuccessDefining Success Acceptance Acceptance

CriteriaCriteria RisksRisks AssumptionsAssumptions

• Discussing ExamplesDiscussing Examples

• Breaking the Breaking the ModelModel

Page 10: 'An Evolution Into Specification By Example' by Adam Knight

Test ApproachTest Approach

Page 11: 'An Evolution Into Specification By Example' by Adam Knight

Early Test ManagementEarly Test Management

• Poorly selected TCM Poorly selected TCM tooltool

• Excel with Test Case Excel with Test Case EstimatesEstimates

Counting test cases is Counting test cases is inappropriateinappropriate

Page 12: 'An Evolution Into Specification By Example' by Adam Knight

Exploratory TestingExploratory Testing

• Session Based ETSession Based ET Run times too longRun times too long Can’t parallelise Can’t parallelise

sessionssessions

• Thread Based ETThread Based ET Estimate chartersEstimate charters

• Reporting ConfidenceReporting Confidence

Page 13: 'An Evolution Into Specification By Example' by Adam Knight

Test AutomationTest Automation

Page 14: 'An Evolution Into Specification By Example' by Adam Knight

Automation PrinciplesAutomation Principles

• IncrementIncremental Growthal Growth

• DRYDRY

• User Input User Input DrivenDriven

• TestabilityTestability

Page 15: 'An Evolution Into Specification By Example' by Adam Knight

Towards Living DocumentationTowards Living Documentation

• Self DocumentingSelf Documenting

• Reporting in Business Reporting in Business TermsTerms

• Specification for Specification for RefactoringRefactoring

Page 16: 'An Evolution Into Specification By Example' by Adam Knight

Current PositionCurrent Position• Around100 End Customer installationsAround100 End Customer installations• Highly Rated Testing/Support TeamHighly Rated Testing/Support Team• ““The product was installed seamlessly and The product was installed seamlessly and

the customer was delighted.”the customer was delighted.”

Page 17: 'An Evolution Into Specification By Example' by Adam Knight

RecapRecap

It takes time to adapt to It takes time to adapt to changechange

FROMFROM TOTO

Formal Formal RequirementsRequirements

User Stories, User Stories, Collaboratively Specified Collaboratively Specified using Examplesusing Examples

Test Case Test Case ManagementManagement

Exploratory ThreadsExploratory Threads

Bespoke Bespoke Automation ScriptsAutomation Scripts

Self Documenting File Self Documenting File Driven Test AutomationDriven Test Automation

Page 18: 'An Evolution Into Specification By Example' by Adam Knight

““Improbably excellent teams Improbably excellent teams become so through a sustained become so through a sustained

series of entirely probable small series of entirely probable small improvements ”improvements ”

Jason GormanJason GormanBletchley Park : Bletchley Park :

www.bletchleypark.org/content/contact/donation/supwww.bletchleypark.org/content/contact/donation/support.rhtmport.rhtm

Page 19: 'An Evolution Into Specification By Example' by Adam Knight

ThanksThanks

• Email: Email: [email protected]• Twitter: adampknightTwitter: adampknight• Blog: http://www.a-sisyphean-task.comBlog: http://www.a-sisyphean-task.com

• Email: [email protected]: [email protected]• WebSite: http://www.rainstor.comWebSite: http://www.rainstor.com

Page 20: 'An Evolution Into Specification By Example' by Adam Knight

ReferencesReferences• Further ReadingFurther Reading

Specification By Example – Gojko Adzic ; ISBN Specification By Example – Gojko Adzic ; ISBN 9781617290084 9781617290084

Thread Based Test Management – James Bach Thread Based Test Management – James Bach http://www.satisfice.com/blog/archives/503http://www.satisfice.com/blog/archives/503

• ImagesImages All images in public domain or under Wikimedia or All images in public domain or under Wikimedia or

Creative Commons LicenseCreative Commons License 1&14 © BIODIDAC 2004 ; 2 Steveoc 86 ; 3 – Pangolin 1&14 © BIODIDAC 2004 ; 2 Steveoc 86 ; 3 – Pangolin

Hubert Ludwig ; 4 - Rafael Brix ; 5 - Hubert Ludwig ; 4 - Rafael Brix ; 5 - www.palaeocritti.com ; 6 Brachiosaurus - Богданов www.palaeocritti.com ; 6 Brachiosaurus - Богданов [email protected] ; 7 - Matt Martyniuk ; 8 – Public [email protected] ; 7 - Matt Martyniuk ; 8 – Public Domain ; 9 - Original uploader was Killdevil at Domain ; 9 - Original uploader was Killdevil at en.wikipedia ; 10 – Wikmedia commons no name ; 11&12 en.wikipedia ; 10 – Wikmedia commons no name ; 11&12 (unkown, extensively used in Public Domain); 13 – (unkown, extensively used in Public Domain); 13 – Yewenyi ; 15 - Richard Bartz, Munich Makro Freak & Yewenyi ; 15 - Richard Bartz, Munich Makro Freak & Beemaster Hubert Seibring ; 16 - Coniac PublishingBeemaster Hubert Seibring ; 16 - Coniac Publishing