F4 Testning av affärssystem Flashcards
Varför behöver affärssystem testas trots att de är “färdiga” produkter?
Eftersom varje organisation är unik och systemet måste passa verksamheten. Dessutom kan ändringar ha gjorts i systemet som behöver testas.
Vilka tre huvudområden måste testas i ett affärssystem?
Konfigurationer → Anpassningar som gjorts i systemet.
Integrationer → Fungerar systemet ihop med andra system?
Datamigrering → Är gammal data korrekt överförd?
Alla ändringar → Inget får påverka befintliga funktioner negativt!
När behöver test genomföras?
Implementation → Test vid grundkonfiguration.
Modifieringar → När systemet uppdateras eller lagkrav ändras.
Uppgraderingar → Test vid nya versioner från leverantören.
Ej en engångsgrej!
Vilka typer av anpassningar kan göras i ett affärssystem?
7
Parametrization/customization – Justera funktionalitet via systemparametrar.
Add-ons/Bolt-ons – Tredjepartsmoduler för branschspecifik funktionalitet.
Extension points – Anpassad kod som integreras via systemets utbyggnadspunkter.
ERP Programming – Skriva ny funktionalitet utan att ändra källkoden.
Extension module – Extern kodbaserad funktionalitet.
API – Integration med andra system.
ERP code modification – Ändringar i systemets källkod.
Vilka är de två huvudsakliga typerna av fel i ett affärssystem?
Funktionella fel – Exekveringsfel, logiska fel, integrationsfel etc.
Icke-funktionella fel – Låg prestanda, bristande säkerhet, dålig användbarhet etc.
Vad säger traditionell vs agil utveckling om testning?
Traditionell (sekventiell) – Gör en fullständig kravspecifikation innan implementering.
Agil (iterativ) – Minimera tiden mellan krav och acceptanstest.
Vad kännetecknar en sekventiell utvecklingsmodell?
Består av faser som utförs i en viss ordning.
En fas påbörjas först när den föregående är klar.
Exempel: Vattenfallsmodellen.
Vad kännetecknar en iterativ utvecklingsmodell?
Utveckling sker i kortare iterationer.
Bygger på successiv förbättring av systemet.
Exempel: Agila metoder.
Vad är V-Modellen?
V-Modellen är en traditionell sekventiell utvecklingsmodell där utvecklingsfaserna är strukturerade i en V-form. Varje utvecklingssteg har en motsvarande testfas för verifiering och validering.
Vilka är de huvudsakliga faserna i V-Modellen?
Krav → Acceptanstest
Systemdesign → Systemtest
Arkitekturdesign → Integrationstest
Moduldesign → Enhetstest
Implementation
Vad är fördelen med V-Modellen?
Den är dokumentdriven, vilket gör det enklare att planera tid och budget samt säkerställer att alla krav verifieras genom tester.
Vad är en nackdel med V-Modellen?
Fel kan upptäckas sent i processen eftersom tester sker efter att utvecklingen är slutförd.
Vad är syftet med verifiering och validering i testning?
Verifiering (leverantör) – Kontrollera att systemet är rätt konstruerat.
Validering (kund) – Kontrollera att rätt system har byggts.
Krav och Acceptanstest
Vad är syftet med kravfasen?
Att definiera och dokumentera användarnas krav på systemet, vilket resulterar i en kravspecifikation.
Krav och Acceptanstest
Vad är acceptanstest?
Ett test som utförs för att validera att systemet uppfyller de krav som definierats i kravspecifikationen och fungerar enligt kundens behov.
Krav och Acceptanstest
Vem utför acceptanstester?
Vanligtvis kunden, i kundens egen miljö.
Krav och Acceptanstest
Vad är skillnaden mellan verifiering och validering i acceptanstest?
Verifiering: Testar om systemet är byggt enligt specifikationerna.
Validering: Testar om systemet uppfyller användarnas behov.
Systemdesign och Systemtest
Vad är systemdesign?
Processen där kravspecifikationen omvandlas till en detaljerad systembeskrivning (designspecifikation).
Systemdesign och Systemtest
Vad är systemtest?
En testnivå där hela systemets funktionalitet verifieras för att säkerställa att det motsvarar designspecifikationen.
Systemdesign och Systemtest
Vad testar systemtest?
Funktionalitet
Att systemet fungerar som en helhet ur användarens perspektiv
Att systemet uppfyller designkraven
Arkitekturdesign och Integrationstest
Vad innebär arkitekturdesign?
En specifikation av systemets övergripande struktur, där systemet bryts ner i moduler och deras gränssnitt definieras.
Arkitekturdesign och Integrationstest
Vad är integrationstest?
Ett test som verifierar att systemets moduler fungerar ihop och att deras gränssnitt är korrekta.
Arkitekturdesign och Integrationstest
Vad ingår INTE i integrationstest?
Integrationstest omfattar endast interna systemmoduler, inte externa system.
Moduldesign och Enhetstest
Vad innebär moduldesign?
Design av enskilda moduler (enheter) i systemet, inklusive klasser och relationer inom modulen.
Moduldesign och Enhetstest
Vad är enhetstest?
Ett test som verifierar att de minsta testbara enheterna i systemet fungerar korrekt.
Moduldesign och Enhetstest
Vem utför vanligtvis enhetstester?
Programmerare
Moduldesign och Enhetstest
Vad är syftet med enhetstest?
Att säkerställa att varje enhet fungerar som avsett innan de integreras i systemet.
Vilka testnivåer finns inom affärssystem?
Enhetstest – Test av enskilda moduler.
Integrationstest – Test av hur moduler samverkar.
Systemtest – Test av hela systemet.
Acceptanstest – Slutlig testning av kund före produktionssättning
Vad kännetecknar testdriven utveckling (TDD)?
Tester skrivs innan kod.
Automatiserade tester används.
Tester grupperas i testsviter.
Vad står F.I.R.S.T. för inom TDD?
Fast – Snabba tester.
Independent and Repeatable – Testerna kan köras fristående.
Self-validating – Ska ge binärt resultat (rätt/fel).
Timely – Testkoden skrivs först, sedan implementationen
Vad är regressionstestning?
Att testa att systemet fortfarande fungerar efter att ändringar har gjorts.
Vad är ett testfall och vad innehåller det?
Ett testfall beskriver hur en del av systemet testas.
Det innehåller:
ID
Namn
Syfte
Förutsättningar
Testdata
Testprocedur
Vad är skillnaden mellan scriptat och utforskande testning?
Scriptat test – Förutbestämda teststeg, bra för regressionstestning.
Utforskande test – Testaren utforskar systemet utan förutbestämda steg.
Vad är syftet med användningsfall i testning?
Att beskriva hur en aktör interagerar med systemet i olika scenarier.
Vad är ett aktivitetsdiagram?
Ett diagram som visar olika möjliga scenarier inom ett användningsfall.
Vad är styrande variabler i testning?
Variabler som avgör vilka testscenarier som körs, exempelvis:
- Inmatad data
- Systemstatus
- Användarbeteende
Vad är ett scenario inom testning?
En specifik sekvens av aktiviteter för att utföra en uppgift, t.ex. “köp en vara online”.
Vilka tester täcks av testdriven utveckling (TDD)?
Acceptanstest
Systemtest
Integrationstest
Enhetstest
Vad är en testsvit?
En grupp av testfall, exempelvis alla systemtester
Vad är syftet med en testrapport?
Att summera testaktiviteter och ge en rekommendation baserad på testresultaten.