Bald verfügbar — TesterPayKit ist im öffentlichen Preview. Preise und Funktionen können sich vor dem Launch noch ändern.

Dokumentation

Erste Schritte mit TesterPayKit

Alles, was du brauchst, um Crowd Testing in deinen Entwicklungs-Workflow zu integrieren. Vom Setup bis zur Verwaltung von Bug-Reports – wir haben dich abgedeckt.

# Setup

1. Erstelle dein Konto

Registriere dich bei TesterPayKit und erstelle deine Organisation. Der kostenlose Plan bietet 5 Test-Sitzungen pro Monat zum Einstieg.

Konto erstellen

2. Generiere einen API-Schlüssel

Navigiere zu Einstellungen > API-Schlüssel und generiere einen neuen Schlüssel für deine Integration.

# Dein API-Schlüssel sieht so aus:
tpk_live_a1b2c3d4e5f6g7h8i9j0...

3. Installiere das SDK

Wähle dein bevorzugtes SDK und füge es zu deinem Projekt hinzu:

Flutter/Dart
flutter pub add testerpaykit
TypeScript/Node.js
npm install @testerpaykit/sdk
Python
pip install testerpaykit

4. Initialisiere den Client

Konfiguriere das SDK mit deinem API-Schlüssel:

// TypeScript-Beispiel
import { TesterPayKit } from '@testerpaykit/sdk';

const client = new TesterPayKit({
  apiKey: process.env.TESTERPAYKIT_API_KEY,
  environment: 'production'
});

# Tests erstellen

Test-Kampagnen-Struktur

Eine Test-Kampagne definiert, was getestet werden soll, wer es testen sollte und wie sie kompensiert werden.

// Neue Test-Kampagne erstellen
const campaign = await client.campaigns.create({
  name: 'Login Flow Testing',
  description: 'Test the new login and signup flows',
  appUrl: 'https://testflight.apple.com/...',
  platform: 'ios',
  testersRequired: 10,
  rewardPerBug: 4.00,
  targetDevices: ['iPhone 14', 'iPhone 15'],
  testCases: [
    { title: 'Sign up with email', priority: 'high' },
    { title: 'Sign in with Google', priority: 'medium' },
    { title: 'Password reset flow', priority: 'high' }
  ]
});

Testfälle definieren

Klare Testfälle helfen Testern zu verstehen, was genau getestet werden soll. Gib für jeden Fall Akzeptanzkriterien an.

  • Titel: Ein kurzer, aussagekräftiger Name für den Testfall
  • Schritte: Nummerierte Anweisungen zum Reproduzieren des Szenarios
  • Erwartetes Ergebnis: Was sollte passieren, wenn alles richtig funktioniert
  • Priorität: Hohe, mittlere oder niedrige Wichtigkeit

Kampagnen-Status

Verfolgung des Kampagnen-Fortschritts programmgesteuert:

const status = await client.campaigns.getStatus(campaign.id);

console.log(status);
// {
//   id: 'camp_abc123',
//   status: 'active',
//   testersAssigned: 8,
//   bugsReported: 12,
//   completedTests: 24,
//   remainingBudget: 52.00
// }

# Bug-Reports

Bug-Report-Struktur

Jeder Bug-Report von TesterPayKit folgt einem strukturierten Format, um sicherzustellen, dass du alle Informationen hast, um Probleme zu reproduzieren und zu beheben.

{
  "id": "bug_xyz789",
  "title": "App crashes when tapping submit without email",
  "severity": "critical",
  "status": "open",
  "device": {
    "model": "iPhone 14 Pro",
    "os": "iOS 17.2",
    "appVersion": "2.1.0"
  },
  "steps": [
    "Open the app",
    "Navigate to signup",
    "Leave email field empty",
    "Tap Submit button"
  ],
  "expectedResult": "Validation error shown",
  "actualResult": "App crashes immediately",
  "screenshots": ["https://..."],
  "videoUrl": "https://..."
}

Bug-Reports abrufen

Hole Bug-Reports über die API oder das SDK:

// Alle Bugs für eine Kampagne abrufen
const bugs = await client.bugs.list({
  campaignId: 'camp_abc123',
  status: 'open',
  severity: ['critical', 'high']
});

// Bug-Status aktualisieren
await client.bugs.update('bug_xyz789', {
  status: 'fixed',
  resolution: 'Added input validation'
});

Webhooks

Erhalte Echtzeit-Benachrichtigungen, wenn Bugs gemeldet werden:

// Webhook im Dashboard oder über API konfigurieren
await client.webhooks.create({
  url: 'https://your-app.com/webhooks/testerpaykit',
  events: ['bug.created', 'bug.updated', 'campaign.completed'],
  secret: 'whsec_...'
});

Bereit zum Vertiefen?

Erkunde unsere API-Referenz für vollständige Endpunkt-Dokumentation oder schau dir unsere SDKs für deine bevorzugte Sprache an.