OK, I get your point. But then, testing shouldn't go by the code lines, but what those code lines do. There should be no reason to change/update a test because the code is changed - only when what the code is supposed to do changes. Tests should be developed and implemented by people who know nothing of the code. They should make tests for all the functionality, regardless of the lines of code to implement it. If some code is not run during a complete test, it either indicates that the code is dead and can be removed, or that there is some functionality that the test developers never were told about. Maybe the developer didn't tell anybody about this functionality - which is really bad. Secret, undocumented, untested functionality is bad for any software. So don't strive for 100% code coverage. Strive for 100% functionality coverage. If that doesn't lead to 100% code coverage, you should take a close look at the code and ask: What the elephant is that code there for?
Religious freedom is the freedom to say that two plus two make five.