Kỹ thuật kiểm thử phần mềm là cách thức giúp bạn thiết kế các trường hợp kiểm thử tốt hơn, kiểm soát được nhiều trường hợp hơn.
Dưới đây là các loại kỹ thuật kiểm thử thông dụng:
Phân vùng lớp tương đương cho phép bạn phân chia tập hợp các điều kiện kiểm tra thành một phân vùng nên đượ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 trường hợp kiểm thử nên được thiết kế.
Với các giá trị đầu vào chia thành các vùng tương đương:
Mục đích : Giảm đáng kể số lượng test case cần phải thiết kế vì với mỗi lớp tương đương ta chỉ cần test trên các phần tử đại diện.
Thiết kế Test-case bằng phân lớp tương đương tiến hành theo 2 bước:
Nguyên tắc:
Ví dụ: Thiết kế testcase cho ô text chỉ cho nhập số nguyên với độ dài ký tự thuộc [1-10] hoặc [20-30]
Với yêu cầu trên ta có các vùng:
Vì vậy ta có các case sau:
Case hợp lệ:
Nhập 5 ký tự
Nhập 25 ký tự số
Case không hợp lệ:
Không nhập vào trường
Nhập 15 ký tự
Nhập số thập phân
Nhập 35 kí tự
Nhập ký tự chữ: Tiếng việt, Tiếng anh, Full-size, Half-size
Nhập ký tự đặc biệt, space, kí tự Enter
Nhập câu lệnh SQL injection, HTML, XSS
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, Chúng ta sẽ tập trung vào các giá trị biên chứ không test toàn bộ dữ liệu. Thay vì chọn nhiều giá trị trong lớp đương tương để làm đại diện, phân tích giá trị biên yêu cầu chọn một hoặc vài giá trị là các cạnh của lớp tương đương để làm điều kiện test.
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.
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.
Phân tích giá trị biên sẽ chọn các giá trị:
Ví dụ: Với ví dụ trên ta có các case test sau:
=> Kết hợp kỹ thuật phân vùng tương đương với phân tích giá trị biên ta có các case test sau:
Bảng quyết định còn được gọi là bảng Nguyên nhân – Kết quả (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 cần sự kết hợp của các yếu tố đầu vào các biến.
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.
Đầu tiên là xác định đấu ra của các chức năng có 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.
Các bước để tạo bảng quyết định:
Ví dụ: Nút Submit chỉ được enable khi tất cả các đầu vào được nhập bởi người dùng cuố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:
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:
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.
Trên đây, mình đã giới thiệu một số kỹ thuật thường sử dụng để thiết kế test cases, vừa tiết kiệm thời gian vừa tăng độ bao phủ của test cases. Tùy vào yêu cầu của từng hệ thống mà áp dụng các kỹ thuật cho phù hợp.
Anh Tester
Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu