GTAC 2014: Presentasi

Semua rekaman dan slide video GTAC 2014 tersedia secara publik. Anda dapat menontonnya dari playlist YouTube GTAC 2014 atau membaca pembahasannya di bawah:

Kata Pembuka

Sonal Shah (Google)

Keynote Pembuka - Bergerak Cepat & amp; Jangan Istirahat

Ankit Mehta (Google)

Link: Video, Slide

Otomatisasi untuk Web yang Lebih Baik

James Graham (Mozilla)

Web adalah platform aplikasi paling populer di dunia, tetapi interoperabilitas browser yang buruk adalah penyebab kekecewaan dan frustrasi yang terlalu umum di antara developer web. Untuk mencoba memperbaiki situasi ini, W3C telah memfasilitasi upaya komunitas untuk menghasilkan rangkaian pengujian lintas browser yang terus diupdate untuk web terbuka; pengujian platform web. Dalam pembahasan ini, James akan memperkenalkan pengujian platform web dan menjelaskan alat yang telah kami buat untuk mendorong otomatisasi pengujian di berbagai browser desktop, dan di perangkat seluler yang menjalankan Firefox OS. Dia akan menunjukkan bagaimana software ini dirancang untuk memenuhi tantangan menjalankan testsuite yang bersumber dari eksternal dan sering diupdate pada ratusan commit dalam sehari di sistem continuous integration Mozilla.

Link: Video, Slide

Jadikan Chrome sebagai browser seluler terbaik

Karin Lundberg (Google)

Salah satu alasan keberhasilan Chrome adalah prinsip inti dari kecepatan, stabilitas, kesederhanaan, dan keamanan (4 S). Saat merilis Chrome untuk Android dan iOS, kami tidak hanya menerapkan 4 S ke browser itu sendiri, tetapi juga cara kami melakukan pengujian otomatis dan jenis pengujian yang kami jalankan:

  • Kecepatan adalah untuk pengujian performa dan pengujian cepat.
  • Stabilitas ditujukan untuk pengujian stabilitas dan pengujian stabil.
  • Kesederhanaan adalah untuk menguji apakah Chrome memiliki pengalaman pengguna yang sederhana dan untuk menambahkan dan menjalankan pengujian dengan mudah.
  • Keamanan adalah untuk pengujian keamanan.

Link: Video, Slide

Bahasa Otomatisasi Pengujian untuk Model Perilaku

Nan Li (Solusi Medidata)

Penguji berbasis model mendesain pengujian abstrak dari segi model seperti jalur dalam grafik. Kemudian, pengujian abstrak harus dikonversi menjadi pengujian konkret, yang ditentukan dalam hal penerapan. Transformasi dari pengujian abstrak ke pengujian konkret harus dilakukan secara otomatis. Teknik pengujian berbasis model yang ada untuk model perilaku menggunakan banyak diagram tambahan seperti diagram class dan diagram kasus penggunaan untuk transformasi dan pembuatan pengujian. Hal ini sangat rumit untuk digunakan dalam praktik karena penguji harus membuat semua diagram terkait selalu konsisten meskipun persyaratan sering berubah.

Pembicaraan ini memperkenalkan bahasa otomatisasi pengujian untuk memungkinkan penguji menghasilkan pengujian dengan hanya menggunakan satu model perilaku seperti diagram mesin status. Tiga masalah akan dibahas: (1) membuat pemetaan dari model ke kode pengujian yang dapat dieksekusi dan menghasilkan nilai pengujian, (2) mengubah grafik dan menggunakan kriteria cakupan untuk menghasilkan jalur pengujian, dan (3) menyelesaikan batasan serta menghasilkan pengujian konkret.

Link: Video, Slide

Cakupan tes di Google

Andrei Chirila (Google)

Pernahkah Anda bertanya-tanya bagaimana pengujian di Google? Alat apa yang kami gunakan untuk membantu dan bagaimana kami mengukur dan menindaklanjuti cakupan pengujian? Kami akan menjelaskan proses pengembangan di Google secara singkat, lalu berfokus pada penggunaan pengukuran cakupan kode dan cara kami menggunakan cakupan kode untuk meningkatkan kualitas kode dan produktivitas teknis. Pada akhirnya, kami akan menyajikan data cakupan dalam jumlah besar yang mencakup lebih dari 100.000 commit, yang telah kami kumpulkan, dan beberapa kesimpulan yang lebih luas yang telah kami dapatkan.

Link: Video, Slide

CATJS: Aplikasi yang Menguji Diri Sendiri

Ran Snir (HP) dan Lior Reuven (HP)

Dalam beberapa tahun terakhir, kita telah melihat banyak anomali yang telah mengubah cara kita berpikir tentang dunia komputasi. Ada printer 3d yang mencetak printer 3D, robot yang berpikir sendiri, lalu kami memiliki catjs.

catjs adalah framework Open Source yang menambahkan kemampuan aplikasi web seluler untuk menguji dirinya sendiri. Anotasi sederhana dalam kode HTML5 akan diterjemahkan ke skrip pengujian tersemat dalam siklus proses aplikasi. Pengujian web seluler ini dapat berjalan di perangkat, sistem operasi, dan browser apa pun. catjs adalah cara yang cepat dan mudah untuk menangani alur pengujian aplikasi Anda.

Link: Video, Slide

Continuous Integration yang skalabel - Menggunakan Open Source

Vishal Arora (Dropbox)

Banyak alat open source yang tersedia untuk continuous integration (CI). Hanya sedikit yang beroperasi dengan baik dalam skala besar. Dan hampir tidak ada yang dibuat untuk diskalakan di lingkungan terdistribusi. Cari tahu tantangan dalam menerapkan CI dalam skala besar, dan salah satu cara untuk menggabungkan bagian-bagian open source guna membangun sistem CI terdistribusi yang skalabel dan cepat.

Link: Video, Slide

Saya Tidak Sering Mengujinya ... Namun, Ketika Melakukannya, Saya Melakukan Pengujian di Produksi

Gareth Bowles (Netflix)

Setiap hari, Netflix memiliki lebih banyak pelanggan yang mengonsumsi lebih banyak konten di sejumlah perangkat klien. Kami juga terus berinovasi untuk meningkatkan kualitas pengalaman pelanggan kami. Pengujian di lingkungan yang berubah dengan cepat adalah tantangan besar, dan kami menyimpulkan bahwa menjalankan pengujian di lingkungan produksi sering kali dapat menjadi cara yang paling efisien untuk memvalidasi perubahan tersebut. Pembahasan ini akan membahas tiga metode pengujian yang kami gunakan dalam produksi: menyimulasikan semua jenis gangguan dengan Simian Army, mencari regresi menggunakan canary, dan mengukur keefektifan pengujian dengan analisis cakupan kode dari produksi.

Link: Video, Slide

Pentingnya Pengujian Otomatis pada Perangkat Seluler Nyata dan Virtual

Jay Srinivasan (Google) dan Manish Lachwani (Google)

Dibandingkan dengan dunia web, pengujian seluler adalah ladang ranjau. Dari berbagai perangkat, sistem operasi, jaringan, dan lokasi, tampaknya jumlah variabel tak terbatas yang harus dipertimbangkan oleh developer. Dalam sesi pendidikan ini, kita akan membahas beberapa tantangan unik yang menyertai pengoptimalan performa dan kualitas aplikasi seluler, serta strategi untuk mengatasinya, termasuk kebutuhan otomatisasi, perangkat nyata, dan kondisi pengguna nyata.

Link: Video, Slide

Pengujian Gratis Lebih Baik Dari Pisang Gratis: Menggunakan Penambangan Data dan Machine Learning untuk Mengotomatiskan Pemantauan Produksi Real-Time

Celal Ziftci (Google)

Minat untuk meningkatkan penambangan data dan teknik machine learning semakin meningkat dalam analisis, pemeliharaan, dan pengujian sistem software. Dalam pembahasan ini, Celal akan membahas cara kami menggunakan teknik semacam itu untuk menggali invarian sistem secara otomatis, menggunakan invarian tersebut dalam memantau sistem secara real time dan memberi tahu engineer tentang potensi masalah produksi dalam hitungan menit.

Diskusi ini akan terdiri dari dua alat yang kami gunakan secara internal dan bagaimana kami menggabungkannya untuk menyediakan pemantauan produksi real-time bagi engineer hampir secara gratis:

  1. Alat yang dapat menambang invarian sistem.
  2. Alat yang memantau sistem produksi, dan menggunakan alat pertama untuk secara otomatis membuat bagian logika yang digunakannya untuk mengidentifikasi potensi masalah secara real-time.

Link: Video, Slide

Uji Otomatisasi pada Dekoder Inframerah

Olivier Etienne (Oranye)

Diskusi ini akan menjelaskan apa yang dimaksud dengan konteks Aplikasi TV dan jenis masalah yang dapat dihadapi saat mencoba mengotomatiskan berbagai hal. Olivier akan mengalami kegagalan sebelumnya, pendekatan mereka, dan apa yang telah menjadi poin utama untuk membuat alat pengujian otomatis. Jika waktu memungkinkan, dia akan membahas detail implementasinya lebih dalam.

Mari dengarkan bagaimana beberapa tentara dan beberapa baris kode membuka dunia uji web yang kaya ke dekoder.

Link: Video, Slide

Tantangan untuk Membandingkan Penyedia Cloud dan Apa yang Kami Lakukan Tentangnya

Anthony Voellm (Google)

Pembahasan ini akan mencakup histori benchmark dari mainframe ke Cloud. Tujuannya adalah untuk menetapkan fondasi seputar tempat tolok ukur dimulai dan cara mereka mencapai tujuan tersebut. Ide akan diuraikan untuk masa depan Tolok Ukur Cloud dan cara kami dapat melakukannya secara praktis.

Link: Video, Slide

Tidak Pernah Mengirim Manusia untuk Melakukan Tugas Mesin: Cara Facebook menggunakan bot untuk mengelola pengujian

Roy Williams (Facebook)

Facebook tidak memiliki organisasi uji coba. Developer memiliki segala sesuatu mulai dari menulis kode hingga mengujinya hingga menggembalakannya menjadi produksi. Namun, bukan berarti kami tidak mengujinya. Cara kami membuat skala ini adalah dengan mengotomatiskan siklus proses pengujian untuk menjaga sinyal tetap tinggi dan derau rendah. Pengujian baru dianggap tidak tepercaya dan dengan cepat akan dihapus dari pohon. Kita akan membahas uji coba yang berhasil dan yang tidak untuk membangun kepercayaan dalam pengujian.

Link: Video, Slide

Espresso, Sendok, Wiremock, Astaga! ( atau bagaimana saya belajar untuk berhenti khawatir dan menyukai pengujian Android )

Michael Bailey (Amerika Express)

Pelajari cara membuat dan menjalankan pengujian UI Android otomatis yang cepat dan andal. Alat akan mencakup Espresso, Spoon, Wiremock, dan Jenkins. Pengetahuan pengembangan Android dan Java dasar diasumsikan.

Link: Video, Slide

Analisis Google BigQuery

Brian Vance (Google)

BigQuery adalah layanan big data interaktif Google Cloud. Pengguna dapat menganalisis data berukuran terabyte dalam hitungan detik melalui kueri seperti SQL. Versi aplikasi ini dibuat di atas Dremel, yang telah digunakan penguji Google secara internal selama bertahun-tahun. Kami akan memandu beberapa contoh, dan menunjukkan cara mulai menggunakan BigQuery.

Link: Video, Slide

Selendroid - Selenium untuk Android

Dominik Dary (Adobe)

Selendroid adalah framework otomatisasi pengujian open source yang menonaktifkan UI aplikasi native dan hybrid Android serta web seluler. Pengujian ditulis menggunakan API klien Selenium 2. Untuk menguji, tidak diperlukan modifikasi pada aplikasi yang sedang diuji untuk mengotomatiskannya.

Presentasi ini menunjukkan kepada penonton betapa mudahnya melakukan otomatisasi pengujian seluler. Ini menunjukkan bagaimana Selendroid dapat digunakan untuk menguji aplikasi Android native dan hybrid serta cara Selenium Grid dapat digunakan untuk pengujian paralel di beberapa perangkat. Topik lanjutan seperti memperluas Selendroid itu sendiri saat runtime dan melakukan pengujian lintas platform juga akan dibahas.

Link: Video, Slide

Mempertahankan Sanity di Dunia Hypermedia

Amit Easow (Comcast)

Seiring berkembangnya Comcast dari menjadi perusahaan kabel menjadi pemimpin media dan teknologi, tim teknik juga menjadi lebih cerdas. Ketika Amit bergabung dengan Comcast Interactive Media (CIM) pada tahun 2006, mereka menjadi toko pengujian manual. Setelah mengirimkan situs pertamanya pada tahun 2007, ia mulai membuat prototipe untuk infrastruktur pengujian UI otomatis. Ia diperkenalkan dengan Selenium di GTAC 2008 dan kemudian kembali ke Comcast untuk membangun infrastruktur pengujian otomatis dengan Selenium Grid, Hudson dan Subversion. Saat ini, ia bertugas menguji API dengan deployment ke Produksi setiap hari kerja. Hal ini dimungkinkan dengan Python, Git, Gerrit, dan Anthill.

Link: Video, Slide

Kebakaran Lebih Cepat dan Lebih Cepat dengan MSL!

Bryan Robbins (FINRA) dan Daniel Koo (FINRA)

Memberikan software dengan lebih cepat tanpa mengorbankan kualitas bukanlah tugas yang mudah. Kita semua ingin bergerak cepat dengan mengembangkan pengujian lebih awal dan mengeksekusi pengujian lebih cepat, dengan jejak pemeliharaan minimal. Di FINRA, kami mengembangkan MSL (diucapkan "Missile") agar tim Agile dapat memanfaatkan arsitektur berlapis seperti MVC untuk menguji kode UI mereka secara lebih cepat dan lebih terpisah secara terpisah.

MSL mendukung pengujian integrasi kode UI (seperti JavaScript, HTML, CSS) dengan men-deploy secara lokal server Node.js dan mengonfigurasi respons HTTP tiruan dari kode pengujian menggunakan salah satu klien kami (Java, JavaScript, atau Node.js). Diskusi ini akan memperkenalkan fitur-fitur utama MSL dengan beberapa contohnya.

Link: Video, Slide

Pengalaman Pengguna Pengujian

Alex Eagle (Google)

Produk Google sering dirilis, dan hal itu memerlukan pengujian otomatis serta "copping" yang signifikan. Kami sekarang berupaya menawarkan infrastruktur pengujian sebagai bagian dari Google Cloud Platform. Pembahasan ini akan membahas beberapa metodologi yang kami gunakan untuk membuat build kami tetap ramah lingkungan dan produk kami bebas dari kerusakan, serta memberikan pratinjau tentang cara kami menyampaikan hal ini kepada dunia.

Link: Video, Slide

Pembicaraan Meja Bundar 1 - Pengujian Lintas Platform Seluler

Link: Video, Slide

Round Table Talk 2 - Cakupan Otomatisasi Dokumen

Link: Video, Slide

Dampak Struktur Komunitas terhadap Performa Pemecah Masalah SAT

Zack Newsham (University of Waterloo)

Pemecah SAT CDCL modern secara rutin menyelesaikan instance SAT industri yang sangat besar dalam waktu yang relatif singkat. Sangat jelas bahwa pemecah masalah ini mengeksploitasi struktur instance di dunia nyata. Namun, hingga saat ini, hanya ada beberapa hasil yang menunjukkan karakteristik struktur ini secara akurat. Dalam makalah ini, kami memberikan bukti bahwa struktur komunitas instance SAT dunia nyata berkorelasi dengan waktu berjalan pemecah masalah SAT CDCL. Telah diketahui selama beberapa waktu bahwa instance SAT dunia nyata, yang dilihat sebagai grafik, memiliki komunitas alami di dalamnya. Komunitas adalah sub-grafik dari instance SAT, sehingga sub-grafik ini memiliki lebih banyak tepi internal daripada keluar ke grafik lainnya. Struktur komunitas grafik sering kali dicirikan dengan metrik kualitas yang disebut Q. Secara intuitif, grafik dengan struktur komunitas berkualitas tinggi (Q tinggi) mudah dibagi menjadi komunitas yang lebih kecil, sedangkan grafik yang Q rendah tidak mudah dipisahkan. Kami memberikan tiga hasil berdasarkan data empiris yang menunjukkan bahwa struktur komunitas instance industri di dunia nyata adalah predikta yang sangat baik terkait waktu berjalan pemecah CDCL dibandingkan faktor lain yang umum dipertimbangkan seperti variabel dan klausa. Pertama, kami menunjukkan bahwa ada korelasi yang kuat antara nilai Q dan metrik Literal Distance Distance untuk kualitas klausa konflik yang digunakan dalam kebijakan penghapusan klausa di pemecah Glukosa. Kedua, menggunakan analisis regresi, kami menunjukkan bahwa jumlah komunitas dan nilai Q pada grafik instance SAT dunia nyata lebih dapat memprediksi waktu penyelesaian pemecah CDCL dibandingkan metrik tradisional seperti jumlah variabel atau klausa. Terakhir, kami menunjukkan bahwa instance SAT yang dihasilkan secara acak dengan 0,05 Q ≤ 0,13 secara dramatis lebih sulit untuk dipecahkan untuk pemecah CDCL daripada yang lain.

Link: Video, Slide

Selain Cakupan: Apa Lurk di Test Suite?

Patrick Lam (University of Waterloo)

Kita semua menginginkan rangkaian pengujian yang "lebih baik". Namun, apa yang membuat rangkaian pengujian yang baik? Tentunya, rangkaian pengujian harus menargetkan cakupan yang baik, setidaknya di tingkat cakupan pernyataan. Agar dapat digunakan, rangkaian pengujian akan berjalan cukup cepat untuk memberikan masukan secara tepat waktu.

Pembahasan ini akan menyelidiki sejumlah dimensi lain yang digunakan untuk mengevaluasi rangkaian pengujian. Pembicaraan tersebut mengklaim bahwa rangkaian pengujian yang lebih baik lebih mudah dikelola, lebih mudah digunakan (misalnya, karena berjalan lebih cepat, atau menggunakan lebih sedikit resource), dan memiliki lebih sedikit kegagalan yang tidak dapat dibenarkan. Dalam pembahasan ini, saya akan menyajikan dan menyatukan fakta tentang 10 rangkaian pengujian open source (dari 8.000 menjadi 246.000 baris kode) dan mengevaluasi performanya.

Link: Video, Slide

Ramah Lingkungan: Membersihkan Lingkungan Seluler yang Beracun

Thomas Knych (Google), Stefan Ramsauer (Google), Valera Zakharov (Google) dan Vishal Sethia (Google)

Kami akan menyajikan alat dan teknik untuk membuat lingkungan pengujian hermetik yang cepat dan stabil untuk menjalankan pengujian Android dalam pengembangan interaktif dan mode continuous integration. Hal ini dibangun berdasarkan pembicaraan yang lebih tinggi yang kami presentasikan pada GTAC terakhir.

Link: Video, Slide