Testspecifikation - M0hammed-1brahim/frugalCompany GitHub Wiki
Syfte:
Målet med testspecifikationer är att kunna säkerställa allt fungerar som planerat ur kravspecifikationer och projektvisionen. Det gör vi genom olika testmetoder som finns ur kursboken.
Testmetoder:
- Manuella enhetstester
- Manuella integrationstester
- Automatiserade tester, Jest
- Automatiserade tester, PHPunit
Testmetod | Beskrivning |
---|---|
PHPUnit (automatiserad) | Backend-cartlogik (KV1.1, KV1.3, KV1.4, KV1.5) |
Jest (automatiserad) | Frontend UI interaktion (KV1.2) |
Manuell test | UI klick, interaktion och beteende (KV1.1–KV1.7) |
Testspecifikation:
ID | Namn | Typ | Testmetod | Teststatus | Kommentar |
---|---|---|---|---|---|
KV1.1 | Skicka produkt till kundvagn | Funktionell | ✅ PHPUnit, ✅ Manual | ✅ | Verifierad via PHPUnit: testAddProductFromDatabase . Fungerar även manuellt via UI. |
KV1.2 | Visa kundvagn | Funktionell | ✅ Jest, ✅ Manual | ✅ | Test i Jest att cart öppnas. Även manuellt testat genom klick. |
KV1.3 | Justera produktmängd | Funktionell | ✅ PHPUnit, ✅ Manual | ✅ | Verifierad i testUpdateQuantity och justering med +/- i UI. |
KV1.4 | Ta bort produkt från kundvagn | Funktionell | ✅ PHPUnit, ✅ Manual | ✅ | Verifierad i testRemoveProduct samt genom minus till 0 och trash-ikon i UI. |
KV1.5 | Visa totalpris | Funktionell | ✅ PHPUnit, ✅ Manual | ✅ | Automatisk summering testad i testUpdateQuantity och manuellt i UI. |
KV1.6 | Visa produktalternativ | Funktionell | ❌ Ej implementerad | ❌ | Ingen test — inte implementerat i kod. |
KV1.7 | Öppnar kundvagnen när selekterar | Funktionell | ✅ Manual, ❌ Jest | ✅ | Bekräftat manuellt. Kunde läggas till i Jest med simulering av .add-cart klick. |
User Stories / Testfall:
KV1.1 – Skicka produkt till kundvagn
Krav: KV1.1 Testmetod: PHPUnit (testAddProductFromDatabase), Manuell Förkrav: Sidan är öppen i webbläsaren (t.ex. gpu.php). Teststeg:
Klicka på en "Lägg till i kundvagn"-knapp på valfri produkt.
Kontrollera att produkten visas i listan.
Förväntat resultat:
Produkten läggs till i kundvagnen med kvantitet = 1.
Totalsumman uppdateras korrekt.
KV1.2 – Visa kundvagn
Krav: KV1.2 Testmetod: Jest, Manuell Förkrav: Produkten finns i kundvagnen. Teststeg:
Klicka på kundvagnsikonen i toppen.
Observera om kundvagnen öppnas korrekt.
Förväntat resultat:
Kundvagnen visas med rätt innehåll.
KV1.3 – Justera produktmängd
Krav: KV1.3 Testmetod: PHPUnit (testUpdateQuantity), Manuell Förkrav: En produkt är tillagd i kundvagnen. Teststeg:
Klicka på "+" och "–" knapparna bredvid produkten.
Justera kvantitet manuellt i input-fält.
Förväntat resultat:
Kvantitet justeras korrekt.
Priset och totalsumman uppdateras.
KV1.4 – Ta bort produkt från kundvagn
Krav: KV1.4 Testmetod: PHPUnit (testRemoveProduct), Manuell Förkrav: En produkt finns i kundvagnen. Teststeg:
Klicka på "–" tills produkt tas bort, eller klicka på papperskorgsikonen.
Bekräfta att produkten tas bort.
Förväntat resultat:
Produkten försvinner från listan.
Totalsumman minskar.
KV1.5 – Visa totalpris
Krav: KV1.5 Testmetod: PHPUnit, Manuell Förkrav: Flera produkter finns i kundvagnen. Teststeg:
Lägg till flera olika produkter.
Observera summan längst ner i kundvagnen.
Förväntat resultat:
Summan stämmer överens med produkterna och kvantiteterna.
KV1.6 – Visa produktalternativ
Krav: KV1.6 Testmetod: Ej implementerad Teststeg:
Inget test kan genomföras då funktionen saknas.
Förväntat resultat:
(Ej relevant – funktion saknas)
KV1.7 – Öppnar kundvagnen vid tillägg
Krav: KV1.7 Testmetod: Manuell Förkrav: En produkt läggs till från produkt-sidan. Teststeg:
Klicka på valfri produkt.
Kontrollera att kundvagnen öppnas automatiskt.
Förväntat resultat:
Kundvagnen öppnas automatiskt varje gång en produkt läggs till.
CI/CD Pipeline resultat:
Planerade tester:
ID | Krav | Typ | Förslag till testmetod |
---|---|---|---|
KV1.6 | Produktalternativ | Funktionell | Lägg till PHP & JS stöd + UI test manuellt |
KV1.8 | Produktdetaljer (pop-up sida) | Funktionell | UI klick-test via Jest |