Son Haberler
Anasayfa / AGILE & SCRUM / Kabul Testi Nasıl Kurgulanmalıdır?

Kabul Testi Nasıl Kurgulanmalıdır?

İş Analistleri, kullanıcıların ihtiyaçlarını anlamaya ve projelerin bu ihtiyaçları karşılamasını sağlamaya odaklı çalışırlar. Kullanıcı Kabul Testi de ürünün kullanıcılar tarafından kontrol edilerek, ihtiyaçların eksiksiz ve doğru bir şekilde karşılandığından emin olunmasını sağlayan önemli enstrümanlardan biridir.

Kullanıcı Kabul Testi Nedir?
Kullanıcı Kabul Testi (User Acceptance Testing – UAT), proje aktiviteleri arasında farklılık gösterir. Çünkü odak noktası geliştirme ekibi değil, ekip dışı kişilerdir ve sistem testlerinde olduğu gibi birincil önceliği “kusur bulmak” değildir.

“Kullanıcı”

Agile projelerde ürün sahibi (Product Owner) genellikte tek kişidir. Ürünün asıl kullanıcıları proje geliştirme süresince aktif rol oynamazlar. Kullanıcı Kabul Testi, kullanıcıların ürünü görmesi, kullanması ve hatta geri bildirim yapmasına imkan verir.

“Kabul”

Hiçbir sistem mükemmel değildir, bu yüzden sistem kurulmadan önce “kabul edilebilir” olması sağlanmalıdır. Kullanıcı Kabul Testi son kullanıcılara, ürünün nihai halini gerçekten kabul edip etmediklerini belirleme fırsatı verir.

“Test”

Yazılı olan gereksinimler, modellemeler, çizimler sadece ürünün ne olacağı ve önceden ne yapılacağı ile ilgilidir. Kullanıcıların ürünü kullanarak deneyimlemesi, hiçbir planlamanın, testin veya sistem demosunun yerini tutamaz.

Kısacası, Kullanıcı Kabul Testi, ürünün gerçek bir iş için kullanılacağı zaman, yani ürün canlıya alındığı zaman, iş gereksinimlerinin kabul edilecek kadar iyi karşılandığından emin olmaktır.

Kullanıcı Kabul Testleri için Kullanıcılar Nasıl Belirlenir?
İş Analisti, Kullanıcı Kabul Testlerinde kişileri tanımlamak için en doğru konumdadır. Gereksinimleri belirleme ve analiz aktiviteleri sırasında, son kullanıcılar ile temas halinde çalıştığı için hem aktif hem pasif kullanıcıları dahi tanımlayabilir durumdadır.

Aktif kullanıcılar, canlı ortamda ürün ile etkileşime giren kişilerdir. Bu kullanıcılar, yalnızca işlevsel gerekliliklerin değil aynı zamanda ürünün performans, kullanılabilirlik ve diğer fonksiyonel olmayan özelliklerini de düşünerek ürün için önemli değerlendirmeler yapabilirler. Ürün özelliklerinin çoğu bu kullanıcıların ihtiyaçlarının karşılanması için geliştirilir. Bu nedenle aktif kullanıcılar, Kullanıcı Kabul Testlerinde görev almalıdırlar.

Pasif kullanıcılar doğrudan ürün ile etkileşimde değillerdir. Ancak yine de ürün için tanımlıdırlar. Örneğin ürün sisteminden rapor, email gibi bildirimler alabilir veya görevleri aktif kullanıcıları denetlemek olabilir. Ürünün bu kullanıcılar için kabul edilebilirliği, aktif kullanıcılardan daha az önemli değildir. Bu nedenle pasif kullanıcılar da Kullanıcı Kabul Testlerinde görev almalıdırlar.

Kullanıcı Kabul Testleri Nasıl Planlanır?
Kullanıcı Kabul Testi Planlaması, projelerimiz üzerindeki diğer test tiplerini planlamaktan farklıdır, çünkü amaç farklıdır. Yaptığımız diğer testlerin tümü hata bulmaya odaklanmıştır, bu nedenle Kullanıcı Kabul Testi’ne gelene kadar bulunan hataların minimumda olması gerekir. Kullanıcı Kabul Testi’nin odağı, ürünün pratikte nasıl kullanılacağı üzerine olmalıdır.

Kullanıcı Kabul Testlerinde Yaygınlıkla Yapılan Bazı Hatalar:
1- Test ekiplerinin yazdıkları test senaryolarını tekrar kullanmak
Bu senaryolar zaten koşulmuş ve testten geçmiştir. Kullanıcı Kabul Testinde tekrar aynı senaryoları koşmak gereksiz ve zaman kaybıdır. Sistem testleri hata bulmaya göre tasarlandığı için, kabul edilebilirliğin değerlendirilmesine uygun değildir.

2- Kullanıcı Kabul Testi için plan yapmamak
Kullanıcılar her zaman test yapan kişiler değillerdir. Bu yüzden sistem hakkında açıklama veya eğitim verilmelidir. Testin yapılacağı, hata kayıtlarının girileceği ortamı hazırlamak ve kullanıcıların bu ortamları nasıl kullanması gerektiği bilgisini aktarmak gerekir.

İyi Bir Kullanıcı Kabul Testi Planlamak İçin Bunları Yapın:
Her projede olduğu gibi, planlama çok önemlidir. İyi yapılandırılmış bir UAT planı, “Doğru Ürünü” yaratmaya kısa yoldan götürecektir. İş Analistleri analiz aktiviteleri sırasında, iş ihtiyaçlarına odaklı çalıştıkları için UAT’de nerelerin test edileceği konusunda fikir sahibidir. Bu nedenle UAT planlamasında da etkin bir rolü vardır. İyi bir plan oluşturabilmek için de dikkat edilmesi ve uyulması gereken kurallar vardır.

Her kullanıcı türü için ayrı bir test planı oluşturun. Oluşturulan plan, hem aktif hem pasif kullanıcılar için, ihtiyaçları olan işin senaryolarını içermelidir.

Bir fonksiyonu birden fazla kullanıcı rolü kullanıyorsa, her kullanıcı için ayrı test planı yapın. Farklı kullanıcı rolleri, işlevselliği farklı açılardan kontrol etmeyi sağlayacaktır.

Sadece “Happy Path” senaryoları test etmekle yetinmeyin. Fonksiyonlar tüm alternatif yolları ile birlikte hata durumları da dahil olmak üzere kontrol edilmelidir.

Kullanıcılara iş senaryosunu test etmesi için uygun yönlendirmeler yapmalısınız. Fakat yönlendirmeler yapılırken çok fazla detay verilmesi kullanıcının aklını karıştıracaktır. Bu yüzden sadece kabul edilebilirliği hesaplanacak seviyede detay verilmelidir. Test edilecek fonksiyonun özelliğine göre de yönlendirme biçimleri farklılık göstermelidir.

Fonksiyona Göre Kullanıcı Yönlendirmesi
Yeni bir fonksiyon testi için kullanıcı yönlendirmesini, yapılacak işin adım adım anlatılması ile sağlamalısınız. Geliştirilen fonksiyonun, istenilen iş ihtiyacı perspektifinden bakılarak karşılanıp karşılanmadığının değerlendirilmesi beklenmektedir.

Mevcut bir fonksiyon testi yapılıyorsa, kullanıcıya sadece ne yapması gerektiğini söylemeniz yeterlidir. Testi yapan kullanıcının, iş süreci ile ilgili tecrübesini kullanarak testi yapması sağlanmalıdır.

Test edilecek olan verinin kritik olduğu test senaryolarında (özel veya hata senaryoları), kullanılacak olan veriyi net ve eksiksiz bir şekilde kullanıcıya vermeniz gerekir. Diğer durum senaryolarında veri seçimi kullanıcıya bırakılmalıdır.

Tüm durumlar için kullanıcıların şunları kontrol etmesi sağlanmalıdır:

Sistemin doğru bir şekilde çalıştığı kontrol edilmeli çünkü hatalar gözden kaçmış olabilir.
Sistemin çalışma şekli ve bu hizmeti sunma biçimi, kullanıcının iş akış perspektifinde değerlendirilmeli.
Kullanılabilirlik (usability), performans, güvenlik ve diğer fonksiyonel olmayan (non-functional) özelliklerinin iş senaryolarına uygunluğu değerlendirilmelidir.

Kullanıcı Kabul Testleri Ne Zaman Yapılmalıdır?
Genellikle UAT, projenin canlıya geçmesinden hemen önceki son adım olarak değerlendirilir. Ancak bu önemli çalışmayı projenin sonunda yapmak beraberinde riskleri de getirir. UAT’de tespit edilen bir hata proje süresinde gecikmeye veya maliyetin artmasına sebep olabilir. Bu sebeple İş Analistleri, UAT’nin daha önce yapılabilmesi için geliştirme ve test ekibi ile birlikte çalışmalıdır. Böylece kullanıcıların sistem hakkındaki geri bildirimleri, proje süresi ve maliyetini tehlikeye atmadan geliştirme süresine dahil edilebilir.

Çevik yöntemlerde (Scrum gibi) geliştirme birkaç haftalık küçük Sprint’ler içinde gerçekleştirilir. Her Sprint içerisinde küçük UAT’ler yapmak, bir sonraki Sprint’lerde, kullanıcı geri bildirimini geliştirmeye dahil etmeye olanak sağlayacaktır.

Geleneksel yöntemlerde (Waterfall gibi) geliştirlen projeleri fazlara ayrılarak çalışmak, aralarda mini UAT’ler yapmaya fırsat tanıyacaktır. Her faz UAT ile bitmeli ve kullanıcılardan gelen geri bildirimler, sonraki faz içerisinde geliştirmeye dahil olmalıdır.

Bir başka yazılım geliştirme yaklaşımı olan Yürüyen İskelet (Walking Skeleton) prensibinde geliştirilen projelerde UAT’nin önceden yapılmasına olanak sağlar. Yürüyen İskelet, sistemin küçük bir uygulamasıdır. Burada amaç kullanıcıya, ürünün yapısını, menü ve ekranlarını, etkileşimlerini önceden göstermektir. Uygulama UAT sonrası değerlendirilir ve kullanıcıdan gelen geri bildirimlere göre geliştirmeye başlanır.

Özetle Kullanıcı Kabul Testinde İş Analisti
İş Analisti, UAT için ilk önce kullanıcıları belirlemek ile başlamalıdır. Ürün ile etkileşimi olan (aktif) kullanıcıları ve ihtiyacı ürün çıktıları olan (pasif) kullanıcıları belirlemeleri ve bu kişileri UAT’ye dahil etmelidir.

İş Analisti, ihtiyaç ve çözüm odaklı çalışmalıdır. Kullanıcılar ile birlikte iş süreçlerini değerlendirmeli, işleri daha kolay ve hızlı yapmalıdır. İş ihtiyaçlarını kategorize etmeli ve önem derecesine göre sıralamalıdır.

İş Analisti, UAT için kullanılacak olan verinin doğru ve eksiksiz olduğundan emin olmalıdır. Mümkün olduğunca gerçeğe yakın veriler ile çalışılmalıdır. Bunun için gerekirse üretim ortamındaki veriler kopyalanabilir. Bu imkan yoksa yeni veriler üretilmelidir.

İş Analisti, UAT planlaması yapmalıdır. Test edilecek ortam ve kaynakları ayrıca kullanıcılar için test edilecek fonksiyon tipine uygun talimatları hazırlamalıdır.

İş Analisti, UAT sırasında kullanıcılar ile birlikte çalışarak onlara destek olmalıdır. Bazı testleri yapabilir ama kullanıcı olmadığını unutmamalıdır. Karşılaşılan hata ve sorunları önceliklendirmelidir.

İş Analistleri, her kullanıcıdan ayrı ayrı geri bildirim almalıdır. “Ürün kullanıcı için kabul edilebilir mi?”yi sorgulamalı ve analiz aşamasındaki iş ihtiyaçları ile UAT sonucundaki iş ihtiyaçlarını karşılaştırıp raporlamalıdır.