Over its relatively short history, the discipline of Software Engineering has made rapid advances in the sophistication of its development processes and tools. In the past 15 years alone, the popularization of CI/CD tools has drastically improved software quality and reliability.
However, a large gap remains on the landscape of software tooling. For many engineers, it's a gap they are so accustomed to, they can no longer even see it.
The Elements of Application Behavior
A software application of even modest complexity is composed of two major elements: Code and Data. Application behavior is the result of the combination of these two elements.
Despite this, nearly ALL software testing focuses on code, not data. When an engineer deploys code, her visibility into application behavior looks more like this:
Why is this? Many reasons. Some are legitimate and some are worth re-examining:
- Code, not data, is the engineer's product
- Code can be tested in small, isolated, pieces
- Test Data is time-consuming and tedious to maintain
- There aren't many Data Testing tools
At Postgres.ai, we're taking a fresh look at the landscape of software testing. We're building next-generation tools to ensure engineers have a complete understanding of application behavior before their code hits production.
Here are just a few of the things we can imagine doing when application data can be easily tested:
- Easily add database migration tests to your CI/CD pipeline
- Add Data Validation tests pre and post migrations to ensure your expectations are met
- Eaily add realistic load testing to your release pipeline
- Automatically identify SQL query performance degradation as a part of your automated CI/CD pipeline
And these are just the start...