Logo Light
Published on

Fitnotes (3. díl) - testovací scénáře pro Prisma model

Testování Prisma modelu Workout pomocí Jestu

V tomto článku navážu na nastavení Jestu v Next.js aplikaci a vydefinuju testy pro model Workout. Cílem je otestovat validitu operací nad databází i chování aplikace v hraničních případech a typických skupinách vstupů (třídy ekvivalence).


1. Základní CRUD testy

  • Vytvoření validního záznamu
  • Vytvoření neplatného záznamu
  • Platný update záznamu
  • Neplatný update záznamu
  • Mazání záznamu

2. Filtrování a řazení

Filtrování podle data

  • Získání všech záznamů pro daný den
    • dnešní datum
    • 1. 1. 1970
    • 31. 12. 1969
    • budoucí datum

Filtrování podle názvu cviku

  • Vyhledávání podle jména cviku
    • stejná/větší/menší písmena
    • mezery v názvu cviku
    • bez diakritiky

Řazení podle data

  • vzestupně
  • sestupně

3. Agregační testy

  • nejvyšší zvednutá váha pro daný cvik

4. Kalendář

  • seznam dní, kdy byl trénink

5. Hromadné operace

  • vložení více záznamů najednou (simulace importu csv souboru)

  • zpracování částečně chybného vstupu:

    • např. při importu 10 řádků je 1 chybný – 9 projde

Pro návrh testů jsem využil principy:

  • Equivalence Partitioning (Třídy ekvivalence):
    Testuju hodnoty z platných i neplatných vstupních skupin – např. validní vs. chybějící pole, rozumné rozsahy vs. extrémní hodnoty.

  • Boundary Value Analysis (Analýza hraničních hodnot):
    Testuji hodnoty blízko hranic – např. 1. 1. 1970, 31. 12. 1969, maximální počet opakování, nulová váha apod.

Co bude dál?

V příštím dílu článku se podíváme na to, jak testy implementovat.