Testidéer
(2022-08-23)Det kom en fråga på Teams om vad som var värt att testa för en sajt. Det efterfrågades en checklista för front-end och back-end.
Relevanta länkar som kan vara till hjälp
Exploratory test session follow-up chart | https://damberg.one/alster/work/sbt.html |
Checklista för teststrategi | http://thetesteye.com/posters/TestStrategyChecklist.pdf |
Kvalitetsegenskaper för programvara | http://thetesteye.com/posters/TheTestEye_KvalitetsegenskaperForProgramvara.pdf |
QA-aktiviteter per kvalitetsegenskap | https://damberg.one/alster/work/quality_vs_qa/index.html |
Generella punkter
- Hör med helpdesk/support vad som brukar gå fel med systemet och dubbelkolla så att det inte är förhöjd risk med det
- Kontrollera så att kodpaketen är signerade och genomkollade för voulnerabilities i dependencies och licenser
- Hör med arkitekt och utvecklare vad de har dåligt samvete över eller är oroliga för. De brukar vara öppenhjärtiga.
- Glöm inte att kolla dokumentationen för systemet. Ouppdaterad information/dokumentation har ett negativt värde.
Front-end (scenario: Publik webb)
- WCAG-koll: Prova att skala om webbläsarfönstret, zooma på sidan, kolla att man kan använda alla fält med bara tangentbord (TAB-tangenten), växla portrait/landscape-läge, prova med olika handikappanpassningar, kontrollera att det finns aria-taggar på relevanta element, prova gärna i de vanligaste skärmläsarna och i flera webbläsare),
- prova att köra HTML-koden i W3C validator.
- Kontrollera att rätt data finns på rätt fält (om man inte har ett MVC-ramverk man litar på i botten) genom att ändra något i databasen och se att det uppdaterar.
- Gör uppdateringar i GUI och kontrollera att de persisteras (finns kvar) när man startat om webbläsaren.
- Om det är relevant: Prova att stänga av Javascript i inställningar
- Kontrollera sajten från mobil (om relevant)
- Funktionalitetskontroller av enabled/disabled-status på element för att guida i flöden - och om de inte är satta kan man kontrollera ytterligare fellägen som kan uppstå då.
- Prova färgvalen i en färgblindhetssajt. Eventuella betydelsebärande färger bör även ha förklarande text vid hover eller liknande.
- Dubbelkolla språk och stavningar i hela GUI - inklusive särskrivningar, fackuttryck och dialektalt ambivalenta uttryck som t.ex. "middag" (som beskriver olika mål beroende på var i landet man befinner sig).
- Kontrollera konsekvens för användbarhet: Har man samma symboler och arbetssätt i hela front-end eller skiljer det sig åt?
- Dubbelkolla eventuella hjälptexter så att de uppdaterats med applikationen.
- Prova med refresh att sidan laddar om som förväntat.
- Kontrollera att certifikatet är giltigt och att HTTPS används på hela sajten.
- Kontrollera webbläsarloggen så att inte någon känslig information skrivs till loggen (det händer att utvecklare skriver ut debug-info dit)
- Kontrollera att tredjepartstjänster som används är tillrådliga med juridik (typ Google Analytics som har satt många organisationer i blåsväder)
- Om det finns mnemoniker (streck under vissa bokstäver i GUI som används som tangentbordskommandon): Kontrollera så att de stämmer.
Back-end
- Kontrollera loggarna på servern och se så det inte verkar vara något knas som pågår och skrivs dit
- Undersök API-uppfyllnad mot OpenAPI-specifikation (kanske speciellt hanteringen av non-mandatory fields samt entitetslistor)
- Dubbelkolla att inskickat data sparas rätt i databasen (rätt plats, på rätt format och komplett)
- Prova säkerheten genom att försöka använda API:er oinloggad
- Kolla så att sessionslängden är rimlig genom att prova att återsända samma data med samma parametrar efter olika lång tidsrymd
- Prova att sända många samtidiga requests och se om systemet blir saturerat (ha performance monitor uppe)
- Prova att fylla systemets hårddisk och se hur systemet agerar
- Prova att stänga ner databas/köhanterare osv för att se så att felmeddelanden är begripliga nog för snabb felsökning och åtgärd
- Hör med Operations vad som brukar gå fel med systemet och kolla så att det inte verkar vara förhöjd risk för detta
- Gå igenom eventuella inställningsmöjligheter i systemet och kolla så att de är samma som förväntat och har en bra distributionsmekanism så att man vet att det är samma inställningar i produktion som i testmiljö
- Kolla inställningar för integrationer och för start-up av systemet (inklusive eventuell middleware)