Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Sahibinden.com'da test uzmanı olarak 2013'ten beri çalışan ve 2014'ten beri test otomasyonu yapan Can Yıldırım tarafından sunulan bir eğitim içeriğidir.
- Video, Gan Framework ve Selenium Grid'in tanıtımını ve kullanımını konu almaktadır. İçerikte Gan Framework'in temel özellikleri, responsive desteği, Spect language kullanımı, dinamik item tanımlama, image comparison ve raporlama özellikleri anlatılmaktadır. Ayrıca Selenium Grid ile otomatik test yazma süreci, config dosyası düzenleme, test scriptleri yazma ve farklı çözünürlüklerde test çalıştırma yöntemleri adım adım gösterilmektedir.
- Eğitim, teorik bilgilerin yanı sıra pratik demo'lar içermekte ve regresyon testleri, görsel regresyon testleri, Java entegrasyonu ve hata raporlarının incelenmesi gibi konuları kapsamaktadır. Video, Gan Framework'ün GitHub sayfasından nasıl kurulacağı ve açık kaynak projelere nasıl katkıda bulunulabileceği hakkında bilgilerle sona ermektedir.
- 00:08Gan Framework Tanıtımı
- Gan Framework, responsive sitelerde layout testlerinin yapılması için kullanılan bir framework'dür.
- Açık kaynak bir proje olan Gan Framework, web ve mobil testlerde kullanılabilir.
- Sunum, Gan Framework'in kim tarafından geliştirildiği, özellikleri ve nasıl kullanılacağı hakkında bilgi verecektir.
- 00:55Sahibinden.com'daki Test Otomasyonu
- Konuşmacı Can Yıldırım, Sahibinden.com'da test uzmanı olarak 2013'ten beri çalışmaktadır.
- Sahibinden.com'da 2014 yılında test otomasyonu başlamış olup, şu anda 655 web test case ve 404 mobil test case bulunmaktadır.
- 404 mobil test case'in içinde 41-45 Gan Framework testi bulunmaktadır ve bu framework responsive siteyi kapsar.
- 01:49Gan Framework'in Geliştiricisi ve Özellikleri
- Gan Framework, Ivan Shubin tarafından geliştirilmiş olup, Tost Sofia Engineery Intest ve eBay'de çalışmıştır.
- Bu framework, tasarımcıların ve analistlerin hazırladığı dökümanları daha iyi bir şekilde layout olarak test etmeyi sağlar.
- Responsive desteği olan Gan Framework, tüm ekran boyutlarında test yapılabilir ve GitHub'da takip edilebilir.
- 03:01Gan Framework'in Kullanımı
- Gan Framework'de bir dosya oluşturulup, web elemanlarının hizaları ve konumları belirlenir.
- CSS framework'ü olan Gan Framework, yazı dizimi ile tanımlamalar yapılarak layout testi verir ve raporlamalar sağlar.
- Bu framework, test geliştiricileri tarafından dökümantasyon kısıtlarını belirleyip geliştirerek kullanılabilir.
- 04:18Gan Framework'in Avantajları
- Desktopta ana sayfa, ödeme sayfası ve ürün detay sayfası gibi kilit sayfalar daha detaylı tanımlanabilir.
- İnsan gözü sürekli aynı şeyi test ederken "çin körlüğü" yaşayabilir, ancak Gan Framework kararlılık sağlar.
- Gan Framework, ekranları iyi bir şekilde test etmeyi sağlar.
- 05:30Spec Language Kullanımı
- Gan Framework'de "spec language" adı verilen bir dosya kullanılır ve objeler yukarıda oluşturulur.
- Mobil ve tablet için farklı yorumlar yapılabilir, örneğin mobil ve tablette comment genişliği 300 piksel olmalı.
- "Insight screen" komutu ile ekranın içindeki öğelerin konumları belirlenebilir ve for döngüsü ile menü elemanları otomatik olarak test edilebilir.
- 07:54Gelin Framework'ün Özellikleri
- Framework'de item olarak tanımlama yapılabiliyor ve her itemin diğerinin solunda olması gibi dinamik seçenekler mevcut.
- Image comparison özelliği ile logo kalitesi kontrol edilebiliyor ve ısı haritası şeklinde raporlanabiliyor.
- Raporlama özelliği çok rahat okunabilir ve kodun içine bakmaya gerek kalmadan sorunları tespit etmeyi sağlıyor.
- 09:15Menü ve Eleman Kontrolleri
- Menü listelerinde yatay veya dikey hizalama kontrolü yapılabiliyor (top, bottom, left, right).
- Menü itemlerinin dikey olarak sağdan ve soldan eşit olması gibi detaylara dikkat ediliyor.
- Banner gibi elemanların konumunu ve etrafını kontrol edebiliyor.
- 11:10CSS ve Görüntü Kontrolleri
- Elemanlara CSS propertileri (yanında, altında, üstünde, sağında, solunda, içinde, genişliği) verilebiliyor.
- Renk kontrolü, görünür olup olmadığı, içerip içermediği gibi özellikler kontrol ediliyor.
- Image compression özelliği ile 360 derece fotoğraflar gibi karmaşık görüntüler test edilebiliyor.
- 12:40Objektif Tanımlama ve Gruplama
- Objektif definitionlar ile ışınlar ve elementler tanımlanabiliyor.
- Header ve footer gibi her sitede tekrarlanan elemanlar için import özelliği bulunuyor.
- Objektif grupları oluşturulabiliyor, foreach loop'ları ve JavaScript inject edilebiliyor.
- 13:34Raporlama ve Test Çalıştırma
- HTML rapor özelliği ile spektlerdeki tüm kontroller tek tek görüntülenebiliyor.
- Testler komut satırıyla çalıştırılabiliyor ve ekstra Java kodu yazmaya gerek kalmıyor.
- JavaScript testleri yazılabilir ve rapor ayarları yapılabilir.
- 15:10Demo ve Kullanım
- Demo için önce gelin config dosyası oluşturuluyor.
- Firefox'un 48 ve 49 versiyonlarında otomasyonda problem çıkabildiği belirtiliyor.
- Objeler tanımlanıyor ve test div'in sitesi seçiliyor.
- 19:19Selenium Grid ile Test Yazımı
- Selenium Grid'de social linkleri foreach döngüsü ile item name'e atarak ve next item olarak isimlendirerek test yazılabilir.
- Testlerde içerik id content olarak belirtilir ve xpd, css gibi normal JavaScript kodları kullanılabilir.
- Image comparison yaparken hata payı (örneğin %2) ayarlanabilir, bu hata payı genellikle image kütüphanesiyle ilgilidir.
- 22:05Test Dosyaları ve Yapılandırma
- Homepage spec dosyası yazılır, config dosyası oluşturulur ve içine chrome yerleştirilir.
- Test.js dosyasında normal JavaScript kodu yazılır ve test başlığı belirtilir.
- Page object yapısında otomasyon yazmak için destek verilir, page'ler oluşturulup objeleri kullanılır.
- 23:41Test Çalıştırma ve Raporlama
- Test çalıştırılırken driver.quit() ile driver kapatılır ve after, before class'ları kullanılabilir.
- Test çalıştırılırken parametre olarak chrome driver ve html report directory belirtilir.
- Selenium Grid'de report lices'tan parametre verilerek rapor oluşturulabilir.
- 27:08Rapor Özellikleri ve Hata Ayıklama
- Rapor heat map sunar ve ekran görüntüsünün tamamını alır.
- Image compression hassasiyeti ayarlanabilir, hassasiyet düşükse hata verebilir.
- Test başarısız olduğunda hata detayları gösterilir ve küçük değişiklikler tespit edilebilir.
- 31:29Galen Framework Kullanımı
- Galen framework'de dışarıdan erişilebilir sayfalar için "galen check" komutu kullanılarak test yapılabilir.
- Test için spesifik dosya gösterilir ve çözünürlük gibi parametreler belirlenir.
- Bu yöntem daha basit testler için sunulmuş olup, site otomasyonu için tam olarak uygun olmayabilir.
- 32:38Java Entegrasyonu
- Galen framework'de Java entegrasyonu bulunmaktadır ve bu entegrasyon sayesinde sayfalar Firefox'a yüklenerek test edilebilir.
- Testler normal bir projenin içerisine eklenerek "spec" adında bir klasör oluşturulabilir.
- Bu yöntemle responsive site testleri pilot olarak başlatılarak hatalar bulunmaya başlanmış ve başarılı sonuçlar elde edilmiştir.
- 34:22Kurulum ve Kullanım
- Galen framework'ün GitHub sayfasından kurulum bilgileri bulunmaktadır.
- Node.js varsa doğrudan kurulabilir veya Maven'dan pom.xml eklenerek kullanılabilir.
- Şu anda Galen versiyonu 232'dir ve GitHub sayfasında daha fazla katılım beklenmektedir.
- 36:11Açık Kaynak Projeler
- Testivinde de GitHub'ta açık kaynak projeleri bulunmaktadır.
- GitHub'da yorum yapmak veya problem belirtmek için kimse ayıplamaz, en fazla iş öyü kapatılır.
- Bu şekilde sürekli öğrenme imkanı sunan bir komünite oluşturulabilir.