Mẹo và 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 cần tạo dựng và xử lý một lượng dữ liệu lớn. Dữ liệu được sử dụng dựa vào các mô tả ban đầu qua đó tác động trực tiếp đến phần mềm. Nó là một phần quan trọng trong functional testing. Nhưng thực sự test data là gì? Tại sao phải cần đến nó? Có thể bạn sẽ tự hỏi " Tạo ra test cases đã đủ rồi, thì tại sao phải quan tâm tới việc tạo dât testing?". Mục đích của bài viết này là hướng dẫn tạo test data, tầm quan trọng của mẹo và thủ thuật giúp việc tạo ra test data nhanh chóng hơn, vậy hãy bắt đầu thôi.

Test data là gì? Nó có tầm quan trọng như thế nào?

download.jpg

Thực tế test data là đầu vào của một chương trình phần mềm. Nó thể hiện cho các dữ liệu bị ảnh hưởng bởi một chức năng hoặc một module cụ thể. Một số dữ liệu được sử dụng cho positive testing, thường thì dựa vào dữ liệu là đầu vào của một chức năng để biểu diễn kết quả mong muốn. Các dữ liệu khác được sử dụng cho negative testing để kiểm tra những bất thường có thể xảy ra, đặc biệt hoặc đầu vào bất ngờ. Những test data được tạo ra có chất lượng kém có thể làm cản trở công việc kiểm thử phần mềm.

Test Data Generation là gì? Tại sao test data phải được tạo ra trước khi thực hiện test.

test-data-generator.jpg

Tùy thuộc vào môi trường test của bạn, bạn cầ tạo ra dữ liệu test hay không (Hầu hết là có) hoặc ít nhất là xác định dữ liệu test nào phù hợp với môi trường test của bạn (Test dữ liệu đã được tạo ra). Thông thường test data được tạo ra đồng bộ với các test case và dự định được sử dụng cho: Test data có thể được tạo

  • Thủ công
  • Sao chép dữ liệu và môi trường test
  • Sao chép dữ liệu từ hệ thống client
  • Sử dụng tools để tạo tự động test data

Thông thường test data được tạo ra trước khi thực hiện test vì trong môi trường test để tạo test data cho từng pre-steps hoặc môi trường test sẽ tốn khá nhiều chi phí tiền bạc lẫn thời gian. Nếu test data generation đợi đến khi bạn bắt đầu test mới tạo thì có thể sẽ làm trễ dealine của bạn. Dưới đây là mô tả một số kiểu testing và nhu cầu test data của chúng.

Test data cho White box Testing

download (3).jpg

Trong white box Testing, Test data có thể được thực hiện ở việc test code. Test data có thể được chọn bằng một số trường hợp sau:

  • Mong muốn có thể cover nhiều branch càng tốt; Test data có thể được tạo ra giống như tất cả branch trong source code của chương trình và sẽ được kiểm tra ít nhất là một lần.
  • Path testing: Tất cả các các path trong source code của chương trình được kiểm tra ít nhất một lần - Kiểm tra data có thể được tạo ra để cover càng nhiều trường hợp càng tốt.
  • Negative API testing:
    • Test data có thể chứa các loại tham số không hợp lệ sử dụng để gọi các phương pháp khác nhau.
    • Test data có thể có thể là sự kết hợp của các trường hợp hợp lệ để gọi các phương thức của chương trình.

Test Data cho Performance Testing

testing.jpg

Performance testing là kiểu test được thực hiện để xác định hệ thống phản ứng nhanh trước một workload đặc biệt. Mục tiêu của kiểu test này không phải là để tìm lỗi, nhưng là để phòng chống việc gián đoạn. Một khía cạnh quan trọng của performance testing là tập hợp các test data rất gần với thực tế hoặc data thực sẽ được đưa vào để thực hiện test. Các câu hỏi sau đây được đặt ra: "Ok, Test data rất tốt, nhưng làm thế nào tôi mới có được test data này?" Câu trả lời khá là đơ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 bộ test data họ đã có hoặc nếu hiện tại họ chưa có, họ có thể trợ giúp bạn bằng cách đưa ra thông tin phản hồi liên quan đến data đó trong thực tế có dạng như thế nào. Trong trường hợp bạn đang ở trong một dự án maintenance testing, bạn có thể sao chếp data từ môi trường production vào test. Đó là một hoạt động tốt để ẩn (scramble) dữ liệu nhạy cảm của khách hàng như số an ninh xã hội, số thẻ tín dụng, chi tiết ngân hàng,... trong khi các bản sao được thực hiện.

Test Data cho Security Testing

download (1).jpg

Security testing là quá trình xác nhận một hệ thống thông bảo mật data từ những mục đích xâm nhập bất hợp pháp. Tập hợp toàn bộ data phải được tạo ra để kiểm tra đầy đủ một phần mềm bảo mật, bao gồm các chủ đề sau:

  • 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 tuyệt đối và không được chia sẻ ra bên ngoài. Một ví dụ nhỏ, Nếu một ứng dụng sử dụng SSL, bạn có thể tạo một bộ data để xác nhận rằng việc mã hóa được thực hiện một cách chính xác.
  • Tính toàn vẹn: Xác nhận rằng nhữ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 có một cái nhìn tổng quan về thiết kế, code, cơ sỏ dữ liệu và cấu trúc tập tin.
  • Xác thực: Đại diện cho quá trình xây dựng đặc tính của người sử dụng. Test data có thể được tạo ra như một sự kết hợp khác nhau giữa tên người dùng và mật khẩu và mục đích của nó là để kiểm ra trường hợp chỉ có những người có quyền mới được truy cập vào hệ thống phần mềm.
  • Ủy quyền: Quyền lợi của một người dùng cụ thể là gì. Test data có thể là sự kết hợp khacs nhau của người dùng, vai trò và hoạt động để kiểm tra chỉ có người sử dụng mới có đầy đủ đặc quyền để thực hiện một hoạt động cụ thể. Test Data cho Black Box Testing Không thể nhìn thấy code trong quá trình Black box testing. Trường hợp functional test sử dụng test data có tiêu chuẩn sau:
  • Không có data: Kiểm tra hệ thống khi không có dữ liệu được submit.
  • Dữ liệu hợp lệ: Kiểm tra phản ứng của hệ thống khi dữ liệu được submit hợp lệ.
  • Dữ liệu không hợp lệ: Kiểm tra phản ứng của hệ thống khi dữ liệu được submit không hợp lệ.
  • Dữ liệu có định dạng không hợp lệ: Kiểm tra phản ứng của hệ thống khi dữ liệu có định dạng không hợp lệ.
  • Thiết lập giá trị biên của dữ liệu: Dữ liệu không có giá trị biên hợp lệ.
  • Thiết lập phân vùng tương đương của dữ liệu: Dữ liệu đủ điều kiện phân vùng tương đương.
  • Bảng quyết định của dữ liệu: Dữ liệu đủ điều kiện thực hiện test bảng quyết định.
  • Thiết lập chuyển vùng dữ liệu: Dữ liệu đáp ứng được trạng thái chuyển vùng dữ liệu.
  • Dữ liệu use case: Dữ liệu đồng bộ hóa với use case

Automated Test Data Generation

download (2).jpg

Để tạo ra những bộ test data khác nhau, bạn có thể sử dụng nhiều tool khác nhau để tạo ra chúng. ví dụ: Test data được tạo bởi GSApps có thể được sử dụng để tạo ra các data thông minh trong hầu hết các cơ sở dữ liệu hoặc tập tin văn bản. Nó cho phép người sử dụng để:

  • Hoàn thành test ứng dụng bởi quá trình nhân bản cơ sở dữ liệu với dữ liệu thông minh.
  • Tạo dữ liệu industry-specific có thể dùng để chứng minh.
  • Bảo vệ dữ liệu riêng bằng cách tạo ra bản sao của dữ liệu và có ẩn các giá trị.
  • Đẩy nhanh quá trình tạo dữ liệu và kiểm thử.

Bài viết được dịch lại từ nguồn: http://www.guru99.com/software-testing-test-data.html