Aller au contenu principal

QA Engineer Guide

Guide complet pour les testeurs QA sur MyTV v2 API.

Philosophie QA

  • Shift-left testing - Trouver les bugs tot
  • Automation first - Automatiser le repetitif
  • Risk-based - Focus sur les chemins critiques
  • Continuous - Tester a chaque changement

Environnements de Test

EnvURLDonnees
Localhttp://localhost:3000Fresh/seeded
Staginghttps://staging-api.mytv.comProduction-like
Productionhttps://api.mytv.comReal data

Quality Gates

GateRequirementBloquant
Unit Tests80% coverageOui
LintNo errorsOui
BuildSuccessfulOui
E2E TestsPassOui
SecurityNo high/criticalOui
Code Review1 approvalOui

Test Categories

Functional Testing

CategoryDescriptionPriority
AuthenticationLogin, logout, refreshCritical
AuthorizationRBAC, permissionsCritical
CRUD OperationsCreate, Read, Update, DeleteHigh
Business LogicSubscriptions, paymentsHigh
Edge CasesBoundary valuesMedium
Error HandlingInvalid inputsMedium

Non-Functional Testing

CategoryDescriptionTools
PerformanceResponse timeK6, Postman
LoadConcurrent usersK6
SecurityAuth bypass, injectionOWASP ZAP
DocumentationSwagger accuracyManual

Collections Postman

postman/
├── MyTelevision_API_Collection.json # 179 endpoints
├── MyTelevision_Admin_Collection.json # 150+ endpoints
├── MyTelevision_Account_Profile_Collection.json
└── environments/
├── local.json
├── staging.json
└── production.json

Import & Setup

  1. Importer les collections dans Postman
  2. Importer l environnement (local/staging)
  3. Executer "Login" pour obtenir les tokens
  4. Les tokens sont automatiquement sauvegardes

Test Checklist

Authentication

  • Login avec email/password
  • Login avec Google
  • Login avec Apple
  • Refresh token
  • Logout
  • Invalid credentials (401)
  • Account suspended (403)
  • Rate limiting (429)

Accounts & Profiles

  • Creer compte
  • Lister profils (max 4)
  • Creer profil standard
  • Creer profil kids
  • Changer de profil
  • PIN management
  • Supprimer profil (pas default)
  • Account deletion (30j retractation)

Content

  • Lister films avec pagination
  • Filtrer par genre, access type
  • Recherche textuelle
  • Details film
  • Lister series
  • Saisons et episodes
  • Live TV channels
  • Radio channels
  • Podcasts
  • News
  • Events

Streaming

  • Generer token streaming
  • Verifier token
  • Revoquer token
  • Token expire
  • Max uses
  • IP binding

Engagement

  • Like/Dislike content
  • Toggle reaction
  • Ajouter favori
  • Lister favoris
  • Enregistrer vue
  • Cooldown vue (30 min)
  • Watch history

Bug Reporting

Template

## Description

[Description claire du bug]

## Steps to Reproduce

1. Step 1
2. Step 2
3. Step 3

## Expected Result

[Ce qui devrait se passer]

## Actual Result

[Ce qui se passe reellement]

## Environment

- Environment: [Local/Staging/Production]
- Browser/Client: [Chrome/iOS/Android]
- Version: [API version]

## Evidence

[Screenshots, logs, request/response]

## Severity

[Critical/High/Medium/Low]

Severity Levels

LevelDescriptionExample
CriticalSystem down, data lossAPI crash, auth bypass
HighMajor feature brokenCannot play video
MediumFeature partially brokenPagination incorrect
LowMinor issueTypo in response

Release Criteria

Definition of Done

  • Unit tests pass (80%+ coverage)
  • E2E tests pass
  • No critical/high bugs
  • Documentation updated
  • Performance acceptable (< 500ms P95)
  • Security scan clean
  • Code review approved

Go/No-Go Checklist

  • All planned features implemented
  • All blocking bugs fixed
  • Staging tests passed
  • Rollback plan ready
  • Monitoring alerts configured