Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in book_prev() (line 775 of /var/www/vhosts/utafs.com/httpdocs/modules/book/book.module).

Monkey Testi

    Monkey Testi, uygulamaları ve sistem arayüzünü, seri eventler göndererek test eder. Sistemin bir çok eventi çok az sürede gerçekleştirmesi gerekmektedir. Monkey Testlerini tekrarlı göndermek cihazı zorlayacak ve hataya düşürecektir. Lütfen tekrar tanımlaması yapmayınız. Test adında Türkçe karakter kullanmayınız. 

    Aynı test senaryosu, birden fazla cihazda koşulduğunda, programın özelliği gereği, her cihazda farklı uygulamalarda farklı işlevler gerçekleşecektir. Bu sayede çok sayıda farklı kullanım gözlenerek olası hatalarla karşılaşmak ve bunlara karşı tedbir almak mümkün olur. Dolayısıyla Monkey Testlerinin çoklu koşulmasını tavsiye ederiz.

Kullanılabilecek işlemler:

  1. Monkey Testine Uygulama Ekle (com.x.y): Test sırasında Parametre (1)'de belirtilen uygulamanın çalışmasını sağlar. Teste birden fazla uygulama dahil etmek için birkaç kez kullanılabilir. Bu işlemle eklenen uygulamaların birbirleriyle etkileşimlerine izin verilir ve sadece bu uygulamalara event gönderilir. İşlem Monkey testi için zorunlu değildir. Kullanılmadığı takdirde herhangi bir paketten herhangi bir aktivite çağrılabilir, kısıtlama yoktur. Özellikle test edilmek istenen bir veya birden fazla uygulama varsa, bu komutun kullanılması önerilir. Sistem arayüzü, launcher testi gibi genel bir arayüz testi yapılmak isteniyorsa, paket kısıtlaması konulmamalıdır. Ayrıntılı kullanım için Uygulama Seçme Sayfası'na bakabilirsiniz.
  2. Etkinlikler Arasına Süre Koy(ms): Bu işlem, iki event arasındaki bekleme süresini belirler. Önerilen bekleme süresi 10 milisaniye'dir. Sistemi ve arayüzü biraz daha zorlamak için 3 ila 5 milisaniye arası değerler verilebilir. 5 milisaniye ve alt değerler, elle yakalanamayan kritik hataların açığa çıkmasında önemli rol oynar. 5 milisaniyenin altı donanımda ısınma ve hatalara sebep olabilir. Beklenen ve istenilen, iki event arasında 5 milisaniye gibi kısa bir süre verildiğinde dahi herhangi bir hatayla karşılaşılmamasıdır, bu yüzden önemli bir eylemdir.
  3. ... Adet Event Üret: Monkey testi içerisinde uygulanacak event sayısını belirler ve Parametre (1)'e girilen sayı kadar event üretir. Eğer Event yüzdeleri ((*) ile belirtilen eylemler) kullanıcı tarafından belirlenecekse, bu komuttan önce senaryoya girilmelidir. Aksi takdirde bu komutla, her event tipi için tanımlanmış standart yüzde değerlerinde event üretilir. Standart Event % değerleri tablosunu aşağıda inceleyebilirsiniz.
  4. (*)TOUCH Event yüzdesini ayarla: Test esnasında üretilecek dokunma event sayısının toplam event sayısına yüzde olarak oranını belirler. Dokunma, ekranda rastgele noktalara temas edilmesidir. Değer Parametre (1)'e yazılır.
  5. (*)MOTION event yüzdesini ayarla: Test esnasında üretilecek kaydırma event sayısının toplam event sayısına yüzde olarak oranını belirler. Motion, Tek parmak kullanılarak ekranda yapılan kaydırma işlemidir. Değer Parametre (1)'e yazılır.
  6. (*)Trackball event yüzdesini ayarla:  Trackball bulunan cihazlarda, trackball ve cihaz performansını ölçmek için kullanılır. Test esnasında üretilecek trackball event sayısının toplam event sayısına yüzde olarak oranını belirler. Değer Parametre (1)'e yazılır. Trackball bazı cihazlarda, mouse yerine kullanılan, bir yuvaya yerleştirilmiş bilyadır.
  7. (*)FLIP event yüzdesini ayarla: Test esnasında üretilecek flip event sayısının toplam event sayısına yüzde olarak oranını belirler. Değer Parametre (1)'e yazılır.
  8. (*)PINCHZOOM event yüzdesini ayarla: Test esnasında üretilecek Pinchzoom event sayısının toplam event sayısına yüzde olarak oranını belirler. Değer Parametre (1)'e yazılır. Pinchzoom ekran üzerinde çift parmak ile yapılan işlemlerdir. Örneğin Harita uygulamasında döndürme, yakınlaştırma ve uzaklaştırma gibi işlemlerde kullanılabilir. Harita, galeri gibi çift parmak kullanımını destekleyen uygulamalarda test edilmelidir.
  9. (*)SYSTEM KEYS event yüzdesini ayarla: Test sırasında yazılım desteği ile sistem tuşlarının kullanımını sağlamaktadır. Sistem tuşları; ses seviyesini ayarlama, ekran görüntüsü yakalama gibi işlemleri yapan tuşlardır. Bu işlevlerle ilgili yapılması planlanan event sayısının toplam event sayısına yüzde olarak oranını belirler. Değer Parametre (1)'e yazılır.
  10. (*)MAJOR NAVIGATION event yüzdesini ayarla: Uygulamada menü tuşlarını test etmek için kullanılır. Önce rastgele bir uygulama açar ve içerisindeki tuşları test etmeye başlar. Video oynatılırken kullanılan başlatma, bekleme, ileri - geri sarma gibi tuşlar da bu gruba dahildir. Bu işlevlerle ilgili yapılması planlanan event sayısının toplam event sayısına yüzde olarak oranını belirler. Değer Parametre (1)'e yazılır.
  11. (*)MINOR NAVIGATION event yüzdesini ayarla: Uygulama çalıştığı anda ekrana gelen boşlukları ve tuşları test etmek için kullanılır. Tuşlara basmadan yalnızca tuş olduğunu test eder. Bu işlevlerle ilgili yapılması planlanan event sayısının toplam event sayısına yüzde olarak oranını belirler. Değer Parametre (1)'e yazılır.
  12. (*)Diğer basit Event'lerin yüzdesini ayarla: Yukarıda (*) ile belirtilen işlemler dışında kalan event sayısının toplam event sayısına yüzde olarak oranını belirler. Değer Parametre (1)'e yazılır.
  13. (*)Uygulama değiştirme event yüzdesini ayarla: Test sırasında uygulamalar arasındaki geçiş event sayısının toplam event sayısına yüzde olarak oranını belirler. Değer Parametre (1)'e yazılır.
  14. Bütün İşlemleri Göster: İşlemler listesinin en altında yer alır. Bu seçenek sayesinde testlerde kullanılan bütün işlemler açılan yardımcı pencerede listelenir. Böylelikle farklı test senaryoları için tasarlanmış işlemler bir arada kullanılarak karmaşık senaryolar oluşturulabilir. 

UYARI: (*) ile belirtilen etkinliklerin kullanımı: Bu etkinlikler tekli ya da çoklu şekilde kullanılabilir. Kullanımları sırasında dikkat edilmesi gereken nokta, atanan değerlerin toplamının 100 olmasıdır. İlk eyleme 100 değeri verilirse diğer etkinlikler devreye giremez. Etkinliklerin kullanım yüzdeleri "Monkey Log" içerisinde aşağıdaki sırayla belirtilmiştir. Özel event yüzdeleri atanmadığı takdirde standart değer tablosu aşağıdaki gibidir: 

No: Adı: Standart (%):
0 Touch Events 15.0
1 Motion Events 10.0
2 Pinchzoom Events 2.0
3 Trackball Events 15.0
4 -- --
5 Minor Navigation 25.0
6 Major Navigation 15.0
7 System Keys Events 2.0
8 Switch Events 2.0
9 Flip Events 1.0
10 Other Events: 13.0
  Total: 100.0

    Monkey Testi, girilen Maksimum Süre değerinden önce bitmezse, Zaman Aşımı'na uğrayarak sonlanır. Zaman aşımı süresi girilmeden önce, iki event arasındaki bekleme süresi ve gönderilecek event sayısı baz alınarak, makul ve mantıklı bir değer hesaplanmalıdır. Örneğin; 

  • İki event arasındaki bekleme süresi 10 milisaniye
  • Gönderilecek event sayısı 1000 olsun.

    1000 x 10 hesabından 10.000 milisaniyelik bir işlem süresi ortaya çıkar, bu da 10 saniyeye tekabül eder. Sistemin komutları icra etmesi esnasında gecikmeler olabileceğini varsayarsak, elde edilen 10 saniyelik kaba hesabın 4 katı gibi (35 ila 40 saniye) bir Zaman Aşımı süresi girilmesi en doğru yöntem olacaktır. Hesaplanmadan girilen zaman aşımı süreleri, Monkey testi esnasında hata yakalanırsa fazladan beklemeye sebep olacaktır. Özellikle Android'in crash olduğu durumlarda sistem arayüzünün cevap vermemesi ve testin beklendiğinden uzun sürmesi olasıdır. Bu gibi durumlarda testin makul bir zaman aşımı süresinde kendini bitirmesi gereklidir. Yakalanan hatanın kaydı üretilip gözlemlenebilecektir.

 

uTAFS Ekran Monkey Testi1 - Ekran Görüntüsü

    Yukarıdaki örnek testte hiç bir uygulama kısıtı getirilmemiştir, dolayısıyla sistem arayüzü bütünüyle test edilecektir. Herhangi bir uygulamaya rastgele olarak geçiş serbesttir.

Örnekteki gibi bir Monkey testi; 

  • Gönderilecek eventlar arasındaki bekleme süresini 200 milisaniyeye ayarlar
  • Gönderilecek event sayısını 1000'e ayarlar ve testi başlatır
  • 1 saat içinde Monkey testi bitmezse hata kaydını alır ve testi bitirir

 

uTAFS Ekran Monkey Testi2 - Ekran Görüntüsü.

Bu test;

  • Uygulama Değiştirme event %'sini 10'a ayarlar,
  • Touch event %'sini 10'a ayarlar,
  • Pinchzoom event %'sini 20'ye ayarlar,
  • Major Navigation event %'sini 30'a ayarlar,
  • Diğer basit eventlerin %'sini 15'e ayarlar,
  • Flip event %'sini 15'e ayarlar,
  • 1000 adet event üretir,
  • Etkinlikler arasına 1000 milisaniye süre koyar,
  • Cihazı yeniten başlatır,
  • Testi sonlandırır.

Burada önemli nokta event % değerlerinin toplamı mutlaka 100 olmalıdır.