Föreläsning 4 Flashcards

1
Q

Varför testa affärssystem? Konfigurationer

A

Konfigurationer: Trots att affärssystem ofta marknadsförs som “färdiga” lösningar för organisationer kräver varje implementation anpassning och konfiguration för att passa organisationens unika behov.

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

Varför testa affärssystem? Integrationer

A

Integrationer: Affärssystem integreras vanligtvis också med andra system och involverar ofta migrering av data från befintliga system.

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

Varför testa affärssystem? Data migration

A

Data migration: Testning är avgörande för att säkerställa att systemet fungerar korrekt, att alla integrationer är korrekta och att dataöverföringar sker utan problem

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

Implementation (hos kund) - Grundkonfiguration:

A

När affärssystemet implementeras för första gången hos en kund krävs omfattande testning för att säkerställa att systemet är korrekt konfigurerat enligt kundens behov och att det fungerar som förväntat i den specifika miljön.

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

Modifieringar vid förvaltning av systemet:

A

Under förvaltning och underhåll av systemet kan det bli nödvändigt att genomföra modifieringar, till exempel för att anpassa systemet till lagändringar eller andra regeländringar. Dessa modifieringar måste testas för att säkerställa att de inte påverkar systemets funktionalitet negativt eller introducerar nya fel

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

Uppgraderingar av systemet (från leverantör):

A

När leverantören av affärssystemet släpper nya versioner eller uppdateringar måste dessa uppgraderingar testas noggrant för att säkerställa att de inte bryter befintlig funktionalitet eller introducerar nya problem. Detta kan innefatta regressionstestning för att säkerställa att tidigare fungerande funktioner fortfarande fungerar korrekt i den uppdaterade versionen.

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

Funktionella fel:

A

Dessa fel påverkar hur systemet fungerar och kan vara exekveringsfel (till exempel krascher), logiska fel (felaktiga beräkningar) eller integrationsfel där olika system inte kommunicerar korrekt.

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

Icke-funktionella fel:

A

Dessa fel påverkar inte själva systemets funktionalitet men kan påverka dess prestanda, säkerhet eller användarvänlighet

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

Sekventiella modeller

A

: Följer en ordnad serie faser där varje fas måste slutföras innan nästa påbörjas. Exempel inkluderar Vattenfallsmodellen där kravspecifikationer, design, implementation och testning utförs i en linjär sekvens

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

Iterativa modeller:

A

Tillåter utveckling i kortare iterationer där varje iteration resulterar i en användbar version av systemet. Agila metoder som Scrum och Kanban är exempel på iterativa utvecklingsmodeller.

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

V-Modellen:

A

är en traditionell sekventiell metod för systemutveckling och testning som används för att organisera och visualisera sambandet mellan olika faser av utvecklings- och testprocessen. Namnet “V” kommer från formen på diagrammet som visar förhållandet mellan utvecklingens och testningens faser.

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

V-modell, Krav

A

Krav: är användarnas behov och förväntningar på systemet. Det inkluderar information om vad systemet ska kunna göra och vilka funktioner det ska ha. Krav formuleras vanligtvis i en kravspecifikation, som är en detaljerad dokumentation av alla krav för systemet

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

V-modellen, Acceptanstest

A

Acceptanstest: är en typ av testning som utförs för att verifiera att den levererade mjukvaran uppfyller de specificerade kraven i kravspecifikationen. Syftet med acceptanstest är att säkerställa att systemet möter kundens krav och förväntningar. Testerna utförs vanligtvis av kunden eller användarna av systemet. Under acceptanstestet utvärderas systemet i kundens miljö för att säkerställa att det fungerar korrekt och möter de krav som har fastställts i kravspecifikationen

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

Krav och Acceptanstest

A

I korthet är krav de förväntningar och behov som användarna har på systemet, medan acceptanstestet är en process för att kontrollera att den levererade mjukvaran uppfyller dessa krav och möter kundens förväntningar. Det är ett viktigt steg för att säkerställa att systemet är användbart och tillfredsställer användarnas behov innan det tas i bruk.

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

V-modellen, systemdesign

A

Systemdesign: Under systemdesignfasen omformas de krav som samlats in från användare och intressenter till en systemspecifikation, känd som designspecifikationen. Designspecifikationen är en detaljerad beskrivning av hur systemet kommer att fungera och hur dess olika delar ska samverka för att uppfylla användarnas behov och krav. Det inkluderar arkitekturen för systemet, uppdelningen av systemet i olika moduler, gränssnitten mellan dessa moduler och andra tekniska detaljer som behövs för att bygga systemet

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

V-modellen, systemtest

A

Systemtest: Systemtest är en fas i testningsprocessen där hela systemet testas för att säkerställa att det fungerar korrekt och uppfyller kraven enligt designspecifikationen. Syftet med systemtest är att verifiera att systemet motsvarar designspecifikationen och att alla delar av systemet fungerar som de ska när de är integrerade tillsammans. Det inkluderar tester för att säkerställa att alla funktioner och egenskaper fungerar som förväntat och att systemet uppfyller användarens krav och förväntningar. Systemtestet testar även systemet som en helhet från användarens perspektiv för att säkerställa att det är användarvänligt och fungerar enligt förväntningarna

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

Systemdesign och Systemtest

A

: Sammanfattningsvis omvandlar systemdesignfasen användarnas krav till en detaljerad systemspecifikation, medan systemtestfasen verifierar att systemet uppfyller denna specifikation och fungerar korrekt från användarens perspektiv. Det är en viktig process för att säkerställa att systemet är korrekt implementerat och uppfyller användarnas behov och förväntningar

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

V-modellen, arkitekturdesign

A

Arkitekturdesign: Under arkitekturdesignfasen definieras systemets övergripande struktur, inklusive hur det är organiserat i moduler och dess gränssnitt. Designen fokuserar på att skapa en plan för hur systemets olika delar ska fungera tillsammans för att uppfylla kraven och målen. Denna design inkluderar vanligtvis högnivåbeskrivningar av systemets komponenter, deras ansvar och hur de samverkar

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

V-modellen, integrationstest

A

Integrationstest: När arkitekturen är designad och modulerna är implementerade, utförs integrationstest för att säkerställa att dessa moduler kan samverka korrekt. Integrationstestet är inriktat på att testa samarbetet och kommunikationen mellan modulerna för att upptäcka eventuella fel eller inkongruenser. Detta inkluderar att testa att modulerna kan skicka och ta emot data korrekt, samt att de kan fungera tillsammans för att uppnå önskad funktionalitet

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

Arkitekturdesign och Integrationstest:

A

Sammanfattningsvis är arkitekturdesignfasen inledande och definierar systemets struktur, medan integrationstestet följer efter implementeringen av modulerna och verifierar att den definierade arkitekturen fungerar som förväntat genom att testa hur modulerna interagerar och samarbetar. Därmed är en noggrann arkitekturdesign avgörande för att lyckas med integrationstestet

21
Q

V-modellen, moduldesign

A

Moduldesignfasen: fokuserar man på att designa de enskilda modulerna eller enheterna som utgör systemet. Här definieras klasser, deras relationer och hur de ska interagera inom modulerna. Moduldesignen innefattar också att förbereda specifikationer och instruktioner som utvecklarna behöver för att implementera modulerna på ett korrekt sätt. Det är en lågnivådesign där detaljerna i varje modul fastställs

22
Q

V-modellen, Enhetstest

A

Enhetstest (unit tests): är en del av enhetstestfasen, där varje enskild modul testas separat för att säkerställa att den fungerar korrekt i isolering. Enhetsprovning involverar att testa de minsta testbara delarna i systemet, vanligtvis enskilda metoder eller funktioner, för att verifiera att de ger korrekta resultat enligt förväntningarna. Dessa tester utförs vanligtvis av utvecklarna själva för att säkerställa kvaliteten på den kod de skriver. Genom enhetstestning kan man upptäcka och åtgärda fel på ett tidigt stadium i utvecklingsprocessen

23
Q

Moduldesign och enhetstest:

A

För varje modul skapas testfall som täcker olika scenarier och användningsfall. Dessa testfall är utformade för att säkerställa att modulen uppfyller sina specifikationer och fungerar korrekt enligt designen. Testfallen kan inkludera olika inmatningsvärden för att testa olika vägar genom koden samt verifiera att modulen returnerar förväntade resultat. Under enhetstestningen körs testfallen för varje modul och resultaten jämförs med förväntade resultat. Om testen misslyckas indikerar det att modulen inte fungerar enligt förväntningarna och att fel behöver åtgärdas

24
Q

V modellen, Implementation

A

: är processen där den utformade systemdesignen faktiskt omsätts i ett fungerande datorsystem eller mjukvara. Det är steget där koden skrivs och systemet byggs enligt de specificerade kraven och designen. Implementationen innefattar att översätta designspecifikationer och kravdokument till kod, konfigurera systemet och integrera olika komponenter för att skapa en fungerande produkt

25
Q

Validering (Kund):

A

Tester som syftar till att visa att rätt system är konstruerat. Under acceptanstest görs många valideringsaktiviteter.

26
Q

Verifiering (Leverantör/Konsult):

A

Tester som syftar till att visa att systemet är rätt konstruerat. Under enhetstest görs många varifieringsaktiviteter

27
Q

Validering och Verifiering

A

Sammanfattningsvis kan man säga att validering handlar om att kontrollera att systemet gör rätt sak, medan verifiering handlar om att kontrollera att systemet är korrekt byggt. Båda aspekterna är viktiga för att säkerställa att ett system är framgångsrikt och möter sina användares behov och förväntningar.

28
Q

Agil utveckling

A

: är en metod där systemet utvecklas i iterationer, där varje iteration resulterar i en ny version av systemet som kan testas och användas av kunden. Det betonar kontinuerlig förändring och anpassning av systemet baserat på feedback från användare och kunder.

29
Q

Testdriven utveckling (TDD):

A

är en praktik inom mjukvaruutveckling där testerna skrivs innan koden implementeras. Dessa tester är exekverbara och automatiserade, vilket innebär att de kan köras automatiskt för att verifiera att koden fungerar som förväntat. Testerna grupperas vanligtvis i testsviter för att testa olika delar eller hela systemet

30
Q

Vid testdriven utveckling (TDD) är det viktigt att följa principerna för att designa effektiva tester. Dessa principer sammanfattas vanligtvis med akronymen F.I.R.S.T., som står för:

A

Fast (Snabbt):
Independent & repetable
Self-validating
Timely

31
Q

Fast (Snabbt):

A

Tester ska vara snabba att köra för att möjliggöra en snabb feedbackcykel. Snabba tester gör det möjligt för utvecklare att snabbt identifiera och åtgärda fel i koden.

32
Q

Independent and Repeatable:

A

Tester ska vara oberoende av varandra och av miljön där de körs. De bör kunna köras fristående, vilket innebär att resultatet av ett test inte bör påverkas av resultaten från andra tester eller av förändringar i systemets miljö.

33
Q

Self-validating (Självvaliderande):

A

Tester ska ge en tydlig och entydig indikation på om koden passerar eller misslyckas med testet. Resultatet av testet ska vara enkelt att tolka och inte lämna utrymme för subjektiva bedömningar

34
Q

Timely

A

Testkoden ska skrivas innan själva systemimplementationen börjar. Genom att skriva testkoden först kan utvecklare tydligt definiera kraven och förväntningarna på koden innan de börjar implementera den. Detta bidrar till en mer strukturerad och fokuserad utvecklingsprocess

35
Q

Kritiken mot Test Driven Development (TDD)

A

pekar på risken att överdriven fokusering på små enhetstester kan leda till överdriven komplexitet och ineffektiv koddesign. Istället för att balansera mellan enhetstester och systemtester kan TDD leda till att utvecklare skapar onödig indirektion och komplexitet i koden. Det är viktigt att inkludera både enhetstester och systemtester för att säkerställa en sund och balanserad teststrategi

36
Q

Testtekniker:

A

är strategier eller metoder som används för att planera, designa och genomföra tester av system. Det finns olika testtekniker som kan användas beroende på behoven och kraven i testprocessen

37
Q

Verksamhet/IT:

A

Denna testteknik fokuserar på att säkerställa att systemet passar in i verksamhetens processer. Det innebär att testa att systemet stöder de manuella rutiner och arbetsflöden som används i verksamheten. Användningsfallstestning är en del av denna teknik, vilket innebär att testa interaktionen mellan användaren och systemet.

38
Q

Täckning:

A

Denna teknik handlar om att mäta hur mycket av systemets funktionalitet som täcks av testerna. “Felgissning” innebär att testaren använder sin erfarenhet för att rikta in testningen på områden där det är troligt att fel uppstår. “Kodtäckning” syftar till att mäta hur många delar av systemkoden som testats för att säkerställa att alla delar är testade

39
Q

Styrning:

A

Detta avser hur testerna utförs och styr testprocessen. “Utforskande” testning innebär att testarna har friheten att utforska och testa systemet utan att följa strikta testfall. “Scriptat” innebär att testscenarier och steg är fördefinierade och dokumenterade, vilket förenklar testprocessen och möjliggör regresstestning

40
Q

Reggressionstestning:

A

är en viktig del av testprocessen som säkerställer att systemet fortfarande fungerar korrekt efter att förändringar har gjorts. Det innebär att tidigare fungerande funktioner inte har påverkats negativt av förändringar i systemet

41
Q

Testfall:

A

Ett testfall är en detaljerad beskrivning av hur en specifik del av systemet ska testas. Testfall innehåller 8 olika steg

42
Q

ID:

A

En unik identifierare för testfallet för att kunna referera till det på ett entydigt sätt.

43
Q

Namn:

A

En beskrivande titel som kortfattat anger vad testfallet handlar om.

44
Q

Syfte:

A

En beskrivning av vad som ska testas och varför det är viktigt att testa detta specifika scenario eller funktion.

45
Q

Förutsättningar:

A

En lista över de förutsättningar eller förberedelser som behöver vara på plats innan testet kan utföras. Det kan inkludera tillstånd eller inställningar i systemet, tillgång till viss programvara eller data, osv.

46
Q

Testdata:

A

Specifik data som behövs för att utföra testet. Det kan inkludera exempel på inmatning eller input som ska användas under testningen. Ibland inkluderas även förväntade resultat som en del av testdatan.

47
Q

Testprocedur:

A

En stegvis beskrivning av hur testet ska utföras, inklusive exakta steg att följa och förväntade resultat för varje steg. Detta kan också inkludera förväntade resultat för hela testfallet.

48
Q

Test av verksamhetsprocesser: innebär att man verifierar att affärssystemet kan hantera företagets standardprocesser samt undantag eller specialfall som kan uppstå.

A