* Identifiera fel * Säkerställa kvalitet * Försäkra ett användbart system
\
2
New cards
Vad handlar testning om? (Definition)
Med testning menas:
Processen att exekvera eller evaluera ett system genom att använda manuella eller automatiska metoder för att verifiera, att systemet uppfyller specificerade krav eller att identifiera skillnader mellan förväntade och verkliga resultat.
3
New cards
Vad innebär att **verifiera**?
Att kontrollera det färdiga resultatet med avseende på kravspecifikationen.
4
New cards
Vad innebär att **validera**?
Att granska hur resultatet förhåller sig till verkligheten, och kontrollera att det funkar i praktiken.
5
New cards
Vilka **konsekvenser** finns p.g.a. bristande test?
1. Test **påvisar** att ett fel finns 2. Fullständiga test är **omöjliga** 3. Testa **tidigt** 4. Fel **hopar** sig ofta 5. **Anpassa/variera** test 6. Test är **kontextberoende** 7. “Absence of errors“ - fallacy (Man antar att systemet är felfritt)
7
New cards
Vilka **orsaker** kan buggar komma ifrån?
* Tidspress * Komplex kod * Komplex infrastruktur * m.m.
8
New cards
Hur ser **testprocessen** ut?
Testplanering och styrning →
Testanalys och design →
Realiserande och exekvering av testet →
Utvärdering och avslutkriterier och rapportering →
* Strukturerat * Bra grund för felrapporter och automatisering * Lätt att byta testare
13
New cards
Vilka **nackdelar** finns det med testfall?
* Blir snabbt omfattande * Kan bli svårt med en överblick om testfallen är för många * Testfallen täcker inte allt - falsk säkerhet
14
New cards
Vilka steg innefattas på genomförandet av ett test?
* Följer testplanen * Använder underlagen för planeringen * Rapporterar * Testar igen och igen
15
New cards
Hur ser uppföljningen ut?
Man sammanfattar
Utvärderar och samlar erfarenhet
16
New cards
Vilka **problem** finns med ostrukturerade test?
* Viktiga fel upptäcks sent * Trots tester upptäcks få fel * Test blir hinder för “att bli klar“ * Svårt att övervaka och kontrollera test * Lite användarmedverkan * m.m.
17
New cards
Vad innefattar V-modellen?
Se bild.
18
New cards
Det finns **fyra grundläggande testnivåer**, vilka?
Att lära sig systemet, lära sig av tidigare projekt, kollegor och andra projektmedlemmar.
\ Handlar om lärande och erfarenhet.
21
New cards
Vilka framgångsfaktorer finns det inom testning?
1. Påbörja test tidigt 2. Testa under hela utvecklingsprocessen (hitta fel tidigt, begränsa kostnader för fel) 3. Skapa struktur i testarbetet 4. Arbeta metodiskt (för att kvalitetssäkra systemet)
22
New cards
Det finns olika “standardiserade“ **utvecklingsmetoder**, vilka?
* Vattenfall (sekventiell) * RUP (Rational Unified Process) en iterativ-inkrementiell process * XP (Extreme programmering) en agil process * m.m.
\
23
New cards
Vad är det som är typiskt med vattenfallsmodellen?
Den är **sekventiell**, och man kan **inte gå tillbaka** i processen. Kravbilden blir **aldrig komplett**.
24
New cards
Vad är testdisciplinen för RUP?
Det är en **iterativ** process, **skalbar** och går att **skräddarsy**, skapt för **flexibilitet** och är en **riskbaserad** process.
25
New cards
Vad är extreme programming?
* **Medvetet** och **disciplinerat** utvecklingsätt. * Understrycker **kundnöjdhet** (Leverera vid behov, svara på ändrade krav). * Betonar **teamarbete** (kommunikation, enkelhet, feedback och respekt). * Hålla saker **enkelt**.
26
New cards
Hur bidrar extreme programming till att förbättra programutvecklingsprojektet?
Testning av programvaran som utförs av en QA-analytiker, det utförs för att upptäcka buggar i programvaran under utveckling.
28
New cards
Vad är automatiseringstest?
Testare skriver kod, för att automatisera testutförandet.
\ I automatiserad mjukvarjutestning skriver kod/textskript för att automatisera testutförandet. Testarna använder lämpliga automatiseringsverktyg för att utveckla textskript och validera programvara.
\ Målet är att slutföra testutförandet på mindre tid.
29
New cards
Vad är User Stories?
Små meningar som beskriver krav.
30
New cards
Vad menas med agilt test?
* Testa tidigt * Hantera ändrade krav * Hantera “tunna“ krav * Test ofta * Testa snabbt * Bugg-kvalitet * Engagera hela teamet * Enhetstest
31
New cards
Vad illustrerar V-modellen?
* Hur **kravhantering** och **test** hänger ihop med **systemutveckling**.
\ * Går att tillämpa på både små och stora projekt * Går att tillämpa på både nyutveckling och i förvaltning * Hanteras normalt som både sekventiell och iterativ samtidigt
32
New cards
Vad är de två största problemområderna inom kravhanteringsprocessen?
Kravspecificieringen och hanteringen av kundkrav.
33
New cards
Var kommer felen ifrån inom systemutveckling?
* Kravrelaterade på 56%. * Designrelaterande 27% * Övriga fel 10% * Kodrelaterande 7%
Att skapa struktur som är lätt att överblicka och förvalta. Pågår kontinuerligt.
39
New cards
Vad är nyttan med att prioritera krav?
* Fokusera på det viktiga * Hitta höga och låga prioriterade krav * Rätt krav i rätt ordning * Spara tid och pengar
40
New cards
Vad bör dokumentationen av krav innehålla?
* Funktionella och icke-funktionella krav * Gränssnitt mot andra system * Krav på användargränssnitt * Designrestriktioner
41
New cards
Vad är problemet med för lite dokumentation?
Finns osäkerhet om vad som ska levereras.
42
New cards
Vad är problemet med för mycket dokumentation?
Svårt att förvalta och svårt att upptäcka luckor.
43
New cards
Vilka tre områden finns om att förvalta krav?
1. Konfigurationshantering 2. Förändringshantering 3. Påverkansanalys vid förändringar
44
New cards
Vad är spårbarhet?
* En teknik som ger ett samband mellan olika nivåer av krav i ett IT-system. * Tekniken hjälper till att fastställa ursprunget för varje krav. * Kontrollera att IT-systemet bara gör det som begärdes.
45
New cards
Hur går tidig testdesign till?
1. Testarna deltar i krav diskussioner 2. Testarna deltar när kraven skrivs 3. Testare deltar vid granskning av kraven 4. Testare planerar och skriver testerna tidigt, helst parallellt med kraven 5. Krav och test i samma verktyg
* För att kunna se konsekvenser vid förändring och visa om det finns testfall för samtliga krav. * Kan visa om det finns testfall för samtliga krav
48
New cards
Vilka steg följer en övergripande testprocess?
Planering, Genomförande, Uppföljning
49
New cards
Vad är syftet med en testprocess?
Processer används som stöd och riktlinjer
Perocesser kan ge ett enhetligt arbetsätt
En bra testprocess är “tillförlig“ och “sparar“ tid/arbete när de, väl är etablerade.
50
New cards
Vilka framgångsfaktorer finns för att lyckas med gransking och granskningsmöten?
* Grundläggande kontroller av dokument * Rätt information till deltagarna i god tid inför mötet * Välj rätt granskare * Använd checklistor * Undvik långa diskussioner * Håll start- och slutdatum * Ledning behöver ge stöd för granskning * Vilja att förbättra granskningsprocessen
51
New cards
Vad är det som skiljer en inspektion från en genomgång?
* Start- och slutkriterier används * Formella mötesroller används * Mätetal används * Mötet leds av en utbildad moderator som inte är samma person som författaren * Deltagarna genomför noggranna förberedelser inför granskningsmötet * Mötet protokollförs med en lista över funna avvikelser
52
New cards
När skall man använda informell respektive formell granskning?
Informell granskning (billigast):
Används vid tidsbrist
* Om dokumentet är mindre viktigt * Kan användas som förgranskning till en mer formell granskning
\ Formell granskning:
* Följer en dokumenterad granskningsprocess * Beskriver att det ska finnas möte, formella roller krav på förberedelser samt mål
* Hitta fel utan att exekvera programmet. * Sker under hela projektet * Förebygga buggar * Billig
58
New cards
Vad betyder och när sker dynamisk testning?
* Exekvera programmet för att hitta fel * Sker i sista delen av projektet * Hitta och fixa buggar * dyr
59
New cards
Hur går ett agilt arbetssätt till?
1. Ett krav granskas och analyseras 2. Testfall skrivs 3. Testfallet granskas för att se om det ger upphov till nytt testdata 4. Nytt eller befintligt testdata läggs in i testsystemet 5. Testfallet utförs 6. Eventuella fel rapporteras 7. Nästa krav
60
New cards
Vad ska man tänka på när man skriver en tidig testdesign?
Skriv kraven i form av användarberättelser
Som en vill jag
61
New cards
När är kravinsamling färdig?
En kravinsamling blir aldrig färdig.
\ * Det finns alltid flera åsikter * Nya möjliga funktioner * Det går aldrig att fullständigt specialisera en produkt
62
New cards
Hur hanterar man förändringar?
Konfigurationshantering
* Alla inblandade måste veta vilka krav som är aktuella.
\ Förändringshantering
* Rutiner för då kraven ändras.
\ Påverkansanalys vid förändringar
* Spårbarhetsmatris.
\ Sker under hela utvecklingsprocessen
63
New cards
Vad innebär med kvalitetssäkra krav?
En ständigt fortlöpande aktivitet som syftar till att säkerställa att de dokumenterade kraven dels beskriver rätt egenskaper och dels beskriver dem på rätt sätt.
64
New cards
Ge exempel på kravdokumentation och vad dem bör innehålla.
Vad innebär interativ-inkrementell utvecklingsmodell?
Process, med upprättande av krav, konstruktion, byggande och testning av ett system, som sker i många små utvecklingssteg.
69
New cards
Vad går agila utvecklingsmodellen ut på?
Bygger på att göra kunden nöjd med det som utvecklas genom ett mycket nära samarbete under hela utvecklingstiden med täta och regelbundna möten mellan utvecklare och beställare.
70
New cards
Vad mer kan trattas in i en programvara förutom den faktiska koden?
* Plan för testarna som ska genomföras * Där testledaren är ansvarig * Fokus i planen är “vad“ * Man tänker igenom vad som ska göras och hur. * Är ett kommunikationshjälpmedel för alla intressanter * Planering och skapande av testplan genomförs bäst med ett iterativt arbetssätt!!!
* Vilken sannolikhet är det att risken inträffar? * Vad får det för konsekvenser om risken inträffar? * Vad kan vi göra för att undvika , möta, reducera eller acceptera risken?
79
New cards
Vad innebär begreppet risk?
* Sannolikheten att något negativt påverkar verksamhetens eller projektets möjlighet att nå sina mål. * Kan identifieras och hanteras.
80
New cards
Vad innebär begreppet osäkerhet?
Man vet för lite om projektet för att kunna se riskerna.
81
New cards
Vilka aktiviteter finns under testplaneringen?
1. Identifiera avgränsning, risker & mål för test 2. Planera roller, ansvar & resurssäkring 3. Schemalägg 4. Fastställ mätetal, start/stop kriterier, testnivåer 5. Integrera testaktiviteter i utvecklingslivcykeln
82
New cards
Varför planerar man?
För att skapa förståelse för uppgifter
För att skapa överblick över arbetet
För att skapa underlag för att:
* Avsätta resurser * Fördela roller & ansvar i arbetet * Kunna följa upp och ta konsekvenserna av förändrade förutsättningr
* Verksamhetens testpolicy * Testningens omfattning * Målsättning * Risker * Begränsningar * Hur kritisk produkten är * Testbarhet * Tillgång till resurser
85
New cards
Vad är syftet med testplanering?
Syftet är att få en plan som vi kan följa under genomförandet.
\ Indata = kravspecifikation m.m.
Utdata = testplaner
\ Planen kan beroende på omfattning delas upp i flera delar.
86
New cards
Vad är bra att tänka på vid användning av en testmiljö?
* Det är oftast bra/nödvändigt att ha en separat testmiljö. * Testmiljön måste spegla produktionsmiljön för att vara tillförlitlig. * Deploy från utveckling till test, från test till produktion.
87
New cards
Vad används testdata till, och vad är viktigt att tänka på?
* Används för integrationstest, systemtest, acceptanstest och komponenttest. * Forma en process och hantering för testdata, som är möjlig att använda och återställa. * Behöver ha tillräckligt med testdata. * Urval av testdata för aktuella tester. * Testdata bör vara “produktionslik“.