Oldukça karmaşık gibi görünen yazılım test organizasyonu gerçekte çok basit denebilecek yapıya sahiptir. Test Yönetimi altında inceleyebileceğimiz yazılım test organizasyonu için en temel görevler:
Tester (Test Uzmanı) – Test Leader (Test Lideri) – Test Manager (Test Yöneticisi)’dir.
Kısaca bu kişileri tanımlamak gerekirse:
Tester, Testi gerçekleştiren kişi/kişilerdir.
Test Leader, Testi yapan kişilere/gruplara görevlerini dağıtan ve kendisi de test yapan kişi/kişilerdir.
Test Manager, test grubu/gruplarını yöneten kişilerdir.
Test organizasyonunda yazılımın ürettiği kodları test etmek için birden fazla organizasyon oluşturulabilir. Bunlar:
- Geliştiriciler Testi
- Geliştirici Takım Testi
- Ayrık Test Grubu
- Test Danışmanları
- Outsource Test Hizmeti şeklinde sıralanabilir.
Şimdi bu organizasyonları daha detaylı inceleyelim:
Geliştiriciler Testi: Yazılımcı tarafından yazılan kodun yine kendisi tarafından test edilmesi ve sonrasında kullanıcıya sunulmasıdır. İyi bir analiz yazılmadan yazılımcının kodlama yapması ve yaptığı kodlamayı test etmesi büyük hatalara yol açabilir. Çünkü yazılımcı yazdığı kod çerçevesinde analizi sınırlandırır ve istekleri karşılama konusunda yetersiz kalabilir. Test aşamasına geldiğinde ise yazılımdaki hataları bulmak yine yazılımcının yazdığı kadarını test ettiği için büyük risk taşır.
Geliştirici Takım Testi: Yazılımcı tarafından yazılan kodun başka bir yazılımcı tarafından test edilmesidir. Kodlamayı bildiğinden kodu yazan ile anlaşması ve yardımlaşması üst seviyede olur. Fakat daha çok teknik tarafa yoğunlaştıkları için analizi göz ardı etmeleri kaçınılmazdır.
Ayrık Test Grubu: Yazılım ekibinin dışında ve tek görevi test yapmak olan organizasyondur. Standartlarını kendileri belirler. Sorumluluk alanları, genellikle yazılımın içerdiği tüm kodu test etmektir.
Outsource Test Hizmeti: Test işinin bir harici kaynak olarak dış firmalardan sağlanıyor olması, iş/proje bittikten sonra veya sözleşme sonlandıktan sonra hizmetin tamamlanmış olmasıdır.
Test Danışmanı Kimdir?
Bu süreçler içinde kilit role sahip Test Danışmanları ile ilgili kısaca bilgi verip; pozisyonun avantaj ve dezavantajlarından bahsedelim:
Asıl görevi test yapmak olan kişilerin test grubunda bulunduğu bir organizasyondur. Test grubu belirlediği standartlara uygun tamamlanmış işlerin ayrık veya entegrasyon bağlamında test ederek oluşan sürümleri, paketleri veya programların kullanıcıya açılıp açılmaması konusunda kararını belirler. Test grubunun sorumluluğu yazılımın ürettiği her şeyi test etmek, belirlenen kalite standartlarında olup olmadığını teyit etmek ve varsa riskleri raporlamaktır. Yazılımı tarafsız bir şekilde değerlendirmeleri gerekir.
Test grupları görevi gereği, yalnızlaştırılmaya müsaittir. Çünkü bulundukları konum itibari ile test grubunun üreteceği her bir veri, analiz gruplarının, yazılım gruplarının ve iş birimi gruplarının ürettiği işin kalitesini ve sorumluluğunu ortaya koyacaktır. Belirlenen hata veya hataların sonucunda iş biriminin isteklerinin doğruluğu, yazılımın sunduğu geçerliliğin ortaya konması, test grubunun çalışmaları sayesinde ortaya çıkmaktadır. Bu gibi sebepler nedeniyle zaman içinde gerek ikili ilişkilerde, gerekse ast-üst ilişkilerinde sorunlar yaşanabilmektedir.
Test Danışmanlarının avantaj ve dezavantajlarına bakacak olursak:
Avantajları:
- Test Bilgisi ve Deneyimi
- Yazılımı Tarafsız Değerlendirme
- Asıl Görevinin Test Yapmak Olması
Dezavantajları:
- Farklı Grupların Baskısı
- Kısıtlı Yardımlaşma
- Kara Kutu Teste Odaklanma
- Yalnızlaştırılma
Merve Güzeltoprak
Keytorc