Home » None » Giới thiệu về Domain analysis testing

Giới thiệu về Domain analysis testing

Created by: ThanhDP, ThaoBTP (Date: 18-08-2017)

Domain analysis testing là gì?


  • Là một kiểu test chức năng, thực hiện test bằng cách cung cấp dữ liệu đầu vào và đánh giá kết quả thích hợp.
  • Là kỹ thuật giúp người dùng chọn lựa test case một cách tối thiểu trong trường hợp nhiều biến được kết hợp để kiểm tra cùng nhau.
  • Trong Domain testing, thường chia 1 domain thành các subdomain (phân vùng tương đương) sau đó test với các giá trị trong mỗi subdomain đó.
  • Domain testing không phải là kiến ​​thức chuyên biệt về một lĩnh vực nào đó mà nó là kỹ thuật dùng để test một hệ thống phần mềm.

Tại sao phải sử dụng domain analysis testing?


Mục tiêu chính của Domain testing là:

  • Kiểm tra xem liệu hệ thống có chấp nhận đầu vào (trong phạm vi chấp nhận được) và cung cấp đầu ra (cần thiết – đúng/sai)
  • Ngoài ra, nó cũng sẽ xác nhận điều kiện/giá trị đầu vào nào mà hệ thống không nên chấp nhận, đề phòng rủi ro, lỗi.
  • Kết hợp các biến đầu vào để giảm thời gian test. Ngoài ra, khi các biến tương tác với nhau, giá trị của biến này sẽ bị giới hạn bởi giá trị chấp nhận của biến khác. Trong trường hợp này 1 số defects không thể được phát hiện bằng cách kiểm tra chúng 1 cách riêng biệt

Kỹ thuật domain analysis testing được sử dụng khi nào?


  • Khi số lượng test case quá lớn, giảm thiểu được lượng case test
  • Sử dụng nó cho các đoạn mã nhỏ (bài toán nhỏ)
  • Phương pháp này chỉ hiệu quả trong trường hợp các đối số đầu vào (input variables) độc lập với nhau và mỗi đối số đều có 1 miền giá trị hữu hạn
    chi

Cách tạo test cases sử dụng kỹ thuật domain analysis?


Bước 1: Xác định các biến cần test
Bước 2: Chia các giá trị của mỗi biến thành các lớp tương đương
Bước 3: Tìm điểm ON, OFF và IN cho mỗi biên

  • ON point là một giá trị nằm trên một biên.
  • OFF point là một giá trị không nằm trên biên.
  • IN point là một giá trị đáp ứng tất cả các điều kiện trong khoảng hợp lệ nhưng không nằm trên 1 biên.
  • OUT point là một giá trị không thỏa mãn bất kỳ điều kiện biên nào.

Bước 4: Lập các trường hợp thử nghiệm
* Các giá trị ON và OFF của tham số đầu tiên sẽ được kiểm tra với các giá trị IN của các tham số còn lại
* Các giá trị ON và OFF của tham số thứ 2 sẽ được kiểm tra với các giá trị IN của các tham số còn lại.

Bước 5: Ngoài ra cần xét các trường hợp đặc biệt
* Default, Empty, Blank, Null, Zero, và None
* Invalid, Wrong, Incorrect, và Garbage (vô nghĩa) Data

Ví dụ


1. Đề bài: ***
*** Một ứng dụng phát video cho phép người dùng thay đổi tỷ lệ chiều rộng/chiều cao của video sao cho phù hợp với tỷ lệ màn hình.
Giao diện có 2 input box, dùng để nhập giá trị chiều rộng(Width) và chiều cao (Height). Và một nút submit.
Các giá trị chiều rộng/chiều cao chấp nhận được là chiều rộng từ 20-200, chiều cao từ 10-150.
Khi bấm submit sẽ thực hiện đưa ra tỉ lệ màn hình phù hợp. Hãy tạo các test case sử dụng kỹ thuật domain analysis


2. Áp dụng cách tạo test case với ví dụ trên
Bước 1: Xác định các biến cần test


Bước 2: Chia các giá trị của mỗi biến thành các lớp tương đương


Bước 3: Tìm điểm ON, OFF và IN cho mỗi biên


Bước 4: Lập các trường hợp thử nghiệm
* Các giá trị ON và OFF của tham số đầu tiên sẽ được kiểm tra với các giá trị IN của các tham số còn lại
* Các giá trị ON và OFF của tham số thứ 2 sẽ được kiểm tra với các giá trị IN của các tham số còn lại.


Bước 5: Ngoài ra cần xét các trường hợp đặc biệt
* Default, Empty, Blank, Null, Zero, và None
Ví dụ: Không nhập chiều cao, chiều rộng ⇒ Click submit
     Dữ liệu ở trạng thái default ⇒ Click submit
* Invalid, Wrong, Incorrect, và Garbage (vô nghĩa) Data:
Ví dụ: Nhập chữ vào ô input đó.

3. So sánh với kỹ thuật Decision Table

Bước 1: Phân tích

Bước 2: Tính số rule

Bước 3: Giản lược rule


Tài liệu tham khảo


https://www.guru99.com/domain-testing.html
http://blog.qatestlab.com/2016/03/02/domain-analysis-testing/

http://gee.cs.oswego.edu/dl/oosdw3/ch13.html

http://flylib.com/books/en/2.156.1.59/1/
http://www.testingeducation.org/k04/DomainExamples.htm
http://rbcs-us.com/resources/articles/using-domain-analysis-for-testing/
https://fenix.tecnico.ulisboa.pt/downloadFile/3779576267996/04%20-%20DomainTesting.pdf
https://voer.edu.vn/c/kiem-tra-mien/4c771e16/36f4036e
https://viblo.asia/p/100-khai-niem-test-danh-cho-tester-roaerJOxeRM

How to Dramatically Reduce the Number of Test Cases Combinations Using Pairwise Testing