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:

Pipeline picture

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