SORU
28 AĞUSTOS 2008, PERŞEMBE


Birim Testleri rastgele veri?

Rastgele veri ile alanları doldurmak nesneler için birim testlerini yazan bir iş arkadaşı var. Bu nedenle normal bir test sadece tek bir statik bir değer kullanır, ancak farklı değerleri bir sürü test, sonra test daha geniş bir aralığı verir.

Ona karşı farklı nedenlerle bir dizi, ana olanları olmaktan verdim:

  • rasgele değerleri testi gerçekten de tekrarlanabilir testi rasgele başarısız olabilir, bu yüzden inşa sunucuda yapmak ve inşa kırmak anlamına gelen () olmadığı anlamına gelir
  • eğer rast gele bir değer ve test başarısız olur, ihtiyacımız olan bir düzeltme nesne ve b) güç kendimizi test etmek için bu değer her zaman olduğunu biliyoruz, yani çalışır, ama o zaman rastgele bilmiyoruz ne değeri oldu

Başka bir iş arkadaşı ekledi:

  • Eğer bir istisna test ediyorum, rasgele değerleri testi beklenen durumda biter emin olun
  • rastgele veri birim testleri için bir sistem dışarı kızarma ve yük testi için kullanılır

Başka kimse ona bunu yapmasını durdurmak için verebilirim ek sebep ekleyebilir?

(Veya alternatif olarak, bu yazım kabul edilebilir bir yöntemdir birimi, ve ben ve benim diğer iş arkadaşı yanlış?) testleri

CEVAP
28 AĞUSTOS 2008, PERŞEMBE


Bir uzlaşma var. İş arkadaşınız aslında, bir şeylerin peşindedir, ama yanlış bir şey yaptığını düşünüyorum. Tamamen rastgele test çok yararlı olduğundan emin değilim, ama kesinlikle geçersiz değil.

Bir program (veya birim) şartname orada karşılayan bir program var bir varsayımdır. Programın kendisi daha sonra bu önermenin kanıtıdır. Birim testi olması gerektiği gibi karşı delil program çalışır spec göre çürütmek için sağlamak için bir girişimdir.

Şimdi, elle birim testleri yazmak, ama gerçekten mekanik bir iştir. Otomatik olabilir. Tüm yapmanız gereken spec yazmak, ve bir çok makine ve kodu kırmak için birim testleri bir sürü oluşturabilir.

Ne kullandığını bilmiyorum, ama burada bakın:

Java http://functionaljava.org/

Scala (ya da Java) http://github.com/rickynils/scalacheck

Haskell http://www.cs.chalmers.se/~rjmh/QuickCheck/

.NET: http://blogs.msdn.com/dsyme/archive/2008/08/09/fscheck-0-2.aspx

Bu araçlar, iyi biçimlendirilmiş spec giriş olarak alır ve otomatik olarak istediğiniz kadar çok birim testleri, otomatik olarak oluşturulan veri ile oluşturur. "" Stratejileri tweak () kodunu kırmak için olabildiğince basit test çalışması Bul ve kenar durumlarda iyi. kapsar emin olmak için küçülen kullanıyorlar

Mutlu test!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012