Course Outline
1 Fundamentals of Database Testing
- Interpret entity relationships and link application requirements to stored data.
- Define test boundaries, expected database states, and common integrity issues.
2 SQL for Data Verification
- Utilise filtering, joins, aggregation, and subqueries to validate application results.
- Compare pre- and post-operation states for create, update, and delete actions.
3 Schema and Integrity Testing
- Verify data types, nullability, default values, primary keys, and uniqueness.
- Test foreign keys and check constraints, including boundary and invalid inputs.
4 Views and Database Routines
- Review view outputs and test stored procedures, functions, and triggers where applicable.
- Validate returned values, modified rows, and expected errors against business rules.
5 Transactions and Concurrent Activity
- Assess commit and rollback behaviours, including controlled failures during business operations.
- Observe conflicts across two sessions and confirm the expected outcome for the chosen platform.
6 Basic Security and Performance Checks
- Verify allowed and denied database actions for sample application roles.
- Review test cases for preventing SQL injection and establish a baseline for query timing.
7 Test Data and Regression Automation
- Prepare consistent sample data and isolate test cases using setup and cleanup steps.
- Develop SQL assertions and introduce the database unit testing approach for the selected platform.
8 Practical Assessment and Defect Reporting
- Execute an order-processing test suite against seeded data and known logic defects.
- Document the SQL used, expected results, actual results, and retest outcomes for each finding.
Lab Environment Setup
Select a single platform, such as SQL Server or PostgreSQL, and configure a non-production database, SQL editor, routines, and sample user roles. Use SQL checks as the standard foundation. Choose any unit testing framework after confirming platform compatibility. SQL Server unit testing tooling is a viable option if the necessary environment is available.
Requirements
Participants are expected to have a solid understanding of relational tables, keys, and relationships, as well as the ability to write basic SQL queries, including joins and aggregations. A foundational knowledge of software testing principles is beneficial. Prior experience in database administration is not a prerequisite.
Testimonials (2)
personalised to our understanding and data
Vincent Long - ASSMANG PTY LTD
Course - Business Intelligence with SSAS
The training instruments provided.