2.1.Testning inom ramen för en programvaruutvecklingslivscykel Flashcards

1
Q

Vad är en SDLC-modell?

A

En abstrakt högnivå-representation av programvaruutvecklingsprocessen som visar hur faser och aktiviteter relaterar till varandra.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad är skillnaden mellan sekventiella, iterativa och inkrementella modeller?

A

Sekventiella modeller följer faser i en fast ordning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Ge exempel på agila utvecklingsmetoder.

A

ATDD (acceptanstestdriven utveckling)
BDD (beteendedriven utveckling)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är syftet med en SDLC-modell?

A

Den
definierar hur olika utvecklingsfaser och typer av aktiviteter som utförs inom denna process relaterar
till varandra både logiskt och kronologiskt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Ge exempel på typer av SDLC-modeller. 3

A

Sekventiella utvecklingsmodeller,

iterativa utvecklingsmodeller,

inkrementella utvecklingsmodeller

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Ge exempel på programvaruutvecklingsmetoder och agila praxis.

A

Acceptanstestdriven utveckling (ATDD), beteendedriven utveckling (BDD),
domändriven design (DDD),
extreme programming (XP),
funktionsdriven utveckling (FDD),
Kanban,
Lean IT,
Scrum,
testdriven utveckling (TDD).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Exempel på sekventiella utvecklingsmodeller

A

t.ex. vattenfallsmodell, V-modell

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Exempel på iterativa utvecklingsmodeller

A

t.ex.
spiralmodell, prototyping

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Exempel på inkrementella utvecklingsmodeller

A

t.ex. Unified Process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hur måste testning anpassas i förhållande till SDLC?

A

Testning måste anpassas till SDLC för att lyckas. Då valet av SDLC påverkar olika faktorer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vilka aspekter påverkas av valet av SDLC? 5

A

Omfattning och samordning av testaktiviteter,

detaljnivå på testdokumentation,

val av testteknik och testangreppssätt,

omfattning av testautomatisering,

testares roll och ansvar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad gör testare vanligtvis i de inledande faserna av sekventiella utvecklingsmodeller?

A

Testare deltar vanligtvis i kravgenomgångar, testanalys och testdesign.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Kan dynamisk testning utföras tidigt i SDLC i sekventiella modeller?j

A

Nej, dynamisk testning kan normalt inte utföras tidigt i SDLC eftersom den exekverbara koden skapas i de senare faserna.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

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?

A

Det innebär att både statisk och dynamisk testning kan utföras på alla testnivåer i varje iteration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vad krävs vid frekventa leveranser av inkrement i iterativa och inkrementella modeller?

A

Frekventa leveranser kräver snabb återkoppling och omfattande regressionstestning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad förutsätter agil programvaruutveckling gällande förändring?

A

Agil programvaruutveckling förutsätter att förändringar kan ske under hela projektet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Vad föredras inom agil utveckling för att underlätta regressionstestning?

A

Lättviktsdokumentation för arbetsprodukter och omfattande testautomatisering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Vilka testtekniker tenderar att användas i manuella tester i agila projekt?

A

De flesta manuella tester tenderar att utföras med erfarenhetsbaserade testtekniker som inte kräver omfattande testanalys och design innan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Vad innebär bra testpraxis oberoende av SDLC-modellen för varje utvecklingsaktivitet?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Vad ska finnas för varje programvaruutvecklingsaktivitet?

A

För varje utvecklingsaktivitet finns en motsvarande testaktivitet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Varför ska varje testnivåe har specifika och olika testmål?

A

Så att testningen blir tillräckligt omfattande samtidigt som redundans undviks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

När påbörjas testanalys och design för en testnivå? Och för vilken princip?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Hur kan testare stödja strategin för shift-left?

A

Testare är involverade i att granska arbetsprodukter så snart utkast finns tillgängliga, vilket stödjer tidig testning och felupptäckt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Varför ska det finnas en motsvarande testaktivitet för varje programvaruutvecklingsaktivitet?

A

så att alla utvecklingsaktiviteter är föremål för kvalitetskontroll.

25
Vad är gemensamt för TDD, ATDD och BDD?
Dessa angreppssätt definierar tester innan koden skrivs, vilket realiserar principen om tidig testning och följer shift-left.
26
Vilken utvecklingsmodell stöder TDD, ATDD och BDD?
De stöder en iterativ utvecklingsmodell.
27
Vad kännetecknar testdriven utveckling (TDD)?
TDD styr kodningen genom testfall, där tester skrivs först, sedan skrivs koden för att uppfylla testerna
28
Vad innebär acceptanstestdriven utveckling (ATDD)?
Tester härleds från acceptanskriterier som en del av systemdesignprocessen, och tester skrivs innan den del av applikationen utvecklas.
29
Vad kännetecknar beteendedriven utveckling (BDD)?
BDD uttrycker önskat beteende hos en applikation med testfall skrivna i naturligt språk (Given/When/Then), som sedan automatiskt översätts till exekverbara tester.
30
Kan man använda automatiserade testfall för TDD, ATDD och BDD?
Ja, de kan bibehållas som automatiserade testfall vid framtida anpassningar/omstruktureringar.
31
Vad är devops?
DevOps är ett organisatoriskt angreppssätt för att få utveckling (inklusive testning) och drift att samverka för att uppnå gemensamma mål.
32
Hur måste kulturen se ut i en organisation för att använda Devops?
Man måste överbrygga klyftorna mellan utveckling (inklusive testning) och drift samtidigt som deras funktioner behandlas lika.
33
Varför är snabb återkoppling enligt devops bra enligt testare?
Utvecklare får snabb återkoppling på kodens kvalitet och om ändringar påverkar befintlig kod negativt
34
Varför är det bra att utvecklare tillgängliggör sin kod tsm med tester och statisk analys enligt devops? (CI)
CI främjar shift-left
35
Varför är automatiserade processer så som de i CI/CD enligt devops och testare?
Främjar etableringen av stabila testmiljöer
36
Vad händer genom devops gällande ickle-funktionella kvalitetsegenskaper så som prestanda och effektivitet och tillförlitlighet?
Förståelsen ökar
37
Vad för fördel ger automatisering gneom en leveranspipeline enligt devops?
Minskar behover av upprepade manuella tester
38
Varför minskar risken vid regressions enligt devops?
På grund av omfattningen av automatiserade regressionstester.
39
Vad finns det för risker och utmaningar med devops?
Leveranspipeline måste definieras och upprättas CI/DI-verktyg måste introduceras och underhållas Testautomatisering kräver ytterligare resurser och kan vara svåra att göra och underhålla
40
Används automatiserade eller manuella tester inom devops?
Mycket automatiserade men också manuell testning tex ur användarens perspektiv behövs
41
Vad är fördelen med CI/CD?
De möjliggör att man kan samarbeta och automatisera flöden. man vill kunna automatisera webbutveckling. Man behöver helt enkelt göra det enklare att göra kodändringar och samarbetar.
42
Vad är CI
Inom Continuous Integration (CI), eller kontinuerlig integration, använder utvecklingsteamet versionshantering och integrerar sitt arbete frekvent till ett och samma ställe, en master branch. Genom att dela upp koden i flera brancher, eller delar, kan man genomföra snabbare release-cykler.
43
Vad är CD?
kontinuerlig leverans, ser till att det finns ett automatiserat sätt att överföra och leverera kodändringar mellan olika plattformar och verktyg
44
Vad tycker shift-left?
Shift-left föreslår som bas att testning ska göras tidigare (dvs. inte vänta på att kod ska implementeras eller på att komponenter ska integreras)
45
Vad ska man enligt shift-left göra med specifikationer?
Granska från en testares perspektiv för att hitta potentiella defekter och oklarheter, ofullständigheter och inkonsekvenser
46
När kan det vara bra att skriva testfall enligt shift-left?
Innan koden skrivs
47
Varför ska man använda sig av CI eller ännu hellre CD enligt shift-left?
eftersom de levererar snabb återkoppling och automatiserade komponenttester som följer med källkoden när den skickas till en koddatabas
48
Vad ska man enligt shift-left göra med källkoden?
Slutföra statisk analys innan dynamisk testning
49
Hur kan man göra icke-funktionella tester mer shift-left-aktiga?
Att man gör testerna på komponenttestnivå innan en representativ testmiljö finns tillgänglig
50
När brukar man ha retrospektiver?
Retrospektiver hålls ofta i slutet av ett projekt eller en iteration, vid en release-milstolpe men kan också hållas vid behov. Beroende på vilken SDLC-modell som följs.
51
Vad brukar man diskutera på retrospektiverna?
* Vad var framgångsrikt och bör bibehållas? * Vad var inte framgångsrikt och vad kan förbättras? * Hur införlivar vi förbättringarna och bibehåller effekten av dem framöver?
52
Vilka är med och diskuterar på retrospektiverna?
Alla i teamet
53
Vad ska man göra med resultaten av retrospekten?
Ha som en del av en sammanfattande testrapporten och sedan viktigt att följa upp.
54
Hur kan retrospektiv öka testeffektiviteten?
genom att implementera processförbättringsförslag
55
Hur kan retrospektiv öka kvaliten på testvaran?
genom att gemensamt granska testprocesserna
56
Hur kan retrospektiv förstärkta relationerna i teamet och lärande
som ett resultat av möjligheten att ta upp frågor och föreslå förbättringspunkter
57
Hur kan retrospektiv ge förbättrad kvalitet på testbasen
eftersom brister i t.ex. kravens omfattning och kvalitet skulle kunna åtgärdas och lösas
58
Hur kan retrospektiv ge Bättre samarbete mellan utveckling och testning
bland annat genom att samarbetet regelbundet ses över och optimeras