Lợi nhuận:
- Khả năng chuyển đổi một yêu cầu và tiêu chí chấp nhận thành các trường hợp thử nghiệm toàn diện với các kỹ thuật như lớp tương đương, phân tích giá trị biên và bảng quyết định, với sự hỗ trợ của trí tuệ nhân tạo
- Khả năng tạo ra các kịch bản trường hợp tích cực, tiêu cực và khía cạnh riêng biệt và hoàn thành các trường hợp khía cạnh bị trí tuệ nhân tạo bỏ sót bằng thông tin sản phẩm
- Khả năng thiết lập khả năng truy xuất nguồn gốc và loại bỏ các khoảng trống trong phạm vi bao phủ cũng như sự phình to không cần thiết bằng cách liên kết các trường hợp thử nghiệm với tiêu chí chấp nhận
Công việc của người kiểm tra thường bắt đầu với bảng trống này: anh ta có một yêu cầu ("người dùng phải có khả năng đặt lại mật khẩu của mình") và anh ta cần biến câu nói này thành hàng tá kiểm tra cụ thể để chứng minh rằng phần mềm thực sự hoạt động chính xác. Sự chuyển đổi này được gọi là thiết kế thử nghiệm. Biết được sự khác biệt giữa một kịch bản thử nghiệm — một mục tiêu cấp cao mô tả những gì cần kiểm tra, chẳng hạn như "mật khẩu không hợp lệ nên bị từ chối" — và một trường hợp thử nghiệm — một đơn vị thực thi trình bày chi tiết kịch bản đó với các bước cụ thể, đầu vào và kết quả mong đợi là chìa khóa. Trí tuệ nhân tạo (AI) tăng tốc chính xác thời điểm trang trống này: biến một yêu cầu thành hàng chục kịch bản nháp trong vài giây. Nhưng hãy nhớ - AI tái tạo những tình huống bạn có thể nghĩ đến; Bạn chọn với kiến thức về sản phẩm của mình những tình huống nào thực sự quan trọng.
Trong phần này, bạn sẽ tìm hiểu từng bước cách biến một yêu cầu thành một bộ thử nghiệm toàn diện nhưng gọn gàng với sự hỗ trợ của AI.
Từng bước: từ yêu cầu đến tập kiểm tra
Bước 1 - Làm rõ yêu cầu. Thu thập các tiêu chí chấp nhận (các điều kiện mà công việc phải đáp ứng để được coi là “hoàn thành”) trước khi đưa ra yêu cầu thô cho AI. "Mật khẩu phải được đặt lại" là chưa đủ; Các quy tắc như "liên kết đặt lại có hiệu lực trong 30 phút", "không thể sử dụng lại cùng một mật khẩu" là nguồn gốc của bài kiểm tra thực tế.
Bước 2 - Thực hiện các kỹ thuật thử nghiệm. Đừng chỉ nói “viết kịch bản” về AI; Yêu cầu các kỹ thuật thiết kế thử nghiệm cổ điển theo tên:
- Các lớp tương đương (phân vùng tương đương): Chia đầu vào thành các nhóm dự kiến sẽ tạo ra hành vi giống nhau. Ví dụ: đối với trường tuổi, "phạm vi hợp lệ", "quá nhỏ" và "quá lớn" là các lớp; Kiểm tra một ví dụ từ mỗi lớp là đủ.
- Phân tích giá trị biên: Kiểm tra các giá trị ngưỡng dựa trên thực tế là lỗi xảy ra nhiều nhất ở các biên. Nó giống như thử nghiệm riêng 17, 18, 19 cho giới hạn 18 tuổi.
- Bảng quyết định: Lập bảng kết hợp nhiều điều kiện và kết quả mong đợi của mỗi kết hợp.
- Chuyển đổi trạng thái: Kiểm tra quá trình chuyển đổi của hệ thống từ trạng thái này sang trạng thái khác (ví dụ: đơn hàng: đã tạo → đã thanh toán → đã giao hàng) và các chuyển đổi không hợp lệ.
Bước 3 - Tách các trạng thái dương, âm và cạnh. Yêu cầu kiểm tra dương tính (kết quả mong đợi với đầu vào chính xác), kiểm tra âm tính (lỗi phù hợp với đầu vào không hợp lệ) và trường hợp đặc biệt - trường hợp ranh giới hoặc trường hợp bất thường. AI thường nhấn mạnh đến mặt tích cực; Các trường hợp tiêu cực và khó khăn sẽ không đầy đủ trừ khi bạn yêu cầu chúng một cách rõ ràng.
Bước 4 - Ưu tiên và cắt tỉa. AI có thể tạo ra 60 kịch bản; Chúng không phải tất cả đều có giá trị như nhau. Ưu tiên những thứ có rủi ro cao (tiền bạc, bảo mật, mất dữ liệu) và kết hợp những thứ trùng lặp.
Mẹo: Gửi một yêu cầu riêng tới AI với nội dung "tạo ra 5 trường hợp khó khăn không thể tưởng tượng được từ yêu cầu này". Đóng góp giá trị nhất của AI là nó thường nhắc nhở bạn về những tình huống bất thường mà bạn đã bỏ qua.
Dấu nhắc yếu / Dấu nhắc mạnh
Yếu: "Viết ca kiểm thử để đặt lại mật khẩu."
Mạnh: "Tạo các trường hợp kiểm thử cho tính năng 'đặt lại mật khẩu' với các tiêu chí chấp nhận sau: liên kết hợp lệ trong 30 phút, sử dụng một lần, 3 mật khẩu cuối cùng không thể sử dụng lại, tài khoản bị khóa trong 15 phút sau 5 lần thử sai. Áp dụng các lớp tương đương và phân tích giá trị biên. Đưa ra các trường hợp tích cực, tiêu cực và hạn chế trong các tiêu đề riêng biệt. Đối với mỗi trường hợp: ID, điều kiện tiên quyết, các bước, dữ liệu kiểm tra, kết quả mong đợi, tiêu chí chấp nhận liên quan. Làm nổi bật các kịch bản bảo mật/khóa."
Lời nhắc mạnh mẽ; Nó đưa ra các quy tắc, kỹ thuật, định dạng đầu ra và thứ tự ưu tiên. Do đó, AI tạo ra các ca kiểm thử có thể thực thi và có thể theo dõi chứ không phải các ca kiểm thử mang tính trang trí.
Định dạng đầu ra trường hợp thử nghiệm
Yêu cầu định dạng có cấu trúc có thể được nhập trực tiếp vào công cụ quản lý kiểm tra của nhóm bạn (ví dụ: TestRail, Zephyr, Xray). Bảng sau đây cho thấy các thành phần của một trường hợp thử nghiệm tốt:
khu vực
Mô tả
ví dụ
ID
ID duy nhất
TC-PWD-014
Tiêu đề
mục đích ngắn gọn
Liên kết hết hạn sẽ bị từ chối
điều kiện tiên quyết
Điều kiện cần thiết trước khi thử nghiệm
Liên kết đặt lại đã được tạo 31 phút trước
bước
hành động tuần tự
1. Click vào link 2. Nhập mật khẩu mới
dữ liệu thử nghiệm
Giá trị cụ thể được sử dụng
link cũ, mật khẩu mới "Abc!2345"
kết quả mong đợi
Hành vi cần được xác minh
Lỗi "Link hết hạn", mật khẩu không đổi
Tiêu chí chấp nhận
liên kết truy xuất nguồn gốc
AK-3: link có hiệu lực trong 30 phút
ưu tiên
Mức độ rủi ro
cao
Bốn mẫu có thể sao chép
1) Xây dựng kịch bản dựa trên kỹ thuật:
Vai trò của bạn: nhà thiết kế thử nghiệm cấp cao. Tạo các trường hợp thử nghiệm cho tính năng: [tiêu chí tính năng và chấp nhận]. Áp dụng: các lớp tương đương, phân tích điểm dừng, bảng quyết định. Cung cấp đầu ra theo 3 nhóm: Trường hợp tích cực / tiêu cực / cạnh. Mỗi trường hợp: ID, điều kiện tiên quyết, các bước, dữ liệu thử nghiệm, kết quả mong đợi, tiêu chí chấp nhận liên quan, mức độ ưu tiên (Cao/Trung bình/Thấp).
2) Thợ săn trường hợp cạnh:
Liệt kê 10 trường hợp cạnh thường bị bỏ qua cho tính năng sau: [feature]. Viết trong một câu tại sao nó lại nguy hiểm cho mỗi người. Hãy suy nghĩ về các trục như trống/null, đầu vào quá dài, đồng thời, hết thời gian chờ, lỗi định dạng, Unicode/emoji, âm/không, mất mạng.
3) Lập bảng quyết định:
Tạo bảng quyết định cho quy tắc kinh doanh sau: [quy tắc]. Cột: kết hợp điều kiện; hàng: từng điều kiện và hành động dự kiến. Gắn cờ các kết hợp không thể thực hiện được hoặc xung đột. Sau đó đề xuất một trường hợp thử nghiệm cho mỗi sự kết hợp.
4) Kiểm soát truy xuất nguồn gốc:
Cho danh sách các tiêu chí chấp nhận và các trường hợp kiểm thử sau:[tiêu chí] / [trường hợp]. Hiển thị dưới dạng bảng các tiêu chí chấp nhận được đáp ứng bởi KHÔNG có trường hợp kiểm thử nào (khoảng cách bao phủ) và trường hợp nào không được đáp ứng bởi bất kỳ tiêu chí nào (trường hợp dự phòng).
ba trường hợp nhỏ
Trường hợp 1 - Giá trị của trạng thái cạnh. Một chuyên gia từ nhóm fintech đã viết 18 tập lệnh cho tính năng chuyển tiền. Anh ấy đã áp dụng mẫu “thợ săn trường hợp biên” cho AI; AI nhắc nhở tình trạng "chuyển cùng một số dư từ hai thiết bị cùng một lúc" (đồng thời). Khi kịch bản này được thử nghiệm, một lỗ hổng chi tiêu gấp đôi đã được tìm thấy và bị đóng trước khi đi vào hoạt động. Một tình huống bên lề đã ngăn chặn khoản lỗ sáu con số có thể xảy ra.
Trường hợp 2 - Cắt bớt chỗ phình ra. Một nhóm đã nhờ AI tạo ra một kịch bản cho mẫu đơn thành viên và 74 trường hợp đã được thông qua. Chạy mẫu truy xuất nguồn gốc cho thấy 74 trường hợp chỉ đáp ứng 9 tiêu chí chấp nhận, trong đó nhiều trường hợp kiểm tra lại cùng loại tương đương. Bộ giảm từ 74 xuống 23 trường hợp đáng kể; thời gian chạy giảm 68%, độ bao phủ không giảm.
Trường hợp 3 - Giả định sai. AI đã đề xuất kiểm tra các ngày không hợp lệ như “ngày 31 tháng 2” cho một trường ngày nhưng không biết rằng thành phần lịch mà nhóm đang sử dụng đã chặn điều này. Chuyên gia đã loại bỏ 4 trong số 6 kịch bản hẹn hò do AI tạo ra là không cần thiết trong bối cảnh của sản phẩm. khả năng do AI tạo ra; thực hiện lựa chọn thông tin sản phẩm.
Những lỗi thường gặp
- Yêu cầu một kịch bản mà không đưa ra tiêu chí chấp nhận. Không biết đâu là sự thật, AI tạo ra những kịch bản hời hợt thường bỏ sót rủi ro thực sự.
- Chỉ cần giải quyết cho các bài kiểm tra tích cực. Rõ ràng là không muốn các trường hợp tiêu cực và cạnh tranh. Đây là nơi mà lỗi thường nằm.
- Chấp nhận những gì được sản xuất như nó vốn có. Quên rằng AI không biết bối cảnh sản phẩm và để lại những tình huống không cần thiết hoặc không thể thực hiện được trên trường quay.
- Bỏ qua truy xuất nguồn gốc. Không liên kết các trường hợp với tiêu chí chấp nhận; kết quả là không thấy tiêu chí nào không được kiểm tra (khoảng cách bao phủ).
- Sai lầm về số lượng. Vui mừng vì "60 kịch bản đã được phát hành". Giá trị không nằm ở con số mà nằm ở phạm vi bao trùm rủi ro.
Tóm lại
Thiết kế kiểm thử là chuyển một yêu cầu một câu thành các trường hợp cụ thể, có thể thực thi được để chứng minh tính đúng đắn của phần mềm. AI tăng tốc đáng kể quá trình chuyển đổi này: nó tạo ra các bản thiết kế toàn diện khi bạn đưa ra các tiêu chí chấp nhận, kỹ thuật kiểm tra cổ điển (các lớp tương đương, điểm dừng, bảng quyết định, chuyển đổi trạng thái) và định dạng đầu ra rõ ràng. Nhưng AI thiên về mặt tích cực, không biết bối cảnh của sản phẩm và có thể tạo ra sự phình to không cần thiết. Công việc của bạn là yêu cầu rõ ràng các trường hợp tiêu cực và khó khăn, thiết lập khả năng truy xuất nguồn gốc, ưu tiên theo rủi ro và cắt tỉa.
Nhiệm vụ ứng dụng
Chọn một tính năng từ dự án của riêng bạn và viết ra các tiêu chí chấp nhận. Yêu cầu AI tạo các trường hợp thử nghiệm với mẫu “tạo kịch bản dựa trên kỹ thuật”. Sau đó áp dụng các mẫu “thợ săn trường hợp biên” và “kiểm tra truy xuất nguồn gốc”. Kết quả là: (1) thêm ít nhất 3 trường hợp biên mà AI bỏ qua, (2) lược bỏ các trường hợp không kết nối với bất kỳ tiêu chí chấp nhận nào, (3) viết trường hợp mới nếu còn tiêu chí chấp nhận nào chưa được kiểm tra. Đổ bộ cuối cùng vào một bảng tính.
danh sách kiểm tra
- [ ] Trước khi yêu cầu kịch bản, tôi đã làm rõ tiêu chí chấp nhận.
- [ ] Tôi đã hỏi YZ về các lớp tương đương và phân tích giá trị biên theo tên.
- [ ] Tôi đã tạo các trạng thái dương, âm và cạnh riêng biệt.
- [ ] Tôi đã liên kết từng trường hợp thử nghiệm với một tiêu chí chấp nhận (khả năng truy xuất nguồn gốc).
- [ ] Tôi đã kiểm tra khoảng cách phạm vi và các trường hợp không cần thiết bằng bảng.
- [ ] Tôi ưu tiên rủi ro và cắt tỉa bộ sưng tấy.