It has long been a staple of the application world, but far less so in the world of data-centric development. Testing should be critical at every stage of development, especially at the data level.
Testing reduces bugs in new development
New features should be accompanied by a clear set of requirements. Testing ensures that the data-centric code meets those requirements by returning the correct values, output, etc. according to the feature design.
Testing reduces bugs in modifying existing projects
When code needs to be updated for new requirements or re-factored, there should already be a set of tests for the existing code base. Rewritten or updated code should pass the same tests (excluding any specifically updated for the new functionality) ensuring the modifications did not adversely affect the existing functionality of the data-centric application.
Automated testing reduces costs
For too long manual testing has been the approach for most data-centric development. Developers pass code to a set of testers, who then manually test to ensure requirements are met and the results of the application are accurate. Often this can be a long process.
Automated testing reduces this time to mere minutes, giving a developer instant validation, legitimizing the work they have done. When testing uncovers problems, corrections can be made immediately, without the long turnaround incurred by a manual QA process.
Automated testing reduces the workload on testers
In many organizations testing is not performed by a dedicated testing staff, but instead by business users for whom testing is a small part of their workload. Automated testing reduces the chance for bugs in code delivered to the testers, reducing their workload.
Testing reduces delivery time
With developers being able to identify and fix bugs much sooner, the development time is reduced. This allows for delivery of much needed business solutions in a reduced timeframe.
Testing validates the entire code base
While testing can validate the work done by a single developer, it can also validate the code from the entire development team. Known as integration testing, these tests work against the entire code base ensuring code supplied by one developer does not adversely affect code from other developers, or the code already existing in the project.
Testing validates your data
It doesn’t take much to engender mistrust between business and IT. Missing rows in the database, incorrectly calculated values, or corrupt data quickly lead to the business losing faith in their IT department. Testing can validate source data moving to a target, such as a data warehouse, is complete and accurate.
Testing saves money – big money
Each bug that makes it to production can have catastrophic effects financially. Business users are making financial decisions based on the data provided. If that data is incorrect, costly mistakes can be made. Testing uncovers bugs before they are deployed to production, minimizing the financial risks to a corporation.
Testing proves your code works
Often the business needs assurances the delivered application meets requirements. In other words, what assurances can be provided the code does what development says it does. Testing provides that means by which developers can prove their code actually works.
As you can see, there are many valid reasons to test. Catching bugs early, reducing delivery time, reducing the cost of testing, providing provable assurances of the validity of the data. But most of all, testing just works. Testing ensures accurate code, and more importantly accurate data.
Receive a free trial download of LegiTest, our latest product that provides users with data-centric testing. You can also learn more about data-centric testing by viewing the infographic below.