4 ms·
all features and edge cases should have a test. if possible also have tests for all the bugs ever found in the old system. it helps if the tests are not too cou
by z3t4 10y ago
all features and edge cases should have a test. if possible also have tests for all the bugs ever found in the old system. it helps if the tests are not too coupled with the code and are well documented.
a test could be making an entry where deb and cred dont match. or trying to enter an extra decimal. and if the system adds two decimals corectly.
- svckr 10y agoMaybe I don't give the rewriters enough credit, but in all honesty, I'd be surprised if they bothered to look that deep into the code and tests before it's already too late. Too often, there's just some handwaving and proclaiming you "don't to it like that in today's software".
- kemiller2002 10y agoI worked a company where they did a rewrite of one of the main systems. My friend said it best when they finally finished and annoyed a lot of their customers. He said, "They fixed the things that were wrong, but they missed implementing all the things it got right."
- mikehollinger 10y ago>all features and edge casss should have a test. Yeah, but the interesting problem is what happens next. Let's say a test case reveals that there's a flaw in the next-gen system. You fix it. It later turns out that the same flaw exists in the legacy system. What do you do? Do you revert the fix, or leave it in place?
- philipov 10y agoYeah, I had to explain to a client once that our new version of their analytics query produced different results because their original SAS code didn't mind referencing variables before they're declared, and so one of the numbers in the analysis used to always be 0. They did NOT appreciate hearing that they had been running a bugged query for years...
- cle 10y agoRevert the fix and add it to your backlog. You've got enough to worry about when porting/rewriting, don't add additional dimensions of complexity and risk by trying to change business logic at the same time. Minimize risk by minimizing change...then when the new system is up on its feet, go back and fix all the mistakes you found.
- kwhitefoot 10y agoI upvoted that but I suspect that there will never be an opportunity to "go back and fix all the mistakes you found". At least there never is for me.
- beat 10y agoI should count all the grains of rice in my lunch, too.