Tương lai của đảm bảo chất lượng (quality assurance): Shift-left testing với QyrusAI và Amazon Bedrock

Tác giả: Ameet Deshpande, Vatsal Saglani và Siddan Korbu 

Ngày đăng: 17 tháng 4 năm 2025

Danh mục: Amazon Bedrock, Customer Solutions, Intermediate (200) 

Bài viết này được đồng tác giả bởi Ameet Deshpande và Vatsal Saglani từ Qyrus.

Khi các doanh nghiệp áp dụng các chu kỳ phát triển nhanh hơn để duy trì khả năng cạnh tranh, việc đảm bảo các tiêu chuẩn chất lượng nghiêm ngặt trở thành một thách thức đáng kể. Các phương pháp kiểm thử truyền thống, thường được thực hiện ở giai đoạn cuối của chu kỳ phát triển, thường dẫn đến sự chậm trễ, chi phí gia tăng và chất lượng sản phẩm bị ảnh hưởng.

Shift-left testing, nhấn mạnh việc thực hiện kiểm thử sớm hơn trong quá trình phát triển, nhằm giải quyết những vấn đề này bằng cách phát hiện và khắc phục lỗi sớm hơn. Tuy nhiên, để triển khai hiệu quả phương pháp này, cần có các công cụ phù hợp. Bằng cách sử dụng các mô hình AI (AI models) tiên tiến, QyrusAI nâng cao quy trình kiểm thử xuyên suốt vòng đời phát triển phần mềm — từ việc tạo các trường hợp kiểm thử (test cases) trong giai đoạn xác định yêu cầu cho đến việc phát hiện các vấn đề bất ngờ trong quá trình khám phá ứng dụng 

Trong bài viết này, chúng ta sẽ tìm hiểu cách QyrusAI và Amazon Bedrock đang cách mạng hóa shift-left testing, giúp các nhóm phát triển cung cấp phần mềm tốt hơn và nhanh hơn. Amazon Bedrock là một dịch vụ được quản lý toàn phần, cho phép doanh nghiệp xây dựng và mở rộng các ứng dụng AI tạo sinh (generative AI applications) bằng cách sử dụng các mô hình nền tảng (foundation models – FMs) từ các nhà cung cấp AI hàng đầu. Dịch vụ này cho phép tích hợp liền mạch với các AWS services, mang đến khả năng tùy chỉnh, bảo mật và mở rộng mà không cần phải quản lý cơ sở hạ tầng.

QyrusAI: Các tác nhân kiểm thử thông minh được hỗ trợ bởi Amazon Bedrock

QyrusAI là một bộ công cụ kiểm thử (testing) được hỗ trợ bởi AI, giúp nâng cao quy trình kiểm thử phần mềm xuyên suốt vòng đời phát triển phần mềm (SDLC). Bằng cách sử dụng các mô hình ngôn ngữ lớn (large language models – LLMs)mô hình thị giác-ngôn ngữ (vision-language models – VLMs) tiên tiến thông qua Amazon Bedrock, QyrusAI mang đến một bộ năng lực toàn diện được thiết kế nhằm nâng tầm shift-left testing. Hãy cùng tìm hiểu từng tác nhân (agent) và các mô hình tiên tiến đứng sau sức mạnh của chúng.

TestGenerator

TestGenerator tạo ra các test case ban đầu dựa trên yêu cầu bằng cách sử dụng một bộ mô hình tiên tiến:

  • Meta’s Llama 70B –Chúng tôi sử dụng mô hình này để tạo ra các trường hợp kiểm thử (test cases) bằng cách phân tích tài liệu yêu cầu và thấu hiểu các thực thể quan trọng (key entities), hành động của người dùng và hành vi mong đợi. Với khả năng học trong ngữ cảnh (in-context learning), chúng tôi tận dụng khả năng hiểu ngôn ngữ tự nhiên của mô hình để suy luận các kịch bản có thể xảy ra và các trường hợp biên, từ đó tạo ra một danh sách trường hợp kiểm thử toàn diện, phù hợp với các yêu cầu đã được đưa ra.
  • Anthropic’s Claude 3.5 Sonnet – Chúng tôi sử dụng mô hình này để đánh giá các kịch bản kiểm thử đã được tạo ra, đóng vai trò như một trọng tài nhằm xác định mức độ toàn diện và chính xác của các kịch bản đó. Ngoài ra, mô hình còn giúp xác định các kịch bản bị thiếu, các điểm có khả năng xảy ra lỗi hoặc các trường hợp biên có thể chưa được phát hiện ở giai đoạn đầu. Bên cạnh đó, chúng tôi còn sử dụng mô hình này để xếp hạng các test case theo mức độ liên quan, giúp ưu tiên những bài kiểm thử quan trọng nhất — đặc biệt là những bài kiểm thử bao phủ các khu vực rủi ro cao và chức năng cốt lõi.
  • Cohere’s English Embed – Chúng tôi sử dụng mô hình này để nhúng văn bản từ các tài liệu có dung lượng lớn như đặc tả yêu cầu (requirement specifications), câu chuyện người dùng (user stories), hoặc tài liệu yêu cầu chức năng (functional requirement documents), cho phép thực hiện tìm kiếm và truy xuất ngữ nghĩa một cách hiệu quả.
  • Pinecone on AWS Marketplace – Các tài liệu đã được nhúng được lưu trữ trong Pinecone để hỗ trợ việc truy xuất nhanh chóng và hiệu quả. Trong quá trình tạo test case, các vector nhúng (embedding) này được sử dụng như một phần của phương pháp tác nhân ReAct (ReAct agent) — trong đó LLM sẽ suy luận, quan sát, tìm kiếm các yêu cầu cụ thể hoặc tổng quát trong tài liệu, và từ đó tạo ra các kịch bản kiểm thử toàn diện.

Sơ đồ dưới đây minh họa cách TestGenerator được triển khai trên AWS bằng cách sử dụng Amazon Elastic Container Service (Amazon ECS) trong đó các ECS tasks được truy cập thông qua Application Load Balancer, hệ thống này kết hợp với Amazon Bedrock, Amazon Simple Storage Service (Amazon S3), and Pinecone để lưu trữ và truy xuất embedding, từ đó tạo ra các test case toàn diện.

VisionNova

VisionNova là trình tạo test case dựa trên thiết kế của QyrusAI, được xây dựng để tạo ra các test case dựa trên thiết kế bằng cách sử dụng Claude 3.5 Sonnet của Anthropic. Mô hình này được dùng để phân tích các tài liệu thiết kế và tạo ra các test case chính xác, phù hợp với ngữ cảnh. Quy trình này đặc biệt tập trung vào việc hiểu các tài liệu thiết kế UX/UI và chuyển đổi các yếu tố trực quan thành các kịch bản kiểm thử có thể thực thi được.

Sơ đồ dưới đây minh họa cách VisionNova được triển khai trên AWS bằng cách sử dụng ECS tasks được truy cập thông qua Application Load Balancer. Hệ thống này tận dụng các mô hình Claude 3 và Claude 3.5 Sonnet của Anthropic trên Amazon Bedrock để hiểu và phân tích hình ảnh , đồng thời sử dụng Amazon S3 để lưu trữ hình ảnh, nhằm tạo ra các test case dựa trên thiết kế dùng để xác thực các thành phần UI/UX.

UXtract

UXtract là quy trình công việc dạng tác nhân (agentic workflow) của QyrusAI, có chức năng chuyển đổi các nguyên mẫu (prototype) từ Figma thành các kịch bản kiểm thử (test scenarios) và các bước kiểm thử dựa trên luồng màn hình trong prototype.

Các biểu đồ nguyên mẫu (prototype) của Figma được sử dụng để tạo ra các trường hợp kiểm thử (test case) chi tiết với hướng dẫn từng bước. Biểu đồ này được phân tích để hiểu rõ các luồng khác nhau và đảm bảo rằng các chuyển tiếp giữa các thành phần được xác thực chính xác. Claude 3 Opus của Anthropic được sử dụng để xử lý các chuyển tiếp, giúp xác định các hành động (actions) và tương tác tiềm năng. Trong khi đó, Claude 3.5 Sonnet được dùng để tạo ra các bước kiểm thử (test steps) và hướng dẫn chi tiết, dựa trên các chuyển tiếp và mục tiêu cấp cao. Cách tiếp cận nhiều tầng này đảm bảo rằng UXtract có thể nắm bắt được cả độ chính xác chức năng của từng luồng, đồng thời duy trì mức độ chi tiết cần thiết cho kiểm thử hiệu quả.

Sơ đồ dưới đây minh họa cách UXtract sử dụng ECS tasks, được kết nối thông qua Application Load Balancer, kết hợp với các mô hình trên Amazon Bedrock và Amazon S3 để phân tích các prototype từ Figma và tạo ra các test case chi tiết, có hướng dẫn từng bước.

API Builder

API Builder tạo ra các API ảo hóa để phục vụ cho kiểm thử frontend sớm bằng cách sử dụng nhiều LLM khác nhau từ Amazon Bedrock. Các mô hình này diễn giải các đặc tả API và tạo ra các phản hồi giả lập chính xác , giúp thực hiện kiểm thử hiệu quả ngay cả trước khi backend được triển khai hoàn chỉnh.

Sơ đồ sau minh họa cách API Builder sử dụng các tác vụ ECS, được kết nối thông qua Application Load Balancer, cùng với các mô hình Amazon Bedrock và bộ lưu trữ Amazon S3, để tạo ra một dịch vụ vi mô ảo hóa và có khả năng mở rộng cao với khả năng cung cấp dữ liệu động bằng cách sử dụng Amazon Elastic File System (Amazon EFS) trên AWS Lambda.

QyrusAI cung cấp một loạt các agent bổ sung nhằm nâng cao hơn nữa quy trình kiểm thử :

  • Echo – Echo tạo ra dữ liệu kiểm thử tổng hợp (synthetic test data) bằng cách kết hợp Claude 3 Sonnet của Anthropic, Mistral 8x7B Instruct, và Meta’s Llama1 70B để cung cấp phạm vi kiểm thử (testing) toàn diện.
  • Rover and TestPilot – Đây là hai framework đa tác nhân được thiết kế lần lượt cho kiểm thử khám phá và kiểm thử dựa trên mục tiêu. Chúng sử dụng kết hợp các mô hình LLM, VLM và embedding từ Amazon Bedrock để phát hiện và xử lý các vấn đề một cách hiệu quả, giúp cải thiện độ bao phủ kiểm thử và tăng độ tin cậy của sản phẩm.
  • Healer – Healer xử lý các lỗi kiểm thử phổ biến do vấn đề về locator gây ra, bằng cách phân tích các test script và trạng thái hiện tại của chúng với sự hỗ trợ của nhiều LLM và VLM khác nhau, từ đó đưa ra các gợi ý sửa lỗi chính xác.

Các tác nhân này, được hỗ trợ bởi Amazon Bedrock, hợp tác để cung cấp chiến lược shift-left testing mạnh mẽ do AI thúc đẩy trong suốt SDLC.

QyrusAI và Amazon Bedrock

Trọng tâm trong sự tích hợp giữa QyrusAI và Amazon Bedrock là gói tùy chỉnh mang tên qai, được phát triển dựa trên aiobotocore, aioboto3, và boto3. Giao diện hợp nhất này cho phép các AI agent truy cập liền mạch vào nhiều loại mô hình khác nhau như LLMs, VLMs, và embedding models có sẵn trên Amazon Bedrock. Gói qai đóng vai trò cốt lõi trong hệ sinh thái kiểm thử được hỗ trợ bởi AI, mang lại nhiều lợi ích chính, bao gồm:

  • Truy cập nhất quán – Gói qai chuẩn hóa cách tương tác với các mô hình khác nhau trên Amazon Bedrock, đảm bảo tính thống nhất trong toàn bộ bộ công cụ kiểm thử của chúng tôi.
  • Nguyên tắc DRY – Bằng cách tập trung hóa logic tương tác với Amazon Bedrock, chúng tôi giảm thiểu sự trùng lặp mã nguồn và nâng cao khả năng bảo trì hệ thống , đồng thời giảm nguy cơ xảy ra lỗi.
  • Cập nhật liền mạch – Khi Amazon Bedrock phát triển và giới thiệu các mô hình hoặc tính năng mới, việc cập nhật gói qai cho phép chúng tôi tích hợp nhanh chóng các cải tiến này mà không cần chỉnh sửa từng agent riêng lẻ.
  • Các lớp chuyên biệt – Gói qai bao gồm các đối tượng lớp riêng biệt cho từng loại mô hình (LLMs, VLMs) và dòng mô hình (model families) khác nhau, giúp tối ưu hóa quá trình tương tác dựa trên yêu cầu cụ thể của từng mô hình.
  • Tính năng tích hợp sẵn – Bên cạnh việc hỗ trợ standard và streaming completions, gói qai còn cung cấp hỗ trợ tích hợp sẵn cho việc gọi nhiều hàm (multiple function calling) và gọi hàm song song (parallel function calling), mang đến bộ khả năng toàn diện cho các AI agent.

Gọi hàm và chế độ JSON là những yêu cầu quan trọng đối với quy trình làm việc AI và các tác nhân của chúng tôi. Để tối đa hóa khả năng tương thích giữa nhiều mô hình khác nhau có sẵn trên Amazon Bedrock, chúng tôi đã triển khai các giao diện nhất quán cho các tính năng này trong gói QAI. Do các lời nhắc tạo dữ liệu có cấu trúc có thể khác nhau giữa các LLM và VLM, các lớp chuyên biệt đã được tạo cho nhiều mô hình và dòng mô hình khác nhau để cung cấp khả năng gọi hàm và chế độ JSON nhất quán. Phương pháp này cung cấp một giao diện thống nhất trên tất cả các tác nhân, hợp lý hóa tương tác và nâng cao hiệu quả tổng thể.

Đoạn mã sau đây là bản tóm tắt đơn giản về cách chúng tôi sử dụng gói qai để tương tác với LLM và VLM trên Amazon Bedrock:

from qai import QAILLMs 
llm = QAILLMs() 

# Can be taken from env or parameter store
provider = "Claude" 
model = "anthropic.claude-3-sonnet-20240229-v1:0" 
getattr(llm, provider).llm.__function_call__(model, messages, functions, tool_choice=None, max_tokens=2046)

Mô hình shift-left testing:

Shift-left testing cho phép các nhóm phát hiện vấn đề sớm hơn và giảm thiểu rủi ro trong quá trình phát triển. Dưới đây là cách các agent của QyrusAI hỗ trợ triển khai phương pháp shift-left testing:

  • Phân tích yêu cầu – TestGenerator AI tạo ra các test case ban đầu trực tiếp từ tài liệu yêu cầu, giúp đặt nền tảng vững chắc cho chất lượng sản phẩm ngay từ đầu.
  • Thiết kế – VisionNova và UXtract chuyển đổi các bản thiết kế và prototype từ Figma thành các test case chi tiết và các bước kiểm thử chức năng.
  • Trước khi triển khai – Giai đoạn này bao gồm các tính năng sau:
    • API Builder tạo ra các API ảo hóa , cho phép kiểm thử frontend sớm ngay cả khi backend chưa được phát triển hoàn chỉnh.
    • Echo tạo ra dữ liệu kiểm thử tổng hợp, giúp thực hiện kiểm thử toàn diện mà không phụ thuộc vào dữ liệu thật.
  • Triển khai – Các nhóm sử dụng các test case đã được tạo sẵn cùng với các API ảo hóa trong quá trình phát triển, giúp duy trì kiểm tra chất lượng liên tục.
  • Kiểm thử – Giai đoạn này bao gồm các tính năng sau:
    • Rover – một hệ thống đa tác nhân – tự động khám phá ứng dụng để phát hiện các vấn đề bất ngờ.
    • TestPilot thực hiện kiểm thử dựa trên mục tiêu, đảm bảo rằng ứng dụng đáp ứng đúng các mục tiêu và yêu cầu đã đề ra.
  • Bảo trì – QyrusAI hỗ trợ kiểm thử hồi quy liên tục với các tính năng quản lý kiểm thử nâng cao, kiểm soát phiên bản và báo cáo chi tiết, giúp duy trì chất lượng phần mềm lâu dài.

Sơ đồ sau đây thể hiện trực quan cách các tác nhân QyrusAI tích hợp trong suốt SDLC, từ phân tích yêu cầu đến bảo trì, cho phép áp dụng shift-left testing đảm bảo phát hiện sớm các vấn đề và duy trì chất lượng liên tục.

Cách tiếp cận tích hợp của QyrusAI đảm bảo rằng quy trình kiểm thử luôn mang tính chủ động, liên tục và liên kết chặt chẽ với mọi giai đoạn trong vòng đời phát triển phần mềm (SDLC). Với cách tiếp cận này, các nhóm phát triển có thể:

  • Phát hiện sớm các vấn đề tiềm ẩn trong quá trình phát triển.
  • Giảm chi phí sửa lỗi
  • Nâng cao chất lượng phần mềm tổng thể
  • Tăng tốc tiến độ phát triển

Chiến lược shift-left testing này, được hỗ trợ bởi QyrusAI và Amazon Bedrock, giúp các nhóm phát triển cung cấp phần mềm chất lượng cao hơn, nhanh hơn và hiệu quả hơn.

Một quy trình điển hình của shift-left testing với QyrusAI

Để minh họa rõ hơn, hãy cùng xem cách QyrusAI và Amazon Bedrock có thể tạo và hoàn thiện các test case từ một tài liệu yêu cầu mẫu:

  • Người dùng tải lên một tài liệu yêu cầu mẫu.
  • TestGenerator, được hỗ trợ bởi Meta’s Llama 3.1, xử lý tài liệu và tạo danh sách các test case ở mức cao.
  • Các test case này được hoàn thiện bởi Anthropic’s Claude 3.5 Sonnet để đảm bảo bao phủ các quy tắc nghiệp vụ quan trọng.
  • VisionNova và UXtract sử dụng tài liệu thiết kế từ các công cụ như Figma để tạo các bước kiểm thử UI chi tiết, xác thực các hành trình người dùng quan trọng.
  • API Builder ảo hóa API, cho phép các developer frontend bắt đầu kiểm thử giao diện với phản hồi giả lập trước khi backend sẵn sàng.

Bằng cách thực hiện các bước này, các nhóm phát triển có thể phát hiện sớm các vấn đề tiềm ẩn, tạo ra một lưới bảo vệ giúp cải thiện cả chất lượng và tốc độ phát triển phần mềm.

Tác động của shift-left testing được hỗ trợ bởi AI

Dữ liệu của chúng tôi — được thu thập từ các nhóm tiên phong sử dụng QyrusAI — cho thấy những lợi ích đáng kể của phương pháp shift-left testing được hỗ trợ bởi AI:

  • Giảm 80% lỗi rò rỉ – Phát hiện và sửa lỗi sớm giúp giảm số lượng bug xuất hiện ở môi trường production.
  • Giảm 20% nỗ lực kiểm thử UAT – Kiểm thử toàn diện từ đầu giúp sản phẩm đến giai đoạn User Acceptance Testing (UAT) ổn định hơn.
  • Tăng tốc 36% thời gian ra thị trường – Phát hiện lỗi sớm, giảm việc làm lại và kiểm thử hiệu quả hơn giúp đẩy nhanh tiến độ phát hành sản phẩm.

Các chỉ số này được thu thập thông qua kết hợp giữa kiểm thử nội bộ và các chương trình thử nghiệm với một số khách hàng chọn lọc. Kết quả cho thấy việc tích hợp AI sớm trong vòng đời phát triển phần mềm (SDLC) có thể giảm đáng kể số lượng lỗi, chi phí phát triển và thời gian ra thị trường.

Kết luận

Shift-left testing, được hỗ trợ bởi QyrusAI và Amazon Bedrock, hứa hẹn cách mạng hóa lĩnh vực phát triển phần mềm. Bằng cách tích hợp kiểm thử được hỗ trợ bởi AI xuyên suốt vòng đời phát triển phần mềm (SDLC) — từ phân tích yêu cầu (requirements analysis) đến bảo trì — QyrusAI giúp các nhóm phát triển:

  • Phát hiện và sửa lỗi sớm – Giảm đáng kể chi phí phát triển bằng cách xác định và khắc phục vấn đề sớm hơn.
  • Nâng cao chất lượng phần mềm – Đạt chất lượng cao hơn thông qua kiểm thử toàn diện được hỗ trợ bởi AI.
  • Tăng tốc phát triển – Đẩy nhanh các chu kỳ phát triển mà không làm giảm chất lượng.
  • Thích ứng với thay đổi – Điều chỉnh nhanh chóng với các yêu cầu và cấu trúc ứng dụng thay đổi.

Amazon Bedrock cung cấp nền tảng thiết yếu với các mô hình ngôn ngữ và mô hình thị giác tiên tiến, mang lại sự linh hoạt và khả năng vượt trội trong kiểm thử phần mềm. Việc tích hợp này, cùng với kết nối liền mạch với các dịch vụ AWS khác, giúp tăng khả năng mở rộng , bảo mật và hiệu quả chi phí.

Khi ngành công nghiệp phần mềm không ngừng phát triển, sự hợp tác giữa QyrusAI và Amazon Bedrock giúp các nhóm phát triển đứng ở vị trí tiên phong trong đảm bảo chất lượng (quality assurance) phần mềm được hỗ trợ bởi AI. Bằng cách áp dụng shift-left testing được hỗ trợ bởi AI, các tổ chức không chỉ bắt kịp nhịp độ nhanh của thế giới kỹ thuật số hiện nay, mà còn thiết lập những tiêu chuẩn mới về chất lượng phần mềm và hiệu quả phát triển.

Nếu bạn đang tìm cách cách mạng hóa quy trình kiểm thử phần mềm, chúng tôi mời bạn liên hệ với đội ngũ của chúng tôi để tìm hiểu thêm về QyrusAI. Hãy cùng nhau xây dựng phần mềm tốt hơn, nhanh hơn.

Để tìm hiểu cách QyrusAI có thể nâng cao quy trình phát triển của bạn, hãy liên hệ ngay hôm nay qua email support@qyrus.com. Hãy cùng nhau định nghĩa lại chất lượng phần mềm của bạn với shift-left testing được hỗ trợ bởi AI.

Giới thiệu về tác giả

Ameet Deshpande là Trưởng phòng Kỹ thuật tại Qyrus, dẫn dắt các sáng kiến đổi mới trong kiểm thử phần mềm không cần code, được hỗ trợ bởi AI. Với chuyên môn về kỹ thuật chất lượng, nền tảng đám mây và SaaS, ông kết hợp khả năng kỹ thuật với lãnh đạo chiến lược. Ameet đã dẫn dắt các chương trình chuyển đổi quy mô lớn và các dự án tư vấn cho khách hàng toàn cầu, bao gồm các tổ chức tài chính hàng đầu. Là một kỹ sư điện tử và truyền thông chuyên về hệ thống nhúng, ông mang đến nền tảng kỹ thuật vững chắc trong vai trò lãnh đạo để cung cấp các giải pháp mang tính chuyển đổi.

Vatsal Saglani là Trưởng nhóm Khoa học Dữ liệu và Generative AI (Data Science and Generative AI Lead) tại Qyrus, nơi anh phát triển các công cụ và dịch vụ tự động hóa kiểm thử được hỗ trợ bởi generative AI, sử dụng multi-agent frameworks, large language models và vision-language models. Với trọng tâm là tinh chỉnh các hệ thống AI tiên tiến, Vatsal thúc đẩy quá trình phát triển phần mềm bằng cách giúp các nhóm shift-left testing, từ đó tăng cả hiệu quả và chất lượng phần mềm.

Siddan Korbu là Kiến trúc sư Giao hàng Khách hàng tại AWS, làm việc với các khách hàng doanh nghiệp để hỗ trợ xây dựng các giải pháp AI/ML và generative AI bằng cách sử dụng các dịch vụ của AWS.