Test Di Scalabilità: 7 Passi Verso Il Successo
I sistemi che funzionano molto bene durante lo sviluppo, distribuiti su piccola scala, possono trascurare di raggiungere gli obiettivi di prestazione una volta che la distribuzione è stata ridimensionata attorno a supportare i gradi di utilizzo di supporto.
Un caso esemplare appropriato di ciò proviene da una significativa società di chip blu che ha recentemente esternalizzato lo sviluppo di una piattaforma ad alta tecnologia lungimirante. Sebbene lo sviluppo fosse in ritardo, ciò è considerato accettabile. La macchina è passata gradualmente attraverso i componenti funzionali di un singolo test di accettazione e infine è apparsa come se una data di distribuzione potesse essere impostata. Ma il fornitore ha iniziato il test di carico e i test di scalabilità. Seguirono una quantità estesa e costosa di modifiche architettoniche e modifiche ai requisiti della macchina. Il fornitore ha combattuto eroicamente per fornire un sistema soddisfacente, fino a quando finalmente il progetto non è stato messo in giro.
Questo non è un caso isolato. Il folklore abbonda di racconti simili. Dai sistemi di spedizione di ambulanze ai siti Web per la presentazione elettronica delle dichiarazioni fiscali, i sistemi falliscono perché ridimensionano e sperimentano le esigenze di picco. Tutti questi progetti sembrano non aver mai identificato e ordinato i principali rischi che hanno affrontato. Questo può essere una fase fondamentale dei test basati sul rischio e si applica anche ai test di scalabilità o ai test di carico poiché lo fa per i test di funzionalità o i test di continuità aziendale. Senza valutazione del rischio non hanno riconosciuto che il ridimensionamento era tra i maggiori rischi, molto di più per fornire tutta la funzionalità
Le recenti tendenze verso l'architettura orientata al servizio (SOA) cercano di affrontare il problema della scalabilità, ma introdurre inoltre nuove questioni. L'incorporazione dei servizi forniti esternamente nella soluzione attuale implica che la capacità di ridimensionare ora dipende da questi sistemi esterni operano sotto carico. Assicurare che questo può essere un compito impegnativo e purtroppo i test di deformazione e i test di stress qui sono spesso trascurati.
La migliore pratica sarebbe quella di iniziare lo sviluppo di un sistema software di grande scala utilizzando le sue prestazioni chiaramente a cuore, in particolare i test di scalabilità, i test del volume e il test di carico. Per generare questo focus sui test delle prestazioni: