Các kỹ thuật kiểm thử thiết kế Test Case chất lượng- ITNavi

ITNavi 24 Aug 2022 21045

Kiểm thử toàn bộ là điều không thể thuộc 7 nguyên tắc quan trọng mà tester cần tuân theo. Thay vì tiến hành kiểm tra toàn diện, các tester có thể áp dụng các kỹ thuật kiểm thử phần mềm để thiết kế được số Test Case tối thiểu với mức bao phủ tối đa. ITNavi sẽ tìm hiểu và đưa ví dụ cụ thể về 5 kỹ thuật kiểm thử tiêu biểu nhất hiện nay tại bài viết dưới đây!

các kỹ thuật kiểm thử phần mềm - ảnh 1

Các kỹ thuật kiểm thử giúp xây dựng số Test Case tối thiểu với mức bao phủ tối đa

 

Các kỹ thuật kiểm thử phần mềm thiết kế Test Case phổ biến nhất bao gồm: Phân vùng tương đương (Equivalence partitioning), Phân tích giá trị biên (Boundary value analysis), Bảng quyết định (Decision Tables), Đoán lỗi (Error guessing), Chuyển đổi trạng thái (State Transition).

 

1. Phân vùng tương đương (Equivalence partitioning)

 

Phân vùng tương đương là kỹ thuật chia đầu vào thành những nhóm tương đương nhau. Nếu một giá trị trong nhóm hoạt động đúng thì tất cả các giá trị trong nhóm đó cũng hoạt động đúng và ngược lại. 

Thiết kế Test-case bằng phân vùng tương đương tiến hành theo 2 bước: Xác định các lớp tương đương và xác định các ca kiểm thử. Khi thực hiện kỹ thuật Equivalence partitioning, đầu vào sẽ được chia theo nguyên tắc:

  • 1 lớp các giá trị lớn hơn.
  • 1 lớp các giá trị nhỏ hơn.
  • 1 lớp các giá trị hợp lệ.

 

các kỹ thuật kiểm thử phần mềm - ảnh 2

Phân vùng tương đương là kỹ thuật chia đầu vào thành những nhóm tương đương nhau.

 

Ví dụ: Mật khẩu chỉ được nhập Zip code 5 số. Coi đầu vào là X = 5, áp dụng kỹ thuật phân vùng tương tương ta có 3 lớp giá trị đầu vào: Lớp giá trị hợp lệ X = 5, lớp giá trị không hợp lệ X < 5 và X > 5. Từ các lớp tương đương phát triển thành Test Case như sau:

  1. Nhập Zip Code = 5 => Hợp lệ
  2. Nhập Zip Code < 5 => Không hợp lệ
  3. Nhập Zip Code > 5 => Không hợp lệ

 

2. Phân tích giá trị biên (Boundary value analysis)

 

Phân tích giá trị biên là phương pháp test tất cả các giá trị ở vùng biên của dữ liệu vào và dữ liệu ra. Các tester sẽ tập trung vào các giá trị biên chứ không test toàn bộ dữ liệu. Do đó, thay vì phải kiểm thử toàn bộ dữ liệu vào và ra, ta có thể test từ 4 - 6 case mà vẫn đảm bảo hệ thống hoạt động tốt.

Boundary conditions là các vị trí ở giữa, trên và dưới các biên của lớp tương đương. Khi áp dụng kỹ thuật phân tích giá trị biên, người kiểm thử sẽ chọn các giá trị:

  • Giá trị nhỏ nhất
  • Giá trị ngay dưới giá trị nhỏ nhất
  • Giá trị bình thường
  • Giá trị lớn nhất
  • Giá trị ngay trên giá trị lớn nhất

 

các kỹ thuật kiểm thử phần mềm - ảnh 3

Boundary value analysis phân chia dữ liệu thành 5 giá trị cơ bản

 

Ví dụ: Số lượng sản phẩm cần mua chỉ được phép điền từ [0-10]. Áp dụng kỹ thuật phân tích giá trị biên ta sẽ có các giá trị: 

  • Giá trị nhỏ nhất: 0
  • Giá trị ngay dưới giá trị nhỏ nhất: -1
  • Giá trị bình thường: 5
  • Giá trị ngay trên giá trị lớn nhất: 11
  • Giá trị lớn nhất: 10

Từ các giá trị phát triển thành các Test Case như sau:

  1. Nhập số lượng sản phẩm = 0 => Hợp lệ
  2. Nhập số lượng sản phẩm = 5 => Hợp lệ
  3. Nhập số lượng sản phẩm = 10 => Hợp lệ
  4. Nhập số lượng sản phẩm = -1 => Không hợp lệ
  5. Nhập số lượng sản phẩm = 11 => Không hợp lệ

 

3. Bảng quyết định (Decision Tables)

 

Trong các kỹ thuật viết Test Case, đối với các trường dữ liệu đơn như textbox, các tester thường sử dụng các phương pháp phân vùng tương đương hay phân tích giá trị biên. Đối với kiểm thử hành vi của hệ thống với nhiều trường dữ liệu, Bảng quyết định (Decision table) sẽ giúp chúng ta phân loại và định hình được kịch bản kiểm thử một cách chính xác và rõ ràng hơn.

Bảng quyết định là một kỹ thuật tốt để áp dụng cho những trường hợp cần nhiều sự kết hợp. Kỹ thuật này hỗ trợ việc lựa chọn Test Case tối thiểu một cách có hệ thống kỹ thuật với độ bao phủ tối đa.

Có 4 bước để người kiểm thử tạo được Decision Tables:

  • Liệt kê tất cả Conditions/Inputs.
  • Tính số lượng kết hợp có thể (Rules).
  • Đặt tất cả các kết hợp trong bảng. 
  • Giảm thiểu các case kết hợp và quyết định Test Case.

 

Ví dụ: Tại màn hình Login có 2 field: “User Name” và “Password”. Chỉ login thành công nếu nhập đúng cả 2 field “User Name” và “Password”. Các trường hợp còn lại được hệ thống hiển thị thông báo “Nhập không chính xác. Vui lòng nhập lại”  

Áp dụng kỹ thuật Decision Tables, ta xây dựng được bảng kết hợp sau:

(Mỗi giá trị đầu vào sẽ có 2 dạng: T (True - Đúng) và F (Fail - Sai)

Input

Giá trị 1

Giá trị 2

Giá trị 3

Giá trị 4

User Name

T

T

F

F

Password

T

F

T

F

Output

Login thành công

Login không thành công

Login không thành công

Login không thành công

 

Từ bản kết hợp, các tester phát triển thành các Test Case như sau:

  1. Nhập đúng cả hai  field “User Name” và “Password” => Login thành công
  2. Nhập đúng field “User Name”, nhập sai field “Password” => Login không thành công
  3. Nhập sai field “User Name”, nhập đúng field “Password” => Login không thành công
  4. Nhập sai cả hai  field “User Name” và “Password” => Login không thành công

 

4. Đoán lỗi (Error guessing)

 

Đoán lỗi là kỹ thuật mô tả hành động phỏng đoán lỗi thường gặp của hệ thống dựa trên trực giác và kinh nghiệm của các tester. Người kiểm thử sẽ liệt kê các loại lỗi có thể xảy ra và cho vào Test Case để kiểm tra xác minh vấn đề.

Phương pháp này đặc biệt dựa vào kinh nghiệm và kiến thức của tester. Kỹ thuật đoán lỗi không tuân theo bất kỳ quy tắc cụ thể nào, Test Case có thể được thiết kế tùy thuộc vào nhiều yếu tố như: Đặc trưng hoạt động của phần mềm, lỗi đã xuất hiện ở các dự án tương tự khác…

Các yếu tố mà người kiểm thử hay sử dụng để đoán lỗi:

  • Trực giác kiểm thử.
  • Có kiến thức liên quan, hiểu rõ về hệ thống.
  • Bài học rút ra từ các lần kiểm thử phần mềm trước, các lỗi thường gặp…
  • Tập trung test theo từng phần, từng chức năng sẽ giúp tester chú trọng và lý giải những vấn đề xảy ra ở vùng nào.

 

Ví dụ

  • Dự đoán trường hợp nhập khoảng trắng vào các field văn bản
  • Kiểm tra xử lý hệ thống khi click button khi chưa nhập giá trị
  • Lường trước lỗi xảy ra khi thiết định lại cài đặt của thiết bị kiểm thử

 

5. Chuyển đổi trạng thái (State Transition)

 

Chuyển đổi trạng thái được hiểu là kỹ thuật thay đổi điều kiện đầu vào gây ra sự biến đổi trạng trái trong Ứng dụng được kiểm thử (Application under Test - AUT). Các tester thực hiện kỹ thuật này bằng cách nhập các điều kiện đầu vào khác nhau nhưng vẫn tuân theo một trình tự được thiết lập sẵn. Các giá trị kiểm tra đầu vào sẽ bao gồm: Tích cực và tiêu cực để đánh giá hành vi của hệ thống một cách chuẩn xác nhất.

Kỹ thuật chuyển đổi trạng thái nên được sử dụng khi các tester đang kiểm tra ứng dụng cho một tập hợp giới hạn các giá trị đầu vào. Ngoài ra, kỹ thuật này nên được sử dụng khi nhóm tester muốn kiểm tra chuỗi sự kiện xảy ra trong ứng dụng.

 

các kỹ thuật kiểm thử phần mềm - ảnh 4

Sơ đồ minh họa kỹ thuật chuyển đổi trạng thái.

 

Ví dụ

Nếu user nhập mật khẩu hợp lệ trong 3 lần thử bất kỳ đầu tiên, hệ thống xử lý đăng nhập thành công. Nếu user nhập mật khẩu không hợp lệ trong lần thử đầu tiên hoặc lần thứ hai, hệ thống sẽ báo nhập lại mật khẩu. Khi user nhập sai mật khẩu lần thứ 3, hệ thống sẽ không cho nhập lại mật khẩu và tiến hành khóa tài khoản.

Một số Test Case được tạo từ chuỗi sự kiện trên như sau:

a. Nhập sai mật khẩu lần 1 => Hệ thống báo nhập lại mật khẩu

b. Nhập sai mật khẩu lần 2 => Hệ thống báo nhập lại mật khẩu

c. Nhập sai mật khẩu lần 3 => Hệ thống báo khóa tài khoản

d. Nhập sai mật khẩu lần 1, đúng lần 2 => Đăng nhập thành công

e. Nhập sai mật khẩu 2 lần, đúng lần 3 => Đăng nhập thành công


 

Kết luận

 

Việc đảm bảo bộ Test Case luôn vừa có độ bao phủ tốt, vừa được tối ưu để tiết kiệm thời gian và chi phí luôn là một thách thức lớn đối với bất kỳ Tester nào. Chính vì thế việc nắm rõ được các kỹ thuật kiểm thử là một điều quan trọng thiết yếu đối với các Tester. Hi vọng với bài viết trên, ITNavi đã giúp các bạn nắm được 5 kỹ thuật kiểm thử chính: Phân tích giá trị biên, phân vùng tương đương, bảng kết hợp, chuyển đổi trạng thái và đoán lỗi. Vận dụng tốt 5 kỹ thuật kiểm thử trên sẽ giúp các tester tạo được bộ Test Case chất lượng cao.

 

Mở rộng ngay cơ hội việc làm Tester tại ITNavi - Nền tảng kết nối việc làm IT với hơn 1000++ jobs cập nhật mỗi ngày.

 

Xem thêm:

1000 việc làm IT tại Nền tảng kết nối việc làm ITNavi

6 giai đoạn của quy trình kiểm thử phần mềm

Từ A-Z về kiểm thử hộp trắng

ITNavi - Nền tảng kết nối việc làm IT

Nguồn: Các kỹ thuật kiểm thử thiết kế Test Case chất lượng- ITNavi

Bài viết liên quan

NEWSLETTER

Nhập địa chỉ email của bạn dưới đây để đăng ký nhận tin mới nhất

KẾT NỐI VÀ THEO DÕI