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.

  • Nguyên tắc cốt lõi: Kỹ thuật kiểm thử phần mềm chọn các trường hợp kiểm thử từ miền đầu vào để đạt được phạm vi bao phủ cao với nỗ lực tối thiểu, tập trung vào các khu vực dễ xảy ra lỗi.
  • Phân tích giá trị biên: Kiểm tra ranh giới (tối thiểu, tối đa, ngay bên trong/bên ngoài) khi lỗi tập trung ở đó, ví dụ, đối với đầu vào 1-10, xác thực 0,1,2,9,10,11.
  • Phân vùng tương đương: Chia đầu vào thành các lớp hợp lệ/không hợp lệ (ví dụ: <1, 1-10, 11-19, 20-30, >30), kiểm tra một đại diện cho mỗi lớp.
  • Kiểm tra bảng quyết định: Ánh xạ các kết hợp đầu vào thành đầu ra trong bảng nguyên nhân-kết quả, chỉ bật nút gửi khi tất cả các trường đã hoàn tất.
  • Chuyển đổi trạng thái: Mô hình hóa các thay đổi trạng thái tuần tự thông qua các đầu vào (ví dụ: các lần đăng nhập: mã PIN đúng cấp quyền truy cập; ba lần chặn tài khoản không đúng).
  • Lỗi đoán: Tận dụng kinh nghiệm để nhắm vào các lỗi có thể xảy ra, sử dụng dữ liệu lịch sử và những cạm bẫy phổ biến cho các trường hợp thử nghiệm đặc biệt.

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

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

Kiểm tra dựa trên bảng quyết định

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

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.

Câu Hỏi Thường Gặp

Các kỹ thuật kiểm thử phần mềm là các phương pháp có cấu trúc để xác minh phần mềm đáp ứng các yêu cầu và chức năng chính xác. Các kỹ thuật phổ biến bao gồm Phân tích Giá trị Biên, Phân vùng Lớp Tương đương, Kiểm thử Dựa trên Bảng Quyết định, Chuyển đổi Trạng thái và Đoán Lỗi, mỗi kỹ thuật tập trung vào các khía cạnh khác nhau của hành vi hệ thống và logic mã.

Bốn loại kiểm thử chính là kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử chấp nhận. Mỗi loại kiểm thử xác thực chức năng phần mềm ở mức độ phức tạp tăng dần, đảm bảo độ tin cậy trước khi triển khai.

Trí tuệ nhân tạo tạo ra các kịch bản khám phá có tác động cao bằng cách mô phỏng các tương tác đa dạng của người dùng và tận dụng dữ liệu lỗi lịch sử, từ đó phát hiện ra các lỗ hổng về khả năng sử dụng và tích hợp mà các bài kiểm tra theo kịch bản bỏ sót.

Các kỹ thuật đảm bảo chất lượng bao gồm đánh giá mã, lập trình cặp, phân tích tĩnh, kiểm thử hồi quy và đánh giá hiệu năng. Các phương pháp này duy trì tính nhất quán, phát hiện sớm các sai lệch và đảm bảo tuân thủ các tiêu chuẩn chất lượng đã xác định.

Kiểm thử tự động giúp tăng tốc quá trình thực hiện kiểm thử, tăng phạm vi bao phủ và giảm thiểu lỗi của con người. Nó cho phép tích hợp và phân phối liên tục các quy trình bằng cách chạy các bài kiểm thử có khả năng lặp lại và mở rộng hiệu quả trên nhiều môi trường và nền tảng khác nhau.

Tóm tắt bài viết này với: