testing-database

Test database interactions, schemas, and data integrity

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "testing-database" with this command: npx skills add wojons/skills/wojons-skills-testing-database

Database Testing

Test database interactions, schemas, data integrity, and performance, coordinating with integration and data layer testing.

When to use me

Use this skill when:

  • Developing applications with database dependencies
  • Testing data persistence and retrieval
  • Validating database schema migrations
  • Ensuring data integrity and consistency
  • Testing database performance and optimization
  • Verifying transaction handling and rollbacks
  • Testing backup and recovery procedures

What I do

  • Schema and migration testing:

    • Test database schema changes
    • Validate migration scripts
    • Check backward compatibility
    • Test rollback procedures
  • Data integrity testing:

    • Verify CRUD operations work correctly
    • Test transaction atomicity (ACID properties)
    • Check referential integrity and constraints
    • Validate data types and conversions
  • Performance testing:

    • Query optimization and indexing
    • Connection pooling and resource management
    • Load testing with concurrent database access
    • Long-running transaction testing
  • Integration coordination:

    • Coordinate with integration testing for data layer
    • Support unit testing with test database setup
    • Enable end-to-end testing with realistic data
    • Complement API testing with database validation

Examples

# Database schema testing
npm run test:database:schema       # Schema validation
npm run test:database:migrations   # Migration testing
npm run test:database:rollback     # Rollback procedure testing

# Data integrity testing
npm run test:database:crud         # CRUD operation testing
npm run test:database:transactions # Transaction testing
npm run test:database:constraints  # Constraint validation

# Performance testing
npm run test:database:performance  # Query performance
npm run test:database:load         # Concurrent load testing
npm run test:database:indexing     # Index optimization testing

# Integration with other tests
npm run test:integration -- --database # Integration tests with database
npm run test:e2e -- --data-persistence # E2E with data validation

# Test database setup
npm run test:database:setup        # Create test databases
npm run test:database:teardown     # Clean up test data
npm run test:database:fixtures     # Load test fixtures

Output format

Database Test Results:
──────────────────────────────
Database System: PostgreSQL 15
Test Environment: Isolated test database

Schema Testing:
  ✅ Current schema matches ORM definitions
  ✅ Migration scripts apply correctly
  ✅ Rollback scripts revert successfully
  ✅ Indexes created as expected

Data Integrity:
  ✅ CRUD operations: 100% success
  ✅ Transactions: ACID properties verified
  ✅ Constraints: Foreign keys, unique, check constraints enforced
  ✅ Data types: Proper type handling and conversion

Performance Testing:
  ✅ Query Optimization: 45/50 queries optimized
    ⚠️ 5 complex queries need indexing review
  ✅ Connection Pooling: 100 concurrent connections handled
  ✅ Load Testing: 1000 transactions/minute sustained
  ✅ Response Times: 95% < 100ms

Integration with Other Tests:
  - Unit tests: Use in-memory database or mocks
  - Integration tests: Use test database with transactions
  - API tests: Validate database interactions through API
  - E2E tests: Full data flow from UI to database
  - Performance tests: Include database performance metrics

Security Testing Integration:
  ✅ SQL injection prevention verified
  ✅ Access controls enforced at database level
  ✅ Sensitive data encryption tested
  ✅ Audit logging of database operations

Data Migration Testing:
  ✅ Migration from v1 to v2 successful
  ✅ Data loss: 0 records
  ✅ Downtime: 15 minutes (within SLA)
  ✅ Rollback tested and verified

Recommendation:
  - Review 5 complex queries for indexing opportunities
  - Implement connection health checks
  - Add more comprehensive backup/restore testing
  - Monitor database performance in production

Notes

  • Use test databases separate from development/production
  • Implement database transaction wrapping for test isolation
  • Consider using database containers for consistent testing
  • Test with realistic data volumes, not just small samples
  • Include database performance in application performance testing
  • Test backup and restore procedures regularly
  • Consider database-specific features (triggers, stored procedures)
  • Coordinate with DevOps for database infrastructure testing
  • Document database testing strategy and coverage

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

adversarial-thinking

No summary provided by upstream source.

Repository SourceNeeds Review
General

redteam

No summary provided by upstream source.

Repository SourceNeeds Review
General

performance-profiling

No summary provided by upstream source.

Repository SourceNeeds Review
Research

test-gap-analysis

No summary provided by upstream source.

Repository SourceNeeds Review