2.1.Testning inom ramen för en programvaruutvecklingslivscykel Flashcards
Vad är en SDLC-modell?
En abstrakt högnivå-representation av programvaruutvecklingsprocessen som visar hur faser och aktiviteter relaterar till varandra.
Vad är skillnaden mellan sekventiella, iterativa och inkrementella modeller?
Sekventiella modeller följer faser i en fast ordning
Ge exempel på agila utvecklingsmetoder.
ATDD (acceptanstestdriven utveckling)
BDD (beteendedriven utveckling)
Vad är syftet med en SDLC-modell?
Den
definierar hur olika utvecklingsfaser och typer av aktiviteter som utförs inom denna process relaterar
till varandra både logiskt och kronologiskt.
Ge exempel på typer av SDLC-modeller. 3
Sekventiella utvecklingsmodeller,
iterativa utvecklingsmodeller,
inkrementella utvecklingsmodeller
Ge exempel på programvaruutvecklingsmetoder och agila praxis.
Acceptanstestdriven utveckling (ATDD), beteendedriven utveckling (BDD),
domändriven design (DDD),
extreme programming (XP),
funktionsdriven utveckling (FDD),
Kanban,
Lean IT,
Scrum,
testdriven utveckling (TDD).
Exempel på sekventiella utvecklingsmodeller
t.ex. vattenfallsmodell, V-modell
Exempel på iterativa utvecklingsmodeller
t.ex.
spiralmodell, prototyping
Exempel på inkrementella utvecklingsmodeller
t.ex. Unified Process
Hur måste testning anpassas i förhållande till SDLC?
Testning måste anpassas till SDLC för att lyckas. Då valet av SDLC påverkar olika faktorer.
Vilka aspekter påverkas av valet av SDLC? 5
Omfattning och samordning av testaktiviteter,
detaljnivå på testdokumentation,
val av testteknik och testangreppssätt,
omfattning av testautomatisering,
testares roll och ansvar
Vad gör testare vanligtvis i de inledande faserna av sekventiella utvecklingsmodeller?
Testare deltar vanligtvis i kravgenomgångar, testanalys och testdesign.
Kan dynamisk testning utföras tidigt i SDLC i sekventiella modeller?j
Nej, dynamisk testning kan normalt inte utföras tidigt i SDLC eftersom den exekverbara koden skapas i de senare faserna.
Vad innebär att varje iteration resulterar i en fungerande prototyp eller produktinkrement i iterativa och inkrementella modeller? för vilken typ av testning som ska göras?
Det innebär att både statisk och dynamisk testning kan utföras på alla testnivåer i varje iteration.
Vad krävs vid frekventa leveranser av inkrement i iterativa och inkrementella modeller?
Frekventa leveranser kräver snabb återkoppling och omfattande regressionstestning.
Vad förutsätter agil programvaruutveckling gällande förändring?
Agil programvaruutveckling förutsätter att förändringar kan ske under hela projektet.
Vad föredras inom agil utveckling för att underlätta regressionstestning?
Lättviktsdokumentation för arbetsprodukter och omfattande testautomatisering
Vilka testtekniker tenderar att användas i manuella tester i agila projekt?
De flesta manuella tester tenderar att utföras med erfarenhetsbaserade testtekniker som inte kräver omfattande testanalys och design innan.
Vad innebär bra testpraxis oberoende av SDLC-modellen för varje utvecklingsaktivitet?
Att varje har en motsvarande testaktivitet,
olika testnivåer har specifika mål,
testanalys och design påbörjas tidigt,
och testare är involverade tidigt i processen.
Vad ska finnas för varje programvaruutvecklingsaktivitet?
För varje utvecklingsaktivitet finns en motsvarande testaktivitet
Varför ska varje testnivåe har specifika och olika testmål?
Så att testningen blir tillräckligt omfattande samtidigt som redundans undviks.
När påbörjas testanalys och design för en testnivå? Och för vilken princip?
Testanalys och design för en testnivå påbörjas under motsvarande utvecklingsfas av SDLC, så att testning kan följa principen om tidig testning.
Hur kan testare stödja strategin för shift-left?
Testare är involverade i att granska arbetsprodukter så snart utkast finns tillgängliga, vilket stödjer tidig testning och felupptäckt.
Varför ska det finnas en motsvarande testaktivitet för varje programvaruutvecklingsaktivitet?
så att alla utvecklingsaktiviteter är föremål för kvalitetskontroll.