GTAC 2016: Presentasi

Kata Pembuka

Matt Lowrie (Google)

Evolusi Produktivitas Bisnis dan Teknik

Manasi Joshi (Google)

Link: Video, Slide

Dalam keynote ini, kami mencoba mengajak semua orang mengikuti perkembangan tentang disiplin produktivitas produktivitas yang berkembang di Google dan bagaimana hal itu bisa menjadi faktor penting bagi pertumbuhan bisnis Google untuk bergerak cepat, menjaga stabilitas dan memberikan kepercayaan diri melalui proses pengembangan/rilis/pemantauan. Kami juga menyebutkan beberapa tantangan yang kami hadapi saat ini dan cakrawala baru untuk menguji lintas platform dalam pengalaman produk yang sangat terhubung/vertikal yang sedang Google lakukan.

Mengotomatiskan Mengemudi Robot Telepresensi

Tanya Jenkins (Konsultasi Kantilever)

Link: Video, Slide

Menguji antarmuka mengemudi perangkat telepresence sangat menantang. Layanan ini beroperasi di dunia nyata, berinteraksi dengan orang dan objek, tetapi harus diuji di lingkungan yang terkontrol. Bagaimana Anda mengatasi pembuatan lingkungan mengemudi jarak jauh yang realistis sekaligus memvalidasi lokasi dan posisi perangkat saat tidak dapat melihatnya? Saya akan memberikan solusi yang inovatif.

Apa yang ada di Wallet Anda?

Hima Mandali (Ibu huruf besar)

Link: Video, Slide

Capital One adalah salah satu perusahaan kartu kredit terbesar di AS dengan lebih dari 70 juta akun. Di Capital one, kami membuat banyak produk keren yang memberikan pengalaman digital yang luar biasa kepada pelanggan kami. Dengan perangkat seluler yang menjadi saluran pilihan bagi pelanggan kami, diskusi ini akan berfokus pada cara kami memecahkan masalah otomatisasi pengujian untuk aplikasi web seluler dan apa yang kami lakukan untuk masuk ke pipeline pengiriman software yang lebih cepat. Kami juga akan membagikan alat open source yang kami gunakan dan dasbor open source yang kami buat untuk menyelesaikan masalah.

Menggunakan statistik otomatisasi pengujian untuk memprediksi pengujian yang akan dijalankan

Boris Prikhodky (Teknologi Unity)

Link: Video, Slide

Pengujian telah menjadi bagian penting dalam proses pengembangan aplikasi, tetapi yang harus dilakukan ketika seorang penyelam telah menjadi hambatan dalam kehidupan sehari-hari. Di sini, kami membagikan pengalaman tentang hal yang kami lakukan saat memiliki waktu tunggu 3-6 jam untuk menjalankan konfigurasi pengujian. Pendekatan yang sederhana tetapi canggih disajikan dalam diskusi ini yang menghemat waktu berharga untuk menjalankan pengujian berkelanjutan pada build dan test farm. Kemungkinan cara untuk meningkatkan prosesnya juga dibahas.

Otomatisasi pengujian berbasis selenium untuk Windows dan Windows Phone

Nikolai Abalov (2gis)

Link: Video, Slide

Ada Selenium untuk otomatisasi pengujian aplikasi web. Ada Appium untuk aplikasi seluler di iOS dan Android. Namun, untuk Windows Desktop dan Windows Phone/Mobile, kami harus memikirkan solusi berbasis Selenium kami sendiri. Winium pun dibuat. Winium adalah solusi open source untuk otomatisasi pengujian Windows Desktop dan aplikasi Windows Phone/Mobile. Winium berbasis Selenium, sehingga relatif mudah untuk mulai menggunakannya untuk kebutuhan otomatisasi Anda jika Anda sudah mengetahui Selenium atau Appium, selenium dapat diintegrasikan ke dalam infrastruktur selenium yang ada. Dalam diskusi ini, saya akan menyajikan project yang menyusun Winium dan menunjukkan cara kerja Winium.Desktop dan Winium.Mobile.

Sisi Quirkier untuk Pengujian

Brian Vanpee (Google)

Link: Video, Slide

Tidak semua bug dibuat sama. Terkadang, keunikan dalam bahasa pemrograman yang kami gunakan adalah menyalahkan, dan menemukan hasilnya sering kali menghambat para programmer dan penguji terbaik. Bergabunglah bersama kami untuk melihat sisi unik dari pengujian dengan menunjukkan beberapa contoh pilihan dari banyak bahasa yang kami gunakan sehari-hari. Terakhir, kami akan menantang Anda untuk mencoba dan menebak quirk saat kami menyajikan rangkaian contoh ganjil yang tersedia dalam bahasa seperti C, Java, Objective-C, PHP, dan favorit semua orang - JavaScript.

Algoritme ML untuk Menyiapkan Lingkungan Pengujian Seluler

Rajkumar Bhojan (teknologi Wipro)

Link: Video, Slide

Dengan kemajuan pesat teknologi komputasi seluler, ada permintaan yang signifikan pada pengujian aplikasi seluler di perangkat seluler. Pengelolaan Perangkat Seluler memainkan peran penting dalam pengujian aplikasi seluler dan memahami tantangan dalam Pengelolaan Perangkat Seluler sama pentingnya dengan menyelesaikannya. Untuk menghindari masalah khusus Perangkat, developer otomatisasi pengujian harus menguji aplikasi mereka di sejumlah besar perangkat, yang mahal dan tidak efisien. Dalam pembahasan ini, kami akan menunjukkan cara algoritme machine learning mengidentifikasi sekumpulan perangkat yang tepat untuk menyiapkan lingkungan pengujian seluler.

“Dapatkah Anda mendengar saya?” - Pengujian Kualitas Audio yang meskipun ada

Alexander Brauckman dan Dan Hislop (Citrix)

Link: Video, Slide

IATF: Framework Pengujian API Lintas Platform dan Multiperangkat yang baru

Yanbin Zhang (Intel)

Link: Video, Slide

Untuk memudahkan penerapan teknologi WebRTC dan membuatnya tersedia secara luas untuk memperluas atau membuat aplikasi baru, Intel telah mengembangkan solusi WebRTC menyeluruh, Intel® Collaboration Suite untuk WebRTC. Saat ini, Intel telah membangun ekosistem Intel® Collaboration Suite yang berkembang untuk WebRTC di seluruh dunia. Kerja sama mencakup berbagai area, termasuk pendidikan, medis, cloud industri, penyiaran online media sosial, konferensi video, dan perangkat wearable, dll. Jumlah platform yang didukung untuk API SDK yang berkembang pesat membuat kompatibilitas lintas platform dan upaya pengujian integrasi meningkat pesat. Cara menguji interoperabilitas secara otomatis di berbagai SDK pada platform yang berbeda menjadi masalah besar. Dalam pembahasan ini, kami akan menampilkan Framework Pengujian Otomatis Multi-platform dan Multi-device API Test IATF. Platform ini dapat digunakan untuk pengujian SDK lintas platform dan multi-perangkat yang memerlukan komunikasi di berbagai platform.

Menggunakan Analisis Konsep Formal dalam pengujian software

Fedor Strok (Yandex/NRU HSE)

Link: Video, Slide

Analisis Konsep Formal memberi kita kotak alat untuk membangun ontologi formal pada sekumpulan objek dengan deskripsi (dinyatakan sebagai kumpulan atribut). Cabang teori aljabar ini diperkenalkan pada tahun 1984, dan kini diterapkan untuk berbagai tugas penambangan data. Pembahasan ini berfokus pada teknik yang sangat berguna untuk pengujian software: menggunakan ontologi formal untuk laporan pengujian yang mudah dan untuk derivasi kasus uji semi-otomatis.

Cara Pengujian Tidak Stabil dalam Integrasi Berkelanjutan: Praktik Saat Ini di Google dan Rute Masa Depan

John Micco (Google)

dan

Atif Memon (University of Maryland, College Park)

Link: Video, Slide

Google memiliki kumpulan pengujian yang sangat besar, yang terus berjalan di sistem continuous integration kami yang sangat besar. Berdasarkan data ini, uji yang tidak stabil menyebabkan banyak pemborosan dalam beberapa dimensi yang berbeda. Kami berupaya meningkatkan kemampuan untuk memahami dampak, mendeteksi, dan mengurangi tingkat gangguan yang kami temukan dalam sistem kami.

Pengalaman Developer, FTW!

Niranjan Tulpule (Google)

Link: Video, Slide

Geo Dispersed Test Farm Berbasis Docker - Uji Praktik Infrastruktur dalam Intel Android Program

Jerry Yu (Intel) dan Guobing Chen (Intel)

Link: Video, Slide

OpenHTF - Framework Pengujian Hardware Open-Source

Joe Ethier (Google) dan John Hawley (Google)

Link: Video, Slide

Mengarahkan Pengujian Test untuk Mendeteksi Inefisiensi Loop

Monika Dhok (Institut Sains India)

Link: Video, Slide

Traversal loop yang berlebihan telah diidentifikasi sebagai sumber bug performa di banyak library java. Hal ini mengakibatkan desain teknik analisis statis dan dinamis mendeteksi bug performa tersebut secara otomatis. Namun, meskipun efektivitas analisis dinamis bergantung pada pengujian input yang dianalisis, analisis statis kurang efektif dalam memvalidasi keberadaan masalah ini secara otomatis, memvalidasi perbaikan dan menghindari regresi pada versi mendatang. Kami mengusulkan pendekatan baru untuk menghasilkan pengujian secara otomatis guna mendeteksi inefisiensi loop pada library java. Diskusi ini memberikan ringkasan singkat mengenai pekerjaan ini.

Need for Speed - Mempercepat Uji Otomatisasi Dari 3 Jam menjadi 3 Menit

Emanuil Slavov (Komfo Inc)

Link: Video, Slide

Semua pengujian otomatis tingkat tinggi berjalan lambat untuk lingkungan dengan kecepatan pertama yang ditandai saat ini. Ini adalah gajah di ruangan yang diabaikan semua orang. Dan untuk alasan yang baik. Dibutuhkan pengujian otomatis yang cepat, andal, dan berguna. Namun, Anda tidak memiliki pilihan — dengan pengujian otomatis yang lambat, Anda hanya mengirimkan barang kepada pelanggan dengan lebih cepat. Di Komfo, kami menjalankan pengujian selama lebih dari 3 jam setiap malam. Waktu eksekusi tetap tidak dibatasi. Pengujian menjadi tidak stabil dan tidak dapat digunakan sebagai feedback loop. Pada satu waktu, pengujian gagal selama lebih dari 20 hari berturut-turut. Bug regresi mulai muncul dalam produksi. Kami memutuskan untuk menghentikan kegilaan ini dan setelah upaya dan dedikasi yang cukup besar, saat ini pengujian yang sama berjalan selama kurang dari 3 menit. Ini adalah kisah peningkatan berkelanjutan terkait cara kami mencapai uji 60x lebih cepat.

Cakupan Kode adalah Prediktor Kuat terhadap Efektivitas Test Suite di Dunia Nyata

Rahul Gopinath (Oregon State University)

Link: Video, Slide

ClusterRunner: memudahkan masukan pengujian cepat melalui penskalaan horizontal

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

Link: Video, Slide

Box menjalankan sekitar tiga puluh jam pengujian unit dan integrasi pada setiap commit. Kami memparalelkannya untuk berjalan dalam waktu kurang dari 17 menit menggunakan platform distribusi pengujian open source, ClusterRunner. Mengapa Box memiliki begitu banyak pengujian? Bagaimana cara kerja ClusterRunner? Apakah mudah untuk menyiapkan ClusterRunner untuk pengujian Anda sendiri? (Spoiler: Ya.) ClusterRunner memberi Anda masukan pengujian yang sangat cepat dengan melakukan paralelisasi pengujian pada satu host dan mendistribusikannya ke banyak host. Dikembangkan oleh tim Engineering Engineering Box, kami menggunakan ClusterRunner secara internal untuk menjalankan serangkaian pengujian selama lebih dari tiga puluh jam linear dalam 17 menit, dan kami melakukannya ratusan kali setiap harinya. ClusterRunner bersifat open source dan tidak bergantung pada bahasa, sehingga Anda dapat menggunakannya dengan mudah untuk project Anda sendiri. Kami membuat ClusterRunner untuk tim engineer yang kesulitan dengan penundaan masukan pengujian yang lama atau kode yang kurang diuji. Kami mendesainnya dari bawah ke atas agar mudah digunakan dan dapat berintegrasi dengan sistem CI Anda yang sudah ada. Fitur ini mempelajari waktu yang diperlukan untuk menjalankan pengujian, dan menjadwalkan operasi mendatang agar memberikan masukan secepat mungkin. Komponennya berkomunikasi melalui REST API yang mudah, yang membuatnya dapat diakses dan diperluas.

Pengujian Integrasi dengan Beberapa Perangkat dan Layanan Seluler

Alexander Dorokhine (Google) dan Ang Li (Google)

Link: Video, Slide

Mobly adalah framework open source yang dikembangkan Google untuk menguji produk yang memerlukan interaksi di beberapa perangkat, seperti aplikasi media sosial; atau pengujian yang memerlukan kontrol atas lingkungan pengujian, seperti koneksi Wi-Fi. Kita akan membahas perbedaan pengujian multiperangkat dengan pengujian perangkat tunggal dan masalah uniknya, seperti sinkronisasi dan alur kode di antara beberapa perangkat, dan cara Mobly menyelesaikannya.

Skala vs Nilai: Otomatisasi Uji di BBC

Jitesh Gosai (BBC) dan David Buckhurst (BBC)

Link: Video, Slide

Kami membangun cloud perangkat open source internal untuk menskalakan pengujian aplikasi Seluler dan TV kami, tetapi itu berkembang dengan cepat menjadi monster yang memaksa kami untuk memikirkan kembali pendekatan kami terhadap otomatisasi, dan menemukan keseimbangan yang tepat antara skala dan nilai. Pelajari cara kami mengatasi tantangan pengujian di perangkat dengan otomatisasi terfokus dan kepemilikan bersama. Pelajari juga cara mem-build cloud perangkat internal Anda sendiri dan manfaatkan alat open source kami.

Menemukan bug di library C++ menggunakan LibFuzzer

Kostya Serebryany (Google)

Link: Video, Slide

Cara saya mempelajari error dalam menguji server

Jonathan Abrahams (MongoDB)

Link: Video, Slide

Mari pelajari cara kami menguji keandalan server MongoDB untuk bertahan dari berbagai skenario kerusakan sistem. Pelajari cara kami dapat mengotomatiskan error pada server jenis apa pun dan konfigurasi host (fisik atau virtual).