Automated QA documentation generation with PowerShell
A PowerShell-based tool that automatically generates professional QA documentation in Markdown format. Simply input your data in a JSON file, and the script creates a fully formatted, professional document.
** 80% time savings** — Documentation time reduced from 15 minutes to 2 minutes per document. Fully local, GDPR-compliant, Azure DevOps-ready.
| Kennzahl | Wert |
|---|---|
| Zeitersparnis | 80% (15 min → 2 min) |
| Dokumenttypen | 6 (Bug, Test, QT Stage, Solution, Analysis, Test Cases) |
| CI/CD-Integration | Azure DevOps Pipeline |
| Datenschutz | DSGVO-konform (100% lokal) |
| Plattform | Windows 10/11, PowerShell 5.1+ |
Key Features:
- 80% time savings - 15 minutes → 2 minutes per document
- Consistent formatting - Always professional
- Reproducible - Same data = same document
- Version control friendly - JSON + Markdown in Git
- GDPR compliant - Local processing, no cloud
- Azure DevOps integration - Automated CI/CD pipelines included
| Type | Description | Use Case |
|---|---|---|
| Bug Ticket | Systematic bug documentation | Track and document bugs with all relevant details |
| Test Protocol | Comprehensive test reports | Document test results, statistics, and findings |
| QT Stage Protocol | Comprehensive stage test protocols | Detailed stage testing with hierarchical structure, platform-specific tests |
| Solution Concept | Structured solution proposals | Present technical solutions with analysis |
| Analysis Report | Professional analysis documents | Document findings and recommendations |
| Test Cases | Organized test case collections | Structure and document test scenarios |
- Windows 10/11
- PowerShell 5.1 or higher (pre-installed on Windows)
-
Clone the repository
git clone https://github.com/tibo47-161/qa-documentation-generator.git cd qa-documentation-generator
-
Set execution policy (first time only)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
-
Test the installation
.\Generate-QADocument.ps1 -ConfigFile "examples\bug_ticket.json" -Template "BugTicket"
For the easiest experience, use the interactive menu:
# Double-click SCHNELLSTART.bat or run:
.\SCHNELLSTART.bat# Generate a bug ticket
.\Generate-QADocument.ps1 -ConfigFile "my_bug.json" -Template "BugTicket"
# Generate a test protocol
.\Generate-QADocument.ps1 -ConfigFile "my_test.json" -Template "TestProtokoll"
# Generate a QT Stage protocol
.\Generate-QADocument.ps1 -ConfigFile "my_stage_test.json" -Template "QTStageProtokoll"
# Specify output path
.\Generate-QADocument.ps1 -ConfigFile "bug.json" -Template "BugTicket" -OutputPath "output\bug_3690.md"-
Copy a template
templates\bug_ticket.json → my_bug.json -
Edit the JSON file
- Open
my_bug.jsonin your favorite editor - Fill in all fields (see examples for reference)
- Save the file
- Open
-
Generate the document
.\Generate-QADocument.ps1 -ConfigFile "my_bug.json" -Template "BugTicket"
-
Done!
- Find your generated Markdown document in the same folder
- Copy to Azure DevOps Wiki, GitHub, or your documentation system
NEW! Automated documentation generation with Azure DevOps Pipelines.
| Pipeline | Trigger | Purpose |
|---|---|---|
| Standard | Git commit | Auto-generate docs on commit |
| Batch | Manual | Generate all documents at once |
| Scheduled | Daily 8 AM | Generate new/modified docs daily |
-
Create Pipeline in Azure DevOps:
- Pipelines → New Pipeline → GitHub
- Select repository:
tibo47-161/qa-documentation-generator - Choose existing YAML:
/azure-pipelines.yml - Run!
-
Benefits:
- Automatic documentation on every commit
- Batch processing for multiple documents
- Scheduled daily generation
- Direct upload to Azure DevOps Wiki
- Email notifications (optional)
- Full Documentation:
Example Workflow:
# 1. Add new bug ticket data
git add data/bug_3690.json
git commit -m "Add bug ticket #3690"
git push
# 2. Pipeline runs automatically
# 3. Generated documentation appears in build artifacts
# 4. (Optional) Auto-uploaded to Wikiqa-documentation-generator/
Generate-QADocument.ps1 # Main PowerShell script
SCHNELLSTART.bat # Interactive quick-start menu
README.md # This file
LICENSE # MIT License
docs/
ANLEITUNG_Windows11.md # Complete guide (German)
USAGE.md # Detailed usage examples
templates/
bug_ticket.json # Empty bug ticket template
test_protocol.json # Empty test protocol template
solution_concept.json # Empty solution concept template
examples/
bug_ticket.json # Example bug ticket with data
test_protocol.json # Example test protocol with data
Input: bug_3690.json
{
"Titel": "Offline login blocked",
"BugID": "3690",
"Schweregrad": "Critical",
"Zusammenfassung": "App blocks login in flight mode despite offline features.",
...
}Output: bug_3690.md
# Bug Ticket: Offline login blocked
**Bug-ID:** #3690
**Severity:** Critical
**Status:** Open
## Summary
App blocks login in flight mode despite offline features.
## Description
When the device is in flight mode, the app shows the error message...
...Time saved: 15 minutes → 2 minutes
- 80% time savings on documentation
- Consistent format - always professional
- Reproducible - same data = same document
- Version control - JSON + MD in Git
- Common standards - everyone uses the same templates
- Scalable - 1 bug ticket or 100 bug tickets
- Quality assurance - no forgotten fields
- Onboarding - new team members get started quickly
- Cost savings - reduced documentation time
- Metrics - measurable efficiency gains
- Compliance - GDPR compliant (local processing)
- Standardization - consistent documentation across teams
Create a batch file to generate multiple documents:
generate_all_bugs.bat
@echo off
powershell.exe -ExecutionPolicy Bypass -File "Generate-QADocument.ps1" -ConfigFile "bug_3684.json" -Template "BugTicket"
powershell.exe -ExecutionPolicy Bypass -File "Generate-QADocument.ps1" -ConfigFile "bug_3685.json" -Template "BugTicket"
powershell.exe -ExecutionPolicy Bypass -File "Generate-QADocument.ps1" -ConfigFile "bug_3686.json" -Template "BugTicket"
echo Done!# Generate document
.\Generate-QADocument.ps1 -ConfigFile "bug.json" -Template "BugTicket" -OutputPath "output.md"
# Copy to Azure DevOps Wiki
$content = Get-Content "output.md" -Raw
# Use Azure DevOps API to create/update Wiki page@echo off
echo Generating document...
powershell.exe -ExecutionPolicy Bypass -File "Generate-QADocument.ps1" -ConfigFile "bug.json" -Template "BugTicket"
echo Committing to Git...
git add *.md
git commit -m "Generated bug ticket"
git push
echo Done!Du kannst die Basis-Tests (Smoke + Markdown-Strukturprüfung) so ausführen:
.\tests\Run-Tests.ps1Hinweis: Das Script installiert bei Bedarf Pester (>= 5) im CurrentUser Scope.
Wenn du zusätzlich ein PDF brauchst, kannst du Pandoc verwenden:
- Pandoc installieren:
https://pandoc.org/installing.html - PDF erzeugen:
.\Export-QADocumentPdf.ps1 -ConfigFile ".\examples\beispiel_test_protokoll.json" -Template "TestProtokoll" -OutputPdfPath ".\output\beispiel_test_protokoll.pdf"- Complete Guide (German) - Step-by-step installation and usage
- Usage Examples - Detailed examples for all document types
- Template Reference - JSON structure for each template
- QT Stage Protocol Guide - Comprehensive guide for stage test protocols
Solution:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserSolution:
- Check if the JSON file is in the same folder as the script
- Or provide the full path to the file
Solution:
- Open the JSON file in VS Code
- Check for missing commas, quotes, or brackets
- Use an online validator: https://jsonlint.com
For more troubleshooting, see the Complete Guide.
Contributions are welcome! Please feel free to submit a Pull Request.
Areas for contribution:
- New document templates
- Additional language support
- Integration with other tools (Jira, GitHub Issues, etc.)
- Performance improvements
- Bug fixes
This project is licensed under the MIT License - see the LICENSE file for details.
QA Engineer | Passionate about test automation and quality assurance
- GitHub: @tibo47-161
- Email: tobias.buss.dev@gmail.com
- Inspired by the need for efficient QA documentation
- Built with PowerShell for Windows environments
- Designed for integration with Azure DevOps
Made with ️ for the QA community