Thủ thuật để tạo dữ liệu kiểm thử
Chúng ta đều biết rằng kiểm thử là một quá trình tạo và sử dụng một lượng lớn data. Data được sử dụng trong kiểm thử mô tả các điều kiện tiền đề của kiểm thử và là phương tiện để các testers tác động đến phần mềm. Data là một phần quan trọng của hầu hết các functional testing. Nhưng Test data thực sự là gì? Tại sao test data được sử dụng? Tạo Test data như thế nào? Có lẽ bạn sẽ thắc mắc. Vì vậy, chúng ta hãy cùng tìm hiểu nhé.
1. Test data là gì? Tại sao Test data lại quan trọng?
Test data là những thông tin đầu vào của một ứng dụng phần mềm. Nó tượng trưng cho dữ liệu tác động hoặc bị tác động bởi việc thực hiện module cụ thể. Một số data có thể được sử dụng để kiểm thử khả quan (positive testing), thường để xác minh rằng một tập dữ liệu đầu vào nhất định cho một chức năng nhất định sẽ tạo ra kết quả như mong đợi hay không. Dữ liệu khác có thể được sử dụng trong kiểm thử phủ định (negative testing) để kiểm thử khả năng của chương trình khi xử lý các dữ liệu đầu vào mang tính bất thường, đặc biệt hoặc bất ngờ. Những Test data đặc biệt hay bất thường không được kiểm thử ở tất cả các test cases có thể sẽ khiến chất lượng của phần mềm không được đảm bảo.
2. Tạo Test Data như thế nào? Tại sao Test data phải được tạo trước khi thực hiện kiểm thử?
Tùy thuộc vào môi trường kiểm thử mà bạn có thể tạo Test data hoặc xác định Test data phù hợp cho các test cases.
Thông thường, Test data không được tạo ra đồng thời với test cases.
Bài viết này được đăng tại [free tuts .net]
Test data có thể được tạo bằng cách:
- Thủ công
- Sao chép lượng data lớn từ production đến môi trường kiểm thử
- Sao chép lượng test data lớn từ các hệ thống máy client
- Công cụ tạo Test data tự động
Thông thường data mẫu phải được tạo trước khi bắt đầu thực hiện kiểm thử vì trong nhiều môi trường kiểm thử, việc tạo Test data phải trải qua nhiều bước hoặc cấu hình môi trường kiểm thử rất tốn thời gian. Ngoài ra, nếu việc tạo Test data được thực hiện trong giai đoạn thực hiện kiểm thử, có thể sẽ bị chậm tiến độ kiểm thử.
Dưới đây được mô tả một số loại kiểm thử cùng với một số gợi ý về nhu cầu Test data.
3. Test data cho kiểm thử hiệu năng
Kiểm thử hiệu năng là loại kiểm thử được thực hiện để xác định hệ thống tốc độ đáp ứng các yêu cầu của hệ thống. Mục tiêu của loại kiểm thử này không phải là tìm lỗi, mà là loại bỏ các “nút thắt cổ chai”. Một khía cạnh quan trọng của Kiểm thử hiệu năng là tập hợp data mẫu được sử dụng phải rất giống với data thực hoặc là data được sử dụng trong production. Câu hỏi được đặt ra: “Kiểm thử data thực là tốt, nhưng làm thế nào để có được data thực?” Câu trả lời khá đơn giản: từ những người hiểu rõ nhất - khách hàng. Họ có thể cung cấp một số data họ đã có hoặc nếu họ không có, họ có thể giúp bạn bằng cách đưa ra gợi ý về cấu trúc của data thực tế. Trong trường hợp bạn đang ở trong một dự án kiểm thử maintenance, có thể sao chép data từ môi trường production vào môi trường kiểm thử. Đó là một cách tốt để private những data nhạy cảm như Số An sinh Xã hội, Số Thẻ Tín dụng, Chi tiết Ngân hàng, v.v. trong khi copy data.
4. Test data cho kiểm thử bảo mật
Kiểm thử bảo mật là quá trình xác định một hệ thống có thể bảo vệ dữ liệu khỏi các hành vi xâm nhập hay không. Data cần được thiết kế để kiểm thử đầy đủ bảo mật phần mềm phải bao gồm:
- Bảo mật: Tất cả các thông tin được cung cấp bởi khách hàng phải được bảo mật nghiêm ngặt và không được chia sẻ với bất kỳ bên thứ ba. Ví dụ ngắn gọn, nếu một ứng dụng sử dụng SSL, có thể thiết kế một tập Test data để xác minh rằng mã hóa được thực hiện chính xác.
- Tính toàn vẹn: Xác định rằng thông tin được cung cấp bởi hệ thống là chính xác. Để thiết kế Test data phù hợp, bạn có thể bắt đầu bằng cách xem xét kĩ về thiết kế, code, cơ sở dữ liệu và cấu trúc file.
- Xác thực: Thể hiện quá trình thiết lập danh tính của người dùng. Test data có thể được thiết kế dưới dạng kết hợp giữa tên người dùng và mật khẩu, mục đích là kiểm tra xem chỉ những người có quyền mới có thể truy cập vào hệ thống.
- Ủy quyền: Cho biết quyền của một người dùng cụ thể. Test data có thể chứa sự kết hợp của nhiều người dùng, vai trò và hoạt động để kiểm thử người dùng phải có quyền mới có thể thực hiện một thao tác cụ thể.
5. Test data cho kiểm thử hộp trắng
Trong Kiểm thử hộp trắng, Test data được lấy từ việc kiểm tra trực tiếp các đoạn code được kiểm thử. Test data có thể được chọn bằng cách:
- Bao phủ càng nhiều nhánh càng tốt, tạoTest data sao cho tất cả các nhánh trong mã nguồn được kiểm thử ít nhất một lần.
- Kiểm thử đường dẫn: tất cả các đường dẫn trong mã nguồn được kiểm thử ít nhất một lần - Test data có thể được thiết kế để bao quát nhiều trường hợp nhất có thể.
- Kiểm thử Negative Api:
- Test data có thể chứa các loại tham số không hợp lệ được sử dụng để gọi nhiều phương thức khác nhau.
- Test data có thể bao gồm sự kết hợp của đối số không hợp lệ được sử dụng để gọi các phương thức trong chương trình.
6. Test data cho kiểm thử hộp đen
Các test case có Test data phải đáp ứng các tiêu chí sau:
- Không có dữ liệu: Kiểm thử phản hồi của hệ thống khi không có dữ liệu nào được gửi
- Dữ liệu hợp lệ: Kiểm thử phản hồi của hệ thống khi Test data hợp lệ được gửi
- Dữ liệu không hợp lệ: Kiểm thử phản hồi của hệ thống khi Test data không hợp lệ được gửi
- Định dạng dữ liệu không hợp lệ: Kiểm thử phản hồi của hệ thống khi định dạng Test data không hợp lệ
- Tập dữ liệu có giá trị biên: Test data đáp ứng các điều kiện giá trị biên
- Tập dữ liệu phân vùng tương đương: Test data có đủ các điều kiện phân vùng tương đương
- Tập dữ liệu bảng quyết định: Test data đáp ứng các chiến lược kiểm thử của bảng quyết định
- Tập Test data chuyển đổi trạng thái: Test data đáp ứng chiến lược kiểm thử chuyển đổi trạng thái Dữ liệu test use case: Test data không đồng bộ với các use cases
Lưu ý: Tùy thuộc vào ứng dụng phần mềm được kiểm thử, bạn có thể sử dụng một số hoặc tất cả cách tạo Test data ở trên
7. Tạo Test data tự động
Để tạo các bộ dữ liệu, bạn có thể sử dụng một loạt các công cụ tạo Test data tự động. Dưới đây là một số ví dụ về các công cụ:
Trình tạo Test data của GSApps có thể được sử dụng để tạo dữ liệu thông minh trong hầu hết mọi cơ sở dữ liệu hoặc tệp văn bản. Nó cho phép người dùng:
- Hoàn thành kiểm thử ứng dụng bằng cách làm tăng cơ sở dữ liệu với dữ liệu có ý nghĩa
- Tạo dữ liệu cụ thể theo đặc thù của ngành có thể được sử dụng để trình diễn
- Bảo mật dữ liệu bằng cách tạo một bản sao của dữ liệu hiện có và ẩn các giá trị bí mật
- Đẩy nhanh chu trình phát triển bằng cách đơn giản hóa kiểm thử và tạo mẫu
Trình tạo Test data của DTM là một tiện ích hoàn toàn có thể tùy chỉnh để tạo dữ liệu để kiểm thử cơ sở dữ liệu (kiểm thử hiệu năng, kiểm thử tải hoặc kiểm thử khả năng sử dụng...).
Datatect là trình tạo dữ liệu SQL của Banner Software, tạo ra nhiều Test data thực tế trong các tệp ASCII flat hoặc trực tiếp tạo Test data cho RDBMS bao gồm Oracle, Sybase, SQL Server và Informi.
Tóm lại, Test data được thiết kế chuẩn cho phép bạn xác định và sửa các lỗi nghiêm trọng trong các chức năng. Test data được chọn phải được đánh giá lại trong mọi giai đoạn của chu kỳ phát triển sản phẩm phần mềm. Vì vậy, luôn luôn phải chú ý đến vấn đề này.