plugg Flashcards
(108 cards)
Anledningen till varför man utför test
Desto högre konsekvenser ett system genererar desto högre blir behovet för att testa.
Varför utför man tester?
- identifiera fel och åtgärda
- säkerställa kvalitet
- få fram ett användbart system
verifiera samt validera
verfiera
- Är systemet rätt byggt? Uppfyller systemet kravspecifikationen?
Validera
- Är det rätt system vi bygger? Uppfyller systemet kravspecifikationen? Kommer beställaren att bli nöjd?
7 stycken principer om test
- Test upptäcker fel
- omöjligt att testa ett system fullständigt
- Testa tidigt - minimera chanserna för fel
- Fel hopar sig ofta - Fel leder till andra fel
- Anpassa/variera test
- Test är kontextberoende
- “absense of error” - fallacy
Olika typer av fel
Aritmetiska fel - beräkningsfel
Interfacing fel - gränsnittsfel
Ge exempel på anledningar till varför det kan uppstå buggar.
- Tidpress
- komplex kod
- komplex infrastruktur
- attityder emot test
- ignorans
Vilka problem kan ett ostrukturerat test innebära?
- Trots test så upptäcks få fel
- Viktiga och avgörande fel upptäcks sent
- Test blir “hinder” för att bli klar i tid
- Svårt att kontrollera och övervaka test
- lite användare medverkan
V-modellen
Innehåller Arbetsflöde, detaljeringsgrad och tid.
- V-modellen är ett sätt för att visa hur kravhantering och systemutveckling hänger ihop.
- Går att tillämpa på små och stora projekt
- Hanteras båda iterativt och sekventiellt
Arbetsflöde inom V-modellen
Arbetsflöde är flödet mellan verksamhetskrav till acceptanstest som finns ligger högst upp av dimensionerna. Fel som hittas här är fel i användarkrav.
Arbetsflödet i v-modellen består av:
- indelade testnivåer, där varje test nivå har ett syfte
- Varje nivå kan ha en testplan, testaktiviteter och testrapport
Detaljeringsgrad inom V-modellen
Detaljeringsgrad är flödet mellan systemkrav och systemtest. Fel i systemspecifiktation hittas här.
Detaljeringsgranden består av:
- Få detaljer på övergripande nivå
- Detaljerat längst ned i modellen
- Varje nivå ska ha en testplan
Tiden inom V-modellen
Tiden är flödet mellan design och integrationstest. Här hittas även design fel.
Tid innebär att:
- test förberedes i den vänstra sidan av modellen
- test genomförs i den högra delen av modellen
Grundläggande testnivåer
Komponenttest - genomförs av utvecklare
Integrationstest (inom systemet) - utförs ofta av utvecklare
Systemtest (helheten) - genomförs av både testare och systemtestare
Acceptanstest - Genomför av användare med uppdrag av beställare
Roller inom test
- Beställare (kund eller utvecklingföretag)
- Testare
- testledare
- utvecklare
Systemutvecklingmetoder
Vattenfall, RUP (rational unified process), Scrum, XP (extreme programming)
Vattenfallsmodellen
- Jobbar sekventiellt
Fördelar: Tydlig struktur för arbetsuppgifter och tid. Bra för stora projekt
Nackdelar: I början på ett stort projekt kan kravspecifikationen vara ofullständig.
Man försöker tidigt gå in på detaljer.
Det går ej att gå tillbaka i processen och göra förändringar.
Hög kostnad!
RUP (rational unified process)
- Bryter upp större system i delsystem som sen testas.
- Har en statisk del som testar ett system utan att exekvera koden sedan så finns det en dynamisk del där man exekverar för att hitta fel.
Testdisciplin inom RUP
- Iterativ process
- Skalbar, går att lägga in och ta bort saker (skräddarsy)
- Flexibilitet
- En riskbaserad process
Disciplin Test
- Fokus på att utvärdera kvalitet genom att:
- Definiera mål
- skapa en generell uppfattning om system
- Visa att antaganden i kravspecifikation håller
- Utvärdera funktionerna
- Säkerställa att kraven att uppnåtts
XP (extreme programmering)
- Bygger på användarberättelser (user stories) som beskriver kravspecifikationen.
- Refaktuering - rensar koden och tar bort dubbleringar och gör koden mer komplex.
- Par programmering (diskutera lösningar)
Vad ingår i ett agilt test?
- test utförs tidigt
- Hantering av förändringar, placerar dom i product backlog
- Hantera tunna “krav”, användarberättelser
- testa ofta
- testa snabbt
Typiska fel gällande kraven och dess konsekvenser
Fel:
- kraven reflekterar ej det riktiga systemet
- krav är inkonsekventa
- missförstånd mellan kund och kravhanterare
- Addering av ej planerade förändringar
Konsekvenser:
- Kunder använder ej programmet
- systemet blir opålitligt
Olika typer av krav
- Funktionella krav
- Icke funktionella krav, har med prestanda att göra
- Normala krav
- Förväntade krav, gamla krav som kunden tror är självklara
- Sensationella krav, leverantören levererar krav som ej efterfrågas.
Vilka delar ingår i kravhanterings processen - Stjärnan?
- Samla in krav
- Strukturera
- Prioritera
- Dokumentera
- Kvalitetssäkra
- Förvalta