UZUN İNCE BİR YOL Yazılım Projelerinde Test Süreci
13 Şubat, 2010 · Bu yazıyı bastır
Yazılım projeleri genellikle aşağıdaki fazlardan oluşur:
Analiz, Dizayn, Kodlama, Test, Production (Canlı Kullanıma geçiş).
Bu ayki yazımda ele almak istediğim safha yazılımda test süreci. Fazlar genellikle birbirini takip eden ardışık süreçler gibi görünmesine rağmen, testleri sadece kodlama ile canlı kullanıma geçiş süreçleri arasında gerçekleştirilecek bir çalışma olarak görmek sakıncalar doğuracaktır.
• Özellikle orta ve büyük ölçekli projelerinde,
• Basit olmasına rağmen birden fazla paydaş grubunu ilgilendiren ve entegrasyonu gerektiren projelerde titizlikle planlanması gerekir.
“Aslolan kodlamadır” düşüncesiyle test sürecini sadece iki faz arasına sıkıştırmak projenin başarısı açısından olumsuz sonuçlara neden olabilir. Projenin üretim ortamına alınması testlerin sonucunda verilecek kullanıcı kabullerine bağlı olduğuna göre, doğru bir kabul yapılabilmesi için testleri doğru yürütmek çok önemli.
Test Hazırlıkları
Test hazırlıkları tasarım fazından sonra başlamalıdır.
• Kabul kriterlerinin belirlenmesi : Yapılacak testler sonucunda, hangi kriterler yerine getirilmiş ise test kullanıcı tarafından kabul edecektir? Bu sorunu cevabı “use case”’ler, tasarım dokümanları ve diğer analiz dokümanlarında aranmalı ve gerekirse test senaryolarına da baz alınmak üzere listelenmelidir.
• Test ekibinin belirlenmesi : Test ekibi kendi süreçlerine hakim ve mümkünse analiz sürecinde de yer alan kişilerden seçilmelidir. Test ekibinin günlük operasyonlarla ilgili diğer sorumlulukları test zaman planına uyacak şekilde dengelenmelidir.
• Test senaryolarının hazırlanması: Hangi şartlar altında hangi fonksiyonların, hangi alterrnatif senaryolarla test edileceği belirlenmeli ve yazılı hale getirilmelidir. Test senaryoları analiz ve test ekipleri tarafından ortak bir çalışmayla hazırlanabilir.
• Test takviminin oluşturulması : Kodlamanın gelişimine ve test ekibinin çalışma takvimine göre hangi tarihlerde hangi modüllerin/fonksiyonların test edileceği planlanmalı ve ekibe duyurulmalıdır.
• Test ortamının hazırlanması : Çoğu zaman basit bir işlem olarak görülmekle birlikte, ortaya çıkacak beklenmedik sorunlar nedeniyle test planınınızın ötelenmesine neden olabilir. Testlere başlanmadan önce planlama aşamasında test ortamının teknik özellikleri, yeni donanım ve danışmanlık ihtiyaçları belirlenmelidir. İdeal olan gerçek ortama en yakın özellikte test ortamını kurmaktır ancak pratikte her zaman gerçekleştirilmesi mümkün olmamaktadır.
Testlerin Yürütülmesi
• Koordinasyon: Test sürecinde analiz, test ve yazılım ekiplerinin koordinasyonunu sağlayacak bir test koordinatörü atanması sonuçlar üzerinde fark yaratabilir. Bazı projelerde iş birimlerinin ortak test etmesi gereken birbirine bağlı fonksiyonlar bulunur. Bu tür durumlarda koordinasyon daha da kritik önem kazanacaktır.
• Test ekibinin yönetimi: Test koordinatörünün en önemli fonksiyonlarından biri de test ekibinin testleri plana uygun ve eksiksiz şekilde yürüttüğünü takip etmek ve ekibin nabzını tutmak olmalıdır.
• Test sonuçlarının takibi : Testlerde tespit edilen hataların takip edileceği ortak bir platform özellikle büyük projeler için olmazsa olmaz bir araçtır. Böyle bir araçla test sürecinin performansının izlenmesi ve raporlanması da mümkün olacaktır.
• Dış sistem entegrasyonlarına dikkat : Test edilecek uygulamanın bazı dış sistemlerle bağlantıları olabilir. Her zaman mümkün olmamakla birlikte test ortamında da bu bağlantılar mümkün olduğu kadar gerçeğe yakın kurulup test edilmelidir.
Testin Sonlandırılması : Test kabulü
Önceden belirlenen tüm test senaryolarının uygulanması ve bulunan hataların çözümünden sonra, tüm kabul kriterleri karşılanıyorsa kullanıcılardan resmi onay alınması ihmal edilmemelidir.
PMI’ın proje yönetimi yaklaşımı açısından değerlendirdiğimizde test süreci; Proje izleme ve kontrol süreç gruplarından -Proje Kalite Yönetimi bilgi alanında yer alan- “Kalite Kontrolü” ve -Proje Kapsam Yönetimi bilgi alanında yer alan- “Kapsam Doğrulama” süreçleri içinde gerçekleştirilir. Projenin kapsam kriteri açısından başarılı olup olmadığı bu süreç sonunda ortaya çıkacak, bu sürecin kabul çıktıları kapanış sürecinin girdileri olarak kullanılacaktır.
Saadet TEKEL, PMP
Şubat 2010