Kata Pembuka
Tony Voellm (Google)
Keynote Pembuka - Perkembangan dari Penjaminan Mutu hingga Rekayasa Pengujian
Ari Shamash (Google)
Anda telah membuat aplikasi. Anda meluncurkannya. Anda pasti sudah mengerti, mengumpulkan beberapa volume, mendapatkan sejumlah dana, membuang semuanya, lalu memulai dari awal agar bisa "melakukannya dengan benar". Namun, permintaan untuk fitur baru sangat tinggi, Anda sekarang diminta untuk mendorong skala yang belum pernah ada sebelumnya dengan kecepatan yang belum pernah didengar. Aduh! Selanjutnya bagaimana?
Anda tidak dapat membuangnya dan memulai dari awal, Anda hanya perlu mengembangkan apa yang Anda miliki, sambil terus menambahkan fitur berkualitas tinggi dengan kecepatan yang menakjubkan. Selain itu, Anda perlu memastikan bahwa apa yang sudah ada tidak rusak. Bagaimana cara melakukan ini? Untungnya, ada bidang baru yang terbentuk dalam industri rekayasa software yang membahas skenario umum ini: di Google, kami menyebutnya "rekayasa pengujian".
Pembahasan ini akan berfokus pada pengertian engineering pengujian, perkembangannya dari uji mutu, dan cara industri secara keseluruhan menerapkan uji coba teknik (dengan contoh spesifik cara penerapannya di Google).
Menguji Sistem dalam Skala @Twitter
James Waldrop (Twitter)
James akan membahas alat, proses, dan filosofi yang mengarah ke pengujian kinerja di Twitter. Penekanan khusus akan ditempatkan pada library pengujian beban open source Iago, yang ia tulis untuk memungkinkan tim engineer Twitter melakukan pengujian beban sebelum men-deploy kode ke produksi. Pembahasan akan membahas detail penerapan untuk beberapa pengujian ini (termasuk kode sumber) dan cara mengelola faktor seperti kompleksitas OAuth dan protokol Thrift arbitrer.
Bagaimana Cara Anda Menguji OS Seluler?
David Burns (Mozilla) dan Malini Das (Mozilla)
Ini adalah masalah yang dihadapi Mozilla ketika kami memutuskan untuk menjelajah ke dunia FirefoxOS. Di mana harus memulai dan bagaimana melakukannya akan membuktikan tugas yang menarik. Dengarkan cara kami menyelesaikan masalah ini dan cara kami membuat framework baru.
Otomatisasi Seluler dalam Pipeline Continuous Delivery
Igor Dorovskikh (Expedia) dan Kaustubh Gawande (Expedia)
Expedia mulai berinvestasi dalam aplikasi Web Seluler dan iOS/Android pada awal 2012. Pada saat yang sama, Test Engineer mulai mengembangkan solusi otomatisasi pengujian untuk menciptakan kualitas dan kemampuan pengujian ke dalam produk dari awal. Dalam pembahasan ini, kita akan membagikan pengalaman dan pembelajaran tentang cara menggunakan alat open source untuk membuat pengujian otomatis di pengembangan Agile dan lingkungan continuous delivery Expedia. Kita akan membahas Test Pyramid dan membahas lebih mendetail tentang alat open source tertentu yang berfungsi dengan baik untuk kita. Beberapa alat open source yang kami gunakan adalah alat BDD seperti Cucumber, alat otomatisasi web Selenium-WebDriver, alat otomatisasi iOS Frank, alat otomatisasi Android Robotium dan Calabash, dan sistem Continuous Integration Jenkins. Selain itu, kami akan membagikan beberapa prinsip pengiriman Agile yang kami coba gunakan seperti TDD, Pemrograman Pair, Build dan Test Radiator. Terakhir, kita akan menyampaikan beberapa manfaat yang telah kita peroleh dari investasi kami dalam Agile dan otomatisasi pengujian, serta bagaimana hal tersebut membuat kita dapat mencapai sasaran Continuous Delivery.
Pengujian Dekoder Otomatis dengan GStreamer dan OpenCV
David Röthlisberger (YouView)
Kami akan membangun sistem pengenalan citra yang merekam video dalam 3 menit, menggunakan alat command line dan OpenCV GStreamer. (GStreamer adalah framework penanganan media open source; OpenCV —"Open Computer Vision"— adalah library pemrosesan gambar open source.)
Contoh terkemuka sistem tersebut adalah http://stb-tester.com, alat open source yang dikembangkan di YouView untuk mengotomatiskan pengujian UI dekoder kami. Kami akan menjelaskan penguji stb, fleksibilitas yang ditawarkan dengan dasar-dasar GStreamer, beberapa kemungkinan yang terbuka, dan tantangan yang akan dihadapi.
Webdriver untuk Chrome
Ken Kania (Google)
Dari awal sebagai browser khusus Windows, Chrome telah diperluas ke Mac, Linux, ChromeOS, dan yang terbaru, Android dan iOS. Pengujian tingkat pengguna aplikasi web di seluruh platform ini sangatlah sulit dan mengharuskan berbagai pendekatan otomatisasi. Diskusi ini akan menjelaskan pekerjaan yang dilakukan tim Chrome agar WebDriver tersedia untuk Chrome di semua platform. Ini akan mencakup tampilan teknis pada pendekatan dasar, tetapi akan berfokus pada bagaimana developer dapat menggunakan ChromeDriver baru untuk menulis pengujian bagi berbagai platform Chrome. Selain itu, status project saat ini dan roadmap untuk masa mendatang akan dibahas.
Karma - Runner Pengujian untuk JavaScript
Vojta Jina (Google)
Pengantar Karma - runner pengujian yang membuat pengujian aplikasi JavaScript pada browser sungguhan berjalan lancar dan menyenangkan.
Pengujian bersifat opsional saat seseorang mem-build aplikasi JavaScript yang harus berfungsi di banyak browser dan perangkat. Namun, menjalankan pengujian di semua lingkungan ini sulit. Karma mengubah tugas yang biasanya melelahkan ini menjadi sepotong kue. Hal ini memungkinkan Anda menjalankan pengujian JavaScript di browser atau perangkat sungguhan seperti ponsel atau tablet langsung dari terminal atau IDE favorit Anda.
Pengukuran Kualitas Video Otomatis
Patrik Höglund (Google)
Ya, Anda dapat otomatis menguji pengukuran subjektif yang rumit seperti kualitas video. Diskusi ini akan menunjukkan cara kami membuat pengujian menyeluruh yang berkelanjutan pada panggilan video WebRTC. Kita akan melihat toolchain pada tingkat tinggi dan tantangan apa yang kita hadapi saat membuatnya. Sangat cocok jika Anda menginginkan inspirasi tentang cara meningkatkan pengujian media.
Ketika Hal-Hal Buruk Terjadi pada Aplikasi yang Baik...
Minal Mishra (Netflix)
Ledakan komputasi seluler dan tablet telah membanjiri industri software dengan platform pengembangan aplikasi. Mengembangkan aplikasi konsumen di platform komputasi memiliki pengalaman ajaibnya sendiri bagi pengguna akhir. Perusahaan software yang menghadap ke konsumen selalu berusaha semaksimal mungkin untuk mengembangkan aplikasi untuk platform ini. Namun, tantangan terbesar dalam pengembangan aplikasi hanya dimulai setelah perusahaan meluncurkan versi pertama aplikasi. Konsumen dan perusahaan software menginginkan fitur dan fungsi terbaru dari pengembangan sesegera mungkin dengan kualitas tertinggi. Hal ini menyebabkan churn kode yang konstan di setiap lapisan stack. Kami, engineer otomatisasi UI, mem-build berbagai sistem deteksi untuk mendeteksi masalah aplikasi lebih cepat daripada nanti. Dalam pembahasan ini, saya akan membagikan beberapa tantangan dan keberhasilan di balik salah satu sistem deteksi yang membantu menemukan masalah di luar lapisan aplikasi, tetapi masih berdampak negatif pada pengalaman pengguna.
Pengujian untuk Educational Gaming dan Educational Gaming untuk Pengujian
Tao Xie (Universitas Negara Bagian North Carolina)
Diskusi ini menyajikan Pex4Fun (http://www.pexforfun.com/), yang memanfaatkan pembuatan pengujian otomatis untuk mendukung penilaian otomatis dalam sistem pemrograman online yang dapat menskalakan hingga ratusan ribu pengguna. Produk ini memberikan pengalaman bermain game yang berorientasi pada pemrograman di luar kelas, yang melatih pengguna mempelajari berbagai keterampilan pemrograman dan rekayasa software, termasuk menguji kemampuan seperti menulis pengujian unit berparameter. Pex4Fun memberikan kontribusi signifikan terhadap masalah umum penilaian tugas, serta memberikan pengalaman belajar yang menyenangkan berdasarkan game interaktif. Pex4Fun telah mendapatkan popularitas tinggi di komunitas: sejak dirilis ke publik pada Juni 2010, jumlah klik tombol "Ask Pex!" (menunjukkan upaya yang dilakukan pengguna untuk menyelesaikan game di Pex4Fun) telah mencapai lebih dari satu juta pada awal tahun 2013.
Menutup Keynote - Cara Facebook Menguji Facebook di Android
Simon Stewart (Facebook)
Facebook adalah salah satu aplikasi Android paling populer yang ada. Dalam perbincangan ini, Anda akan menemukan hal yang dilakukan Facebook untuk memastikan setiap rilis sebaik mungkin. Kita akan membahas semuanya, mulai dari cara mengelola kode, hingga pendekatan dan pengujian hingga dogfooding.