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

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

Kỹ thuật kiểm thử phần mềm giúp bạn thiết kế các trường hợp tốt hơn. Vì kiểm thử toàn diện là không thể. Kỹ thuật kiểm thử giúp giảm số lượng các test cases được thực hiện trong khi tăng phạm vi kiểm thử, giúp xác định các điều kiện kiểm thử khó nhận biết.

test php

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.

Trong bài viết này, bạn sẽ tìm hiểu 5 kỹ thuật kiểm thử phần mềm quan trọng:

  • Phân tích giá trị biên (Boundary Value Analysis - BVA)
  • Phân vùng tương đương (Equivalence Class Partitioning)
  • Bảng quyết định (Decision Table based testing)
  • Chuyển đổi trạng thái (State Transition)
  • Đoán lỗi (Error Guessing)

1. Phân tích giá trị biên

Phân tích giá trị biên dựa trên việc kiểm thử tại các ranh giới giữa các phân vùng, bao gồm các ranh giới tối đa, tối thiểu, bên trong hoặc bên ngoài, các giá trị điển hình và giá trị lỗi.

Chúng ta thường thấy rằng một số lượng lớn lỗi xảy ra tại các ranh giới của các giá trị đầu vào được xác định thay vì các giá trị giữa, còn được gọi là các giá trị biên. Từ đó đưa ra lựa chọn các test cases thực hiện giá trị đầu vào các giá trị biên.

Bài viết này được đăng tại [free tuts .net]

Kỹ thuật thiết kế test cases này bổ sung cho phân vùng tương đương. Kỹ thuật kiểm thử phần mềm này dựa trên nguyên tắc: Nếu một hệ thống hoạt động tốt với các giá trị biên thì nó sẽ hoạt động tốt cho tất cả các giá trị nằm giữa hai giá trị biên.

Cách thực hiện kỹ thuật phân tích giá trị biên:

  • Nếu một điều kiện đầu vào bị giới hạn giữa các giá trị x và y, thì các test cases phải được thiết kế với các giá trị x và y cũng như các giá trị ở trên và dưới x và y.
  • Nếu một điều kiện đầu vào là một số lượng lớn các giá trị, test cases cần được thiết kế với dữ liệu là các số min và max, các giá trị trên và dưới giá trị min và max cũng được kiểm thử.
  • Áp dụng 2 cách thực hiện trên cho các điều kiện đầu ra, đầu ra mong đợi phản ánh giá trị min và giá trị max cũng như các giá trị dưới hoặc trên.

Ví dụ

Điều kiện đầu vào có giá trị từ 1 đến 10

Giá trị biên 0,1,2 và 9,10,11

2. Phân vùng tương đương

Phân vùng tương đương cho phép chia tập hợp điều kiện kiểm thử thành một phân vùng được coi là giống nhau.

Phương pháp kiểm thử phần mềm này chia miền đầu vào của chương trình thành các lớp dữ liệu mà từ đó các test cases sẽ được thiết kế.

Test cases của một giá trị đại diện thuộc mỗi lớp bằng với kiểm thử của bất kỳ giá trị nào khác của cùng một lớp đó, cho phép xác định các lớp tương đương hợp lệ cũng như không hợp lệ.

Ví dụ

Điều kiện đầu vào có giá trị trong khoảng:

 1 đến 10 và 20 đến 30

Do đó có ba lớp tương đương:

--- đến 0 (không hợp lệ)

1 đến 10 (hợp lệ)

11 đến 19 (không hợp lệ)

20 đến 30 (hợp lệ)

31 đến --- (không hợp lệ)

Bạn chọn các giá trị từ mỗi lớp, tức là:

-2, 3, 15, 25, 45

3. Bảng quyết định

Bảng quyết định còn được gọi là bảng Nguyên nhân – Ảnh hưởng (Cause-Effect). Kỹ thuật kiểm thử phần mềm này được sử dụng cho các chức năng đáp ứng sự kết hợp của các yếu tố đầu vào các biến cố. Ví dụ: Nút Submit phải được enable nếu người dùng đã nhập tất cả các trường bắt buộc.

Nhiệm vụ đầu tiên là xác định các chức năng trong đó đầu ra phụ thuộc vào sự kết hợp của các đầu vào. Nếu có tập hợp kết hợp đầu vào lớn, thì hãy chia nó thành các tập hợp nhỏ hơn hữu ích cho việc quản lý bảng quyết định.

Đối với mọi chức năng, cần tạo một bảng và liệt kê tất cả các loại kết hợp đầu vào và đầu ra tương ứng. Điều này giúp xác định các điều kiện bị tester bỏ qua.

Sau đây là các bước để tạo bảng quyết định:

  • Nhập đầu vào theo hàng
  • Nhập tất cả các quy tắc trong cột
  • Điền vào bảng với sự kết hợp của đầu vào
  • Trong hàng cuối cùng, ghi chú đầu ra so với kết hợp đầu vào.

Ví dụ: Nút Submit trong form Liên hệ chỉ được enable khi tất cả các đầu vào được nhập bởi người dùng cuối.

Bang quyet dinh png

4. Chuyển đổi trạng thái

Trong kỹ thuật Chuyển đổi trạng thái, các thay đổi trong điều kiện đầu vào sẽ thay đổi trạng thái của Ứng dụng đang được Kiểm thử (Application Under Test - AUT). Kỹ thuật kiểm thử này cho phép người kiểm thử kiểm thử những cách xử lý của AUT. Tester có thể thực hiện hành động này bằng cách nhập các điều kiện đầu vào khác nhau theo trình tự.

Nhóm kiểm thử cung cấp các giá trị kiểm thử đầu vào tích cực cũng như tiêu cực để đánh giá xử lý của hệ thống.

Cách thực hiện kỹ thuật chuyển đổi trạng thái:

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

Ví dụ:

Trong ví dụ sau, nếu người dùng nhập mật khẩu hợp lệ trong bất kỳ ba lần thử đầu tiên sẽ đăng nhập thành công. Nếu người dùng nhập mật khẩu không hợp lệ trong lần thử đầu tiên hoặc lần thứ hai, người dùng sẽ được nhắc nhập lại mật khẩu. Khi người dùng nhập mật khẩu không đúng lần thứ 3, tài khoản sẽ bị chặn.

Sơ đồ chuyển đổi trạng thái:

so do chuyen doi trang thai png

Trong sơ đồ này, khi người dùng cung cấp số PIN chính xác sẽ được chuyển sang trạng thái được cấp quyền truy cập. Bảng sau được tạo dựa trên sơ đồ trên:

Bảng chuyển đổi trạng thái:

Trạng thái Mã PIN chính xác PIN không chính xác
S1: Bắt đầu S5 S2
S2: Thử lại lần 1 S5 S3
S3: Thử lại lần 2 S5 S4
S4: Thử lại lần 3 S5 S6
S5: Quyền truy cập được cấp - -
S6: Tài khoản bị chặn - -

Trong bảng đã cho ở trên, khi người dùng nhập mã PIN chính xác, trạng thái được chuyển sang "Quyền truy cập được cấp". Nếu người dùng nhập mật khẩu không chính xác sẽ được chuyển sang trạng thái tiếp theo. Nếu người dùng nhập mật khẩu không chính xác lần thứ 3 sẽ đạt đến trạng thái bị chặn tài khoản.

5. Đoán lỗi

Đoán lỗi là một kỹ thuật kiểm thử phần mềm dựa trên việc đoán lỗi có thể chiếm ưu thế trong code. Đây là một kỹ thuật dựa trên kinh nghiệm, trong đó nhà phân tích kiểm thử sử dụng kinh nghiệm của mình để đoán phần có vấn đề hoặc có lỗi của ứng dụng kiểm thử.

Kỹ thuật xác định danh sách các lỗi có thể xảy ra hoặc các tình huống dễ xảy ra lỗi. Sau đó, người kiểm thử viết test cases để tìm kiếm những lỗi đó. Để thiết kế các test cases dựa trên kỹ thuật kiểm thử phần mềm này, nhà phân tích có thể sử dụng các kinh nghiệm trong quá khứ để xác định các điều kiện.

Cách đoán lỗi:

  • Tester nên sử dụng kinh nghiệm trước đây để kiểm thử các ứng dụng tương tự
  • Hiểu biết về hệ thống đang kiểm thử
  • Kiến thức về các lỗi thực hiện điển hình
  • Nhớ những chức năng phức tạp trước đây
  • Đánh giá lịch sử dữ liệu và kết quả kiểm thử

6. Kết luận

Kỹ thuật kiểm thử phần mềm cho phép bạn thiết kế các trường hợp tốt hơn. Có năm kỹ thuật được sử dụng chủ yếu:

  • Phân tích giá trị biên: Thực hiện kiểm thử tại các ranh giới giữa các phân vùng.
  • Phân vùng lớp tương đương: Cho phép chia tập hợp điều kiện kiểm thử thành một phân vùng có các giá trị tương tự nhau.
  • Bảng quyết định: Được sử dụng cho các chức năng đáp ứng sự kết hợp của các yếu tố đầu vào hoặc các biến cố.
  • Kỹ thuật Chuyển đổi trạng thái: Các thay đổi trong điều kiện đầu vào sẽ thay đổi trạng thái của Ứng dụng đang được Kiểm thử (AUT)
  • Đoán lỗi: Là một kỹ thuật kiểm thử phần mềm dựa trên việc đoán lỗi, có thể chiếm ưu thế trong Code.

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…

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…

Thủ thuật để tạo dữ liệu kiểm thử

Thủ thuật để tạo dữ liệu kiểm thử

Data được sử dụng trong kiểm thử mô tả các điều kiện tiền đề của…

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