37
Rapid Software Testing as a Habit Making Better software faster Testability For Win the

Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Rapid Software Testing as a Habit

Making Better software faster

Testability

For Winthe

Page 2: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

WhoamI?

• Context-drivensoftwaretester• RapidSoftwareTestingteacher• Curious&lifelonglearner• Passionate&energeticHumanist• Trainer,coach,writer,speaker&leader• Books&Applegadgetcollector• Tromboneplayer• Gamer• Star Wars &LEGO freak• Beerbrewer

Page 3: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

1. A RapidSoftwareTesting viewontestinginanagilecontext.

2. Whatistestability andhowcanteamstakemaximumbenefitfromit?

3. Whatteamscandotogetthemostoutoftesting!

Page 4: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Testing

Testingcannotkeepupwithdevelopment!

Testingtakestoomuchtime!

Page 5: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Inthemeanwhile…

Whydoesn’tanybodytellmeaboutthechanges?

Whereismytestdata?

Page 6: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,
Page 7: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,
Page 8: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Testable?

Imagineaspaceshuttleunderaglassshield.Youarenotallowedtocomenearitorpokeorprobeit…

Canyoutestthis?

Page 9: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Agile:amanifesto…Weareuncoveringbetterwaysofdevelopingsoftwarebydoingitandhelpingothersdoit.Throughthisworkwehavecometo

value:

IndividualsandinteractionsoverprocessesandtoolsWorkingsoftwareovercomprehensivedocumentation

CustomercollaborationovercontractnegotiationRespondingtochangeoverfollowingaplan

Thatis,whilethereisvalueintheitemsontheright,wevaluetheitemsontheleftmore.

Source:http://agilemanifesto.org/

Page 10: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

…and12principles1. Customersatisfactionbyearlyandcontinuousdeliveryofuseful

software2. Welcomechangingrequirements,eveninlatedevelopment3. Workingsoftwareisdeliveredfrequently(weeksratherthanmonths)4. Close,dailycooperationbetweenbusinesspeopleanddevelopers5. Projectsarebuiltaroundmotivatedindividuals,whoshouldbetrusted6. Face-to-faceconversationisthebestformofcommunication(co-

location)7. Workingsoftwareistheprincipalmeasureofprogress8. Sustainabledevelopment,abletomaintainaconstantpace9. Continuousattentiontotechnicalexcellenceandgooddesign10. Simplicity- theartofmaximizingtheamountofworknotdone- is

essential11. Self-organizingteams12. Regularadaptationtochangingcircumstance

Source:http://agilemanifesto.org/

Page 11: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Butwhy?

Page 12: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Softwaredevelopment

Factory Research&development

or

Page 13: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Unknown unknows• Captureeverything upfrontvs.buildingnewinsights

• Customersdon’tknowwhattheywant

• Copewithcomplexity,confusion,change,newinsightsandhalfanswers

• Classicwaterfalland"commandandcontrol"inthewayofinsightandserendipity

Page 14: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Agiletestingtosome…

• TDD• ATDD,BDD,Specificationbyexample• 100%testautomation• Nomoretesters• Built-inquality• Faster,shorter,better!

Page 15: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Agiletesting?

• Whatmakestestingagile?

Source:http://www.huibschoots.nl/wordpress/?p=1072

The testing itself is not so much different, it is the context in which you do the testing is different!

Page 16: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Somedifferences…

• Lesstimetoprepare,executeandreport• Iterativeandincrementalapproach• Focusontestautomation• Rolechange:lesstesting,morecoaching• Lesscertainty:changeiscommon• Teamwork• Continuouscriticalthinking

Source:http://www.huibschoots.nl/wordpress/?p=1072

Page 17: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

RapidTestingRapidtestingisamind-set

andaskill-set oftestingfocusedonhowtodotesting

morequickly,lessexpensively,

withexcellentresults.

Thisisageneraltestingmethodology.Itadaptsto

anykindofprojectorproduct.

Source:RapidSoftwareTesting– JamesBach&MichaelBolton

Page 18: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

ThePremisesofRapidTesting1. Softwareprojectsandproductsarerelationshipsbetweenpeople,

whoarecreaturesbothofemotionandrationalthought.2. Eachprojectoccursunderconditionsofuncertaintyandtime

pressure.3. Despiteourbesthopesandintentions,somedegreeof

inexperience,carelessness,andincompetenceisnormal.4. Atestisanactivity;itisperformance,notartifacts.5. Testing’spurposeistodiscoverthestatusoftheproductandany

threatstoitsvalue,sothatourclientscanmakeinformeddecisionsaboutit.

6. Wecommittoperformingcredible,cost-effectivetesting,andwewillinformourclientsofanythingthatthreatensthatcommitment.

7. Wewillnotknowinglyornegligentlymisleadourclientsandcolleagues.

8. Testersacceptresponsibilityforthequalityoftheirwork,althoughtheycannotcontrolthequalityoftheproduct.

Source:RapidSoftwareTesting– JamesBach&MichaelBolton

Page 19: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Testerslighttheway

Thisisourrole.Weseethingsforwhattheyare.

Wemakeinformeddecisionsaboutqualitypossible,becausewethinkcriticallyaboutsoftware.

Source: Rapid Software Testing – James Bach & Michael Bolton

Page 20: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

TheProductRiskKnowledgeGapHowmuchdowealreadyknow?

What we know

What we need to know

Ourknowledgeofthestatusoftheproduct.Source: Rapid Software Testing – James Bach & Michael Bolton

Page 21: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Callthis“Checking”notTesting

Observe Evaluate Report

Interactwiththeproductinspecificwaystocollectspecificobservations.

Applyalgorithmicdecisionrulestothoseobservations.

Reportanyfailedchecks.

means

operatingaproducttocheckspecific

output…

Source:RapidSoftwareTesting– JamesBach&MichaelBolton

Page 22: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

ACheckHasThreeElements

1. Anobservation linkedto…2. Adecisionrule suchthat…3. bothobservationanddecisionrulecanbeapplied

algorithmically.Acheck canbeperformed

byahumanwhohasbeeninstructednot tothink

(andwhoisslowandvariable)

byamachinethatcan’t think

(butthatisquickandprecise)Source:RapidSoftwareTesting– JamesBach&MichaelBolton

Page 23: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

TestingIsMoreThanChecking• Checking isaprocessofconfirmingandverifyingexistingbeliefs– Checkingcan(andweargue,largelyshould)bedonemechanically

– Itisanon-sapient process I’mveryfast…butI’mslow.

Seehttp://www.developsense.com/2009/08/testing-vs-checking.htmlSource:RapidSoftwareTesting– JamesBach&MichaelBolton

Page 24: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Acquiringthecompetence,motivation,andcredibility to…

Testingis…

createtheconditions necessary to…

…sothatyouhelpyourclientstomakeinformeddecisions aboutrisk.

evaluateaproductbylearningabout itthroughexplorationandexperimentation,whichincludes tosomedegree:questioning, study,modeling,observation andinference, including…

operatingaproducttocheckspecific

output…

Source:RapidSoftwareTesting– JamesBach&MichaelBolton

Page 25: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Source:http://www.satisfice.com/tools/testable.pdf

Testability

“Thepracticaltestabilityofproductishoweasyitistotestbyaparticulartesterandtestprocess,inagivencontext.”

Page 26: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Testability?Why?

• Maketestingeasier• Maketestingfaster• Maketestingcheaper• Lessnon-reproduciblebugs

Page 27: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Project-RelatedTestability

“Changes inconditionsunderwhichwetest”

• Changecontrol• Informationavailability• Toolsavailability• Testitemavailability• Environmentalcontrollability• Time

Source:http://www.satisfice.com/tools/testable.pdf

Page 28: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

SubjectiveTestability

“Changesofthetesterortestprocess”

• Product,technicalanddomainknowledge• Testingskills• Engagement&collaboration• Teststrategy

Source:http://www.satisfice.com/tools/testable.pdf

Page 29: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

IntrinsicTestability

“Changesoftheproduct itself”

• Observability• Controllability• (Algorithmic)Simplicity• Unbugginess,stability&availability• Smallness

Source:http://www.satisfice.com/tools/testable.pdf

Page 30: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

EpistemicTestability

“Thegapbetweenwhatweknowandwhatweneedtoknow”

• Priorknowledgeofthequalityoftheproduct• Toleranceforfailure(lessqualityrequiredorriskcanbetaken)

Source:http://www.satisfice.com/tools/testable.pdf

Page 31: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Value-RelatedTestability

“Changesofthequalitystandardoryourknowledgeaboutit”

• Oracleavailability, authority&reliability• Useravailability• Userdataavailability• Userenvironmentavailability

Source:http://www.satisfice.com/tools/testable.pdf

Page 32: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

DynamicsIncreasingonetypeoftestabilitymightdecreaseanother…

Whendevelopersdeliverfaster,project-relatedtestabilitywillincrease,butintrinsictestabilitymightdecreasebecausetheproducthasmorebugs…

Page 33: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Whoisresponsible?

• Thetestermustask fortestability.Wecannotexpectanynon-testertoseriouslyconsidertestability.(JamesBach)

• Really?

Page 34: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

TheTestingstory:threestoriesLevel 1: A story about the status of the PRODUCT……abouthowitfailed,andhowitmight fail...…inwaysthatmattertoyourvariousclients.

Level 2: A story about HOW YOU TESTED it……howyouconfigured,operatedandobservedit……aboutwhatyouhaven’ttested,yet……andwon’ttest,atall…

Level 3: A story about the VALUE of the testing……whattherisksandcostsoftestingare……howtestable(ornot)theproductis……thingsthatmaketestingharderorslower……whatyouneedandwhatyourecommend…

Whyshould Ibepleasedwithyourwork?

Source:RapidSoftwareTesting– JamesBach&MichaelBolton

Page 35: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

1. Testingiswayfaster,easierandcheaperwithhightestability!Andmorefun!

2. Everybodyintheteambenefitsfromhightestability!

3. Testabilityisateamresponsibility.4. Maketestabilityasubjectforsprintplanning

&retrospective.

Page 36: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

Readmore• RapidSoftwareTesting- http://www.satisfice.com/info_rst.shtml• Testing&Checking - http://www.satisfice.com/blog/archives/856TestCasesAreNotTesting:TowardaCultureofTestPerformance”byJamesBach&AaronHodder -http://www.testingcircus.com/documents/TestingTrapeze-2014-February.pdf

• Atestisaperformance- http://www.satisfice.com/blog/archives/1346• Whatmakesagiletestingdifferent?- http://www.huibschoots.nl/wordpress/?p=1072• Testability- http://www.satisfice.com/tools/testable.pdf• HeuristicsofTestability- http://oredev.org/2013/wed-fri-conference/heuristics-of-testability• Testabilityawakens:movingtestabilityintonewdimensions -http://www.testingtrapezemagazine.com/wp-content/uploads/2015/12/TestingTrapeze-2015-December.pdf

• VisualizingTestability- http://youtu.be/_VR8naRfzK8• Moregreatresources:http://www.huibschoots.nl/links

Page 37: Testability FTW v5 - print · • Context-driven software tester • Rapid Software Testing teacher • Curious & lifelong learner • Passionate & energetic Humanist • Trainer,

[email protected]@huibschoots

www.huibschoots.nl/blog