Stokastik bir süreci test etmenin aklı başında bir yolu var mı? Örneğin belirli bir sistem modeli için bir simülatör kodladığınızı varsayalım. Simülatör, rngs tohumlarına göre rasgele çalışır, böylece sistemin durumu tahmin edilemez ve her testin yapılabiliyorsa, bir sınıfın herhangi bir yöntemini denemeden önce sistemi belirli bir duruma getirmesi gerekir. Bunu yapmanın daha iyi bir yolu var mı?Stokastik süreçler için birim testi?
12
A
cevap
3
Bu konuyu kapsayan bir nice blog post İşte. Temel olarak kontrollü rasgele test altındaki nesneye enjekte etmeniz gerekecektir.
1
Belki de bunu çözmek için JUnit Theories
'u kullanabilirsiniz.
7
iki bariz seçimler rastgeleliğine (yani, sizin birim testler için sabit, bilinen tohum kullanmak ve oradan devam edilir) veya istatistiksel test etmek (yani, aynı testi çalıştırmak kaldırmak için vardır Bir milyon kez dava ve ortalama ve varyans (vb) beklentileri ile eşleştiğini doğrulayın. İkincisi muhtemelen sisteminizin daha iyi bir testidir, ancak bazı yanlış alarmlarla yaşamak zorunda kalacaksınız.
İlgili konular
- 1. Temel Birim Testi ve Birim Testi
- 2. Birim testi
- 3. Açısal yönerge için birim testi
- 4. C++ Birim Testi
- 5. yasemin parametrelenmiş birim testi
- 6. Birim testi özel sınıflar
- 7. Oracle ile birim testi
- 8. Birim testi nasıl tanımlanabilir?
- 9. Birim testi NHibernate UserTypes
- 10. TaskScheduler.FromCurrentSynchronizationContext - birim testi
- 11. Birim Testi ve Log4net
- 12. symfony2 birim testi doğrulama
- 13. Denetleyici birim testi, thin3
- 14. Birim testi Activity.startService() çağrısı?
- 15. Otomatik C birim testi
- 16. CXF birim testi
- 17. Vbscript otomatik/birim testi
- 18. Birim testi RavenDb sorguları
- 19. Birim Testi CacheManager
- 20. Birim Testi Doctrine ODM
- 21. Birim testi Python'da Teoriler?
- 22. Birim Testi ASP.net Page_Load
- 23. ASP.NET Birim Testi
- 24. Javascript Sandbox birim testi
- 25. Silverlight 4 Birim Testi
- 26. AngularJS routeProvider için birim testi yazabilir miyiz?
- 27. Metin Dosyasına Yazma için Birim Testi
- 28. Perl birim testi için sahte dosya sistemi
- 29. Birim testi için SQLite'i bellekte doldurma
- 30. .NET bir birim testi için HttpContext nesnesini
Sabit tohum yaklaşımının bir zayıflığı, algoritmayı değiştirirseniz, rastgele üreteç için daha fazla çağrı (veya daha az çağrı) gerçekleştirecek şekilde test ettiğinizde, o zaman da test etmek için birim testini tekrar yapmanız gerekecektir. bu değişiklik. – Michelrandahl