Phương pháp và công cụ hỗ trợ kiểm thử phần mềm Android

MỤC LỤC

CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

Các phương pháp kiểm thử phần mềm Android 1. Phương pháp Compatibility Test Suite(CTS)

  • Phương pháp kiểm thử mờ (Fuzz) 1. Khái niệm
    • Phương pháp kiểm thử Monkey 1. Khái niệm
      • Phương pháp kiểm thử ghi và phát lại ( Record and Playback) 1. Khái niệm
        • Phương pháp kiểm thử dựa trên mô hình (Model based) 1. Khái niệm

          Một khi một trình tạo dữ liệu đầu vào (fuzzer) đã được thiết lập, nó có thể tự mình tìm kiếm lỗi mà không cần can thiệp thủ công hoặc con người và có thể tiếp tục làm điều đó trong thời gian cần thiết. - Kiểm thử Fuzz giúp phát hiện lỗi mà thông qua các phương pháp kiểm thử truyền thống hoặc kiểm tra thủ công thông thường không thể phát hiện được. - Các trình tạo dữ liệu đầu vào có thể không tìm thấy tất cả các lỗi, đặc biệt nếu những lỗi này không gây ra sự cố hoàn toàn của chương trình, hoặc nếu các lỗi chỉ xảy ra trong điều kiện cụ thể, định rừ và rất cụ thể. - Kiểm thử Fuzz không cung cấp nhiều kiến thức về hoạt động nội bộ của các phần mềm vì nó là kiểm thử hộp đen. - Các chương trình phần mềm có đầu vào phức tạp yêu cầu các trình tạo dữ liệu đầu vào thông minh và tiên tiến có khả năng cung cấp độ bao phủ kiểm thử toàn diện cần thiết để bảo vệ phần mềm. - Kiểm thử Monkey là một loại kỹ thuật kiểm thử hộp đen bằng cách tạo ra các đầu vào ngẫu nhiên, độc lập. Kết quả đầu ra được so sánh với thông số kỹ thuật của phần mềm để xác minh rằng kết quả kiểm tra đạt hay không đạt. Phân loại a) Smart monkey tests. - Kiểm thử ghi và phát lại (Record and Playback Testing) là một phương pháp kiểm tra phần mềm tự động cho phép các nhà kiểm tra ghi lại hành trình của người dùng trong ứng dụng và các bước kiểm tra liên quan, sau đó phát lại chúng để ngay lập tức kiểm tra tính năng của ứng dụng. Kiểm tra mới tạo có thể được sử dụng lại với các thay đổi sau này trong ứng dụng, đảm bảo rằng tớnh năng cốt lừi vẫn hoạt động as expected và không có lỗi mới được giới thiệu. - Ghi và Phát lại là giải pháp nhẹ cho tự động hóa kiểm tra. Giá trị của nó nổi bật nhất đối với các nhóm đang chuyển từ chủ yếu kiểm tra thủ công sang bao gồm một số tự động hóa để tăng tốc quá trình kiểm tra và giúp tích hợp nó sớm hơn vào vòng đời phát triển phần mềm. - Kiểm thử ghi và phát lại có thể là một cách tuyệt vời để bắt đầu nỗ lực tự động hóa của bạn, nhưng quan trọng là phải chọn một công cụ phù hợp với cả nhu cầu hiện tại và tương lai của bạn. Quy trình thực hiện. Quy trình thực hiện kiểm thử ghi và phát lại bao gồm các bước sau:. - Bước 1: Xác định mục tiêu và phạm vi của quá trình kiểm thử. - Bước 2 - Chuẩn bị môi trường kiểm thử: Tạo ra một môi trường kiểm thử tương tự hoặc giống như môi trường thực tế để thực hiện quá trình kiểm thử ghi và phát lại. Đảm bảo rằng điều kiện cần thiết và các thành phần hệ thống liên quan đã được cài đặt và hoạt động đúng. - Bước 3 - Ghi lại dữ liệu và hành vi: Thực hiện kiểm thử ban đầu bằng cách ghi lại các hành vi và dữ liệu trong quá trình kiểm thử. Các công cụ quay video hoặc ghi lại các hành động của người dùng và các sự kiện liên quan được sử dụng để lưu trữ thông tin. - Bước 4 - Phát lại dữ liệu và hành vi: Sử dụng dữ liệu và hành vi đã được ghi lại để phát lại quá trình kiểm thử. Đảm bảo rằng các hành động và dữ liệu được phát lại một cách chính xác và có thể được tái tạo. - Bước 5 - Kiểm thử tự động: Sử dụng các công cụ kiểm thử tự động để kiểm tra tính đúng đắn và ổn định của hệ thống. Các công cụ này giúp tự động hóa quá trình kiểm thử và đánh giá kết quả. - Bước 6 - Xem xét và phân tích kết quả: Xem xét kết quả kiểm thử, phân tích và đánh giá hiệu suất, tính ổn định và các vấn đề khác mà hệ thống có thể gặp phải. Đưa ra phản hồi và tương tác với đội phát triển để cải thiện và khắc phục các vấn đề được tìm thấy. - Bước 7 - Lập báo cáo: Lập báo cáo kết quả kiểm thử, bao gồm mô tả quá trình kiểm thử, kết quả đo lường và đánh giá, vấn đề và phản hồi. Báo cáo này sẽ giúp cung cấp thông tin cho nhóm phát triển và quản lý hệ thống để đưa ra quyết định và cải tiến. - Bước 8 - Lặp lại quá trình kiểm thử: Nếu cần thiết, quá trình kiểm thử ghi và phát lại có thể được lặp lại để xác định và khắc phục thêm các vấn đề mới hoặc các vấn đề chưa được giải quyết trong lần kiểm thử trước. - Dễ dàng để bắt đầu và sử dụng cho tất cả mọi người.  Nhiều công cụ kiểm thử hiện nay có tính năng ghi và phát lại dưới dạng tính năng tích hợp sẵn và sẵn sàng để sử dụng. Bạn không cần phải mất thời gian thiết lập khung thử nghiệm.  Mọi người trong nhóm của bạn có thể ghi lại các bài kiểm thử đơn giản sau khi xem một vài hướng dẫn ngắn. Vì vậy, những người kiểm thử thủ công hoặc thậm chí các vai trò như quản lý sản phẩm, nhà thiết kế, nhà tiếp thị và những người không có nền tảng về lập trình cũng có thể tham gia kiểm thử bằng cách ghi lại các bài kiểm thử. - Kiểm tra nhanh và chính xác các yếu tố giao diện người dùng: Người dùng có thể ghi lại tương tác của mình với giao diện người dùng và sau đó phát lại chúng để đảm bảo kết quả như mong đợi. Điều này giúp kiểm tra nhiều tình huống và đảm bảo rằng giao diện người dùng hoạt động như dự kiến một cách dễ dàng. - Khả năng tái sử dụng: Nó cho phép chúng ta tạo các test scripts có thể được tái sử dụng trong tương lai, làm cho quá trình kiểm tra trở nên hiệu quả và tiết kiệm chi phí hơn. - Khi giao diện người dùng của một ứng dụng thay đổi thường xuyên, các kiểm thử đã được ghi trước đó sẽ không hoạt động. Nếu không biết cách cập nhật test scripts, bạn sẽ phải ghi lại các bài kiểm thử. Cách tiếp cận “chỉ ghi lại” này có thể mất rất nhiều thời gian, làm giảm hiệu quả thử nghiệm của bạn. - Ngay cả khi bạn biết cách cập nhật test scripts, bạn vẫn phải thực hiện rất nhiều thao tác bảo trì thủ công. Bạn sẽ cần duy trì các đối tượng kiểm thử và chỉnh sửa các bước kiểm thử như thay đổi thông tin thành phần, thêm nhiều hành động tùy chỉnh hơn. để giữ cho các bài kiểm thử được ghi ổn định với việc kiểm thử chấp nhận người dùng thay đổi thường xuyên. - Ghi và phát lại là một cách tốt để bắt đầu với kiểm thử tự động, tuy nhiên, khi các dự án trở nên lớn hơn và phức tạp hơn, có thể có các lựa chọn những phương pháp khác. Để bao phủ các tình huống kiểm thử phức tạp hơn, cần có sự hiểu biết về lập trình và khả năng chỉnh sửa hoặc tạo nhanh các test scripts mới. - Kiểm thử dựa trên mô hình là một kỹ thuật kiểm thử phần mềm trong đó các trường hợp kiểm thử được tạo ra từ một mô hình mô tả các khía cạnh chức năng của hệ thống được kiểm thử. - Đây là một phương pháp kiểm thử phần mềm mới sử dụng cách triển khai thứ cấp, nhẹ nhàng, tiết kiệm thời gian để xây dựng phần mềm được gọi là mô hình. Phương pháp kiểm thử này có thể áp dụng cho cả kiểm thử phần cứng và phần mềm. - Mô hình dưới đây giải thích về cách tiếp cận đơn giản của việc viết một bài thơ trong notepad và các hành động có thể liên quan đến trong từng bước. Đối với mỗi hành động như là bắt đầu, nhập nội dung bài thơ, lưu lại, các ca kiểm thử sẽ được sinh ra và đầu ra sẽ được xác minh. Mô hı̀nh sinh ca kiểm thử chương trình viết môt bài thơ trong notepad 2.1.5.2. Có hai hı̀nh thức kiểm thử dưa trên mô hình:. - Offline/ a priori: Sinh ra các bô ̣kiểm thử trước khi thưc thi chúng. Bô ̣kiểm thử chı́nh là tập hợp của các ca kiểm thử. - Online/ on-the-fly: Sinh ra các bộ kiểm thử ngay trong khi thực thi kiểm thử. Các mô hình khác nhau trong kiểm thử a) Máy trạng thái hữu hạn(FSM).

          Các công cụ hỗ trợ kiểm thử phần mềm Android 1. Selendroid

          • Robotium 1. Khái niệm
            • Appium 1. Khái niệm
              • Cụng cụ theo dừi lỗi Bugzilla 1. Khái niệm

                Khác với các loại kiểm thử phần mềm khác, tự động hóa giao diện người dùng (UI) cho phép người kiểm thử viết mã để thực hiện các kịch bản của người dùng trên giao diện thực tế của ứng dụng, mô phỏng càng gần càng tốt những gì xảy ra trong thế giới thực, đồng thời khai thác các lợi ích của tự động hóa, bao gồm tốc độ, quy mô và sự nhất quán. Hầu hết các nền tảng đều đi kèm với các công cụ cho phép tự động hóa giao diện người dùng ở mức độ nào đó, nhưng những công cụ này thường là cụ thể cho từng nền tảng và đòi hỏi kiến thức chuyên biệt cũng như kinh nghiệm với ngôn ngữ lập trình cụ thể và các bộ công cụ.

                So sánh các công cụ

                • So sánh giữa Appium và Selenium
                  • So sánh giữa Appium và Robotium 1. Nền tảng hỗ trợ

                    Selendroid được gói kèm trong Appium từ phiên bản 1.2 trở đi, và trong chế độ Selendroid của Appium, nó có thể giúp kiểm thử các ứng dụng trên các phiên bản Android cũ hơn, nhưng có một số hạn chế - như thiếu khả năng xác định các yếu tố giao diện người dùng như Selendroid, hoặc khả năng sử dụng cùng một kịch bản trong cả hai chế độ mà không cần sửa đổi. Trong quá trình kiểm thử, thiết bị có thể được cắm hoặc rút ra mà không làm gián đoạn bài kiểm thử đang chạy, còn được gọi là "hot plugging." Điều này được hỗ trợ bởi khả năng tương tác của Selendroid với nhiều thiết bị Android cùng một lúc, bao gồm cả giả lập và thiết bị phần cứng, giúp người kiểm thử tiết kiệm rất nhiều thời gian trong quá trình này.

                    PHÂN TÍCH THIẾT KẾ

                    Ứng dụng áp dụng phương pháp Monkey Testing 1. Phân tích phương pháp

                    • Phân tích kỹ thuật 1. Tổng quan

                      Phương pháp này cũng có thể cung cấp kết quả nhanh chóng, thực hiện các bài kiểm tra thông qua việc nhập vào ứng dụng và cũng không yêu cầu kế hoạch. Mô tả Người kiểm thử cần suy nghĩ từ góc nhìn của người dùng, có thể bao gồm việc nhấp hoặc gừ ngẫu nhiên chỉ để xem liệu hệ thống có gặp sự cố hay không.

                        CÀI ĐẶT PHẦN MỀM

                        Ứng dụng Monkey Testing 1. Cài đặt màn hình

                        - Bug Report: Tạo file báo cáo về các lỗi phát sinh trong quá trình kiểm thử. - Video Testing: Tạo video ghi lại quá trình kiểm thử để hỗ trợ việc phân tích và xác minh kết quả kiểm thử.

                        • Mô tả chi tiết màn hình 1. Màn hình Trang chủ