TestKit is a comprehensive, industry-leading repository of hardware profiles specifically designed for testing and debugging Windows applications across diverse device configurations. With 22,122+ unique profiles spanning Windows 95 through Windows 11, TestKit provides standardized hardware definitions that can be exported to Docker, Vagrant, Terraform, and Windows Sandbox.
What's New in v1.4.0: Added Batch Export, Hyper-V, and VMware support. Now spanning 22,000+ profiles with enterprise-grade virtualization tools.
- Export Guide - Learn how to use Docker, Hyper-V, VMware, and proper batch exporting.
- Hardware Tiers - Understanding the classification system.
- Architecture - How TestKit generates profiles.
- Troubleshooting - Common issues and solutions.
- Massive Database: Over 80 hardware models and 22,000+ profiles.
- Multi-Format Export:
- π³ Docker (Containerized simulation)
- β‘ Hyper-V (Local virtualization)
- π₯οΈ VMware (Workstation/Player configs)
- π¦ Vagrant (VirtualBox automation)
- βοΈ Terraform (AWS Cloud deployment)
- πͺ Windows Sandbox (Ephemeral desktop testing)
- Batch Operations: Filter and export thousands of profiles with
batch_export.py.
Modern software must work across an enormous range of hardware configurations. TestKit solves the "Standard Library of Hardware Definitions" problem by providing:
β
Pre-defined hardware profiles - No more manual spec lookups
β
Industry-leading coverage - 45 base hardware models Γ hundreds of configuration variants
β
Multi-platform export - Docker, Vagrant, Terraform, Windows Sandbox
β
Global hardware representation - American, European, and Asian manufacturers
β
Historical depth - From Windows XP (Pentium 4) to Windows 11 (latest handhelds)
- QA Testing: Validate software across realistic hardware constraints
- DevOps: Provision test environments matching real-world deployment targets
- Support Teams: Reproduce customer issues on specific hardware configurations
- Performance Testing: Benchmark across different CPU/RAM/GPU combinations
- Compatibility Testing: Ensure legacy support (XP/7) and cutting-edge compatibility (Win 11)
| Servers | Dell, HP | PowerEdge R740, ProLiant DL380 | 850+ |\r | Desktops | System76, Dell, HP | Thelio, Dimension, Compaq | 1,100+ |\r | Cloud VMs | AWS, Azure | EC2 t2.micro, Standard_D2s_v3 | 120+ |\r | Legacy | Various, Toshiba | XP/Vista era systems, Satellite C55 | 950+ |\r | Global Manufacturers | Xiaomi, Huawei, GPD, Toshiba | Mi Notebook, MateBook, Win 3, PortΓ©gΓ© | 1,200+ |\r
- Windows XP (2001-2014)
- Windows 7 (2009-2020)
- Windows 8/8.1 (2012-2016)
- Windows 10 (2015-2025)
- Windows 11 (2021+)
- Windows Server (2012 R2 - 2022)
cd TestKit
python scripts/generate_profiles.pyOutput: 16,912 profiles generated in profiles/ directory, organized by OS version.
No Python installed? No problem! Run TestKit commands directly via Docker.
# Build the image
docker-compose build
# Run commands (mounts ./exports automatically)
docker-compose run --rm testkit --profile profiles/win11/acer-aspire-vero-windows-11-v1.json --format dockerpython scripts/export.py \
--profile "profiles/win11/acer-aspire-vero-windows-11-v1.json" \
--format docker \
--output exports
# Run the generated launch script
./exports/launch.ps1 # or ./exports/launch.shpython scripts/export.py \
--profile "profiles/win10/lenovo-thinkpad-t480-windows-10-v1.json" \
--format vagrant \
--output exportspython scripts/export.py \
--profile "profiles/win11/msi-gs66-stealth-windows-11-v1.json" \
--format terraform \
--output exports
# Deploy to AWS
cd exports
terraform init
terraform applypython scripts/export.py \
--profile "profiles/win10/lenovo-thinkpad-t480-windows-10-v1.json" \
--format wsb \
--output exports
# Double-click the .wsb file to launch Windows Sandbox with the profileTestKit/
βββ profiles/ # Generated JSON profiles (16,912 files)
β βββ win7/
β βββ win8/
β βββ win10/
β βββ win11/
β βββ other/ # Server editions, XP, Vista
βββ scripts/
β βββ db/
β β βββ laptops.json # Hardware database (45 base models)
β βββ generate_profiles.py # Profile generator
β βββ export.py # Multi-platform exporter
β βββ validate_db.py # Database validation utility
βββ exports/ # Exported configurations
βββ docs/
β βββ images/ # Visual assets and diagrams
β βββ ARCHITECTURE.md # Technical deep-dive
β βββ TUTORIALS.md # Step-by-step guides
β βββ HARDWARE_GUIDE.md # Complete hardware catalog
β βββ API_REFERENCE.md # CLI and schema documentation
β βββ integration_strategy.md # Platform integration guides
βββ .github/
β βββ workflows/ # CI/CD automation
β βββ ISSUE_TEMPLATE/ # Issue templates
βββ README.md
βββ ROADMAP.md
βββ CONTRIBUTING.md
βββ CHANGELOG.md
βββ LICENSE
Each profile is a JSON file with the following structure:
{
"id": "acer-aspire-vero-windows-11-v1",
"make": "Acer",
"model": "Aspire Vero",
"year": 2021,
"os": "windows-11",
"form_factor": "Laptop",
"hardware": {
"cpu": "Intel Core i5-1155G7",
"cpu_count": 4,
"ram_mb": 8192,
"storage_gb": 256,
"gpu": "Intel Iris Xe Graphics",
"gpu_vram_mb": 0,
"screen_resolution": "1920x1080"
},
"software": {
"browser": "Edge",
"accessibility": "None"
}
}See docs/API_REFERENCE.md for complete schema specification.
- Cost: TestKit is free and open-source; no per-minute charges
- Privacy: Run tests on-premise; no data leaves your infrastructure
- Customization: Modify profiles for your specific needs
- Scale: Generate unlimited environments simultaneously
- Speed: 1 command vs. hours of manual configuration
- Consistency: Profiles are version-controlled and reproducible
- Coverage: Test 16,912 configurations vs. maintaining a few VMs
- Automation: CI/CD integration built-in
- Variety: 45 hardware types vs. generic VM
- History: Support for legacy Windows (XP, 7) alongside modern versions
- Export Flexibility: Deploy to cloud, local VMs, or containers
- Real Hardware Specs: Based on actual manufacturer specifications
TestKit is designed to integrate seamlessly with existing testing infrastructure:
Export profiles to Docker and deploy to on-premise device labs or cloud platforms like AWS Device Farm.
Use Vagrant or Terraform exporters to provision VMs with infrastructure-as-code tools like Ansible, Puppet, or Chef.
Use Windows Sandbox (.wsb) files for lightweight, ephemeral testing environments on Windows 10 Pro/Enterprise.
Profiles can be integrated into GitHub Actions, Azure DevOps, or Jenkins pipelines for automated cross-hardware testing.
# Find a Windows 7 profile
ls profiles/win7/
# Export to Vagrant
python scripts/export.py \
--profile "profiles/win7/hp-elitebook-840-g3-windows-7-v1.json" \
--format vagrant \
--output exports
# Launch VM
cd exports
vagrant up# Export Surface Pro X (Qualcomm ARM)
python scripts/export.py \
--profile "profiles/win10/microsoft-surface-pro-x-windows-10-v1.json" \
--format wsb \
--output exports
# Test in Windows Sandbox
./exports/microsoft-surface-pro-x-windows-10-v1.wsb# Export to Terraform
python scripts/export.py \
--profile "profiles/win11/asus-rog-ally-windows-11-v1.json" \
--format terraform \
--output exports
# Deploy
cd exports
terraform apply
# Instance launched with tags matching TestKit profile# Use one of the new Tier 1 profiles
python scripts/export.py \
--profile "profiles/win11/acer-predator-helios-300-windows-11-v1.json" \
--format docker \
--output exports
# Build and run container
cd exports
docker build -t testkit-helios .
docker run -it testkit-helios- Tutorials - Step-by-step guides for common scenarios
- Architecture - Technical deep-dive into TestKit design
- Hardware Guide - Complete catalog of all 45 base models
- API Reference - CLI and schema documentation
- Match OS: Choose profiles targeting your application's supported Windows versions
- Consider Form Factor: Laptop profiles for mobility testing, desktop for performance
- Hardware Constraints: Test on low-spec profiles to ensure minimum requirements work
- Development: Use Windows Sandbox for quick, disposable testing
- CI/CD: Use Docker for fast, parallel test execution
- QA/Staging: Use Vagrant or Terraform for persistent, shareable environments
- Production Validation: Use cloud exports (Terraform) for real-world infrastructure testing
# Copy and modify a profile
cp profiles/win10/base-profile.json my-custom-profile.json
# Edit my-custom-profile.json with your specific hardware requirements
python scripts/export.py --profile my-custom-profile.json --format vagrant- Edit
scripts/db/laptops.json - Add new entry following the schema:
{
"make": "Framework",
"model": "Laptop 13",
"year": 2023,
"form_factor": "Laptop",
"supported_os": ["Windows 10", "Windows 11"],
"cpu_options": [
{"name": "Intel Core i7-1165G7", "cores": 4}
],
"ram_options": [16384, 32768],
"storage_options": [512, 1024],
"gpu_options": [{"name": "Intel Iris Xe Graphics", "vram": 0}],
"resolution_options": ["2256x1504"]
}- Regenerate profiles:
python scripts/generate_profiles.pypython scripts/validate_db.pySee CONTRIBUTING.md for detailed contribution guidelines.
We welcome contributions! Please see CONTRIBUTING.md for guidelines on:
- Adding new hardware definitions
- Improving exporters
- Writing documentation
- Reporting issues
- Submitting pull requests
This project is open-source and available under the MIT License.
Q: Why JSON profiles instead of directly provisioning VMs?
A: TestKit provides definitions, not implementations. This separation allows you to use the same profile across Docker, Vagrant, Terraform, or custom tooling.
Q: Can I use TestKit for Linux/Mac testing?
A: TestKit focuses on Windows testing, but the profile format is extensible. You could adapt it for other platforms.
Q: How accurate are the hardware profiles?
A: Profiles are based on manufacturer specifications and real hardware reviews. For exact hardware behavior, use real devices or manufacturer-provided VMs.
Q: What's the difference between TestKit and BrowserStack?
A: BrowserStack is a cloud device farm offering real devices. TestKit provides profile definitions you can use to provision your own environments (cloud or on-premise).
Q: How often is the hardware database updated?
A: We aim to add new hardware profiles quarterly. Community contributions are welcome to accelerate coverage of new devices.
Q: Can I use TestKit commercially?
A: Yes! TestKit is MIT licensed, allowing commercial use. See LICENSE for details.
- Hardware Models: 80 base configurations
- Generated Profiles: 22,122 unique combinations
- Supported OS Versions: 12+ Windows versions (including Win95/XP)
- Export Formats: 4 (Docker, Vagrant, Terraform, Windows Sandbox)
- Form Factors: 15+ (laptops, desktops, handhelds, servers, cloud VMs, rugged, POS, medical, SBC)
- Manufacturers: 45+ global brands
- Vagrant - Development environment provisioning
- Terraform - Infrastructure as Code
- Docker - Containerization platform
- Windows Sandbox - Lightweight desktop testing
- AWS Device Farm - Cloud-based device testing
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Contributing: Contributing Guide
- Roadmap: Project Roadmap
- Code of Conduct: Code of Conduct
Built with β€οΈ for the Windows testing community
TestKit v1.1.0 - Empowering developers to test across the hardware spectrum



