Kiểm thử cơ sở dữ liệu với Selenium giúp đảm bảo tính toàn vẹn và độ chính xác của dữ liệu trong các ứng dụng web. Bằng cách kết hợp Selenium WebDriver và thư viện JDBC hoặc ORM, bạn có thể tự động hóa truy vấn SQL, so sánh kết quả thực tế với mong đợi và phát hiện lỗi nhanh chóng. Hãy cùng FPT Aptech tìm hiểu chi tiết qua bài viết dưới đây!
Nội dung
- 1 Kiểm thử theo dữ liệu có nghĩa là gì?
- 2 Ưu điểm của Kiểm thử theo dữ liệu
- 3 Nguồn dữ liệu cho thử nghiệm theo hướng dữ liệu
- 4 Triển khai thử nghiệm theo dữ liệu với Selenium
- 5 Xây dựng các bài kiểm tra theo hướng dữ liệu với Selenium
- 6 Hệ thống đào tạo lập trình viên quốc tế FPT Aptech tuyển sinh năm 2025
Kiểm thử theo dữ liệu có nghĩa là gì?
Kiểm thử theo dữ liệu giúp tối ưu hóa quy trình kiểm thử bằng cách tách biệt hoàn toàn giữa logic kiểm thử và bộ dữ liệu. Điều này cho phép bạn tái sử dụng cùng một kịch bản kiểm thử với nhiều tập giá trị khác nhau, từ đó mở rộng phạm vi kiểm thử một cách nhanh chóng và linh hoạt.
Việc quản lý dữ liệu kiểm thử riêng biệt còn giúp bảo trì dễ dàng hơn, vì khi cần cập nhật hoặc thêm trường hợp mới, bạn chỉ cần điều chỉnh nguồn dữ liệu bên ngoài như tệp CSV, bảng tính Excel hoặc cơ sở dữ liệu mà không phải sửa đổi mã. Phương pháp này cũng nâng cao hiệu quả tự động hóa, tiết kiệm thời gian và công sức cho nhóm QA. Bạn có thể chạy đồng thời hàng trăm trường hợp kiểm thử khác nhau chỉ với một lệnh duy nhất, đồng thời đảm bảo tính ổn định và chính xác của ứng dụng.

Ngoài ra, kiểm thử theo dữ liệu hỗ trợ mở rộng dễ dàng khi ứng dụng phát triển thêm tính năng mới hoặc khi cần kiểm thử các kịch bản phức tạp hơn. Nhờ vậy, việc xác thực tính năng và hiệu năng của ứng dụng trong nhiều điều kiện thực tế trở nên toàn diện và đáng tin cậy.
Phương pháp này mang lại nhiều lợi thế:
1. Khả năng tái sử dụng: Các tập lệnh kiểm tra có khả năng được sử dụng với nhiều tập dữ liệu khác nhau.
Việc bảo trì tập lệnh kiểm tra được đơn giản hóa vì các trường hợp kiểm tra có thể dễ dàng được cập nhật mà không cần phải thay đổi các tập lệnh do sửa đổi dữ liệu.
2. Khả năng mở rộng: Có thể dễ dàng kết hợp các kịch bản thử nghiệm bổ sung bằng cách đưa vào các tập dữ liệu mới.
3. Phạm vi mở rộng: Đảm bảo thử nghiệm ứng dụng với nhiều đầu vào khác nhau, từ đó phát hiện thêm các vấn đề tiềm ẩn.
Việc sử dụng logic dữ liệu thử nghiệm trong thử nghiệm dựa trên dữ liệu giúp tăng cường đánh giá chức năng của ứng dụng web và phần mềm, dẫn đến các quy trình xác thực phức tạp và hiệu quả hơn.
Ưu điểm của Kiểm thử theo dữ liệu
Selenium cung cấp nhiều lợi ích cho thử nghiệm dựa trên dữ liệu, cải thiện hiệu quả và hiệu suất của quy trình thử nghiệm của bạn. Sau đây là năm lợi ích hàng đầu:
Tăng phạm vi kiểm tra:
DDT cho phép bạn thực hiện cùng một tập lệnh kiểm tra với nhiều bộ dữ liệu. Điều này có nghĩa là bạn có thể kiểm tra nhiều kịch bản và trường hợp ngoại lệ khác nhau mà không cần viết các trường hợp kiểm tra riêng cho từng trường hợp, do đó tăng phạm vi kiểm tra của bạn một cách toàn diện.
Khả năng tái sử dụng và bảo trì:
Bằng cách tách dữ liệu thử nghiệm khỏi các tập lệnh thử nghiệm, bạn tạo ra các thành phần có thể tái sử dụng. Điều này làm giảm sự dư thừa trong bộ thử nghiệm của bạn và giúp bảo trì dễ dàng hơn. Những thay đổi trong dữ liệu thử nghiệm có thể được thực hiện độc lập với các tập lệnh thử nghiệm, thúc đẩy khả năng tổ chức và khả năng mở rộng tốt hơn.
Vòng phản hồi nhanh hơn:
Với DDT, bạn có thể chạy thử nghiệm với nhiều tập dữ liệu khác nhau song song hoặc tuần tự, tùy thuộc vào nhu cầu của bạn. Khả năng thực hiện song song này tăng tốc quá trình thử nghiệm, cung cấp phản hồi nhanh hơn về hành vi của ứng dụng trong các điều kiện khác nhau.
Tăng cường tính linh hoạt:
Dữ liệu thử nghiệm có thể dễ dàng được sửa đổi hoặc mở rộng mà không cần thay đổi chính các tập lệnh thử nghiệm. Tính linh hoạt này cho phép người thử nghiệm thích ứng với những thay đổi trong yêu cầu hoặc khám phá các tình huống bổ sung mà không cần chi phí đáng kể.
Độ chính xác và độ tin cậy được nâng cao:
Tự động hóa với DDT làm giảm khả năng xảy ra lỗi của con người trong quá trình thử nghiệm bằng cách hợp lý hóa việc nhập dữ liệu thử nghiệm vào các tập lệnh thử nghiệm. Điều này làm tăng độ chính xác và độ tin cậy của kết quả thử nghiệm bằng cách giảm khả năng xảy ra lỗi từ việc nhập dữ liệu thủ công và duy trì hiệu suất thử nghiệm đồng đều.
Nguồn dữ liệu cho thử nghiệm theo hướng dữ liệu
CSV (Giá trị phân tách bằng dấu phẩy):
Lưu trữ dữ liệu thử nghiệm của bạn trong các tệp CSV có thể đọc thuận tiện bằng các thư viện như OpenCSV hoặc Apache Commons CSV. Các tệp này có thể bao gồm các giá trị cơ bản được phân tách bằng dấu phẩy, giúp dễ xử lý.
Bảng tính Excel:
Sử dụng Apache POI hoặc JExcelAPI để đọc dữ liệu từ các trang tính Excel. Xác định dữ liệu thử nghiệm của bạn trong các tệp Excel và sử dụng Java để đọc dữ liệu này và chuyển nó đến các thử nghiệm Selenium của bạn.
Cơ sở dữ liệu:
Truy xuất dữ liệu thử nghiệm trực tiếp từ cơ sở dữ liệu bằng JDBC (Java Database Connectivity). Phương pháp này phù hợp với các tình huống yêu cầu tạo hoặc truy xuất dữ liệu thử nghiệm động từ một vị trí tập trung.
Sử dụng JSON hoặc XML:
Các tệp để lưu trữ dữ liệu thử nghiệm theo cách được tổ chức tốt. Các công cụ như Jackson hoặc JAXB được sử dụng để trích xuất dữ liệu cần thiết bằng cách phân tích các tệp, như JSON hoặc XML, trong các thư viện.
Nhà cung cấp dữ liệu:
Bằng cách sử dụng một khuôn khổ thử nghiệm như TestNG hoặc JUnit, bạn có khả năng phát triển các phương pháp cung cấp dữ liệu cung cấp dữ liệu thử nghiệm cho các phương pháp thử nghiệm của bạn. Điều này cho phép bạn duy trì sự khác biệt giữa dữ liệu thử nghiệm và logic thử nghiệm của bạn.
Triển khai thử nghiệm theo dữ liệu với Selenium
Bước 1: Thiết lập dự án của bạn
Đảm bảo bạn đã thêm Selenium WebDriver và TestNG (TestNG là tùy chọn nhưng được khuyến khích dùng để thử nghiệm trong Java) vào dự án Java của bạn. Bạn có thể sử dụng Maven hoặc Gradle để quản lý phụ thuộc.
Bước 2: Chuẩn bị dữ liệu thử nghiệm của bạn
Tạo dữ liệu thử nghiệm của bạn theo định dạng phù hợp. Các định dạng phổ biến bao gồm CSV, Excel, JSON hoặc XML. Dữ liệu này sẽ chứa các giá trị đầu vào cho các thử nghiệm của bạn.

Bước 3: Đọc dữ liệu thử nghiệm
Viết mã để đọc dữ liệu thử nghiệm từ định dạng bạn chọn. Ví dụ, khi làm việc với tệp CSV, bạn có tùy chọn sử dụng các công cụ như OpenCSV hoặc Apache Commons CSV để đọc dữ liệu. Nếu bạn đang sử dụng Excel, Apache POI là lựa chọn phổ biến.
Bước 4: Viết các trường hợp thử nghiệm của bạn
Viết các trường hợp thử nghiệm của bạn bằng TestNG (hoặc JUnit). Sử dụng tham số hóa để truyền dữ liệu thử nghiệm cho các phương pháp thử nghiệm của bạn. Chú thích các phương pháp thử nghiệm của bạn bằng @Test và sử dụng các tham số để nhận dữ liệu thử nghiệm.
Bước 5: Thực hiện các bài kiểm tra của bạn
Chạy thử nghiệm của bạn bằng trình chạy thử nghiệm. Nếu bạn đang sử dụng TestNG, bạn có thể chạy thử nghiệm của mình thông qua các tệp XML TestNG hoặc trực tiếp từ IDE của bạn. Gradle và Maven cũng có các plugin để chạy thử nghiệm TestNG.
Xây dựng các bài kiểm tra theo hướng dữ liệu với Selenium
Trong phần này, chúng ta sẽ khám phá cách tạo các bài kiểm tra được điều khiển bởi dữ liệu bằng Selenium, nhấn mạnh vào việc triển khai hiệu quả phương pháp này. Hãy cùng khám phá các thành phần cốt lõi của bài kiểm tra được điều khiển bởi dữ liệu, đặc biệt là thông qua việc sử dụng các lớp ReadExcel và TestData trong môi trường Java với Eclipse.
Thiết lập môi trường
Để bắt đầu, hãy đảm bảo rằng bạn đã chuẩn bị sẵn môi trường phát triển. Khởi chạy Eclipse và xác minh rằng bạn đã tích hợp các phụ thuộc cần thiết, bao gồm Selenium WebDriver và Apache POI để quản lý tệp Excel, vào dự án của bạn. Nếu bạn đang sử dụng Maven hoặc Gradle, hãy đảm bảo thêm các phụ thuộc này vào tệp pom.xml hoặc build.gradle của bạn khi cần.
Tạo lớp ReadExcel
Lớp ReadExcel chịu trách nhiệm đọc dữ liệu từ các tệp Excel. Lớp này sẽ sử dụng Apache POI để mở và phân tích các tệp Excel, trích xuất dữ liệu thử nghiệm cần thiết. Dưới đây là một ví dụ cơ bản về cách bạn có thể triển khai lớp ReadExcel:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadExcel {
private String filePath;
public ReadExcel(String filePath) {
this.filePath = filePath;
}
public Object[][] getTestData() throws IOException {
FileInputStream fileInputStream = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(fileInputStream);
Sheet sheet = workbook.getSheetAt(0);
int rowCount = sheet.getPhysicalNumberOfRows();
int colCount = sheet.getRow(0).getPhysicalNumberOfCells();
Object[][] data = new Object[rowCount - 1][colCount];
for (int i = 1; i < rowCount; i++) {
Row row = sheet.getRow(i);
for (int j = 0; j < colCount; j++) {
data[i - 1][j] = row.getCell(j).toString();
}
}
workbook.close();
fileInputStream.close();
return data;
}
}
Triển khai lớp TestData
Lớp TestData là nơi bạn định nghĩa các trường hợp thử nghiệm và tích hợp dữ liệu thử nghiệm được đọc bởi lớp ReadExcel. Lớp này sẽ sử dụng chú thích TestNG để chạy thử nghiệm với dữ liệu được cung cấp. Sau đây là một ví dụ cơ bản:
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class TestData {
@DataProvider(name = "data-provider")
public Object[][] dataProvider() throws IOException {
ReadExcel readExcel = new ReadExcel("path/to/your/excel/file.xlsx");
return readExcel.getTestData();
}
@Test(dataProvider = "data-provider")
public void testMethod(String input1, String input2, String expectedResult) {
// Implement your test logic here using the provided data
System.out.println("Input 1: " + input1);
System.out.println("Input 2: " + input2);
System.out.println("Expected Result: " + expectedResult);
// Your test assertions and actions
}
}
Chạy thử nghiệm
Sau khi thiết lập các lớp ReadExcel và TestData, bạn có thể chạy thử nghiệm bằng TestNG. Bạn có thể thực hiện thử nghiệm trực tiếp từ Eclipse hoặc thông qua dòng lệnh nếu bạn đang sử dụng Maven hoặc Gradle. Đảm bảo tệp dữ liệu thử nghiệm của bạn được đặt đúng vị trí và có thể truy cập được để tránh các sự cố liên quan đến tệp.
Xem thêm: 7 Lỗi Thường Gặp Khi Lập Trình C++
Hệ thống đào tạo lập trình viên quốc tế FPT Aptech tuyển sinh năm 2025

Chương trình đào tạo
Chương trình đào tạo Cử nhân ngành CNTT – Lập trình 2 + 1
Khóa học Lập trình Full-stack (ADSE) – 2 năm 4 học kỳ
Khóa học Lập trình Game Full-stack (ADGD) – 2 năm 4 học kỳ
Khóa học Lập trình Front-end (CPISM) – 6 tháng
Khóa học Lập trình Back-end (DISM) – 1 năm
Đối tượng tuyển sinh
Thí sinh thuộc một trong các đối tượng sau sẽ đủ điều kiện trở thành sinh viên của FPT Aptech:
- Học sinh THPT/GDTX
- Sinh viên
- Người đi làm
- Bộ đội xuất ngũ & Dân quân tự vệ
Hồ sơ nhập học
- 01 phiếu đăng ký nhập học theo mẫu của FPT Aptech (Download TẠI ĐÂY)
- 01 bản photo công chứng Bằng tốt nghiệp THPT hoặc Giấy chứng nhận tốt nghiệp tạm thời
- 01 bản photo công chứng CMND/CCCD
- File ảnh 3×4 (chụp không quá 6 tháng gần đây)
FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng. |