Yıllar boyunca ana programımız için önemli sayıda birim test yaptık. Birkaç bin. Sorun şu ki, hangi testlerimiz olduğu konusunda net bir fikrimiz yok çünkü çok fazla var. Ve bu bir problem çünkü testlerde nerede zayıf olduğumuzu (veya kopyalarımız nerede) bilmiyoruz.
Bizim app bir raporlama motorudur. Böylece, ayrıştırmayı test etmek (tüm tablo özelliklerini okuyor muyuz), verilerde birleştirme (birleştirme işleminde doğru tablo özelliklerini tuttuk mu?), Son sayfayı biçimlendiren (tablo sayfaya doğru yerleştirilmiş bir şablona sahip olabilirsiniz) ) ve / veya çıktı biçimidir (oluşturulan DOCX dosyası doğrudur).
Buna test etmemiz gerekenleri de ekleyin. Dolguyu bir tablo hücresinin etrafında alın (rapor tasarımı için Word, Excel ve PowerPoint kullanıyoruz). Dolguyu sayfa sonu boyunca, bir hücrenin içindeki bir tablo, dikey olarak birleştirilmiş hücreler, yatay olarak birleştirilmiş hücreler, iç tabloda dikey ve yatay olarak birleştirilmiş hücreler içeren bir tablo içeren dikey ve yatay olarak birleştirilmiş bir hücre için test etmeliyiz. sayfa boyunca kesiliyor.
Peki bu test hangi kategoriye giriyor? Tablo doldurma, sayfa sonları, iç içe hücreler, dikey olarak birleştirilmiş hücreler, yatay olarak birleştirilmiş hücreler veya başka bir şey?
Ve bu kategorileri nasıl belgeliyoruz, birim testlerini adlandırıyoruz, vb.
Güncelleme: Birkaç kişi, tam kapsama sahip olduğumuzu doğrulamak için kapsam araçlarını kullanmanızı önerdi. Ne yazık ki bu bizim durumumuzda sınırlı kullanımdır çünkü hatalar belirli kombinasyonlardan kaynaklanma eğilimindedir, bu yüzden hepsi test edilmiş olan koddur, ancak bu kombinasyonda değil.
Örneğin, dün şablonlarında (Word belgesi) forEach döngüsünün sonunda bir Word yer işareti başlatan ve bir sonraki forEach döngüsünün başında sona eren bir müşterimiz vardı. Tüm bunlar kod üzerinde birim testleri olan kodu kullandı, ancak bir yer imini genişleten bir şablonun 25 kez başlatılmaya başlanıp 10 kez sona erdiğini düşünmemiştik (her iki forEop döngüsünde farklı sayıda satır vardı).