Automated math test generation and prioritization, powered by test automation templates from TCP-AW.
Random Math Test is a template-based framework for generating, managing, and prioritizing simple arithmetic test cases. This project leverages the automation workflows and methodologies pioneered in TCP-AW: Test Case Prioritization Automation Workflows, adapted for educational and assessment environments.
- Automates math test case management and prioritization
- Provides actionable feedback via GitHub Actions
- Integrates with Google Apps Script for advanced dispatches
- Click Use this template OR fork this repository.
- Alternatively, clone and push to a new repo manually.
This project uses the same workflow template as TCP-AW. Refer to TCP-AW's README for detailed setup:
- Generate a GitHub Personal Access Token (PAT)
- Set up Google Apps Script with the provided Code.gs
- Configure script properties (
GITHUB_PAT,DISPATCH_URL) - Deploy as a Web App
- Add your Apps Script Webhook to GitHub
- All test cases live in
test/test-cases.json. - Each commit to this file triggers prioritization and updates associated matrices:
test/string-distances/input.jsontest/string-distances/output.json
- Place your math problem solution scripts in
test/test-scripts/. - The script filenames should correspond to entries in
test-cases.json.
- Every commit updates prioritization order and fault matrices (
fault-matrices/vN.json). - Logs and workflow status are visible in your repo's Actions tab.
- Webhook not working?
Double-check your Web App URL and content type (application/json). - No workflow runs?
Ensure your PAT and dispatch URL are set correctly. - Missing test scripts warning?
Match filenames intest/test-scripts/with yourtest-cases.json. - Distance matrices not updating?
Confirm commits are made totest-cases.json.
- TCP-AW: Test Case Prioritization Automation Workflows
- GitHub Actions Documentation
- Google Apps Script Documentation
- RapidFuzz Documentation
Random Math Test aims to make math test generation, execution, and prioritization effortless for educators, students, and researchers. Built on advanced automation and prioritization workflows from TCP-AW, it provides a robust, open-source foundation for continuous math assessment improvement.
Inspired by TCP-AW.