Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

Çoğu yazılım testi türü, kapsamı sağlamak için dikkatlice tanımlanmış bir test planı kullanır. Ancak bu parametreler bir yazılımın kullanımıyla ilgili pek çok olasılığı kapsasa da, uygulamaya aşina olmayan ve sadece keşif amaçlı bir şekilde etkileşime girmeye çalışan bir kullanıcının davranışını her zaman taklit etmeyecektir: Maymun testine girin.

Bu makalede, maymun testi yazılımı, süreçleri, türleri, yaklaşımları ve daha fazlası dahil olmak üzere maymun testi ile ilgili her şeye bir göz atacağız.

 

Maymun testi nedir?

Yazılım Testinde Artımlı Test - Nedir, Türleri, Süreci, Yaklaşımları, Araçları ve Daha Fazlasına Derinlemesine Bir Bakış!

Maymun testi giderek daha popüler hale gelen bir yazılım testi tekniğidir. Kullanıcı arayüzü etkileşiminin öngörülemezliğini simüle etmek için bir uygulamaya rastgele girdiler göndermeyi içerir.

Amaç, önceden tanımlanmış test senaryoları ile tespit edilmesi zor olabilecek hataları veya çökmeleri bulmaktır. Maymun testi, bir uygulama hakkında hiçbir deneyimi veya bilgisi olmayan bir kişinin yazılımı rastgele keşfetmesini taklit eder.

Bu teknik her ikisi için de iyi bir seçenektir
Yük
ve
stres testi
uygulamalar. Aslında testler, uygulamayı kırmak amacıyla sürekli rastgele girdiler sağlar.

Maymun testleri ile aşağıdaki testler arasında birçok benzerlik vardır
ad hoc test
Özellikle de rastgele olmaları ve bir test planına dayanmamaları. Bununla birlikte, ikisi arasında farklı yaklaşımlar olarak değerlendirilebilecek kadar fark vardır.

Bazı geliştiriciler maymun testinin bir tür ad hoc test olduğunu öne sürse de, ikisi arasındaki önemli bir fark, maymun testinin uygulama hakkında hiçbir bilgisi olmayan kişiler tarafından gerçekleştirilebilmesidir.

Maymun testi, bir test planına sahip olmamakla ilgilidir. Bu, yazılımı çökertmek amacıyla rastgele girdileri beslemekle ilgilidir.

 

Buna neden maymun testi deniyor?

alfa testi vs beta testi

Bu tekniğin neden maymun testi olarak adlandırıldığı konusunda bir fikir birliği yoktur. Bununla birlikte, bu ismin ardında birkaç ilgi çekici teori var.

 

Teori 1: Sonsuz maymun teoremi

 

İlk teori, bu ismin istatistiksel olasılığı tartışmak için kullanılan bir metafor olan sonsuz maymun teoremi ile ilgili olduğunu öne sürmektedir. Kısacası, bir maymun daktilonun başına oturup sonsuz bir süre boyunca rastgele tuşlara basarsa, bir noktada William Shakespeare’in tüm eserlerini üreteceğini belirtmektedir.

Buradaki fikir, maymun testinin bu rastgele tuş ezmelerini simüle etmesi ve yeterli zamanla, uygulamanın üretimde karşılaşacağı her olasılığı kapsayacağıdır.

 

Teori 2: Macintosh’un “Maymunu”

 

Diğer bir teori ise ismin 1983’teki “The Monkey” adlı bir MacOS uygulamasından geldiği yönünde. Kısacası, ilk Macintosh bilgisayar üzerinde çalışan ekip, makinelerini stres testine tabi tutmanın bir yolunu bulmak istiyordu.

Bir maymunun çılgınca tuşlara vurması ve fareyi hareket ettirmesinin bilgisayarın dayanıklılığını test etmelerine yardımcı olacağını düşündüler. Ellerinde canlı bir maymun yoktu, bu yüzden bu tür bir kullanımı simüle edebilecek bir uygulama geliştirdiler ve ona “Maymun” adını verdiler.

 

Maymun testi neden önemlidir?

yazılım test otomasyonundaki bazı karışıklıkları gidermek

Maymun testinin önemli olmasının en büyük nedeni, ekiplerin bir uygulamadaki uç durumları veya beklenmedik davranışları keşfetmesine yardımcı olmasıdır. Buradaki fikir, geliştiricilerin, uygulamanın vahşi doğada nasıl karşılanacağını daha iyi anlamak için daha geleneksel yöntemlerin yanı sıra maymun testini de kullanabilmeleridir.

Bir ürünün kapsamlı bir şekilde test edilmesi bile, uzun bir süre boyunca bir uygulamayla etkileşim halinde olan on binlerce veya daha fazla kullanıcıyla rekabet edemez. Bu vakaların küçük bir yüzdesinde, kullanıcılar uygulamadan beklenmedik bir şey yapmasını isteyecektir. Tüm bu senaryoları test senaryoları aracılığıyla ortaya çıkarmak neredeyse imkansızdır.

Maymun testi, bu neredeyse rastgele senaryoları kapsamaya çalışır. Geliştiriciler bir test senaryosu oluşturduklarında, uygulama hakkında derinlemesine bilgi sahibi olma eğilimindedirler. Kullanıcıların hedeflerinin ne olduğunu anlarlar ve bir uygulama içinde bir şeye ulaşmak için kullanmaları gereken en iyi etkileşim sırasını bilirler.

Bu girdilerin rastgele seçilmesi, uygulamanın geliştiricilerin düşünmediği şekillerde test edilmesi anlamına gelir. Genel olarak bu, bir yazılım parçasının genel esnekliğini ve dayanıklılığını artırır ve dünyaya girip çökmeden geniş bir kullanıcı yelpazesinin öngörülemezliğiyle yüzleşebilmesini sağlar.

 

Maymun testini ne zaman kullanmalısınız?

kontrol listesi uat, web uygulama test araçları, otomasyon ve daha fazlası

Maymun testi mükemmel bir tamamlayıcı test tekniğidir. En büyük avantajı, daha geleneksel yazılım testi yöntemleriyle ortaya çıkarılamayacak beklenmedik hataları bulma yeteneğinde yatmaktadır. Bu nedenle, aşağıdaki gibi yöntemlerle birlikte kullanıldığında en iyisidir:

Tipik olarak, geliştiriciler test sürecinin başlarında maymun testi kullanırlar. Özellikle yararlanılacak önceden tanımlanmış test planlarının olmadığı durumlarda kullanışlıdır.

 

Maymun testi nasıl yapılır?

En Popüler 30 RPA (robotik süreç otomasyonu) Aracı ve Yazılımı

Çok da uzak olmayan bir geçmişte, maymun testleri manuel olarak gerçekleştiriliyordu. Sistemin alışılmadık girdilere nasıl dayanacağını görmek için test kullanıcıları düğmelere basmak, metin girmek, nesneleri seçmek vb. işlerde çalıştırıldı. Burada bariz sorunlar var. Öncelikle, oldukça zaman alıcı. İkinci olarak, bu eylemlerin her olasılığı kapsayacağına dair çok az garanti vardır.

 

Manuel maymun testi örnekleri

Manuel maymun testinin nasıl yapıldığına dair birkaç örnek aşağıda verilmiştir. Ayrıca otomatik maymun testinin neyi simüle etmeye çalıştığı konusunda da size bir fikir verebilir.

  • Test kullanıcısı, uygulamayı çökertip çökertmediklerini veya beklenmedik sayfalara yönlendirip yönlendirmediklerini görmek için rastgele bağlantılara tıklayarak bir web sitesinde gezinir
  • Bir test kullanıcısı, uygulamanın nasıl yanıt verdiğini görmek için bir form alanına rastgele metinler girer
  • Test uzmanı, beklendiği gibi davranıp davranmadıklarını veya istenmeyen sonuçlar ortaya çıkarıp çıkarmadıklarını görmek için simgeleri ve nesneleri sürükleyip bırakır.

 

Farklı maymun testi türleri

web uygulaması otomasyon testi

Geliştiricilerin uygulamalarının esnekliği hakkında farklı bilgiler keşfetmek için kullandıkları üç ana maymun testi türü vardır.

 

1. Aptal maymun testi

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Aptal maymun testi, test uzmanının test edilen uygulama hakkında hiçbir şey bilmediği bir yaklaşımı tanımlar. Bunun yerine, test uzmanından iş akışından tamamen habersiz bir şekilde etrafta dolaşması, düğmelere basması, metin girmesi vb. istenir. Bu teknik, geliştiricilerin farkında olmadığı önemli kusurların ortaya çıkarılmasına yardımcı olabilir.

 

2. Akıllı maymun testi

 

Akıllı maymun testi ile test uzmanı uygulama ve amaçları hakkında biraz bilgi sahibi olur ve hatta nasıl çalıştığı hakkında ayrıntılı bilgi sahibi olur. Bu süreç aynı zamanda uygulamayı belirli sınırların ötesine itmek için tasarlanmış daha odaklı bir rastgele girdi türü kullanır. Bu yaklaşımı kullanmak hem stres hem de yük testi için iyidir.

 

3. Mükemmel maymun testi

 

Zeki maymun testi, akıllı maymun testinden bir üst seviyedir. Test uzmanı, uygulama hakkında güçlü ve kapsamlı bir bilgiye sahiptir ve bu bilgiye dayalı olarak seçilir. Bu gözetim, test uzmanının birçok hatayı keşfetmesine yardımcı olabilir çünkü ürünü bir kullanıcının bakış açısından anlamaları gerekir.

 

Maymun testinin artıları ve eksileri

challenge-load-testing

Maymun testi tekniğini kullanmaya karar vermeden önce, artılarını ve eksilerini anlamanız gerekir.

 

Maymun testi avantajları

 

1. Nadir veya gizli hataları bulma

Maymun testinin belki de en ilgi çekici faydası, bu tekniğin başka türlü ortaya çıkarılamayacak hataları, kusurları veya davranışları ortaya çıkarabilmesidir. Bu uç durumları bulmak geleneksel test teknikleriyle zordur, bu nedenle maymun testi çökmeleri, veri bozulmalarını ve bir uygulamanın kararlılığını tehdit eden diğer her şeyi test etmek için sağlam bir yoldur.

 

2. Sağlamlık sağlar

Maymun testi, bir uygulamanın gerçek dünya kullanımları sırasında karşılaşacağı öngörülemeyen koşullara nasıl tepki verdiğini görmek için tasarlanmıştır. Bir uygulama kullanıcının eline geçtiğinde, geliştiricilerin öngöremediği birçok farklı girdiyle sonuçlanacaktır. Maymun testi bu durumu taklit ederek daha güvenilir yapıların ortaya çıkmasını sağlar.

 

3. Maliyet etkinliği

Diğer test türleriyle karşılaştırıldığında, maymun testi çok uygun maliyetlidir. Bunun birkaç nedeni var. İlk olarak, uygulamanız için kullanım senaryoları tasarlamak için çok fazla zaman harcamanıza gerek yoktur. Ayrıca, maymun testi yazılım araçları büyük ölçüde otomatikleştirilmiştir, bu da geliştiricilerin zamanını diğer görevler için serbest bırakır ve size para tasarrufu sağlar.

 

4. Çok yönlülük

Maymun testi ile ilgili en iyi şeylerden biri, testlerin teknik geçmişi olmayan kişiler tarafından gerçekleştirilebilmesidir. Aslında, bazı durumlarda, tamamen yeşil olan birinin olması tercih edilir. Dahası, bu testlerin kurulumu oldukça basittir, bu da yine yetenekli mühendislere olan bağımlılığı azaltır.

 

5. Erken hata tespiti

Geliştirme yaşam döngüsünün erken aşamalarında hataları bulmak ve çözmek, ilerleyen aşamalarda zaman kazandırır. Maymun testi, teste bir rastgelelik düzeyi getirir ve bu da kodunuzdaki kusurları düzeltmesi kolayken bulmanıza yardımcı olabilir.

 

Maymun testinin dezavantajları

 

1. Kapsam

Maymun testi, test kapsamının iyileştirilmesini sağlayabilirken, diğer test türlerinin planlı ve stratejik kapsamlılığından yoksundur. Aslında, uygulamayı rastgele girdilerle patlattığınız için, hataları bulma konusunda kaosun insafına kalıyorsunuz. Bu, her şeyi bulamayacağı anlamına gelmez, ancak net ve önceden tanımlanmış bir strateji olmadan, her şeyin yakalandığından %100 emin olamazsınız.

 

2. Sınırlı uygulamalar

Maymun testi her tür uygulama için uygun değildir. Çok sayıda farklı özellik ve işleve sahip olan ve en önemlisi beklenmedik kullanıcı etkileşimleri potansiyeli taşıyan karmaşık uygulamalar için harikadır. Daha katı ve öngörülebilir işlevler sunan programların bu testlerden yararlanma olasılığı daha düşüktür.

 

3. Zaman alıcı

Manuel maymun testi çok zaman alıcıdır. Modüller ve yazılımlarla çok sayıda etkileşim gerektirir ve her oturumun hataları keşfedeceğinin garantisi yoktur. Süreci otomatikleştirebilirsiniz, bu da önemli ölçüde zaman ve kaynak tasarrufu sağlar.

 

4. Yanlış pozitifler

Maymun testinin kaotik veya rastgele doğası nedeniyle, bazı girdiler ürünün gerçek dünyadaki kullanımı sırasında gerçekleşmeyecek senaryoları simüle edebilir. Bu durum yanlış pozitiflerin oluşmasına neden olarak kodlayıcıların gerekli olmayan sorunları düzeltmesine yol açabilir.

 

Kaos maymunu testi nedir?

kaos maymunu testi̇ nedi̇r?

Kaos testi, bir sistemin esnekliğini ve iyileşme kabiliyetini değerlendirmek için sistemi bozmak (ve hatta arızalara neden olmak) üzere tasarlanmış kontrollü ve kasıtlı deneyler kullanan bir yazılım mühendisliği tekniğidir.

Esnekliği sağlamak için bir sistemi kasıtlı olarak bozma fikri yazılım geliştirme alanında oldukça yaygındır ve bu yöntemler genellikle mühendislerin arkasında durabileceği yapılarla sonuçlanır.

2008 yılında, popüler yayın hizmeti Netflix, üç gün süren bir veritabanı bozulması yaşadıktan sonra Amazon Web Services’e (AWS) geçmeye karar verdi. Amaç, tek hata noktalarından kaçınmak ve hizmetlerinin genişletilmesinden kaynaklanan ölçeklenebilirlik sorunlarını azaltmaktı.

Ekip, AWS altyapısında halka açık örnekleri test etmek için kaos maymunu testini uyguladı. Bunun iki faydası oldu:

  1. Süreç, Netflix mühendislerinin düzeltebileceği zayıflıkları ortaya çıkardı
  2. Bu durum ekibe, hizmetleri için otomatik kurtarma mekanizmaları oluşturma konusunda ilham verdi.

Kaos maymunu testi, Kaos Mühendisliğinin bir parçasıdır. Bir sistemin hata toleransını ve tek tek bileşenler beklenmedik şekilde arızalandığında bile kararlılığı ve performansı sürdürme yeteneğini test etmek için kullanılır.

Maymun testi ile ilişkili olsa da, farklı bir tekniktir.

 

Maymun testi vs Goril testi

Maymun testine karşı Goril testi

Yazılım geliştirmede Goril testi kavramını da duymuş olabilirsiniz. Her iki teknik de primatların isimlerini taşısa da, birçok benzerlik ve farklılıkları vardır. Goril testinin ne olduğunu ve nerede kullanılabileceğini inceleyelim.

Goril testi, maymun testinin daha yapılandırılmış bir versiyonu olarak kabul edilir. Buna karşılık, maymun testi genellikle resmi test senaryolarının mevcut olmadığı testin ilk aşamalarında kullanılır. Goril testi ise bir yazılım uygulaması için rastgele girdiler oluşturmak üzere otomatik bir araç veya komut dosyası kullanır.

Goril testi hızlıdır ve manuel maymun testinden çok daha verimlidir. Geniş bir kapsama alanı sunar ve çözülmesi gereken çökmeleri bulmak için mükemmel bir yoldur. Bununla birlikte, sınırları iyi tanımlanmış uygulamalar için veya belirli bir modülü kapsamlı bir şekilde test etmek için en iyi şekilde kullanılır.

Hem maymun testi hem de goril testinin modern yazılım geliştirme testlerinde yeri vardır. Bunları anlamak, doğru alanda doğru yaklaşımı kullanmanın anahtarıdır.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

En iyi maymun test aracı hangisidir?

en iyi maymun test araçları

Maymun test yazılımı, modern geliştiricinin araç setinin önemli bir parçası haline gelmiştir. Ancak, dışarıda birkaç seçenek var. Peki, en iyi maymun test aracı hangisi? İşte bilmeniz gereken birkaç tanesi.

 

1. ZAPTEST

 

ZAPTEST güçlü bir
ücretsiz ve kurumsal yazılım test otomasyon aracı
maymun testi de dahil olmak üzere çok çeşitli test otomasyon tekniklerini destekler. Maymun testine yardımcı olan ZAPTEST özelliklerinden bazıları şunlardır:

 

  • Kodsuz komut dosyası kaydı: Ekipler kullanıcı etkileşimlerini kaydedebilir ve bunları test koduna dönüştürebilir.
  • Girdi oluşturma: ZAPTEST, maymun testinin temel unsurlarından biri olan rastgele girdi üretimini kolaylaştırır
  • Güçlü raporlama: ZAPTEST, testlerinizi belgelemenize yardımcı olan güçlü raporlama özellikleri sunar

 

Elbette bu özellikler, ZAPTEST’in maymun testleri de dahil olmak üzere çok çeşitli test tekniklerine yönelik yeteneklerinin sadece yüzeyini çiziyor. WebDriver Entegrasyonu, AI özellikleri ve ZAPTEST CoPilot ile ekipler, yazılım testinin geleceğini tek bir yerde deneyimleyebilirler.

Dahası, ZAPTEST Enterprise kullanıcıları, öngörülebilir sabit bir maliyet karşılığında tam zamanlı, özel bir ZAP Uzmanına ve sınırsız lisansa erişim elde eder.

 

2. Appium

Appium açık kaynaklı bir araçtır. Hem Android hem de iOS için kullanabilirsiniz. Kullanıcıların mobil uygulama etkileşimlerini otomatikleştirmelerine olanak tanır ve maymun testi yeteneklerine sahiptir. Geliştiriciler metin girme, tıklama, dokunma ve kaydırma gibi çok çeşitli kullanıcı arayüzü tepkilerini taklit edebilirler.

Appium mobil geliştiriciler için harika bir araç olsa da, masaüstü ve web testleri için yeteneklerden yoksundur.

 

3. Maymun Test Et

Monkey Test It, maymun testini de içeren bir dizi test özelliğine sahip bulut tabanlı bir test platformudur. Monkey Test It oldukça kullanıcı dostu olsa da, belki de rakip araçların gücünden yoksundur.

Diğer dezavantajları ise daha şık görünmesi ve daha iyi dokümantasyona sahip olması. Dahası, bazı kullanıcılar testlerden elde edilen yanlış sonuçlardan şikayetçi olmuştur. Bununla birlikte, düşük fiyatlı basit bir program, bu yüzden ondan dünyayı bekleyemezsiniz.

 

4. MonkeyTestJS

MonkeyTestJS, yalnızca web uygulamaları için oluşturulmuş açık kaynaklı Avustralya JavaScript tabanlı bir araçtır. Oldukça basit, ancak işi yapabilecek kapasiteden daha fazlası. Araç, geliştiricilerin tıklamalar, form gönderme, klavye girişleri ve daha fazlası gibi kullanıcı-web uygulaması etkileşimlerini simüle etmelerini sağlar.

Açıkçası, aracın bir dezavantajı sadece web uygulamaları için kullanılabilir olmasıdır. Ancak, alet çantanızda bulundurmaya değer.

 

En iyi özel Android maymun test aracı hangisidir?

 

Android uygulama testlerine biraz kaos getirmek isteyen geliştiriciler için birkaç iyi seçenek var. İki tanesine bakalım.

 

1. Android için UI/Application Exerciser Monkey

Android için UI/Application Exerciser Monkey, geliştiricilerin hem Android cihazlara hem de emülasyonlara sözde rastgele girdiler veya olaylar göndermesini sağlayan bir komut satırı aracıdır. Bu araç Android Hata Ayıklama Köprüsü kabuğunda çalışır.

 

2. Android için MonkeyRunner

Android için MonkeyRunner popüler bir Android maymun test aracıdır. Yazılım, geliştiricilerin bir Android cihazı taklit eden veya kontrol eden programlar yazmasına olanak tanıyan bir API’dir. Ayrıca hem fonksiyonel hem de birim testi için iyi bir seçenektir.

Bu uygulamaların her ikisi de iyi seçeneklerdir. Bununla birlikte, oldukça tekniktirler ve bu da tüm takımlara uymayacaktır.

 

Maymun testi otomatikleştirilmeli mi?

Otomasyon yük testi

Manuel maymun testi ile ilgili en büyük sorunlardan biri çok zaman alıcı olmasıdır. Dikkat etmeniz gereken bir diğer husus da, birkaç test uzmanının geniş bir kullanıcı kitlesinin belirli bir uygulamayla yaşayabileceği çeşitli etkileşimleri gerçekten simüle etmesinin zor olduğudur.

Dolayısıyla, hemen karşımıza üç dezavantaj çıkıyor. Manuel maymun testi:

  • Zaman alıcı
  • Pahalı
  • Potansiyel olarak eksik kapsam

Otomatik bir maymun test aracı tüm bu sorunları çözer.

 

ZAPTEST maymun testi ihtiyaçlarınız için doğru seçim mi?

 

Maymun testi, özellikle karmaşık uygulamalar tasarlıyorsanız, test repertuarınızda bulunması gereken iyi bir tekniktir. Ancak, özel maymun test yazılımı satın almak pahalıdır.


ZAPTEST
esnek ve güçlü bir
tam yığın test otomasyon aracı.
Son derece özelleştirilebilir ve hem geliştiricilerin hem de teknik olmayan ekiplerin maymun testi de dahil olmak üzere sonsuz sayıda yazılım test tekniği oluşturmasına ve tasarlamasına olanak tanır.

Maymun testi, diğer test türleriyle desteklendiğinde mükemmel bir seçimdir. ZAPTEST, aşağıdakilerin eklenmesiyle her şeyi tek bir çatı altında sunar yüksek kaliteli RPA araçları.

 

Son düşünceler

Maymun test yazılımı, geliştiricilere uygulamalarını test etmek için alışılmadık bir yol sunar. Bu tekniğin gücü, bir kullanıcının bir yazılım parçasıyla etkileşime girebileceği sayısız öngörülemeyen yolu simüle etme yeteneğinde yatmaktadır. Kısacası, maymun testi, bir test planı ile elde edilmesi zor olabilecek bir kapsam sağlar.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post