Get in touch
or send us a question?
CONTACT

AI (Trí tuệ nhân tạo) sẽ thay thế Software Tester?

Trí tuệ nhân tạo có làm cho tester lỗi thời không? Có lẽ là không. AI có nhiều khả năng làm cho các developer trở nên lỗi thời. Nhưng không còn nghi ngờ gì nữa, AI có nghĩa là một sự thay đổi lớn trong kiểm thử phần mềm. Bài đăng này thảo luận về một số thay đổi mà chúng ta có thể sẽ thấy khá sớm.

Từ lâu, kiểm thử tự động đã làm công việc của robot thay cho tester, tức là thực hiện các bài kiểm tra do người khác thiết kế. Tester đã không biến mất. Thời gian của họ được giải phóng để thiết kế các thử nghiệm ngày càng tốt hơn và hiển nhiên là tự động hóa chúng. Sau đó, các phương thức Agile và DevOps được cho là làm cho người thử nghiệm trở nên dư thừa vì các nhà phát triển sẽ kiểm tra mã của họ trong khi xây dựng nó. Hóa ra hầu hết các nhà phát triển thích viết mã hơn là kiểm tra nó. Chúng ta cũng học được rằng người ta cần kiểm tra toàn bộ quy trình nghiệp vụ qua các biên của ứng dụng. Người kiểm thử phần mềm mở rộng phạm vi của họ sang kiểm thử thăm dò và kiểm thử end-to-end.

AI sẽ chuyển đổi kiểm thử phần mềm như thế nào?

AI sẽ biến đổi vai trò của tester bằng cách trở thành một người trợ giúp tuyệt vời trong các hoạt động mà tester không làm tốt. AI có khả năng định hình toàn bộ quá trình kiểm thử thay vì chỉ cải thiện các nhiệm vụ riêng lẻ.

Đặc điểm của công việc của người thử nghiệm là những việc tương tự được thực hiện nhiều lần với ít biến thể và nhiều thời gian chờ. Người thử nghiệm chờ:

  • Một bản phát hành mới để thử nghiệm.
  • Thử nghiệm tự động chạy hoàn tất.
  • Một bản sửa lỗi block các thử nghiệm khác.
  • v.v…

Người kiểm thử cũng thực hiện các nhiệm vụ đòi hỏi nhiều sự chú ý đến chi tiết và có thể không có nhiều động lực, chẳng hạn như phân tích kết quả chạy thử nghiệm tự động, duy trì các thử nghiệm tự động không thành công do thay đổi trong ứng dụng hoặc tính toán và báo cáo trạng thái thử nghiệm. Mỗi phút họ dành cho những nhiệm vụ quan trọng này, người khác đang chờ kết quả kiểm tra.

Hình ảnh này được tạo ra đơn giản và nhanh chóng bằng công cụ AI

Phần lớn công việc trong kiểm thử là thực thi test. Nó phần lớn là tự động nhưng cũng tiếp tục tiêu tốn nỗ lực của con người; Và nỗ lực của con người đang làm chậm toàn bộ chu kỳ thử nghiệm. Chúng ta vẫn cần con người tự động hóa các bài kiểm tra được chạy bởi robot, để duy trì các thử nghiệm đó khi ứng dụng thay đổi và phân tích kết quả kiểm tra. Đã có các công cụ kiểm tra hỗ trợ AI có thể chọn và đặt hàng các bài kiểm tra dựa trên khả năng phát hiện lỗi, tự động chữa lành các thử nghiệm bị hỏng hoặc báo cáo lỗi điền sẵn.

Tác Động Tức Thì Của AI Đối Với Tester

Trong làn sóng tạo kiểm thử tự động tiếp theo, chúng ta sẽ thấy các công cụ tạo kiểm thử trực tiếp từ mô tả trường hợp sử dụng hoặc thậm chí trực tiếp hơn bằng cách quan sát người thử nghiệm khám phá ứng dụng. Đây là một bước tiến lớn từ kiểm thử tự động hóa sang kiểm thử tự động chủ động. Tuy nhiên, chúng ta có thể chưa hoàn toàn ở đó. Hầu hết các ứng dụng và quy trình nghiệp vụ là độc quyền và dữ liệu cần thiết để đào tạo AI nằm rải rác trong các công cụ kiểm thử phần mềm khác nhau. Do đó, trước tiên chúng ta có thể thấy thử nghiệm do con người giám sát hơn là thử nghiệm hoàn toàn tự động.

Hầu hết các nhóm phát triển phần mềm có quá ít tester thay vì quá nhiều. Với việc sử dụng AI, kích thước tài sản test có thể sẽ tăng lên. Mặc dù việc chạy các bài kiểm tra tự động thực tế là miễn phí, nhưng tốc độ nhận kết quả kiểm tra vẫn rất quan trọng. Do đó, sẽ có lợi khi sắp xếp các lần chạy hồi quy để những thử nghiệm có nhiều khả năng phát hiện lỗi nhất sẽ được chạy trước. Nếu AI hiểu vòng đời dữ liệu đủ tốt, nó có thể xem xét các thay đổi code và kết quả kiểm tra trước đây, xác định cách sắp xếp các thử nghiệm và do đó đẩy nhanh chu kỳ phản hồi.

Nếu AI có thể chọn các bài kiểm tra dựa trên khả năng phát hiện lỗi, nó cũng có thể dự đoán nơi các lỗi có khả năng được tìm thấy. Người thử nghiệm cũng có thể hưởng lợi từ thông tin này, bằng cách tập trung nỗ lực kiểm tra thăm dò thủ công vào các tính năng đó.

Đối với nhiều người, AI là một từ đồng nghĩa với khả năng tạo ngôn ngữ tự nhiên được thể hiện bởi ChatGPT. Những khả năng đó cũng có vị trí của chúng trong thử nghiệm. Nếu AI biết cách tạo ra một trường hợp kiểm thử, nó cũng biết cách mô tả việc thực hiện kiểm thử trong một báo cáo lỗi. Có khả năng một báo cáo lỗi do AI tạo ra dễ hiểu hơn một báo cáo được viết vội vàng bởi con người trong khi vội vã kiểm tra trường hợp kiểm thử tiếp theo.

Ngoài các báo cáo lỗi, kiểm thử tạo ra rất nhiều dữ liệu định lượng về chất lượng của phần mềm và thậm chí về quá trình tạo ra phần mềm. Vấn đề là những người quen thuộc với việc test, những người hiểu dữ liệu, không quan tâm đến việc giải thích nó cho những người nên hiểu và những người nên hiểu có thể không quan tâm đến việc lắng nghe. AI có thể mang lại lợi ích lớn cho cả hai bên và các nhà lãnh đạo của họ bằng cách chuyển đổi số liệu thống kê thử nghiệm thành thông tin chi tiết, kết luận và các đề xuất bằng lời nói.

AI sẽ thay thế Tester?

Thật hấp dẫn khi tưởng tượng AI dễ thay thế ai hơn: developer hay tester. Việc tạo thử nghiệm dễ dàng hơn là tạo mã. Mặt khác, việc tạo ra các bài kiểm tra có ý nghĩa đòi hỏi nhiều trí tưởng tượng hơn. Xét cho cùng, mã hóa biến đổi một yêu cầu thành mã làm cho ứng dụng hoạt động, trong khi kiểm thử nên chuyển đổi một yêu cầu thành một hoặc nhiều thử nghiệm để làm hỏng ứng dụng.

Tuy nhiên, trên quy mô lớn, thiết kế thử nghiệm đơn giản hơn mã hóa. Xây dựng một hệ thống thông tin lớn khó khăn hơn nhiều so với việc viết mã cho một chức năng duy nhất. Thiết kế các bài kiểm tra cho một hệ thống thông tin lớn không khó hơn nhiều so với thiết kế các bài kiểm tra cho một tính năng riêng lẻ. Nó chỉ là nhiều công việc hơn. Tuy nhiên, việc thiết lập test có thể khó khăn hơn nhiều.

Ví dụ: thiết lập và xác minh bài test được tạo đơn hàng trong mobile APP được xử lý trong Salesforce và sau đó chạy theo luồng để thực hiện trong SAP là một nhiệm vụ rất phức tạp — mặc dù bản thân kịch bản thử nghiệm khá đơn giản. Chúng ta sẽ cần con người được hỗ trợ bởi AI cũng như AI do con người hỗ trợ.

Ngay cả những ví dụ nhỏ này cũng chứng minh rằng mọi thứ sẽ rất khác trong tương lai gần. AI sẽ cải thiện tốc độ và năng suất xây dựng phần mềm, nhưng nó sẽ không thể xây dựng phần mềm và đảm bảo chất lượng của nó một cách tự chủ.

Nếu tôi là một tester toàn thời gian hôm nay, tôi sẽ không lo lắng về việc AI lấy đi công việc của tôi. Tôi sẽ lo lắng về cách tôi có thể kiểm tra AI.

Tham khảo từ bài viết gốc:

https://theqalead.com/ai-ml/will-artificial-intelligence-replace-software-testers/