Với sự phát triển như vũ bão của công nghệ thông tin nói chung và công nghệ phần mềm nói riêng, việc phát triển phần mềm ngày càng được hỗ trợ bởi nhiều công cụ tiên tiến, giúp cho việc xây dựng phần mềm bớt khó khăn và hiệu quả hơn. Tuy nhiên, vì độ phức tạp của phần mềm và những giới hạn về thời gian và chi phí, cho dù các hoạt động đảm bảo chất lượng phần mềm nói chung và kiểm thử nói riêng ngày càng chặt chẽ và khoa học, vẫn không đảm bảo được rằng các sản phẩm phần mềm đang được ứng dụng không có lỗi. Lỗi vẫn luôn tiềm ẩn trong mọi sản phẩm phần mềm và cũng có thể gây những thiệt hại không đáng có. Kiểm thử phần mềm là một quá trình liên tục, xuyên suốt mọi giai đoạn phát triển phần mềm để đảm bảo rằng phần mềm thoả mãn các yêu cầu thiết kế và các yêu cầu đó đáp ứng các nhu cầu của người dùng. Các kỹ thuật kiểm thử phần mềm đã và đang được nghiên cứu, và việc kiểm thử phần mềm đã trở thành quy trình bắt buộc trong các dự án phát triển phần mềm trên thế giới. Kiểm thử phần mềm là một hoạt động rất tốn kém, mất thời gian, và khó phát hiện được hết lỗi. Vì vậy, việc kiểm thử phần mềm đòi hỏi phải có chiến lược phù hợp, một kế hoạch hợp lý và việc thực hiện được quản lí chặt chẽ. Với sự phát triển của khoa học công nghệ, chưa bao giờ người sử dụng điện thoại thông minh lại có nhiều tiện ích phục vụ cuộc sống như bây giờ. Theo thống kê, hiện nay, tại Việt Nam đang có khoảng 15.000 ứng dụng mang lại lợi ích mọi mặt cho người dùng. Theo một khảo sát của công ty Appota, một công ty chuyên nghiên cứu hành vi sử dụng di động, trong số 22 triệu người dùng điện thoại thông minh ở Việt Nam trung bình một người dùng gần 10 ứng dụng tiện ích trên điện thoại. Trong vòng 3 năm, tỷ lệ cài đặt ứng dụng là 72% ở khu vực thành thị và 53% ở nông thôn. Và với việc những chiếc điện thoại thông minh đang ngày càng được sử dụng nhiều hơn nhằm đáp ứng nhu cầu giải trí đa dạng của người dùng. Từ một chiếc điện thoại thông thường chỉ được cài đặt sẵn vài ba ứng dụng của nhà sản xuất thì nay với các thiết bị chạy các hệ điều hành nhúng (Android, IOS, v.v.) ta có thể dễ dàng đáp ứng được các nhu cầu của người dùng bằng cách cài thêm các phần mềm bên thứ ba mà không gây ra trở ngại nào. Vì vậy việc kiểm thử các phần mềm chạy trên di động để xem chúng có đáp ứng được các yêu cầu đề ra ban đầu hay không trước khi phát hành sản phẩm tới tay người tiêu dùng là hết sức quan trọng. Đó là lý do em chọn đề tài “Tìm hiểu Appium và ứng dụng minh họa” làm đồ án tốt nghiệp.
HỌC VIỆN NƠNG NGHIỆP CỘNG HỒ XÃ HỘI CHỦ VIỆT NAM NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự - Hạnh phúc KHÓA LUẬN TỐT NGHIỆP Đề tài: Tìm hiểu Appium ứng dụng minh họa Họ Tên sinh viên: Nguyễn Kiều Duyên Mã sinh viên: 591844 Lớp: K59.QLTT Giảng viên hướng dẫn: Ths Lê Thị Minh Thùy Hà Nội – 2018 LỜI CẢM ƠN Thời gian học tập, nghiên cứu Học Viện Nông Nghiệp Việt Nam khoảng thời gian tuyệt vời em Em xin gửi lời cảm ơn chân thành đến toàn thể thầy trường nói chung, thầy khoa Cơng nghệ thơng tin nói riêng, thầy ln tạo điều kiện thuận lợi cho em trình học tập, cho em học quý giá, truyền kiến thức động lực để cố gắng suốt thời gian qua Đặc biệt em xin gửi lời cảm ơn đến Ths Lê Thị Minh Thùy người tận tình giúp đỡ, bảo hướng dẫn em suốt q trình thực khóa luận tốt nghiệp Nhờ hướng dẫn cô mà đồ án em hồn thành đạt kết hôm Lời cuối em xin gửi lời cảm ơn đến gia đình, bạn bè người động viên, quan tâm đến em, tiếp thêm động lực cho em cố gắng Thành công em ngày hơm phần quan trọng có đóng góp tất người Mặc dù em cố gắng hoàn thành đồ án chắn khơng thể tránh khỏi thiếu sót Kính mong thầy đóng góp ý kiến để em hồn thiện kiến thức thân Em xin chân thành cảm ơn! Hà Nội, ngày tháng 12 năm 2018 Sinh viên thực Nguyễn Kiều Duyên MỤC LỤC LỜI CẢM ƠN i DANH MỤC VIẾT TẮT v DANH MỤC CÁC HÌNH vi Chương 1: Mở đầu 1.1 Đặt vấn đề 1.2 Tình hình nghiên cứu .2 1.2.1 Tình hình nghiên cứu ngồi nước .2 1.2.2 Tình hình nghiên cứu nước .3 1.3 Mục đích yêu cầu 1.3.1 Mục đích .5 1.3.2 Yêu cầu .5 1.4 Nội dung nghiên cứu Chương 2: Cơ sở lý thuyết 2.1 Khái niệm kiểm thử phần mềm 2.2 Mục tiêu kiểm thử phần mềm .7 2.3 Vai trò kiểm thử phần mềm 2.4 Quy trình kiểm thử phần mềm [4] 2.4.1 Lập kế hoạch kiểm thử (Test Plan) .9 2.4.2 Đặc tả tình kiểm thử, thực kiểm thử (Test cases) 10 2.4.3 Báo cáo kiểm thử (Test report) 10 2.4.4 Các mức kiểm thử .11 2.5 Các phương pháp kiểm thử phần mềm[4] 11 2.5.1 Kiểm thử hộp đen (Black Box Testing) 11 2.5.2 Kiểm thử hộp trắng(White Box Testing) : .13 2.5.3 Kiểm thử hộp xám (Gray-box Testing) 14 2.6 Các kỹ thuật kiểm thử 15 2.6.1 Kỹ thuật phân vùng tương đương 15 2.6.2 Kỹ thuật phân tích giá trị biên .15 2.7 Các công cụ tự động kiểm thử phần mềm 16 2.7.1 Selenium 16 2.7.2 QTP (HP UFT) 17 2.7.3 Rational Function Tester 17 2.7.4 WATIR 18 2.7.5 SilkTest .18 2.8 So sánh kiểm thử tự động kiểm thử thủ công 19 Chương 3: Công cụ kiểm thử tự động Appium 21 3.1 Appium 21 3.2 Phần mềm Appium Studio [5] 22 3.3 Appium Studio tích hợp Eclipse .23 Chương 4: Sử dụng Appium thực kiểm thử ứng dụng 24 4.1 Ứng dụng di động “Sổ thu chi Misa” .24 4.1.1 Đăng ký 24 4.1.2 Đăng nhập 24 4.1.3 Ghi chép thu chi .25 4.1.4 Tài khoản 31 4.1.5 Hạn mức chi .32 4.1.6 Tổng quan 34 4.1.7 Khác 37 4.2 Xây dựng kịch kiểm thử 38 4.3 Áp dụng Appium test ứng dụng 42 4.3.1 Test case cho chức đăng nhập 42 4.3.2 Test case cho chức thu tiền 44 4.3.3 Test case cho chức chi tiền 45 4.3.4 Test case cho chức thêm hạn mức 46 Chương 5: Kết luận đề nghị 48 PHỤ LỤC 50 Phần 1: Hướng dẫn cài JDK 50 Download JDK .50 Cài đặt 50 Tạo biến môi trường .52 Xác minh Java cài đặt hay không .54 Phần Hướng dẫn cài đặt Android SDK 55 Download Android Studio 55 Các cài đặt đòi hỏi 55 Cài đặt 56 Tạo biến môi trường .56 Phần 3: Hướng dẫn cài đặt Appium .57 Download Appium .57 Cài đặt Appium 58 Phần 4: Hướng dẫn cài đặt Eclipse 60 Download Eclipse 60 Các cài đặt đòi hỏi 61 Cài đặt 61 DANH MỤC VIẾT TẮT Từ viết tắt CNTT IEEE SRS QTP WATIR API IDE UI Tên đầy đủ Công nghệ thông tin Institude of Electrical and Electronics Engineers Software Requirement Speccification Quick Test Professional Web Application Testing in Ruby Application Programing Interface Integrated Development Environment User Interface DANH MỤC CÁC HÌNH Hình 2.1: Quy trình kiểm thử phần mềm Hình 4.1: Giao diện đăng ký .24 Hình 4.2: Giao diện đăng nhập 25 Hình 4.3: Giao diện thu tiền .26 Hình 4.4: Giao diện ghi chép chi tiền .27 Hình 4.5: Giao diện chuyển khoản 29 Hình 4.6: Giao diện điều chỉnh số dư .30 Hình 4.7: Giao diện tài khoản 31 Hình 4.8: Giao diện thêm tài khoản 32 Hình 4.9: Giao diện thêm hạn mức 33 Hình 4.10: giao diện tài 34 Hình 4.11: Giao diện tình hình chi 35 Hình 4.12: Giao diện tình hình chi 36 Hình 4.13: Giao diện phân tích chi tiêu 36 Hình 4.14: Giao diện khác 37 Hình 4.15 Test case đăng nhập 43 Hình 4.16: Test case thu tiền .44 Hình 4.17: Test case chi tiền .45 Hình 4.18: Test case thêm hạn mức 46 Hình 4.19: Kết chạy test case .47 CHƯƠNG 1: MỞ ĐẦU 1.1 Đặt vấn đề Với phát triển vũ bão cơng nghệ thơng tin nói chung cơng nghệ phần mềm nói riêng, việc phát triển phần mềm ngày hỗ trợ nhiều công cụ tiên tiến, giúp cho việc xây dựng phần mềm bớt khó khăn hiệu Tuy nhiên, độ phức tạp phần mềm giới hạn thời gian chi phí, cho dù hoạt động đảm bảo chất lượng phần mềm nói chung kiểm thử nói riêng ngày chặt chẽ khoa học, không đảm bảo sản phẩm phần mềm ứng dụng khơng có lỗi Lỗi tiềm ẩn sản phẩm phần mềm gây thiệt hại khơng đáng có Kiểm thử phần mềm trình liên tục, xuyên suốt giai đoạn phát triển phần mềm để đảm bảo phần mềm thoả mãn yêu cầu thiết kế yêu cầu đáp ứng nhu cầu người dùng Các kỹ thuật kiểm thử phần mềm nghiên cứu, việc kiểm thử phần mềm trở thành quy trình bắt buộc dự án phát triển phần mềm giới Kiểm thử phần mềm hoạt động tốn kém, thời gian, khó phát hết lỗi Vì vậy, việc kiểm thử phần mềm địi hỏi phải có chiến lược phù hợp, kế hoạch hợp lý việc thực quản lí chặt chẽ Với phát triển khoa học công nghệ, chưa người sử dụng điện thoại thông minh lại có nhiều tiện ích phục vụ sống Theo thống kê, nay, Việt Nam có khoảng 15.000 ứng dụng mang lại lợi ích mặt cho người dùng Theo khảo sát công ty Appota, công ty chuyên nghiên cứu hành vi sử dụng di động, số 22 triệu người dùng điện thoại thông minh Việt Nam trung bình người dùng gần 10 ứng dụng tiện ích điện thoại Trong vòng năm, tỷ lệ cài đặt ứng dụng 72% khu vực thành thị 53% nông thôn Và với việc điện thoại thông minh ngày sử dụng nhiều nhằm đáp ứng nhu cầu giải trí đa dạng người dùng Từ điện thoại thông thường cài đặt sẵn vài ba ứng dụng nhà sản xuất với thiết bị chạy hệ điều hành nhúng (Android, IOS, v.v.) ta dễ dàng đáp ứng nhu cầu người dùng cách cài thêm phần mềm bên thứ ba mà không gây trở ngại Vì việc kiểm thử phần mềm chạy di động để xem chúng có đáp ứng yêu cầu đề ban đầu hay không trước phát hành sản phẩm tới tay người tiêu dùng quan trọng Đó lý em chọn đề tài “Tìm hiểu Appium ứng dụng minh họa” làm đồ án tốt nghiệp 1.2 Tình hình nghiên cứu 1.2.1 Tình hình nghiên cứu ngồi nước Một nghiên cứu tiến hành NIST năm 2002 cho biết lỗi phần mềm gây tổn thất cho kinh tế Mỹ 59,5 tỷ đô năm, phần ba chi phí tránh việc kiểm thử phần mềm thực tốt hơn.Người ta thường tin rằng, kiếm khuyết tìm sớm chi phí để sửa chữa rẻ Ví dụ, vấn đề tìm thấy sau phần mềm thức có chi phí gấp 10-100 lần giải vấn đề từ lúc tiếp nhận yêu cầu [6] Khi ứng dụng ngày trở nên phức tạp việc kiểm thử ứng dụng test tool cho phép nhà sản xuất kiểm trả chức năng, khả 62 Tạo biến môi trường 63 Sửa đổi biến path 64 Thêm vào phía trước giá trị biến môi trường path: %JAVA_HOME%\bin; 65 Xác minh Java cài đặt hay không Phần Hướng dẫn cài đặt Android SDK Download Android Studio https://developer.android.com/sdk/index.html Các cài đặt đòi hỏi 66 Đảm bảo máy tính bạn cài đặt Java phiên trở lên Ở cài đặt sẵn Java phiên 8: Cài đặt Tạo biến môi trường 67 Phần 3: Hướng dẫn cài đặt Appium Download Appium Truy cập page: http://appium.io/downloads.html 68 Cài đặt Appium 69 70 Phần 4: Hướng dẫn cài đặt Eclipse Download Eclipse http://www.eclipse.org/ 71 Các cài đặt địi hỏi Đảm bảo máy tính bạn cài đặt Java phiên trở lên Ở cài đặt sẵn Java phiên 8: Cài đặt 72 73 74 75 76 ... Ưu, nhược điểm Appium - Các tính Appium - Các thành phần Appium b Ứng dụng - Biết cài đặt sử dụng Appium trình kiểm thử - Tìm hiểu phân tích u cầu người dùng ứng dụng - Áp dụng Appium tiến hành... web di động ứng dụng lai tảng iOS Android Ứng dụng gốc ứng dụng viết iOS, Android Windows SDK Ứng dụng web di động ứng dụng web truy cập trình duyệt dành cho thiết bị di động Ứng dụng lai có... sử dụng Appium Appium công cụ mã nguồn mở sử dụng để kiểm thử tự động (test automation) ứng dụng mobile native app, hybrid app, mobile web app Ở đề tài em tìm hiểu Appium để kiểm thử ? ?ứng dụng