Ứng dụng học máy trong kiểm thử tự động sử dụng công cụ MABL nâng cao hiệu quả kiểm thử giao diện website

MỤC LỤC

Kiểm thử tự động

Khái niệm kiểm thử tự động

Khái niệm : Kiểm thử tự động hoặc tự động hóa kiểm thử là một kỹ thuật kiểm thử phần mềm thực hiện bằng cách sử dụng các công cụ phần mềm kiểm thử tự động để thực thi một bộ trường hợp kiểm thử. - Phần mềm kiểm thử tự động cũng có thể nhập dữ liệu kiểm thử vào hệ thống đang kiểm thử, so sánh kết quả dự kiến và thực tế và tạo báo cáo kiểm thử chi tiết.

Sự khác biệt giữa kiểm thử thủ công và kiểm thử tự động Được thể hiện qua 5 đặc điểm sau đây

- Đảm bảo sự thân thiện của phần mềm, ứng dụng đối với con người: Khi thực hiện kiểm thử thủ công, các chuyên viên kiểm thử đã quan sát và tìm ra những điểm bất ổn, tăng trải nghiệm của người dùng cho từng ứng dụng. Tuy nhiên, để tạo ra sản phẩm phần mềm hay ứng dụng tốt nhất đến cho người dùng, các tester cần linh hoạt kết hợp giữa hai loại kiểm thử: Manual Testing và kiểm thử tự động.

Ưu, nhược điểm của kiểm thử tự động Ưu điểm

- Khó bảo trì và mở rộng: Trong một dự án, để có thể mở rộng được phạm vi kiểm thử tự động sẽ khá khó so với những kiểm thử thủ công vì quá trình cập nhật và chỉnh sử theo những yêu cầu của debug, thay đổi dữ liệu, cập nhật code mới. - Vấn đề công cụ và nhân lực: Hiện nay có nhiều công cụ hỗ trợ kiểm thử tự động cũng khá tốt nhưng đem lại nhiều hạn chế và nhân lực chưa đạt yêu cầu dẫn đến việc có thể sử dụng một cách thành thạo sẽ gặp nhiều khó khăn và thách thức.

ỨNG DỤNG HỌC MÁY TRONG TRONG KIỂM THỬ TỰ ĐỘNG

Học máy (Machine Learning) .1 Tổng quan về học máy

    Ví dụ, một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật. 1 Các phương pháp học máy. hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet. Bài toán phân cụm là 1 trong những bài toán của lĩnh vực học không giám sát (Unsupervised Learning), dữ liệu được mô tả trong bài toán không được dán nhãn hay nói cách khác thì bài toán này không có đầu ra. Phân tích hồi quy không chỉ là lựa chọn một đường cong phù hợp với tập dữ liệu mà nó còn phải trùng khớp với một mô hình với các thành phần ngẫu nhiên (được gọi là bộ dự đoán – predictor).[CITATION VHT \l 1033 ].

    Ứng dụng học máy trong kiểm thử phần mềm

      Do đó, máy học luôn được cải thiện và cập nhật xuyên suốt theo một vòng tròn phát triển của kiểm thử tự động. Bước 1) Phân tích sử dụng trang web : Tự động giám sát người dùng đang tương tác trên trang web để tạo các gợi ý hoàn thiện ca kiểm thử. Bước 2) So sánh quá trình chạy ca kiểm thử thực và các bài kiểm tra đã được đào tạo để xác định những thay đổi. Bước 3) Tạo kịch bản kiểm thử mới : Tự động cập nhật mới các kịch bản kiểm thử dựa trên dữ liệu về quá trình sử dụng chạy ca kiểm thử. Bước 4) Tự động chạy ca kiểm thử : Chạy các bài kiểm thử khi các mã mới được cập nhật và nếu không có thất bại xảy ra thì sẽ phát hành. Để khắc phục điều đó, các kiểm thử viên sẽ tập trung vào việc sửa chữa các trường hợp thử nghiệm để làm cho chúng chạy ổn định, nhưng điều này phụ thuộc vào việc phải thực hiện tất cả các trường hợp thử nghiệm, cố gắng sửa chữa các trường hợp không khả thi và sau đó lặp lại quá trình này cho đến khi đáp ứng được điều kiện dừng. Trong kiểm thử tự động, đối với các ca kiểm thử giao diện người dùng (User Interface), cho phép các kiểm thử viên kiểm tra bằng cách viết các kịch bản trực quan dựa trên thị giác máy tính kết hợp với mạng nơ-ron tích chập (CNN), được giám sát đặc biệt thành công trong các nhiệm vụ phân tích hình ảnh để phát hiện các khiếm khuyết trên các trang web.

      KIỂM THỬ GIAO DIỆN WEBSITE VỚI CÔNG CỤ KIỂM THỬ TỰ ĐỘNG ỨNG DỤNG HỌC MÁY MABL

      Giới thiệu về công cụ .1 Khái quát

        - Không còn các bài kiểm tra rắc rối nữa: vì Mabl tận dụng Học máy và Trí tuệ nhân tạo trong phần mềm kiểm tra, nó sẽ tự động phát hiện tất cả các yếu tố có vấn đề và đảm bảo rằng mọi thứ được cập nhật liền mạch, do đó giúp giải quyết các vấn đề mà chính nhà phát triển cũng không thể hiểu hoặc nhìn thấy. - Mabl sử dụng quyền hạn để so sánh ca kiểm thử đã được kiểm tra trước đó và các ca kiểm thử hiện đã được kiểm tra, tìm các thay đổi và gửi cảnh báo, đảm bảo rằng có sự ổn định trong quá trình hoàn thiện và phát hành mã. - Thay vì đợi khách hàng phàn nàn về các vấn đề trong chương trình, Mabl giúp tiết kiệm thời gian giải quyết rắc rối đó và cung cấp cho kiểm thử viên tất cả các cảnh báo, giúp giải quyết vấn đề trước khi khởi chạy phần mềm.

        Cách hoạt động

        Đào tạo ca kiểm thử mới với các hành động thử nghiệm, xác minh và kết quả mong đợi bằng cách sử dụng "huấn luyện viên mabl". Sau khi hoàn tất quá trình kiểm tra, người dùng sẽ có quyền truy cập để xác minh kết quả kiểm tra, lịch sử kiểm tra và các bước đã thực hiện. Hệ thống học máy trong Mabl Traner được dùng để học toàn bộ quá trình (hệ thống, mã lệnh, việc thực thi kiểm thử, và phát hiện lỗi trong hệ thống).

        Mô hình học máy trong Mabl .1 Tổng quan về hệ thống

          Khi các thay đổi được đưa ra, các mô hình mới kết hợp các thay đổi mới để cập nhật dữ liệu thay đổi cho ca kiểm thử sau đó.[CITATION Ali18 \l 1033 ]. Dữ liệu huấn luyện là các phần tử trên giao diện, các thao tác tương ứng với mỗi ca kiểm thử có sử dụng các phương pháp phổ biến nhất của Mabl. Tập dữ liệu có sử dụng tổng số 160 hình ảnh để xây dựng các ca kiểm thử giao diện1 được gán nhãn sau: nút, văn bản, thanh lựa chọn, phần tử giống nhau, hộp nhập văn bản.

          Hình 3. 4 Tập dữ liệu Văn bản
          Hình 3. 4 Tập dữ liệu Văn bản

          Xây dựng kịch bản kiểm thử .1 Phương thức thực nghiệm

            - Mục đích: Xác định xem công cụ Mabl sẽ áp dụng máy học trong các tính năng như thế nào để phát hiện được các phần tử tương tự giúp hoàn thành kiểm thử hồi quy đạt kết quả. • [Bước 3 trên trang web] Thiết lập lại trang web và chú ý tạo ra lỗi giao diện bằng cách thay đổi hình dạng, nội dung của các phần tử trên giao diện trang web thử nghiệm. • [Bước 5 trên công cụ Mabl] Kiểm tra kết quả chạy ca kiểm thử xem Mabl đã sử dụng các phương pháp như thế nào trong việc phát hiện các phần tử đã thay đổi trên giao diện.

            Hình 3. 8 Giao diện trang chủ
            Hình 3. 8 Giao diện trang chủ

            Mô tả quá trình thực nghiệm .1 Phương pháp tìm phần tử chính xác

              [Bước 1] Trên trang Shop, các sản phẩm của shop đều có “Quick View” để xem chi tiết từng sản phẩm, làm cách nào Mabl có thể nhận chính xác để khi nhấp vào phần tử đó có thể xem được đúng sản phẩm mong muốn. - Khi sử dụng Mabl Trainer để kiểm thử, chúng ta có thể thiết lập các xác nhận mô tả logic mà Mabl sử dụng để xác nhận rằng ứng dụng ở trạng thái chính xác tại một bước được chỉ định trong quá trình chạy thử nghiệm. Khi thêm một tính năng mới , để đảm bảo các thử nghiệm thành công thì các phần tử phải được chú ý và thử nghiệm tất cả giá trị, giống như khi sử dụng dropdown thì thử nghiệm được thực hiện cho các giá trị trong danh sách.

              Đánh giá chi tiết bài kiểm thử : Màn hình kết quả chạy thử nghiệm bao gồm thông tin liên quan về trạng thái, thời gian chạy, trình duyệt, ảnh chụp màn hình và các quan sát khác được thu thập trong quá trình chạy thử nghiệm. Ảnh chụp màn hình thu nhỏ của trang sẽ được hiển thị dưới dạng hình thu nhỏ ở bên phải, hiển thị các thay đổi trực quan và các phần tử được Mabl tương tác trong bước đó, sẽ mở rộng đến kích thước lớn hơn nhiều để dễ xem hơn.Phía bên trái là bước mà hình ảnh được đính kèm, khi nhấp chuột vào các bước nào sẽ hiển thị toàn bộ hình thu nhỏ được thực hiện bởi Mabl.

              Hình 3. 24 Mabl tìm kiếm văn bản được định cấu hình áp dụng tự chữa bệnh
              Hình 3. 24 Mabl tìm kiếm văn bản được định cấu hình áp dụng tự chữa bệnh

              Đánh giá kết quả kiểm thử

              • Đối với bài toán kiểm thử giao diện đồ họa người dùng (GUI) thì khó khăn nhất là việc thay đổi các yếu tố về màu sắc, font chữ hay vị trí kích thước thì Mabl đã đạt tỷ lệ thành công 91,93%. • Tuy nhiên, có thể thấy về nhận diện văn bản và các phần tử tương tự nhau đạt được kết quả khá tương đối dưới 90%. Nhưng sử dụng vòng lặp để kiểm tra các giá trị trong thanh lựa chọn, sử dụng biến để thêm giá trị vào hộp nhập văn bảm lại đạt hiệu quả rất tốt.

              Bảng   Đánh giá kết quả thử nghiệm 2
              Bảng Đánh giá kết quả thử nghiệm 2