Puntuale ogni sei mesi è uscito il nuovo aggiornamento di Technology Radar, un documento che spiega quali sono i cambiamenti più interessanti in ambito Software Development secondo ThoughtWorks e che ci aiutano a capire quali saranno le tecnologie di software testing da adottare nel 2020. Sono quindi quei temi sui quali vale la pena informarsi o addirittura considerarne l'utilizzo in un progetto. A redigere questo report c'è un gruppo di circa 20 senior technologist di ThoughtWorks, chiamato TAB.
Il radar consiste nel tracciare tutte le tecnologie e le tecniche che giocano un ruolo nello sviluppo del software. Questi elementi, che ThoughtWorks chiama blips (segnali lampeggianti), vengono categorizzati in quadranti e in cerchi. I quadranti rappresentano le diverse tipologie di segnale, mentre i cerchi indicano a quale grado di adozione il TAB pensa che siano.
I quadranti si suddividono in:
Anche gli anelli sono 4:
Il quadrante che abbiamo deciso di esplorare è quello delle tecnologie. Diamo un occhio ai blip da adottare:
"When adopting continuous delivery (CD) successfully, teams strive to make the various test environments look as close to production as possible. This allows them to avoid bugs that would otherwise only show themselves in the production environment. This remains just as valid for embedded and Internet of Things software; if we don't run our tests in realistic environments we can expect to find some bugs for the first time in production. Testing using real devices helps avoid this issue by making sure the right devices are available in the CD pipeline." - ThoughtWorks
Testare su device reali o simulatori è un elemento distintivo tra Testing Automation e Crowdtesting (qui abbiamo parlato delle differenze e di quando è meglio utilizzare l'una o l'altra tipologia). Testare su device reali significa chiedere ai tester (persone reali) di testare un prodotto digitale con i loro tablet, smartphone e pc (real devices) perché proprio questi dispositivi saranno poi utilizzati dall'utente finale dell'asset (app, sito, accessorio IoT, Chatbot, ecc).
Quali sono i dispositivi più diffusi sul mercato? Scarica qui il report!
Se non si testa su device reali, su cosa si testa?
Ci sono due tool: gli emulatori e i simulatori. Gli emulatori sono software che imitano l'hardware e il software del device scelto. Per farlo traducono l'ISA (Instruction Set Architecture) del dispositivo in quello utilizzato dal computer che funge da emulatore. I simulatori sono dei software che aiutano il computer a portare avanti dei programmi costruiti per diversi sistemi operativi. Sono più che altro costruiti per iPhone e iPad, mentre i dispositivi Android sono più semplici da emulare.Questa tabella rappresenta le differenze tra il test virtuale e quello su dispositivi reali. Ci sono però alcune precisazioni da fare.
Cost: Buying real devices at scale is cost prohibitive
Verissimo, è proprio per questo che esiste il Crowdtesting. Grazie a questo strumento, è possibile avere un numero infinito di device a portata di mano a un costo ridotto. Questo perché chi offre il servizio di Crowdtesting, come AppQuality, ha a disposizione una community di decine di migliaia di tester con i loro dispositivi reali pronti a testare sia lato funzionale che esperienziale. Questo abbassa enormemente i costi e permette di testare anche sui device appena usciti sul mercato.
Suitable for Debugging: Debugging with real testing devices could be tricky, especially while capturing defects
Anche qui ci sono delle precisazioni da fare. In AppQuality abbiamo una soluzione a questo problema, ovvero la nostra piattaforma Crowd e la nostra University. All'interno della piattaforma, i tester reali compilano i form in cui riportano un bug tramite descrizioni, screenshot e video. I bug trovati possono essere inviati tramite foglio Excel ma anche integrati ai sistemi più comuni, come ad esempio Jira. In questo modo, riportare un bug agli sviluppatori diventa semplicissimo, veloce ed efficace.
Fonte Radar: ThoughtWorks
Fonte tabella Real Testing Device vs Virtual Testing Device: Browserstack.com