Önce öncelikleri açıklayalım ...
Müşteri olarak rolünüzde asıl endişeniz birim testi değil.
Sizin için yazılım üreten tedarikçileri kullanıyorsanız, o zaman bir yöntem ya da başka bir yöntem kullanıyorlarsa endişelenmemelisiniz. Sizin riskiniz, hedeflerinize ulaşmanıza yardımcı olacak bir tür çözüm elde etmektir. İlgilenmeniz gereken tek şey, bu çözümün kabul edilebilir olup olmadığıdır. Bu yüzden istediğinizi aldığınızdan emin olmak için sizin sorumluluğunuzda olduğu gibi kabul testine sahibiz . Müşterinin kabulü çok önemlidir, para şirketinizin cebinden tedarikçinin cebine aktarılır.
Birim testlerini teslim edilebilir bir gereklilik olarak talep edebilirsiniz, ancak bunlarla ilgili devralınan birkaç sorun vardır, en ciddi olanı metrikleri belirlemek için önceden kesin bir yol olmamasıdır:
- Kabul edilebilir birim test miktarı nedir?
10 test yapılmalı mı? 100 test nasıl? 1000 teste ne dersiniz? Aslında, başlangıçta kaç teste ihtiyacınız olacağını belirlemek oldukça zordur. Asıl sayı gerçekten tespit edilemez ... durma problemi gibi ... ama biz bu problemi çözmüyoruz.
Sadece ünite testlerine sahip bir yazılım istersiniz, böylece geliştirmeye devam edebilirsiniz. Ünite testleri henüz ne kırdığınızı söylemez, ancak kodun bir regresyon hatası olduğunu size söylemek için çok uygundur.
- Kabul edilebilir bir kod kapsamı düzeyi nedir?
"% 100, elbette!" düşünecektin. Ne yazık ki bu metrik yanıltıcıdır; % 100 kod kapsamınız olsa bile, işlerin beklendiği gibi çalıştığından emin misiniz ? % 100 kapsama sahip olmak mümkündür ancak yapılamaz.
Yapmanız gereken gerçekten keşif testi, yani işleri kırmada gerçekten iyi olan birini bulmak ve test etmelerine izin vermek. Hiçbir geliştiricinin bile düşünmediği hataları bulmak.
Ayrıca, bazı gerekli performans kesmeleriniz varsa ve test edilmesi zor tasarım desenleri kullanıyorsanız (favori arama motorunuzda "singleton" ve "tdd" yi arayın ve bazı örnekler bulacaksınız),% 100 bazen saf birim testleriyle elde edilemez.
Gönderilen yazılımın çalışmasını istiyorsunuz ve şartname belgesi çalışacağı tek garantinizdir.
Daha yüksek test seviyesine ihtiyacınız olacak
Şartname belgeniz bir şekilde doğrulanmalı. Her noktanın, tedarikçileriniz için açık hedefleri ve kabul kriterleri olanlarla geçmesi gerekir. İyi işleyen bir KG organizasyonu (veya eğer bütçeniz ve sınırlı bir kapsamda iseniz harika bir testçi) bu kabul kriterlerini kontrol etmek için test durumlarını sağlayacaktır. Ayrıca bu kabul kriterlerini doğrulamak için birine ihtiyacınız var.
Hedeflerinizi doğrulamanın birkaç yolu vardır ve eğer biri bana herhangi bir aklı başında kalite, performans ve verimlilik hedefi belirleyemeyeceğinizi söylerse, sırasıyla keşif, performans ve kullanılabilirlik testleri ile ilgili büyük ve ağır kitaplarla kafama vuracağım. Amaçları aşmak kolay olabilir, ancak bilgi ve iletişim gerçekçi hedefler belirlemenize yardımcı olacaktır.
Avukat değilim, ancak çoğu proje sözleşmesi (temelde proje için tüm şartnamelerin annesidir ) okudum, genellikle kaç hata kabul edilebilir sayılacağını belirleyen bir kusur oranı kriterine sahibim. Böcekler genellikle şiddet dereceleri ile belirlenir, QA tarafından bulunan şov durdurulan böcekler düşük toleranslara sahipken, küçük lekeler yüksek toleranslara sahiptir. Gerçek projelerde, yazılımın 0 kusurlu olmasını talep etmek zordur. Son teslim tarihleri genellikle bu uygulamaya son verir. Bu durumda, kapsamı pazarlık etmeye başlamalısınız.
Gördüğüm en çok sağlanan yazılımlar genellikle birim testleriyle teslim edilmiyor. Tedarikçilerin bunu sağlayacak kadar profesyonel olması gerektiğini savunabilirsiniz, ancak birim testlerinin size sunulmasını istemelerinin temel nedeni, regresyon hataları elde etmediğinizden ve yeniden yapılanmayı etkinleştirdiğinizden emin olmaktır. Sıkı teslim tarihlerine ilişkin projelerle gerçek hayatta hem tedarikçi hem de müşteri kapsamı düşürecek ve birim testleri genellikle pencereden dışarı çıkacak ve gerekli teslimat listesinden çıkarılacaktır.
Yüksek profilli açık kaynaklı yazılımların birim testleriyle sunulması biraz üzücü ama profesyonel bir yazılım geliştiricisi olamaz, değil mi?
Peki ne zaman müşteri olarak birim testlerine dikkat edeceğim?
Ben iddia ediyorum sadece , olur zaman gerçekten umurumda birim test teslim edilebilir yazılım coarsest yapmaya yapabilirsiniz test kendisi için tek başına bir program olarak yürütülecek olan kendi kendine yeten bileşen birim test edilir ise ise . Sınıf kütüphaneleri, birim testleri ile birlikte sunulabilen bir tür ürün olacaktır.