Today I read about a useful heuristic called RCRCRC on an article called ‘How To Do Good Regression Testing’. This is taken from the section ‘Working As A Team To Deal With Regressions’.
- Recent: new features, new areas of code are more vulnerable
- Core: essential functions must continue to work
- Risk: some areas of an application pose more risk
- Configuration sensitive: code that’s dependent on environment settings can be vulnerable
- Repaired: bug fixes can introduce new issues
- Chronic: some areas in an application may be perpetually sensitive to breaking
I decided to simplify RC3 (as I like to call it) for my own use and it gave me RiCE. Take what works and discard the rest, why not?
- Recent - includes bugs, changes and new features
- Core - essential functions
- Environment Settings - same as config settings
- Removes Risk and Chronic, the scope feels too broad to me for these two.
- Risk - Yes, some areas of an application pose more risk but they always do. We can identify the vulnerable areas as part of Recent, Core and Repaired.
- Chronic - Surely if there is a sensitive part that keeps breaking, it will be clear to the tester to include in their coverage?
- Combines Recent and Repaired into one
- Renamed Configuration to Environment Settings
Have you adapted any testing heuristics or methods into your own? Let me know!