Skip to content

svo/exploratory-tester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exploratory Tester

Build Development Build Builder Build Service

A toolkit for automating exploratory testing of web applications.

Architecture

The project produces three Docker images, each serving a distinct purpose:

Image Base Purpose Port
development dockette/vagrant:debian-12 Full local development environment with all tools 22 (SSH)
builder debian:12-slim CI/CD build and test environment 22 (SSH)
service debian:12-slim Lightweight runtime for exploratory testing capabilities

The service container is the core runtime where the exploratory testing capabilities are installed. It uses Claude Code to drive browser-based exploratory testing via Playwright MCP. Infrastructure is defined as code via Packer HCL configurations that use the Ansible provisioner to configure each image through playbooks and reusable roles.

Project Structure

.
├── bin/
│   ├── create-image                  # Packer build wrapper
│   └── setup-image-requirements      # Base image setup (SSH, Python)
├── infrastructure/
│   ├── packer/
│   │   ├── development.pkr.hcl       # Development image definition
│   │   ├── builder.pkr.hcl           # Builder image definition
│   │   └── service.pkr.hcl           # Service image definition
│   ├── ansible/
│   │   ├── playbook-development.yml  # Development provisioning
│   │   ├── playbook-builder.yml      # Builder provisioning
│   │   ├── playbook-service.yml      # Service provisioning
│   │   └── roles/                    # Reusable Ansible roles
├── .github/workflows/                # CI/CD pipelines
├── Vagrantfile                       # Local development via Docker provider
├── build.sh                          # Build images
├── push.sh                           # Push images to Docker Hub
└── create-latest.sh                  # Create multi-arch manifests

Prerequisites

Local Development

The Vagrant environment uses the Docker provider to run the development image locally:

vagrant up
vagrant ssh

Building

Images are built using the build.sh script, which runs Packer inside the builder container:

# Build for a specific architecture
./build.sh service arm64
./build.sh service amd64

# Build for all architectures
./build.sh service

# Push to Docker Hub
./push.sh service arm64
./push.sh service amd64

# Create and push multi-arch manifest
./create-latest.sh service

Replace service with development or builder to build the other images.

Usage

docker run --rm \
  -e TARGET_URL=https://example.com \
  -e ANTHROPIC_API_KEY=sk-... \
  -v $(pwd)/output:/output \
  svanosselaer/exploratory-tester-service:latest
Variable Required Description
TARGET_URL Yes URL of the web application to test
ANTHROPIC_API_KEY Yes Anthropic API key for Claude Code
TEST_PROMPT No Custom testing instructions (defaults to general exploratory testing)

Results and screenshots are written to the /output directory.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors