Mutation testing, Fault Injection, Robustness testing, Fuzz testing
Demir last edited by user
I need to clarify differences and definitions of those techniques/methodologies.
Mutation testing - testing technique, it is an intentional change of part of code to evaluate correctness of tests
Robustness testing - testing methodology, and mutation testing and fault injection are part of it, or it is something else?
Fuzz testing - testing technique, random data input to the program, it also can be used in robustness testing
Fault injection - testing technique, isn't it the same as fuzz testing?
but i am not sure of above. Is it possible to compare them telling which technique is better?
Robust is the opposite of fragile; it is the ability to function correctly under a variety of conditions -- perhaps even under conditions that change or that you did not anticipate. Robustness testing is the practice of measuring robustness.
Fault injection and mutation testing are ways to measure the robustness of your tests. They don't tell you anything about the robustness of your product.
Fuzz testing is a way to measure the robustness of your product. It doesn't tell you anything about the robustness of your tests.
I do not think it makes sense to ask whether fuzz testing or fault injection/mutation testing is better, because they serve different purposes. However, I would rank fuzz testing the highest of the three, since your ultimate goal is to measure the quality of your product. The tests themselves are a means to an end, not an end in themselves.