Trong 2 năm qua, sự tiến bộ trong AI, đặc biệt là LLM (Mô hình ngôn ngữ lớn), hóa ra đã giải quyết các vấn đề truyền thống hiệu quả hơn và một trong những tác động mà LLM có thể tạo ra là thông qua hỗ trợ tự động hóa kiểm tra phần mềm của chúng tôi. Đối với nhiều nhóm phần mềm, tự động hóa chưa bao giờ là công dân hạng nhất của chu trình SDLC và các nhóm gặp khó khăn trong việc tự động hóa các trường hợp thử nghiệm tạo ra " Nợ tự động hóa thử nghiệm ". Do lỗ hổng trong tự động hóa thử nghiệm này, các nhóm chất lượng phải mất rất nhiều thời gian để xác minh và viết các trường hợp thử nghiệm này theo cách thủ công, điều này làm chậm tốc độ vận chuyển của nhóm kỹ thuật.
Lối thoát duy nhất tồn tại để tránh tình trạng khó khăn như vậy là tự động hóa các trường hợp thử nghiệm với tốc độ vượt trội nhưng chúng tôi thường không thể làm như vậy vì:
Mặc dù tất cả các vấn đề được đề cập ở trên cần một bài viết riêng về cách các nhóm phần mềm nên giải quyết chúng, nhưng trong phần này, chúng tôi sẽ nói về cách các kỹ sư QA có thể tận dụng ChatGPT hoặc LLM làm thí điểm phụ của họ trong BDD (thử nghiệm dựa trên hành vi)
BDD là gì?
Phát triển theo hướng hành vi (BDD) là một phương pháp phát triển phần mềm Agile trong đó một ứng dụng được ghi lại và thiết kế xoay quanh hành vi mà người dùng mong đợi trải nghiệm khi tương tác với nó. Trong bối cảnh của cuộc thảo luận này, hãy áp dụng thử nghiệm dựa trên BDD trên trang web YC và coi trang đăng nhập của tin tức hacker YC là điểm bắt đầu.
Đối với trang được đề cập ở trên, hành vi mong đợi là
" Khi người dùng cố gắng đăng nhập và nhập thông tin xác thực hợp lệ trên https://news.ycombinator.com/login?goto=news và nhấn đăng nhập, nó sẽ chuyển hướng người dùng đến trang web tin tức của hacker ".
Theo hướng dẫn của BDD, hành vi trên có thể được viết dưới dạng cú pháp/các bước của Gherkin, đây có thể là một trường hợp thử nghiệm khả thi và việc sử dụng dưa chuột làm khung, Gherkin tương tự có thể được tự động hóa và hành vi này sẽ không cần sự can thiệp của con người nữa . Tuy nhiên, do vấn đề mà chúng ta đã thảo luận ở phần trên, nhóm QA thường gặp khó khăn trong việc tự động hóa tương tự, nhưng chúng tôi có thể tận dụng sức mạnh của LLM bằng cách viết một số lời nhắc và tạo quy trình làm việc cho nhóm QA của chúng tôi để thực hiện các bước Gherkin và tự động hóa nó với tốc độ nhanh hơn trên khung dưa chuột.
Quy trình tạo cú pháp Gherkin
Ví dụ: trong hình ảnh bên dưới, tôi đã chỉ ra cách bạn có thể tinh chỉnh mô hình GPT bằng cách sử dụng lời nhắc để tạo cú pháp gherkin cho hành vi được trình bày bằng ngôn ngữ tự nhiên.
Quy trình tạo mã tương thích với dưa chuột từ Cú pháp Gherkin
Bước 1: Nhắc thiết kế
Dưới đây là lời nhắc mà bạn có thể viết trên bảng điều khiển ChatGPT để tinh chỉnh nó nhằm đưa ra quy trình tự động hóa phù hợp bằng cách sử dụng mã HTML và các bước Gherkin được cung cấp. Là đầu ra cuối cùng, chúng tôi đã yêu cầu tạo mã ở dạng định nghĩa bước mà dưa chuột cần, mã này có thể được sao chép và dán giống như QA.
Bước 2: Đưa HTML có liên quan cần được sử dụng làm cơ sở cho quá trình tự động hóa.
Như được mô tả bên dưới sau khi tinh chỉnh ChatGPT yêu cầu các bước HTML và Gherkin có liên quan mà nó có thể sử dụng để tạo định nghĩa các bước cho dưa chuột.
Bước 3: Tạo định nghĩa bước
Do đó, GPT sẽ hiểu cấu trúc DOM từ HTML được cung cấp và hỏi bạn cú pháp Gherkin có liên quan. Đối với trường hợp trên, chúng tôi đã tạo Gherkin mà chúng tôi có thể chuyển như sau:
Feature: User Login Redirect Scenario: User logs in with valid credentials Given the user is on the login page of "https://news.ycombinator.com/login?goto=news" When the user enters valid credentials and presses the login button Then the user should be redirected to the "hacker news" website
Đầu ra cuối cùng
Cuối cùng, theo quy trình làm việc và lời nhắc được đề cập, nó tạo ra tệp định nghĩa bước cho các bước Gherkin ở trên và kịch bản được đề cập, tệp này có thể được QA sao chép trong khung dưa chuột của họ sau khi kiểm tra chất lượng nhỏ để tăng cường tự động hóa hành vi mà chúng được cho là để kiểm tra.
Với sự ra đời của AI và sự xuất hiện của phi công phụ, con người sẽ thấy năng suất của họ tăng lên. Họ sẽ có thể đẩy ranh giới đổi mới của mình đi xa hơn bằng cách chuyển giao các nhiệm vụ thô sơ và thường ngày cho AI. Tuy nhiên, tôi vẫn nghĩ chúng ta chỉ nên coi chúng như trợ lý cho bất kỳ công việc nào chúng ta làm và trí thông minh của việc sử dụng chúng sẽ tồn tại trong con người, vì các nhóm công nghệ, tiếp thị, bán hàng và thành công của khách hàng đang cố gắng tận dụng sức mạnh của LLM trong quy trình làm việc của họ điều tương tự cũng có thể được thực hiện bởi các kỹ sư QA để họ có thể nâng cao năng suất hơn nữa và làm cho công việc đảm bảo chất lượng và tính ổn định của phần mềm trở nên thú vị!