Generate test cases instantly π§ββοΈ
Automated, AI-powered test case generation for QA engineers and developers.
Translates feature descriptions and acceptance criteria into structured test cases using Gemini β categorizing them into Functional, Security, Boundary, and UX tests, and providing one-click exports to JSON, CSV, and Markdown.
Writing comprehensive test cases manually is incredibly time-consuming and prone to human error β developers and QA engineers often miss critical edge cases, security vulnerabilities, or negative scenarios. TestGenie uses AI to instantly generate a robust suite of test cases (including edge cases and boundary conditions) so you can focus on building and automating tests rather than writing boilerplate documentation.
Feature Description & Acceptance Criteria
β
Subject App β Node.js Express server / Vercel Serverless
(validates constraints and parses configuration)
β
AI Generator β Gemini 3.1 Flash Lite
(generates categorized test steps and expected results)
β
Structured Test Cases (JSON)
β
Interactive UI + CSV/Markdown/JSON Exports
Using Gemini 3.1 Flash Lite is a deliberate architectural decision. Test case generation requires a model with strong reasoning, instruction following, and the ability to strictly output structured JSON arrays. Flash Lite provides an incredibly fast time-to-first-token while maintaining high accuracy for context-heavy QA tasks, making the UI feel snappy and responsive.
Each test case is categorized across four dimensions:
| Category | What it checks |
|---|---|
| Functional | Does the feature work exactly as described in the happy path? |
| Security | Are there vulnerabilities (e.g. SQL injection, unauthorized access)? |
| Boundary | Does the system handle extreme limits, long strings, or edge inputs gracefully? |
| UX | Does the system provide clear validation messages and a good user experience? |
Additionally, TestGenie supports single-case regeneration β if a specific test case isn't quite right, you can ask the AI to rewrite just that one case with more detail or a different focus.
| Role | Model | Provider | Why |
|---|---|---|---|
| Generator | gemini-3.1-flash-lite |
Google AI | Fast, strong reasoning, structured JSON output |
When prompted to generate test cases for a "Login" feature with the "Edge Cases" toggle enabled, TestGenie consistently generates standard happy paths (e.g., successful login) but heavily focuses on boundary conditions: excessively long passwords, SQL injection attempts, empty credentials, and rate-limiting scenarios. It correctly formats the steps, expected results, and categorizes each case appropriately.
- Language: TypeScript / Node.js
- Frontend: Vanilla HTML5, CSS3, JavaScript (Single Page Application)
- AI Model: Gemini 3.1 Flash Lite via
@google/genai - Deployment: Vercel (Zero-Config API Routes)
TestGenie/
βββ api/
β βββ generate.ts # Vercel Serverless entry point
βββ public/
β βββ index.html # Vanilla HTML/JS frontend
β βββ loader.lottie # Animation assets
βββ src/
β βββ server.ts # Express API & Gemini integration
βββ .env
βββ .gitignore
βββ package.json
βββ tsconfig.json
βββ README.md
- Node.js 18+
- A free Google Gemini API Key β aistudio.google.com
git clone https://github.com/puja-ui/TestGenie.git
cd TestGenie
npm installCreate .env and fill in your key:
GEMINI_API_KEY=your_gemini_key_here
PORT=3000
npm startThe application will start on http://localhost:3000.
The project is architected for zero-config deployment on Vercel.
- Push your code to GitHub.
- Create a New Project on Vercel and import the repo.
- Select Other as the Framework Preset.
- Add
GEMINI_API_KEYto the Environment Variables. - Deploy. (Vercel automatically serves the
public/directory statically and mapsapi/generate.tsas a serverless function).
Why Vanilla JS / HTML instead of React? To keep the project incredibly lightweight and fast. By avoiding a heavy frontend framework, the application loads instantly and remains simple to hack on or extend without complex build steps for the client side.
Why Vercel Zero-Config?
The project was restructured to decouple the Express app routing from the static file serving. By moving the static assets to the root public/ folder and the API route to api/, Vercel naturally serves the frontend on its Edge CDN while treating the backend as an isolated serverless function, completely eliminating bundler issues with the AI SDK.
- Implement integration testing with Playwright for the UI and pytest for API testing
- Add Jira/Linear integration to directly push generated test cases to ticket tracking
- Allow custom system prompts for different testing methodologies (e.g., BDD style "Given/When/Then")