Security Testing Engine 8.0.0 is a Windows-first CompTIA Security+ SY0-701 study application built around question practice, adaptive review, progress tracking, and bank-quality validation.
It is designed to do two things well:
- help a learner move through a large question bank quickly
- quietly adapt behind the scenes so weak, fragile, confusing, or under-covered concepts come back at the right time
What This Project Includes
- A desktop Tkinter study app with
Smart Practice,Practice, andExamflows - A cleaned default bank merged from multiple SY0-701-compatible sources
- Progress tracking, autosave, backup, restore, checkpoints, issue reporting, and analytics
- Import, validation, cleanup, benchmark, smoke-test, and quality-check tooling
Included Content
By default, the app now opens with the merged cleaned bank:
public_sy0701_bank_v4_plus_studyguide_clean.json
That merged bank currently contains:
720questions from the cleaned public SY0-701 bank305structured questions imported from the free study guide152verified screenshot imports from Chapter 1 through Chapter 453verified screenshot imports from Chapter 51quarantined screenshot review placeholder from Chapter 21231total bank records
The screenshot coverage is complete for the local folders currently found in Downloads:
- Chapter 1 screenshot bank:
31verified active records - Chapter 2 screenshot bank:
31records (30verified active,1still needs review because the source image contains no question content) - Chapter 3 screenshot bank:
44verified active records - Chapter 4 screenshot bank:
47verified active records - Chapter 5 screenshot bank:
53verified active records
Screenshot records that OCR could not safely turn into a real question are marked as suspended review items, so they stay out of normal practice until verified.
Related bank files in the repo:
public_sy0701_bank_v4.json: original public source bankpublic_sy0701_bank_v4_clean.json: cleaned public bankfree_study_guide_a5_import_bank.json: structured study-guide importpublic_sy0701_bank_v4_plus_studyguide_clean.json: merged default bankchapter_screenshot_ocr_draft_bank.json: screenshot OCR import records that were added to the default bank with source-review noteschapter_screenshot_review_stubs_import_bank.json: quarantined screenshot review placeholders for images that need transcription/verification
Main Features
Smart Practice: adaptive mixed practice with follow-up logic and controlled bonus question insertionPractice: straightforward set-based practice using filters like unseen, previously wrong, due, or flaggedExam: exam-style session flow- Background learner support:
- objective-code mastery autopilot
- confusion-pair drills
- pass prediction
- concept mistake clustering
- transfer-strength scoring
- freshness decay
- difficulty calibration
- burnout detection
- source-agreement and source-trust weighting
- Runtime safety:
- autosave after answers
- resumable sessions
- progress backups
- checkpoint files
- bad JSON quarantine / recovery
- Content safety:
- validator and lint report
- duplicate suppression
- issue reporting and exclusion from scoring
Why Smart Practice Is The Core
Smart Practice is the strongest part of the engine. It is built to feel like a focused tutor running quietly in the background, not just a random question picker.
It now weighs learner memory, missed concepts, prerequisite gaps, source trust, question quality, transfer weakness, repeated confusion, and delayed-review timing before shaping a set. The goal is simple: spend fewer questions on noise and more questions on the exact concepts most likely to improve retention, recovery, and exam readiness.
Smart Practice also keeps the study session controlled. A 25 question set stays a 25 question set, adaptive follow-ups compete for space inside the limit, and protected roles keep the set balanced between weak repair, due retention, coverage, transfer checks, and controlled stretch.
Behind the scenes, the engine keeps improving its decisions with policy governance, concept-graph diagnosis, question information value, quality scoring, and later-outcome measurement. In plain English: it tries to learn why you missed something, pick the next best question, and avoid drilling bad or low-value items too hard.
How The App Works
At startup the app loads the default merged bank, restores saved configuration, and waits in a blank ready state until you start a set.
During study:
- each answer updates progress
- unfinished sessions autosave and can be resumed
- Smart Practice can insert a limited number of targeted follow-up questions
- progress, session, checkpoint, and backup file writes are centralized through the runtime persistence layer
The app keeps learner-facing UI simple while doing most adaptation in the background.
Running The App
Recommended launch options on Windows:
- Double-click
security_test_app_windows_v8.pyw - Or run
run_windows_v8.bat - Or from a terminal:
py app.pyIf you want the launcher without a console window, use:
pyw app.pyBasic Usage
- Launch the app.
- Choose a mode such as
Smart Practice. - Pick a question count like
25or50. - Start the set.
- Answer questions and let the app autosave progress/session state.
- Close the app at any time to resume later.
Useful behaviors:
Smart Practicestays capped instead of expanding without limit- closing the app saves progress and session state
Reported Issueslets you quarantine questionable source itemsSettings > Reset All Progress...clears learner progress, sessions, rewards, flags, reports, and checkpoints for a fresh user- builder/sidebar can collapse while you study
Saved Data
Runtime data is stored under:
- source/dev runs:
user_data/ - packaged EXE runs:
%LOCALAPPDATA%\SecurityTestingEngine\
Important subfolders:
user_data/backups/: progress backupsuser_data/checkpoints/: periodic checkpointsuser_data/logs/: app log output
Main runtime files include:
- progress JSON
- session JSON
- config JSON
The app also keeps compatibility logic for older saved session formats through session snapshot migration.
Developer Commands
Run tests:
py -m unittest discover -s tests -vRun the smoke test:
py tools\smoke_test.pyRun bank validation:
py tools\validate_bank.py public_sy0701_bank_v4_plus_studyguide_clean.jsonRun the benchmark guard:
py tools\benchmark_engine.py --count 50 --repeat 3 --assert-pool-max 4 --assert-analytics-max 3Run the code-quality checks:
py tools\run_quality_checks.pyClean generated repo/runtime artifacts:
py tools\cleanup_runtime_files.pyAlso remove generated log files:
py tools\cleanup_runtime_files.py --prune-logsBuild the Windows release:
build_windows_v8.batThe Windows release folder is intentionally clean: release\SecurityTestingEngine\ contains only SecurityTestingEngine.exe. The default question bank is bundled into the executable, and runtime progress/session data is written to local app data instead of beside the EXE.
If the repo is kept inside a clean app shell folder, tools\build_release.py also refreshes the root SecurityTestingEngine.exe and README - Start Here.txt. Packaged builds can automatically migrate stronger legacy progress from user_data and the older Project Files\user_data layout into %LOCALAPPDATA%\SecurityTestingEngine\ when the packaged runtime has little or no progress.
Project Layout
app.py: app bootstrap and top-level UI assemblyapp_*_mixin.py: feature-specific app behavior split by concernquestion_bank.py: bank loading, cleanup, and adaptive answer orderingprogress_store.py: per-question progress logicsession_store.py: session snapshot helpers and migrationruntime_persistence.py: centralized runtime disk I/O facadesave_queue.py: deferred autosave queuetools/: validation, import, benchmark, build, and utility scriptstests/: unit and GUI regression coveragereports/: generated reports such as validation and benchmark outputuser_data/: local runtime state for source/dev runs and not meant for version control
Project Quality Status
The repo includes:
- unit tests
- GUI regression tests
- smoke test
- benchmark regression guard
ruff,black, andmypychecks for the maintained typed core
This gives the project a decent safety net for both learner-facing behavior and bank/persistence tooling.
Notes
- This project is built for study support, not as an official CompTIA product.
- Question quality can still vary by source, which is why validation, trust weighting, and issue reporting are built in.
- The merged bank is cleaned and validated, but source review is still an ongoing process.