× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Cách kiểm tra đơn vị cơ sở dữ liệu của bạn

23/06/2022 13:03

Tìm hiểu các thông tin cơ bản về kiểm thử đơn vị và Cách kiểm tra đơn vị cơ sở dữ liệu ngay trong bài viết dưới đây!

Kiến thức cơ bản về kiểm thử đơn vị

Bài kiểm tra đơn vị là một bài kiểm tra tự động, thường được viết bởi một nhà phát triển phần mềm, cô lập một thành phần chi tiết của mã và kiểm tra nó một cách độc lập.

Hãy xem xét một ví dụ đơn giản. Giả sử rằng chúng ta viết một phương thức, Add (int x, int y), thêm hai số nguyên.

Một bài kiểm tra đơn vị của phương pháp này có nghĩa là gọi Thêm (2, 2) và sau đó xác minh rằng kết quả là 4. Sau đó, chúng tôi có thể viết một bài kiểm tra đơn vị khác của Thêm (2, -2) và xác minh rằng kết quả bằng 0.

Thuộc tính của các bài kiểm tra đơn vị

  • Các bài kiểm tra đơn vị được tự động hóa Khung kiểm tra đơn vị thực hiện xác minh và trả về kết quả đạt / không đạt.
  • Các bài kiểm tra đơn vị là chi tiết . Hàm Add () đó chỉ là một bánh răng nhỏ trong ứng dụng tổng thể, nhưng chúng tôi kiểm tra nó riêng lẻ.
  • Các bài kiểm tra đơn vị cô lập mục tiêu của chúng. Chúng tôi không cần thiết lập một loạt các cài đặt ứng dụng, tệp hoặc biến toàn cục để kiểm tra Add ().
  • Các bài kiểm tra đơn vị là xác định . Add (2, 2) trả về 4 mỗi khi nó chạy, có thể dự đoán và lặp lại.
  • Các bài kiểm tra đơn vị là độc lập . Chúng không phụ thuộc vào việc thực hiện trước bất kỳ bài kiểm tra đơn vị nào khác hoặc có bất kỳ khái niệm nào về thứ tự tuần tự.

Các bài kiểm tra đơn vị cần tuân theo một số nguyên tắc nhất định và cần có thể bảo trì. Dưới đây là năm yếu tố của các bài kiểm tra đơn vị tốt, có thể bảo trì.

Tại sao phải kiểm tra đơn vị cơ sở dữ liệu của bạn

Cơ sở dữ liệu của bạn là một phần quan trọng trong ứng dụng tổng thể của bạn. Nó không phải là một điểm mù thử nghiệm. 

Nếu mã ứng dụng mở một tệp hoặc kết nối với cơ sở dữ liệu, điều đó vi phạm các nguyên tắc về tính chi tiết, tính cô lập và tính xác định. Vì vậy, bạn chế nhạo những thứ đó và loại bỏ chúng khỏi bộ thử nghiệm đơn vị của bạn.

Vậy bạn kiểm tra chúng bằng cách nào? Vâng, đó là những gì thử nghiệm tích hợp là để làm. Bạn đặc biệt chú ý đến mọi ngóc ngách trong mã ứng dụng của mình, và sau đó bạn xử lý tất cả các mối quan tâm về thử nghiệm liên quan đến cơ sở dữ liệu dưới tiêu đề chung là thử nghiệm tích hợp.

Nhưng cơ sở dữ liệu của bạn không được tính? Chúng không phải là một phần của sản phẩm kỹ thuật của bạn? Họ cũng không xứng đáng được thử nghiệm đơn vị sao?

Mặc dù kiểm thử đơn vị một cơ sở dữ liệu có thể không phổ biến hoặc quen thuộc như mã ứng dụng kiểm thử đơn vị, nhưng nó hoàn toàn có thể đạt được! Hãy xem làm thế nào.

Cách kiểm tra đơn vị cơ sở dữ liệu của bạn

Bạn đang kiểm soát nguồn của các tập lệnh tạo cho các bảng, dạng xem, trình kích hoạt, mầm khác nhau, v.v., trong cơ sở dữ liệu của bạn. Về mặt khái niệm, điều này cung cấp cho bạn khả năng lấy một cá thể cơ sở dữ liệu trống và tạo một tập hợp con tối thiểu của các yếu tố này một cách riêng biệt. Từ đó, bạn có thể kiểm tra tất cả các loại hành vi gia tăng.

  • Viết một tập lệnh sẽ xóa sạch cơ sở dữ liệu trước khi bạn bắt đầu các bài kiểm tra đơn vị, sau đó đưa vào cơ sở dữ liệu một tập hợp dữ liệu được xác định trước và chạy các bài kiểm tra. Bạn cũng có thể làm điều đó trước mỗi bài kiểm tra; nó sẽ chậm nhưng ít bị lỗi hơn.
  • Đảm bảo rằng cơ sở dữ liệu ở trạng thái đã biết trước mỗi lần chạy thử nghiệm và xác minh trạng thái sau khi chạy bằng logic xác nhận.
  • Bạn cũng có thể tìm kiếm các vấn đề như thiếu tham chiếu có thể xảy ra do vô tình xóa hoặc đổi tên đối tượng, chẳng hạn như các cột vẫn đang được tham chiếu bởi một mô-đun chẳng hạn như dạng xem. 
  • Cuối cùng, hãy đảm bảo rằng cơ sở dữ liệu được khôi phục về trạng thái ban đầu sau khi thực hiện kiểm tra.

 

Bây giờ, cơ sở dữ liệu vốn đã khác biệt so với mã ứng dụng theo một số cách. Bạn phải thực hiện một số bước, như tăng cường chú trọng vào việc đưa cơ sở dữ liệu vào các trạng thái đã biết và đảm bảo rằng mỗi nhà phát triển riêng lẻ đều có một bản sao của máy chủ cơ sở dữ liệu. Nhưng bước nhảy vọt không lớn như bạn nghĩ.

Các công cụ để sử dụng

Cũng giống như bạn sẽ không viết khung kiểm tra đơn vị ứng dụng của riêng mình bởi vì rất nhiều trong số này đã tồn tại, điều này cũng đúng với các khung kiểm tra đơn vị cơ sở dữ liệu, ngay cả khi chúng không được nhiều người biết đến.

Dưới đây là một số công cụ cần kiểm tra để bắt đầu nghiên cứu của bạn.

DbUnit
DbUnit đặt cơ sở dữ liệu của bạn vào các trạng thái đã biết giữa các lần kiểm tra. DbUnit là một phần mở rộng JUnit hữu ích cho các dự án hướng cơ sở dữ liệu. Bạn có thể nhập và xuất dữ liệu cơ sở dữ liệu của mình cũng như xác minh xem dữ liệu của bạn có khớp với một tập hợp được chỉ định hay không.
Máy chủ SQL
SQL Server hỗ trợ kiểm tra đơn vị cơ sở dữ liệu như một phần của bộ tính năng của nó. Bạn có thể tạo một dự án thử nghiệm và thêm một bài kiểm tra đơn vị SQL Server trực tiếp mà sau đó bạn có thể làm việc trên đó.

Kiểm tra SQL

SQL Test là một công cụ khác, nơi các bài kiểm tra đơn vị cơ sở dữ liệu chạy trong các giao dịch. Sau đó, nó sẽ khôi phục mọi thay đổi, vì vậy bạn sẽ không cần bất kỳ mã dọn dẹp nào. Nó sử dụng khuôn khổ tSQLt mã nguồn mở. 
DbFit
Với DbFit, bạn có thể thực hiện phát triển cơ sở dữ liệu theo hướng thử nghiệm. Bạn có thể viết các bài kiểm tra đơn vị có thể đọc được và quản lý được cho mã cơ sở dữ liệu của mình.
Điều khiển thử nghiệm DB
DBTD là một công cụ để phát triển theo hướng kiểm tra cơ sở dữ liệu, cùng với việc giúp bạn tạo các bài kiểm tra đơn vị cơ sở dữ liệu dễ quản lý, cũng cung cấp cho bạn phạm vi mã. Nó cũng tích hợp với các máy chủ xây dựng để có khả năng tích hợp liên tục.

Thuộc tính của một bài kiểm tra đơn vị cơ sở dữ liệu

Bạn cũng có thể đạt được tất cả các điều kiện tiên quyết của các bài kiểm tra đơn vị có trong mã ứng dụng trong cơ sở dữ liệu của bạn.

  • Các bài kiểm tra đơn vị được tự động hóa . Bạn có thể tập lệnh cho một tập hợp các hoạt động cơ sở dữ liệu dễ dàng như bạn có thể áp dụng thực thi mã.
  • Các bài kiểm tra đơn vị là chi tiết . Bạn có thể kiểm tra hành vi của từng trình kích hoạt, chế độ xem, mầm, v.v.
  • Các bài kiểm tra đơn vị cô lập mục tiêu của chúng. Bạn chỉ có thể xử lý phần cơ sở dữ liệu mà bạn cần mà không cần tạo lại tất cả các thành phần và điền tất cả dữ liệu.
  • Các bài kiểm tra đơn vị là xác định . Nếu bạn thiết lập lược đồ và dữ liệu như một phần của thử nghiệm, bạn sẽ có kết quả xác định.
  • Các bài kiểm tra đơn vị là độc lập . Khi bạn quản lý bất kỳ thiết lập và chia nhỏ cần thiết nào như một phần của thử nghiệm, các thử nghiệm không cần phải có bất kỳ mối quan hệ nào.

>>> Tìm hiểu thêm các khóa học lập trình tại T3H