TESTING FUNDAMENTALS
TYPES OF TESTING
TESTCASE DEVELOPMENT
TESTING TECHNIQUES
TEST MANAGEMENT & CONTROL
DEFECTS
AGILE
TESTING DIFFERENT DOMAINS
WHITEBOX TESTING
PERFORMANCE TESTING
ADVANCE TESTING TOPICS
FAQ
TESTING TYPES - MEGA LIST
TOOLS
CHECK!
CERTIFICATION
LIVE TESTING PROJECT
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

test data 1 jpg

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.

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:
  1. 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.
  2. 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.

Cùng chuyên mục:

Giám sát và kiểm soát kiểm thử

Giám sát và kiểm soát kiểm thử

Trong khi nhóm thực hiện các nhiệm vụ được giao, Test Manager cần giám sát…

Tài liệu kiểm thử

Tài liệu kiểm thử

Tài liệu kiểm thử giúp nhóm kiểm thử ước tính effort kiểm thử cần thiết,…

Cách tạo Test Plan

Cách tạo Test Plan

Test Plan là một tài liệu chi tiết mô tả chiến lược kiểm thử, Mục…

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử là một trong những nhiệm vụ phức tạp nhất trong…

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Khi thực hiện dự án, luôn có những rủi ro tiềm ẩn. Để giảm thiểu…

Quy trình quản lý kiểm thử

Quy trình quản lý kiểm thử

Quản lý kiểm thử (Test Management) bao gồm chuỗi nhiều hoạt động. Có hai phần…

Vai trò và Trách nhiệm của Test Manager

Vai trò và Trách nhiệm của Test Manager

Trước khi bắt đầu kiểm thử một dự án, bạn nên biết vai trò của…

Kiểm thử Use Case

Kiểm thử Use Case

Là một tester, bạn đã hiểu rõ về Use Case hay Kiểm thử Use Case…

Kỹ thuật kiểm thử chuyển đổi trạng thái

Kỹ thuật kiểm thử chuyển đổi trạng thái

Chuyển đổi trạng thái (State Transition) trong kiểm thử là gì? Khi nào sử dụng…

Kỹ thuật kiểm thử bảng quyết định

Kỹ thuật kiểm thử bảng quyết định

Bảng quyết định là một trong những kỹ thuật kiểm thử phầm mềm. Vậy Kiểm…

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Chúng ta cần sử dụng các kỹ thuật đặc biệt để lựa chọn test cases…

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử giúp giảm số lượng các test cases được thực hiện trong…

Test Case Template

Test Case Template

Test cases là đơn vị nhỏ nhất trong kế hoạch kểm thử, mô tả các…

Cách tạo Requirements Traceability Matrix - RTM

Cách tạo Requirements Traceability Matrix - RTM

Requirements Traceability Matrix - RTM là gì? Traceability Test Matrix bao gồm những loại nào?…

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test Basis là nguồn để tạo ra các test cases.…

Cách viết Test Cases

Cách viết Test Cases

Test Case là tập hợp các hành động được thực thi để xác minh một…

Kịch bản kiểm thử - Test Scenario

Kịch bản kiểm thử - Test Scenario

Test Scenario tuy không còn mới mẻ nhưng không ít người còn mơ hồ về…

Kiểm thử phi chức năng

Kiểm thử phi chức năng

Kiểm thử phi chức năng liên quan đến việc kiểm thử phần mềm từ những…

Kiểm thử hồi quy

Kiểm thử hồi quy

Kiểm thử hồi quy - Regression Testing rất quan trọng, đặc biệt là trong những…

Phân biệt Smoke Testing và Sanity Testing

Phân biệt Smoke Testing và Sanity Testing

Smoke Testing là gì? Sanity testing là gì? Smoke Testing và Sanity Testing là những…

Top