Exam and testing platform development
An exam platform is specialized software with strict honesty (proctoring), reliability (can't lose results), and security (prevent cheating) requirements. Unlike typical LMS quizzes, exams have: time limits, strict environment control, auto-grading with immediate result or manual review.
Exam types
| Type | Characteristics |
|---|---|
| Auto-graded | Tests, multiple choice, short answers |
| Manual review | Essays, coding tasks, case studies |
| Adaptive (CAT) | Difficulty adjusts based on answers |
| Proctored | With observer (online or in-person) |
| Open-book | Can use materials |
Anti-cheat measures
Kiosk mode: fullscreen, block tab switching, disable copy. Via document.onfullscreenchange + visibilitychange detection:
document.addEventListener('visibilitychange', () => {
if (document.hidden && examInProgress) {
recordViolation('tab_switch', { timestamp: Date.now() });
}
});
Randomization: question order and answer options shuffled for each taker — shuffle_seed generated at start and saved.
Question bank: random selection from large bank makes identical versions unlikely.
Time limit: timer stored on server, not browser. Client syncs every 30 seconds. On timeout — auto-submit.
Online proctoring
Two levels:
- AI proctoring: analyze webcam video for missing face, extra people, multiple monitors. Providers: Proctorio, ExamSoft, Examity, or self-hosted with MediaPipe/OpenCV.
- Live proctoring: observer watches examinee real-time via WebRTC.
Webcam data recorded, not analyzed in real-time (reduce load), analyzed later.
Adaptive testing (CAT)
Computer Adaptive Testing selects questions based on estimated ability:
- Start with medium question (θ = 0)
- Correct → next question harder
- Wrong → easier
- IRT (Item Response Theory) algorithm estimates knowledge (θ) after each answer
Each question has difficulty (b), discrimination (a), guessing probability (c). Library catirt (R) or custom 3PL model.
Reliability and recovery
Exams can't be lost:
- Auto-save current answers every 30 seconds (POST server)
- On connection loss — resume from saved state after reconnect
- On technical issue — procedure to reopen exam session
Answers stored in exam_answers with submitted_at, separate from final grade.
Certificate generation and verification
After passing, auto-generate certificate with unique UUID. Verification page (/verify/{uuid}) publicly accessible — employers can verify authenticity.
For government exams: integrate with government services or qualification registry.
Timeline
Platform with question bank, timer, auto-grading, basic anti-cheat and certificates: 3–4 months. With proctoring, adaptive tests, manual essay grading, integrations: 5–8 months.







