Kỹ thuật kiểm thử phần mềm với các ví dụ thiết kế trường hợp kiểm thử
⚡ Tóm tắt thông minh
Các kỹ thuật kiểm thử phần mềm giúp thiết kế các trường hợp kiểm thử tốt hơn bằng cách giảm nhu cầu thực thi đồng thời tối đa hóa phạm vi bao phủ, xác định các điều kiện khó nắm bắt thông qua các phương pháp thủ công có cấu trúc. Các phương pháp hộp đen này, chẳng hạn như Phân tích Giá trị Biên và Phân vùng Tương đương, ưu tiên các ranh giới và phân vùng để xác thực hiệu quả. Chúng bổ sung cho các hạn chế kiểm thử toàn diện, dựa trên các nguyên tắc cốt lõi để nâng cao độ tin cậy.

Kỹ thuật kiểm thử phần mềm là gì?
Kỹ thuật Kiểm thử Phần mềm giúp bạn thiết kế các trường hợp kiểm thử tốt hơn. Vì không thể kiểm thử toàn diện, Kỹ thuật Kiểm thử Thủ công giúp giảm số lượng trường hợp kiểm thử cần thực hiện đồng thời tăng phạm vi kiểm thử. Chúng giúp xác định các điều kiện kiểm thử mà thông thường rất khó nhận biết. Kỹ thuật Kiểm thử Phần mềm có thể được phân loại thành các loại sau:
- Phân tích giá trị biên
- Phân vùng lớp tương đương
- Kiểm tra dựa trên bảng quyết định
- Chuyển đổi trạng thái
- Lỗi đoán
👉 Đăng ký tham gia Dự án Kiểm thử Phần mềm Trực tiếp Miễn phí
7 Nguyên tắc của Kỹ thuật Kiểm thử Phần mềm
Kỹ thuật Kiểm thử Phần mềm tuân theo một bộ nguyên tắc để thực hiện quy trình kiểm thử. 7 nguyên tắc này hướng dẫn người kiểm thử lập kế hoạch, thiết kế và thực hiện kiểm thử một cách hiệu quả. Những nguyên tắc này đảm bảo việc kiểm thử luôn có mục đích, hiệu quả và phù hợp với mục tiêu của dự án.
7 nguyên tắc của Kỹ thuật Kiểm thử Phần mềm là Kiểm tra cho thấy sự hiện diện của lỗi, Kiểm tra toàn diện là không thể, Kiểm tra sớm giúp tiết kiệm thời gian và chi phí, Lỗi Clustering, Nghịch lý thuốc trừ sâu, Kiểm tra phụ thuộc vào bối cảnh và Ngụy biện không có lỗi. Bạn có thể nhấp vào mục sau liên kết này để tìm hiểu thêm.
AI đang thay đổi các kỹ thuật kiểm thử phần mềm truyền thống như thế nào?
AI đang cách mạng hóa việc kiểm thử phần mềm bằng cách giới thiệu tự động hóa, dự đoán và khả năng thích ứng. Nó cho phép tạo trường hợp kiểm tra tự động từ ngôn ngữ tự nhiên sử dụng LLM, các tập lệnh tự phục hồi thích ứng với những thay đổi của UI và phân tích lỗi dự đoán dựa trên dữ liệu lịch sử. AI cũng hỗ trợ ưu tiên dựa trên rủi ro, thử nghiệm trực quan, và thực hiện thử nghiệm tự động trong các đường ống CI/CD. Thông qua giao diện ngôn ngữ tự nhiên, Người kiểm thử có thể tạo ra các trường hợp theo cách trò chuyện, giúp tăng tốc quy trình làm việc. Về bản chất, AI giúp việc kiểm thử thông minh hơn, nhanh hơn và kiên cường hơn, giảm thiểu công sức thủ công đồng thời cải thiện độ chính xác và phạm vi phủ sóng trên các ứng dụng hiện đại, đang phát triển.
Kỹ thuật kiểm thử phần mềm
Phân tích giá trị biên (BVA)
Phân tích giá trị biên dựa trên việc kiểm tra ranh giới giữa các phân vùng. Nó bao gồm các giá trị biên cực đại, cực tiểu, bên trong hoặc bên ngoài, giá trị điển hình và giá trị lỗi.
Bằng chứng thực nghiệm cho thấy nhiều khuyết tật xảy ra gần điều kiện biên hơn là giá trị trung bình. Nó còn được gọi là BVA và cung cấp một lựa chọn các trường hợp thử nghiệm thực hiện các giá trị biên.
Kỹ thuật kiểm thử hộp đen này bổ sung cho Phân vùng Tương đương bằng cách tập trung vào các trường hợp biên của cùng một dải đầu vào. Kỹ thuật kiểm thử phần mềm này dựa trên nguyên tắc rằng nếu một hệ thống hoạt động chính xác với các giá trị biên, thì nó có khả năng hoạt động với tất cả các giá trị trong dải.
Hướng dẫn phân tích giá trị biên
- Nếu điều kiện đầu vào bị giới hạn giữa các giá trị x và y, thì các trường hợp thử nghiệm phải được thiết kế với các giá trị x và y, cũng như các giá trị cao hơn và thấp hơn x và y.
- Nếu điều kiện đầu vào là một số lượng lớn các giá trị, trường hợp thử nghiệm nên được phát triển để thực hiện các giá trị tối thiểu và tối đa. Ở đây, các giá trị cao hơn và thấp hơn giá trị tối thiểu và tối đa cũng được kiểm tra.
- Áp dụng hướng dẫn 1 và 2 cho các điều kiện đầu ra. Nó sẽ cho ra kết quả phản ánh giá trị tối thiểu và tối đa mong đợi. Nó cũng kiểm tra các giá trị thấp hơn hoặc cao hơn các giá trị này.
Ví dụ:
Input condition is valid between 1 to 10 Boundary values 0,1,2 and 9,10,11
Phân vùng lớp tương đương
Phân vùng Lớp Tương đương chia tập hợp các điều kiện đầu vào thành các nhóm dự kiến sẽ tạo ra hành vi tương tự. Phương pháp kiểm thử phần mềm này chia miền đầu vào của một chương trình thành các lớp dữ liệu mà từ đó các trường hợp kiểm thử cần được thiết kế.
Khái niệm đằng sau Kỹ thuật Thiết kế Trường hợp Kiểm thử này là một trường hợp kiểm thử của một giá trị đại diện cho mỗi lớp sẽ bằng với một trường hợp kiểm thử của bất kỳ giá trị nào khác cùng lớp. Nó cho phép bạn 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 to 10 and 20 to 30
Do đó, có năm lớp tương đương
--- to 0 (invalid) 1 to 10 (valid) 11 to 19 (invalid) 20 to 30 (valid) 31 to --- (invalid)
Bạn chọn các giá trị từ mỗi lớp, nghĩa là
-2, 3, 15, 25, 45
Cũng đọc thêm về – Phân tích giá trị biên và kiểm tra phân vùng tương đương
Kiểm tra dựa trên bảng quyết định
Bảng quyết định còn được gọi là bảng Nguyên nhân-Kết quả. Kỹ thuật kiểm thử phần mềm này được sử dụng cho các hàm phản hồi với sự kết hợp của các yếu tố đầu vào hoặc sự kiện. Ví dụ: trong một tình huống xác thực biểu mẫu, nút "Gửi" chỉ được kích hoạt sau khi tất cả các trường bắt buộc đã được điền đầy đủ.
Nhiệm vụ đầu tiên là xác định các chức năng mà đầu ra phụ thuộc vào sự kết hợp của các yếu tố đầu vào. Nếu có một tập hợp các yếu tố đầu vào lớn, hãy chia nó thành các tập con nhỏ hơn, hữu ích cho việc quản lý bảng quyết định.
Với mỗi hàm, bạn 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 của chúng. Điều này giúp xác định tình trạng mà người kiểm thử bỏ sót.
Sau đây là các bước để tạo bảng quyết định:
- Liệt kê các đầu vào theo hàng
- Nhập tất cả các quy tắc vào cột
- Điền vào bảng với các kết hợp đầu vào khác nhau
- Ở hàng cuối cùng, ghi lại kết quả đầu ra so với tổ hợp đầu vào.
Ví dụ:Nút gửi trong biểu mẫu liên hệ chỉ được bật khi người dùng cuối đã nhập đầy đủ thông tin.
Chuyển đổi trạng thái
Trong kỹ thuật Chuyển đổi Trạng thái, những thay đổi trong điều kiện đầu vào sẽ thay đổi trạng thái của Ứng dụng Đang Kiểm tra (AUT). Kỹ thuật kiểm thử này cho phép người kiểm thử kiểm tra hành vi của AUT. Người kiểm thử 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ự. Trong kỹ thuật Chuyển đổi Trạng thái, nhóm kiểm thử cung cấp cả giá trị kiểm thử đầu vào dương và âm để đánh giá hành vi của hệ thống.
Hướng dẫn chuyển đổi trạng thái:
- Chuyển đổi trạng thái nên được sử dụng khi nhóm thử nghiệm đang thử nghiệm ứng dụng cho một tập hợp giá trị đầu vào giới hạn.
- Kỹ thuật thiết kế trường hợp thử nghiệm nên được sử dụng khi nhóm thử nghiệm muốn thử nghiệm một chuỗi các sự kiện xảy ra trong ứng dụng đang được thử nghiệm.
Ví dụ:
Trong ví dụ sau, người dùng có thể đăng nhập thành công sau khi nhập mật khẩu hợp lệ trong ba lần thử. 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 sai mật khẩu, hệ thống sẽ yêu cầu người dùng nhập lại mật khẩu.rd khi đó, hành động sẽ được thực hiện và 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 nhập đúng mã PIN, họ sẽ được chuyển sang trạng thái Đã cấp quyền truy cập. Bảng sau được tạo dựa trên sơ đồ trên:
Bảng chuyển trạng thái
| Mã PIN chính xác | Mã PIN không chính xác | |
|---|---|---|
| S1) Bắt đầu | S5 | S2 |
| S2) 1st nỗ lực | S5 | S3 |
| S3) 2nd nỗ lực | S5 | S4 |
| S4) 3rd nỗ lực | S5 | S6 |
| S5) Đã cấp quyền truy cập | – | – |
| S6) Tài khoản bị chặn | – | – |
Trong bảng trên, khi người dùng nhập đúng mã PIN, trạng thái sẽ chuyển sang Đã cấp quyền truy cập. Nếu người dùng nhập sai mật khẩu, người đó sẽ được chuyển sang trạng thái tiếp theo. Nếu người dùng nhập sai mật khẩu, trạng thái sẽ thay đổi.rd thời gian, anh ta sẽ đạt đến trạng thái bị chặn tài khoản.
Lỗi đoán
Lỗi đoán là một kỹ thuật kiểm thử phần mềm, trong đó người kiểm thử sử dụng kinh nghiệm và trực giác để dự đoán các lỗi có thể xảy ra trong mã. Kỹ thuật này chủ yếu dựa trên kinh nghiệm, trong đó các nhà phân tích kiểm thử sử dụng kinh nghiệm của mình để dự đoán phần có vấn đề của ứng dụng kiểm thử. Do đó, các nhà phân tích kiểm thử phải có kỹ năng và kinh nghiệm để dự đoán lỗi tốt hơn.
Kỹ thuật này đếm một 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 tra viết một trường hợp thử nghiệm để phát hiện những lỗi đó. Để thiết kế các trường hợp kiểm thử 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 kinh nghiệm trong quá khứ để xác định các điều kiện.
Hướng dẫn đoán lỗi:
- Việc kiểm thử nên sử dụng kinh nghiệm kiểm thử các ứng dụng tương tự trước đây
- Hiểu biết về hệ thống đang được thử nghiệm
- Kiến thức về các lỗi triển khai điển hình
- Ghi nhớ những khu vực gặp khó khăn trước đây
- Đánh giá dữ liệu lịch sử và kết quả thử nghiệm
Ưu điểm và hạn chế của các kỹ thuật thử nghiệm
Ưu điểm:
- Cải thiện phạm vi kiểm tra và đảm bảo xác thực rộng rãi hơn chức năng của phần mềm.
- Tăng cường phát hiện lỗi bằng cách nhắm mục tiêu vào các khu vực có nguy cơ cao hoặc dễ xảy ra lỗi.
- Promothiết kế thử nghiệm có hệ thống, giảm sự trùng lặp và chồng chéo.
- Giúp xác định các vấn đề sớm trong SDLC, giảm tổng chi phí dự án.
- Đơn giản hóa việc thử nghiệm phức tạp thông qua các phương pháp như BVA và Phân vùng tương đương.
- Tăng cường độ tin cậy của phần mềm và sự tin tưởng của các bên liên quan vào chất lượng sản phẩm.
Hạn chế:
- Không có kỹ thuật đơn lẻ nào có thể đảm bảo phát hiện hoàn toàn lỗi.
- Một số kỹ thuật phụ thuộc rất nhiều vào kinh nghiệm và khả năng đánh giá của người thử nghiệm.
- Có thể bỏ qua các vấn đề về tích hợp, khả năng sử dụng hoặc hiệu suất thực tế.
- Những hạn chế về thời gian và nguồn lực có thể hạn chế việc áp dụng triệt để.
- Một số phương pháp cung cấp hỗ trợ tự động hóa hạn chế, làm giảm khả năng mở rộng.
Làm thế nào để chọn đúng kỹ thuật thử nghiệm?
Việc lựa chọn các kỹ thuật kiểm thử phần mềm phù hợp đòi hỏi phải căn chỉnh chúng với các đặc thù cụ thể của dự án để đảm bảo hiệu quả và phạm vi bao phủ. Các yếu tố như mô hình phát triển, rủi ro và nguồn lực sẽ định hướng quá trình lựa chọn. Là một chuyên gia kiểm thử phần mềm, tôi luôn khuyến nghị kết hợp nhiều kỹ thuật để đạt được kết quả tối ưu. Điều này giúp ngăn ngừa nguy cơ phụ thuộc quá mức vào một phương pháp duy nhất.
- Phù hợp với mục tiêu: Kết hợp các kỹ thuật với các mục tiêu như chức năng, hiệu suất hoặc nhu cầu bảo mật.
- Đánh giá rủi ro: Ưu tiên các khu vực có rủi ro cao bằng các phương pháp dựa trên rủi ro để xác thực có mục tiêu.
- Kiến trúc và mô hình phù hợp: Lựa chọn phương pháp tiếp cận linh hoạt trong các hệ thống lặp hoặc nhiều lớp.
- Ràng buộc cân bằng: Cân nhắc thời gian, ngân sách, kỹ năng và công cụ để thực hiện khả thi.


