Random testing: Difference between revisions

Content deleted Content added
Malyvelky (talk | contribs)
No edit summary
m WPCleaner v1.27 - Repaired 1 link to disambiguation page - (You can help) - Haskell / Fixed using WP:WCW - Reference before punctuation
Line 1:
{{unreferenced|date=June 2013}}
'''Random testing''' is a black-box software testing technique where programs are tested by generating random, independent inputs. Results of the output are compared against software specifications to verify that the test output is pass or fail.<ref name="Hamlet94"/>. In case of absence of specifications the exceptions of the language are used which means if an exception arises during test execution then it means there is a fault in the program.
 
== Overview ==
Line 61:
== Implementations ==
Some tools implementing random testing:
* [[QuickCheck]] - a famous test tool, originally developed for [[Haskell (programming language)|Haskell]] but ported to many other languages, that generates random sequences of API calls based on a model and verifies system properties that should hold true after each run. Check this [http://www.quviq.com/documents/QuviqFlyer.pdf QuviQ QuickCheck flyer] for a quick overview.
* [https://code.google.com/p/randoop/ Randoop] - generates sequences of methods and constructor invocations for the classes under test and creates [[JUnit]] tests from these
* [https://github.com/Datomic/simulant/wiki/Overview Simulant] - a [[Clojure]] tool that runs simulations of various agents (f.ex. users with different behavioral profiles) based on a statistical model of their behavior, recording all the actions and results into a database for later exploration and verification