Exploratory Testing (Keşif Testi)

Fatoş Görür
Kodluyoruz
Published in
4 min readMar 8, 2021

Merhaba arkadaşlar, bu yazımda araştırmalarım sonucu edindiğim bilgileri sizlerle paylaşmak istedim. Bir testçiye en fazla özgürlük veren ve en yüksek kaliteli hataların yakalandığı manuel test çeşidi olan keşif testinden bahsedeceğim.

Keşif testi, geleneksel bir test yöntemi değildir, ancak yine de bir uygulamayı test etmenin çok güçlü bir yoludur. Test uzmanlarının minimum planlama ve maksimum test uygulamasına katıldığı uygulamalı bir yaklaşımdır.

Keşif testi, agile prensiplerine çok uyan bir sistematiğe sahip olması sebebiyle sıkça kullanılmaktadır. Keşif testi, test senaryolarının önceden oluşturulmadığı ancak test uzmanlarının sistemi anında kontrol ettiği bir yazılım testi türüdür. Anlaşılacağı üzere keşif testinde de agile gibi “planlı olmama” durumu söz konusudur. Keşif testinin odak noktası “düşünme” etkinliği olarak test etmektir.

“ Birçok şirkette aylarca hatta yıllarca bir ürün, geliştirme aşamasındadır. Şirkete yeni bir test mühendisi alındığını varsayalım. Bu test mühendisinin direk projeye devam etmesi mümkün müdür? Öncelikle uygulamayı tanıması gerekmez mi? Yeni test mühendisi, her senaryoyu veya gereksinimi sıfırdan anlamakta veya uygulamada yeni olduğu için başlamakta güçlük çekmez mi?
Bu yüzden öncelikle uygulamayı alacak ve uygulamayı keşfetmeye başlayacaktır. Test mühendisi uygulamayı kullanmaya başladığında, uygulamanın nasıl çalıştığını öğrenecektir. Ve bu süreç keşif testinden başka bir şey değildir. “

Yazılım geliştirme yaşam döngüsünün erken aşamalarında, kod hızlı değişikliklere girdiğinde, keşif testi oldukça etkili olabilir. Geliştiriciler bu tekniği unit testleri yapmak için kullanabilirken, testçiler bu test yaklaşımını kullanarak uygulamaya aşina olabilirler. Keşif testlerinden elde edilen deneyim, test senaryolarının hazırlanmasında ve yazılım geliştirme yaşam döngüsünün sonraki aşamalarında ek testlerin yapılmasında değerli olabilir. Keşif testi, test edilen şeyin önemli yönlerini, bulunan kusurları ve olası daha ileri testler hakkındaki düşünceler ortaya konulabilir. Ayrıca, yazılıma daha fazla güven duyulmasına yardımcı olan diğer daha resmi testleri de tamamlayabilir. Bu şekilde, keşif testi, en ciddi kusurların bulunmasını sağlamaya yardımcı olarak, resmi test sürecinin kontrolü olarak kullanılabilir.

Keşif testi nasıl yapılır?

Keşif testlerinin en bilinen sistematik uygulanma sekli SBTM Döngüsü, Session Based Testing ya da Oturum Tabanlı Test olarak adlandırılan yöntemdir.

1. Break It Down — Taxonomise Bugs (Hataları Sınıflandırın)

· Önceki projelerde ortaya çıkan bazı ortak sorunları not alırken kategorik olun

· Sorunların temel nedenini belirleyin

· Riskli alanları bulun ve kodu test etmek için bir plan oluşturun

2. Create A Test Charter (Test Sürecine Kılavuzluk Etmek İçin Bir Test Bildirgesi Oluşturun)

· Neyin araştırıldığı, nasıl araştırılacağı ve beklenen sonucun ne olduğunu açıklamalıdır. Kısacası testin amacı ve içermesi planlanan fonksiyonalitenin yazıldığı bildirgedir.

charter example

3. Timebox Tasks To Stay Efficient (Verimli Kalmak İçin Zaman Kutusu Görevleri)

· Zaman sınırı, tamamlanacak faaliyetler için sabit zaman aralıklarının ayarlanmasını içerir. Zaman çerçevesi görelidir — önerilen süreler 20 dakika ile 90 dakika arasındadır.

4. Review The Results (Sonuçları İnceleme)

· Yazılım hatalarının ve adımlarının analiz edildiği yerdir.

5. Debrief Session (Bilgilendirme Oturumu)

· Son olarak, test sonuçlarının bir rapor halinde derlenmesi gerekir.

· İkinci aşamada hazırlanan test bildirgesinde elde edilen sonuçlarla karşılaştırılması gerekir. Eğer eşleşmezse, test uzmanları hiçbir şeyin atlanmadığından emin olmak için ek bir test türü düşünmelidir.

Daha az hazırlık gerekir ve önemli hatalar hızlı bir şekilde bulunur. Geliştirme ekibine proje hakkında hızlı geri bildirim sağlar. Keşif testi geliştiriciler, test uzmanları, tasarımcılar ve iş analistleri tarafından yapılabilir, çünkü her bir kişi farklı bir bakış açısına sahip olabilir ve belirli bir test yöntemi yoktur. Testler o an ortaya çıktığından ve rastgele gerçekleştirildiğinden, önceden incelenemezler ve hangi testlerin yapılması gerektiğini göstermek zor olabilir. Keşif testinde, gerçekleştirilecek kesin test senaryoları olmadığından, testi ne zaman sonlandırılacağı tam olarak belli değildir. Keşif testi test otomasyonu kullanmaz, bunun yerine bilgi, gözlem ve deneyimine odaklanır.

Sonuç olarak;

Keşif testinin amacı, diğer metodolojilerin gözden kaçırabileceği hataları ortaya çıkarmak olduğundan, bir ürünün kalitesini belirlemede değerli bir araçtır. Yöntemin etkinliği, onu uygulayan test uzmanlarının yaratıcı düşünme yeteneklerine dayanmaktadır.

--

--