SQL là gì?
SQL (Structured Query Language) là ngôn ngữ lập trình tiêu chuẩn được thiết kế để làm việc với cơ sở dữ liệu quan hệ (Relational Database). Nó cho phép người dùng quản lý, truy vấn và thao tác dữ liệu một cách dễ dàng. SQL đóng vai trò như cầu nối giữa người dùng và cơ sở dữ liệu, giúp thực hiện các tác vụ như:
- Truy vấn dữ liệu từ cơ sở dữ liệu.
- Chèn, cập nhật hoặc xóa dữ liệu.
- Tạo, sửa đổi cấu trúc cơ sở dữ liệu.
- Quản lý quyền truy cập và bảo mật dữ liệu.
SQL được sử dụng rộng rãi trên các hệ thống quản lý cơ sở dữ liệu quan hệ phổ biến như MySQL, PostgreSQL, Oracle, SQL Server, và nhiều hơn nữa.
Ứng dụng thực tế của SQL
- Phân tích dữ liệu:
- SQL được sử dụng trong các ứng dụng phân tích để truy vấn và xử lý lượng dữ liệu lớn, ví dụ như phân tích dữ liệu bán hàng hoặc hành vi khách hàng.
- Quản lý hệ thống:
- Quản trị viên cơ sở dữ liệu sử dụng SQL để quản lý và bảo trì cơ sở dữ liệu, bao gồm sao lưu và khôi phục dữ liệu.
- Tích hợp phần mềm:
- SQL được tích hợp vào các ứng dụng để xử lý dữ liệu, ví dụ như các hệ thống ERP, CRM, hoặc các trang web thương mại điện tử.
- Lập trình ứng dụng:
- Các lập trình viên sử dụng SQL để tương tác với cơ sở dữ liệu thông qua các ngôn ngữ lập trình như Python, Java, C#, v.v.
Vai trò của SQL trong Kiểm thử phần mềm
Dữ liệu trong cơ sở dữ liệu là cốt lõi của hầu hết các ứng dụng phần mềm. Dưới đây là một số vai trò quan trọng của SQL trong kiểm thử:
- Xác minh dữ liệu lưu trữ:
- Khi người dùng thực hiện một hành động trên giao diện (ví dụ: đăng ký tài khoản), kiểm thử viên sử dụng SQL để kiểm tra xem dữ liệu đã được lưu trữ chính xác trong cơ sở dữ liệu chưa.
- Xác thực logic nghiệp vụ
- Dữ liệu trong cơ sở dữ liệu cần tuân thủ các quy tắc nghiệp vụ logic cụ thể. SQL giúp kiểm tra các ràng buộc, như khóa ngoại, khóa chính, hoặc các điều kiện logic khác.
- Phân tích hiệu suất truy vấn:
- Kiểm tra hiệu suất của các truy vấn SQL để đảm bảo rằng chúng chạy nhanh và không gây quá tải cho cơ sở dữ liệu.
- Kiểm thử Back-end:
- Trong một số trường hợp, phần mềm không có giao diện người dùng (Front-end). SQL trở thành công cụ chính để kiểm tra logic và xác minh dữ liệu.
Cách thực hiện SQL Testing
1. Chuẩn bị dữ liệu test
- Xác định các trường hợp kiểm thử (test case) dựa trên yêu cầu hệ thống.
- Tạo dữ liệu mẫu hoặc sử dụng dữ liệu thật trong cơ sở dữ liệu.
2. Thực hiện truy vấn SQL
- Truy vấn đọc dữ liệu (SELECT): Để kiểm tra xem dữ liệu đã được lưu trữ đúng cách chưa.
- Truy vấn cập nhật dữ liệu (UPDATE): Để kiểm tra tính chính xác của việc cập nhật dữ liệu.
- Truy vấn xóa dữ liệu (DELETE): Để đảm bảo rằng dữ liệu không cần thiết đã được xóa đúng.
Danh sách các câu truy vấn trong SQL server: https://www.w3schools.com/sql/sql_syntax.asp
3. Xác Minh Kết Quả
- So sánh kết quả truy vấn SQL với dữ liệu đầu vào và kỳ vọng.
- Kiểm tra xem các thay đổi có được thực hiện chính xác trên giao diện người dùng và cơ sở dữ liệu không.
4. Phân Tích Hiệu Suất
- Đo lường thời gian thực thi truy vấn.
- Đánh giá xem các chỉ số hiệu suất của cơ sở dữ liệu có nằm trong giới hạn cho phép không.
Ví dụ thực tế
Kiểm thử Đăng ký người dùng
- Người dùng nhập thông tin đăng ký trên giao diện và nhấn nút “Đăng ký”.
- Kiểm tra giao diện hiển thị thông báo đăng ký thành công.
- Sử dụng truy vấn SQL để kiểm tra thông tin người dùng trong bảng cơ sở dữ liệu, ví dụ:
SELECT * FROM users WHERE email = ‘testuser@example.com’;
Nếu kết quả trả về có dữ liệu đúng, kiểm thử thành công.
Kiểm thử cập nhật số lượng hàng trong kho
- Người dùng mua sản phẩm trên giao diện, giảm số lượng hàng trong kho.
- Sử dụng truy vấn SQL để xác minh thay đổi:
Kết quả phải phản ánh số lượng hàng đã giảm.