TokenEconomizer
코딩 에이전트를 위한 경험 기반 블랙박스 비용 제어
브라우저·API·계약·성능·접근성·AI 테스트를 지원하는 QA 자동화 플랫폼, 릴리즈 게이트와 실시간 CI 대시보드 제공
QA automation platform: browser, API, contract, performance, accessibility and AI-assisted testing, with a release gate and a live CI dashboard (24 packages)
개발 도구GitHub @rizvihiqrar온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗One repository of test automation work, run by one CI pipeline: browser tests, API tests, contract tests, AI-assisted test generation, test data, SQL data-integrity checks, and the tooling that keeps a suite trustworthy. It is a working example of how a team catches broken changes automatically, and it has found real bugs in the code it tests (see Results).
Software teams change their product every day, and each change can break something that used to work. This project is a working example of how a team catches those breaks automatically, before customers do.
Each folder under packages/ is a small project that either tests something (a website, an API, a database, an AI feature) or helps testers do their job (finding unreliable tests, checking bug reports, generating test data). The packages says what each one does.
The live CI dashboard: pass rate, run time and flaky jobs, rebuilt after every run on main. Shown in the viewer's light or dark theme.
Strongest first within each area. Counts are automated checks. The full descriptions are in the technical guide.
| Package | What it does | Checks |
|---|---|---|
| multi-user-flow-patterns | Runs several users at once to catch bugs that only appear when people share a system | 9 |
| visual-regression-demo | Compares screenshots of the banking UI with baselines in light, dark and phone width, in two browsers, and proves it by planting visual bugs | 46 |
| bdd-playwright-demo | Tests written as plain-language scenarios that a product owner can read | 9 scenarios + 4 |
| a11y-aoda-audit | Audits a demo store against the WCAG 2.0 AA standard Ontario's AODA requires, before and after fixes | 16 |
| Package | What it does | Checks |
|---|---|---|
| qa-practice-api | A small REST API built to be tested, with 119 cases designed from a written test strategy and a passive OWASP ZAP scan in CI | 292 + 17 properties + ZAP scan |
| banking-api | A small banking API where every cent is exact: accounts in four currencies and transfers on a double-entry ledger, with no floating-point maths. Retried requests move money once, requests at the same time can't overdraw an account, and 14 SQL checks prove every transfer balances. A small banking UI on top is tested by Cypress in Chrome and Firefox | 236 + 8 properties + 69 Cypress |
| api-drift-checker | Checks a live API against its written contract; its first run found two real bugs | 17 + 39-step live check |
| api-pytest | The same designed cases as the Playwright API suite, written again in Python with pytest and requests, under the same case IDs. A fixture starts the API, so one command runs it | 40 |
| webhook-harness | Proves a webhook receiver rejects forged or replayed messages and processes each one only once | 21 |
| graphql-test-suite | Tests a GraphQL API: queries, errors, and partial results | 33 |
| Package | What it does | Checks |
|---|---|---|
| k6-performance | Load and spike tests with per-endpoint limits; found that each login froze every other request for about 70 ms | 5 + 3 k6 tests |
| worker-scaling-benchmark | Measures whether running tests in parallel actually makes a suite faster | 12 |
| Package | What it does | Checks |
|---|---|---|
| ai-test-generator | Uses Claude to write browser tests from a feature description, reviews them for weak tests, and measures how many are usable as they are | 127 |
| llm-judge-check | Checks an AI grader against a person's answers before trusting it, and traces every AI test result | 81 |
| qa-for-ai-features | Tests an AI feature's response format, response time, and safety refusals | 12 |
| Package | What it does | Checks |
|---|---|---|
| ci-dashboard | The live web page of this repo's CI health, plus the published reports, the traceability matrix and the uptime of four public sites | 59 |
| synthetic-monitor | A real browser checks four public sites every 30 minutes and keeps 30 days of history: down after two failed runs, slow at three times a site's own median, and a GitHub issue that opens and closes itself | 56 |
| flaky-test-analyzer | Points out the tests that only pass after a retry, and keeps one GitHub issue per flaky test | 37 |
| release-gate | Reads smoke, contract and performance results, applies a policy, and blocks a deployment with clear reasons | 15 |
| mutation-testing-demo | Deliberately breaks the code to prove the tests would notice (89.2% caught) | 89 |
| pipeline-templates-demo | One reusable CI/CD pipeline written for GitHub Actions, GitLab CI, and Azure DevOps | 28 |
| matrix-build-demo | Runs the same tests across several Node versions and operating systems | 99 |
| defect-report-linter |
| Package | What it does | Checks |
|---|---|---|
| money-course | A short course, Testing money in software, built on the banking API: six objectives, a quiz for each, and an ungraded practical with six planted bugs and a model answer. Being run as a pilot | 30 |
flowchart TD
A["Someone proposes a change<br/>(a pull request)"] --> B["Quick checks, about 1.5 minutes<br/>unit, API and performance tests,<br/>plus the browser smoke tests"]
B -->|"all green"| C["Reviewed and merged"]
B -->|"something failed"| A
C --> D["Full test run on the main version<br/>and again every night"]
D --> E["Live dashboard<br/>is the suite healthy?"]
D --> F["Published test reports<br/>what exactly ran and passed"]
D --> G["Flaky-test issues<br/>tests that pass only on a retry"]
D -.->|"when releasing"| H["Release gate<br/>go or no-go for a deployment"]
The test reports page: one report per suite, from the latest full run.
The traceability matrix: each API requirement, the test cases that check it, and their latest results.
Every AI test linked to the record of what the AI was asked and answered, from a self-hosted Langfuse.
Flaky-test issues are opened and closed automatically: see the flaky-test label.
Each number links to where it comes from. Figures are as of 2026-10-20.
| Result | Number | Source |
|---|---|---|
| CI jobs passing on main | 35 of 35 | CI dashboard |
| CI runs fully green on main | 100% of the last 39 | CI dashboard |
| Mutation score, shopping cart module | 89.2% (198 of 222 changes caught) | mutation-testing-demo |
| Mutation score, AI-written discount code | 93.9% of 412 changes caught by designed cases and properties together | scoreboard |
| Flaky-test tracking | Last 14 runs on main; catches a test failing 1 run in 5 about 96% of the time, 1 in 100 only 13% | flaky-test-analyzer |
| Money, race, ledger-check and UI mistakes put back on purpose and caught, banking API | 78 of 78 | banking-api |
| Visual bugs planted in the banking UI and caught by the screenshot comparison (a button a few shades off, a 4 px shift, a missing button, a clipped amount, unreadable dark mode, a wrapped column) | 6 of 6 | visual-regression-demo |
| Planted bugs in the course practical caught by the model answer, each by its own check only | 6 of 6 | money-course |
What it has found so far: real bugs, not just green ticks. A login that froze every other user for 70 milliseconds, an API that sold more stock than it had and let delivered orders go back to pending, an API anyone could sign admin tokens for with a secret printed in this repository, a webhook processed twice, a tool that rejected every rule on Windows, and test reports that would have published live access tokens. Five have full root-cause write-ups.
Two results in numbers
| Term | Meaning |
|---|---|
| CI (continuous integration) | A service (here, GitHub Actions) that runs every test automatically whenever the code changes |
| Pull request | A proposed change, checked and reviewed before it becomes part of the main version |
| Smoke test | A short check of the most important paths, run first because it's fast |
| Regression test | A test that makes sure something that used to work still works |
| Flaky test | A test that sometimes passes and sometimes fails without any code change; it erodes trust in the whole suite |
| Shard | One slice of a test suite; slices run on separate machines at the same time |
| API | The way programs talk to each other, without a screen |
See ROADMAP.md: one module a day for 30 days, each through its own pull request. The plan is complete and released as v1.0.0; RETROSPECTIVE.md covers what worked, what didn't, and what v1.0 doesn't prove. Phase 2 (Days 31–60) is planned in the same file.
No employer code or data is included. Everything here targets public demo apps or local mock services. See the technical guide for the notes on live services.
| postman-api-collection |
| API checks in Postman, runnable from the command line |
| 25 |
| contract-testing-demo | Checks that a live API still returns what the app that uses it expects | 5 |
| sql-data-integrity | Runs 15 SQL rules over an orders database and lists the exact rows that break them | 35 |
| test-data-factory | Generates realistic, repeatable test data as JSON, CSV, or SQL | 25 |
| Checks bug reports for missing steps, results, severity and evidence |
| 20 |
| log-signature-grouper | Groups thousands of log errors into a few patterns and flags patterns that are new since the last release | 15 |
| exploratory-session-tracker | Structures exploratory testing (charters, timeboxes, tagged notes) and turns sessions into a team debrief | 10 |
| Requirements traced to passing tests | 18 of 18, 119 of 119 cases | traceability matrix |
| AI tests with a matching trace | 900 of 900 | Langfuse traces |
| Bugs found and fixed | Real ones, each with its fix | full list |