Content deleted Content added
→Strengths and Weaknesses: why was this pro/con section added? |
m Tagging using AWB (10458) |
||
Line 1:
{{
'''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.
Line 51:
== Strengths and weaknesses ==
{{
Random testing is typically praised for the following strengths:
* It is cheap to use: it does not need to be smart about the program under test.
Line 59:
The following weaknesses are typically pointed out by detractors:
* It only finds basic bugs (f.ex. [[
* It is only as precise as the specification and specifications are typically imprecise.
* It compares poorly with other techniques to find bugs (f.ex. [[static analysis]]).
Line 72:
=== Guided vs. unguided ===
* undirected random test generation - with no heuristics to guide its search
* directed random test generation - f.ex. "feedback-directed random test generation"<ref name="PachecoLET2007">{{cite journal|last=Pacheco|first=Carlos|author2=Shuvendu K. Lahiri |author3=Michael D. Ernst |author4=Thomas Ball |title=Feedback-directed random test generation|journal=ICSE '07: Proceedings of the 29th International Conference on Software Engineering|date=May 2007|pages=75–84|url=http://people.csail.mit.edu/cpacheco/publications/feedback-random.pdf|publisher=IEEE Computer Society|issn=0270-5257}}</ref> or "adaptive random testing" <ref name="ART">{{cite journal|last=Chen|first=T.Y.|author2=H. Leung |author3=I.K. Mak | title=Adaptive Random Testing |journal=Advances in Computer Science - ASIAN 2004. Higher-Level Decision Making |date= 2005|pages=
== Implementations ==
|