soa testing tutorial
Tutorial sul test SOA:
In questo articolo, discuteremo le tecniche di test per un'architettura SOA.
I software attuali sono così versatili e inclini a gestire le mutevoli aspettative degli utenti di tanto in tanto, un modello autonomo non è utile.
Ecco dove si inserisce la SOA come soluzione.
Questo è il motivo per cui molte aziende stanno adattando o stanno cercando di adattare l'approccio SOA a causa dei suoi vantaggi come; Riduzione dei costi, agilità aziendale, facilità di manutenzione, ecc. Con il mercato imminente pieno di architettura SOA, diventa necessario per i tester moderni farsi un'idea corretta dei test SOA.
come aprire i file bin su Windows 8
In questo articolo, tratteremo le basi della SOA con esempi di esso.
Questo darebbe ai lettori un'idea di base su SOA. Questo sarebbe seguito dall'approccio di implementazione dei servizi web. Infine, entreremo nel processo di test che può essere seguito per un modello di architettura SOA.
Cosa imparerai:
- Cos'è SOA?
- Esempi di SOA
- Servizi web
- Processo di test SOA
- Sfide nei test SOA
- Strumenti di test SOA
- Lettura consigliata
Cos'è SOA?
SOA o Sevice-Oriented-Architecture è un metodo flessibile / agile / efficiente per integrare varie applicazioni / servizi in modo da soddisfare determinate esigenze aziendali.
- A differenza di altri sistemi complicati, SOA comprende componenti / servizi / micro servizi più piccoli legati insieme in modo da soddisfare le esigenze aziendali.
- I servizi sono le unità che compongono il sistema e quando c'è bisogno di un cambiamento, piuttosto che cambiare l'intero sistema, il servizio specifico viene modificato.
- Un servizio è un componente in grado di eseguire un'attività.
- Questa architettura è più vendibile rispetto al sistema legacy poiché l'utente finale ottiene solo i servizi necessari per soddisfare le sue esigenze. Non deve prendere l'intero sistema.
- I servizi / micro-servizi sono debolmente accoppiati, riutilizzabili, apolidi che rendono il sistema ancora più robusto.
- Questo modello è altamente efficiente in termini di costi in termini di distribuzione, sviluppo e manutenzione.
Esempi di SOA
Esigenza aziendale: Un'applicazione a cui un utente può accedere e cercare ristoranti in base alla geolocalizzazione, scaricare i dettagli del ristorante e il menu dal server una volta completata la ricerca e infine è possibile effettuare un pagamento per effettuare l'ordine.
Questa esigenza aziendale può essere soddisfatta mediante l'implementazione della SOA.
Possono esserci servizi / micro-servizi come segue per eseguire varie attività:
- Durante l'accesso, il servizio che verrebbe utilizzato è 'Servizio di autenticazione'
- La ricerca di ristoranti verrebbe eseguita dal 'servizio di geolocalizzazione'
- Il download del menu deve essere eseguito dal 'Servizio Downloader menu'
- Infine, il pagamento verrà effettuato tramite 'Servizio di pagamento'
Ciascuno dei servizi sopra menzionati fa qualcosa di unico in modo da far funzionare il sistema e fornire ciò che dovrebbe fare. Ora, se un cliente ha bisogno di vedere solo il ristorante e il suo menu ma non ha bisogno di un'interfaccia Payment Gateway, acquisterà / distribuirà solo i primi tre servizi.
Ciò semplifica il lavoro per lo sviluppo, la distribuzione, le vendite, la manutenzione e, dopo tutto, il cliente / utente finale.
Servizi web
- Si tratta di API (interfacce di programmazione di applicazioni) che facilitano l'interazione tra diversi programmi software.
- C'è un fornitore di servizi che ospita il servizio sul web. Come parte dell'hosting, un WSDL è ospitato dal provider.
- Quando il Cliente invia un messaggio di richiesta al fornitore di servizi, la comunicazione viene stabilita con l'utilizzo dell'URL / WSDL.
- Nell'esempio riportato di seguito, il server di geolocalizzazione ospita un servizio Web utilizzato dal richiedente del servizio.
Processo di test SOA
Ogni prodotto, modello, infrastruttura deve passare in fase di Testing in modo da soddisfare l'utente finale in termini di prodotto di buona qualità. Il test SOA non si limita solo al test di un livello / test del protocollo del servizio Web. Questo è il test generale dell'architettura e di ogni sua parte.
L'approccio di test può essere simile a quello del normale processo di test. cioè
- Processo di revisione dei requisiti
- Pianificazione dei test
- Progettazione di test
- Configurazione dell'ambiente
- Fase di esecuzione
- Fase di segnalazione
Il processo di test SOA ruota attorno a 3 livelli nell'architettura:
- Consumatori di servizi
- Livelli di elaborazione
- Livelli di servizio
Seguendo lo stesso esempio sopra, possiamo avere i nostri livelli come segue:
- Il livello del consumatore del servizio aiuta nell'interazione del consumatore. Questo aiuta a leggere l'input dell'utente finale e restituisce la risposta appropriata per la richiesta ricevuta. In altre parole, questo ha fondamentalmente l'interfaccia utente.
- Questo è il livello che si concentra sul fronte dell'implementazione. Questo livello nel nostro esempio avrà metodi di autenticazione, creazione di un utente ecc.
- I livelli di servizio sono le funzioni aziendali in termini di servizi. Tutti i servizi che vengono effettivamente chiamati quando viene eseguita un'attività specifica si trovano in questo livello.
Il test può essere sostanzialmente suddiviso in 4 fasi differenti;
Livello # 1
1) Test del livello di servizio:
- Ogni servizio coinvolto nel sistema viene testato individualmente in base a un metodo di richiesta e risposta.
- Questo test è obbligatorio e molto importante per procedere con altri processi di test.
2) Test funzionale:
- Il test viene condotto per i servizi sulle loro esigenze aziendali per scoprire se la risposta ricevuta è corretta.
- Le esigenze aziendali vengono prima convertite in casi di test e vengono formate le istruzioni di richiesta.
- Quindi le istruzioni di richiesta vengono elaborate per vedere se le risposte ottenute sono corrette.
- In caso di dati di input non validi, deve essere generato il codice di errore appropriato o deve essere attivato un messaggio di errore appropriato.
- I formati della risposta, così come gli scenari negativi, devono essere eseguiti.
3) Test di sicurezza:
- Ogni volta che si tratta di un servizio web, i test di sicurezza giocano un ruolo chiave nel successo del processo di test.
- I gateway di autenticazione, i gateway di pagamento ecc. Devono essere crittografati quando i dati vengono analizzati.
- Quando si tratta di XML, è necessario verificare le vulnerabilità come CSRF e SQL injection.
4) Test delle prestazioni:
- I servizi utilizzati nell'architettura sono ospitati in modo che molte altre applicazioni possano utilizzarli. I test delle prestazioni garantiscono la credibilità di tali servizi.
- Il test dei servizi dovrebbe essere fatto per scoprire le seguenti serie di risultati;
- Per determinare la stabilità dei servizi.
- Validare la scalabilità dei servizi.
- Comportamento del servizio in condizioni di carico di punta
- Per trovare i tempi di risposta tra i servizi
Livello # 2
1) Test di processo:
- Questo processo prevede la verifica di vari processi aziendali.
- Ciò dovrebbe comprendere gli scenari di integrazione dei servizi Web e dell'applicazione che coprono i requisiti aziendali
- È necessario utilizzare simulatori per generare dati di input di esempio e la convalida deve essere eseguita per i rispettivi output.
- Il flusso di dati da diversi livelli dovrebbe essere eseguito per dimostrare il corretto funzionamento del sistema quando è integrato.
Livello 3
1) Test end to end:
join sinistro contro join esterno sinistro
- Questa fase ha lo scopo di convalidare i requisiti aziendali sia dal punto di vista funzionale che non funzionale.
- L'interfaccia utente dell'applicazione viene convalidata.
- Il processo aziendale coinvolto viene testato.
- Il flusso di dati end-to-end viene convalidato in questa fase.
- Il lavoro con tutti i servizi quando i servizi sono integrati tra loro viene convalidato.
Livello 4
1) Test di regressione:
- La stabilità del sistema nelle versioni di build incrementali è convalidata da questo test.
- Ciò può essere ottenuto tramite test manuale / test di automazione.
Sfide nei test SOA
Qualcuno ha giustamente detto: “Più grande la maglia; Più grande è il casino! ”. SOA può diventare un bambino davvero complesso e affamato di attenzioni.
In altre parole, con così tante minuscole parti che costituiscono l'architettura SOA, diventa un lavoro davvero duro certificarla in Testing.
- Difficile simulare gli ambienti di test per portare avanti il processo di test.
- I prodotti coinvolti nel modello possono essere della stessa tecnologia / fornitore. Ma possono anche essere diversi. Altri problemi?
- Le combinazioni di test aumentano con il numero di servizi / componenti coinvolti.
- Complessità nel modello
- La riproduzione / verifica dei problemi è un lavoro duro.
- A differenza di altri modelli, l'obiettivo principale del test dovrebbe essere l'ambito aziendale piuttosto che il servizio e le sue caratteristiche.
Strumenti di test SOA
Esistono numerose applicazioni per i test SOA. Gli strumenti di test SOA vengono selezionati in base ai risultati accurati e alla migliore produttività.
- SoapUI: Questo è uno strumento gratuito finalizzato al test dei servizi Web. SoapUI è in grado di eseguire test funzionali, test delle prestazioni e test di carico
- Apache Jmeter: Questa è anche un'utilità OPEN SOURCE utilizzata per analizzare le prestazioni della chiamata SOAP.
- JProfiler: Viene utilizzato per arrestare o rilevare la perdita di memoria, trovare colli di bottiglia nelle prestazioni, ecc.
- Test del servizio HP: Questo è integrato in HP QC. Questo è uno strumento di test funzionale, che supporta anche i test dell'interfaccia utente e dei servizi condivisi
Attraverso questo articolo abbiamo compreso la singolarità del modello. Questo è molto diverso dal modello precedente e l'articolo ne dà una buona idea. Questo articolo fa anche luce sulla procedura SOA e sui modi per procedere con il test.
Circa l'autore: Questo è un guest post di Subhasis. Lavora come team lead con oltre 8 anni di esperienza aziendale lavorando per aziende IT Fortune 500.
Pubblica le tue domande / commenti relativi ai test SOA di seguito.
Ti auguro il meglio!
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Download dell'eBook Testing Primer
- Tutorial sui test distruttivi e non distruttivi
- Test funzionale vs test non funzionale
- Tutorial approfonditi su Eclipse per principianti
- I 15 migliori strumenti di test SOA per tester
- Tutorial sul test pairwise o sul test per tutte le coppie con strumenti ed esempi
- Tutorial sullo strumento di test dell'accessibilità di WAVE