TỔNG QUAN VỀ ĐỀ TÀI
Giới thiệu về Robotium
Robotium is an Android Testing Framework designed to automate test cases for native and hybrid applications By utilizing Robotium, developers can create powerful automated GUI test cases for Android applications Additionally, developers have the ability to script tests for various functionalities, system operations, acceptance criteria, and a wide range of Android activities.
Robotium testing Framework
Android Testing Framework tiêu chuẩn có một số hạn chế như sau:
Không thể xử lý nhiều hoạt động
Hiệu suất thực thi thử nghiệm chậm
Test cases phức tạp và khó thực hiện
Robotium framework là lựa chọn tốt hơn để tiến hành thử nghiệm trên ứng dụng
Robotium là open source framework và được coi là phần mở rộng của Android Testing Framework
Các tính năng nâng cao của Robotium như sau:
Hình 1.1 Các tính năng của Robotium
Ensuring the quality of software testing is crucial in today's technology-driven landscape Utilizing a test automation robot framework can significantly enhance the efficiency and effectiveness of the testing process By implementing robust testing tools, organizations can guarantee that their software products meet high-quality standards, ultimately leading to improved user satisfaction and reduced time-to-market Emphasizing quality assurance through automated testing frameworks is essential for maintaining competitive advantage in the software industry.
Robotium Test Case Classes Robotium sử dụng tập hợp các class
(com.jayway.android.robotium.solo) để thử nghiệm Class này hỗ trợ các trường hợp kiểm thử trải dài trên nhiều hoạt động Solo được tích hợp với ActivityIusalmentationTestCase2.
Testers can create test cases without needing knowledge of application design by utilizing Robotium test case classes This capability is a significant advantage over traditional Android test case classes, allowing for more accessible black-box testing.
Bước 1: Thiết kế test specification
Bước đầu tiên trong kiểm thử ứng dụng Android là xác định mục tiêu kiểm thử, bao gồm giao diện người dùng, hoạt động, thành phần và dịch vụ Việc xác định rõ ràng các mục tiêu này sẽ giúp mở rộng phạm vi kiểm tra và đảm bảo ứng dụng hoạt động hiệu quả.
Lập kế hoạch cho các loại kiểm thử nên được tiến hành (Kiểm thử đơn vị, Kiểm thử chức năng, Kiểm thử hệ thống).
Thiết kế các trường hợp thử nghiệm nhằm đạt độ phủ tối đa trong khi giảm thiểu số lượng trường hợp thử nghiệm là rất quan trọng Việc kiểm tra càng nhiều mã code sẽ tăng cơ hội phát hiện lỗi sớm, từ đó cải thiện chất lượng sản phẩm.
Chọn: Android -> Android Test Project as per below figure -> Chọn Next
Ensuring software quality is crucial in the realm of test automation, and utilizing a robust test automation robot framework is essential for achieving this goal A well-structured framework streamlines the testing process, enhances efficiency, and improves the reliability of software applications By implementing a reliable test automation framework, organizations can effectively manage their testing efforts, reduce human error, and ensure consistent quality across their software products Investing in a quality test automation solution ultimately leads to better software performance and user satisfaction.
Viết tên dự án thử nghiệm của bạn Theo quy ước đặt tên, dự án thử nghiệm của bạn phải có "HelloAndroidTest"
Hình 1.3 Hoàn thành cài đặt
Chọn ứng dụng mục tiêu đang thử nghiệm Trong trường hợp này là HelloAndroid.
Sau đó nhấn vào Finish.
Ensuring the quality of software is crucial in today's digital landscape, and utilizing a test automation robot framework can significantly enhance this process By implementing robust testing tools, organizations can streamline their testing procedures, increase efficiency, and maintain high standards of software quality A well-structured test automation framework not only facilitates comprehensive testing but also provides valuable insights into software performance, ultimately leading to improved user satisfaction and reduced time-to-market.
Để tạo Test Suites cho chương trình thử nghiệm của bạn, hãy bắt đầu dựa trên test specification của mình Bạn có thể lựa chọn nhiều framework kiểm thử khác nhau; trong bài viết này, tôi chọn framework kiểm thử tiêu chuẩn Android là ActivityInstrumentationTestCase2 Nếu bạn muốn thực hiện thử nghiệm với Robotium, hãy thêm tệp thư viện Robotium vào thư mục libs trong dự án của bạn, bằng cách tạo thư mục lib trong thư mục dự án.
Để xác định một trường hợp kiểm thử, cần thiết lập vật cố định cho việc thực hiện nhiều thử nghiệm Việc tuân theo cấu trúc chương trình được đưa ra dưới đây là điều quan trọng trong quá trình này.
Triển khai một lớp con (subclass) của TestCase.
Xác định các biến thể hiện lưu trữ trạng thái của vật cố định
Khởi tạo trạng thái cố định bằng cách ghi đè setUp()
Clean-up sau khi kiểm thử bằng cách ghi đè lên tearDown().
Sau khi bạn viết xong chương trình thử nghiệm của mình, hãy chạy thử nghiệm theo các bước bên dưới:
Kết nối thiết bị Android với PC của bạn (hoặc khởi động Trình mô phỏng trong trường hợp bạn không có thiết bị thực).
Trong IDE của bạn, nhấn chuột phải vào Run as > Android Unit Test.
Hình 1.4 Giao diện chạy chương trình.
Ensuring the quality of software through effective testing is crucial in today's technology-driven landscape Utilizing a robust test automation robot framework enhances the efficiency and reliability of the testing process This framework not only streamlines the testing procedures but also guarantees consistent quality assurance across software applications By implementing such automation tools, organizations can achieve higher productivity, reduce manual errors, and deliver superior software products that meet user expectations Embracing a test automation robot framework is essential for maintaining high standards in software quality assurance.
Bước 4: Nhận kết quả kiểm thử
Sau khi thực hiện kiểm thử, bạn sẽ nhận được kết quả thử nghiệm đó.
Trong chương trình thử nghiệm này, 4 phương pháp thử nghiệm đã được thực hiện và tất cả các trường hợp thử nghiệm đều được thông qua.
Hình 1.5 Nhận kết quả kiểm thử
Trong trường hợp trường hợp thử nghiệm không thành công, output sẽ hiển thị và cho bạn biết trường hợp thử nghiệm nào không thành công.
Hình 1.6 Kết quả thực nghiệm không thành công
Giới thiệu về Androi Studio
Android Studio là môi trường phát triển tích hợp (IDE) chính thức để phát triển ứng dụng
Android Studio, được phát triển dựa trên IntelliJ IDEA, mang đến các công cụ và trình soạn thảo mã mạnh mẽ Nó cung cấp nhiều tính năng bổ sung giúp nâng cao năng suất trong quá trình phát triển ứng dụng Android.
Một hệ thống xây dựng linh hoạt dựa trên Gradle
Một trình mô phỏng nhanh và nhiều tính năng
Một môi trường hợp nhất nơi bạn có thể phát triển cho mọi thiết bị Android
Ensuring the quality of software through effective testing is crucial, and utilizing a robust test automation robot framework can significantly enhance this process A well-structured framework not only streamlines testing procedures but also guarantees consistent and reliable results By implementing such tools, organizations can improve their software quality assurance efforts and achieve greater efficiency in their testing workflows.
Áp dụng thay đổi để đẩy mã và tài nguyên cần thay đổi vào ứng dụng đang chạy mà không cần khởi động lại ứng dụng
Mã mẫu và tích hợp GitHub để giúp bạn xây dựng các tính năng ứng dụng phổ biến cũng như nhập mã mẫu
Đa dạng khung và công cụ thử nghiệm
Công cụ tìm lỗi mã nguồn (lint) để nắm bắt hiệu suất, khả năng hữu dụng, khả năng tương thích với phiên bản và các vấn đề khác
Tích hợp sẵn tính năng hỗ trợ Google Cloud Platform, giúp dễ dàng tích hợp Google
Cloud Messaging và App Engine
Hình 1.7 Minh họa Android Studio
Android Studio, được giới thiệu tại hội nghị Google I/O năm 2013, chính thức ra mắt vào năm 2014 sau nhiều phiên bản thử nghiệm Trước đó, các nhà phát triển đã sử dụng nhiều công cụ khác để xây dựng ứng dụng Android.
Android sử dụng các công cụ như Eclipse IDE hoặc IDE Java chung để hỗ trợ đa ngôn ngữ lập trình Android Studio mang lại sự dễ dàng trong việc phát triển ứng dụng so với các phần mềm chuyên dụng Người mới bắt đầu sẽ phải học nhiều và có nhiều thông tin hữu ích từ các kênh chính thức.
Kiểm thử và đảm bảo chất lượng phần mềm là yếu tố quan trọng trong quy trình phát triển ứng dụng Sử dụng công cụ test automation và robot framework giúp tối ưu hóa quy trình kiểm thử, giảm thiểu lỗi và nâng cao hiệu suất Tuy nhiên, việc không nắm rõ cách sử dụng Android Studio có thể gây ra sự hoang mang cho người dùng Để hiểu rõ hơn về cách sử dụng Android Studio, hãy theo dõi phần tiếp theo mà ITNavi giới thiệu.
ÁP DỤNG TK TESTCASE BLACK BOX VÀ TK TESTCASE WHITE BOX
Khái niệm của Black Box Test và White Box Test
Kiểm thử Hộp Trắng, hay còn gọi là Clear Box Testing, Open Box Testing, Glass Box Testing, Transparent Box Testing, Code-Based Testing hoặc Structural Testing, là một phương pháp kiểm thử phần mềm mà trong đó người kiểm tra hiểu rõ cấu trúc nội bộ và thiết kế của hệ thống Trong quá trình này, người kiểm tra sẽ chọn đầu vào để thực hiện các đường dẫn qua mã nguồn và xác định đầu ra phù hợp Để thực hiện hiệu quả, kiến thức lập trình và hiểu biết về cách thức hoạt động của phần mềm là rất cần thiết.
Kiểm thử hộp trắng là quá trình phân tích chi tiết dòng dữ liệu, điều khiển dòng, và mã thực hành trong phần mềm Nó giúp phát hiện các lỗi và ngoại lệ trong hệ thống, nhằm kiểm tra các hành động không được định hướng trước của phần mềm.
Hình 2.1 Sơ đồ hoạt động White Box Test
Ensuring software quality through effective testing is crucial, and utilizing a test automation robot framework can significantly enhance this process A robust framework not only streamlines testing procedures but also guarantees consistent quality across software applications By implementing a well-structured automation framework, organizations can improve efficiency, reduce errors, and achieve reliable results in their software testing efforts.
2.1.1.2 Đối tượng áp dụng Đối tượng được kiểm thử là 1 thành phần phần mềm (TPPM) TPPM có thể là 1 hàm chức năng, 1 module chức năng, 1 phân hệ chức năng…
Phương pháp Kiểm tra Hộp trắng áp dụng cho các mức độ kiểm tra phần mềm sau đây:
Unit Testing (Kiểm thử đơn vị): Để kiểm tra đường dẫn trong một đơn vị.
Integration Testing (Test tích hợp): Để kiểm tra đường dẫn giữa các đơn vị.
System Testing (Test hệ thống): Để kiểm tra các đường dẫn giữa các hệ thống con.
Tuy nhiên, nó là chủ yếu áp dụng cho các kiểm thử đơn vị.
2.1.1.4 Ưu điểm và nhược điểm
Kiểm thử sớm hơn mà không cần chờ giao diện người dùng (GUI) là một trong những ưu điểm nổi bật, giúp kiểm tra kỹ lưỡng và bao phủ hầu hết các đường dẫn Phương pháp này rất hiệu quả trong việc phát hiện lỗi và vấn đề trong mã lệnh, cho phép tìm kiếm các lỗi ẩn bên trong Các lập trình viên có khả năng tự kiểm tra, từ đó tối ưu hóa quá trình mã hóa Hơn nữa, việc yêu cầu kiến thức về cấu trúc bên trong của phần mềm giúp kiểm soát lỗi một cách tối đa.
Các bài kiểm tra phức tạp yêu cầu nguồn lực có tay nghề cao và kiến thức sâu rộng về lập trình, điều này có thể là một nhược điểm lớn Hơn nữa, việc duy trì các kịch bản kiểm tra có thể trở thành gánh nặng nếu có sự thay đổi quá thường xuyên.
Kiểm thử và đảm bảo chất lượng phần mềm là một yếu tố quan trọng trong quy trình phát triển ứng dụng Các công cụ test automation robot framework giúp nâng cao hiệu quả và độ chính xác của quá trình kiểm thử Tuy nhiên, vì phương pháp thử nghiệm này liên quan chặt chẽ với ứng dụng đang được kiểm tra, nên các công cụ phục vụ cho mọi loại triển khai và nền tảng có thể không luôn sẵn có Điều này đòi hỏi các nhà phát triển phải lựa chọn công cụ phù hợp với từng dự án cụ thể để đảm bảo chất lượng sản phẩm cuối cùng.
2.1.1.5 Các kiểm thử hộp trắng cơ bản
Kiểm thử đường cơ bản - Đồ thị dòng
Kỹ thuật kiểm thử hộp trắng do Tom McCabe phát triển, được gọi là đồ thị dòng, tương tự như đồ thị luồng điều khiển của chương trình.
Phương pháp miêu tả thuật giải là một trong những cách trực quan giúp chúng ta dễ dàng nhận diện các thành phần của thuật giải và mối quan hệ giữa chúng.
hệ trong việc thực hiện các thành phần này.
Kỹ thuật đường cơ bản - đồ thị dòng có thể giúp những người thiết kế ca kiểm thử nhận được một độ phức tạp của 1 logic thủ tục.
Gồm 2 loại thành phần: các nút và các cung nối kết giữa chúng.
Hình 2.2 Các nút đồ thị dòng điều khiển
Hình 2.3 Cấu trúc thành phần đồ thị
Kiểm thử dựa trên luồng điều khiển
Ensuring the quality of software through effective testing is crucial in the development process Utilizing a test automation robot framework can significantly enhance the efficiency and reliability of software testing By implementing a robust framework, teams can streamline their testing processes, reduce human error, and improve overall software quality This approach not only accelerates the testing cycle but also allows for comprehensive coverage of test cases, ensuring that the final product meets the highest standards.
Đường thi hành (Execution path) là kịch bản thực thi của một đơn vị phần mềm, bao gồm danh sách các lệnh được thực hiện theo thứ tự trong một lần chạy cụ thể Đường thi hành bắt đầu từ điểm nhập và kết thúc tại điểm kết thúc của đơn vị phần mềm.
Mỗi TPPM có từ 1 đến n (có thể rất lớn) đường thi hành khác nhau.
Mục tiêu của phương pháp kiểm thử luồng điều khiển là đảm bảo tất cả các đường thi hành của đơn vị phần mềm được kiểm thử hoạt động chính xác Tuy nhiên, thực tế cho thấy việc đạt được mục tiêu này đòi hỏi rất nhiều công sức và thời gian, ngay cả đối với những đơn vị phần mềm có quy mô nhỏ.
Kiểm thử hộp đen là phương pháp kiểm thử phần mềm được thực hiện mà không cần biết cấu trúc bên trong của phần mềm Các tester kiểm tra hệ thống như một chiếc hộp đen, không thể nhìn thấy nội dung bên trong Phương pháp này giúp đánh giá chức năng của phần mềm dựa trên đầu vào và đầu ra mà không cần hiểu sâu về mã nguồn hay kiến trúc hệ thống.
Nó còn được gọi là kiểm thử hướng dữ liệu hay là kiểm thử hướng in/out.
Người kiểm thử nên xây dựng các nhóm giá trị đầu vào mà sẽ thực thi đầy đủ tất cả các yêu cầu chức năng của chương trình.
Các tester tiếp cận hệ thống mà không cần hiểu biết về cấu trúc lập trình bên trong, coi hệ thống như một thực thể hoàn chỉnh và không can thiệp vào các thành phần nội tại của nó.
Phương pháp này được gọi là "hộp đen" vì các chương trình phần mềm được xem như một hộp kín, nơi mà bên trong không thể quan sát được.
2.1.2.2 Ưu điểm và nhược điểm
Các tester được thực hiện từ quan điểm của người dùng và sẽ giúp đỡ trong việc sáng tỏ sự chênh lệch về thông số kỹ thuật.
Ensuring the quality of software is essential in today's digital landscape, and the implementation of a test automation robot framework is a crucial strategy This framework not only enhances the efficiency of testing processes but also guarantees consistent quality across applications By utilizing automated testing tools, organizations can streamline their workflows, reduce human error, and achieve faster release cycles Ultimately, a robust test automation framework is vital for maintaining high standards in software quality assurance.
Áp dụng các kỹ thuật test của black box và white box cho đồ án
2.2.1 Kỹ thuật test White Box
Hình 2.4 Đánh số code chức năng đăng nhập
Ensuring the quality of software through effective testing is crucial in today's technology-driven world Utilizing a robust test automation framework can significantly enhance the efficiency and reliability of software testing processes By implementing automated testing tools, organizations can streamline their testing efforts, reduce human error, and achieve consistent results A well-structured automation framework not only improves test coverage but also facilitates faster feedback cycles, enabling teams to deliver high-quality software products more efficiently Prioritizing quality assurance through automation is essential for maintaining competitive advantage in the software development landscape.
Hình 2.5 Sơ đồ luồng White Box
Ensuring the quality of software testing is crucial in today’s technology-driven landscape Implementing a robust test automation framework enhances the efficiency and effectiveness of the testing process By utilizing advanced tools and methodologies, organizations can achieve reliable results and maintain high standards in software quality assurance Adopting a comprehensive approach to test automation not only streamlines workflows but also reduces the risk of errors, ultimately leading to improved product performance and user satisfaction.
2.2.2 Kỹ thuật test Black Box
Hình 2.7 Giao diện Đăng nhập
Kiểm tra Paste button, keep tap hoạt động với username, password
Kiểm tra Copy button, keep tap hoạt động với username
Kiểm tra Copy button, keep tap bị disable với password.
Đăng nhập thành công với user và pass hợp lệ - chuyển vô màn hình profile
Đăng nhập thành công với 6 < Username