How to test software without writing tests
summary
Claims an automated tester called SQLancer that pairs random query generation (it reuses tools like SQLsmith) with a metamorphic oracle named ternary logic partitioning (TLB). It generates databases and queries, partitions results into true/false/null, and compares counts to spot inconsistencies. The implementation finds many real bugs (reports include over 450 unique issues in major DBMSes and a MySQL fix) and is presented as practical and effective.
AI-written summary · about
chapters (13)
- 0:00Intro
- 0:31Database Management Systems DBMS!
- 1:37Automatic Testing Core Challenges
- 2:27Test Oracle
- 2:47Motivating Example
- 4:28Ternary Logic Partitioning (TLP)
- 4:44Scenario: Coffee Kitchen
- 4:57Tangerines vs. Clementines
- 6:06Insight
- 7:17Example: MySQL
- 8:48Generalizing the Technique
- 9:09Metamorphic Testing
- 9:23Summary & Takeaway
related talks
36mSQLancer: Automatically Finding Bugs in Database Management Systems
06mSQLancer: Finding Logic Bugs in Database Management Systems
15mFinding Bugs in Database Systems via Query Partitioning
55mMuch ado about testing
23mMetamorphic Testing
49mHow do we do it? Testing and Verifying bugs for released software
11mDetecting Transactional Bugs in Database Engines via Graph-Based Oracle Construction
58mTDD for database related code, how is it possible?
