Informazioni sullo strumento
La maggior parte dei piani di test API dimentica le stesse cose: autorizzazione a livello di oggetto, retry idempotenti, casi limite della paginazione, header di rate limit e body di errore che espongono dettagli interni. Descrivi un endpoint (metodo, path, se richiede autenticazione, se accetta un body, se è paginato, se accetta un Idempotency-Key o ha un rate limit) e questo strumento applica un insieme fisso di regole per produrre una checklist numerata con priorità, passi e risultato atteso per ogni caso. L’output è deterministico, quindi lo stesso endpoint produce sempre gli stessi ID, e i test case esportati restano stabili quando li rigeneri. Consideralo un punto di partenza: aggiungi le regole di business che conosci solo tu.
Come si usa
- Scegli il metodo e inserisci il path. Usa {id} o :id per i parametri di path, così vengono aggiunti i casi di risorsa non trovata e controllo accessi.
- Spunta le caratteristiche che valgono per l’endpoint.
- Rivedi la checklist, filtra per categoria se serve, e copiala o scaricala come tabella Markdown o CSV per il tuo strumento di test management.
Template di test case per API REST: domande frequenti
Che cos’è BOLA (o IDOR) e perché è P1?
Broken Object Level Authorisation significa che un utente può accedere all’oggetto di un altro utente cambiando un id nella richiesta. È il rischio principale della OWASP API Security Top 10 perché è comune e facile da sfruttare, quindi ogni endpoint con un id nel path dovrebbe avere questo test.
Perché non ci sono casi con chiave di idempotenza per PUT o DELETE?
La RFC 9110 definisce PUT e DELETE (e GET) come idempotenti, quindi ripeterli deve produrre lo stesso effetto anche senza chiave. Per questi metodi lo strumento aggiunge invece un caso “repeat the request”. Idempotency-Key conta per POST e PATCH.
Posso importare il CSV in Jira, TestRail o Xray?
Il CSV ha le colonne ID, Category, Priority, Title, Steps ed Expected result con quoting standard, quindi la maggior parte delle procedure di importazione è in grado di mapparlo. Durante l’importazione dovrai associare le colonne ai campi del tuo strumento.