Yaşadığım deneyimlerden yola çıkarak test süreçlerini ve aldığım aksiyonları paylaşmak istiyorum.
Eve giderken birden fazla yol seçeneğiniz olduğunu bilirsiniz. Bu durumda her gün aynı yolu mu kullanıyorsunuz yoksa “Yeni bir yol daha vardır.” mı diyorsunuz?
2. seçenekte el sıkıştıysak sizi şöyle alalım 🙂 Çünkü test sürecinde her zaman hedefe ulaşılacak yeni bir senaryo vardır ve kullanıcılardan (%’sel olarak küçük bir oranı da olsa) bu yolu tercih edenler olacaktır. Takip etmek istediğiniz aksiyonları ölçümlemek için doğru çalıştığından emin olmalısınız. Bunu denemenin en iyi yolu gerçek bir kullanıcı olmaktan geçiyor. Bu aksiyonlara gidecek kestirme yolların denemek ve kodun doğruluğunu test etmek için haydi başlıyoruz!
GoLive sonrasında datanın doğruluğunu sağlamanın yolu sağlam senaryolar belirlemekten geçiyor.
Test süreci biraz sıkıcı gibi gözüksede yapılan geliştirmelerin tabiri caizse röntgenini çekmek gibidir. (screen, event ve ecommerce adımları vb.)
Biraz şüpheci yaklaşmak ve meraklı olmak süreçte sizi hızlandıracaktır.
Datayı ölçümlemek ve analizler yapmak için birden fazla tool mevcut. Birkaç örnek verecek olursak; Google Analytics, Mixpanel, Fabric, Firebase (app ağırlıklı bir firma iseniz önerim olacaktır.) Örnekleri pek sevdiğimiz Google Analytics üzerinden devam edeceğim.
RunRunRun Test Case!
- Entegrasyon dökümantasyonun tamamlanması.(fazlandırdaysanız ilgili fazın tamamlanması)
Test sürecine başlamadan önce KPI’s doğrultusunda hazırlanan dökümanların yazılımcılar tarafından geliştirilmesi gerekiyor.
Örn olarak Google Analytics event tracking entegrasyonunu paylaşıyorum. Screen, dimension&metric, ecommerce ile zenginleştirebilirsiniz.
ga(‘send’, ‘event’, [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);
2.Test Roadmap’in Oluşturulması
- North star etrafında pergel edasında dans etmek kulağa hoş geliyor değil mi? 🙂
- Ne kadar basit /uç senaryolara koşarsanız koşun “Ana KPI’a dokunuyor muyum?”u sormamız faydalı olacaktır. Örnek olmak üzere birkaç sektör liderinden paylaşıyorum.
- Hangi parametreler “kesinlikle doğru! olmalı.” olduğunuda hem fikir miyiz?
- Hangi platformda kaç test senaryosu koşuyoruz? Birden fazla platform varsa iş bölümünü planladık mı?
- Bunun için ne kadar bir zamana ihtiyacımız var?(app tarafında biraz daha zahmetli olduğunu kabul edelim. :))
- Olası buglar da fixler için zaman planımız var mı? Canlı geçiş sonrası acil durumlar için hotfix çıkabilir miyiz?
- Faz1- faz2 .. olarak segmentli geçiş yapabilir miyiz? Öyle ise faz1 →faz2 önceliklerini belirleyelim.
- Faz2 için başlangıç ve fix tarihleri ne olmalıdır?
- Bu süreci etkileyen proje sahipleri ile iletişim halinde miyiz?
- “Bugsız geçiş olmaz yeter ki fixleyelim!”de aynı payda da mıyız?
Hazırız! dediğimizde bir sonraki adım;
3.Test senaryoların hazırlanması.
Zamanın sınırlarında takıldığımız “acaba?” sorusunu cebimizden eksik etmeyeceğimiz bir adımdayız.
Onlarca parametre, farklı platformlarda test etmek için beklemede. Yolumuzu öncelikle aydınlatalım ve senaryolarımızı belirleyelim.
Nasıl yapacağız?
“ Karaköy’den Ortaköy’e gidip bir kahve içeceğiz ama nasıl gidebiliriz?” sorusuna birden fazla yanıt vermek mümkün. Taksi, tramvay, yayan ve aktarmalı olmak üzere farklı kombin seçenekleri ile birlikte aklımıza ilk gelenler.
Birlikte birkaç senaryo çıkartalım ve uygun olabilecek Google Analytics parametreleri ile bağlayalım;
- Karaköy başlangıç, Ortaköy varış noktamız. -> (custom dimension = destination)
- Taksi seçerseniz akbil kullanmanıza gerek kalmayacaktır. (custom dimension)
3.Taksi ve tramvay yaparsanız hem nakit hem de akbil e ihtiyacınız olacaktır. (custom dimension = Partial payment(True/False))
4. Yürüyerek gitmeyi tercih ederseniz bu kalemlerin hiç birine ihtiyacınız olmayacaktır. (Custom dimension =Payment method)
5. Kaç kişi olacaksınız? (Custom Metric =Adult)
6. Ortaköy’e geldiniz mi? (Session )
7. Kahve satın aldınız mı?(North Star =Transaction, Revenue)
gibi sorular ile birden fazla senaryo çıkartabiliriz. İş modeliniz de bu yöntemi kullanmak faydalı bir yöntem olacaktır.
Senaryolar ve parametreleri bir spreadsheets üzerinden takip etmek hızlıve etkin olacaktır. Birden fazla proje arkadaşınız ile online güncellemelerinizi buradan takip edebilirsiniz. Örnek format olarak aşağıda paylaşıyorum. 🙂
4.Debug edebileceğiniz toolların kurulması.
Bu adım ilgili parametrelerin aldığınız aksiyona bağlı olarak kod akışını görmenizi sağlar.
- Web platformları için Google tag Assistant’dan Debugger eklentisi kurabilirsiniz.
- App platformları için Charles, Lograbbit kurabilirsiniz.
Test Hazırlıklarını tamamladıktan sonra senaryolara koşuyoruz!
Test Süreci
Beklenen geliştirmelerin olduğu doğru test versiyonu/apk/ipa yı temin ettikten sonra roadmap doğrultusunda senaryolara başlayabiliriz.
Bir senaryoda çalışan dimension farklı bir senaryoda çalışmayabilir. Tıpkı Karaköy’den Ortaköy ulaşımında seçimler olduğu gibi.
Örnekler üzerinden ilerleyelim dilerseniz;
Örnek1:
Amaç : Kullancının login aksiyonunu takip etmek ve ne kadar kullanıcının başarılı login tamamladığını ölçümlemek istiyorsunuz.
İzlenecek Adımlar:
1.Uygulamada/sitenizde ilk sormanız gereken kullanıcı hangi adımlarda bu aksiyonu gerçekleştirebilir?
2.Kullanıcının ilk login olabileceği adımı atladığını farzedelim, kullanıcı başka hangi adımlarda login olabilir?
3.Kullanıcı Login sayfasında herhangi bir hata ile karşılaşırsa bunu ölçümlüyor muyuz?
sorularına yanıt bulmak olacaktır. Hata ile karşılaştığınızda yazılımcıya iletmelisiniz.
Örnek2:
Amaç :Bir müzik uygulaması için ilk göze alacağınız KPI şarkı dinleme olacaktır.
İzlenecek Adımlar:
1.Şarkıları hangi pathlerden dinleyebilirim? -> Bu pathlerde yer alan parametreler senaryolar doğrultusunda test edilmeli.
2. Şarkı dinlemeyi hangi platformlardan yapabilirim?
3. Şarkı dinleyen kullanıcılarımı tanıyabilir miyim? (“Remarketing listeleri için kullanıcılarımı segmentlemek istiyorum.” ‘un cevabı burada yer alıyor. Login status + UserID entegrasyon senaryoları ile kontrol etmelisiniz.)
4. En çok dinlenen şarkı listeleri, beğenilen şarkılar, ortalama günlük şarkı dinleme süresi ve en yüksek kullanıcıya ulaştığı saatler gibi analizleri düşündüğümzde senaryoların ayakları yer basmaya başlıyor.
Kullanıcı aksiyonlarını takip etmek, ölçümlemek ve doğru çalıştığını test etmek her zaman elinizi güçlendirir.
Test sürecini göz önüne alırsak;
Golive öncesi ve sonrası diye ayırmak daha doğru olacaktır. User sayısı arttığı için test koşullarında görülmeyen senaryolar ortaya çıkması mümkün. Tester olarak 200 kişi ile test ettiğinizi düşünün, mutlaka varış noktasına gidilecek başka bir yol vardır ve bu yolu müşteriler rahatlıkla keşfedebilir. Bu sebeple GoLive sonrasında da testlerinize 1- 3- 7 günlük periyotlar ile devam etmelisiniz.
Bu süreçte çıkardığım öğretiler;
- Ne kadar fazla ve doğru senaryoya koşarsanız hataları yakalamanız ve düzeltmeniz o denli kolay olacaktır.
- Test sürecinde uygulamanın/sitenin müşterisi olun. Müşterisi olarak düşündüğünüzde karşılaşabileceğiniz çoğu gerçek senaryoyu yakalamışsınızdır demektir.
- “Acaba?”sorusu sizin cebinizdeki joker olacaktır.
- Buglar çıkacaktır ki bu noktada önemli olan fixlenmesidir. 🙂
- Doğru analiz ve raporlamanın mutfağı doğru entegrasyondan ve test sürecinden geçiyor. 🙂