Kiểm tra cơ sở dữ liệu - Hướng dẫn nhanh
Kiểm tra cơ sở dữ liệu bao gồm thực hiện kiểm tra tính hợp lệ của dữ liệu, kiểm tra tính toàn vẹn của dữ liệu, kiểm tra hiệu suất liên quan đến cơ sở dữ liệu và kiểm tra các thủ tục, trình kích hoạt và chức năng trong cơ sở dữ liệu.
Thí dụ
Hãy xem xét một ứng dụng nắm bắt chi tiết giao dịch hàng ngày cho người dùng và lưu trữ chi tiết trong cơ sở dữ liệu. Từ quan điểm kiểm tra cơ sở dữ liệu, các kiểm tra sau nên được thực hiện:
Thông tin giao dịch từ ứng dụng phải được lưu trữ trong cơ sở dữ liệu và nó phải cung cấp thông tin chính xác cho người dùng.
Thông tin sẽ không bị mất khi nó được tải vào cơ sở dữ liệu.
Chỉ các giao dịch đã hoàn thành mới được lưu trữ và tất cả các hoạt động chưa hoàn thành nên được ứng dụng hủy bỏ.
Quyền truy cập vào cơ sở dữ liệu nên được duy trì. Không được cung cấp quyền truy cập trái phép hoặc trái phép vào thông tin người dùng.
Tại sao bạn cần thực hiện kiểm tra cơ sở dữ liệu?
Có nhiều lý do tại sao kiểm tra cơ sở dữ liệu được thực hiện. Cần phải thực hiện kiểm tra tính toàn vẹn dữ liệu, xác thực và tính nhất quán dữ liệu trên cơ sở dữ liệu vì hệ thống phụ trợ có trách nhiệm lưu trữ dữ liệu và được truy cập cho nhiều mục đích.
Dưới đây là một số lý do phổ biến cho việc kiểm tra Cơ sở dữ liệu -
Để giảm bớt sự phức tạp của các lệnh gọi đến phần phụ trợ cơ sở dữ liệu, các nhà phát triển tăng cường sử dụng View và Stored Các thủ tục.
Những Stored thủ tục và Viewschứa các tác vụ quan trọng như chèn chi tiết khách hàng (tên, thông tin liên hệ, v.v.) và dữ liệu bán hàng. Các nhiệm vụ này cần được kiểm tra ở nhiều cấp độ.
Black-box testingđược thực hiện trên giao diện người dùng là quan trọng, nhưng gây khó khăn cho việc tách vấn đề. Thử nghiệm tại hệ thống phụ trợ làm tăng độ chắc chắn của dữ liệu. Đó là lý do tại sao kiểm tra cơ sở dữ liệu được thực hiện trên hệ thống back end.
Trong cơ sở dữ liệu, dữ liệu đến từ nhiều ứng dụng và có khả năng dữ liệu có hại hoặc không chính xác được lưu trữ trong cơ sở dữ liệu. Do đó, cần phải kiểm tra các thành phần cơ sở dữ liệu thường xuyên. Ngoài ra, tính toàn vẹn và nhất quán của dữ liệu cần được kiểm tra thường xuyên.
Kiểm tra cơ sở dữ liệu Vs Kiểm tra Front-End
Kiểm tra cơ sở dữ liệu khác với kiểm tra giao diện người dùng front-end. Bảng sau đây nêu bật những điểm khác biệt chính:
Kiểm tra cơ sở dữ liệu | Kiểm tra giao diện người dùng |
---|---|
Kiểm thử cơ sở dữ liệu được gọi là kiểm tra xác thực và toàn vẹn dữ liệu hoặc kiểm tra back-end. |
Thử nghiệm giao diện người dùng hoặc thử nghiệm giao diện người dùng còn được gọi là Thử nghiệm ứng dụng hoặc thử nghiệm GUI. |
Kiểm tra cơ sở dữ liệu liên quan đến việc kiểm tra các thành phần back-end, những thành phần này không hiển thị cho người dùng. Điều này bao gồm các thành phần cơ sở dữ liệu và các hệ thống DBMS như My SQL, Oracle. |
Kiểm tra giao diện người dùng liên quan đến việc kiểm tra các chức năng của ứng dụng và các thành phần của nó như biểu mẫu, đồ thị, menu, báo cáo, v.v. Các thành phần này được tạo bằng các công cụ phát triển front-end như VB.net, C #, Delphi, v.v. |
Kiểm tra cơ sở dữ liệu bao gồm việc kiểm tra các thủ tục, khung nhìn, lược đồ được lưu trữ trong cơ sở dữ liệu, bảng, chỉ mục, khóa, trình kích hoạt, xác thực dữ liệu và kiểm tra tính nhất quán của dữ liệu. |
Kiểm tra giao diện người dùng bao gồm việc kiểm tra chức năng của ứng dụng, các nút, biểu mẫu và trường, lịch và hình ảnh, điều hướng từ trang này sang trang khác và chức năng tổng thể của ứng dụng. |
Để thực hiện kiểm thử DB, người kiểm tra cần có kiến thức toàn diện về khái niệm cơ sở dữ liệu - như các thủ tục và chức năng, khung nhìn, chỉ mục, khóa và SQL thực hành tốt. |
Để thực hiện kiểm thử giao diện người dùng, người kiểm tra cần hiểu rõ về các yêu cầu nghiệp vụ, kiến thức chức năng ứng dụng, mã hóa, v.v. |
Dữ liệu đến từ nhiều nguồn dữ liệu không đồng nhất trên các ứng dụng web, ứng dụng Intranet và nhiều ứng dụng khác. |
Dữ liệu được nhập thủ công vào các ứng dụng. Nó liên quan đến việc kiểm tra chức năng của các ứng dụng front-end. |
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 từ 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 kiểm tra tải, kiểm tra rủi ro trong cơ sở dữ liệu, kiểm tra 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 được lưu trữ trong 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 thực 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 tính hợp lệ của các định dạng lược đồ khác nhau được liên kết với cơ sở dữ liệu.
Cần phải 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 quy trình.
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 các 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:
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 có 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 liên quan đến 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 phát triển ban đầu.
- 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 thử 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, vì vậy 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 kỹ thuật nghiệp vụ, 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, thử nghiệm tiếp theo là thực hiện với tải người dùng là 52000. Đôi khi, Thử nghiệm căng thẳng còn được gọi làFatigue Testing.
Quá trình thực hiện kiểm thử cơ sở dữ liệu tương tự như kiểm thử các ứng dụng khác. Thử nghiệm DB có thể được mô tả bằng các quy trình chính được đưa ra dưới đây.
- Thiết lập môi trường
- Chạy thử nghiệm
- Kiểm tra kết quả thử nghiệm
- Xác thực theo kết quả mong đợi
- Báo cáo kết quả cho các bên liên quan tương ứng
Các câu lệnh SQL khác nhau được sử dụng để phát triển các trường hợp Kiểm thử. Câu lệnh SQL phổ biến nhất, được sử dụng để thực hiện kiểm tra DB, làSelecttuyên bố. Ngoài ra, các câu lệnh DDL, DML, DCL khác nhau cũng có thể được sử dụng.
Example - Tạo, Chèn, Chọn, Cập nhật, v.v.
Các giai đoạn kiểm tra cơ sở dữ liệu
Kiểm thử DB không phải là một quá trình tẻ nhạt và bao gồm các giai đoạn khác nhau trong vòng đời kiểm tra cơ sở dữ liệu phù hợp với các quy trình kiểm tra.
Các giai đoạn quan trọng trong kiểm tra cơ sở dữ liệu là:
- Kiểm tra trạng thái ban đầu
- Chạy thử nghiệm
- Xác thực kết quả theo kết quả mong đợi
- Tạo kết quả
First stagetrong DB Testing là kiểm tra trạng thái ban đầu của cơ sở dữ liệu trước khi bắt đầu quá trình kiểm thử. Sau đó, hành vi cơ sở dữ liệu được kiểm tra cho các trường hợp kiểm thử đã xác định. Phù hợp với kết quả thu được, các trường hợp thử nghiệm được tùy chỉnh.
Để kiểm tra cơ sở dữ liệu thành công, quy trình công việc đưa ra dưới đây được thực hiện theo từng bài kiểm tra.
Cleaning up the database - Nếu có dữ liệu có thể kiểm tra trong cơ sở dữ liệu, nó nên được làm trống.
Set up Fixture - Điều này liên quan đến việc nhập dữ liệu vào cơ sở dữ liệu và kiểm tra trạng thái hiện tại của cơ sở dữ liệu.
Perform test, verify results and generate results- Kiểm tra được chạy và đầu ra được xác nhận. Nếu đầu ra theo kết quả mong đợi, bước tiếp theo là tạo kết quả theo yêu cầu. Nếu không, thử nghiệm được lặp lại để tìm lỗi trong cơ sở dữ liệu.
Chương này giải thích các kỹ thuật phổ biến nhất được sử dụng để thực hiện Kiểm thử Cơ sở dữ liệu.
Kiểm tra lược đồ cơ sở dữ liệu
Như đã đề cập trước đó, nó liên quan đến việc kiểm tra từng đối tượng trong Lược đồ.
Xác minh Cơ sở dữ liệu và thiết bị
- Xác minh tên của cơ sở dữ liệu
- Xác minh thiết bị dữ liệu, thiết bị ghi nhật ký và thiết bị kết xuất
- Xác minh xem có đủ không gian được phân bổ cho mỗi cơ sở dữ liệu không
- Xác minh cài đặt tùy chọn cơ sở dữ liệu
Bảng, cột, kiểm tra quy tắc loại cột
Xác minh các mục được cung cấp bên dưới để tìm ra sự khác biệt giữa cài đặt thực tế và cài đặt được áp dụng.
Tên của tất cả các bảng trong cơ sở dữ liệu
Tên cột cho mỗi bảng
Các loại cột cho mỗi bảng
NULL giá trị được kiểm tra hay không
Liệu mặc định có ràng buộc với các cột trong bảng chính xác hay không
Định nghĩa quy tắc để sửa tên bảng và đặc quyền truy cập
Khóa và Chỉ mục
Xác minh Khóa và các chỉ mục trong mỗi bảng -
Khóa chính cho mỗi bảng
Khóa ngoại cho mỗi bảng
Các kiểu dữ liệu giữa cột khóa ngoại và một cột trong bảng khác Chỉ mục, được phân nhóm hoặc không phân cụm là duy nhất hoặc không duy nhất
Kiểm tra thủ tục được lưu trữ
Nó liên quan đến việc kiểm tra xem một thủ tục được lưu trữ có được xác định hay không và kết quả đầu ra được so sánh. Trong bài kiểm tra Thủ tục được Lưu trữ, các điểm sau được kiểm tra:
Tên thủ tục được lưu trữ
Tên tham số, loại tham số, v.v.
Output- Đầu ra có chứa nhiều bản ghi hay không. Hàng không có hiệu lực hoặc chỉ một số bản ghi được trích xuất.
Chức năng của Thủ tục lưu trữ là gì và thủ tục được lưu trữ không được phép làm gì?
Chuyển các truy vấn đầu vào mẫu để kiểm tra xem một quy trình được lưu trữ có trích xuất dữ liệu chính xác hay không.
Stored Procedure Parameters- Gọi thủ tục được lưu trữ với dữ liệu ranh giới và với dữ liệu hợp lệ. Làm cho mỗi tham số không hợp lệ một lần và chạy một thủ tục.
Return values- Kiểm tra các giá trị được trả về bằng thủ tục lưu trữ. Trong trường hợp không thành công, phải trả lại nonzero.
Error messages check- Thực hiện các thay đổi sao cho thủ tục được lưu trữ không thành công và tạo ra mọi thông báo lỗi ít nhất một lần. Kiểm tra bất kỳ trường hợp ngoại lệ nào khi không có thông báo lỗi được xác định trước.
Kiểm tra kích hoạt
Trong kiểm tra Trigger, người kiểm tra phải thực hiện các tác vụ sau:
- Đảm bảo rằng tên trình kích hoạt là chính xác.
- Xác thực trình kích hoạt nếu nó được tạo cho một cột bảng cụ thể.
- Xác thực bản cập nhật của trình kích hoạt.
- Cập nhật bản ghi với dữ liệu hợp lệ.
- Cập nhật bản ghi có dữ liệu không hợp lệ và bao gồm mọi lỗi kích hoạt.
- Cập nhật bản ghi khi nó vẫn được tham chiếu bởi một hàng trong bảng khác.
- Đảm bảo quay trở lại các giao dịch khi xảy ra lỗi.
- Tìm hiểu bất kỳ trường hợp nào mà một trình kích hoạt không được phép quay trở lại các giao dịch.
Tập lệnh thiết lập máy chủ
Hai loại kiểm tra nên được thực hiện:
- Thiết lập cơ sở dữ liệu từ đầu và
- Để thiết lập một cơ sở dữ liệu hiện có.
Kiểm tra tích hợp của SQL Server
Kiểm tra tích hợp nên được thực hiện sau khi bạn đã kiểm tra thành phần.
Các thủ tục đã lưu trữ nên được gọi chuyên sâu để chọn, chèn, cập nhật và xóa các bản ghi trong các bảng khác nhau để tìm bất kỳ xung đột và không tương thích nào.
Mọi xung đột giữa lược đồ và trình kích hoạt.
Bất kỳ xung đột nào giữa các thủ tục được lưu trữ và lược đồ.
Bất kỳ xung đột nào giữa các thủ tục được lưu trữ và trình kích hoạt.
Phương pháp kiểm tra chức năng
Kiểm tra chức năng có thể được thực hiện bằng cách chia cơ sở dữ liệu thành các mô-đun theo chức năng. Các chức năng thuộc hai loại sau:
Type 1- Trong thử nghiệm Loại 1, tìm ra các tính năng của dự án. Đối với mỗi tính năng chính, hãy tìm ra lược đồ, trình kích hoạt và các thủ tục được lưu trữ chịu trách nhiệm triển khai chức năng đó và đưa chúng vào một nhóm chức năng. Sau đó kiểm tra từng nhóm với nhau.
Type 2- Trong thử nghiệm Loại 2, biên giới của các nhóm chức năng trong một mặt sau là không rõ ràng. Bạn có thể kiểm tra luồng dữ liệu và xem bạn có thể kiểm tra dữ liệu ở đâu. Bắt đầu từ front-end.
Quá trình sau đây diễn ra:
Khi một dịch vụ có yêu cầu hoặc lưu dữ liệu, một số thủ tục được lưu trữ sẽ được gọi.
Các thủ tục sẽ cập nhật một số bảng.
Các thủ tục được lưu trữ đó sẽ là nơi bắt đầu kiểm tra và các bảng đó sẽ là nơi kiểm tra kết quả kiểm tra.
Bài kiểm tra về áp lực
Kiểm tra căng thẳng liên quan đến việc nhận danh sách các chức năng cơ sở dữ liệu chính và các thủ tục được lưu trữ tương ứng. Làm theo các bước dưới đây để Kiểm tra căng thẳng -
Viết kịch bản kiểm tra để thử các chức năng đó và mọi chức năng phải được kiểm tra ít nhất một lần trong một chu kỳ đầy đủ.
Thực hiện lặp đi lặp lại các kịch bản thử nghiệm trong một khoảng thời gian cụ thể.
Xác minh các tệp nhật ký để kiểm tra mọi bế tắc, lỗi bộ nhớ, hỏng dữ liệu, v.v.
Kiểm tra điểm chuẩn
Nếu cơ sở dữ liệu của bạn không có bất kỳ sự cố hoặc lỗi dữ liệu nào, bạn có thể kiểm tra hiệu suất hệ thống. Hiệu suất hệ thống kém có thể được tìm thấy trong thử nghiệm điểm chuẩn bằng cách kiểm tra các thông số được cung cấp bên dưới:
- Hiệu suất cấp hệ thống
- Xác định các chức năng / tính năng có nhiều khả năng được sử dụng nhất
- Thời gian - thời gian tối đa, thời gian tối thiểu và thời gian trung bình để thực hiện các chức năng
- Khối lượng truy cập
Kiểm tra Cơ sở dữ liệu qua Front-end
Đôi khi cũng có thể tìm thấy lỗi back-end bằng cách thực hiện kiểm tra front-end. Bạn có thể làm theo các bước đơn giản dưới đây để phát hiện lỗi bằng cách thử nghiệm giao diện người dùng.
Viết các truy vấn từ giao diện người dùng và đưa ra các tìm kiếm.
Chọn bản ghi hiện có, thay đổi giá trị trong một số trường và lưu bản ghi. (Nó liên quan đến câu lệnh UPDATE hoặc cập nhật các thủ tục được lưu trữ và cập nhật các trình kích hoạt.)
Chèn một mục menu mới trong cửa sổ giao diện người dùng. Điền thông tin và lưu hồ sơ. (Nó liên quan đến các câu lệnh INSERT hoặc các thủ tục được lưu trữ chèn và trình kích hoạt xóa.)
Chọn một bản ghi hiện có, nhấp vào nút XÓA hoặc XÓA và xác nhận việc xóa. (Nó liên quan đến câu lệnh DELETE hoặc các thủ tục xóa được lưu trữ và trình kích hoạt xóa.)
Lặp lại các trường hợp thử nghiệm này với dữ liệu không hợp lệ và xem cách cơ sở dữ liệu phản hồi.
Trong chương này, chúng ta sẽ thấy một số kịch bản kiểm tra cơ sở dữ liệu phổ biến liên quan đến các phương pháp kiểm thử khác nhau.
Kiểm tra cơ sở dữ liệu có cấu trúc
Các kịch bản cơ sở dữ liệu phổ biến liên quan đến Kiểm tra cơ sở dữ liệu có cấu trúc được đưa ra dưới đây:
Xác minh tên cơ sở dữ liệu, xác minh thiết bị dữ liệu, thiết bị ghi nhật ký và thiết bị kết xuất, xác minh xem có đủ không gian được phân bổ cho mỗi cơ sở dữ liệu hay không và xác minh cài đặt tùy chọn cơ sở dữ liệu.
Tên của tất cả các bảng trong cơ sở dữ liệu, tên cột cho mỗi bảng, loại cột cho mỗi bảng, kiểm tra giá trị null hay không. Xác minh Khóa và các chỉ mục trong mỗi bảng: Khóa chính cho mỗi bảng, khóa ngoại cho mỗi bảng.
Các kiểu dữ liệu giữa cột khóa ngoại và cột trong bảng khác Chỉ mục, được phân nhóm hoặc không phân cụm là duy nhất hoặc không duy nhất.
Kiểm tra cơ sở dữ liệu chức năng
Các tình huống Kiểm tra Cơ sở dữ liệu Phổ biến liên quan đến Functional Database Testing là -
Tìm ra lược đồ, trình kích hoạt và thủ tục được lưu trữ chịu trách nhiệm triển khai chức năng đó và biến chúng thành một nhóm chức năng và sau đó mỗi nhóm có thể được kiểm tra cùng nhau.
Kiểm tra luồng dữ liệu và xem bạn có thể kiểm tra dữ liệu ở đâu. Bắt đầu từ front-end.
Kiểm tra cơ sở dữ liệu phi chức năng
Các tình huống Kiểm tra Cơ sở dữ liệu Phổ biến liên quan đến Non-Functional Database Testing là -
Viết kịch bản kiểm tra để thử các chức năng chính và mọi chức năng phải được kiểm tra ít nhất một lần trong một chu kỳ đầy đủ.
Thực hiện lặp đi lặp lại các kịch bản thử nghiệm trong một khoảng thời gian cụ thể.
Xác minh các tệp nhật ký để kiểm tra mọi bế tắc, lỗi hết bộ nhớ, hỏng dữ liệu, v.v.
Viết truy vấn từ giao diện người dùng và đưa ra các tìm kiếm. Chọn một bản ghi hiện có, thay đổi giá trị trong một số trường và lưu bản ghi. (Nó liên quan đến câu lệnh UPDATE hoặc cập nhật các thủ tục được lưu trữ, cập nhật các trình kích hoạt.)
Chèn một mục menu mới trong cửa sổ giao diện người dùng. Điền thông tin và lưu hồ sơ. (Nó liên quan đến các câu lệnh INSERT hoặc các thủ tục được lưu trữ chèn, trình kích hoạt xóa.)
Chọn một bản ghi hiện có, nhấp vào nút XÓA hoặc XÓA và xác nhận việc xóa. (Nó liên quan đến tuyên bố DELETE hoặc xóa các thủ tục được lưu trữ, trình kích hoạt xóa.)
Lặp lại các trường hợp thử nghiệm này với dữ liệu không hợp lệ và xem cách cơ sở dữ liệu phản hồi.
Schemas, tables, stored proceduresvà Triggerslà các đối tượng chính của cơ sở dữ liệu. Chúng tôi đã chia sẻ các kiểu thử nghiệm DB và các kịch bản thử nghiệm cho các đối tượng cơ sở dữ liệu này.
Lược đồ
Lược đồ cơ sở dữ liệu xác định cấu trúc của hệ thống cơ sở dữ liệu theo định dạng được hỗ trợ bởi hệ quản trị cơ sở dữ liệu. Lược đồ đề cập đến cách cấu trúc cơ sở dữ liệu (bao gồm các bảng cơ sở dữ liệu trong trường hợp Cơ sở dữ liệu quan hệ).
Lược đồ cơ sở dữ liệu là một tập hợp các công thức được gọi là các ràng buộc toàn vẹn được áp đặt trên cơ sở dữ liệu. Các ràng buộc toàn vẹn này đảm bảo tính tương thích giữa các phần của lược đồ.
Trong cơ sở dữ liệu quan hệ, lược đồ bao gồm các bảng, trường, dạng xem, chỉ mục, gói, thủ tục, hàm, trình kích hoạt, kiểu, dạng xem cụ thể hóa, từ đồng nghĩa, liên kết cơ sở dữ liệu và các phần tử khác.
Các lược đồ thường được lưu trữ trong từ điển dữ liệu. Mặc dù lược đồ được định nghĩa bằng ngôn ngữ cơ sở dữ liệu văn bản, thuật ngữ này thường được sử dụng để chỉ mô tả đồ họa của cấu trúc cơ sở dữ liệu. Nói cách khác, lược đồ là cấu trúc của cơ sở dữ liệu xác định các đối tượng trong cơ sở dữ liệu.
Loại lược đồ phổ biến được sử dụng trong kho dữ liệu là:
- Lược đồ sao
- Lược đồ bông tuyết
- Lược đồ Thiên hà
Bảng trong cơ sở dữ liệu
Trong cơ sở dữ liệu quan hệ, một bảng được sử dụng để tổ chức thông tin thành các hàng và cột.
Example - Bảng Khách hàng chứa thông tin như id khách hàng, địa chỉ, số điện thoại, v.v. dưới dạng một chuỗi cột.
Mỗi phần dữ liệu là một trường trong bảng. Một cột bao gồm tất cả các mục nhập trong một trường, chẳng hạn như số điện thoại của tất cả khách hàng. Các trường được tổ chức dưới dạng bản ghi, là tập hợp thông tin hoàn chỉnh (chẳng hạn như tập hợp thông tin về một khách hàng cụ thể), mỗi trường bao gồm một hàng.
Thủ tục lưu trữ
Thủ tục được lưu trữ là một loạt các câu lệnh SQL được lưu trữ trong cơ sở dữ liệu ở dạng đã biên dịch và nhiều chương trình có thể chia sẻ nó. Việc sử dụng các thủ tục được lưu trữ có thể hữu ích trong việc duy trì tính toàn vẹn của dữ liệu, truy cập kiểm soát dữ liệu và cải thiện năng suất.
Gây nên
Trình kích hoạt cơ sở dữ liệu là mã được thực thi để đáp ứng các sự kiện nhất định trên một bảng hoặc dạng xem cụ thể trong cơ sở dữ liệu. Trình kích hoạt chủ yếu được sử dụng để duy trì tính toàn vẹn của thông tin trên cơ sở dữ liệu.
Tính toàn vẹn của dữ liệu rất quan trọng trong cơ sở dữ liệu. Nó bao gồm xác thực dữ liệu trước khi chèn, cập nhật và xóa. Phải có trình kích hoạt để xác thực các bản ghi bảng tham chiếu.
Để kiểm tra tính toàn vẹn của dữ liệu, bạn cần thực hiện các thao tác sau:
Bạn cần kiểm tra các cột chính trong mỗi bảng và xác minh xem có dữ liệu không chính xác nào tồn tại hay không. (Các ký tự trong trường tên, tỷ lệ phần trăm âm, v.v.)
Tìm ra dữ liệu không nhất quán và chèn chúng vào các bảng có liên quan và xem có lỗi nào xảy ra không.
Chèn dữ liệu con trước khi chèn dữ liệu mẹ của nó. Cố gắng xóa bản ghi vẫn được tham chiếu bởi dữ liệu trong bảng khác.
Nếu dữ liệu trong bảng được cập nhật, hãy kiểm tra xem dữ liệu liên quan khác có được cập nhật hay không. Bạn cần đảm bảo rằng các máy chủ hoặc cơ sở dữ liệu được sao chép đồng bộ và chứa thông tin nhất quán.
Ánh xạ dữ liệu trong cơ sở dữ liệu là một trong những khái niệm quan trọng cần được mọi người thử nghiệm xác nhận. Thông thường người kiểm tra phải xác minh ánh xạ trường giao diện người dùng phía trước với trường cơ sở dữ liệu phía sau tương ứng.
Thông tin này được đưa ra trong tài liệu SRS / BRS đặc tả yêu cầu phần mềm hoặc đặc tả yêu cầu kinh doanh. Nếu ánh xạ không được cung cấp, thì bạn cần kiểm tra phần mã hóa.
Khi bạn thực hiện bất kỳ hành động nào trong ứng dụng giao diện người dùng, sẽ có một hành động CRUD tương ứng được gọi và người thử nghiệm phải kiểm tra mọi hành động được gọi có thành công hay không.
Các khía cạnh chính của ánh xạ dữ liệu
Dưới đây là các khía cạnh chính của Bản đồ dữ liệu -
Để kiểm tra các trường trong biểu mẫu UI / Front end và được ánh xạ nhất quán với bảng DB tương ứng. Thông tin ánh xạ này được xác định trong các tài liệu yêu cầu như đã đề cập ở trên.
Đối với bất kỳ hành động nào được thực hiện trong giao diện người dùng của ứng dụng, hành động CRUD 'Tạo, Truy xuất, Cập nhật và xóa' tương ứng sẽ được bắt đầu ở giao diện người dùng.
Người thử nghiệm sẽ phải kiểm tra xem hành động đúng được gọi ra và hành động được gọi trong bản thân nó có thành công hay không.
Các bước trong kiểm tra ánh xạ dữ liệu
Dưới đây là các bước tiếp theo để Kiểm tra ánh xạ dữ liệu -
Step 1 - Đầu tiên kiểm tra lỗi cú pháp trong mỗi tập lệnh.
Step 2 - Tiếp theo là kiểm tra ánh xạ bảng, ánh xạ cột, ánh xạ kiểu dữ liệu.
Step 3 - Xác minh ánh xạ dữ liệu tra cứu.
Step 4 - Chạy từng tập lệnh khi các bản ghi không tồn tại trong bảng đích.
Step 5 - Chạy từng tập lệnh khi các bản ghi đã tồn tại trong các bảng đích.
Một ứng dụng có nhiều thời gian phản hồi hơn và hiệu suất kém có thể dẫn đến các vấn đề lớn. Kiểm tra tải cơ sở dữ liệu được sử dụng để tìm bất kỳ vấn đề hiệu suất nào trước khi bạn triển khai các ứng dụng cơ sở dữ liệu của mình cho người dùng cuối.
Kiểm tra tải cơ sở dữ liệu giúp bạn thiết kế ứng dụng cơ sở dữ liệu cho hiệu suất, độ tin cậy và khả năng mở rộng. Kiểm tra tải của các ứng dụng Cơ sở dữ liệu liên quan đến việc kiểm tra hiệu suất và khả năng mở rộng của ứng dụng Cơ sở dữ liệu của bạn với tải người dùng khác nhau.
Kiểm thử tải cơ sở dữ liệu liên quan đến việc mô phỏng tải người dùng trong đời thực cho ứng dụng Cơ sở dữ liệu đích. Nó giúp bạn xác định ứng dụng Cơ sở dữ liệu của bạn hoạt động như thế nào khi nhiều người dùng truy cập nó đồng thời.
Kiểm tra tải
Mục tiêu chính của Load Testing 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, bạn cần kiểm tra các khía cạnh sau:
Nên 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.
Với các giao dịch thông thường, bạn nên bao gồm một giao dịch có thể chỉnh sửa để kiểm tra hiệu suất của cơ sở dữ liệu cho các giao dịch pf loại này.
Với các giao dịch thông thường, bạn nên bao gồm một giao dịch không chỉnh sửa để kiểm tra hiệu suất của cơ sở dữ liệu cho các loại giao dịch này.
Cơ sở dữ liệu mất thời gian để tìm nạp các bản ghi cụ thể nên được kiểm tra.
Bài kiểm tra về áp lực
Kiểm tra căng thẳng được thực hiện để xác định hệ thống breakpoint. Ở đâ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à điểm ngắt của hệ thống cơ sở dữ liệu. Kiểm tra căng thẳng còn được gọi làFatigue Testing.
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 có 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 phổ biến nhất là LoadRunner và WinRunner.
Có nhiều công cụ khác nhau được cung cấp bởi các nhà cung cấp có thể được sử dụng để tạo dữ liệu Kiểm tra, để quản lý dữ liệu Kiểm tra và thực hiện kiểm tra cơ sở dữ liệu như Kiểm tra tải và Kiểm tra hồi quy.
Dưới đây là một số công cụ phổ biến được sử dụng.
Sr.No | Danh mục & Mô tả | Ví dụ |
---|---|---|
1 | Load Testing Tools Các công cụ này được sử dụng để đặt tải lượng sử dụng cao vào cơ sở dữ liệu của bạn, cho phép xác định xem bối cảnh hệ thống của bạn có phù hợp với nhu cầu kinh doanh của bạn hay không. |
Hiệu suất web Rad View thủy ngân |
2 | Data Security Tools Các công cụ này được sử dụng để thực hiện tuân thủ và các tiêu chuẩn theo các quy định về bảo mật thông tin. |
Bảo mật dữ liệu IBM Optim |
3 | Test Data generator tools Người kiểm tra sử dụng các công cụ này để tạo dữ liệu kiểm tra cho hệ thống cơ sở dữ liệu. Những điều này hầu hết được yêu cầu khi bạn có lượng dữ liệu lớn và bạn cần mẫu để thực hiện Kiểm tra DB. Nó thường được sử dụng để kiểm tra Tải trọng và Ứng suất. |
Nhà máy dữ liệu Trình tạo dữ liệu DTM Dữ liệu Turbo |
4 | Test Data Management Tool Các công cụ này được sử dụng để duy trì kiểm soát phiên bản cho dữ liệu thử nghiệm. Bạn phải xác định kết quả mong đợi và sau đó bạn so sánh nó với kết quả thực tế của các bài kiểm tra. |
Quản lý dữ liệu thử nghiệm tối ưu của IBM |
5 | Tools to perform Unit Testing Các công cụ này được sử dụng để thực hiện kiểm tra hồi quy trên cơ sở dữ liệu của bạn. |
SQLUnit TSQLUnit DBFit DBUnit |
Phần quan trọng nhất của sự phát triển tổ chức là dữ liệu của nó. Trong trường hợp hệ thống bị lỗi, cần khôi phục dữ liệu. Sao lưu là bản sao chính xác của cơ sở dữ liệu, giúp bạn khôi phục dữ liệu của mình trong trường hợp mất dữ liệu.
Hãy xem xét một công ty tài chính có dữ liệu liên quan đến khách hàng của họ như số A / C, tên khách hàng, tín dụng và ghi nợ, thời hạn, v.v. Một tổ chức như vậy sẽ đối phó với áp lực mất thông tin quan trọng như vậy trong trường hợp dữ liệu bị lỗi như thế nào?
Đây là lý do bạn sao lưu dữ liệu để trong trường hợp hỏng đĩa, bộ điều khiển đĩa,… bạn có thể dựa vào bản sao lưu để khôi phục vào cơ sở dữ liệu.
Các loại sao lưu dữ liệu
Có hai loại sao lưu có thể được sử dụng -
Physical Backups - Sao lưu vật lý bao gồm sao lưu sử dụng các công cụ sao lưu của bên thứ ba như Veritas Net Back, IBM Tivoli Manager hoặc sao lưu trình quản lý người dùng bằng các tiện ích hệ điều hành.
Logical Backups - Sao lưu logic của cơ sở dữ liệu bao gồm sao lưu các đối tượng logic như bảng, chỉ mục, thủ tục, v.v.
Example - Một trong những công cụ phổ biến để sao lưu dữ liệu là Oracle Recovery Manager (RMAN) đó là một tiện ích của Oracle để sao lưu cơ sở dữ liệu.
RMAN bao gồm hai thành phần -
Target database mà bản sao lưu là cần thiết.
RMAN máy khách được sử dụng để chạy các lệnh để sao lưu dữ liệu.
BACKUP VALIDATEđược sử dụng để kiểm tra xem bạn có thể sao lưu hợp lệ các tệp cơ sở dữ liệu hay không. Nó đảm bảo -
- Nếu sao lưu được dành cho các đối tượng vật lý hoặc logic của cơ sở dữ liệu.
- Nếu sao lưu thường xuyên được thiết lập cho dữ liệu vô giá.
- Nếu công cụ sao lưu đáp ứng các yêu cầu sao lưu của một tổ chức.
Database recovery testingđược sử dụng để đảm bảo rằng cơ sở dữ liệu được phục hồi. Kiểm tra khôi phục cho phép bạn tìm xem ứng dụng có đang chạy đúng cách hay không và kiểm tra việc truy xuất dữ liệu vô giá có thể đã bị mất nếu phương pháp khôi phục của bạn không được thiết lập đúng cách.
Bạn cũng kiểm tra xem một số quy trình quan trọng có đang hoạt động trơn tru hay không để đảm bảo rằng quá trình khôi phục dữ liệu sẽ diễn ra suôn sẻ trong giai đoạn thử nghiệm.
Bạn có thể thực hiện các kiểm tra sau để khôi phục cơ sở dữ liệu:
Bất kỳ lỗi hoặc nhầm lẫn nào trong phần mềm sao lưu và bạn cần giải quyết những vấn đề này ở giai đoạn sớm hơn.
Bạn cần phải tiến hành kiểm tra phục hồi để biết phải làm gì trong trường hợp khẩn cấp.
Bạn cần kiểm tra nhu cầu kiểm tra khôi phục để có thể lập kế hoạch chiến lược khôi phục hiệu quả.
Bạn cũng nên biết cách bạn có thể khôi phục các tài liệu.
Bạn cần chạy các bài kiểm tra phục hồi trong giai đoạn đầu của dự án. Điều này cho phép bạn loại bỏ và loại bỏ mọi loại lỗi khỏi hệ thống. Dưới đây là danh sách một số điểm quan trọng cần được xem xét tại thời điểm thử nghiệm -
Khoảng thời gian khi các thay đổi hoặc sửa đổi xảy ra trong hệ thống cơ sở dữ liệu.
Khoảng thời gian bạn muốn kế hoạch khôi phục của mình được tiến hành.
Độ nhạy của dữ liệu trong hệ thống cơ sở dữ liệu. Dữ liệu càng quan trọng thì bạn càng cần phải kiểm tra phần mềm thường xuyên hơn.
Các bước phổ biến trong kiểm tra sao lưu và phục hồi cơ sở dữ liệu
Trong thử nghiệm khôi phục cơ sở dữ liệu, bạn cần chạy thử nghiệm trong môi trường thực tế để kiểm tra xem hệ thống hoặc dữ liệu có thực sự có thể được khôi phục trong trường hợp xảy ra bất kỳ thảm họa nào và bất kỳ sự kiện không lường trước nào khác trong môi trường kinh doanh hay không.
Dưới đây là các hành động phổ biến được thực hiện trong Kiểm tra khôi phục cơ sở dữ liệu -
- Thử nghiệm hệ thống cơ sở dữ liệu
- Kiểm tra các tệp SQL
- Kiểm tra từng phần tệp
- Kiểm tra sao lưu dữ liệu
- Thử nghiệm công cụ Sao lưu
- Kiểm tra sao lưu nhật ký
Kiểm tra bảo mật cơ sở dữ liệu được thực hiện để tìm ra các kẽ hở trong cơ chế bảo mật và cả việc tìm ra các lỗ hổng hoặc điểm yếu của hệ thống cơ sở dữ liệu.
Mục tiêu chính của kiểm tra bảo mật cơ sở dữ liệu là tìm ra các lỗ hổng trong hệ thống và xác định xem dữ liệu và tài nguyên của nó có được bảo vệ khỏi những kẻ xâm nhập tiềm năng hay không. Kiểm tra bảo mật xác định một cách để xác định các lỗ hổng tiềm ẩn một cách hiệu quả, khi được thực hiện thường xuyên.
Dưới đây là các mục tiêu chính của việc thực hiện kiểm tra bảo mật cơ sở dữ liệu -
- Authentication
- Authorization
- Confidentiality
- Availability
- Integrity
- Resilience
Các loại mối đe dọa trên hệ thống cơ sở dữ liệu
SQL Injection
Đây là kiểu tấn công phổ biến nhất trong hệ thống cơ sở dữ liệu nơi các câu lệnh SQL độc hại được chèn vào hệ thống cơ sở dữ liệu và được thực thi để lấy thông tin quan trọng từ hệ thống cơ sở dữ liệu. Cuộc tấn công này lợi dụng những sơ hở trong việc triển khai các ứng dụng của người dùng. Để tránh điều này, các trường đầu vào của người dùng phải được xử lý cẩn thận.
Nâng cao đặc quyền trong cơ sở dữ liệu
Trong cuộc tấn công này, người dùng đã có một số quyền truy cập trong hệ thống cơ sở dữ liệu và anh ta chỉ cố gắng nâng quyền truy cập này lên mức cao hơn để có thể thực hiện một số hoạt động trái phép trong hệ thống cơ sở dữ liệu.
Từ chối dịch vụ
Trong kiểu tấn công này, kẻ tấn công làm cho hệ thống cơ sở dữ liệu hoặc tài nguyên ứng dụng không khả dụng cho người dùng hợp pháp của nó. Các ứng dụng cũng có thể bị tấn công theo những cách hiển thị ứng dụng và đôi khi toàn bộ máy không sử dụng được.
Truy cập trái phép vào dữ liệu
Một kiểu tấn công khác là truy cập trái phép vào dữ liệu trong ứng dụng hoặc hệ thống cơ sở dữ liệu. Truy cập trái phép bao gồm -
- Truy cập trái phép vào dữ liệu thông qua các ứng dụng dựa trên người dùng
- Truy cập trái phép bằng cách giám sát quyền truy cập của người khác
- Truy cập trái phép vào thông tin xác thực máy khách có thể sử dụng lại
Giả mạo danh tính
Trong Giả mạo danh tính, tin tặc sử dụng thông tin đăng nhập của người dùng hoặc thiết bị để thực hiện các cuộc tấn công chống lại máy chủ mạng, đánh cắp dữ liệu hoặc vượt qua các kiểm soát truy cập vào hệ thống cơ sở dữ liệu. Việc ngăn chặn cuộc tấn công này đòi hỏi phải giảm thiểu cơ sở hạ tầng CNTT và cấp độ mạng.
Thao tác dữ liệu
Trong một cuộc tấn công thao túng dữ liệu, một tin tặc thay đổi dữ liệu để đạt được một số lợi thế hoặc làm hỏng hình ảnh của chủ sở hữu cơ sở dữ liệu.
Kỹ thuật kiểm tra bảo mật cơ sở dữ liệu
Kiểm tra thâm nhập
Kiểm tra thâm nhập là một cuộc tấn công vào một hệ thống máy tính với mục đích tìm ra các lỗ hổng bảo mật, có khả năng đạt được quyền truy cập vào nó, chức năng và dữ liệu của nó.
Tìm kiếm rủi ro
Tìm kiếm rủi ro là một quá trình đánh giá và quyết định rủi ro liên quan đến loại tổn thất và khả năng xảy ra tổn thất. Điều này được xác định trong tổ chức bằng nhiều cuộc phỏng vấn, thảo luận và phân tích.
Kiểm tra SQL Injection
Nó liên quan đến việc kiểm tra đầu vào của người dùng trong các trường ứng dụng. Ví dụ: nhập một ký tự đặc biệt như ',' hoặc ';' trong bất kỳ hộp văn bản nào trong ứng dụng người dùng không được phép. Khi lỗi cơ sở dữ liệu xảy ra, điều đó có nghĩa là đầu vào của người dùng được chèn vào một số truy vấn, sau đó được ứng dụng thực thi. Trong trường hợp như vậy, ứng dụng dễ bị chèn SQL.
Các cuộc tấn công này là một mối đe dọa lớn đối với dữ liệu vì những kẻ tấn công có thể truy cập vào thông tin quan trọng từ cơ sở dữ liệu máy chủ. Để kiểm tra các điểm nhập SQL vào ứng dụng web của bạn, hãy tìm mã từ cơ sở mã của bạn nơi các truy vấn MySQL trực tiếp được thực thi trên cơ sở dữ liệu bằng cách chấp nhận một số đầu vào của người dùng.
SQL Injection Testing có thể được thực hiện cho các dấu ngoặc vuông, dấu phẩy và dấu ngoặc kép.
Bẻ khóa mật khẩu
Đây là kiểm tra quan trọng nhất trong khi thực hiện kiểm tra hệ thống cơ sở dữ liệu. Để truy cập thông tin quan trọng, tin tặc có thể sử dụng công cụ bẻ khóa mật khẩu hoặc có thể đoán tên người dùng / mật khẩu phổ biến. Những mật khẩu phổ biến này có thể dễ dàng tìm thấy trên internet và các công cụ bẻ khóa mật khẩu cũng tồn tại tự do.
Vì vậy, cần phải kiểm tra tại thời điểm thử nghiệm xem chính sách mật khẩu có được duy trì trong hệ thống hay không. Đối với bất kỳ ứng dụng tài chính ngân hàng nào, cần phải thiết lập chính sách mật khẩu nghiêm ngặt trên tất cả các hệ thống cơ sở dữ liệu thông tin quan trọng.
Kiểm tra bảo mật hệ thống cơ sở dữ liệu
Đánh giá an ninh là một quá trình đánh giá các chính sách bảo mật của công ty trong một khoảng thời gian thường xuyên để xác định xem các tiêu chuẩn cần thiết có được tuân thủ hay không. Các tiêu chuẩn bảo mật khác nhau có thể được tuân theo theo yêu cầu kinh doanh để xác định chính sách bảo mật và sau đó có thể thực hiện đánh giá các chính sách đã thiết lập theo các tiêu chuẩn đó.
Ví dụ về các tiêu chuẩn bảo mật phổ biến nhất là ISO 27001, BS15999, v.v.
Công cụ kiểm tra bảo mật cơ sở dữ liệu
Có nhiều công cụ kiểm tra hệ thống khác nhau có sẵn trên thị trường, có thể được sử dụng để kiểm tra hệ điều hành và kiểm tra ứng dụng. Một số công cụ phổ biến nhất được thảo luận dưới đây.
Zed Attack Proxy
Nó là một công cụ kiểm tra thâm nhập để tìm ra các lỗ hổng trong các ứng dụng web. Nó được thiết kế để được sử dụng bởi những người có nhiều kinh nghiệm bảo mật và do đó, lý tưởng cho các nhà phát triển và người kiểm tra chức năng mới làm quen với kiểm thử thâm nhập. Nó thường được sử dụng cho Windows, Linux, Mac OS.
Paros
Tất cả dữ liệu HTTP và HTTPS giữa máy chủ và máy khách, bao gồm cookie và trường biểu mẫu, có thể bị chặn và sửa đổi bằng cách sử dụng các máy quét này. Nó được sử dụng cho Đa nền tảng, Java JRE / JDK 1.4.2 trở lên.
Bộ công cụ kỹ sư xã hội
Nó là một công cụ mã nguồn mở và yếu tố con người bị tấn công chứ không phải yếu tố hệ thống. Nó cho phép bạn gửi email, ứng dụng java, v.v. có chứa mã tấn công. Nó được ưu tiên cho Linux, Apple Mac OS X và Microsoft Windows.
Skipfish
Công cụ này được sử dụng để quét các trang web của họ để tìm các lỗ hổng. Các báo cáo do công cụ tạo ra nhằm mục đích làm nền tảng cho các đánh giá bảo mật ứng dụng web chuyên nghiệp. Nó được ưu tiên cho Linux, FreeBSD, MacOS X và Windows.
Sao Chức Nữ
Đây là một công cụ bảo mật web đa nền tảng, mã nguồn mở được sử dụng để tìm các trường hợp chèn SQL, tập lệnh trang web chéo (XSS) và các lỗ hổng khác trong các ứng dụng web. Nó được ưu tiên cho Java, Linux và Windows.
Wapiti
Wapiti là một công cụ mã nguồn mở và dựa trên web để quét các trang web của ứng dụng web và kiểm tra các tập lệnh và biểu mẫu mà nó có thể đưa dữ liệu vào. Nó được xây dựng với Python và có thể phát hiện lỗi xử lý tệp, cơ sở dữ liệu, XSS, LDAP và CRLF tiêm, phát hiện thực thi lệnh.
Web Scarab
Nó được viết bằng Java và được sử dụng để phân tích các ứng dụng giao tiếp thông qua các giao thức HTTP / HTTPS. Công cụ này chủ yếu được thiết kế cho các nhà phát triển có thể tự viết mã. Công cụ này không phụ thuộc vào hệ điều hành.
Để thực hiện kiểm thử cơ sở dữ liệu thành công, người kiểm thử phải thu thập các yêu cầu từ tất cả các nguồn, như các yêu cầu kỹ thuật và chức năng. Có khả năng một số yêu cầu ở mức cao, vì vậy cần phải chia nhỏ các yêu cầu đó thành các phần nhỏ. Kiểm tra cơ sở dữ liệu là một nhiệm vụ phức tạp và người kiểm tra phải đối mặt với nhiều thách thức trong khi thực hiện kiểm tra này. Các thách thức kiểm tra cơ sở dữ liệu phổ biến nhất là -
Phạm vi kiểm tra quá lớn
Người kiểm thử cần xác định các mục kiểm tra trong kiểm thử cơ sở dữ liệu nếu không anh ta có thể không hiểu rõ về những gì anh ta sẽ kiểm tra và những gì anh ta sẽ không kiểm tra. Do đó, nếu bạn rõ ràng về yêu cầu, bạn có thể lãng phí rất nhiều thời gian để kiểm tra các đối tượng không kiểm định trong cơ sở dữ liệu.
Khi bạn có danh sách các đối tượng để kiểm tra, tiếp theo là ước tính nỗ lực cần thiết để thiết kế các bài kiểm tra và thực hiện các bài kiểm tra cho từng hạng mục kiểm tra. Tùy thuộc vào thiết kế và kích thước dữ liệu của chúng, một số kiểm tra cơ sở dữ liệu có thể mất nhiều thời gian để thực thi.
Do kích thước cơ sở dữ liệu quá lớn, nên việc tìm ra những đối tượng cần được kiểm tra và những đối tượng bị loại bỏ sẽ trở thành một thách thức lớn.
Cơ sở dữ liệu thử nghiệm thu nhỏ
Thông thường người kiểm thử được cung cấp một bản sao của cơ sở dữ liệu phát triển để kiểm tra. Cơ sở dữ liệu đó chỉ có ít dữ liệu, đủ để chạy ứng dụng. Vì vậy cần phải kiểm tra hệ thống cơ sở dữ liệu phát triển, dàn dựng và cũng như sản xuất.
Những thay đổi trong cấu trúc cơ sở dữ liệu
Đây là một trong những thách thức phổ biến trong thử nghiệm DB. Đôi khi, nó xảy ra khi bạn thiết kế hoặc thực thi một bài kiểm tra và cấu trúc cơ sở dữ liệu đã bị thay đổi tại thời điểm đó. Điều này là cần thiết mà bạn nên biết về những thay đổi được thực hiện đối với cơ sở dữ liệu trong quá trình thử nghiệm.
Khi cấu trúc cơ sở dữ liệu thay đổi, bạn nên phân tích tác động của các thay đổi và sửa đổi các bài kiểm tra. Ngoài ra, nếu nhiều người dùng sử dụng cơ sở dữ liệu thử nghiệm, bạn sẽ không chắc chắn về kết quả thử nghiệm, vì vậy bạn nên đảm bảo rằng cơ sở dữ liệu thử nghiệm chỉ được sử dụng cho mục đích thử nghiệm.
Một thách thức khác trong thử nghiệm DB là bạn chạy nhiều thử nghiệm cùng một lúc. Bạn nên chạy ít nhất một bài kiểm tra tại một thời điểm cho các bài kiểm tra hiệu suất. Bạn không muốn cơ sở dữ liệu của mình thực hiện nhiều tác vụ và báo cáo hiệu suất thấp hơn.
Kế hoạch kiểm tra phức tạp
Cấu trúc cơ sở dữ liệu thường phức tạp và nó có dữ liệu rất lớn, vì vậy có khả năng bạn đang thực hiện các bài kiểm tra không hoàn chỉnh hoặc giống nhau lặp đi lặp lại. Vì vậy, cần phải tạo ra một kế hoạch kiểm tra và tiến hành phù hợp và kiểm tra tiến độ thường xuyên.
Hiểu biết tốt về SQL
Để kiểm tra cơ sở dữ liệu, bạn phải có kiến thức tốt về truy vấn SQL và các công cụ quản lý cơ sở dữ liệu cần thiết.
Kiểm tra cơ sở dữ liệu bao gồm thực hiện kiểm tra tính hợp lệ của dữ liệu, kiểm tra tính toàn vẹn của dữ liệu, kiểm tra hiệu suất liên quan đến cơ sở dữ liệu và kiểm tra các thủ tục, trình kích hoạt và chức năng trong cơ sở dữ liệu.
Có nhiều lý do tại sao kiểm tra cơ sở dữ liệu được thực hiện. Cần phải thực hiện kiểm tra tính toàn vẹn dữ liệu, xác thực và tính nhất quán dữ liệu trên cơ sở dữ liệu vì hệ thống phụ trợ có trách nhiệm lưu trữ dữ liệu và được truy cập cho nhiều mục đích.
Một số lý do phổ biến khiến người ta cần phải thực hiện kiểm thử Cơ sở dữ liệu như sau:
Để giảm bớt sự phức tạp của các lệnh gọi đến phần phụ trợ cơ sở dữ liệu, các nhà phát triển tăng cường sử dụng View và Stored Các thủ tục.
Những Stored thủ tục và Viewschứa các tác vụ quan trọng như chèn chi tiết khách hàng (tên, thông tin liên hệ, v.v.) và dữ liệu bán hàng. Các nhiệm vụ này cần được kiểm tra ở nhiều cấp độ.
Kiểm tra hộp đen được thực hiện trên giao diện người dùng là quan trọng, nhưng gây khó khăn cho việc cô lập vấn đề. Thử nghiệm tại hệ thống phụ trợ làm tăng độ chắc chắn của dữ liệu. Đó là lý do tại sao kiểm tra cơ sở dữ liệu được thực hiện trên hệ thống back end.
Trong cơ sở dữ liệu, dữ liệu đến từ nhiều ứng dụng và có khả năng dữ liệu có hại hoặc không chính xác được lưu trữ trong cơ sở dữ liệu. Do đó, cần phải kiểm tra các thành phần cơ sở dữ liệu thường xuyên. Ngoài ra, tính toàn vẹn và nhất quán của dữ liệu cần được kiểm tra thường xuyên.
Các bước bạn cần làm theo khi thực hiện kiểm tra cơ sở dữ liệu như sau:
- Dữ liệu đang có trong cơ sở dữ liệu phải được xác minh.
- Xác minh xem các ràng buộc có được duy trì hay không.
- Việc thực hiện các thủ tục và việc thực thi các trình kích hoạt phải được kiểm tra.
- Cuộn lại và cam kết giao dịch phải được kiểm tra.
Trên cơ sở 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 các loại sau:
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 từ 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 kiểm tra tải, kiểm tra rủi ro trong cơ sở dữ liệu, kiểm tra căng thẳng, yêu cầu hệ thống tối thiểu và đề cập đến hiệu suất hoạt động của cơ sở dữ liệu.
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, công cụ Kiểm tra SP, v.v.
Các phép nối được sử dụng để kết nối hai hoặc nhiều bảng theo một số cách hợp lý. Các loại liên kết phổ biến bao gồm: Tham gia bên trong, Tham gia không tương đương, Tham gia bên ngoài, Tự tham gia và Tham gia chéo.
Bạn có thể tham gia một bảng với chính nó. Trong trường hợp này, bạn đang sử dụng cùng một bảng hai lần.
Step 1 - Kết nối với cơ sở dữ liệu
db_connect(query1 DRIVER {drivername};SERVER server_name;UID uidname;
PWD password;DBQ database_name );
Step 2 - Thực hiện truy vấn của cơ sở dữ liệu -
db_excecute_query (write the required query that is to execute); Specify the appropriate condition
Step 3 - Ngắt kết nối cơ sở dữ liệu bằng cách sử dụng
db_disconnect(query);
Sử dụng các điểm kiểm tra của cơ sở dữ liệu Đầu ra, các tùy chọn truy vấn thủ công SQL phải được chọn. Tại đây, truy vấn chọn có thể được viết.
Đầu tiên, hãy kiểm tra yêu cầu của thủ tục được lưu trữ. Bước tiếp theo là kiểm tra xem các chỉ mục, nối, xóa, cập nhật có chính xác so với các bảng được đề cập trong quy trình lưu trữ hay không.
Tiếp theo, thực hiện các tác vụ sau:
Xác thực tên thủ tục gọi, tham số gọi và phản hồi dự kiến cho các tập hợp tham số đầu vào khác nhau.
Thực thi quy trình với TOAD hoặc MySQL hoặc Trình phân tích truy vấn.
Thực hiện lại các thủ tục có sẵn bằng cách gửi các tham số khác nhau và kiểm tra kết quả so với các giá trị mong đợi.
Kết thúc quá trình, tự động hóa các bài kiểm tra với WinRunner.
Người kiểm tra nên gọi thủ tục được lưu trữ trong cơ sở dữ liệu bằng lệnh EXEC. Nếu bất kỳ tham số nào được yêu cầu, chúng phải được chuyển. Các giá trị khác nhau của các tham số phải được chuyển để xác nhận xem thủ tục được lưu trữ có được thực thi hay không. Khi gọi lệnh này, nó phải kiểm tra và xác minh bản chất và hành vi của cơ sở dữ liệu.
Example - Nếu thủ tục được lưu trữ được viết để điền một số bảng, thì các giá trị của bảng phải được kiểm tra.
Chúng ta có ba loại câu lệnh SQL:
- Ngôn ngữ thao tác dữ liệu (DML)
- Ngôn ngữ định nghĩa dữ liệu (DDL)
- Ngôn ngữ kiểm soát dữ liệu (DCL)
Các câu lệnh DDL được sử dụng để xác định cấu trúc cơ sở dữ liệu hoặc lược đồ. Một số ví dụ -
CREATE - để tạo các đối tượng trong cơ sở dữ liệu
ALTER - thay đổi cấu trúc của cơ sở dữ liệu
DROP - xóa các đối tượng khỏi cơ sở dữ liệu
Các toán tử được sử dụng để chỉ định các điều kiện trong một câu lệnh SQL và dùng như các liên từ cho nhiều điều kiện trong một câu lệnh.
- Toán tử số học
- Toán tử so sánh / quan hệ
- Toán tử logic
- Đặt toán tử
- Các toán tử được sử dụng để phủ định các điều kiện
Union được sử dụng để kết hợp các kết quả của hai hoặc nhiều câu lệnh Chọn. Tuy nhiên nó sẽ loại bỏ các hàng trùng lặp. Union là một toán tử tập hợp.
Unionđược sử dụng để kết hợp các kết quả của hai hoặc nhiều câu lệnh Chọn. Tuy nhiên nó sẽ loại bỏ các hàng trùng lặp
Union All hoạt động tương tự như Union, nhưng nó cũng hiển thị các hàng trùng lặp.
Kích hoạt được sử dụng để duy trì tính toàn vẹn của cơ sở dữ liệu. Để kiểm tra Trigger có được kích hoạt hay không, bạn có thể kiểm tra nhật ký kiểm tra.
Không thể gọi kích hoạt theo yêu cầu. Chúng được gọi khi một hành động liên quan (chèn, xóa và cập nhật) xảy ra trên bảng mà chúng được xác định. Các trình kích hoạt được sử dụng để áp dụng các quy tắc kinh doanh, kiểm toán và cũng để kiểm tra tính toàn vẹn tham chiếu.
Đầu tiên, lấy yêu cầu chức năng. Sau đó, hiểu cấu trúc bảng, Nối, Con trỏ và Trình kích hoạt, Thủ tục đã lưu trữ được sử dụng và các tham số khác. Tiếp theo, bạn có thể viết một test-case với các giá trị khác nhau làm đầu vào cho các đối tượng này.
Kiểm thử DB liên quan đến việc kiểm tra các thành phần back-end không hiển thị cho người dùng. Nó bao gồm các thành phần cơ sở dữ liệu và các hệ thống DBMS như MySQL và Oracle.
Kiểm thử front-end bao gồm việc kiểm tra các chức năng của ứng dụng và các thành phần của nó như biểu mẫu, đồ thị, menu, báo cáo, v.v. Những thành phần này được tạo bằng các công cụ phát triển front-end như VB.net, C #, Delphi, v.v.
Quá trình thực hiện kiểm thử cơ sở dữ liệu tương tự như kiểm thử các ứng dụng khác. Thử nghiệm DB có thể được mô tả bằng các quy trình chính sau:
- Thiết lập môi trường
- Chạy thử nghiệm
- Kiểm tra kết quả thử nghiệm
- Xác thực theo kết quả mong đợi
- Báo cáo kết quả cho các bên liên quan tương ứng
Các câu lệnh SQL khác nhau được sử dụng để phát triển các trường hợp Kiểm thử. Câu lệnh SQL phổ biến nhất được sử dụng để thực hiện kiểm tra DB là câu lệnh select. Ngoài các câu lệnh DDL, DML, DCL khác nhau này cũng có thể được sử dụng.
Example - Tạo, Chèn, Chọn, Cập nhật, v.v.
Một khung nhìn là một bảng không thực sự tồn tại theo đúng nghĩa của nó mà thay vào đó được dẫn xuất từ một hoặc nhiều bảng cơ sở. Nói cách khác, không có tệp được lưu trữ nào đại diện trực tiếp cho chế độ xem thay vào đó một định nghĩa về chế độ xem được lưu trữ trong từ điển dữ liệu.
Sự tăng trưởng và tái cấu trúc của các bảng cơ sở không được phản ánh trong các lượt xem. Do đó, khung nhìn có thể cách ly người dùng khỏi những thay đổi trong cơ sở dữ liệu. Do đó, tính độc lập dữ liệu lôgic.
Nó chỉ định chế độ xem của người dùng và ánh xạ của họ tới lược đồ khái niệm.
Nó là một quá trình phân tách một bảng thành nhiều bảng mà không làm mất bất kỳ thông tin nào. Quá trình chuẩn hóa được thực hiện để đạt được các mục tiêu sau:
- Để giảm thiểu sự dư thừa.
- Để giảm thiểu việc chèn, xóa và cập nhật các bất thường.
Lập chỉ mục là một kỹ thuật để xác định dữ liệu cụ thể có thể được tìm thấy nhanh như thế nào. Nó được sử dụng để tối ưu hóa hiệu suất truy vấn. Lập chỉ mục có thể thuộc các loại sau:
- Lập chỉ mục kiểu tìm kiếm nhị phân
- Lập chỉ mục B-Tree
- Lập chỉ mục danh sách đảo ngược
- Bảng thường trú bộ nhớ
- Lập chỉ mục bảng
SQL là ngôn ngữ Truy vấn có cấu trúc được thiết kế đặc biệt cho các hoạt động truy cập dữ liệu trên cấu trúc cơ sở dữ liệu quan hệ được chuẩn hóa.
Sự khác biệt cơ bản giữa SQL và các ngôn ngữ lập trình thông thường khác là các câu lệnh SQL chỉ định những thao tác dữ liệu nào nên được thực hiện hơn là cách thực hiện chúng.
Các thủ tục được lưu trữ được sử dụng để thực hiện một hoạt động do người dùng xác định. Một thủ tục được lưu trữ có thể có một tập hợp các câu lệnh SQL phức hợp. Một thủ tục được lưu trữ thực thi các lệnh SQL và trả về kết quả cho máy khách.
PL / SQL sử dụng con trỏ cho tất cả các câu lệnh truy cập thông tin cơ sở dữ liệu. Ngôn ngữ hỗ trợ sử dụng hai loại con trỏ - ngầm định và rõ ràng.
Cold Backup- Cold back được gọi là sao lưu các tệp cơ sở dữ liệu, làm lại nhật ký và tệp điều khiển khi phiên bản bị tắt. Đây là một bản sao tập tin, thường từ đĩa trực tiếp sang băng. Bạn phải tắt phiên bản để đảm bảo một bản sao nhất quán.
Nếu sao lưu lạnh được thực hiện, tùy chọn duy nhất có sẵn trong trường hợp mất tệp dữ liệu là khôi phục tất cả các tệp từ bản sao lưu mới nhất. Tất cả các thay đổi được thực hiện sau lần sao lưu cuối cùng sẽ bị mất.
Hot Backup- Một số cơ sở dữ liệu không thể tắt trong khi tạo bản sao lưu của tệp, vì vậy sao lưu lạnh không phải là một tùy chọn khả dụng. Đối với những loại cơ sở dữ liệu, chúng tôi sử dụng sao lưu nóng.
Truy vấn con SQL là một phương tiện truy vấn hai hoặc nhiều bảng cùng một lúc. Bản thân truy vấn con là một câu lệnh SQL SELECT nằm trong mệnh đề WHERE của một câu lệnh SQL SELECT khác và được phân tách bằng cách đặt trong dấu ngoặc đơn. Một số truy vấn con có cấu trúc nối SQL tương đương, nhưng các truy vấn con tương quan không thể được sao chép bởi một phép nối
Trong trường hợp như vậy, bạn cần kiểm tra các khía cạnh sau:
- Phụ thuộc nhiều giá trị
- Phụ thuộc chức năng
- Chìa khóa ứng viên
- Khóa chính
- Khóa ngoại
Bạn có thể truy cập cơ sở dữ liệu và chạy một truy vấn SQL có liên quan. Trong WinRunner, bạn có thể sử dụng chức năng điểm kiểm tra cơ sở dữ liệu. Nếu ứng dụng cung cấp chức năng xem, thì bạn có thể xác minh điều tương tự từ giao diện người dùng.
Kiểm thử theo hướng dữ liệu được định nghĩa là một quy trình kiểm thử tự động hóa trong đó ứng dụng sẽ được kiểm tra với nhiều dữ liệu kiểm tra. Nó đơn giản và dễ dàng hơn việc kiểm tra lại khi người kiểm tra chỉ cần ngồi trước hệ thống và nhập các giá trị đầu vào mới khác nhau theo cách thủ công từ giao diện front-end.
Sau khi bạn thực hiện các trường hợp thử nghiệm và tìm thấy các lỗi đã được phát hiện và sửa chữa. Việc thực hiện lại cùng một bài kiểm tra với các giá trị đầu vào khác nhau để xác nhận lỗi ban đầu đã được loại bỏ thành công được gọi là Kiểm tra lại.
Thử nghiệm lại còn được gọi là Thử nghiệm theo hướng dữ liệu với một sự khác biệt nhỏ -
Retesting - Đây là một quá trình kiểm thử thủ công trong khi kiểm thử ứng dụng được thực hiện với toàn bộ tập dữ liệu mới.
Data-driven Testing- Đây là một quá trình kiểm thử tự động, nơi ứng dụng sẽ được kiểm tra với nhiều dữ liệu kiểm tra. Nó đơn giản và dễ dàng hơn việc kiểm tra lại khi người kiểm tra chỉ cần ngồi trước hệ thống và nhập các giá trị đầu vào mới khác nhau theo cách thủ công từ giao diện front-end.
Có bốn loại kiểm tra theo hướng dữ liệu -
- Gửi dữ liệu thử nghiệm động thông qua bàn phím
- Kiểm tra theo hướng dữ liệu thông qua tệp phẳng .txt, .doc
- Kiểm tra theo hướng dữ liệu thông qua các đối tượng front-end
- Kiểm tra theo hướng dữ liệu qua trang tính excel
Kiểm tra hiệu suất là một kỹ thuật kiểm tra phần mềm để xác định cách một hệ thống hoạt động về tốc độ, độ nhạy và độ ổn định dưới một khối lượng công việc nặng.
Các điểm chính sau đây cần được xem xét khi thực hiện kiểm tra khôi phục cơ sở dữ liệu:
Khoảng thời gian khi các thay đổi hoặc sửa đổi xảy ra trong hệ thống cơ sở dữ liệu.
Khoảng thời gian bạn muốn kế hoạch khôi phục của mình được tiến hành.
Độ nhạy của dữ liệu trong hệ thống cơ sở dữ liệu. Dữ liệu càng quan trọng thì bạn càng cần phải kiểm tra phần mềm thường xuyên hơn.
Các công cụ sau được sử dụng để tạo dữ liệu thử nghiệm:
- Nhà máy dữ liệu
- Trình tạo dữ liệu DTM
- Dữ liệu Turbo
Có hai loại sao lưu có thể được sử dụng -
Physical Backups- Sao lưu vật lý bao gồm sao lưu bằng cách sử dụng các công cụ sao lưu của bên thứ 3 như Veritas net back, IBM Tivoli Manager hoặc sao lưu trình quản lý người dùng bằng các tiện ích hệ điều hành.
Logical Backups - Sao lưu logic cơ sở dữ liệu bao gồm sao lưu các đối tượng logic như bảng, chỉ mục, thủ tục, v.v.
Một công cụ phổ biến để sao lưu dữ liệu là Oracle Recovery Manager (RMAN), là một tiện ích của Oracle để sao lưu cơ sở dữ liệu.
Các hành động sau được thực hiện trong thử nghiệm khôi phục cơ sở dữ liệu:
- Thử nghiệm hệ thống cơ sở dữ liệu
- Kiểm tra các tệp SQL
- Kiểm tra từng phần tệp
- Kiểm tra sao lưu dữ liệu
- Thử nghiệm công cụ Sao lưu
- Kiểm tra sao lưu nhật ký
Kiểm tra bảo mật cơ sở dữ liệu được thực hiện để tìm ra các lỗ hổng trong cơ chế bảo mật và cũng để tìm ra các lỗ hổng hoặc điểm yếu của hệ thống cơ sở dữ liệu.
Kiểm tra bảo mật cơ sở dữ liệu được thực hiện để kiểm tra các khía cạnh sau:
- Authentication
- Authorization
- Confidentiality
- Availability
- Integrity
- Resilience
Mối đe dọa SQL Injection là kiểu tấn công phổ biến nhất trong hệ thống cơ sở dữ liệu nơi các câu lệnh SQL độc hại được chèn vào hệ thống cơ sở dữ liệu và được thực thi để lấy thông tin quan trọng từ hệ thống cơ sở dữ liệu. Cuộc tấn công này lợi dụng những sơ hở trong việc triển khai các ứng dụng của người dùng. Để ngăn chặn điều này, các trường đầu vào của người dùng phải được xử lý cẩn thận.
Các công cụ sau có thể được sử dụng để thực hiện kiểm tra bảo mật cơ sở dữ liệu: Zed Attack Proxy, Paros, Social Engineer Toolkit, Skipfish, Vega, Wapiti và Web Scarab.
Những thách thức chung mà một người phải đối mặt trong khi thực hiện kiểm tra cơ sở dữ liệu như sau:
- Phạm vi kiểm tra quá lớn
- Cơ sở dữ liệu thử nghiệm thu nhỏ
- Những thay đổi trong cấu trúc cơ sở dữ liệu
- Kế hoạch thử nghiệm phức tạp
- Hiểu biết tốt về SQL