Một câu trả lời đầy đủ cho câu hỏi này sẽ rất dài. Tôi sẽ cố gắng đề cập đến những điểm chính.
Để phân tách mối quan tâm, bạn có thể xem xét các thử nghiệm để:
A - Xác thực thiết kế cơ sở dữ liệu.
B - Xác thực rằng (các) chương trình đang tương tác chính xác với cơ sở dữ liệu.
Việc xác thực thiết kế cơ sở dữ liệu nên được thực hiện bởi người đã thiết kế cơ sở dữ liệu. Các nhà phát triển (trong khi thử nghiệm đơn vị) nên quan tâm nhiều hơn đến phần (B). Sự khác biệt chính mà tôi thấy giữa hai loại thử nghiệm là các công cụ được sử dụng. Đối với (A), bạn sẽ sử dụng một môi trường độc lập với mã dự án, trong khi trên (B) tất nhiên bạn sẽ sử dụng mã của dự án. Trong văn bản sau đây, tôi sẽ trộn cả hai.
Để trả lời các câu hỏi cụ thể của bạn:
Quy tắc giá trị miền cột
Mỗi cột có một kiểu dữ liệu liên quan. Mỗi cột phải được xác nhận theo các quy tắc kinh doanh để chứng minh rằng nó đại diện cho loại dữ liệu chính xác. Các vấn đề có thể phát sinh nếu loại dữ liệu cột không tương thích với các yêu cầu nghiệp vụ hoặc nếu mã sử dụng loại dữ liệu khác với cách xác định trong cơ sở dữ liệu.
Ví dụ:
Nếu cột được định nghĩa là int nhỏ, bạn sẽ không thể lưu trữ văn bản trong đó. Đây là một thử nghiệm quan trọng đặc biệt khi các cột là tùy chọn, vì nó có thể không được chú ý cho đến khi ai đó thực sự nhập một số dữ liệu trong đó.
Bạn có thể lưu trữ một giá trị âm trong một cột nơi doanh nghiệp yêu cầu điều đó xảy ra không?
Quy tắc giá trị mặc định của cột
Một số cột được liên kết với một đặc tả giá trị mặc định trong DDL (Ngôn ngữ xác định dữ liệu) trong đó nếu trong quá trình chèn, phần chèn không cung cấp giá trị, cơ sở dữ liệu sẽ giả sử giá trị mặc định. Điều này có thể được kiểm tra bằng cách không chuyển giá trị và quan sát giá trị kết quả mà cơ sở dữ liệu lưu trữ. Thử nghiệm này cũng có thể bao gồm kiểm tra các cột Nullable. Điều này hiếm khi yêu cầu kiểm tra vì nó có thể được xác minh từ DDL trừ khi một chỉ mục duy nhất được xây dựng trên cột.
Quy tắc tồn tại giá trị
Theo tôi hiểu điều này, bạn xác minh rằng dữ liệu được chèn hoặc cập nhật hiển thị như mong đợi trong cơ sở dữ liệu.
Quy tắc giá trị hàng
Tôi không rõ chính xác điều này có nghĩa là gì.
Quy tắc kích thước
Mỗi cột có kích thước trong cơ sở dữ liệu dựa trên cách xác định trong DDL. bạn muốn đảm bảo rằng bất kỳ giá trị nào phù hợp với yêu cầu (GUI dạng đã nhập hoặc dẫn đến đầu ra của một tính toán) sẽ được lưu trữ chính xác trong cột. Ví dụ, loại dữ liệu Số nguyên nhỏ không cho phép bạn lưu trữ giá trị 5 tỷ. Ngoài ra, tên được xác định là VARCHAR2 (30) sẽ không chứa 40 ký tự, vì vậy các quy tắc kinh doanh phải rất rõ ràng ở đây, đặc biệt khi cột được sử dụng để tổng hợp dữ liệu. Bạn muốn kiểm tra những gì xảy ra trong những tình huống như vậy.
hướng dẫn về cách / nơi bắt đầu
Một cách để làm điều này là đưa ra một kế hoạch thử nghiệm. Bạn muốn đảm bảo rằng bạn đang sử dụng phiên bản chính xác của thông số kỹ thuật (như tài liệu yêu cầu và Trường hợp sử dụng) và của phần mềm. Bạn cũng cần phối hợp các bài kiểm tra với các bài kiểm tra được thực hiện bởi Kiểm thử đơn vị (nếu có). Bạn có thể tìm thấy các bài kiểm tra trùng lặp mà bạn không cần phải thực hiện lại. Bạn muốn lấy một bản sao của cơ sở dữ liệu trước khi thử nghiệm để bạn có thể lặp lại một thử nghiệm cụ thể nếu bạn cần. DBA có thể giúp bạn với điều này. Bạn cũng cần kiểm tra với nhóm của mình cách họ ghi lại các bài kiểm tra và xác minh phạm vi kiểm tra với họ. Bạn có thể chia cơ sở dữ liệu của mình thành các phần logic và bắt đầu kiểm tra từng phần logic riêng biệt. Quá trình thử nghiệm có thể bắt đầu bằng cách nghiên cứu DDL của cơ sở dữ liệu và xác minh rằng các cột được xác định chính xác theo yêu cầu của doanh nghiệp. Bạn nên sử dụng phần mềm của ứng dụng chứ không phải bất kỳ công cụ nào khác để thực hiện phần lớn các bài kiểm tra. Ví dụ câu hỏi như sau:
Là cột được cho là thuộc loại đã xác định (không có điểm nào trong việc đặt tên là Int).
Là kích thước tương thích với các yêu cầu kinh doanh?
Có phải tất cả các cột trong yêu cầu kinh doanh được tìm thấy trong cơ sở dữ liệu?
Các cột null thực sự là tùy chọn?
Vân vân.
Tiếp theo, bạn có thể thiết kế các trường hợp thử nghiệm để kiểm tra ở trên. Bạn có thể sử dụng GUI để thực hiện hầu hết các bài kiểm tra.
Có những bài kiểm tra cơ sở dữ liệu quan trọng khác mà bạn chưa đề cập. Những người đối phó với:
1 - Kiểm tra các khóa chính thực sự độc đáo từ góc độ kinh doanh.
2 - Kiểm tra các chỉ mục duy nhất (trừ PK) thực sự độc đáo theo quan điểm kinh doanh.
3 - Kiểm tra các ràng buộc khóa ngoài.
4 - Kiểm tra những gì xảy ra khi một hàng bị xóa và ảnh hưởng của nó đến các hàng liên quan.
5 - Các thử nghiệm khác liên quan đến các cấu trúc cơ sở dữ liệu đặc biệt như CHEKC, Triggers nếu chúng tồn tại.
6 - Chuẩn hóa bảng đúng và các cột được chuẩn hóa giữ các giá trị đúng.
Trên đây không phải là một danh sách đầy đủ nhưng nó sẽ giúp bạn bắt đầu.