Öğrenme yolu 02Ders 3 / 6

Testleri kanıt olarak kullanın

Yanlış davranışı reddedebilen kontroller seçin. Üretilen testleri, üretilen uygulama kadar dikkatle inceleyin.

Uygulayıcı11 minİncelendi

Yayımlayan Nasıl yazıyoruz?

Neler öğreneceksiniz?

  • Her önemli gereksinimi anlamlı bir kontrole bağlayın.
  • Birim, entegrasyon ve uçtan uca test kanıtlarını ayırın.
  • Uygulamayla aynı yanlış varsayımı tekrarlayan testi tespit edin.

Gereksinimle başlayın

Testler belirli iddialar için kanıttır. Başarılı test çalıştırması yazılımın her özelliğini kanıtlamaz. Test istemeden önce önemli davranışı ve her kontrolün tespit etmesi gereken kusuru belirleyin.

Kurgusal kuruluş dışa aktarımında temel gereksinim veri yalıtımıdır. A kuruluşundaki kullanıcı B kuruluşundan kayıt almamalıdır. Yalnızca başarılı indirmeyi kontrol eden test bu gereksinimi kanıtlamaz.

Ajandan gereksinimle testin doğrulama koşulu arasındaki ilişkiyi açıklamasını isteyin. Bu, test kümesi büyümeden eksik durumları bulmayı kolaylaştırır.

Uygun test kapsamını seçin

Birim testi küçük dönüşümü hızlı kontrol edebilir. Entegrasyon testi bileşenlerin birlikte nasıl çalıştığını kontrol edebilir. Uçtan uca test, dağıtılmış veya temsilî uygulamada önemli kullanıcı adımlarını kontrol edebilir.

Gereken kanıtı sağlayan en dar kapsamı kullanın. Biçimlendirici her girdi için tam tarayıcı testi gerektirmez. Yetkilendirme sınırı gerçek route ve veri erişim yolu gerektirebilir. Kritik tarayıcı etkileşimi, ekranda oluşan arayüz hakkında kanıt gerektirir.

İddiaÖrnek kanıt
CSV çıktısı tırnak işaretini doğru kaçış karakterleriyle işlerAlanında tırnak işareti bulunan birim testi
Başka kuruluş dışa aktarımı okuyamazGerçek yetkilendirmeden geçen entegrasyon testi
Klavye kullanıcısı dışa aktarımı başlatabilirTarayıcı testi ve elle klavye incelemesi
Başarısız dışa aktarım yararlı hata verirİlgili arayüzde hata yolu kontrolü

Test türleri için sabit bir yüzde her sisteme uymaz. Tespit etmeniz gereken hataya ve kontrolü sürdürme maliyetine göre seçin.

Ortak yanlış varsayımdan kaçının

Ajan uygulamayı ve testleri aynı yanlış anlayıştan yazabilir. İkisi uyuşurken gereksinim karşılanmamış kalabilir.

Uygulamanın kayıtları istekte verilen kuruluş kimliğine göre filtrelediğini varsayın. Test, oturum açmış kullanıcı ve istek için aynı kimliği kullanır. Test geçer. Eksik durum, farklı kuruluş kimliğini isteyen kullanıcıdır.

Bu durumu gerçek, güvenilen kimlik ve yetkilendirme yolu üzerinden ekleyin. Her zaman ‘izin verildi’ döndüren mock tenant yalıtımını kanıtlayamaz. Yalnızca yetkilendirme başarılı olduktan sonraki davranışı gösterir.

Testin başarısız olabildiğini doğrulayın

Bilinen kusur için yeni regresyon testini yalıtılmış dalda kusurlu sürüme karşı çalıştırın. Amaçlanan nedenle başarısız olduğunu doğrulayın. Sonra düzeltmeyi uygulayıp yeniden çalıştırın.

Test verisi yüklenemediği için başarısız olan test, iş davranışının henüz kanıtı değildir. Yalnızca çıkış kodunu değil, hatayı inceleyin.

Daha geniş değişikliklerde mutasyon testi, seçilen kod değişikliklerinin testleri başarısız kılıp kılmadığını değerlendirmeye yardımcı olabilir. Maliyeti vardır ve gereksinim incelemesinin yerini almaz. Ek kanıtın önemli bir kararı desteklediği yerlerde kullanın.

Kanıtı değişikliğe bağlı tutun

İlgili kontrolleri son revizyonda çalıştırın. Atlanan kontrolleri ve nedenlerini kaydedin. Önceki commit’in sonucu, inceleme düzeltmesinden sonra geçerli olmayabilir.

Testleri anlaşılır tutun. Önemli koşulu gizleyen büyük yardımcı yerine açık kurulum ve doğrulama koşulu kullanın. Farklı bir hata tespit etmeden bakım maliyeti ekleyen gereksiz kontrolleri kaldırın.

İnceleyici testlerin neyi kanıtladığını ve neyin belirsiz kaldığını söyleyebilmelidir. Bu açıklama çok sayıda testten daha yararlıdır.

Alıştırmayı yapın

Üretilmiş bir test seçin. Kontrol ettiği gereksinimi belirtin. Yalıtılmış bir dalda ilgili kusuru geçici olarak ekleyin. Testin amaçlanan nedenle başarısız olduğunu doğrulayın, sonra kodu geri yükleyin. Testin hâlâ kapsamadığı noktaları kaydedin.

Çalışma sayfasını indir (Markdown)

Anladığınızı kontrol edin

Üretilen test, yetkilendirme fonksiyonunu her zaman erişim veren bir mock ile değiştiriyor. Geçen sonuç neyi gösterir?

Kaynaklar ve ek okumalar

Taiga'dan ilgili okumalar