Quando si implementa un servizio di web API, siano esse RESTful o RESTless, in progetti piuttosto piccoli si può pensare di accontentarsi di qualche semplice test "manuale". In seconda battuta, si possono sfruttare curl ed un po' di shell scripting per implementare alcuni test più specifici e completi.
Tuttavia, è facile convincersi che anche quest'ultima soluzione pecca in termini di manutenibilità. Aumentando la complessità delle nostre API, è infatti facile arrivare a dover scrivere script sempre più complicati. È quindi decisamente preferibile utilizzare strumenti che automatizzino il testing, magari scrivendoli durante lo sviluppo dell'applicazione.
Il problema irrisolto ha però a che fare con il load testing, ovvero il processo che ci permette di verificare la capacità di carico delle nostre API (e quindi, come diretta conseguenza, della nostra infrastruttura, web server compreso). Per questa necessità, esiste un servizio particolarmente utile e facilmente accessibile online: Loader.io.
Loader.io ci permette di effettuare test di carico direttamente sfruttando una interfaccia web. Accedendo al sito di Loader.io ed iscrivendosi, è possibile scegliere tra due piani: uno gratuito e limitato (è possibile testare un solo host, per non più di un minuto, e con non più di 2 URL per volta), ed uno a pagamento, senza grosse limitazioni.
Una volta ottenute le credenziali e verificato l'account, è possibile aggiungere un nuovo host
Ci verrà quindi chiesto di aggiungere alcuni file nella directory principale dell'host, in modo da verificare la nostra paternità dell'host ed effettuare i test evitando di saturare la banda di qualche altro malcapitato server.
Fatto ciò, non resta che sfruttare l'interfaccia intuitiva di Loader.io per creare un nuovo test
Una volta creato il test, è possibile lanciarlo. Al termine, verrà generato un report interattivo
Non resta che provare questo tool e sfruttarlo al meglio per i nostri progetti (presenti e futuri).