Duration: 2 Days
Course Overview
Database test automation and the provision of tooling to support it are surprisingly immature compared to the degree of tooling and best practice provided for middle tier application development or for the user interface. When we then consider the advanced topics in database testing as listed in this course syllabus, the is specialist but still highly necessary material to be able to properly assure database integrity while still maintaining test performance.
The content of this course is very specialist, and while recognised as important topics in the test automation disciplines, it tends to be described in academic articles or as part of research and development of testing theory rather than covered in standard training courses in the testing industry.
The course is taught over two days with approximately 50% taught and discussed content, 20% demonstrations and 30% hands-on activities carried out by the course attendees. The hands-on exercise are closely directed and supervised by the course instructor, with one-to-one support for individual attendees where it is needed.
How can I attend my course?
Course Content
Review
• Testing functionality
• Testing performance and query optimisation
• Testing security and integrity
• Accelerating the testing process
Functional testing
• Testing patterns for database functionality
• Decoupling triggers and cascade rules
• Validating cascade rule application
• Mocking within the database
Transactional testing
• Review of the transactional paradigm
• Testing strategies for transactions
• Testing commits
• Testing rollbacks
• Testing atomicity and isolation
• Distributed transactions
Performance testing
• Using data-driven tests to evaluate performance
• Tools for analysis of compiled query plan hotspots
• Testing and improving queries and index performance
Security and integrity
• Constructing tests for database artefact penetration
• DOS attack testing and mitigation
• Known database vulnerabilities
Accelerating the testing process
• Necessary and sufficient database testing
• When to mock the database
• Patterns for database test design