BGSTM (Better Global Software Testing Methodology) is a comprehensive, professional software testing framework adaptable to various software development methodologies including Agile, Scrum, and Waterfall.
This framework provides a structured approach to software testing through six core phases, with detailed guidance for implementing testing practices across different project methodologies. It serves as both a knowledge base for testing professionals and a foundation for building multi-platform testing management applications.
- Test Planning - Define scope, strategy, resources, and timelines
- Test Case Development - Design and document test scenarios and cases
- Test Environment Preparation - Set up infrastructure and tools
- Test Execution - Execute tests and manage defects
- Test Results Analysis - Analyze outcomes and identify patterns
- Test Results Reporting - Communicate findings to stakeholders
- Agile Testing - Continuous testing with rapid feedback
- Scrum Testing - Sprint-based testing approach
- Waterfall Testing - Sequential phase-based testing
- Methodology Comparison - Detailed comparison and selection guide
- Templates - Ready-to-use templates for test plans, test cases, and reports
- Examples - Practical examples and sample artifacts
- Multi-Platform App Guide - Build testing management applications
- β Methodology Agnostic - Adaptable to Agile, Scrum, Waterfall, and hybrid approaches
- β Comprehensive Coverage - End-to-end testing process from planning to reporting
- β Professional Standards - Industry best practices and quality standards
- β Practical Templates - Ready-to-use templates for immediate implementation
- β Scalable - Suitable for projects of all sizes
- β App-Ready - Foundation for building testing management tools
- Implement structured testing processes
- Improve test coverage and quality
- Standardize testing practices
- Reduce defects and improve software quality
- Plan testing activities and resources
- Track testing progress and metrics
- Manage testing risks
- Ensure quality standards
- Establish testing standards
- Train testing teams
- Improve testing maturity
- Build custom testing tools
- Build multi-platform testing management applications
- Integrate testing into development workflows
- Automate testing processes
- Create testing dashboards and reports
This framework can serve as the foundation for building comprehensive testing management applications. See our Multi-Platform App Integration Guide for:
- Recommended technology stacks
- Application architecture
- Core features and modules
- API design
- Development roadmap
- Implementation considerations
Get a fully working demo environment running with a single command:
git clone https://github.com/bg-playground/BGSTM.git
cd BGSTM
./setup.sh # macOS/Linux
setup.bat # WindowsThe setup script will:
- Check for Docker / Docker Compose
- Create
.envfrom.env.exampleautomatically - Build and start all services (backend, frontend, Postgres)
- Wait for every service to be healthy
- Optionally load sample data
- Open the browser to
http://localhost
| Service | URL |
|---|---|
| Frontend | http://localhost |
| Backend API | http://localhost:8000 |
| API Docs | http://localhost:8000/docs |
docker compose down # stop services (or: docker-compose down)
docker compose logs -f # view logs (or: docker-compose logs -f)π Start Here: Getting Started Guide - Complete walkthrough for beginners
- Choose Your Methodology: Review methodology guides to select the best approach
- Understand the Phases: Read through the six testing phases
- Use Templates: Download and customize templates for your project
- Implement: Apply the framework to your testing processes
- Build (Optional): Use as foundation for custom testing tools
# Clone the repository
git clone https://github.com/bg-playground/BGSTM.git
cd BGSTM
# Copy environment file
cp .env.example .env
# Start all services (database, backend, frontend)
docker-compose up -d
# Access the application
# Frontend: http://localhost
# Backend API: http://localhost:8000
# API Documentation: http://localhost:8000/docsTo run the frontend locally for development:
cd frontend
# Install dependencies
npm install
# Start development server
npm run dev
# Access at http://localhost:3000To run the backend locally:
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Set up database (PostgreSQL)
# Update DATABASE_URL in .env file
# Run migrations
alembic upgrade head
# Start server
uvicorn app.main:app --reload --port 8000cd backend
pytest # Run all backend tests
pytest -v # Verbose output
pytest --cov=app # With coverage reportOr inside Docker:
docker-compose exec backend pytestcd frontend
npm run lint # ESLint
npm run type-check # TypeScript type checkingThe E2E test suite uses Playwright to test critical flows against a fully dockerized stack (PostgreSQL + FastAPI backend + React frontend).
Quick start with Docker Compose:
# 1. Start the test environment (builds & seeds the database)
docker compose -f docker-compose.test.yml up -d
# 2. Wait for services to be healthy (~60-90s)
curl -sf http://localhost:8001/health # backend
curl -sf http://localhost:3001 # frontend
# 3. Install Playwright (first time only)
cd frontend
npm ci
npx playwright install --with-deps chromium
# 4. Run the tests
PLAYWRIGHT_BASE_URL=http://localhost:3001 \
E2E_ADMIN_EMAIL=admin@test.com \
E2E_ADMIN_PASSWORD=password123 \
npx playwright test
# 5. View the HTML report
npx playwright show-report
# 6. Tear down
cd ..
docker compose -f docker-compose.test.yml down -vTest suites:
| Spec File | Coverage |
|---|---|
auth.spec.ts |
Registration, login, logout, protected routes |
suggestions.spec.ts |
Suggestion dashboard, filters, accept/reject |
crud.spec.ts |
Requirements & test case CRUD (create, edit, delete) |
traceability.spec.ts |
Traceability matrix data, filtering, export buttons |
exports.spec.ts |
CSV and PDF export downloads |
rbac.spec.ts |
Role-based access: viewer, reviewer, admin |
notifications.spec.ts |
Notification bell, mark-as-read, lifecycle |
Useful commands:
npx playwright test --headed # Watch in browser
npx playwright test --ui # Interactive UI mode
npx playwright test auth.spec.ts # Run a single spec
npx playwright test --project=chromium # Chromium only (default in CI)Environment variables:
| Variable | Default | Description |
|---|---|---|
PLAYWRIGHT_BASE_URL |
http://localhost:3000 |
Frontend URL |
E2E_ADMIN_EMAIL |
admin@test.com |
Seeded admin email |
E2E_ADMIN_PASSWORD |
password123 |
Seeded admin password |
Note: In CI, the E2E tests run automatically via the E2E Tests workflow on every push/PR to
mainthat touchesfrontend/,backend/, ordocker-compose.test.yml.
For full details, see the E2E Test README.
Contributions are welcome! Whether you want to:
- Improve documentation
- Add examples
- Share templates
- Report issues
- Suggest features
Please see our Contributing Guidelines for details on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
- ISTQB (International Software Testing Qualifications Board)
- Agile Testing by Lisa Crispin and Janet Gregory
- Test Automation Pyramid
For questions, suggestions, or discussions, please open an issue in this repository.
Made with β€οΈ for the software testing community