Stockholm | Right Sidebar
19212
page,page-id-19212,page-template-default,ajax_fade,page_not_loaded,,select-theme-ver-1.6,vertical_menu_enabled,wpb-js-composer js-comp-ver-4.3.3,vc_responsive

 

Yazılım Test Yönetim Prensiplerimiz

 

Test Prensiplerimiz
  • Testin amacı, yazılımda hataların olduğunu göstermektir; yazılımda hata kalmadığını ispatlamak değildir.
  • Yazılımı %100 test etmek imkansızdır. Yazılımı tüm girdi ve çıktı kombinasyonları ile test etmek, projenin zaman ve bütçe kısıtları sebebiyle mümkün değildir. Önemli olan risk analizi ile yazılımdaki riskli alanların tespit edilip, önceliklendirmelerin yapılması ve bu alanların normalden daha fazla test edilmesidir.
  • Teste yazılım geliştirme sürecinin başında başlamak gerekir. Yazılım hatalarının erken fazlarda tespit edilmesi ve çözülmesi seebebiyle test aktivitelerine yazılım projelerinin erken fazlarında (örn. planlama, analiz, tasarım) başlanılması oldukça önemlidir.
  • Hatalar yazılımın belli alanlarında yoğunlaşır. Yazılımda hatalar belli alanlarda yoğunlaşmıştır. Yazılımın tüm parçaları (modülleri) dikkate alınacak olunursa, hataların büyük çoğunluğunun bu parçaların küçük bir kısmında bulunacağı görülecektir.
  • Antibiyotik Direnci; test senaryolarının belirli aralıklarla güncellenmesi ve revize edilmesi yazılımda daha fazla hatanın tespitine olanak sağlayacaktır.
  • Test yaklaşımı ve aktiviteleri yazılım projesinin koşullarına göre değişiklik gösterir. Test aktiviteleri, yazılımın özelliklerine, bağlamına ve içeriğine göre farklı biçimlerde ele alınmalıdır. Örnek olarak, bir e-ticaret yazılımı ile nükleer santral için yazılmış güvenlik tehlikesi taşıyan bir uygulama farklı şekillerde, farklı test teknikleri ve metodolojileri kullanılarak test edilmelidir.
  • eni hata bulamıyoruz başarılı bir yazılım elde ettik yanılgısı; testte tespit edilen hataların düzeltilmiş olması, yazılımın müşteri/kullanıcı ihtiyaçlarını tam, eksiksiz ve doğru karşılıyor olduğu anlamını taşımamaktadır.
Temel Yazılım Test Süreçleri

Temel yazılım test süreci aşağıdaki ana aktivitelerden oluşur.

Test Planlama ve Kontrol

  • Test planlama, hedefleri ve misyonu karşılamak amacıyla testin amacını ve test aktivitelerinin detaylarını belirleme aktivitesidir.
  • Test kontrol, elde edilen ilerlemeyi planla karşılaştırma ve planlardan sapmalar da dahil olmak üzere durumu raporlama aktivitesidir.

Test Analiz ve Tasarım

  • Test analizi ve tasarımı, genel test hedeflerinin somut test koşullarına ve test senaryolarına dönüştürüldüğü işlemdir.

Test Uyarlama ve Yürütme

  • Test uyarlama ve yürütme, test senaryoları ve test verileri gibi diğer gerekli tüm bilgilerin birleştirilerek test prosedürlerinin belirlendiği, test ortamının kurulduğu ve testlerin çalıştırıldığı aşamadır.

Çıkış Kriterlerini Değerlendirme ve Raporlama

  • Çıkış kriterini değerlendirme işleminde test yürütmenin belirlenen hedeflere ulaşıp ulaşamadığı değerlendirilir. Bu işlemin her bir test seviyesi için gerçekleştirilmesi gerekir.

Test Kapanış Aşaması

  • Test kapanışı aşamasında test projesinde elde edilen tecrübe, geliştirilen test yazılımları, metrikler ve net bilgiler bir sonraki projelerde kullanılmak için toplanır. Test kapanışı adımları, bir yazılımın piyasaya sürülmesi, test projesinin tamamlanması (veya iptal edilmesi), bir kilometre taşına ulaşılması ya da bakım sürümünün tamamlanması gibi karar verme aşamalarında hayata geçirilir.
Yazılım Test Sürecinin Girdi Ve Çıktıları

Temel yazılım test süreci aşağıdaki ana aktivitelerden oluşur.

Test Planlama

Planlama bir master test planında yer alabileceği gibi sistem testi ve kabul testi gibi test seviyeleri için ayrı test planlarında da yer alabilir. Proje ve test ilerledikçe daha fazla bilgi ortaya çıkar ve test planına daha fazla ayrıntı eklenebilir. Test planlama sürekli devam eden bir aktivitedir ve tüm yazılım yaşam döngüsü süreçlerinde ve aktivitelerinde ele alınır.

Test Planlama Adımları

  • Kapsamı ve riskleri tanımlama ve testin hedeflerini belirleme
  • Test seviyelerinin, giriş ve çıkış kriterinin tanımı da dahil testin genel yaklaşımını tanımlama
  • Test aktivitelerini yazılım yaşam döngüsü adımlarıyla (alma, sağlama, geliştirme, operasyon ve bakım) entegre etme ve koordine etme
  • Neyin test edileceği, hangi rollerin test işlemlerini uygulayacağı, test işlemlerinin nasıl yapılması gerektiği ve test sonuçlarının nasıl değerlendirilmesi gerektiği ile ilgili kararlar verme
  • Test analizi ve tasarım aktivitelerinin zaman planlamasını yapma
  • Test uyarlama, yürütme ve değerlendirmenin zaman planlamasını yapma
  • Tanımlanan aktiviteler için kaynakları atama
  • Test dokümantasyonu için miktarı, ayrıntı seviyesini, yapıyı ve şablonları tanımlama
  • Test hazırlığı ve yürütme, hata çözümleme ve risk konularını monitörlemek ve kontrol etmek için metrikleri seçme
  • Yeniden üretilebilir test hazırlığını ve yürütmeyi sağlamak amacıyla test prosedürlerinin ayrıntı seviyesini belirleme