Açılış Konuşmaları
Matt Lowrie (Google)
İşletme ve Mühendislik Verimliliğinin Evrimi
Manasi Joshi (Google)
Bu açılış konuşmasında herkesi, mühendislik üretkenliği disiplininin Google'da nasıl geliştiği ve bu durumun Google'ın hızlı hareket etme, istikrarlı kalma ve geliştirme/yayınlama/izleme süreçleri yoluyla büyük ölçüde güven sağlama açısından iş artışı açısından ne kadar önemli ve gerekli olduğunu anlamaya çalışıyoruz. Ayrıca şu anda karşılaştığımız bazı zorlukları ve Google'ın yaşadığı son derece bağlantılı/dikey bir ürün deneyiminde platformlar arası testi yeni ufuklardan da ima ediyoruz.
Telepresence Robot Sürüşünü Otomatikleştirme
Tanya Jenkins (Tuvalet Danışmanlığı)
Telepresasyon cihazının sürüş arayüzünü test etmek zor. Gerçek dünyada çalışır, insanlar ve nesnelerle etkileşime girer, ancak kontrollü bir ortamda test edilmelidir. Gerçekçi uzaktan sürüş ortamı oluşturmak için çalışırken, aynı anda cihazınızın konumunu ve konumunu göremediğiniz zaman bunu nasıl doğrulayabilirsiniz? Yenilikçi bir çözüm sunacağım.
Cüzdanınızda neler var?
Hima Mandali (Capital One)
Capital One, 70 milyondan fazla hesabı ile ABD'deki en büyük kredi kartı şirketlerinden biridir. Capital One'da, müşterilerimize muhteşem dijital deneyimler sağlayan birçok havalı ürün geliştiriyoruz. Mobil cihazlar müşterilerimiz için tercih edilen kanal haline geldiğinden, bu konuşmada mobil web uygulamasının test otomasyonu sorununu nasıl çözdüğümüze ve daha hızlı bir yazılım teslimatı ardışık düzenine girmek için neler yaptığımıza odaklanacağız. Ayrıca, sorunlarımızı gidermek için kullandığımız açık kaynaklı araçları ve açık kaynaklı gösterge tablosunu paylaşacağız.
Yapılacak testleri tahmin etmek için test çalıştırma otomasyonu istatistiklerini kullanma
Boris Prikhodky (Unity Teknolojileri)
Testler, uygulama geliştirme süreçlerinin önemli bir parçası haline gelmiştir. Ancak bir kurtarma görevlisi günlük yaşamda performans sorunu haline geldiğinde yapılması gerekenler. Burada, test yapılandırmasının çalışması için 3-6 saatlik bekleme sürelerinde neler yaptığımıza dair deneyimimizi paylaşıyoruz. Bu konuşmada basit ama güçlü bir yaklaşım sunuldu. Bu yaklaşım, derleme ve test çiftliğinde hiç bitmeyen yeşil testleri yürütme açısından değerli zaman tasarrufu sağlar. Süreci iyileştirmenin olası yolları da ele alınmaktadır.
Windows ve Windows Phone için Selenium tabanlı test otomasyonu
Nikolai Abalov (2gis)
Web uygulamalarının test otomasyonu için Selenyum vardır. iOS ve Android'deki mobil uygulamalar için Appium mevcuttur. Ancak Windows Masaüstü ve Windows Phone/Mobil için kendi Selenium tabanlı çözümümüzü bulmamız gerekiyordu. Bu nedenle Winium oluşturuldu. Winium, Windows Masaüstü ve Windows Phone/Mobil uygulamalarının test otomasyonu için açık kaynaklı bir çözümdür. Selenyum tabanlı Winium, Selenyum veya Appium'u halihazırda bildiğiniz otomasyon ihtiyaçlarınız için kullanmaya kolayca başlayabilmeniz için mevcut selenium altyapınıza entegre edilebiliyor. Konuşmada, Winium'u oluşturan ve Winium.Desktop ile Winium.Mobile'ın nasıl çalıştığını gösteren projeler sunacağım.
Testlerin Sıra Dışı Tarafı
Brian Vanpee (Google)
Her hata eşit değildir. Bazen kullandığımız programlama dillerindeki ilginç hatalar suçlanır ve bunları bulmak çoğu zaman en iyi programcıların ve test kullanıcılarının bile önüne geçer. Her gün kullandığımız pek çok dilden özenle seçilmiş örnekler göstererek testin ilginç bir yönünü incelerken bize katılın. Son olarak size C, Java, Objective-C, PHP gibi dillerde bulunan ve herkesin en sevdiği JavaScript olan bir dizi tuhaf örnek sunarken ilginç bir soru sormayı deneyeceğiz.
Mobil Test Ortamı Oluşturmak İçin ML Algoritması
Rajkumar Bhojan (Wipro teknolojileri)
Mobil bilgi işlem teknolojisinin hızla gelişmesiyle, mobil cihazlarda mobil uygulama testine yönelik önemli bir talep görülebilir. Mobil Cihaz Yönetimi, mobil uygulama testinde hayati bir rol oynamaktadır ve Mobil Cihaz Yönetimi'ndeki zorlukları anlamak, bunları çözmek kadar önemlidir. Cihaza özel sorunlardan kaçınmak için test otomasyonu geliştiricilerin uygulamalarını çok sayıda cihazda test etmeleri gerekir. Bu da maliyetli ve verimsizdir. Bu konuşmada, makine öğrenimi algoritmasının mobil test ortamını kurmak için doğru cihaz grubunu nasıl tespit edebileceğini gösteriyoruz.
"Beni duyabiliyor musunuz?" - Ses Kalitesi Testi Devam Ediyor
Alexander Brauckman ve Dan Hislop (Citrix)
IATF: Yeni bir Otomatik Platformlar Arası ve Çoklu Cihaz API Test Çerçevesi
Yanbin Zhang (Intel)
Intel, WebRTC teknolojisini benimsemeyi kolaylaştırmak ve yeni uygulamalar geliştirip bu uygulamaları oluşturmak için geniş ölçekte kullanılabilir hale getirmek amacıyla, uçtan uca WebRTC çözümü olan WebRTC için®® Collaboration Suite'i geliştirdi. Intel şu anda tüm dünyada WebRTC için giderek büyüyen bir Intel® Collaboration Suite ekosistemi oluşturmaktadır. İşbirliği; eğitim, tıp, sektör bulutu, sosyal medya üzerinden online yayın, video konferans ve giyilebilir cihazlar vb. dahil olmak üzere çeşitli alanları kapsar. SDK API'ler için desteklenen sayısının hızla artması, platformlar arası uyumluluk ve entegrasyon testi çalışmalarının önemli ölçüde artmasını sağlar. Farklı platformlardaki bu çeşitli SDK'larda birlikte çalışabilirliğin otomatik olarak test edilmesi büyük bir soruna dönüşüyor. Bu konuşmada, Otomatik Platformlar Arası ve Çoklu Cihaz API Testi Çerçevesi'ni (IATF) sunacağız. Farklı platformlarda iletişim gerektiren tüm platformlar ve cihazlar arası SDK testleri için kullanılabilir.
Yazılım testlerinde Resmi Kavram Analizi'ni kullanma
Fedor Bendi (Yandex/NRU HSE)
Resmi Kavram Analizi bize, açıklamaları olan bir dizi nesne üzerinde resmî ontolojiler oluşturmaya yarayan bir araç kutusu sağlar (özellikler kümesi olarak ifade edilir). Bu cebir teorisi 1984 yılında kullanıma sunuldu ve şu anda çok çeşitli veri madenciliği görevleri için kullanılıyor. Bu konuşma, özellikle yazılım testleri için yararlı olabilecek tekniklere odaklanmaktadır: uygun test raporları ve yarı otomatik test durumu türeti için resmi ontolojinin kullanılması.
Kesintisiz Entegrasyondaki Flaky Testleri: Google'da Geçerli Uygulama ve Gelecekteki Yol Tarifi
John Micco (Google)
veAtif Memon (Maryland Üniversitesi, College Park)
Google, devasa sürekli entegrasyon sistemimizde sürekli olarak yürüttüğümüz muazzam bir test kitaplığına sahiptir. Bu verileri incelediğimizde, güvenilir olmayan testlerin farklı boyutlardaki çok sayıda israfa neden olduğunu fark ettik. Sistemimizde gördüğümüz kusursuzluk düzeyini algılama, algılama ve hafifletme kabiliyetimizi geliştirmek için çalışıyoruz.
Geliştirici Deneyimi, FTW!
Niranjan Tulpule (Google)
Docker Tabanlı Coğrafi Dağılım Testi Çiftliği - Intel Android Programı'nda Test Altyapısı Uygulaması
Jerry Yu (Intel) ve Guobing Chen (Intel)
OpenHTF - Açık Kaynak Donanım Test Çerçevesi
Joe Ethier (Google) ve John Hawley (Google)
Test Oluşturma İşlemi, Döngülerin Etkilerini Tespit Etmeye Yönlendirildi
Monika Dhok (Hindistan Bilim Enstitüsü)
Fazladan döngü geçişinin, çoğu java kitaplığında performans hatası kaynağı olarak tanımlı olduğu görülüyor. Bu sayede, bu performans hatalarını otomatik olarak algılayacak statik ve dinamik analiz teknikleri geliştirildi. Bununla birlikte, dinamik analizlerin etkinliği analiz edilen giriş testlerine bağlı olsa da statik analizler, bu sorunların varlığını otomatik olarak doğrulama, düzeltmeleri doğrulama ve gelecekteki sürümlerde regresyonlardan kaçınma konusunda daha az etkilidir. Java kitaplıklarındaki döngü verimsizliklerini tespit edecek testlerin otomatik olarak oluşturulması için yeni bir yaklaşım öneriyoruz. Bu konuşma, bu çalışmaya kısa bir genel bakış sağlar.
Hız İhtiyacı - 3 Saatten 3 Dakikaya Otomasyon Testlerini Hızlandırın
Emanuil Slavov (Komfo Inc)
Tüm üst düzey otomatik testler günümüzün hızlı tempolu ve bire bir işaretli ortamında yavaştır. Bu, odadaki herkesin görmezden geldiği bir fildir. Hem de iyi bir nedenden dolayı. Hızlı, güvenilir ve yararlı otomatik testlere ulaşmak zor bir iştir. Ancak seçeneğiniz yok. Yavaş otomatik testlerle müşterilerinize daha hızlı bir şekilde teslim edersiniz. Komfo'da her gece 3 saatten uzun süren testler yapıyorduk. Yürütme süresi sınırsız şekilde artmaya devam etti. Testler kararsızdı ve geri bildirim döngüsü olarak kullanılamaz hale geldi. Testler bir noktada art arda 20 günden uzun bir süre boyunca başarısız oluyordu. Regresyon hataları, üretimde görünmeye başladı. Bu çılgınlığı durdurmaya karar verdik ve ciddi bir çaba ve özveriden sonra şu anda aynı testler 3 dakikadan kısa bir süre çalıştı. Bu, 60 kat daha hızlı testlere nasıl ulaştığımızı sürekli olarak anlatan bir hikaye.
Kod Kapsamı, Gerçek Dünyada Test Paketinin Etkisini Güçlü Bir Öngörüyor
Rahul Gopinath (Oregon Eyalet Üniversitesi)
ClusterRunner: Yatay ölçeklendirme ile hızlı test geri bildirimi gerçekleştirme
Taejun Lee (Box Inc) ve Joseph Harrington (Box Inc)
Box, her kayıtta yaklaşık otuz saatlik birim ve entegrasyon testleri yürütür. Paralel çalıştırma işlemini, açık kaynak test dağıtım platformu olan ClusterRunner'ı kullanarak 17 dakikadan kısa bir süre içinde paralel yaparız. Box neden bu kadar çok test yapıyor? ClusterRunner nasıl çalışır? ClusterRunner'ı kendi testleriniz için kurmak kolay mı? (Spoiler: Evet.) ClusterRunner, hem tek bir ana makinedeki testleri paralel hale getirip hem de birçok ana makineye dağıtım yaparak size inanılmaz hızlı test geri bildirimi sunar. Box'un Üretkenlik Mühendisliği ekibi tarafından geliştirilen ClusterRunner, dahili olarak 17 dakika içinde 30 saatten uzun test paketi yürütüyor ve bunu her gün yüzlerce kez yapıyoruz. ClusterRunner açık kaynak ve dilden bağımsızdır. Böylece kendi projenizde kolayca kullanabilirsiniz. ClusterRunner'ı uzun test geri bildirim gecikmeleri veya az test edilmiş kodlarla mücadele eden mühendislik ekipleri için oluşturduk. Baştan aşağıya kullanımı kolay olacak ve mevcut CI sisteminize entegre edebilecek şekilde tasarlandı. Testlerinizin ne kadar sürdüğünü öğrenir ve mümkün olan en hızlı şekilde geri bildirim sağlamak için gelecekteki çalışmaları buna göre programlar. Bileşenlerinin uyumlu ve genişletilebilir olmasını sağlayan uyumlu REST API aracılığıyla iletişim kurması.
Birden Çok Mobil Cihaz ve Hizmet ile Entegrasyon Testi
Alexander Dorokhine (Google) ve Ang Li (Google)
Mobly, sosyal uygulamalar gibi birden fazla cihaz arasında etkileşim gerektiren ürünleri veya kablosuz bağlantı gibi test ortamını kontrol etmeyi gerektiren testler için geliştirilmiş, Google tarafından geliştirilmiş açık kaynaklı bir çerçevedir. Farklı cihazlarda test yapmanın tek cihaz testinden farkını, birden fazla cihaz arasında senkronizasyon ve kod akışı gibi benzersiz sorunlarını ve Mobly'nin bu sorunları nasıl çözdüğünü konuşacağız.
Ölçek ve Değer: BBC'de Test Otomasyonu
Jitesh Gosai (BBC) ve David Buckhurst (BBC)
Mobil ve TV uygulamalarımızın testlerini ölçeklendirmek için kurum içi bir açık kaynak cihaz bulutu oluşturduk. Ancak kısa süre içinde otomasyona yaklaşımımızı yeniden değerlendirmemizi ve ölçek ile değer arasında doğru dengeyi bulmamızı sağlayan bir canavara dönüştü. Odaklanılan otomasyon ve ortak sahiplik sayesinde cihaz üzerinde yapılan testlerin sorunlarını nasıl çözdüğümüzü öğrenin. Ayrıca kendi dahili cihaz bulutunuzu nasıl oluşturacağınızı ve açık kaynak araçlarımızdan nasıl yararlanacağınızı keşfedin.
LibFuzzer'ı kullanarak C++ kitaplıklarında hataları bulma
Kostya Serebryany (Google)
Bir sunucuyu kilitlenmeyi nasıl öğrendim?
Jonathan Abrahams (MongoDB)
Çeşitli sistem kilitlenme senaryolarında başarılı olabilmek için MongoDB sunucusunun dayanıklılığını nasıl test ettiğimizi öğrenin. Her tür işletim sistemi ve ana makine yapılandırmasından (fiziksel veya sanal) oluşan bir sunucuyu kilitlenmeyi nasıl otomatikleştirebildiğimizi öğrenin.