Skip to main content

UC-DOC-OEF-008 - Oefening testen als docent

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-OEF-008
NaamOefening testen als docent
DomeinDocent
SubdomeinOefeningen configureren en testen
Primaire actorDocent
Secundaire actor(en)Systeem
RolcontextDocentcontext met bewerkrechten binnen het geselecteerde niveau
Betrokken schermenDocent - Oefeningdetail, teststart, oefenscherm in testmodus, tijdelijk resultaat
Gerelateerde usecasesUC-DOC-OEF-001, UC-DOC-OEF-004, UC-DOC-OEF-005, UC-DOC-OEF-006, UC-DOC-OEF-009, UC-LLN-OEF-003, UC-LLN-OEF-004, UC-LLN-OEF-008
Primaire entiteitenExercises, ExerciseModules, ExerciseRuns, ExerciseRunProgress
Secundaire entiteiten / eventsIsTestRun, ModuleConfigurationJsonBase64, module-specifieke vraagpayload, tijdelijke testvoortgang, TickerQ-opruiming
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een docent een concrete oefening test vanuit de docentcontext. De test gebruikt zoveel mogelijk dezelfde generieke run- en modulemechanismen als een leerlingrun, maar wordt expliciet als test gemarkeerd en levert geen permanente leerlinggeschiedenis of docentstatistiek op.

Het doel van de testflow is dat de docent kan controleren of naam, icoon, moduleconfiguratie, vraaggeneratie, antwoordcontrole en feedback werken voordat de oefening voor leerlingen wordt geactiveerd of nadat een bestaande oefening is aangepast.

Testruns mogen tijdelijk in de normale technische runstructuur bestaan zolang de test actief is. Zij zijn functioneel geen leerlingresultaten en worden na afronding, verlaten of scheduler-opruiming verwijderd via UC-DOC-OEF-009.

3. Scope

3.1 Binnen scope

  • Starten van een test vanuit een concrete oefening die de docent mag beheren.
  • Gebruiken van de generieke oefengeneratie met IsTestRun = true.
  • Toepassen van de actuele oefeningconfiguratie en technische module.
  • Doorlopen van vragen in testmodus.
  • Opslaan van tijdelijke testvoortgang zolang de test actief is.
  • Tonen van tijdelijk testresultaat zonder permanente geschiedenisregistratie.
  • Voorkomen dat testresultaten meetellen in leerlingstatistiek, geschiedenis, populaire categorieën of totaalgebruik.
  • Aanroepen of markeren van opruiming voor testdata.

3.2 Buiten scope

  • Leerlingruns starten of afronden.
  • Een oefening configureren of bewerken.
  • Een oefening activeren of in onderhoud zetten.
  • Testresultaten bewaren als permanente geschiedenis.
  • PDF-export van testruns aanbieden als normale resultaatgeschiedenis.
  • Live meekijken op een eigen test als leerlingrun modelleren.
  • TestDocent-rolbeheer uitvoeren.
  • Centrale modulebeheerflows uitvoeren.
  • Modulemigratie of technische moduleversies beheren.
  • Leerlingautorisaties toekennen of intrekken.
  • Relatie-uitnodigingen, docent-leerlingrelaties of docent-docentrelaties aanmaken.
  • Leerlingresultaten aanpassen of verwijderen.
  • Systeemnotificaties beheren of tonen.
  • Beheerderondersteuning of centrale contentbeheerflows uitvoeren.

4. Pre-condities

IDVoorwaarde
PRE-001De docent is ingelogd.
PRE-002De gebruiker heeft een actieve docentrol.
PRE-003Er is een geldige docentcontext bepaald.
PRE-004De docent heeft toegang tot de concrete oefening als eigenaar of actieve collaborator.
PRE-005De oefening heeft een geldige technische moduleverwijzing.
PRE-006De technische module kan vragen genereren voor de actuele configuratie.
PRE-007De testactie is beschikbaar volgens de status- en modulebeschikbaarheidsregels.
PRE-008Het gevraagde aantal testvragen ligt binnen de toegestane invoergrenzen.
PRE-009Er is geen vereiste dat de oefening al actief is voor leerlingen.

5. Post-condities

IDResultaat
POST-001Er is een tijdelijke test-run aangemaakt met IsTestRun = true wanneer de test start.
POST-002De docent heeft de oefening in testmodus kunnen doorlopen wanneer generatie en validatie slagen.
POST-003Tijdelijke testvoortgang is alleen gebruikt voor de actieve testcontext.
POST-004Testresultaten zijn niet opgenomen in leerlinggeschiedenis, frontpagestatistieken of normale oefenstatistieken.
POST-005Na afronding of verlaten is testdata direct opgeruimd of beschikbaar voor UC-DOC-OEF-009.
POST-006Bij fout of annulering ontstaat geen permanente run of resultaatregel.
POST-007De oefeningconfiguratie zelf is door testen niet gewijzigd.

6. Trigger

De docent opent een oefeningdetail of configuratiecontext en kiest de actie om de oefening te testen.

De docent voert eventueel een aantal testvragen in en start de testmodus.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentOefeningdetailKiest Test oefeningFrontend start testflowExerciseId
2SysteemBackendControleert docentcontext en bewerkrechtenAlleen eigenaar of collaborator mag testenUserRoles, LevelCollaborators
3SysteemBackendControleert oefening en moduleOefeningconfiguratie moet testbaar zijnExercises, ExerciseModules
4DocentTeststartVoert aantal testvragen inAantal wordt server-side gevalideerdRequestedAmount
5SysteemBackendStart generatiecontextGenerateModuleExercisesContext krijgt IsTestRun = trueIsTestRun
6SysteemModule-interfaceGenereert testvragenModule gebruikt actuele configuratieModuleConfigurationJsonBase64
7SysteemDatabaseMaakt tijdelijke run aanExerciseRuns-record ontstaat als testrunExerciseRuns.IsTestRun = true
8DocentOefenscherm testmodusBeantwoordt vragenSysteem verwerkt voortgang tijdelijkExerciseRunProgress
9SysteemBackendSlaat testvoortgang opVoortgang is alleen voor testcontext beschikbaarTijdelijke voortgang
10DocentLaatste vraagRondt test afSysteem berekent tijdelijk resultaatTestresultaat
11SysteemResultaat testmodusToont tijdelijke uitkomstGeen normale geschiedenisregel ontstaatGeen geschiedenis
12SysteemOpruimtriggerMarkeert of verwijdert testdataUC-DOC-OEF-009 kan resterende data opruimenIsTestRun = true

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Docent heeft geen beheerrechten op de oefeningBlokkeer testactieToegangafhandelingGeen
ALT-0023Oefeningconfiguratie is ongeldig of incompleetBlokkeer teststart en toon configuratiefoutInline validatieGeen
ALT-0033Technische module is niet beschikbaarBlokkeer teststart en log technischGenerieke foutafhandelingGeen
ALT-0044Aantal testvragen ongeldigToon veldvalidatie en start nietInline validatieGeen
ALT-0056Modulegeneratie faaltBreek teststart af; geen bruikbare test-runGenerieke foutafhandelingRollback of cleanup
ALT-0068Docent verlaat test vroegtijdigRun blijft tijdelijk en wordt direct of gepland opgeruimdGeen popupTestrun blijft niet permanent
ALT-0079Voortgang opslaan faaltTest wordt veilig afgebroken; geen permanente resultatenGenerieke foutafhandelingTijdelijke data opruimen
ALT-00811Tijdelijk resultaat kan niet worden getoondLog fout en keer terug naar oefeningdetailGenerieke foutafhandelingGeen permanente mutatie
ALT-00912Directe opruiming faaltScheduler pakt testrun op via UC-DOC-OEF-009Technische loggingGeen normale geschiedenis

9. Business rules

IDRegel
BR-001Een docenttest gebruikt IsTestRun = true.
BR-002Een testrun is geen leerlingrun en mag niet in leerlinggeschiedenis verschijnen.
BR-003Een testrun telt niet mee voor frontpageblokken, populaire categorieën, recent geoefend of normale statistieken.
BR-004Een testrun mag tijdelijk dezelfde technische runstructuur gebruiken als een leerlingrun.
BR-005De technische module gebruikt de actuele oefeningconfiguratie bij het genereren van testvragen.
BR-006Testen wijzigt de oefeningconfiguratie niet.
BR-007Testen activeert de oefening niet voor leerlingen.
BR-008Testdata wordt na afronding, verlaten of geplande opruiming verwijderd uit de functionele runopslag.
BR-009Een docent mag alleen testen binnen een oefeningcontext die hij of zij mag beheren.
BR-010TestDocent-zichtbaarheid van technische modules blijft een beheer- en modulebeschikbaarheidsregel en wordt hier niet beheerd.
BR-011Fouten tijdens testgeneratie of testvoortgang leveren geen permanente domeinresultaten op.
BR-012Tijdelijke testresultaten mogen worden getoond aan de docent, maar zijn geen historische resultaten.

10. Datavalidatie

Veld / objectValidatie
ExerciseIdMoet verwijzen naar een oefening die de docent mag beheren.
ExerciseModuleIdMoet verwijzen naar een module die voor deze testcontext beschikbaar is.
RequestedAmountMoet binnen toegestane minimum- en maximumgrenzen liggen.
IsTestRunMoet bij docenttest altijd true zijn en server-side worden gezet.
ActorUserIdKomt uit de server-side docentcontext.
ModuleConfigurationJsonBase64Moet voor de module leesbaar en valideerbaar zijn.
ExerciseRunProgressMag alleen gekoppeld zijn aan de tijdelijke test-run.
ResultaatweergaveMoet duidelijk in testcontext blijven en geen normale geschiedenisroute openen.
ClientstateMag niet bepalen dat een run een test-run is; de backend bepaalt dit.
CleanupStatusTestruns moeten herkenbaar blijven voor directe of geplande opruiming zolang zij bestaan.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
2ReadUserRoles / LevelCollaboratorsDocentrechten worden gecontroleerd.
3ReadExercises / ExerciseModulesOefening en modulecontext worden gecontroleerd.
5SetGenerateModuleExercisesContext.IsTestRunTestvlag wordt server-side gezet.
6ExecuteModule-interfaceTestvragen worden gegenereerd.
7CreateExerciseRunsTijdelijke testrun ontstaat met IsTestRun = true.
8Create/UpdateExerciseRunProgressTijdelijke testvoortgang wordt bijgehouden.
10CalculateTestresultaatTijdelijke totalen worden voor de testweergave berekend.
12Delete/MarkExerciseRuns / ExerciseRunProgressTestdata wordt direct opgeruimd of herkenbaar gehouden voor geplande opruiming.
12EventTeacherTestExerciseCompletedTechnisch event voor testafronding en cleanupkoppeling.

12. Geen datamutaties

EntiteitReden
ExercisesTesten wijzigt naam, icoon, configuratie of status van de oefening niet.
ExerciseHistoryEr wordt geen oefeningbeheerhistorie geschreven door alleen testen.
LeerlinggeschiedenisTestresultaten worden niet als leerlinggeschiedenis vastgelegd.
Frontpage-readmodelsPopulaire categorieën, recent geoefend en leerlingstatistieken tellen testruns niet mee.
LiveViewAuditEen docenttest is geen live-meekijksessie.
StudentAuthorizationsDeze usecase kent geen leerlingtoegang toe en trekt geen leerlingtoegang in.
SystemMessagesDeze usecase maakt geen systeembericht aan.
PrivateMessagesDeze usecase maakt geen privébericht aan.
RelationshipInvitationsRelatievorming blijft buiten scope.
Roles / UserRolesRollen en roltoekenningen worden niet gewijzigd.

13. State diagram

Deze usecase raakt de tijdelijke lifecycle van een testrun. Omdat testruns niet permanent als functionele resultaten gelden, blijft de lifecycle beperkt tot aangemaakt, actief, afgerond of verlaten, en opgeruimd.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

Test starten en afronden

Test verlaten

17. Popupverwijzingen

PopupKeyMomentToelichting
Niet van toepassingDeze usecase gebruikt geen domeinspecifieke popup.Routeguard-, inline validatie- of componentafhandeling volstaat.

18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft dat docenten oefeningen mogen testen zonder permanente leerlingresultaten of geschiedenis.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, oefenmodulecontract, oefenruns en testuitvoering en background jobs beschrijven de technische uitwerking. Beschrijf IsTestRun, tijdelijke voortgang, uitsluiting uit readmodels en koppeling met opruimflow.
Software Requirements SpecificationLeg eisen vast voor teststart, testvlag, niet-meetellen, tijdelijke opslag en opruimen.
Database-informatieControleer ExerciseRuns.IsTestRun en opruimregels voor testruns en voortgang.
OntwerpbronnenBeschrijven business rules, command-register, event-register en usecase-matrices bij.

19. SRS-trace

Deze usecase bevat geen normatieve requirementtekst. De centrale eis en acceptatiecriteria staan in de SRS; onderstaande tabel koppelt de usecase-afleiding alleen aan centrale SRS-*- en AC-*-items.

Usecase-afleidingDektUsecasecontext
REQ-UC-DOC-OEF-008-001SRS-AUTH-001
SRS-LRN-009
SRS-TCH-005
AC-AUTH-001
AC-LRN-009
AC-TCH-005
Een bevoegde docent een oefening kunnen laten testen binnen de docentcontext
REQ-UC-DOC-OEF-008-002SRS-LRN-009
SRS-TCH-005
AC-LRN-009
AC-TCH-005
Een docenttest markeren met IsTestRun = true
REQ-UC-DOC-OEF-008-003SRS-CAT-003
SRS-LRN-009
SRS-TCH-005
AC-CAT-003
AC-LRN-009
AC-TCH-005
De actuele oefeningconfiguratie gebruiken bij testgeneratie
REQ-UC-DOC-OEF-008-004SRS-TCH-005
AC-TCH-005
Testvoortgang alleen tijdelijk opslaan zolang dit nodig is voor de actieve test
REQ-UC-DOC-OEF-008-005SRS-LRN-010
SRS-TCH-004
SRS-NFR-AUD-001
AC-LRN-010
AC-TCH-004
AC-NFR-AUD-001
Testruns niet opnemen in leerlinggeschiedenis of leerlingstatistieken
REQ-UC-DOC-OEF-008-006SRS-RDM-001
SRS-RDM-002
SRS-RDM-003
SRS-RDM-005
SRS-RDM-006
SRS-CAT-001
AC-RDM-001
AC-RDM-002
AC-RDM-003
AC-RDM-005
AC-RDM-006
AC-CAT-001
Testruns niet laten meetellen voor populaire categorieën, recent geoefend of frontpagesamenvattingen
REQ-UC-DOC-OEF-008-007SRS-TCH-005
AC-TCH-005
Testdata na afronding, verlaten of geplande cleanup opruimen
REQ-UC-DOC-OEF-008-008SRS-AUTH-001
SRS-LRN-009
SRS-TCH-005
AC-AUTH-001
AC-LRN-009
AC-TCH-005
Testen blokkeren wanneer de docent de oefening niet mag beheren
REQ-UC-DOC-OEF-008-009SRS-AUTH-001
SRS-TCH-005
SRS-MOD-003
AC-AUTH-001
AC-TCH-005
AC-MOD-003
Testen blokkeren wanneer de technische module of configuratie niet testbaar is
REQ-UC-DOC-OEF-008-010SRS-CAT-003
SRS-LRN-009
SRS-TCH-005
AC-CAT-003
AC-LRN-009
AC-TCH-005
De oefeningconfiguratie of oefeningstatus niet wijzigen door alleen testen