Soap Opera Testing
Soap Opera Testing är en typ av scenariobaserat test där du packar de mest extrema exemplen på realistiska händelser i en kort tidsperiod, vilket görs i handlingen av en tvålopera (eller nästan varje dag när du bor med tonåringar.) Ursprunget of Soap Opera Testing är en eponym artikel av Hans Buwalda som publicerades i februari 2004-numret av Bättre programvara. De kan vara ett mycket effektivt sätt att testa många kantfall snabbt. Min erfarenhet är att första gången jag använde ett Soap Opera-test täckte jag de flesta av mina negativa testkrav utan att ens försöka, liksom ett antal andra viktiga funktioner. Genom att skriva Soap Opera Tests kan du vara kreativ på ett annat sätt än vad som vanligt behövs för att testa eller beräkna jobb, vilket gör det till en trevlig taktförändring.

Här är ett exempel Soap Opera Test för en automatisk tellermaskin:

Chris och Chas Niemand är syster och bror som bor tillsammans i ett hus de ärvt från sina föräldrar. Chris är en datatekniker på semester den här veckan, som har ett andra jobb som en ATM-teknik på telefon. Tur för Chris fickbok, de bor nära en särskilt besvärlig (och därför lite använt) uttagsautomat. Chas arbetar hemifrån som författare. De har ett gemensamt kontrollkonto för att täcka hushållskostnader som är kopplade till vart och ett av deras ATM-kort. Chris 'kort är också länkat till hennes sparkonto. Charles 'kort är också kopplat till hans pengemarknadskonto.

Vid 23.00 kallas Chris till en felaktig bankomat, lyckligtvis är det den som är närmast hennes hus. Hon anländer och upptäcker att den är avstängd och tycks ha varit avkopplad. Hon kopplar in den och sätter på den. Hon har inte tillgång till att fylla på kontanter i uttagsautomaterna så hon kontrollerar det aktuella innehållet i uttagsautomaten 580 $ och anger 29 som antalet 20 $ -räkningar i uttagsautomaten. För att testa att ATM fungerar helt bestämmer hon sig för att ta ut 20 $ så att hon kan stanna i butiken på vägen hem, eftersom hon och hennes bror nästan är slut på mjölk och kaffe. När maskinen ber henne om uttagsbeloppet trycker hon av misstag på av-knappen (hon har inte stängt av maskinen eftersom hon fortfarande kan göra mer arbete med det.) Händligt händer ingenting eftersom hon är i mitten av en transaktion. Hon tar fram framgångsrikt 20 dollar och matar ut sitt kort och kvitto. Hon märker att kontrollsaldot endast är $ 80. Tydligen har hennes bror fortfarande inte lagt sin del för månaden på det gemensamma kontot. Hon låser maskinen och startar sedan en annan transaktion för att överföra 100 $ från sina besparingar till det gemensamma kontrollkontot för att se till att de har tillräckligt med pengar för hushållskostnader. Hon är klar 11:45.

Nästa morgon vid frukosten nämner Chris till sin bror att han sent överförde pengar till det gemensamma kontrollkontot. Han berättar för henne att han har flera checkar som borde finnas i dagens mail och att han kommer att vara säker på att sätta in dem och överföra pengar till det gemensamma kontot när posten kommer. Han påminner henne om att gräsmattan kommer den morgonen istället för nästa dag som planerat. Hon går över till ATM för att få pengar för att betala honom. På vägen stannar hon och hämtar sin lönecheck på $ 200 för förra veckors arbete på telefon. Hon sätter in 200 $ vid kontrollen och tar 100 $ ur kontrollen. På kaféet den eftermiddagen ser hon en flygblad för någon som säljer exakt de gräsmöbler som hon letat efter. Efter att ha ringt dem, förhandlar hon dem ner till $ 200. Hon leder till ATM, försöker ta ut $ 200 för att kontrollera, men det misslyckas eftersom hennes bror inte har gjort sin överföring ännu och den check som hon satte in är ännu inte en del av tillgängliga medel. Hon tar ut 200 $ från sitt sparkonto. Hon kommer hem med de nya gräsmöblerna och upptäcker att posten har kommit men hennes bror har inte gjort något åt ​​det. Hon skickar honom för att sätta in sina lönecheck.

Charles leder till ATM. Första gången han försöker skriva in sin stift, trycker han tillbaka innan han går in i något och misslyckas, andra gången han skriver in extra nummer. Tredje gången kommer han korrekt in i rätt stift. Han har en insättning på 4 checkar på totalt $ 3400 dollar för att sätta in på sitt pengemarknadskonto, men första gången han kommer in $ 4300, märker han vad han gjorde när han gjorde och trycker på avbryt innan han slår in. Andra gången han kommer in $ 34000, meddelanden efter att maskinen ber honom att sätta in kuvertet och trycker på avbryt. Tredje gången får han ingångsbeloppet på 4300 dollar rätt, men distraheras från att sätta in kuvertet i sin mobiltelefon och de uttagsautomater. Slutligen är fjärde gången charmen och han gör framgångsrikt sin insättning. Han överför 2000 dollar från sitt pengemarknadskonto till det gemensamma kontrollkontot. Slutligen beslutar han att göra ett uttag från sitt pengemarknadskonto. På sitt vanliga humlande sätt försöker han av misstag ta ut $ 0, vilket misslyckas eftersom det är ett ogiltigt belopp. Sedan tar han ut 200 $. Han försöker ta ut ytterligare $ 200, vilket misslyckas eftersom det är över den dagliga gränsen. Tredje gången tar han fram 100 $, men det misslyckas eftersom ATM inte har så mycket pengar. Han drar till slut framgångsrikt $ 80.

Senare går Chris över till ATM och planerar att överföra $ 300 från att checka in på sitt sparkonto för att kompensera för de medel som hon använde som borde ha kommit från det gemensamma kontot. Hon drar ut ATM-kortet ur jackfickan och går in i stiftet.Det fungerar inte, så hon räknar med att hon skrev den och skriver in den för andra och tredje gången. Det är fortfarande fel och ATM tar kortet. Hon kommer ihåg att hennes bror bar hennes jacka tidigare och efter att ha kontrollerat fickorna hittar hon kortet och inser att hon av misstag hade använt hans. Hon skriver in sitt kort med rätt stift och överför framgångsrikt $ 300. Hon kontrollerar saldon på båda sina konton. Hon har ett duplikat av sina bröderkort i plånboken och försöker använda det för att se till att hon hade rätt i sin antagning. Som förväntat misslyckas det eftersom kortet tidigare behölls.

Just nu får Chris ett telefonsamtal och uppmanas att dra loggarna och stänga av bankomaten, eftersom det är tom för pengar. Hon ska vänta på den pansrade bilen, som är på väg, för det har varit motsägelser med denna ATM efter påfyllning tidigare. När de pansrade bilförarna öppnar ATM och sätter på den, markerar de sig inte innan de borstar mot elektroniken bredvid påfyllningsbrickan och det finns en liten statisk urladdning. De lägger in 50 $ 20-räkningar. När Chris använder sitt kort och duplikatet av sin brors för att kontrollera saldona, ställs alla saldona tillbaka som om de senaste 24 timmarna av transaktioner inte hade inträffat.



Referens:
Hans Buwalda. "Soap Opera Testing." Bättre programvara. Februari 2004. sid 30-37.

Video Instruktioner: Soap Opera Testing Presentation by Hans Buwalda (Maj 2024).