GTAC 2016: presentazioni

Commenti iniziali

Matt Lowrie (Google)

Evoluzione della produttività aziendale e di ingegneria

Manasi Joshi (Google)

Link: Video, Presentazioni

In questo discorso di apertura, tentiamo di accompagnare tutti nel percorso di evoluzione della disciplina di produttività ingegneristica in Google e di come sia stato determinante nella crescita aziendale di Google per il movimento veloce, la stabilità e l'affidabilità molto attraverso i processi di sviluppo, rilascio e monitoraggio. Inoltre, allestiamo alcune delle sfide che siamo attualmente affrontati e nuovi orizzonti per testare la piattaforma multipiattaforma in un'esperienza di prodotto altamente connessa/verticale che Google sta attraversando.

Automazione della guida di robot di telepresenza

Tanya Jenkins (Cantilever Consulting)

Link: Video, Presentazioni

Testare l'interfaccia di guida di un dispositivo di telepresenza è complesso. Opera nel mondo reale, interagisce con persone e oggetti, ma deve essere testato in un ambiente controllato. Come puoi affrontare la creazione di un ambiente di guida remoto realistico, convalidando contemporaneamente la posizione e la posizione del dispositivo quando non riesci a vederlo? Ti presenterò una soluzione innovativa.

Cosa c'è nel tuo Wallet?

Hima Mandali (Capitale One)

Link: Video, Presentazioni

Capital One è una delle più grandi società di carte di credito negli Stati Uniti con oltre 70 milioni di conti. In Capital One stiamo creando tantissimi prodotti interessanti che forniscono esperienze digitali straordinarie ai nostri clienti. Con i dispositivi mobili che diventano il canale preferito dai nostri clienti, questa presentazione si concentrerà sul modo in cui abbiamo risolto il problema dell'automazione dei test per le app web mobile e su cosa abbiamo fatto per accedere a una pipeline di distribuzione del software più rapida. Condivideremo anche gli strumenti open source che abbiamo utilizzato e la dashboard open source che abbiamo creato per risolvere i nostri problemi.

Utilizzo delle statistiche di automazione dell'esecuzione dei test per prevedere quali test eseguire

Boris Prikhodky (Unity Technologies)

Link: Video, Presentazioni

I test sono diventati una parte vitale dei processi di sviluppo delle applicazioni, ma cosa fare quando un salvatore è diventato un collo di bottiglia nella vita quotidiana. Ecco la nostra esperienza su cosa abbiamo fatto quando abbiamo avuto 3-6 ore di attesa per l'esecuzione di una configurazione di test. In questo intervento è stato presentato un approccio semplice, ma potente, che fa risparmiare tempo prezioso nell'esecuzione di test sempre verdi in una fattoria di test e build. Vengono spiegati anche i possibili modi per migliorare il processo.

Automazione dei test basata su selenio per Windows e Windows Phone

Nikolaj Abalov (2gis)

Link: Video, Presentazioni

È disponibile Selenium per l'automazione dei test delle applicazioni web. Appium per le app mobile su iOS e Android. Tuttavia, per Windows Desktop e Windows Phone/Mobile abbiamo dovuto trovare una nostra soluzione basata su selenio. Quindi Winium è stato creato. Winium è una soluzione open source per l'automazione dei test di Windows Desktop e delle app Windows/Telefono. Winium è basato su selenio, quindi dovrebbe essere relativamente facile iniziare a usarlo per le tue esigenze di automazione se già conosci Selenium o Appium, può essere integrato nella tua infrastruttura selenio esistente. Nel intervento presenterò i progetti che compongono Winium e dimostreranno sia Winium.Desktop che Winium.Mobile in azione.

Il lato più curioso dei test

Brian Vanpee (Google)

Link: Video, Presentazioni

Non tutti i bug sono uguali. A volte le peculiarità nei linguaggi di programmazione che utilizziamo sono da biasimare e ritrovare questi ultimi ha spesso ostacolato anche i migliori programmatori e tester. Unisciti a noi per dare un'occhiata divertente al lato più stravagante dei test, mostrando alcuni esempi selezionati da molte delle lingue che utilizziamo ogni giorno. Infine, ti sfideremo per provare a indovinare questa stranezza, presentando una serie di esempi di stranezze disponibili in linguaggi quali C, Java, Objective-C, PHP e il linguaggio preferito di tutti.

Algoritmo ML per la configurazione dell'ambiente di test per dispositivi mobili

Rajkumar Bhojan (tecnologie Wipro)

Link: Video, Presentazioni

Con il rapido avanzare della tecnologia di computing dei dispositivi mobili, c'è una domanda significativa sui test delle applicazioni per dispositivi mobili sui dispositivi mobili. La gestione dei dispositivi mobili è un ruolo fondamentale dei test delle app per dispositivi mobili. Comprendere le relative sfide è fondamentale. Per evitare problemi specifici dei dispositivi, gli sviluppatori di automazioni di prova devono testare le proprie app su un gran numero di dispositivi, che è costoso ed inefficiente. In questo intervento, mostriamo in che modo l'algoritmo di machine learning può identificare il set di dispositivi corretto per configurare l'ambiente di test per dispositivi mobili.

"Potete sentirmi?": sopravvivere ai test di qualità audio

Alexander Brauckman e Dan Hislop (Citrix)

Link: Video, Presentazioni

IATF: un nuovo framework di test automatizzato multipiattaforma e API su più dispositivi

Yanbin Zhang (Intel)

Link: Video, Presentazioni

Per facilitare l'adozione della tecnologia WebRTC e renderla ampiamente disponibile per l'espansione o la creazione di nuove applicazioni, Intel ha sviluppato la soluzione WebRTC end-to-end, la Intel® Collaboration Suite for WebRTC. Attualmente, Intel crea già un ecosistema in continua espansione di Intel® Collaboration Suite per WebRTC in tutto il mondo. La cooperazione copre varie aree, tra cui istruzione, medicina, cloud di settore, trasmissione online di social media, videoconferenze e indossabili, ecc. Il numero in rapida crescita di piattaforme supportate per le API SDK rende esplosiva in modo esplosivo lo sforzo di compatibilità e test su più piattaforme. Come testare automaticamente l'interoperabilità tra questi SDK su una piattaforma diversa diventa un grosso problema. In questo intervento, presenteremo il nostro sistema di test IATF (Multi-device API Test) Framework-IATF. Può essere adottato per qualsiasi test di SDK multipiattaforma e multi-dispositivo che richieda una comunicazione su piattaforme diverse.

Utilizzo dell'analisi dei concetti formali nei test del software

Fedor Strok (Yandex/NRU HSE)

Link: Video, Presentazioni

L'analisi dei concetti formali ci fornisce uno strumento per la creazione di un'ontologia formale sull'insieme di oggetti con descrizioni (espresse come insieme di attributi). Questo ramo della teoria algebrica è stato introdotto nel 1984 e ora è utilizzato per un'ampia varietà di attività di data mining. Questo intervento è incentrato su tecniche che potrebbero essere particolarmente utili per i test del software: l'uso di un'ontologia formale per report pratici di test e per la derivazione semiautomatica degli scenari di test.

Come i test irregolari nell'integrazione continua: pratiche attuali in Google e indicazioni future

John Micco (Google)

e

Atif Memon (Università del Maryland, College Park)

Link: Video, Presentazioni

Google dispone di un enorme corpus di test che viene eseguito continuamente nel nostro enorme sistema di integrazione continua. Osservando questi dati, troviamo che i test irregolari causano molti sprechi in diverse dimensioni. Stiamo lavorando per migliorare la nostra capacità di comprendere l'impatto, rilevare e mitigare il livello intrinseco di irregolarità che vediamo nel nostro sistema.

Esperienza di sviluppatore.

Niranjan Tulpule (Google)

Link: Video, Presentazioni

Test Farm disperso basato su Docker - Esercitazione per testare l'infrastruttura nel programma Intel per Android

Jerry Yu (Intel) e Guobing Chen (Intel)

Link: Video, Presentazioni

OpenHTF - Il framework di test hardware open source

Joe Ethier (Google) e John Hawley (Google)

Link: Video, Presentazioni

Direzione generazione test di rilevamento inefficienze loop

Monika Dhok (Indian Institute of Science)

Link: Video, Presentazioni

L'attraversamento ridondante dei loop è stato identificato come fonte di bug delle prestazioni in molte librerie Java. Questo ha portato alla progettazione di tecniche di analisi statiche e dinamiche per rilevare automaticamente questi bug delle prestazioni. Tuttavia, sebbene l'efficacia delle analisi dinamiche dipenda dai test di input analizzati, le analisi statiche sono meno efficaci nel convalidare automaticamente la presenza di questi problemi, convalidare le correzioni ed evitare le regressioni nelle versioni future. Proponiamo un nuovo approccio per generare test automaticamente per rilevare inefficienze di loop nelle librerie Java. Questa discussione fornisce una breve panoramica di questo lavoro.

Bisogno di velocità - Accelera i test di automazione da 3 ore a 3 minuti

Emanuil Slavov (Komfo Inc)

Link: Video, Presentazioni

Tutti i test automatici di alto livello sono lenti per l'ambiente ad alta velocità e con i contrassegno di oggi. Questo è l'elefante nella stanza che tutti ignorano. E per un buon motivo. Ottenere test automatici veloci, affidabili e utili è un duro lavoro. Tuttavia, non hai scelta: con i test automatici lenti, spedite i clienti solo più velocemente. Presso Komfo, abbiamo effettuato test per più di 3 ore ogni notte. Il tempo di esecuzione ha continuato a crescere senza limitazioni. I test erano instabili e inutilizzabili come ciclo di feedback. A un certo punto i test non sono riusciti per più di 20 giorni consecutivi. I bug di regressione hanno iniziato a comparire in produzione. Abbiamo deciso di bloccare questa follia e, dopo un notevole sforzo e dedizione, attualmente gli stessi test vengono eseguiti per meno di 3 minuti. Questa è la storia di miglioramento continuo di come abbiamo ottenuto test 60 volte più veloci.

Copertura del codice è un forte predittore dell'efficacia della suite di test nel mondo reale

Rahul Gopinath (Oregon State University)

Link: Video, Presentazioni

ClusterRunner: semplificare il feedback dei test rapidi grazie alla scalabilità orizzontale

Taejun Lee (Box Inc) e Joseph Harrington (Box Inc)

Link: Video, Presentazioni

Box esegue circa 30 ore di test delle unità e dell'integrazione su ogni commit. e in parallelo per l'esecuzione in meno di 17 minuti, grazie alla nostra piattaforma di distribuzione di test open source, ClusterRunner. Perché Box ha così tanti test? Come funziona ClusterRunner? È facile configurare ClusterRunner per i tuoi test? (Spoiler: sì) ClusterRunner ti offre feedback incredibilmente veloci testando in contemporanea i test su un singolo host e distribuendoli su più host. Sviluppato dal team di Engineering Engineering di Box, utilizziamo internamente ClusterRunner per eseguire una suite di oltre trenta ore lineari di test in 17 minuti, e lo facciamo centinaia di volte ogni giorno. ClusterRunner è open source e indipendente dal linguaggio, quindi puoi usarlo facilmente per il tuo progetto. Abbiamo creato ClusterRunner per i team di tecnici che riscontrano problemi con i lunghi ritardi nei feedback o con codici sottotestati. L'abbiamo progettato partendo dal basso per essere facile da usare e può integrarsi con il tuo sistema CI esistente. Apprende quanto tempo richiedono l'esecuzione dei test e pianifica le esecuzioni future di conseguenza per fornire feedback il più rapidamente possibile. I suoi componenti comunicano tramite un'API REST amichevole che lo rende accessibile ed estensibile.

Test di integrazione con più dispositivi mobili e servizi

Alexander Dorokhine (Google) e Ang Li (Google)

Link: Video, Presentazioni

Mobly è un framework open source sviluppato da Google per testare prodotti che richiedono interazioni tra più dispositivi, ad esempio le app social, oppure test che richiedono di controllare l'ambiente di test, ad esempio la connessione Wi-Fi. Analizzeremo le differenze tra i test multi-dispositivo e i test su un singolo dispositivo e i suoi problemi unici, come la sincronizzazione e il flusso del codice tra più dispositivi, e come Mobi li risolve.

Scalabilità e valore: automazione dei test presso la BBC

Jitesh Gosai (BBC) e David Buckhurst (BBC)

Link: Video, Presentazioni

Abbiamo creato un cloud interno di dispositivi open source per scalare i test delle nostre applicazioni per dispositivi mobili e TV, ma è diventato abbastanza rapidamente un mostro che ci ha costretti a ripensare il nostro approccio all'automazione e a trovare il giusto equilibrio tra scalabilità e valore. Scopri come abbiamo risolto le sfide dei test on-device con un'automazione mirata e una proprietà condivisa. Scopri inoltre come creare il tuo cloud di dispositivi interni e sfruttare i nostri strumenti open source.

Trovare bug nelle librerie C++ utilizzando LibFuzzer

Kostya Serebryany (Google)

Link: Video, Presentazioni

Come ho imparato a eseguire l'arresto anomalo di un server

Jonathan Abrahams (MongoDB)

Link: Video, Presentazioni

Scopri come abbiamo testato la robustezza del server MongoDB per resistere a vari scenari di arresto anomalo del sistema. Scopri come siamo riusciti ad automatizzare l'arresto anomalo di un server di qualsiasi tipo di configurazione di sistema operativo e host (fisico o virtuale).