At some point digging through some of this stuff, I often start to think, I wonder how good our tests are at catching certain categories of problems. Various groups of code branches and behaviors.
I do notice that as I get the test flying, they do start to pick up a lot more issues. A lot more bugs and bad behavior. And as they start to near max out, I start feeling a little better about a lot of it. But then I’m looking at things outside of tests still as well. Using my own tools and setups, using stuff from others. Being cruel in my expectations. And by then I’ve come a long way, but I can still find problems. Run into bad situations. If I push, and when I make it so can push harder, i push even harder. And I want the damn thing solid. Why come all this way if I can’t have really and truly solid. And that’s when I reach for collection creation a mixed with cluster restarts. How about I shove 100000 SolrCores 10000 collections right down its mouth on a handful of instances on a single machine in like a minute timeframe. How about 30 seconds. How about more collections. How about lower time frames. Vary things around. Let’s just swamp it and demand the setup eats it in silly time frames and stands up at the end correct and happy. And then I start to get to the bottom of the barrel on what’s subverting my solidness. But as I’ve always said, more and more targeted for tests along with simpler and more understandable implementations will also cover a lot more ground. I certainly have pushed on simpler implementations. I’ve never gotten to the point where I have the energy and time to just push on more, better and more targeted tests, more unit tests, more mockito, more awaitability as Tims suggested, etc. -- - Mark http://about.me/markrmiller
