Testscenario’s

Voor alle zes gemaakte routes staat hieronder een scenario. Ik gebruik identifiers uit de lijstresponse, zodat ik bij een detailtest weet welk object ik verwacht. Een request kan meerdere assertions bevatten: 102 assertions betekent dus niet 102 verschillende endpoints.

Deze scenario’s heb ik voor mijn portfolio verder uitgewerkt. In de laatste kolom staat welke resultaten in de screenshots te zien zijn.

IDInvoer en stappenVerwacht resultaatBewijs
TC-01GET /organisations?pageSize=10&pageNumber=1200; items met organisationId, primaryCode, organisationType en nameItems2: 21/21; screenshot organisations.
TC-02GET /organisations/{organisationId} uit TC-01200; hetzelfde id en passende organisatiegegevensItems: 3/9; Items2: 9/9.
TC-03GET /courses?pageSize=10&pageNumber=1&expand=organisation200; paging, courseId, primaryCode, name en organisationItems2: 23/23; screenshot courses.
TC-04GET /courses/{courseId} uit TC-03200; dezelfde courseId en passende inhoudItems2: 12/12.
TC-05GET /programmes?pageSize=10&pageNumber=1&expand=organisation200; paging, programmeId, programmeType, primaryCode en nameItems2: 24/24; screenshot programmes.
TC-06GET /programmes/{programmeId} uit TC-05200; hetzelfde programmeId en passende inhoudItems2: 13/13; runnerlabel noemt programme/{id}.
TC-07Beveiligde route zonder Bearer-token401; geen onderwijsdataGeen los resultaat beschikbaar.
TC-08Beveiligde route met geldig token zonder benodigde rechten403; geen onderwijsdataGeen los resultaat beschikbaar.
TC-09Detailrequest met geldig UUID dat niet in de bron bestaat404; geen leeg succesobjectGeen los resultaat beschikbaar; code geeft reden om dit te controleren.
TC-10Lijstrequest met pageSize=1400: 1 staat niet in de gebruikte PageSize-enumGeen los resultaat beschikbaar.
TC-11Iedere lijst met pageSize=10; eerste, laatste en volgende paginaMaximaal 10 items; juiste vlaggen en totalPages; laatste pagina mag minder items hebbenEerste pagina zichtbaar; overige grenzen niet vastgelegd.
TC-12Per resource JSON en verplichte velden/type/inhoud controlerenBijbehorend id; geldige primaryCode; taalwaarden in nameAssertions zichtbaar; volledige schema-check niet vastgelegd.
TC-13Courses/programmes met primaryCode van bekend productAlleen passend product van het juiste typeGeen los resultaat beschikbaar.
TC-14Zelfde productrequest met en zonder expand=organisationBij expand juiste geneste organisatie; relatie blijft gelijkMet expand zichtbaar; vergelijking niet vastgelegd.
TC-15Dezelfde lijst- en detailrequests twee keer uitvoerenIdentifier blijft voor hetzelfde bronobject gelijkGeen los resultaat beschikbaar.
TC-16Verlopen token gebruiken401; geen onderwijsdataGeen los resultaat beschikbaar.
TC-17pageNumber=0, -1 en tekst; detail-id met ongeldig formaatGecontroleerde clientfout, geen 500 of onbedoelde queryVoorgestelde controle; niet vastgelegd.
TC-18Testdata met ontbrekende beschrijving of korte SKUAfgesproken fout/lege waarde; geen ongecontroleerde exceptionVoorgestelde controle; niet vastgelegd.

De bestaande testtekst gebruikte een algemeen veld id en verwachtte bij pageSize=1 precies één item. Dat past niet bij de aangetroffen DTO’s en PageSize-enum. Daarom gebruik ik nu courseId, programmeId en organisationId, en is pageSize=1 een negatieve test.

Testplan · Testrapport