Come superare le 5 maggiori sfide nei test delle API

Impara a superare le sfide comuni del testing delle API migliorando al contempo funzionalità, affidabilità e sicurezza.
Sfide del testing delle API

Di Manoj Chaudhary, CTO e SVP dell'Ingegneria

Per verificare la funzionalità, l'affidabilità e la sicurezza delle loro interfacce di programmazione delle applicazioni (API), i team IT conducono una serie di test diversi, tra cui valutazioni funzionali, di governance, di caos, di penetrazione, di prestazioni, di stress e di longevità. Di seguito, delineiamo cinque delle sfide più comuni nei test delle API che i team devono affrontare e offriamo i nostri consigli per risolverle.

1. Superare la configurazione iniziale

Creare, sviluppare e rendere operativa un'infrastruttura di test può rivelarsi un'impresa lunga e laboriosa, e potrebbe essere difficile mantenere motivato il team durante l'intero processo.

La nostra raccomandazione

Spiegare come il processo di testing ripaghi sul lungo termine può essere fondamentale per motivare un team di test. È importante anche sottolineare quanto questa fase sia critica nell'ambito del testing delle API in generale. Durante la configurazione iniziale, pensa attentamente a come testerai l'API e a cosa richiedono quei test nella progettazione della tua infrastruttura.

2. Generazione e gestione di grandi volumi di dati di test

Le API con molti parametri richiedono una quantità significativa di dati (e in alcuni casi, dati ad alta cardinalità) per un testing efficace. Creare, mantenere e garantire che questi dati siano riutilizzabili può rappresentare una sfida per i tester.

La nostra raccomandazione

La chiave per generare e configurare i dati di test consiste nel comprendere le strutture delle richieste e delle risposte e le relative chiamate API. Utilizza strumenti di gestione dei dati che ti consentano di comprendere queste connessioni, quindi maschera, genera e crea subset di nuovi dati adatti alle tue esigenze di test.

3. Comprendere chiaramente gli obiettivi per i test di governance

Di fondamentale importanza per le API progettate per applicazioni cloud multi-tenant, i test di governance vengono eseguiti per proteggere l’infrastruttura dall’uso eccessivo, dai “vicini rumorosi” e dagli attacchi. Le API dispongono in genere di regole di governance relative al loro usage (ad esempio, politiche di archiviazione, limiti di frequenza e dimensione del payload), ma la mancanza di conoscenza e comprensione sia della logica architettonica delle API che di tali regole comporta spesso incertezza riguardo agli obiettivi dei test.

La nostra raccomandazione

I team possono mitigare questa sfida del testing delle API creando regole di governance ben definite e scritte; create utilità per il vostro team per modificarle secondo necessità per rendere il testing più semplice ed efficiente.

4. Eseguire il chaos testing in modo efficace

Nel 2010, i team di sviluppo e operazioni di Netflix hanno creato questa forma di test quando hanno iniziato a spostare l'infrastruttura tradizionale sull'infrastruttura cloud di Amazon Web Services (AWS). Chaos testing, o ingegneria del caos, è un approccio altamente disciplinato che verifica l'integrità del sistema simulando e identificando in modo proattivo i guasti prima che portino a interruzioni non pianificate o a una scarsa esperienza utente.

Il processo prevede:

  • Verificare che un sistema funzioni in uno stato stazionario definito. Innanzitutto, i tester devono identificare un output di sistema misurabile che indichi il normale comportamento di funzionamento. La creazione dell'infrastruttura e degli strumenti per definire e misurare uno stato stazionario può essere complessa, a seconda dell'architettura e dell'ambito delle applicazioni coinvolte.
  • Test per determinare che lo stato stazionario di un sistema si mantenga. Dopo aver stabilito uno stato stazionario, i tester determinano se questo continuerà in condizioni di controllo, sperimentali e del mondo reale.
  • Test per un impatto minimo sugli utenti. I tester interrompono o bloccano il servizio per determinare l'impatto negativo sugli utenti.
  • Introduzione al caos. Dopo aver stabilito che un sistema sta funzionando in uno stato stazionario definito, che tale stato si mantiene e che il “raggio dell'esplosione” è contenuto, i tester eseguono le loro applicazioni di chaos testing per vedere come si comporta il sistema in determinate condizioni di stress o circostanze (ad esempio, arresti anomali del server, guasti hardware o interruzioni delle connessioni di rete).

La nostra raccomandazione

Crea hook nella tua applicazione e infrastruttura che consentano al tuo team di testing di generare chaos e di ottenere facilmente metriche pertinenti sul raggio d'azione.

5. Coinvolgere il team giusto per il penetration testing

Nel penetration testing, un tester con una conoscenza operativa limitata della specifica API la attaccherà per valutare il vettore di minaccia da una prospettiva esterna. Gli attacchi possono prendere di mira l'intera API o determinate funzioni e processi.

La nostra raccomandazione

Un team interno può eseguire test di penetrazione iniziali, ma un penetration tester di terze parti dovrebbe eseguire i test di penetrazione approfonditi di follow-up.

Supera le sfide legate al collaudo delle API con Jitterbit API Manager

Nell’ambito della piattaforma unificata Harmony, Jitterbit API Manager semplifica il collaudo delle API fornendo visibilità sull'intero ciclo di vita — dalla progettazione al monitoraggio delle prestazioni — e favorendo la collaborazione attraverso una piattaforma centralizzata management console.

In Jitterbit API Manager, la documentazione API generata dalle definizioni OpenAPI viene automaticamente trasformata in documentazione Swagger UI interattiva, consentendo ai team di testare gli endpoint in tempo reale. Scopri di più su API Manager o connettiti con uno specialista di prodotto per richiedi una demo gratuita.

Hai domande? Siamo qui per aiutare.

Contattaci