1. SQL Testing là gì
SQL (Structured Query Language) là ngôn ngữ truy vấn có cấu trúc, được sử dụng để quản lý và thao tác với dữ liệu, từ truy vấn, tạo, cập nhật và xóa dữ liệu, thậm chí là thay đổi cấu trúc dữ liệu.
2. SQL làm được gì
- SQL có thể thực hiện các truy vấn đối với cơ sở dữ liệu
- SQL có thể truy xuất từ CSDL
- SQL có thể chèn các bản ghi mới vào CSDL
- SQL có thể cập nhập các bản ghi hiện có trong CSDL
- SQL có thể xóa các bản ghi khỏi CSDL
- SQL có thể tạo CSDL mới
- SQL có thể tạo các bản ghi mới trong CSDL
3. Tại sao SQL Testing là cần thiết
- Dữ liệu là 1 tài sản quan trong của doanh nghiệp nên cần được lưu trữ và bảo vệ an toàn để tranh mất mát hoặc hư hại.
- CSDL ngày nay trở nên phức tạp hơn do sự xuất hiện của công nghệ mới làm tăng nguy cơ phát sinh lỗi.
- Nhiều chức năng quan trọng của hệ thống phụ thuộc vào các giá trị được lưu trữ trong CSDL
- Lỗi trong CSDL hoặc truy vấn có thể dẫn đến các vấn đề nghiêm trọng về chức năng và toàn bộ hệ thống.
4. CRUD
CRUD là các hoạt động cơ bản để tương tác với CSDL, được viết tắt từ:
- Tạo ( Create): Thực hiện lệnh INSERT một bản ghi( recore) mới
- Đọc ( Read) / Truy xuất( Retrieve): Thực hiện lệnh SELECT để lấy dữ liệu từ CSDL
- Cập nhập (Update): Thực hiện lệnh UPDATE để sửa đổi toàn bộ hoặc một phần bản ghi với thông tin mới nhất
- Xóa (Delete) / Hủy ( Destroy): Thực hiện lệnh DELETE để loại bỏ một bản ghi
Lệnh | Truy vấn mẫu |
---|---|
CREATE | INSERT INTO table_name(column1, column2,..) VALUES( value1, value2,..) |
SELECT | SELECT * from table |
UPDATE | UPDATE table_name SET column1= value1, column2= value3 WHERE condition |
DELETE | DELETE FROM table_name WHERE column1= 'value1-1' |
5. Ngữ cảnh kiểm thử
-
Tính đúng đắn của truy vấn: Kiểm tra các câu lệnh SELECT, JOIN,.. để xác nhận dữ liệu được truy xuất đúng như mong đợi.
-
Hiệu năng: Kiểm tra các truy vấn, index và các cấu trúc bảng để đảm bảo rằng hệ thống có thể xử lý các tác vụ mà không gặp vấn đề về hiệu xuất.
-
Tính toàn vẹn của dữ liệu: Kiểm tra các rằng buộc dữ liệu như khóa chính, khóa ngoại,... để đảm bảo dữ liệu không bị lỗi hoặc nhất quán khi thực hiện các thao tác cập nhập hoặc xóa.
-
Tính bảo mật: Kiểm tra các quyền truy cập cho người dùng, nhóm người dùng đối với các bảng và cấu hình
-
Giao dịch: Đảm bảo các giao dịch SQL tuân thủ các nguyên tắc ACID:
- Tính nguyên tử: Tất cả các thao tác trong một giao dịch dều thành công hoặc không thực hiện gì cả.
- Tính nhất quán: 1 giao dịch chuyển CSDL từ trạng thái hợp lệ này sang trạng thái khác hợp lệ.
- Tính cô lập: các giao dịch thực hiện đồng thời không ảnh hưởng lẫn nhau
- Tính bề bỉ: sau khi giao dịch hoàn tất, các thay đổi sẽ được ghi vĩnh viễn vào CSD