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