Testplan OEAPI 6.0 model
1. Doel
Vaststellen dat de implementatie:
- de OEAPI 6.0 resources en relaties correct aanbiedt;
- queryparameters, filtering, paging en veldselectie correct afhandelt;
- identifiers, referenties en expand-relaties consistent verwerkt;
- association- en offering-logica correct ondersteunt;
- foutafhandeling en autorisatie conform specificatie werken;
- geen deprecated paden onterecht als actief kernpad gebruikt.
2. Scope
In scope:
- basisobjecten: programmes, courses, learning components, test components;
- offering-objecten: programme offerings, course offerings, learning component offerings, test component offerings;
- association-objecten;
- ondersteunende objecten: persons, organisations, groups, memberships, academic sessions, buildings, rooms, service metadata, documents, learning outcomes.
Out of scope:
- performance/load;
- UI-weergave;
- brondata-inhoudelijke validiteit buiten API-contract;
- instelling-specifieke security-implementatie, behalve waar endpoints authenticatie/autorisatie vereisen. De specificatie definieert namelijk geen globale security en laat dit per operatie/documentatie expliciteren.
3. Testaanpak
Voer de tests op drie niveaus uit:
- Contracttests: klopt request/response met OpenAPI-schema.
- Functionele API-tests: werkt filtering, paging, expand, foutafhandeling.
- Integratie-/modeltests: kloppen relaties tussen objecten en referentiële integriteit.
4. Testomgeving
Benodigd:
- een OEAPI 6.0 implementatie;
- testdata met minimaal:
- 2 programmes
- 3 courses
- 4 learning components
- 2 test components
- meerdere offerings per object
- minimaal 3 persons
- associations voor student en docent
- 2 organisations
- 2 groups + memberships
- 1 building met meerdere rooms
- meerdere academic sessions
5. Entry- en exitcriteria
Entry:
- API is bereikbaar.
- OpenAPI-definitie en autorisatiegegevens zijn beschikbaar.
- Testdata is geladen.
Exit:
- alle kritieke testcases geslaagd;
- geen openstaande blocker op resource-opvraag, filtering, identifiers, associations of offering-relaties;
- foutcodes en autorisatiegedrag reproduceerbaar juist.
Prioritering
Kritiek
- RES-01 t/m RES-08
- OFF-01 t/m OFF-10
- ASS-01 t/m ASS-12
- QRY-01 t/m QRY-08
- SEC-02 t/m SEC-05
- ERR-01 t/m ERR-04
Hoog
- GEN-02 t/m GEN-04
- EXP-01 t/m EXP-05
- DAT-01 t/m DAT-07
- SUP-01 t/m SUP-07
Middel
- SUP-08 t/m SUP-10
- DEP-01 t/m DEP-04
- ATT-01 t/m ATT-04
Acceptatiecriteria
Een implementatie is acceptabel wanneer:
- alle kernresources opvraagbaar zijn;
- offering- en association-relaties inhoudelijk kloppen;
- paging/filtering/fields/expand correct werken;
- foutcodes voorspelbaar en consistent zijn;
- deprecated paden niet als primaire route nodig zijn;
- metadata over supported operations/expands overeenkomt met feitelijk gedrag.
Mapping testplan → Postman folders
| Testplan onderdeel | Postman folder |
|---|---|
| Algemene contracttests | 01 Service Metadata |
| Basisresource-tests | 02 Core Resources |
| Offering-modeltests | 03 Offerings |
| Association-tests | 04 Associations |
| Attempt-tests | 05 Attempts |
| Query/filter/paging | 06 Query and Paging |
| Expand-tests | 07 Expands |
| Supporting domains | 08 Supporting Domains |
| Security | 09 Security |
| Error handling | 10 Error Handling |
| Deprecated | 11 Deprecated |
Praktisch advies
Voor deze API wordt aanbevolen in Postman te werken met:
- collection-level auth
- folder-level standaard tests
- environment variables voor id’s
- één smoke suite
- één volledige regressiesuite
- één negative test suite
Dit houdt het onderhoudbaar wanneer OEAPI 6.x minor updates krijgt.