Albert Einstein is often attributed with saying that the definition of insanity is doing something over and over again while expecting a different result. Well, for software professionals, this can ring true in testing. In a world, not so long ago, testing software consisted of having a power user (such as a customer service representative) intentionally try to break software without any kind of game plan. There was no process involved and when something would break the application, it would get reported to the developers. This process would be repeated over and over again; sound familiar? You may be thinking, “there’s got to be a better way!” Sure, there is! It’s called test case management. Here are three main points you need to know about test case management and how it leads your software idea being the best it can be.
Provides a Bigger View of What Is Being Done – With test case management, one knows what needs to be tested, how it needs to be tested and everyone is aware of what is going to be done. Every time a new feature is rolled out, a dedicated plan is in place that can highlight problems early in the process instead of finding out about them later, when the software is in production. This also applies to regression testing, where already released features can be tested for issues that may have been caused by the implementation of the new feature. Everyone involved can see all the parts and pieces of the application and how they’re going to be tested. Ideally, every time a new feature goes into production, the whole application goes through regression testing; not just the new feature.
Provides a Legacy for Any New Team Working on the Project – Test case management also helps future developers by building a legacy, or a back catalog, of historical testing results. A new team member introduced to the project can review these records, and have a better idea of how the application works.
Provides a Better Software Product – While the quality assurance engineer is writing the test case, they might realize the feature described doesn’t make sense in the context of the application or has edge cases that haven’t been considered. With the quality assurance engineer collaborating closely with the product owner, building test cases early and through the development sprint, they can see early on that certain features won’t work within the application and approach it accordingly.
This may come across to you as a common-sense approach to testing software before it’s released, yet most companies aren’t taking advantage. Why? Well, it comes down to the difference in standard practices and best practices. While you might not consider test case management as part of the DevOps practice, we consider it a building block helping to ensure that bad software isn’t allowed to be released through the deployment process. This process comes at the beginning of each agile sprint, so there’s continuous check for quality throughout the development process. In layman’s terms, it means that some software development partners are invested in finding more efficient ways of controlling processes, which helps software developers focus on innovations. Doing things over and over again and expecting a different result is a worn-out way of developing software. Those who take new steps and different strides produce software above the traditional norms.
From SmallFootprint.com originally.