Kiểm tra cơ sở dữ liệu - Các loại
Dựa trên chức năng và cấu trúc của cơ sở dữ liệu, thử nghiệm DB có thể được phân loại thành ba loại:
Structural Database Testing - Nó liên quan đến kiểm tra bảng và cột, kiểm tra lược đồ, kiểm tra các thủ tục và chế độ xem được lưu trữ, kiểm tra trình kích hoạt, v.v.
Functional Testing- Nó liên quan đến việc kiểm tra chức năng của cơ sở dữ liệu theo quan điểm của người dùng. Loại kiểm thử chức năng phổ biến nhất là kiểm thử hộp trắng và hộp đen.
Nonfunctional Testing - Nó liên quan đến thử nghiệm tải, thử nghiệm rủi ro trong cơ sở dữ liệu, thử nghiệm căng thẳng, các yêu cầu hệ thống tối thiểu và xử lý hiệu suất của cơ sở dữ liệu.
Kiểm tra cơ sở dữ liệu cấu trúc
Kiểm tra cơ sở dữ liệu có cấu trúc liên quan đến việc xác minh những thành phần của cơ sở dữ liệu, những thành phần này không được hiển thị cho người dùng cuối. Nó liên quan đến tất cả các thành phần của kho lưu trữ, được sử dụng để lưu trữ dữ liệu và không bị thay đổi bởi người dùng cuối. Các quản trị viên cơ sở dữ liệu thông thạo các thủ tục lưu trữ SQL và các khái niệm khác thường thực hiện kiểm tra này.
Đã thảo luận là các thành phần phổ biến được kiểm tra liên quan đến Kiểm tra kết cấu -
Kiểm tra giản đồ / ánh xạ
Nó liên quan đến việc xác nhận các đối tượng của ứng dụng front-end với ánh xạ đối tượng cơ sở dữ liệu.
Trong thử nghiệm giản đồ -
Đôi khi nó xảy ra rằng các đối tượng ứng dụng người dùng cuối không được ánh xạ chính xác hoặc tương thích với các đối tượng cơ sở dữ liệu. Do đó, cần phải kiểm tra xác nhận các định dạng lược đồ khác nhau được liên kết với cơ sở dữ liệu.
Yêu cầu tìm các đối tượng chưa được ánh xạ trong cơ sở dữ liệu, như bảng, dạng xem, cột, v.v. là bắt buộc.
Có nhiều công cụ khác nhau trên thị trường có thể được sử dụng để thực hiện ánh xạ đối tượng trong lược đồ.
Example - Trong Microsoft SQL Server, người kiểm tra có thể viết các truy vấn đơn giản để kiểm tra và xác nhận các lược đồ trong cơ sở dữ liệu.
Nếu người kiểm tra muốn thay đổi cấu trúc bảng, họ phải đảm bảo rằng tất cả stored các thủ tục có bảng đó tương thích với thay đổi này.
Quy trình được lưu trữ và Kiểm tra chế độ xem
Trong thử nghiệm này, người thử nghiệm đảm bảo rằng việc thực hiện thủ công các thủ tục và chế độ xem được lưu trữ sẽ tạo ra kết quả cần thiết.
Người thử nghiệm đảm bảo -
Nếu nó cho phép các trình kích hoạt được yêu cầu được thực thi như mong đợi.
Nếu nhóm phát triển đã bao gồm tất cả các vòng lặp và điều kiện bằng cách chuyển đầu vào cho các ứng dụng trong thủ tục.
Nếu có bất kỳ thủ tục được lưu trữ không sử dụng trong cơ sở dữ liệu.
Các hoạt động TRIM được áp dụng đúng cách khi dữ liệu được tìm nạp từ các bảng được yêu cầu trong cơ sở dữ liệu.
Xác nhận sự tích hợp tổng thể của các mô-đun thủ tục được lưu trữ theo yêu cầu của ứng dụng đang được thử nghiệm.
Các cơ chế xử lý lỗi và ngoại lệ được tuân theo.
Các công cụ phổ biến nhất được sử dụng để thực hiện kiểm tra các thủ tục được lưu trữ là LINQ, SP Test tool, Vân vân.
Kiểm tra kích hoạt
Trong thử nghiệm kích hoạt, người thử nghiệm cần đảm bảo những điều sau:
Liệu các quy ước mã hóa có được tuân thủ trong giai đoạn mã hóa của trình kích hoạt hay không.
Xem các trình kích hoạt được thực thi đáp ứng các điều kiện bắt buộc.
Trình kích hoạt có cập nhật dữ liệu một cách chính xác hay không khi chúng đã được thực thi.
Xác thực tính năng Cập nhật / Chèn / Xóa trình kích hoạt ứng dụng wrt đang thử nghiệm.
Kiểm tra bảng và cột
Các lĩnh vực chính được đề cập trong thử nghiệm này là:
Xác thực các kiểu dữ liệu trong cơ sở dữ liệu thành các giá trị trường trong ứng dụng front-end.
Xác thực độ dài của trường dữ liệu trong cơ sở dữ liệu với độ dài của kiểu dữ liệu trong ứng dụng.
Kiểm tra xem có bất kỳ bảng hoặc cột nào chưa được ánh xạ trong cơ sở dữ liệu từ các đối tượng trường ứng dụng hay không.
Quy ước đặt tên của các bảng và cột cơ sở dữ liệu được xác minh, nếu chúng phù hợp với yêu cầu nghiệp vụ hay không.
Xác thực Khoá và Chỉ mục trong cơ sở dữ liệu, tức là khoá chính và khoá ngoại trong bảng được xác định theo yêu cầu.
Kiểm tra xem khóa chính và khóa ngoại tương ứng của chúng có giống nhau trong hai bảng hay không.
Kiểm tra Các đặc điểm duy nhất và KHÔNG ĐẦY ĐỦ của các khóa được duy trì.
Độ dài và kiểu dữ liệu của khóa và chỉ mục được duy trì theo yêu cầu.
Kiểm tra máy chủ cơ sở dữ liệu
Kiểm tra Máy chủ Cơ sở dữ liệu bao gồm việc xác minh -
Nếu máy chủ cơ sở dữ liệu có thể xử lý số lượng giao dịch dự kiến theo yêu cầu nghiệp vụ.
Nếu chi tiết cấu hình của máy chủ cơ sở dữ liệu đáp ứng yêu cầu nghiệp vụ.
Nếu ủy quyền người dùng được duy trì theo yêu cầu.
Thử nghiệm chức năng
Kiểm tra chức năng được thực hiện lưu ý đến quan điểm của người dùng cuối; liệu các giao dịch và hoạt động bắt buộc do người dùng cuối điều hành có đáp ứng các đặc điểm kinh doanh hay không.
Kiểm tra hộp đen
Kiểm tra Hộp đen bao gồm việc xác minh sự tích hợp của cơ sở dữ liệu để kiểm tra chức năng. Các trường hợp kiểm tra rất đơn giản và được sử dụng để xác minh dữ liệu đến và dữ liệu đi từ hàm.
Các kỹ thuật khác nhau như kỹ thuật vẽ đồ thị nguyên nhân-kết quả, phân vùng tương đương và phân tích giá trị ranh giới được sử dụng để kiểm tra chức năng của cơ sở dữ liệu.
Nó là advantages như sau -
- Nó khá đơn giản và được thực hiện trong giai đoạn đầu của quá trình phát triển.
- Chi phí phát triển các trường hợp thử nghiệm thấp hơn so với thử nghiệm hộp trắng.
Nhược điểm của nó như sau:
- Một vài lỗi không thể được phát hiện
- Không biết chương trình cần phải kiểm tra bao nhiêu.
Kiểm tra hộp trắng
White Box Testing đề cập đến cấu trúc bên trong của cơ sở dữ liệu và chi tiết thông số kỹ thuật bị ẩn khỏi người dùng. Nó liên quan đến việc kiểm tra các trình kích hoạt cơ sở dữ liệu và các khung nhìn logic, sẽ hỗ trợ việc tái cấu trúc cơ sở dữ liệu.
Nó thực hiện kiểm tra mô-đun các chức năng cơ sở dữ liệu, trình kích hoạt, khung nhìn, truy vấn SQL, v.v. Loại kiểm tra này xác nhận các bảng cơ sở dữ liệu, mô hình dữ liệu, lược đồ cơ sở dữ liệu, v.v. Nó kiểm tra các quy tắc về tính toàn vẹn tham chiếu. Nó chọn các giá trị bảng mặc định để kiểm tra tính nhất quán của cơ sở dữ liệu.
Các kỹ thuật phổ biến nhất được sử dụng để thực hiện kiểm tra hộp trắng là phạm vi điều kiện, phạm vi quyết định, phạm vi tuyên bố, v.v.
Lỗi mã hóa có thể được phát hiện trong thử nghiệm hộp trắng, do đó có thể loại bỏ các lỗi nội bộ trong cơ sở dữ liệu. Hạn chế của kiểm thử hộp trắng là các câu lệnh SQL không được đề cập.
Kiểm tra không chức năng
Kiểm thử phi chức năng bao gồm việc thực hiện kiểm tra tải, kiểm tra căng thẳng, kiểm tra các yêu cầu hệ thống tối thiểu để đáp ứng đặc điểm kinh doanh, tìm kiếm rủi ro và tối ưu hóa hiệu suất của cơ sở dữ liệu.
Kiểm tra tải
Mục tiêu chính của thử nghiệm tải là kiểm tra xem hầu hết các giao dịch đang chạy có tác động đến hiệu suất trên cơ sở dữ liệu hay không.
Trong thử nghiệm tải, người thử nghiệm kiểm tra -
- Thời gian phản hồi để thực hiện các giao dịch cho nhiều người dùng từ xa.
- Cơ sở dữ liệu mất thời gian để tìm nạp các bản ghi cụ thể.
Examples of load testing in different testing types -
- Chạy nhiều lần giao dịch được sử dụng nhiều nhất để xem hiệu suất của hệ thống cơ sở dữ liệu.
- Tải xuống hàng loạt tệp lớn từ internet.
- Chạy đồng thời nhiều ứng dụng trên máy tính hoặc máy chủ.
Bài kiểm tra về áp lực
Kiểm tra căng thẳng được thực hiện để xác định điểm ngắt của hệ thống. Trong thử nghiệm này, ứng dụng được tải theo cách mà hệ thống không thành công tại một thời điểm. Điểm này được gọi làbreakpoint của hệ thống cơ sở dữ liệu.
Xác định trạng thái của các giao dịch cơ sở dữ liệu liên quan đến một lượng nỗ lực đáng kể. Cần lập kế hoạch phù hợp để tránh mọi vấn đề về thời gian và chi phí.
Các công cụ kiểm tra căng thẳng được sử dụng phổ biến nhất là LoadRunner và WinRunner.
Hãy để chúng tôi lấy một examplecủa Kiểm tra căng thẳng. Một ứng dụng CRM có thể có lượng người dùng tối đa là 50000 người dùng đồng thời. Giả sử bạn tăng tải lên 51000 và thực hiện một số giao dịch như cập nhật bản ghi hoặc thêm mục nhập. Ngay sau khi bạn thực hiện giao dịch, ứng dụng có thể đồng bộ với hệ thống cơ sở dữ liệu. Vì vậy, kiểm tra tiếp theo là thực hiện với tải người dùng là 52000. Đôi khi, Kiểm tra căng thẳng còn được gọi làFatigue Testing.