Son bir yıl boyunca, ekibimi serbest bırakma-erken-serbest bırakma-sıklıkla geliştirme tarzına (AKA: Hızlı Uygulama Geliştirme, Çevik değil) doğru yönlendirdim. Yapıyı kapatma şeklimiz hakkında daha fazla bilgi için buradaki cevabım bölümüne bakın: RAD ortamında sürüm kalitesini iyileştirmenin basit yolları
RAD'ı benimsediğimizde, insanlar oldukça bağımsızdılar ve önce birim testi yapıyorlardı; entegre testler bu süreçte çok sonra gerçekleşti. Resmi bir uygulama olmaksızın onlar için doğal bir süreçti. Şimdi durum oldukça farklı:
Tüm platform, herhangi bir sıcak nokta olmadan istemci tarafında çalışan yerleşik yapılarla / sürümlerle iyi bir şekilde entegre edilmiştir.
Yeni işlevsellik gereksinimleri gelmeye devam ediyor ve gittikçe kademeli olarak oluşturuyoruz.
Sistemin genel dinamikleri çok önemlidir, çünkü bağımsız kalkınma grupları süreçleri doğru takip etse de, karmaşık ve açık olmayan durumlar nedeniyle büyük hatalar ortaya çıkmıştır.
Sistemin birçok parçası yeni algoritmalar ve araştırma girdileri içerir, bu nedenle iyi tanımlanmış yazılımlarda özellik testi gibi zorluklar (ve dolayısıyla test mekanizması) her zaman doğru şekilde öngörülmez.
Son zamanlarda, süreç iyileştirmeye ihtiyacımız olup olmadığını görmek için genel olarak daha iyi bir resim elde etmeye çalışıyordum. Ekibimle oturduğumda, birçoğu alkışladı: "Artık birim testi yapmıyoruz!" diğerleri ise şimdi başlamamamız gerektiğini düşünürken, asla etkili olmayacak.
Birim testleri nispeten olgun bir sistemde faydalı mıdır? En azından birimlerin olgunluğuna bağlı olarak test kapsamını tartmamız gerekir mi? Birim testi, geliştirme hızını yavaşlatacak mı? Birim testini farklı bir şekilde değerlendirmeye ihtiyaç var mı?
Sürüm-erken-sürüm-sıklıkla bir ortamda olgun bir platform için test etmenin en iyi uygulamaları nelerdir?