# Tạo tình huống kiểm thử từ mô tả tính năng bằng AI: kiểm tra yêu cầu trước khi biến thành danh sách thử
Nội dung có liên kết giới thiệu SunAPI. Bài viết sử dụng một chức năng lưu bản nháp giả định để mô tả quy trình chuẩn bị tình huống kiểm thử. Các bước là đề xuất ở tầng ứng dụng và quy trình làm việc, không phải khả năng được bảo đảm sẵn có của model.
Contents
Một mô tả tính năng thường ngắn hơn rất nhiều so với những điều cần kiểm tra trước khi phát hành. Người viết nói người dùng có thể lưu bản nháp, nhưng chưa nêu khi tiêu đề trống, mất kết nối hoặc hai cửa sổ cùng sửa thì điều gì xảy ra. AI có thể giúp đề xuất các câu hỏi và tình huống, tuy nhiên nó cũng có thể tự tạo hành vi mong đợi mà sản phẩm chưa từng quyết định. Nếu nhóm dùng nguyên danh sách đó, việc kiểm thử sẽ đánh giá theo giả định thay vì yêu cầu đã thống nhất.
Ứng dụng kết nối qua SunAPI có thể dùng model để hỗ trợ đọc mô tả, tách điều kiện và tạo bản nháp tình huống. Giá trị nằm ở việc làm rõ phần đã biết và phần cần hỏi lại. Người phụ trách sản phẩm cùng người kiểm thử vẫn cần xác nhận kết quả mong đợi. Không nên xem số lượng tình huống được tạo là bằng chứng tính năng đã được kiểm tra đầy đủ hoặc đã sẵn sàng phát hành.
# Chuẩn bị yêu cầu theo hành vi quan sát được
Một yêu cầu như lưu nhanh và dễ dùng chưa tạo ra kết quả có thể đối chiếu. Hãy mô tả người thực hiện, điều kiện trước thao tác, hành động và trạng thái sau đó. Ví dụ người có quyền chỉnh sửa lưu nội dung vào bản nháp hiện tại và nhìn thấy trạng thái đã lưu khi hệ thống xác nhận. Những phần chưa được quyết định cần được ghi rõ, không dùng từ chung để che khoảng trống.
Không cần biến tài liệu thành một mẫu quá dài. Mục đích là cung cấp đủ dữ liệu để hiểu điều phải xảy ra. Tên vai trò, đối tượng và trạng thái nên nhất quán với sản phẩm. Nếu một chỗ gọi người sở hữu, chỗ khác gọi người chỉnh sửa mà chưa rõ quan hệ, model có thể coi chúng là cùng quyền. Người chuẩn bị nguồn cần làm rõ trước khi yêu cầu tạo tình huống dựa trên các vai trò đó.
Mỗi yêu cầu nên có mã hoặc dấu hiệu nhận diện ổn định. Tình huống được tạo cần liên hệ đến yêu cầu nguồn để nhóm biết đang kiểm điều gì. Nếu một tình huống không tìm thấy căn cứ, nó có thể là câu hỏi mở hoặc đề xuất cải thiện. Không nhất thiết loại nó, nhưng phải giữ đúng trạng thái để không âm thầm trở thành tiêu chí bắt buộc khi người thực hiện chưa chấp nhận.
# Tách hành vi đã xác nhận khỏi câu hỏi còn mở
Với chức năng lưu bản nháp, nguồn có thể chưa nói có cho phép tiêu đề trống hay không. AI nên chỉ ra cần xác nhận điều này, thay vì tự chọn một quy tắc rồi tạo hàng loạt tình huống đúng sai quanh nó. Một danh sách câu hỏi mở giúp cuộc trao đổi sản phẩm tập trung hơn. Nó cũng tránh tình trạng nhóm báo lỗi cho một hành vi mà chưa ai thống nhất cần xử lý như thế nào.
Có thể tổ chức đầu ra thành hai phần: tình huống dựa trên yêu cầu đã rõ và điểm cần quyết định. Phần thứ hai có thể nêu các lựa chọn cùng hệ quả cần xem xét, nhưng không tự chốt. Người duyệt xác nhận xong mới chuyển thành tình huống kiểm thử chính thức. Quy trình này giữ được giá trị gợi mở của AI mà không làm lẫn đề xuất với điều kiện nghiệm thu.
Một số hành vi có thể đã được quy định ở tài liệu chung như quyền hoặc thông báo lỗi. Nếu đưa nguồn đó vào, cần ghi phiên bản và phạm vi áp dụng. Không tự suy ra quy tắc của một tính năng khác luôn đúng cho tính năng hiện tại. Mọi liên hệ cần có căn cứ mà người kiểm thử có thể mở lại, để kết quả mong đợi không phụ thuộc vào trí nhớ của một người trong nhóm.
# Bắt đầu với đường đi thông thường
Trước khi tạo nhiều trường hợp bất thường, hãy xác định đường đi chính có rõ không. Người dùng mở bản nháp, sửa nội dung, lưu và thấy dữ liệu còn đúng khi mở lại theo thiết kế. Tình huống cần mô tả dữ liệu thử và điều phải quan sát ở mỗi điểm quan trọng. Câu hệ thống hoạt động đúng không đủ để người khác thực hiện và kết luận theo cùng một tiêu chí.
Dữ liệu thử nên có giá trị cụ thể nhưng giả định, chẳng hạn một tiêu đề và hai đoạn nội dung ngắn. Không cần dùng tài liệu thật của khách hàng để kiểm tra việc lưu chuỗi. Nếu tính năng có yêu cầu riêng với ký tự hoặc định dạng, chọn dữ liệu theo yêu cầu đó. Sự cụ thể giúp người chạy thử nhận ra kết quả có bị thiếu, đổi hoặc ghi vào sai đối tượng hay không.
Kết quả mong đợi cần tách khỏi các bước thao tác. Một bước nhấn lưu là hành động, còn nội dung được giữ đúng sau xác nhận là điều cần quan sát. Nếu gộp hai phần thành câu nhấn lưu thành công, người kiểm thử khó biết cần kiểm gì ngoài việc nút đã được bấm. Cấu trúc rõ cũng giúp xem lại tình huống khi giao diện đổi nhưng hành vi nghiệp vụ vẫn giữ nguyên.
# Mở rộng theo điều kiện và ranh giới có căn cứ
Sau đường đi chính, xem từng điều kiện của yêu cầu. Nếu có giới hạn độ dài, cần thử các giá trị phù hợp quanh ranh giới đã quy định. Nếu có trường bắt buộc, cần thử thiếu trường đó. Không tự tạo con số giới hạn từ thói quen của một sản phẩm khác. Một tình huống dùng giới hạn bịa có thể tạo báo lỗi không đúng hoặc làm nhóm bỏ qua ranh giới thực sự cần kiểm.
Các trạng thái trước thao tác cũng quan trọng. Bản nháp mới, bản đã có nội dung và bản không còn quyền sửa có thể cần các luồng khác nhau theo thiết kế. AI có thể giúp liệt kê các trạng thái cần xem xét, nhưng người phụ trách xác nhận trạng thái nào tồn tại trong sản phẩm. Không biến mọi khả năng tưởng tượng thành một tình huống bắt buộc, khiến danh sách phình lớn mà thiếu ưu tiên.
Hãy ghi vì sao một trường hợp cần có. Ví dụ bảo vệ nội dung đang sửa khi lưu thất bại là một mục tiêu rõ nếu yêu cầu đã nêu. Lý do ngắn giúp người mới hiểu giá trị của tình huống và tránh xóa nhầm khi tối giản bộ thử. Nó cũng giúp nhóm phân biệt những tình huống gần giống về thao tác nhưng đang bảo vệ hai hành vi khác nhau của hệ thống.
# Xem luồng gián đoạn và thao tác đồng thời
Người dùng có thể rời trang, thử lại hoặc mở hai cửa sổ. Những trường hợp này cần được cân nhắc theo kiến trúc và yêu cầu của tính năng. Model có thể đề xuất câu hỏi về phản hồi muộn hoặc xung đột phiên bản. Tuy nhiên kết quả mong đợi phải do thiết kế quyết định. Không tự khẳng định hệ thống phải gộp nội dung hay ghi đè bản mới nhất nếu chưa có quy tắc được chấp nhận.
Khi đã có quy tắc, tình huống nên mô tả thứ tự sự kiện đủ rõ để tái hiện. Ví dụ cửa sổ thứ nhất sửa một đoạn, cửa sổ thứ hai lưu thay đổi khác rồi cửa sổ thứ nhất tiếp tục lưu. Người kiểm thử cần biết kiểm trạng thái nào và thông báo nào theo yêu cầu. Mô tả hai người dùng cùng sửa mà không nêu quan hệ thời gian sẽ khó cho kết quả nhất quán.
Có thể dùng phản hồi giả hoặc môi trường thử phù hợp để tạo gián đoạn có kiểm soát. Không cần gây lỗi trên dữ liệu đang sử dụng thật. Cách mô phỏng phải phù hợp công cụ của nhóm và được ghi trong điều kiện chạy. AI hỗ trợ viết bản nháp nhưng không thể xác nhận phép thử đã diễn ra chỉ vì đã mô tả nó. Trạng thái chưa chạy cần được giữ rõ cho đến khi có kết quả thực tế.
# Quản lý cấu trúc và loại bỏ trùng lặp
Một bản tình huống có thể gồm mã, yêu cầu liên quan, điều kiện trước, dữ liệu, bước, kết quả mong đợi và trạng thái duyệt. Ứng dụng nên kiểm tra đủ trường cùng mã tham chiếu. Một yêu cầu bị thiếu trong toàn bộ danh sách cần được nhìn thấy. Ngược lại, một mã lạ không nên được coi là yêu cầu thật chỉ vì model trả về trong cấu trúc hợp lệ.
Danh sách dài thường có những mục chỉ đổi vài chữ nhưng kiểm cùng một điều. Có thể gộp theo dữ liệu hoặc chọn một tình huống đại diện khi phù hợp. Tuy nhiên cần hiểu mục tiêu trước khi loại. Hai mục cùng nhấn lưu có thể khác ở quyền và đang kiểm hai hành vi riêng. AI có thể gợi ý các cặp gần nhau, còn người kiểm thử quyết định việc gộp có làm mất căn cứ quan trọng hay không.
Không cần đạt một số lượng cố định để gọi là hoàn tất. Bộ thử nên được đánh giá theo độ bao phủ yêu cầu và các rủi ro thực tế đã xác định. Tạo thêm nhiều mục mơ hồ có thể làm tốn công chạy mà không giúp phát hiện vấn đề. Một tình huống rõ, tái hiện được và có kết quả mong đợi đúng giá trị hơn nhiều mục chỉ nói thử trường hợp bất thường.
# Duyệt với người hiểu tính năng
Người kiểm thử cần xem lại tính khả thi của bước và dữ liệu, còn người phụ trách sản phẩm xác nhận hành vi mong đợi. Các vai trò có thể được tổ chức theo quy mô nhóm, nhưng phạm vi cần rõ. Một tình huống viết rất chuẩn về cấu trúc vẫn có thể đang kiểm một yêu cầu chưa được chốt. Lượt duyệt nên tìm cả vấn đề trong tình huống lẫn khoảng trống của tài liệu nguồn.
Nếu dùng SunAPI cho bước tạo nháp, hãy đối chiếu cách gửi yêu cầu và xử lý phản hồi tại tài liệu SunAPI. Khả năng phân tích yêu cầu cần được thử trên loại tài liệu cùng model thực tế. Các bước quản lý mã, kiểm tra cấu trúc và duyệt hành vi thuộc ứng dụng. Một phản hồi hợp lệ không chứng minh bộ tình huống đã đủ hay tính năng không còn lỗi.
Người duyệt nên thử giao một vài tình huống cho người chưa tham gia viết. Nếu họ phải hỏi lại nhiều về trạng thái hoặc kết quả, cần làm rõ bản nháp. Cách kiểm tra này cho thấy tình huống có thật sự bàn giao được hay chỉ dễ hiểu với tác giả. Những câu hỏi phát sinh có thể trở thành cải thiện cho mẫu đầu ra và hướng dẫn tạo ở những lần sau.
# Cập nhật theo thay đổi yêu cầu và kết quả chạy
Khi yêu cầu đổi, danh sách tình huống liên quan cần được tìm lại theo mã. Không nên tạo lại toàn bộ rồi mất lịch sử các trường hợp đã phát hiện lỗi. Có thể sửa từng phần, giữ dấu vết phiên bản và đánh dấu cần duyệt lại. Một tình huống từng đúng có thể trở nên lỗi thời, nhưng việc nó từng tồn tại vẫn giúp hiểu hành vi trước đây và lý do thay đổi.
Kết quả chạy cần được ghi từ bằng chứng thực tế, tách khỏi nội dung do AI tạo. Chưa chạy, đạt và không đạt là các trạng thái khác nhau cần được bảo vệ khỏi suy diễn. Giá trị của AI ở đây là mở rộng góc nhìn và giúp tổ chức bản nháp, còn chất lượng kiểm thử đến từ yêu cầu rõ, tình huống có thể tái hiện và việc thực hiện được ghi nhận. Bộ thử hữu ích giúp nhóm biết điều đã được kiểm và phần còn chưa có căn cứ để kết luận.