Geliştirme Uygulamaları ve Program Testi
A. İyi test edilmiş, defansif olarak kodlanmış, makinede taşınabilir, belgelenmiş kütüphane FONKSİYONLARI ve genel amaçlı alt programlar kullanılmalıdır.
B. Her alt program akran değerlendirmesi tarafından titizlikle kontrol edilmelidir.
C. Her alt program geliştirme sırasında bağımsız olarak derlenmeli ve test edilmelidir. Daha sonra hatalar hızlı bir şekilde belirli alt programlara kadar takip edilebilir.
D. Her alt program, test edilen alt programdan girdi ve çıktı sağlayan sürücü programları yapılarak kapsamlı bir şekilde test edilmelidir.
1. Sürücü programı, test edilen alt program için tüm yollar alınacak ve tüm sınırlar (geometrik, fiziksel veya sayısal) kullanılacak şekilde örnek giriş veri setleri oluşturmalıdır.
2. Bu amaçla statik analizörler, test senaryosu jeneratörleri ve kapsama analizörleri gibi yazılım araçları kullanılmalıdır.
3. Makul sonuçlar cesaret vericidir, ancak kendi başlarına yeterli doğruluk kanıtı oluşturmazlar.
E. Destekleyici harici ve dahili belgeleri kullanarak, tipik bir programcı mantığı anlayabilmeli ve bir alt programın bir günden daha az bir süre boyunca değerlendirdikten sonra bir alt programın birçok temsili test vakası için doğru çalıştığını doğrulayabilmelidir.
F. Alt program geliştirildikten sonra, bir modüldeki tüm alt programlar tek bir dosyada birleştirilmeli ve bir modül olarak derlenmelidir. Bu prosedür, dosya sayısını azaltarak alt program yönetimini basitleştirir ve genel derleyici optimizasyonuna izin verir.
G. Her program test edilmelidir.
1. Test problemleri, tam bir girdi verisi seti, test verileri ile çalıştırıldığında program tarafından üretilen çıktının tam bir listesini ve programın kendisinin bir derleyici listesi ve çapraz referans haritasını içermelidir.
2. Bu test sorunları, açık bir şekilde yanlış programları tespit etmeye hizmet eder, ancak programın genel doğruluğunu garanti etmez ve tam bir doğrulama oluşturamaz.
3. En az üç farklı tipik test problemi çalıştırılmalıdır.
H. Geliştirilmiş bir programın tatmin edici makine uyumluluk performansını göstermek için, programın başarılı bir şekilde çalıştığını göstermek üzere hedef bilgisayarda özdeş testler yapılabilmesi için test problemleri ve ilgili sonuçlar sağlanmalıdır.