Tác động của AI đến ngành Testing
Bài đăng này đã không được cập nhật trong 4 năm
Hiện tại khi công nghệ ngày càng phát triển . Người ta ngày càng yêu cầu cao hơn trong ngành software testing . Mức yêu cầu thử nghiệm liên tục được đặt ra ngày càng nhiều . Đòi hỏi tốc độ thử nghiệm càng nhiều hơn, nhanh hơn .
Và AI ra đời,1 phần nào đáp ứng được nhu cầu đang đặt ra đó .
Bài viết ngày hôm nay chỉ đề cập đến 3 vấn đề:
-
- Những thuận lợi và thách thức của Ai trong lĩnh vực Testing.
-
- Những thách thức và cơ hội đối với QA khi AI phát triển.
-
- Tương lai của AI trong lĩnh Testing
1. Những thuận lợi và thách thức trong lĩnh vực testing.
* Thuận lợi:
- AI phát triển đang thúc đẩy ngành công nghệ phát triển. Theo đó ngành Software testing cũng đang trên đà phát triển
- AI vượt xa phạm vi tự động hóa dựa trên quy tắc đơn giản vì các thuật toán AI / ML “huấn luyện” các hệ thống AI sử dụng bộ dữ liệu lớn. Điều này đã giúp tăng cường tự động hóa thử nghiệm, vốn trước đó dựa trên tự động hóa dựa trên quy tắc.
- Các công việc kiểm thử được thực hiện 1 cách nhanh và chính xác .
- AI có thể mang lại lợi ích cho các lĩnh vực kiểm thử phần mềm sau:
- Kiểm tra đơn vị : “Tự động hóa quy trình bằng robot” (RPA) là một ứng dụng của AI. Người kiểm tra có thể sử dụng các công cụ RPA để giảm các trường hợp kiểm thử không ổn định trong khi tiến hành kiểm thử đơn vị, hơn nữa, các công cụ này giúp duy trì các tập lệnh kiểm thử đơn vị. Một ví dụ về một công cụ như vậy là UIPath.
- Kiểm tra API : Bạn cần tìm ra nguyên nhân gốc rễ của lỗi khi kiểm tra ứng dụng và kiểm tra API sẽ giúp bạn dễ dàng hơn vì bạn có thể hiểu sâu hơn về ứng dụng. Các công cụ do AI hỗ trợ có thể chuyển đổi các bài kiểm tra UI thủ công thành các bài kiểm tra API tự động . Điều này làm giảm ngưỡng các kỹ năng cần thiết để kiểm tra API, do đó, các doanh nghiệp có thể xây dựng một chiến lược kiểm tra API bền vững.
- AI / ML : Các công cụ kiểm tra dựa trên AI / ML đã trở nên đủ tinh vi để hiểu mục đích sử dụng của một ứng dụng. Những công cụ này thực hiện điều đó bằng cách “học hỏi” ứng dụng và trong quá trình này, chúng thu thập đủ dữ liệu hữu ích về ứng dụng. Sau đó, họ sử dụng dữ liệu này để tạo các trường hợp thử nghiệm nơi họ hiển thị kết quả mong đợi.
- Kiểm tra giao diện người dùng : Bạn có thể sử dụng các công cụ do AI hỗ trợ để tự động kiểm tra giao diện người dùng của mình thay vì thực hiện thủ công. Thử nghiệm giao diện người dùng do AI hỗ trợ cung cấp độ chính xác hơn so với thử nghiệm giao diện người dùng thủ công. Không thể dễ dàng phát hiện các thông số như chênh lệch kích thước GUI và sự kết hợp màu sắc bằng cách sử dụng thử nghiệm thủ công.
- Kiểm tra bằng cách sử dụng xác thực trực quan : Kiểm tra dựa trên hình ảnh yêu cầu xác nhận trực quan. Sử dụng khả năng ML của AI, các công cụ xác thực trực quan tự động đang làm cho loại kiểm tra này dễ dàng hơn.
** Khó khăn:
- AI là mảng khá rộng, khá lớn để phát triển nhưng nó cũng mang đầy thử thách khi apply AI vào đối với ngành software testing
- AI yêu cầu người apply phải có các kiến thức chuyên môn. Nhưng hiện tại người đủ kiến thức thì còn quá ít.
- Các tài liệu về AI có quá ít dữ liệu và thông tin.Khó để cho một người mới bước chân vào tìm hiểu có thể nắm bắt được 1 cách nhanh chóng.
- Thời gian để nghiên cứu về AI là khá lâu. Bên cạnh đó việc thiếu hụt về sức người – không có đủ người giỏi hiểu biết về machine learning cũng như data scientists đang là việc xảy ra ai cũng có thể thấy.
- Hơn nữa, AI còn khá mới lạ, ngay cả trên thế giới thì số lượng công ty chuyên về trí thông minh nhân tạo cũng còn khá ít, như vậy sẽ khiến chi phí cho phát triển tăng rất nhiều.
- Cái nữa là việc phát triển AI vẫn chưa được ủng hộ và khuyến khích tại Việt Nam. Bởi vì do giá lao động còn thấp nên việc áp dụng AI thật sự không hiệu quả. Đơn cử như việc dùng robot bảo vệ. Nội tiền phát triển và bảo trì nó thôi đã mắc gấp mấy chục lần việc thuê bảo vệ. Vậy AI chỉ thực sự có đất dụng võ khi người Việt mình được cải thiện về đời sống về có mức lương cao.
- 1 bộ phận con người vẫn còn đang có tư tưởng đi theo lối mòn. Không chịu áp dụng sự thay đổi
2. Những thách thức và cơ hội đối với QA khi AI phát triển.
* Thuận lợi:
- Giảm khối lượng công việc cho tester khi áp dụng AI vào việc test
- Các nhà cung cấp kiểm thử thương mại đang cung cấp các giải pháp dựa trên machine learning để tạo và lựa chọn trường hợp kiểm thử, phân tích rủi ro, phân loại kết quả kiểm thử và các hoạt động liên quan đến kiểm thử khác. Tester có thể hưởng lợi từ các công cụ này bằng cách tạo và chạy các trường hợp kiểm thử tốt hơn, hiểu kết quả của quá trình chạy thử và truyền đạt rủi ro cho các bên liên quan.
- Chỉ số chất lượng tổng thể của một sản phẩm sẽ được tung ra có thể tăng lên đáng kể trong thời gian ngắn hơn nhiều nếu QA Tester có thể sử dụng các công cụ AI một cách hiệu quả.
- AI trong các công cụ kiểm thử tự động có thể cho phép truy cập vào các thuộc tính ứng dụng thường bị bỏ qua bởi các kỹ thuật nhận dạng đối tượng tiêu chuẩn. Điều này có nghĩa là tester có thể dễ dàng cập nhật các kiểm thử tự động hơn, ngay cả khi vị trí vật lý của các thuộc tính đối tượng thay đổi trên UI.
** Khó khăn:
- Kiểm thử được xây dựng trên nền tảng logic mà với mỗi đầu vào nhất định, có một đầu ra xác định và duy nhất. Nếu tôi nhập A, hệ thống sẽ luôn trả về B. Điều gì xảy ra nếu phần mềm không phải là hành vi như vậy?
- các nhiệm vụ kiểm tra có logic cao vẫn yêu cầu sự tham gia hoặc can thiệp của con người. Đây là những tác vụ đòi hỏi nhiều suy nghĩ hơn như tạo thử nghiệm, kiểm tra khả năng sử dụng, kiểm tra bảo mật và các trường hợp cạnh.
- Việc phân tích dữ liệu mất quá nhiều thời gian và ngăn cản việc xử lý nhanh chóng và giải quyết kịp thời vấn đề gốc rễ.
3.Tương lai của AI trong lĩnh Testing
- AI được dự đoán là sẽ trở thành 1 trong những xu hướng thịnh hành trong tương lai
- Các hệ thống machine learning cuối cùng sẽ là một phần quan trọng của kiểm thử phần mềm và hệ thống. Hầu hết các hệ thống được giới hạn trong phạm vi, và nhiều hệ thống là kiểm thử. Trong tương lai, những thứ này sẽ trở nên phổ biến trong ngày càng nhiều ứng dụng.
- Chúng ta sẽ thấy AI bắt đầu thay thế toàn bộ công nghệ để kiểm tra tự động.Ở tất cả các cấp độ thử nghiệm , AI sẽ đảm nhận nhiệm vị tự động hóa yêu cầu các quyết định mà con người có thể đưa ra trong vòng chưa đầy 1 giây.
Link references
https://testsigma.com/blog/can-ai-driven-test-automation-enhance-test-automation/
https://testsigma.com/blog/is-ai-really-important-in-software-test-automation/
https://techblog.vn/chu-de-tranh-luan-lon-tiep-theo-vai-tro-cua-ai-trong-software-testing
https://viblo.asia/p/ai-in-software-testing-tri-tue-nhan-tao-trong-kiem-thu-phan-mem-3P0lPE0o5ox
All rights reserved