Manuel VS. Otomatik: Uygulamanızı Test Etmenin Doğru Yolu Hangisi

Yayınlanan: 2022-02-24
test yapmak

Bir uygulamayı yayınladığınızda, sorunsuz ve kusursuz çalışacağından %100 emin olmalısınız. Ve elbette, kullanıcılarınızın beklentilerini de karşılamalıdır! Aksi takdirde projeniz başarısız olabilir, bu da istenen sonuç değildir, değil mi? Bu nedenle, uygulama kalite güvencesi (QA) testine gereken özeni göstermeniz gerekir.

Ancak platformunuzu test etmek için doğru yaklaşım nedir? Hangi teknikleri seçmeli? Ürün performansını manuel olarak mı yoksa otomasyon kullanarak mı kontrol etmeye değer? Ya da belki her iki seçeneği de aynı anda seçin?

Kalite güvencesinde (QA), test otomasyonu, hızın en büyük şampiyonlarından biridir. Ancak, işlevsellik ve ilk izlenimler söz konusu olduğunda, manuel testin yerini hiçbir şey tutamaz. Gerçek şu ki, otomatikleştirilmiş test yazılımı daha rafine hale gelse bile, manuel mobil uygulama testi, nakliye kalitesi uygulamalarında hala büyük bir rol oynamaktadır.

Her iki mobil uygulama testi kategorisinin de belirgin avantajları ve dezavantajları vardır, ancak mobil uygulama geliştirme şirketleri için olağanüstü bir kullanıcı deneyimi sunmak için manuel test uygulaması özellikle önemlidir.

ASO World uygulama sıralama hizmeti
ASO World uygulama tanıtım hizmetiyle uygulama ve oyun işinizi yürütmek için "Daha Fazla Bilgi"yi tıklayın.

Mobil uygulama testi temelleri

En geniş anlamda, bir Mobil Uygulamayı test etmek için iki yaklaşım vardır. İnsanların uygulamayı nasıl yanıt verdiğini görmek için farklı durumlarda kullanmasını sağlayabilirsiniz veya bir uygulamanın yazılımı ilginç yerlere götürmesini ve beklenen sonuçları aramasını sağlayabilirsiniz.

Bu ikinci terime genellikle "test otomasyonu" veya belki de "otomatik test" denir. Bunu "otomatik test yürütme ve değerlendirme" veya "otomatik kontrol" olarak adlandırmak daha doğru olabilir, ancak önceki terimler geçerliliğini korumuştur.

Bu yaklaşımların her ikisi de farklı koşullarda geçerli olabilir ve bu geçerlilik, bir uygulamanın yaşam döngüsünün farklı anlarında zamanla değişebilir. Uygulamada çoğu kuruluş, belki de bazı insan keşiflerini müşterilere zorlayarak, ikisinin bir karışımını kullanır.

Otomatik ve manuel test nedir?

Yüksek kaliteli yazılım sağlamak, çok zaman alan ve biraz paraya mal olan karmaşık bir süreçtir. Ancak, bu tür masraflardan kaçınılamaz (uzun vadede başarılı olmak istiyorsanız).

Minimum çabayla maksimum etkiyi elde etmenizi ve sitenin veya uygulamanın belirlenen gereksinimleri karşılayıp karşılamadığını anlamanızı sağlayacak yetkin bir test stratejisi oluşturmak önemlidir.

Manuel test

Otomatik test, bir uygulama üretime sunulmadan önce önceden komut dosyası oluşturulmuş testlerin yürütüldüğü süreçtir. Otomatik test, uygulamanızdaki kusurları daha hızlı bulmanıza yardımcı olur. Test otomasyonu, tekrarlayan, periyodik olarak çalıştırılması gereken ve hataları erken aşamalarda bulmanıza yardımcı olabilecek testleri çalıştırmak için kullanılabilir.

Manuel testin amacı, "kullanıcı deneyimi" denen şeyi test etmek olsa da, otomatik test, bir uygulamayı karakterize eden tüm işlevleri test etmeyi amaçlar.

İnsanlar üzerinde yapılan testlerin "yok olacağı" bana söylendikten on altı yıl sonra ve insan kaşiflerin "dinozorlar" olarak adlandırıldığını duymamdan yaklaşık on yıl sonra, manuel testler hem mobil hem de masaüstü uygulamalar için en yaygın test yaklaşımı olmaya devam ediyor.

Manuel test ile, uygulamayı gerçekten ön uçtan kullanan bir insanı kastediyorum. Bu manuel testin gerçekleşebileceği çeşitli yerler vardır. Çoğu programcı, test etmesi için başka birine vermeden önce, bir telefona koymadıysa da en azından bir uygulamayı simüle eder. Bazı şirketler, daha derine inmek, mutlu yolun ötesine veya farklı cihaz modellerine bakmak için test uzmanları kullanır.

Yazılım dahili ise, şirket yazılımı kullanacak kişilere daha çok "bu yazılımla işimi yapabilir miyim" odaklı Kullanıcı Kabul Testi yaptırabilir. Bazı şirketler yazılımı, Microsoft AppCenter gibi bir araç kullanarak, çalışanlar olabilecek "beta" test cihazlarına erken yayınlar.

Son olarak, Applause ve Testio gibi şirketler, bu "beta" sürümü alıp kitle kaynaklı olarak, kısa bir süre içinde çeşitli konfigürasyonlarda yazılıma bakmak için düzinelerce ila binlerce göz küresi sağlamak için varlar.

Kimin nasıl veya ne zaman manuel olarak test edildiğine bakılmaksızın, size uygulamayı gerçekten kullanmanın gerçek hissini verir. El ile yapılan testler, yeterince büyükse, yeterince büyükse, renkler birlikte iyi görünüyorsa, vs. örtüşüyorsa, düğmelerin doğru konumda olup olmadığını görebilir. Bilgisayarlar, ekrandaki bir resmin "doğru görünüp görünmediğini" değerlendirmede özellikle kötü oluyor.

Ancak, bilgisayarların kolayca test edebileceği bazı eylemler vardır. Örneğin, kullanıcı adı ve şifre yazıp gönderdiğinizde, adınızı ve giriş yaptığınızı gösteren ekrana gitmeli ve şifreyi yanlış bırakmak belirli bir hata metni vermelidir.

Mobil testin zorluğu, iki paradigmadan hangisinin kabul edileceği konusunda daha az olasıdır, ancak bunun ne kadar, ne zaman ve kim olduğudur.

Neden manuel teste ihtiyacım var?

Manuel test, işlevsellik ile birlikte kullanılabilirlik ve görünüm hakkında bazı geri bildirimler sağlar. Test cihazı, o uygulamadaki her şeyi deneyen, uygulamanın çöküp çökmediğini veya ne zaman çöktüğünü görmek için kullanıcının yapacağı tipik eylemleri gerçekleştiren bir kullanıcının rolünü oynar. Manuel test ile, genellikle performans, pilin boşalması veya aşırı ısınma hakkında, piyasaya sürülmeden önce bunları düzeltmek için yeterince erken geri bildirim alırsınız. Geri bildirim genellikle "ücretsizdir" çünkü test eden kişi dikkat ediyordur.

Test için kaç cihaza ihtiyacım var?

Desteklenen her işletim sistemi sürümüyle desteklenen her cihazı manuel olarak test etmeyi deneyebilirsiniz. Üç yıl önce en son kontrol ettiğimizde 24.000'den fazla farklı Android cihazı vardı ve saymayı bıraktık. Gerçekçi olarak, çoğu kuruluş desteklenen en yeni sürüm, bir geri sürüm ve desteklenen en eski sürümle test eder. Android ve iOS, tablet ve telefon arasında, birlikte çalıştığımız çoğu orta ölçekli ve daha büyük şirket, 10-20 cihazdan oluşan bir test laboratuvarına sahip oluyor.

Otomatik test

Otomatik test nedir?

İnsanlar Otomatik test ifadesini kullandıklarında, genellikle Selenium veya Appium gibi bir araca sahip olmak, uygulamanın kullanıcı arayüzünü sürmek ve yol boyunca beklenen sonuçları kontrol etmek anlamına gelir.

Bu kontrol, bir elektronik tablo gibi bir şeyde veya daha büyük olasılıkla gerçek bir bilgisayar programında saklanabilen bir dizi komut ve inceleme noktasından gelir.

Böylece testler önceden kodlanmıştır; her test bir bilgisayar programı olabilir. Her test bir düzine kez tıklayabilir veya yazabilir ve başka bir düzine doğrulama noktasına sahip olabilir. Testler bir kez yapıldıktan sonra, uygulama davranışı değişmediyse, otomatikleştirilmiş testler, uygulamadaki kusurları çok hızlı bir şekilde, genellikle sürüm kontrolüne giriş yaptıktan sonra dakikalar içinde bulabilir.

Test otomasyonu, tekrarlayan, insan algısı gerektirmeyen, periyodik olarak çalıştırılması gereken ve hataları erken aşamalarda bulmanıza yardımcı olabilecek testleri çalıştırmak için kullanılabilir. Manuel testin amacı “kullanıcı deneyimini” test etmek olsa da, otomatik test, bir uygulamayı karakterize eden tüm işlevleri test etmeyi amaçlar.

Otomatik test, "yanlış görünen" ve yanlış yerde olan düğmeyi tıklatır ve bir sorun kaydetmez (önceden kontrol etmeyi düşünmediyseniz) -- hataları, yanlış arama sonuçlarını vb. bulma olasılığı daha yüksektir.

Neden otomatik teste ihtiyacım var?

Uygulama büyüdükçe test etme süresi de artıyor. Otomatik test, sık sürüm için bu süreyi kısaltır. Bu, otomatik testi, test sürecini hızlandırmak, maliyeti düşürmek ve büyük hatalar için günlerden dakikalara kadar geri bildirim süresini radikal bir şekilde azaltmak için anahtar yapar. Test otomasyonu şunları yapmanızı sağlar:

Tekrarlayan ve bu nedenle manuel olarak yapıldığında hataya açık olan işlevleri test edin; öngörülebilir bir sonucu olan test durumları;

Karmaşık ve sıkıcı test senaryolarını kolayca kurun ve çalıştırın

En önemlisi: Aynı anda daha fazla sayıda mobil cihazda test yaparak zamandan tasarruf edebilirsiniz. Simülatörleri veya bulutu kullanarak, cihazları satın almadan veya yönetmeden bunu yapabilirsiniz!

Temel bir test seti için kaç test vakasına ihtiyacım var?

Bu, uygulamaya ve "test senaryosunun" ne kadar büyük olduğuna göre büyük ölçüde değişecektir. Test senaryoları, bir mantıksal işlemi kontrol eden basit dom-to-veritabanı testleri ise, tipik bir fonksiyonun dört ila on testi olabilir ve tipik bir uygulamanın dört ila on özelliği olabilir.

Uygulama, biri iO'lar için diğeri Android için olmak üzere iki farklı programlama diliyle kodlanmışsa, bunu iki katına çıkarmanız veya bir soyutlama katmanı yazmanız ve işletim sistemine göre değişen bir dizi iş senaryosu ve iki uygulamaya sahip olmanız gerekebilir.

Mobil uygulamalar için manuel test

Manuel testin faydaları

  • Kullanıcı arayüzünün doğru ve hızlı bir şekilde test edilmesi
  • Nihai deneyimi tekrarlamak için uygulamayı gerçek bir kullanıcı olarak deneyimlemek ve test etmek
  • Bildirilen sorunları kolayca belirleme ve yeniden oluşturma
  • Karmaşık sorunların üstesinden gelme ve vakaları kullanma
  • Küçük değişiklikleri ve projeleri daha hızlı ve daha uygun maliyetli test etme

Manuel testin dezavantajları

  • İnsan hatası doğruluğu etkiler
  • Testler her seferinde manuel olarak tekrarlanmalıdır
  • Sıkıcı test görevleri çok daha zordur
  • Geniş kapsama alanı, test eden kişi sayısı ve çok çeşitli cihazlara erişim gibi çok sayıda kaynak gerektirir

Mobil uygulamalarda manuel test, şunlar için kullanılır:

  • Keşif Testi: Bir yaklaşım olarak, keşif testi, test ediciye test sürecinin ayrılmaz bir parçası olarak değer verir. Bu, onların içgörülerinden, yaratıcılıklarından ve bilgilerinden yararlanmak için manuel bir test cihazına ihtiyaç duyar.
  • Geçici Test: Tanım olarak, geçici bir test türüdür. Sistemi kırmaya yöneliktir, bu nedenle planlı bir şekilde gerçekleştirilemez. Sistemi bozmak için düzensiz davranması için bir test cihazına ihtiyacı var.
  • Kullanılabilirlik Testi: Manuel test cihazı, son kullanıcı deneyimi hakkında bir fikir edinebilir. Uygulamayı, kullanılmak üzere tasarlandığı gibi kullanmak, uygulamanın ne kadar kullanıcı dostu olduğunu belirlemeye yardımcı olacaktır ve bunda insan girdisi anahtardır.

Mobil uygulamalar için otomatik testler

Otomatik testin faydaları

  • Sıkıcı ve zorlu testleri daha hızlı gerçekleştirme
  • Birçok cihazı test etme
  • Otomatik testler tekrar tekrar kullanılabilir
  • Hızlı, verimli ve doğru sonuçlar
  • Aynı anda birden fazla otomatik test yapılabilir
  • Büyük mobil uygulamalar için otomatik testler daha uygun maliyetlidir

Otomatik testin dezavantajları

  • Görsel bir bakış açısıyla kullanıcı deneyimine dair içgörü yok
  • Gerekli kod nedeniyle otomatik testleri başlatma ve çalıştırma maliyeti yüksektir
  • Daha küçük ölçekli durumlarda israf
  • Otomasyon testi bir insan tarafından programlandığından ve kendi testini gerektirdiğinden hala bazı insan hataları
  • Her mobil uygulama için özel yapılandırmalara ve koda ihtiyaç duyar

Mobil uygulamalarda otomatik testler şunlar için kullanılır:

  • Regresyon Testi: Otomatik testin en güçlü yönlerinden biri, bir test komut dosyasının her zaman çalışmaya hazır olması yeteneğidir. Otomatik testten yararlanmanın en iyi yollarından biri, olumsuz etkileri olmayacağından emin olmak istediğinizde sürekli küçük değişiklikler yapmaktır.
  • Performans Testi: Kullanılabilirlik testinden farklı olarak, performans daha çok bir sayı oyunudur. Bir uygulamanın farklı cihazlarda veya farklı koşullar altında ne kadar hızlı, duyarlı ve kararlı olduğunu test etmek, otomatik testlerin yürütmede başarılı olduğu bir şeydir. Sonuçların ölçeği ve doğruluğu, performans testi için otomatikleştirilmiş testleri gerekli kılar.
  • Tekrarlanan Test: Bir test komut dosyasının ilk kodlama ve yapılandırma maliyetinden sonra, uzun vadede otomatik testler çok uygun maliyetli hale gelir. Testleri ekstra test kaynağı maliyeti olmadan tekrar edebilmek, test etmeyi ve sonuç almayı çok daha kolay hale getirir.