getting started with cloud testing
In questo articolo impareremo come eseguire il 'Cloud Testing'. Per capirlo, dobbiamo prima conoscere il concetto di Cloud Computing. Questo articolo spiega il Cloud Computing, il Cloud Testing e le principali sfide con i test nel cloud.
Introduzione al cloud computing
Diversi anni fa, il settore ha assistito a una nuova parola d'ordine e tecnologia chiamata 'virtualizzazione'. Con l'avvento della virtualizzazione, l'ideologia della condivisione delle risorse di elaborazione tra più sistemi operativi al fine di aumentare la scalabilità, ridurre i costi di capitale e consentire una facile amministrazione dell'infrastruttura IT, è diventata la spina dorsale di diverse aziende.
Negli ultimi anni, l'IT ha assistito a un'evoluzione della virtualizzazione sotto forma di cloud computing. Qualsiasi principiante del cloud deve immaginare il cloud computing come un modello che vede tutto 'come servizio'.
È ovvio definire il cloud computing come una soluzione totale che fornisce l'IT come servizio. Come la virtualizzazione, il suo motto è la condivisione delle risorse in base alla quale l'allocazione e la disponibilità sono on-demand tramite Internet.
(Immagine fonte )
Esempio di vita reale per spiegare il cloud computing:
Possiamo facilmente comprendere la teoria di Cloud computing prendendo un semplice esempio di un pasto in un ristorante. Per esempio, considera di consumare un pasto a casa rispetto a quello di un ristorante. Sebbene l'obiettivo sia puramente il consumo di un pasto, l'approccio o il modello utilizzato in entrambi i casi varia in larga misura.
A casa, devi assicurarti di avere tutti gli ingredienti necessari per il pasto, devi assicurarti che la preparazione richiesta per cucinare il piatto particolare sia fatta. Tu cucini il cibo e la responsabilità di mantenere in ordine l'ambiente circostante dopo che il piatto è cucinato appartiene esclusivamente a te.
Ora, d'altra parte, consumare un pasto al ristorante può essere descritto come un catering che è un servizio. Come cliente, vai solo al ristorante, ordina il piatto che preferisci e paghi i servizi.
Il vantaggio di possedere gli ingredienti, preparare il piatto, cucinare il piatto, la sua presentazione, servirvi il piatto, sparecchiare e pulire la tavola una volta finito, imballare gli avanzi in eccesso ricade sull'amministrazione del ristorante.
Questo esempio può essere visto come simile alle ideologie e ai principi del Cloud Computing: 'Disponibilità su richiesta', 'Come servizio' e 'Paga per l'utilizzo'.
Cosa imparerai:
Modelli di consegna cloud
(Immagine fonte )
Il cloud ha principalmente tre tipi di modelli di consegna o componenti che forniscono funzionalità 'as a Service':
- Infrastructure as a Service (IaaS) : Questo è il livello più fondamentale che costituisce l'elemento costitutivo del cloud. Comprende principalmente risorse fisiche come archiviazione, dispositivi di rete, server di elaborazione, ecc. Tutte queste risorse di elaborazione sono disponibili su richiesta, dove un utente paga per il suo utilizzo.
- Platform as a Service (PaaS) : Il livello centrale nel cloud è la piattaforma. Qui non c'è controllo sull'infrastruttura sottostante, ma puoi accedere alle applicazioni distribuite. Quindi questo fornisce l'intero ambiente di runtime su richiesta che potrebbe essere un ambiente di sviluppo o di test. Quindi in questo modello, più comunemente avresti una VM che contiene un ambiente completo come il sistema operativo, il middleware richiesto, ecc. Disponibile quando ne hai bisogno.
- Software as a Service (SaaS) : Il livello più in alto qui è il livello dell'applicazione, che sarà generalmente visibile a qualsiasi utente. Qui, le applicazioni / i prodotti sono disponibili per gli utenti su richiesta tramite Internet. Quindi, invece di dover acquisire la licenza per un particolare utente, questo si rivela il modo più conveniente per assicurarsi che la licenza sia sempre in uso. Esempi di questo sono Gmail, Google Docs, Photoshop, ecc.
Tipi di cloud
Esistono 3 tipi di formazioni di nuvole, ovvero cloud pubblici, privati e ibridi:
- Cloud pubblici sono quelle in cui i servizi sono a disposizione di tutti, dove le risorse sono allocate ed erogate dinamicamente su richiesta.
- Cloud privati sono generalmente gestiti nell'ambito delle regole firewall di una particolare organizzazione e sono disponibili solo per gli utenti all'interno dell'azienda.
- Nuvole ibride sono un misto di cloud pubblici e privati. Le organizzazioni possono decidere quali servizi vogliono esporre a tutti e quali servizi vogliono esporre solo agli utenti all'interno dell'organizzazione.
Cloud Testing - Necessario
Cloud Testing si riferisce al test di risorse come hardware, software, ecc. Disponibili su richiesta . Anche i test qui possono essere visti 'come un servizio'. Per le offerte cloud, è essenziale assicurarsi che il servizio (prodotto) non solo soddisfi i suoi requisiti funzionali ma anche i requisiti non funzionali. Con una gamma di applicazioni nel cloud, ora sta diventando essenziale sviluppare la strategia di Cloud Testing.
Vantaggi del cloud test
La necessità di testare il cloud è facilmente visibile con i vantaggi che ne deriviamo, che sono decisamente troppi. Di seguito abbiamo tentato di discutere i vantaggi più evidenti che spiegano perché Nube è il bisogno dell'ora:
sistema di gestione di database relazionali open source
- Disponibilità dinamica di ambiente di test : Il normale approccio di test in qualsiasi organizzazione consiste nell'investire nell'infrastruttura hardware / software richiesta per il test. Quasi, molti di voi concorderanno sul fatto che l'ambiente fornito ai team di test molto raramente corrisponde all'ambiente del cliente a causa dei requisiti in rapida evoluzione, per cui è molto difficile per le aziende mantenerlo. Il cloud è l'unica risposta a questo problema in base al quale gli utenti possono facilmente replicare l'ambiente di un cliente e trovare i difetti nelle prime fasi del ciclo.
- Basso costo : Un altro punto di vista del punto precedente è che quando le aziende investono nell'infrastruttura, la causa normale è che molti dei loro server non vengono utilizzati tutto il tempo. Di conseguenza, potrebbero dover sostenere spese aggiuntive per il rinnovo della licenza. La transizione al cloud aiuta anche in questo scenario, poiché gli utenti possono commissionare le appliance come e quando vogliono, risparmiando così enormi costi per un'organizzazione.
- Facilmente personalizzabile : Con l'uso del cloud, è un compito facile per le organizzazioni emulare un ambiente incentrato sull'utente finale personalizzandolo in base all'utilizzo, risparmiando così costi e tempo. I team di test possono eseguire facilmente scenari di test di carico e prestazioni in varie permutazioni e combinazioni come: diversi sistemi operativi, browser, configurazioni, ecc.
- Scalabilità : Questa è una delle caratteristiche più interessanti del cloud, grazie alla quale le risorse di elaborazione possono essere aumentate o diminuite ovunque sia necessario. Questo è ampiamente utilizzato in situazioni in cui i requisiti aziendali continuano a cambiare frequentemente.
Approfondimento del cloud test
Il test rispetto a un cloud utilizzerà metodi sia tradizionali che new age per eseguire i test. Test e cloud sono domini altrettanto grandi nel loro percorso. Impariamo come visualizzare entrambi insieme nelle sezioni seguenti.
# 1) Moduli di test cloud
Cloud Testing può essere ampiamente suddiviso in quattro diverse categorie in base a ciò che intendono fare:
- Test dell'intero cloud: Il cloud viene visto come un'entità intera in base alle sue caratteristiche e il test viene eseguito in base a questo.
- Test in un cloud: Questo è il test che viene effettuato all'interno del cloud verificando ciascuna delle sue caratteristiche interne
- Test attraverso le nuvole: In base alle specifiche, qui il test viene effettuato sui diversi tipi di cloud pubblici, privati e ibridi simili a cloud.
- Test SaaS nel cloud: I test funzionali e non funzionali vengono eseguiti in base ai requisiti.
# 2) Ambienti di test cloud
Esistono 3 tipi di ambienti di test cloud:
- Un ambiente privato o pubblico in cui è necessario convalidare la qualità delle applicazioni distribuite.
- Un ambiente ibrido, in cui la qualità delle applicazioni distribuite deve essere convalidata.
- Un ambiente di test basato sul cloud, in cui è necessario convalidare la qualità delle applicazioni distribuite nel cloud.
# 3) Tipi di test eseguiti nel cloud
Il test in un cloud non deve solo garantire che i requisiti funzionali siano soddisfatti, ma è necessario porre una forte enfasi anche sui test non funzionali. Diamo uno sguardo ai diversi tipi di test che vengono eseguiti.
Test funzionali :
Il test funzionale deve essere eseguito per assicurarsi che l'offerta fornisca i servizi per i quali l'utente sta pagando. I test funzionali assicurano che i requisiti aziendali vengano soddisfatti.
Alcuni dei test funzionali sono descritti di seguito:
- Test di verifica del sistema : Questo assicura che i vari moduli funzionino correttamente l'uno con l'altro, assicurandosi così che il loro comportamento sia quello previsto.
- Test di accettazione : Qui la soluzione basata su cloud viene consegnata agli utenti per assicurarsi che soddisfi le loro aspettative.
- Test di interoperabilità : Qualsiasi applicazione deve avere la flessibilità di funzionare senza problemi non solo su piattaforme diverse, ma deve anche funzionare senza problemi quando si passa da un'infrastruttura cloud a un'altra.
Test non funzionali:
I test non funzionali si concentrano principalmente su test basati su applicazioni web che assicurano che soddisfino i requisiti desiderati.
semplice programma di ordinamento di unione in c ++
Ecco alcune forme di test non funzionali discussi di seguito:
# 1) Test di disponibilità : Il supervisore / fornitore del cloud deve assicurarsi che il cloud sia disponibile 24 ore su 24. Poiché potrebbero essere in corso molte attività mission-critical, l'amministratore deve assicurarsi che non vi siano effetti negativi per i consumatori
# 2) Test multi-tenancy : Qui, più utenti utilizzano un'offerta cloud. È necessario eseguire test per garantire che vi sia una sicurezza e un controllo dell'accesso sufficienti ai dati quando più utenti utilizzano una singola istanza.
# 3) Test delle prestazioni : La verifica del tempo di risposta deve essere effettuata per garantire che tutto sia intatto anche quando ci sono molte richieste da soddisfare. La latenza di rete è anche uno dei fattori critici per valutare le prestazioni.
Inoltre, il bilanciamento del carico di lavoro deve essere eseguito in caso di riduzione del carico, disattivando le risorse. Pertanto, i test di carico e di stress vengono eseguiti nell'offerta cloud per assicurarsi che le applicazioni funzionino in modo ottimale con un aumento / diminuzione del carico e dello stress.
# 4) Test di sicurezza : Poiché tutto è disponibile in qualsiasi momento con Cloud, è essenziale assicurarsi che tutte le informazioni sensibili degli utenti non abbiano accesso non autorizzato e che la privacy degli utenti rimanga intatta. Quando si mantengono le applicazioni nel cloud, è necessario verificare anche l'integrità dei dati dell'utente.
# 5) Test di ripristino di emergenza : Come già affermato nei test di disponibilità, il cloud deve essere sempre disponibile e se ci sono guasti di qualsiasi tipo come interruzioni di rete, guasti dovuti a carichi estremi, guasti di sistema, ecc., Misurare la velocità con cui viene indicato l'errore e se presente durante questo periodo si verifica una perdita di dati.
# 6) Test di scalabilità : Test per assicurarsi che l'offerta abbia la capacità di fornire strutture di scalabilità o ridimensionamento in base alle necessità.
Strumenti di test cloud
In questa sezione sono menzionati alcuni degli strumenti utilizzati in diversi tipi di test eseguiti in un ambiente cloud. I dettagli degli strumenti non rientrano nell'ambito di questo articolo.
Strumenti per il test delle prestazioni nel cloud:
Molti degli strumenti sono fondamentalmente utilizzati per prestazioni, carico, stress test. Alcuni di questi strumenti di seguito possono essere utilizzati anche per i test funzionali:
- SOASTA CloudTest
- LoadStorm
- CloudTestGo
- AppPerfect.
- Jmeter
- Cloudslueth
- CloudTestGo
- AppPerfect
Strumenti di test per la sicurezza del cloud:
Esistono anche alcuni strumenti relativi alla sicurezza comunemente utilizzati:
- Nessus
- Wireshark
- Nmap
=> Fare clic qui per un elenco completo degli strumenti di test di automazione basati su cloud
Sfide del test del cloud
Per quanto emozionante possa sembrare la nuvola, qui non tutto è fantastico. Ci sono anche alcune difficoltà nell'affidarsi e nell'usare il cloud come infrastruttura. Diamo un'occhiata ad alcune delle principali preoccupazioni durante l'utilizzo del cloud.
Sfida # 1) Con tutto ciò che è disponibile su richiesta per qualsiasi utente, la sicurezza è un problema primario per le aziende poiché attualmente nel settore sono ancora in corso molte discussioni e ricerche per impostare standard di sicurezza. Protezione della privacy degli utenti, standard di sicurezza sul cloud, sicurezza delle applicazioni in esecuzione nel cloud, Tecniche di test di sicurezza sono alcuni dei problemi principali che devono essere affrontati nell'infrastruttura cloud.
Sfida # 2) Un'altra grande sfida è rappresentata dalle prestazioni di un'applicazione in un cloud, in particolare nei cloud privati. Sarà condiviso tra molti utenti e quindi potrebbe portare anche a ritardi. Anche in caso di alcune attività di manutenzione o interruzione del servizio, la larghezza di banda potrebbe sembrare insufficiente.
Sfida # 3) A volte, a scopo di test, richiediamo determinate configurazioni rispetto a server, archiviazione o rete che potrebbero non essere supportate dal fornitore di servizi cloud. Questo a volte rende difficile emulare gli ambienti dei clienti.
Sfida n. 4 )Un'altra sfida comunemente affrontata è relativa al test di integrazione in cui i tester testano la rete, il database, i server, ecc. In tali situazioni, il tester non avrà il controllo sull'ambiente sottostante. In secondo luogo, la sfida è raddoppiata quando deve esserci un'interazione tra questi componenti perché il tester dovrà anticipare rischi come arresti anomali, interruzioni di rete o server che falliscono.
Conclusione
Oggi, il Cloud Computing è diventato uno di quei 'big bang' del settore. La maggior parte delle organizzazioni è ora propensa all'adozione del cloud a causa del suo flessibilità, scalabilità e costi ridotti .
L'utilizzo del cloud per i test aiuta immensamente le organizzazioni ad acquisire gli strumenti necessari, le licenze software e le infrastrutture a un costo molto basso senza doverlo configurare autonomamente e in seguito preoccuparsi del suo massimo utilizzo.
Evidentemente, una nuvola è destinata a durare a lungo e anche i test sul cloud hanno un futuro luminoso. :)
Circa l'autore : Questo è un articolo di Sneha Nadig. Lavora come Test lead con oltre 7 anni di esperienza in progetti di test manuali e di automazione.
Stai lavorando su Cloud Testing? Per favore condividi la tua esperienza. O hai una domanda? sentiti libero di pubblicarlo nei commenti.
Lettura consigliata
- Guida introduttiva al test cloud
- Test delle prestazioni del cloud: fornitori di servizi di test di carico basati sul cloud
- Test di applicazioni mobili basati su cloud: una panoramica completa
- I migliori fornitori di servizi di test di app mobili basati su cloud nel 2021
- 10 MIGLIORI strumenti di monitoraggio del cloud per una perfetta gestione del cloud
- 10 MIGLIORI provider di archiviazione cloud gratuiti (archiviazione online 2021)
- 12 MIGLIOR provider di cloud hosting nel 2021 (rispetto per servizio e costo)