GUI Testi – UI Test Durumları (Örnekler)
GUI Testini anlamak için önce şunu anlayalım:
GUI nedir?
Bir bilgisayar uygulaması için iki tür arayüz vardır. Komut Satırı Arayüzü, metni yazdığınız ve bilgisayarın bu komuta yanıt verdiği yerdir. GUI, metin yerine görüntüleri kullanarak bilgisayarla etkileşimde bulunduğunuz Grafik Kullanıcı Arayüzü anlamına gelir.
Kullanıcı ile uygulama arasındaki etkileşim için kullanılabilecek GUI öğeleri şunlardır:
GUI Testi yukarıdaki öğelerin doğrulanmasıdır.
GUI Testi Nedir?
GUI Testi Yazılımın Grafik Kullanıcı Arayüzünü kontrol eden bir yazılım test türüdür. Grafik Kullanıcı Arayüzü (GUI) Testinin amacı, menüler, düğmeler, simgeler vb. ekranları ve kontrolleri kontrol ederek yazılım uygulamasının işlevlerinin spesifikasyonlara göre çalışmasını sağlamaktır.
GUI kullanıcının gördüğü şeydir. Guru99.com'u ziyaret ettiğinizde göreceğiniz şeyin ana sayfa olduğunu söyleyin, bu sitenin GUI'sidir (grafiksel kullanıcı arayüzü). Kullanıcı kaynak kodunu görmez. Arayüz kullanıcıya görünür. Özellikle tasarım yapısına, görüntülerin düzgün çalışıp çalışmadığına odaklanılır.
Yukarıdaki örnekte, eğer GUI testi yapmamız gerekiyorsa, öncelikle görsellerin farklı tarayıcılarda tamamen görünür olması gerektiğini kontrol ederiz.
Ayrıca bağlantılar mevcuttur ve düğme tıklandığında çalışmalıdır.
Ayrıca kullanıcı ekranı yeniden boyutlandırırsa ne resimler ne de içerik küçülmemeli, kırpılmamalı veya üst üste binmemelidir.
GUI Testinin İhtiyacı
Artık GUI testinin temel konsepti açıktır. Aklınıza gelebilecek birkaç soru şunlar olacak:
- GUI testi neden yapılıyor?
- Gerçekten gerekli mi?
- Uygulamanın işlevsel ve mantığını test etmek fazlasıyla yeterli değil mi? O halde neden kullanıcı arayüzü testleriyle zaman kaybedelim?
Cevabı almak için bir testçi olarak değil, bir kullanıcı olarak düşünün. Kullanıcının XYZ yazılımı/Uygulaması hakkında herhangi bir bilgisi yoktur. Bir kullanıcının Uygulamayı daha fazla kullanıp kullanmayacağına karar veren, Uygulamanın kullanıcı arayüzüdür.
Normal bir Kullanıcı öncelikle Uygulama/Yazılımın tasarımını ve görünümünü ve UI'yi anlamasının ne kadar kolay olduğunu gözlemler. Bir kullanıcı Arayüz ile rahat değilse veya Uygulamayı anlamak için karmaşık bulursa o Uygulamayı bir daha asla kullanmaz. Bu nedenle, GUI endişe verici bir konudur ve GUI'nin Hatalardan arınmış olduğundan emin olmak için uygun testler yapılmalıdır.
GUI Testini Ne Yapıyorsunuz?
Aşağıdaki kontrol listesi Yazılım Testinde detaylı GUI Testi yapılmasını sağlayacaktır.
- Tüm GUI öğelerini boyut, konum, genişlik, uzunluk ve karakter veya sayıların kabulü açısından kontrol edin. Örneğin, giriş alanlarına giriş sağlayabilmeniz gerekir.
- GUI'yi kullanarak uygulamanın amaçlanan işlevselliğini yürütebildiğinizi kontrol edin
- Hata Mesajlarının doğru şekilde görüntülendiğini kontrol edin
- Ekranda farklı bölümlerin net sınırlarının belirlenip belirlenmediğini kontrol edin
- Bir uygulamada kullanılan Yazı Tipinin okunabilir olup olmadığını kontrol edin
- Metnin hizalamasının uygun olup olmadığını kontrol edin
- Yazı tipinin rengini ve uyarı mesajlarının estetik açıdan hoş olup olmadığını kontrol edin
- Görüntülerin netliğinin iyi olup olmadığını kontrol edin
- Resimlerin düzgün şekilde hizalanıp hizalanmadığını kontrol edin
- Farklı ekran çözünürlüğü için GUI öğelerinin konumunu kontrol edin.
GUI Test Teknikleri
GUI Test Teknikleri üç bölüme ayrılabilir:
Manuel Tabanlı Test
Bu yaklaşım kapsamında grafik ekranlar, iş gereksinimleri dokümanında belirtilen gereksinimlere uygun olarak test uzmanları tarafından manuel olarak kontrol edilmektedir.
Kaydet ve Tekrar Oynat
GUI testi otomasyon araçları kullanılarak yapılabilir. Bu 2 bölümde yapılır. Kayıt sırasında test adımları otomasyon aracı tarafından yakalanır. Oynatma sırasında, kaydedilen test adımları Test Edilen Uygulamada yürütülür. Bu tür araçlara örnek – QTP.
Model Tabanlı Test
Bir model, bir sistemin davranışının grafiksel bir açıklamasıdır. Sistem davranışını anlamamıza ve tahmin etmemize yardımcı olur. Modeller, sistem gereksinimlerini kullanarak verimli test vakalarının oluşturulmasına yardımcı olur. Bu model tabanlı test için aşağıdakilerin dikkate alınması gerekir:
- Modeli oluşturun
- Model için Girdileri Belirleyin
- Model için beklenen çıktıyı hesaplayın
- Testleri çalıştırın
- Gerçek çıktıyı beklenen çıktıyla karşılaştırın
- Model üzerinde daha fazla işlem yapılmasına ilişkin karar
Test senaryolarının türetilebileceği modelleme tekniklerinden bazıları:
- Grafikler – Bir sistemin durumunu gösterir ve bazı girişlerden sonra durumu kontrol eder.
- Karar Tabloları – Uygulanan her girdinin sonuçlarını belirlemek için kullanılan tablolar
Model tabanlı test, gereksinimlerden test senaryoları oluşturmaya yönelik gelişen bir tekniktir. Yukarıdaki iki yöntemle karşılaştırıldığında ana avantajı, GUI'nizin ulaşabileceği istenmeyen durumları belirleyebilmesidir.
Otomatik UI Testi gerçekleştirmek için kullanılabilecek açık kaynaklı araçlar aşağıda listelenmiştir.
PLATFORM | Lisanslı |
---|---|
AutoHotkey | LPG |
Selenium | Apache |
sikuli | İLE |
Robot Çerçevesi | Apache |
Su | BSD |
Dojo Araç Seti | BSD |
Örnek GUI Test Test Durumları
GUI Testi temel olarak şunları içerir:
- Elemanların boyutunun, konumunun, genişliğinin ve yüksekliğinin test edilmesi.
- Görüntülenen hata mesajlarının test edilmesi.
- Ekranın farklı bölümlerini test etme.
- Yazı tipinin okunabilir olup olmadığının test edilmesi.
- Ekranın 640 x 480, 600 x 800 gibi farklı çözünürlüklerde yakınlaştırma ve uzaklaştırma yardımıyla test edilmesi.
- Metinlerin ve simgeler, düğmeler vb. diğer öğelerin hizasının doğru yerde olup olmadığının test edilmesi.
- Yazı tiplerinin renklerini test etme.
- Hata mesajlarının, uyarı mesajlarının renklerinin test edilmesi.
- Görüntünün iyi bir netliğe sahip olup olmadığının test edilmesi.
- Görüntülerin hizalanmasının test edilmesi.
- Yazım testi.
- Kullanıcı sistem arayüzünü kullanırken sinirlenmemelidir.
- Arayüzün çekici olup olmadığını test etmek.
- Varsa sayfanın boyutuna göre kaydırma çubuklarının test edilmesi.
- Varsa devre dışı bırakılan alanların test edilmesi.
- Görüntülerin boyutunun test edilmesi.
- Başlıkların düzgün hizalanıp hizalanmadığının test edilmesi.
- Köprünün renginin test edilmesi.
Demo: GUI Testi nasıl yapılır
Aşağıdaki ekran için bazı örnek test vakalarını kullanacağız.
Aşağıda UI ve Kullanılabilirlik test senaryolarından oluşan Test vakalarının örneği yer almaktadır.
Test durumu 01- " etiketine sahip metin kutusunun doğrulandığını doğrulayın.Kaynak dosya” düzgün şekilde hizalanmıştır.
Test durumu 02 – “ etiketine sahip metin kutusunun doğrulandığını doğrulayın.paket” düzgün şekilde hizalanmıştır.
Test senaryosu 03 – Bu etiketi "adıyla doğrulayın"Araştır” Metnin sonunda bulunan bir düğmedirBox “ ismiyleKaynak dosya".
Test senaryosu 04 – Bu etiketi "adıyla doğrulayın"Araştır” Metnin sonunda bulunan bir düğmedirBox “ ismiylepaket".
Test durumu 05 – “ etiketine sahip metin kutusunun doğrulandığını doğrulayın.İsim” düzgün şekilde hizalanmıştır.
Test senaryosu 06 – “ etiketinin doğru olduğunu doğrulayınDüzenleyiciler” genel, varsayılan, özel, korumalı adında 4 radyo düğmesinden oluşur.
Test senaryosu 07 – “ etiketinin doğru olduğunu doğrulayınDüzenleyiciler”, arka arkaya düzgün şekilde hizalanmış 4 radyo düğmesinden oluşur.
Test senaryosu 08 – “ etiketinin doğru olduğunu doğrulayınüst sınıf"" etiketi altındaDüzenleyiciler”, uygun şekilde hizalanması gereken bir açılır menüden oluşur.
Test senaryosu 09 – “ etiketinin doğru olduğunu doğrulayınüst sınıf” etiketli bir düğmeden oluşurAraştır”üzerinde düzgün şekilde hizalanması gerekir.
Test durumu 10 – Herhangi bir radyo düğmesine tıklandığında varsayılan fare işaretçisinin el fare işaretçisine değiştirilmesi gerektiğini doğrulayın.
Test senaryosu 11 – Kullanıcının " açılır menüsüne yazılamaması gerektiğini doğrulayınüst sınıf".
Test senaryosu 12 – Bir şeyin yanlışlıkla seçilmesi durumunda uygun bir hatanın oluşması gerektiğini doğrulayın.
Test durumu 13 – Hatanın gerekli olduğu yerde KIRMIZI renkte üretilmesi gerektiğini doğrulayın.
Test senaryosu 14 – Hata mesajlarında uygun etiketlerin kullanılması gerektiğini doğrulayın.
Test senaryosu 15 – Her seferinde tek radyo düğmelerinin varsayılan olarak seçilmesi gerektiğini doğrulayın.
Test durumu 16 – Önceki alanın yanındaki başka bir alana atlarken SEKME düğmesinin düzgün çalışması gerektiğini doğrulayın.
Test senaryosu 17 – Tüm sayfaların doğru başlığı içermesi gerektiğini doğrulayın.
Test senaryosu 18 – Sayfa metninin düzgün şekilde hizalanması gerektiğini doğrulayın.
Test senaryosu 19 – Herhangi bir alanı güncelledikten sonra uygun bir onay mesajının görüntülenmesi gerektiğini doğrulayın.
Test durumu 20 – Sadece 1 radyo düğmesinin seçilmesi gerektiğini ve birden fazla onay kutusunun seçilebileceğini doğrulayın.
GUI Testindeki Zorluklar
Yazılım Mühendisliğinde en sık karşılaşılan problem Gerileme testi uygulama GUI'sinin sık sık değişmesidir. Bunun bir sorun mu yoksa iyileştirme mi olduğunu test etmek ve belirlemek çok zordur. GUI değişiklikleriyle ilgili herhangi bir belgeniz olmadığında sorun ortaya çıkıyor.
GUI Test Araçları
Aşağıda popüler olanların bir listesi bulunmaktadır GUI Test Araçları :
- Selenium
- QTP
- Cucumber
- İpek Testi
- TestTamamlandı
- Squish GUI Test Cihazı
Öğrenmek için buraya tıklayın Selenium, QTP & Cucumber.
Sonuç
Bir yazılım ürününün başarısı büyük ölçüde GUI'nin kullanıcıyla nasıl etkileşime girdiğine ve çeşitli özelliklerini kullanma kolaylığına bağlıdır. Bu nedenle GUI testi çok önemlidir. Manuel GUI testi bazen tekrarlayan ve sıkıcı olabilir ve dolayısıyla hataya açık olabilir. GUI testi için otomasyon şiddetle tavsiye edilir.