Database Testing Terminology: A Glossary of Terms
This glossary captures key terms about database testing and related data quality (DQ) activities. Database testing is a key DataOps enabler.
- Automated regression testing.The act of running a test suite on a regular basis, ideally whenever a developer or data engineer has done something which could potentially inject a defect into the implementation.
- Behaviour driven development (BDD). A test first approach where requirements details are captured in the form of executable specifications. This is effectively TDD at the requirements level.
- Database interface testing. Database testing which validates the database at the point where external systems interact with the database. This is effectively black-box testing of a database.
- Database regression testing. The act of regression testing a database.
- Database testing. The act of validating the contents, schema, and functionality within a database. This includes the actual data itself, the table structures and relationships between tables, and the stored procedures/functions or database classes respectively.
- DataOps. DataOps is the streamlined combination of data development and data operations.
- Interface database testing. Database testing that validates the database at the point where external systems interact with it. This is effectively black box testing of the database. See Figure 1.
- Internal database testing. Database testing that validates the database at the white/clear-box level. See Figure 1.
- Manual regression testing. The act of manually (e.g. in a non-automated manner) regression testing. Manual regression testing, manual testing in general, tends to be expensive, slow, and error prone.
- Refactoring (n). A refactoring is a simple change to the design of something that improves the quality of that design without changing its semantics.
- Refactoring (v). The act of applying one or more refactorings to improve the quality of the design of something.
- Regression testing. The act of ensuring that the testing target, such as a database, continues to work as expected.
- Test-driven development (TDD). TDD is an approach to implementation which combines a test-first strategy with refactoring. When implement a new behaviour, you first ask if the existing implementation that you’re extending is of sufficient quality. If it isn’t, you first refactor it to improve its quality. Then you proceed with a test-first approach to implementation.
- Test-first. The act of writing an executable specification before writing the implementation of that specification. This can be performed at the requirements level, a behaviour-driven approach, or at the design level, a test-driven approach.
- Test Driven Database Development (TDDD). This is the act of implementing a database via a TDD.
Figure 1. What to test in a database (click to enlarge).
- An Introduction to Database Testing
- Automated Database Regression Testing
- Introduction to DataOps
- Introduction to Test-Driven Development (TDD)
- What To Test For in a Database
This book, Choose Your WoW! A Disciplined Agile Approach to Optimizing Your Way of Working (WoW) – Second Edition, is an indispensable guide for agile coaches and practitioners. It overviews key aspects of the Disciplined Agile® (DA™) tool kit. Hundreds of organizations around the world have already benefited from DA, which is the only comprehensive tool kit available for guidance on building high-performance agile teams and optimizing your WoW. As a hybrid of the leading agile, lean, and traditional approaches, DA provides hundreds of strategies to help you make better decisions within your agile teams, balancing self-organization with the realities and constraints of your unique enterprise context.
I also maintain an agile database books page which overviews many books you will find interesting.