Let’s start from Wikipedia’s definition of Regression Testing:
Regression testing is a type of software testing which verifies that software, which was previously developed and tested, still performs correctly after it was changed or interfaced with other software. Changes may include software enhancements, patches, configuration changes, etc.
Now, when we are aware of what is all about, let’s get to the point.
How often do you proceed regression testing? Once per sprint? Once per month? Daily?
Here we are. If our regression testing is supposed to make any sense – it has to be performed as often as possible – at least on sprint basis. Ideally – daily. Why? Because stable test suites would catch any unexpected system behaviors and react to a major change.
There is yet another question – how big your system is.
Small systems usually have rather checklists than test suites. Large ones – even the monsters:)
Deciding what should by automated is always tough, because having automated test scrips may be just something you could show off with or present in front of the customer. I would rather ask: WHY do you want to automate anything?
The problem is that sometimes automated suites don’t test anything (or anything meaningful) and the effort to keep them alive is big.
If you wonder if it’s worth to automate repetitive stuff? I’d answer – sure mate!
Automation is good. But it is just another tool – NOT THE PURPOSE.
I think that automated regression tests might be brilliant and helpful, but you have to remember that you’ll have to take care of them and update them often. You’ll also spend way more time to prepare test suites than to proceed simple tests manually, so if the testing is not repetitive – it’s good to calculate what is more beneficial for your project.
When automating things – you improve your skills and gain time for other activities – so it’s basically a matter of time – the time you’ll save on running automated regression testing and time you’ll waste (it’s not wasted, I know) on preparing them.
I’m just the beginner , so I might be wrong. Don’t agree? Comment below or stalk me on Twitter.