I mentioned 2 weeks
ago that I was moving
some tests around within our codebase.
That work is still happening and will almost certainly continue for
quite some time.
One other task I am
taking simultaneously is quantifying the cost of moving these tests. This ranges from a simple hourly track of my
time to including the time others need to review the code and validating the
tests achieve the same coverage once they have been moved.
I'm also taking a
stab at quantifying how difficult moving a test can potentially be. For instance, a traditional unit test that
happens to be in a less than ideal location is a good candidate for almost a
pure "copy and paste" type of move.
Since the test is sharply focused and doesn't have many dependencies, it
is very simple to move around.
Other tests that
start with loading a workbook in order to validate a column is being drawn
correctly (I am making up an example) have many dependencies that have to be
untangled before the test can be moved.
This is at best a medium difficulty task and can easily take a large
amount of time depending on how tightly both the test and product code are
woven together.
For now, I am making
notes on how to untie those knots and moving the tests that are easy to
move. Once I am done with my notes, I
intend to look through them for common patterns, good starting points and use
that data to develop a plan to start untangling the next round of tests. And of course I will share this with others
since I doubt I will have enough time - or energy :) - to do all this myself.
Questions, comments, concerns and criticisms always welcome,
John