Quite often I hear at work that parameters in tests are a good thing - however, I don’t quite agree with that.
For me, a test case is a set of test inputs, execution conditions (though I would rather call it actions), and expected results developed for a particular objective. Certainly, an automated test case should have those elements (inputs, actions, outputs, and objective) clearly stated.
Due to that fact, I find myself willing to sacrifice writing flexibility in order to be able to understand each test case separately and visualize all their elements together – inputs, outputs, action, and objective. Parameters in test cases tend to separate the data from the test behavior itself, and that’s what makes me reluctant to use them.
What about you? Do you prefer your test cases with or without parameters?
P.S: I blogged a longer version of my opinion - feel free to comment here or/and there