Đề cương kiểm thử ứng dụng web và di động (ĐHCQ)

247 376 0
Đề cương kiểm thử ứng dụng web và di động (ĐHCQ)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC Bài 1: Tổng quan kiểm thử ứng dụng Web 1.1 Ứng dụng Web gì? 1.2 Các thành phần ứng dụng Web 1.3 Một số khái niệm cần phân biệt 17 1.4 Kiểm thử ứng dụng Web 21 Bài 2: Kiểm thử giao diện, kiểm thử chức 22 2.1 Kiểm thử giao diện người dùng 22 2.1.1 Kiểm thử thiết kế giao diện người dùng 22 2.1.2 Kiểm thử thực thi giao diện người dùng 34 2.1.3 Kiểm thử khả sử dụng khả truy cập 37 2.2 Kiểm thử chức .38 2.2.1 Phân loại chức .38 2.2.2 Các phương pháp kiểm thử chức 38 Bài 3: Kiểm thử phía trình chủ 43 3.1 Kiểm thử phía trình chủ .43 3.1.1 Các vấn đề chung phía trình chủ 43 3.1.2 Các vấn đề kết nối .43 3.1.3 Các vấn đề nguồn tài nguyên 45 3.1.4 Các vấn đề lưu, phục hồi 46 3.1.5 Các vấn đề vượt qua hỏng hóc 47 3.1.6 Các vấn đề đa tuyến 47 3.2 Công cụ kiểm thử Selenium 50 3.2.1 Giới thiệu công cụ Selenium 50 3.2.2 Công cụ Selenium IDE 50 3.2.3 Công cụ Selenium WebDriver .58 3.2.4 Công cụ Selenium Grid 62 Bài 4: Thực hành - Sử dụng công cụ kiểm thử Selenium IDE 68 Bài 5: Kiểm thử sử dụng script, kiểm thử CSDL, kiểm thử trợ giúp 69 5.1 Sử dụng script để kiểm thử 69 5.1.1 Các ngôn ngữ script .69 5.1.2 Ứng dụng script với việc kiểm thử 70 5.2 Kiểm thử sở liệu 77 5.2.1 Mối quan hệ trình chủ CSDL 77 5.2.2 Giao diện trình khách/SQL (client) 79 5.2.3 Các phương pháp kiểm thử 81 5.3 Kiểm thử trợ giúp 96 5.3.1 Phân tích hệ thống trợ giúp 96 5.3.2 Giải pháp kiểm thử trợ giúp 101 Bài 6: Thảo luận - Ứng dụng công cụ Selenium kiểm thử ứng dụng Web 105 Bài 7: Thực hành - Sử dụng công cụ kiểm thử Selenium WebDriver 106 Bài 8: Kiểm thử cài đặt, kiểm thử bảo mật 107 8.1 Kiểm thử cài đặt 107 8.1.1 Vai trò chương trình cài đặt/ xóa cài đặt 107 8.1.2 Các tùy chọn tính phổ biến 109 8.1.3 Các vấn đề thường gặp cài đặt phía trình chủ 115 8.2 Kiểm thử bảo mật 117 8.2.1 Mục đích bảo mật 117 8.2.2 Phân tích công 119 8.2.3 Các khái niệm giải pháp bảo mật 122 8.2.4 Các lỗ hổng công phổ biến 131 8.3 Công cụ kiểm thử SoapUI 138 8.3.1 Giới thiệu chung 138 8.3.2 Cài đặt SoapUI 138 Bài 9: Thực hành - Sử dụng công cụ kiểm thử SoapUI 144 Bài 10: Kiểm thử hiệu năng, kiểm thử cấu hình khả tương thích 145 10.1 Kiểm thử cấu hình khả tương thích 145 10.1.1 Tiếp cận kiểm thử cấu hình khả tương thích 145 10.1.2 So sánh kiểm thử cấu hình kiểm thử khả tương thích 149 10.1.3 Các vấn đề kiểm thử cấu hình/ khả tương thích 149 10.2 Kiểm thử hiệu 154 10.2.1 Các khái niệm kiểm thử hiệu 154 10.2.2 Các yếu tố quan trọng kiểm thử hiệu 157 10.2.3 Ba giai đoạn kiểm thử hiệu 161 10.2.4 Thiết lập mục tiêu, mong đợi định nghĩa sản phẩm kết 162 10.3 Công cụ kiểm thử Jmeter 173 10.3.1 Giới thiệu chung 173 10.3.2 Hướng dẫn cài đặt 174 Bài 11: Thảo luận - Ứng dụng công cụ SoapUI Jmeter kiểm thử ứng dụng Web 183 Bài 12: Thực hành - Sử dụng công cụ kiểm thử Jmeter 184 Bài 13: Các khái niệm ứng dụng di động 185 13.1 Giới thiệu 185 13.2 Phân loại ứng dụng thiết bị di động 187 13.2.1 Ứng dụng gốc (Native applications) 187 13.2.2 Ứng dụng Web (Web applications) 187 13.2.3 Ứng dụng lai (Hybrid applications) 189 13.3 Các hệ điều hành thiết bị di động .190 13.3.1 Hệ điều hành Android 190 13.3.2 Hệ điều hành iOS .191 Bài 14: Phương pháp kỹ thuật kiểm thử thiết bị di động (I) 193 14.1 Thiết bị kiểm thử 193 14.1.1 Các thiết bị thực 193 14.1.2 Máy mô giả lập 193 14.1.3 Thiết bị di động đám mây 194 14.1.4 Tổng kết .195 14.2 Các mức độ kiểm thử .195 14.2.1 Kiểm thử mức đơn vị (Component kiểm thửing) 195 14.2.2 Kiểm thử mức tích hợp (Integration kiểm thửing) 196 14.2.3 Kiểm thử mức hệ thống (System kiểm thửing) 196 14.2.4 Kiểm thử mức chấp nhận (Acceptance kiểm thửing) 196 Bài 15: Phương pháp kỹ thuật kiểm thử thiết bị di động (II) 198 15.2 Công cụ kiểm thử Appium .198 15.2.1 Giới thiệu Appium 198 15.2.2 Hướng dẫn cài đặt 199 15.3 Tích hợp nối tiếp 224 Bài 16: Thảo luận - Ứng dụng công cụ kiểm thử Selenium thiết bị di động .226 Bài 17: Thực hành - Sử dụng công cụ kiểm thử Selenium cho thiết bị di động 227 Bài 18: Các tiêu chí đảm bảo chất lượng ứng dụng di động (I) 228 18.1 Độ tin cậy (Reliability) 228 18.1.1 Sự gián đoạn (Interruptions) 228 18.1.2 Mạng (Networks) 228 18.2 Khả chuyển đổi (Transferability) 229 18.2.1 Cài đặt (Installation) 229 18.2.2 Cập nhật hệ điều hành (OS updates) 230 18.3 Bảo mật 230 18.3.1 Lưu trữ liệu (Data storage) 230 18.3.2 An ninh đường truyền (Transport security) 230 18.3.3 Bảo vệ nhị phân (Binary protection) 231 Bài 19: Thảo luận - Ứng dụng công cụ Appium thiết bị di động 232 Bài 20: Thực hành - Sử dụng công cụ kiểm thử Appium (I) 233 Bài 21: Các tiêu chí đảm bảo chất lượng ứng dụng di động (II) 234 21.1 Khả sử dụng (Usability) 234 21.2 Hiệu (Performance) 234 21.2.1 Thời gian khởi động (Launch time) 234 21.2.2 Thời gian đáp ứng (Responsiveness) 235 21.2.3 Tuổi thọ pin (Battery life) 235 21.2.4 Hiệu sử dụng mạng (Network usage efficiency) 235 21.3 Tuân thủ lưu trữ ứng dụng (Application store compliance) 235 Bài 22: Thực hành - Sử dụng công cụ kiểm thử Appium (II) 237 Bài 23: Các công cụ kiểm thử tự động 238 23.1 Robotium 238 23.1.1 Giới thiệu chung 238 23.1.2 Hướng dẫn cài đặt 238 23.2 Các công cụ kiểm thử khác 238 23.2.1 Experitest 238 23.2.2 Ranorex 239 23.2.3 Calabash & Xamarin Test Cloud 240 23.2.4 Perfecto mobile 240 23.2.5 IBM Mobile Quality Assurance 241 23.2.6 Tổng quan công cụ kiểm thử 241 23.2.7 Các công cụ xác nhận tự động 242 23.3 Hướng dẫn kiểm thử 243 Bài 24: Thảo luận - Ứng dụng công cụ kiểm thử Robotium thiết bị di động 246 Bài 25: Thực hành - Sử dụng công cụ kiểm thử Robotium .247 Bài 1: Tổng quan kiểm thử ứng dụng Web 1.1 Ứng dụng Web gì? Định nghĩa Web Hình 1.1 World Wide Web Hẳn quen thuộc với việc gõ lên URL hình Internet Explorer (IE), Firefox, Chrome dòng chữ: http://www.blah blah…com Từ ―Web‖ mà tìm hiểu tên gọi tắt ―World Wide Web‖ ( chữ www bạn thấy URL bên trên) Khi mạng máy tính toàn cầu Internet đời, mở môi trường mạng lưới ảo kết nối máy tính (như mạng nhện - web) Trong đó, tất máy tính trở thành đầu mút kết nối lẫn nhau, đầu mút chia sẻ thông tin, tài liệu mà lưu trữ để tất đầu mút khác truy cập ngược lại Khi ta kết nối máy tính vào đầu mút nào, ta tiếp cận thông tin tất nơi khác mạng lưới Ta gọi mạng lưới ―World Wide Web‖ không gian ảo kết nối tất thông tin từ nơi giới Cùng với phát triển không ngừng, theo thời gian tất máy tính kết nối mạng lưới phân hóa theo mục đích chuyên biệt: Server: có dung lượng lưu trữ lớn cấu hình mạnh nhằm mục tiêu chia sẻ thông tin Client/Workstation: máy tính cá nhân/thiết bị kết nối Internet, nhằm mục đích truy cập thông tin từ nơi khác chia sẻ lượng nhỏ thông tin Thêm vào đó, loại hình chia sẻ thông tin trực tuyến không dừng lại việc trao đổi truy cập liệu Sự phát triển công nghệ mở loại hình dịch vụ trực tuyến với đa dạng mục đích hơn: báo chí, tìm kiếm, kinh doanh trực tuyến, toán trực tuyến, email, mạng xã hội… Vậy ứng dụng Web gì? Ta xem xét ví dụ đơn giản: bạn ―lướt Facebook‖ Bạn mở trình duyệt bất kỳ, ví dụ Firefox Internet Explorer gõ vào URL trang Facebook https://www.facebook.com/ Màn hình trang chủ quen thuộc Facebook Trên hiển thị logo Facebook, dòng slogan ―kết nối chia sẻ‖ quen thuộc, form đăng nhập username, password form đăng ký cho user Bạn gõ username, password vào form đăng nhập click ―Log In‖ Màn hình chuyển đến trang cá nhân tài khoản mà bạn vừa đăng nhập, dòng status bạn bạn bè Chúng nói trang Facebook mà bạn vừa đăng nhập ―Ứng dụng Web‖ (Web Application – xin gọi tắt WebApp) WebApp cung cấp cho bạn (là người dùng - end-user) dịch vụ mạng xã hội đến từ tập đoàn Facebook Tất WebApp xây dựng nhằm mục đích cung cấp dịch vụ mà chủ nhân muốn (vd: mạng xã hội Facebook, hộp Mail Google, báo điện tử VNExpress, trang mua sắm Lazada) Hãy phân tích chuyện xảy đằng sau hình desktop bạn thực hành động trên: Ở bước 1: Facebook, tất WebApp khác, để kết nối hoạt động mạng Internet cần cài đặt lên máy chủ (Host - Server) đăng ký tên miền (vd: ―www.facebook.com‖) Khi bạn (một end-user) gõ đường URL ―https://www.facebook.com/‖ vào trình duyệt web máy mình, ta nói bạn thực gửi yêu cầu (request) đến tên miền ―www.facebook.com‖ nhằm xin phép truy cập vào WebApp Facebook Tuy nhiên, máy móc không hiểu tiếng người để phía Server giao tiếp với bạn request bạn cần thông dịch qua thứ ngôn ngữ giao tiếp mà server hiểu Các trình duyệt web (browser) Firefox, IE, Chrome đời nhằm mục đích Chúng cài đặt máy tính bạn (client) để thông dịch request bạn qua mã máy, gói đoạn mã máy lại thành gói liệu gửi đến địa www.facebook.com Hiện nay, ngôn ngữ giao tiếp thông dụng dùng để giao tiếp với server Internet HTTP (Hypertext Transfer Protocol) Một gói request http thường có định dạng tương tự sau: GET / HTTP/1.1 Host: facebook.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 … Ở bước 2: Khi server Host nhận gói liệu request bạn, phân tích chuyển đến trung tâm điều phối cài sẵn gọi Web Server Trung tâm điều phối phần mềm có nhiệm vụ quản lý điều phối tài nguyên WebApp (resource) Ta hiểu tài nguyên thành phần cấu thành WebApp, có trang web (webpage), file hình ảnh, file video, hiệu ứng chữ chạy, chữ … Web Server đọc gói request bạn hiểu bạn cần truy cập vào WebApp ―Facebook‖ Nó bắt đầu áp dụng quy trình thủ tục lập trình sẵn yêu cầu bạn khai báo xem bạn có tài khoản chưa trước cho bạn xa Nó soạn gói liệu trả (response) bao gồm mã cho phép truy cập nội dung trang web homepage Facebook Một gói response http thường có định dạng tương tự sau: HTTP/1.1 200 OK Date: Sat, 31 May 2015 23:59:59 GMT Content-Type: text/html Content-Length: 1354 (Nội dung trang web homepage Facebook) Bạn thấy thông tin quy định ngày mã truy cập, gói liệu kèm theo đoạn tag … Giữa đoạn tag thường nội dung webpage viết định dạng HTML, CSS Javascript Đây ngôn ngữ trình diễn nội dung web thông dụng đọc hiểu browser Browser nhận gói liệu này, biên dịch nội dung kẹp gói response vẽ lên hình trang web Login Facebook với đầy đủ hình ảnh màu sắc máy bạn với thông tin trình diễn hình, bạn hiểu server muốn bạn đăng nhập với tài khoản để xa Trên webpage vẽ sẵn form để bạn nhập username password Form đăng ký vẽ sẵn bên để bạn hiểu bạn cần đăng ký chưa có tài khoản Ở bước 3: Khi bạn nhập username, password click ―Log In‖, giống bước trên, bạn thực thao tác gửi request để yêu cầu truy cập vào trang tài khoản cá nhân tài khoản mà bạn nhập vào Browser biên dịch request bạn thành gói http request gửi đến server Tuy nhiên, lần có chút khác biệt request kèm theo trường usersername password bạn nhập vào Ta có gói request như: POST / HTTP/1.1 content-type:application/x-www-form-urlencoded;charset=utf-8 host: facebook.com content-length: 1354 Action=GetUserHome&Username=HmacSHA256&Password=45rffdd33yyd35ggd&S ignatureVersion=2&Versi Ở bước 4: Tương tự quy trình giao nhận bước 2, gói liệu request lại chuyển đến Web Server bắt đầu trình phân tích/điều hướng để gom tài nguyên (resource) cần thiết nhằm nhào nặn nội dung trang wall facebook bạn Trong trường hợp này, thông tin cần xử lý phức tạp cần phải truy xuất post status, hình ảnh liên quan đến tài khoản bạn Webserver huy động đến cổng xử lý khác để xử lý thông tin, hiệu ứng truy xuất đến sở liệu (database) Facebook để lấy liệu cần thiết từ tài khoản bạn Toàn trình xử lý dẫn đến kết cuối tạo nội dung trang wall facebook dạng html, css javascript để đưa vào gói trả response Browser máy bạn lại nhận response bung trang wall facebook cá nhân bạn với đầy đủ status, hình ảnh comment phong phú Cứ thế, ta thấy lướt web thực vòng tuần hoàn khép kín việc yêu cầu (request) gửi trả (response) liệu phía người dùng (client) server Phía server tạo nội dung web dạng mã html, css Browser phía client đảm nhận vai trò nhận vẽ lên hình người dùng nội dung sống động Khi ta nói ta xây dựng kiểm thử WebApp, có nghĩa ta xây dựng kiểm thử toàn hệ thống giúp tạo nên vòng tuần hoàn khép kín Hình 1.2 Mô hình hoạt động ứng dụng web (web application) 1.2 Các thành phần ứng dụng Web Giới thiệu tổng quan Một hệ thống Web bao gồm thành phần phần cứng, phần mềm người dùng Trong phần chủ yếu trình bày thành phần phần mềm hệ thống Web Kiến trúc ứng dụng phân tán Trong kiến trúc phân tán, thành phần nhóm lại thành cụm dịch vụ liên quan Kiến trúc phân tán sử dụng cho hệ thống khách-chủ truyền thống hệ thống khách-chủ Internet Hệ thống khách-chủ truyền thống Một ứng dụng truy cập sở liệu điển hình gồm bốn thành phần: Mã nguồn giao diện người dùng: Người dùng cuối thiết bị nhập/xuất tương tác với mã nguồn giao diện người dùng để thực xử lý nhập/xuất Mã nguồn xử lý: áp dụng luật, tính toán liệu, xử lý liệu Mã nguồn dịch vụ truy cập liệu: Xử lý phục hồi liệu cập nhập liệu, gửi kết trả lời cho trình khách Lưu trữ liệu: lưu trữ thông tin So sánh hệ thống thin-client thick-client Khi phần lớn công việc xử lý thực phía trình chủ, hệ thống gọi hệ thống thin-client Ngược lại, phần lớn công việc xử lý thực phía trình khách, hệ thống gọi hệ thống thick-client Trong hệ thống thin-client, giao diện người dùng thực thi máy khách tất thành phần khác thực thi máy chủ Ngược lại, hệ thống thick-client hầu hết xử lý thực phía trình khách; ứng dụng trình khách thực xử lý liệu áp dụng luật xử lý logic vào liệu Trình chủ có trách nhiệm cung cấp chức truy cập liệu lưu trữ liệu Hình 1.3 Hệ thống thin-client Hình 1.4 Hệ thống thick-client Bài 20: Thực hành - Sử dụng công cụ kiểm thử Appium (I) Sinh viên thực hành theo đường link sau: http://www.guru99.com/introduction-to-appium.html Bài 21: Các tiêu chí đảm bảo chất lượng ứng dụng di động (II) 21.1 Khả sử dụng (Usability) Khoảng 26% người dùng bỏ ứng dụng sau sử dụng lý người dùng có xu hướng để xóa chúng kinh nghiệm người dùng [26] Khả sử dụng chất lượng sử dụng xác định ISO 25010 [38] như: Hiệu quả, hiệu hài lòng mà xác định người dùng đạt mục tiêu định môi trường cụ thể ISO 25010 mô tả khả sử dụng phụ đặc tính likability pleasure, đại diện cho hài lòng nhận thức tình cảm Trên thị trường ứng dụng di động, thuộc tính quan trọng hơn, sử dụng để ứng dụng máy tính để bàn, người dùng thường để lại ý kiến khả sử dụng cửa hàng ứng dụng Hình cho thấy tỷ lệ phần trăm ý kiến người sử dụng liên quan đến khả sử dụng Apple App Store thể loại suất [40] Hình 21.1: Đánh giá tần số Kinh nghiệm người dùng (UX) ứng dụng khác thiết bị hệ điều hành.UX khác thiết bị di động có bàn phím đầy đủ phần cứng người dùng Android quen với mẫu UX khác so với iOS hay Windows Phone dùng [40] 21.2 Hiệu (Performance) Yêu cầu thực quan trọng cho thành công thị trường ứng dụng di động Các số hoạt động quan trọng quan trọng ứng dụng thời gian khởi động, giao diện người dùng, nhớ tuổi thọ pin [48] 21.2.1 Thời gian khởi động (Launch time) Thời gian khởi động đề cập đến thời gian tiêu hao ứng dụng bắt đầu Theo khảo sát kỳ vọng người tiêu dùng [41], trung bình thời gian khởi động ứng dụng điện thoại di động dự kiến hai giây 80% số người hỏi cho thời gian khởi động ba giây Các ứng dụng chất lượng Alliance25 (Aqua) cần thiết để hiển thị thông báo tiến trình thời gian khởi động dài năm giây Thời gian khởi động nên đo tập lệnh kiểm tra tự động [48] 21.2.2 Thời gian đáp ứng (Responsiveness) Phản ứng có nghĩa ứng dụng giao diện đồ họa phản ứng cách nhanh chóng mà chậm trễ bị đóng băng Người dùng di động luôn vội vàng không muốn chờ đợi cho ứng dụng chậm Đáp ứng ứng dụng đo mili giây thời gian chậm trễ mà trả lại trang ứng dụng khác điều khiển Sự chậm trễ chuyển trang đo mã, công cụ GUI tự động công cụ chuyên dụng đặc biệt cho mục đích 21.2.3 Tuổi thọ pin (Battery life) Ứng dụng không nên tải CPU mạng CPU cao tải mạng giảm tuổi thọ pin Cách tốt làm để đo tuổi thọ pin đo CPU, GPU sử dụng công cụ đặc biệt mà đếm ứng dụng khóa battery26 21.2.4 Hiệu sử dụng mạng (Network usage efficiency) Mạng hiệu sử dụng tiêu chí chất lượng cho ứng dụng điện thoại di động Aqua Aqua định nghĩa ba kiểm tra việc sử dụng mạng bản:  Nội dung trùng lặp-ứng dụng cần nhớ cache nội dung tải thường xuyên sử dụng  Chuyển định kỳ - quảng cáo phân tích liệu không sử dụng nhiều kết nối internet  Kết nối đóng cửa - chuyển mạng nên đóng ứng dụng ngừng hoạt động AQuA khuyến cáo để thực thử nghiệm với công cụ tối ưu hóa nguồn lực ứng dụng AT&T (ARO) miễn phí.ARO thu thập lưu lượng mạng thử nghiệm điều hướng thông qua ứng dụng tự động đánh giá liệu lãng phí 21.3 Tuân thủ lưu trữ ứng dụng (Application store compliance) Cấp giấy chứng nhận thử nghiệm thủ tục cuối trước ứng dụng đượctải lên cửa hàng ứng dụng Kiểm thửer đảm bảo ứng dụng phù hợp với tất tảng cụ thể hướng dẫn chấp nhận để ứng dụng lưu trữ Điều quan trọng chủ yếu trường hợp iOS nơi mà trình phê duyệt thời gian lâu hướng dẫn hành vi vi phạm kéo dài thời gian phát hành ứng dụng Trước công bố thủ tục thử nghiệm (dựa [49] [50] [51]): Chuẩn bị tài sản cho phát hành - Đảm bảo biểu tượng ứng dụng, hình ảnh quảng cáo ảnh chụp hình tồn kích thước mong muốn định dạng Chuẩn bị EULA, khóa mật mã văn mô tả ứng dụng cửa hàng Chuẩn bị ứng dụng cho phát hành - Làm dự án từ thư viện không cần thiết, phương pháp thử nghiệm cài đặt gỡ lỗi Cấu hình ứng dụng manifest - Xác định định hướng hỗ trợ khả ứng dụng (sử dụng nguồn lực, cảm biến, truy cập vào sổ địa chỉ, vv) Tạo gói ứng dụng ký - ứng dụng phải có chữ ký điện tử chứng nhà phát triển.Chứng không cần phải có chữ ký quyền xác nhận; chứng tự ký đủ Chạy công cụ xác nhận tự động - Đi qua kiểm tra xác nhận tự động cần thiết để vượt qua trình phê duyệt cửa hàng (trong trường hợp iOS Windows) Chuẩn bị phụ kiện máy chủ - Nếu ứng dụng hợp tác với phụ kiện phần cứng cụ thể (ví dụ dây đeo cổ tay), tiêu thụ dịch vụ web nguồn lực bên khác, đảm bảo nguồn lực sẵn sàng cho sản xuất Gói ứng dụng bảo mật - công cụ sử dụng để bảo vệ tập tin nhị phân ứng dụng từ kỹ thuật đảo ngược Ứng dụng thử nghiệm cho phát hành - thực kiểm tra hai chức chức để xác định trải nghiệm người dùng cuối tổng thể Bài 22: Thực hành - Sử dụng công cụ kiểm thử Appium (II) Sinh viên thực hành theo đường link sau: http://www.guru99.com/introduction-to-appium.html Bài 23: Các công cụ kiểm thử tự động 23.1 Robotium 23.1.1 Giới thiệu chung Robotium phần mở rộng khung thử nghiệm Android tạo để làm cho dễ dàng để viết kiểm tra giao diện người dùng cho ứng dụng Android Kiểm tra Robotium kế thừa từ ActivityInstrumentationTestCase2 cho phép bạn xác định trường hợp thử nghiệm lập trình android Chú ý: kiểm tra Robotium cảm nhận áp dụng thử hộp đen, tức là, tương tác với giao diện người dùng không thông qua mã nội ứng dụng Robotium mở rộng khuôn khổ thử nghiệm Android để làm cho đơn giản để viết kiểm tra Các lớp học để thử nghiệm với Robotium Solo Solo khởi tạo với thiết bị đo đạc testcase hoạt động để kiểm tra 23.1.2 Hướng dẫn cài đặt Để sử dụng Robotium dự án thử nghiệm Android bạn, bạn cần phải thêm phụ thuộc vào việc phát hành Robotium để xây dựng tập tin bạn dependencies { // đơn vị kiểm tra phụ thuộc androidTestCompile 'com.jayway.android.robotium:robotium:5.4.12' 4} Tại thời điểm văn cho phiên Robotium 5.4.1 23.2 Các công cụ kiểm thử khác 23.2.1 Experitest Experitest cung cấp giải pháp kiểm thử ứng dụng di động gọi Seetest bao gồm thành phần sau:  Seetest tự động - công cụ cho việc tạo kiểm tra chức thông qua giao diện đồ họa  Seetest Cloud - giải pháp điện toán đám mây di động  Seetest tay - công cụ để kết nối với thiết bị di động đám mây để kiểm tra thủ công  Mạng ảo - máy chủ proxy để mô điều kiện mạng Seetest Tự động hóa công cụ đòn bẩy tay Seetest gọi Silk di động phát triển Borland Lợi Experitest Borland Experitest cung cấp giải pháp thiết bị thử nghiệm điện toán đám mây Tất thành phần Seetest dễ dàng để cài đặt sử dụng Nó có giao diện người dùng trực quan, tài liệu hướng dẫn ngắn gọn rõ ràng Tôi tạo chạy script tự động Seetest sau xem video hướng dẫn dài năm phút Tuy nhiên, thử nghiệm iOS, bắt buộc để có mở khóa tập tintừ công ty bên thứ ba Phải tuần nhận tập tin mở khóa cho thiết bị Mở khóa tập tin này, thực tế chìa khóa phụ tải,phải mua lại cho thiết bị iOS cách riêng biệt Vấn đề với tốc độ không kết thúc Người sử dụng ghi lại actions annoyingly chậm phải thực máy tính Sau kết nối thiết bị cáp USB vào máy tính (hoặc kết nối với thiết bị thông qua đám mây điện thoại), hình thiết bị nhân đôi cho cửa sổ Seetest máy tính Trong cửa sổ này, thử nghiệm thực ghi hành động đầu vào thông qua chuột bàn phím Sau hành động, kiểm tra phải chờ đợi phản ứng giao diện người dùng mà bị trì hoãn phản ứng hình Ghi âm kịch kiểm thử tốt nhiều trực tiếp thiết bị, tùy chọn không hỗ trợ Thực kiểm tra chậm (đôi chậm so với ghi âm nó), thực song song nhiều thiết bị Kịch kiểm thử ghi xuất sang nhiều ngôn ngữ lập trình Kịch kiểm thử dễ đọc, hiểu thay đổi SeeTest đám mây riêng - giải pháp cho đám mây thiết lập từ thiết bị mà công ty sở hữu Nó dịch vụ mà bạn mua thời gian để thử nghiệm nhiều thiết bị Experitest lựa chọn cho khả ghi kiểm tra giao diện người dùng Android, iOS Windows Phone đám mây thiết bị riêng Tester phải sử dụng để làm chậm ghi chép hành động thực thử nghiệm chậm thứ khác hoạt động tốt 23.2.2 Ranorex Ranorex Studio NET dựa công cụ để thử nghiệm giao diện người dùng điện thoại di động, máy tính để bàn ứng dụng web Nó hỗ trợ Android, iOS Windows 8.1 Ranorex Studio trông tương tự Visual Studio Điều bất lợi cho lập trình viên toàn cung cấp nhiều tùy chọn tính quen thuộc với lập trình viên Do tính phức tạp công cụ này, phải thời gian để tìm hiểu tất cần thiết Mặt khác, Ranorex Studio cung cấp khả tự động hóa tốt tính để tổ chức kiểm tra Kịch kiểm thử tạo mã C # chí kịch đọc hiểu tốt, họ không cần phải sửa đổi mã Tất thứ thiết lập điều chỉnh thông qua giao diện Kịch ghi âm nhanh chóng đơn giản Phần xác nhận thêm vào ghi âm cách dễ dàng cách chọn thành phần GUI điều chỉnh tiêu chí xác nhận Kiểm tra ghi âm ứng dụng di động Android iOS thực điện thoại kết nối không dây mạng subnet Tuy nhiên, kịch ghi lại lúc chạy lần Đó khó khăn để ghi lại trường hợp kiểm thử ghi lại kịch ghi đơn giản cần số sửa đổi Sau sử dụng Ranorex thời gian, xác định số mô hình ghi lại xét nghiệm thất bại chuẩn bị kịch tốt Mặc dù, kịch kiểm thử dễ bị lỗi Ranorex cung cấp khả để kiểm thử trọng điểm theo định hướng Chìa khóa để kiểm tra tự động hóa từ thiết kế kiểm thử case Một tính ứng dụng kiểm thử riêng biệt kịch tự động độc lập có tên cụ thể (ví dụ StartApplication, Đăng nhập, EndApplication, vv) Từ kịch kiểm thử, kỹ sư QA dễ dàng soạn kịch kiểm thử nghiệm thu Ranorex Studio 23.2.3 Calabash & Xamarin Test Cloud Xamarin khuôn khổ cho phát triển nhiều hệ máy di động thảo luận mục 2.3 Bên cạnh công cụ phát triển, Xamarin cung cấp chức kiểm tra giải pháp phức tạp cách sử dụng Calabash Calabash giao diện người DÙNG chấp nhận hướng kiểm thử khuôn khổ cho Android iOS mở rộng chức khuôn khổ kiểm tra Ruby kiểm thử framework Cucumber Các xét nghiệm Calabash (resp Cucumber) viết ngôn ngữ tự nhiên (sử dụng Gherking ngữ pháp quy tắc công ước đưa given-when-then), dễ dàng đọc hiểu kỹ sư QA phi kỹ thuật nhà phát triển Kiểm thử Xamarin mở rộng giao diện người DÙNG chấp nhận kiểm tra cho ứng dụng Xamarin Khi đơn vị xét nghiệm Calabash thông qua giả lập thiết bị thực kết nối với máy chủ xây dựng, xây dựng máy chủ tạo gói phần mềm ứng dụng, mà gửi với thử nghiệm Calabash thiết bị chọn vào kiểm tra đám mây Khi kiểm tra Calabash hoàn thành tất thiết bị lựa chọn đám mây, báo cáo thử nghiệm tương tác với danh sách thiết bị thông qua / không kiểm tra thể cổng thông tin web Hình 23.1: Kiểm tra Xamarin đám mây 23.2.4 Perfecto mobile Perfecto mobile thiết bị đám mây công khai với kiểm thử tự động khả hóa mạng ảo Kiểm thửer truy cập vào hàng trăm thiết bị thông qua cổng thông tin web, VisualStudio HP UFT mở rộng Sau đăng nhập vào cổng thông tin web, kiểm thửer chọn từ nhiều loại điện thoại thông minh máy tính bảng Android, iOS Windows Phone Sau đó, hình điện thoại xuất trình duyệt web thiết bị sẵn sàng để sử dụng Hướng dẫn sử dụng thử nghiệm với điện thoại di độngthông qua giao diện web Perfecto đáng ngạc nhiên nhanh chóng Sự khác biệt chậm trễ Perfecto điện thoại di động SeeKiểm thử, nơi thiết bị kết nối trực tiếp vào máy tính, tối thiểu Hướng dẫn kiểm tra cung cấp chức khác gọi điện thoại thử nghiệm nhận tin nhắn SMS Ngoài có mạng ảohóa với thiết lập cho thiết bị với thẻ SIM, kết nối liệu mạng di động sử dụng để truy cập Internet Thật không may, Perfecto điện thoại di động phiên dùng thử có chứa hướng dẫn sử dụng thử nghiệm Đại diện bán hàng, liên lạc, không cho phép truy cập vào phiên dùng thử với khả tự động hóa 23.2.5 IBM Mobile Quality Assurance IBM cung cấp giải pháp cho đám mây phát triển ứng dụng di động gọi làBluemix Bảo đảm chất lượng điện thoại di động (MQA) phần Bluemix, cung cấp phần mềm dịch vụđể thử nghiệmkhả xác nhận ứng dụng di động Các tính MQA báo cáo, phân tích báo cáo phân tích lỗi ứng dụng MQA có thư viện sản xuất sản xuất trước sau sử dụng cho instrumenting ứng dụng Thêm thư viện ứng dụng dễ dàng thay đổi mã (khoảng mười dòng mã nguồn) Thư viện tiền sản xuất cho phép báo cáo ứng dụng-một cách dễ dàng báo cáo vấn đề từ điện thoại, mà đơn giản hóa trình báo cáo toàn vấn đề (ví dụ: tải lên hình ảnh đến vấn đề hệ thống theo dõi ghi lại thông tin thiết bị) Bài sản xuất thư viện phục vụ chủ yếu cho việc báo cáo thông tin chi tiết cố để cổng thông tin Bluemix Lợi so với số dịch vụ phân tích di động khác không đòi hỏi gần sửa đổi mã Phân tích tâm lý cung cấp thông tin chi tiết từ cửa hàng ứng dụng Nó đo thuộc tính chất lượng ứng dụng hiệu suất, UX sang trọng, giá hay hài lòng dựa đánh giá người dùng, mà xác (trong trường hợp thực ví dụ) Mặt khác, đánh giá người dùng xếp hạng số liệu có vấn đề cho thấy chất lượng ứng dụng MQA phân tích tâm lý cung cấp thông tin tương tự chí ứng dụng khác Vì vậy, quản lý sản phẩm so sánh ứng dụng họ với người khác IBM MQA không cung cấp khả tự động kiểm tra kết nối với phần mềm quản lý vòng đời ứng dụng mà coi bất lợi lớn 23.2.6 Tổng quan công cụ kiểm thử Nó xác định cụ kiểm tra tốt luôn phụ thuộc vào ứng dụng kiểm thử Đối với ứng dụng ngân sách thấp nhỏ dành cho Android iOS sử dụng IBM MQA, tận dụng thử nghiệm phiên beta hoàn toàn tránh giao diện người dùng tự động kiểm tra, khó khăn để trì thay đổi nhanh chóng giao diện ứng dụng Đối với dự án ứng dụng lớn với ngân sách cao nhu cầu cao độ tin cậy khả chuyển nhượng, lựa chọn Experikiểm thử Perfecto di động phụ thuộc vào kiểu đám mây điện thoại cần Hơn nữa, không xem xét IBM MQA cho dự án lớn khả tích hợp với công cụ quản lý ứng dụng, nhiều công việc thủ công hỗ trợ hội nhập liên tục Mặt khác, định phát triển ứng dụng kết hợp với khung Xamarin, xem xét giải pháp thử nghiệm Xamarin đủ cho hầu hết dự án ứng dụng khó khăn để thử nghiệm ứng dụng Xamarin với công cụ nêu khác hạn chế kỹ thuật Các bảng sau tóm tắt thông tin công cụ kiểm thử Bảng 23.1: Các công cụ kiểm thử tổng quan Experitest Ranorex Xamarin Perfect test cloud o mobile IBM MQ A Supporte d mobile OS Android , iOS, WP Android, iOS, Android Windows , iOS, WP Android Android , iOS, , iOS WP Supporte d applicatio n types Test automatio n Native, web, hybrid * UI tests Native, UI test API tests Native, web, hybrid * UI tests Native, web, hybrid * No Device test cloud Private Private Public No CI support Yes Yes Yes Public , privat ee Yes Hybrid web , hybrid* No * Nó phụ thuộc vào khuôn khổ tảng sử dụng Bảng 23.2: Bảng giá công cụ kiểm thử Price Experitest $ 3.500 / năm cho tự động hóa + $ 1,000 / năm điện toán đám mây Ranorex $ 2330 với bảo trì năm Xamarin test cloud $ cho thiết bị Perfecto Mobile $ 15 giờcho thiết bị IBM MQA $ 168 cho ứng dụng + $ 0,17 cho thiết bị để theo dõi 23.2.7 Các công cụ xác nhận tự động Windows iOS cung cấp công cụ tự động xác nhận (cửa sổ cấp giấy chứng nhận Kit27,iTunes kết nối xác nhận Kiểm thửs28) để tăng tốc độ lên trình phê duyệt Trong trường hợp Windows, ứng dụng không vượt qua quy trình phê duyệt không thành công để vượt qua kiểm tra tự động xác nhận ứng dụng iOS chí tiếp tục để trình phê duyệt cửa hàng ứng dụng Windows Store Cửa sổ chứng nhận Kit iTunes Connect Validation thử nghiệm chạy máy tính nhà phát triển Mục đích họ để tăng số lượng yêu cầu phê duyệt thành công cách kiểm tra ứng dụng trước gửi Cửa sổ chứng nhận Kit kiểm tra an ninh hiệu suất, khả ứng dụng, tài nguyên có nhiều người khác kiểm tra tĩnh kiểm tra động Android có công cụ tương tự gọi Lint Công cụ ý định để xác nhận đơn trước gửi đến cửa hàng ứng dụng, có phân tích mã tĩnh mà tương tự số kiểm tra Windows Certification Kit iTunes Connect 23.3 Hướng dẫn kiểm thử Có nhiều khía cạnh cần xem xét đầu vòng đời phát triển ứng dụng Không có vấn đề phần mềm phát triển, câu hỏi "Mục đích sản phẩm phần mềm gì?" hay "Trong môi trường phần mềm chạy?"vẫn Tuy nhiên, số người số họ đặc biệt liên quan chặt chẽ với ứng dụng di động Câu trả lời câu hỏi cần làm rõ trước bắt đầu hoạt động thử nghiệm (dựa [26], [52]):  Các ứng dụng phát triển nào? (nguồn gốc, web, hybrid)  Hệ điều hành nhắm mục tiêu gì?  Phạm vi phiên hệ điều hành hỗ trợ gì?  Là người dùng bảo hiểm công cộng hay doanh nghiệp?  Đối với ứng dụng doanh nghiệp, có danh sách thiết bị công ty phê duyệt?  Đối với ứng dụng công chúng, đối tượng cửa hàng ứng dụng loại nhắm mục tiêu gì? Danh sách kiểm tra toàn diện với câu hỏi tương tự tìm thấy [53] Đây bước việc kiểm tra điện thoại di động xét nghiệm phải biết họ để kiểm tra Để tóm tắt chương trước, đề nghị hướng dẫn thử nghiệm ứng dụng di động sau (lấy cảm hứng từ [54]): Xác định điều kiện thử nghiệm (phạm vi ưu tiên) chuẩn bị phòng thử nghiệm  Bắt đầu cách chuẩn bị kiểm thửcase dựa yêu cầu chức chức đặc điểm kỹ thuật thiết kế thử nghiệm  Quyết định kiểm tra chạy giả lập thiết bị thực Xác định kiểm thửcase tự động  Xác định nhiệm vụ kiểm thử lặp lặp lại phù hợp cho tự động hóa  Xác định trường hợp kiểm thử yêu cầu phải thực nhiều thiết bị  Xác định kiểm thửcase bao gồm chức dễ dàng tự động hóa (kiểm tra khói ví dụ bao gồm cài đặt đăng nhập) Chuẩn bị kiểm tra môi trường công cụ  Có thiết bị kiểm tra giả lập  Chọn thiết bị phổ biến  Thiết lập đám mây kiểm tra tin có thử nghiệm công khai truy cập đám mây (nếu kiểm tra thiết bị điện toán đám mây cần thiết)  Thiết bị thực giả lập  Đối với giả lập - thông số thiết lập (ví dụ phiên hệ điều hành, kích cỡ hình, mật độ điểm ảnh, nhớ, kiến trúc, kích thước nhớ thẻ SD) để phản ánh thiết bị mục tiêu  Đối với thiết bị thực - cập nhật hệ điều hành hạ cấp xuống phiên mong muốn Rõ ràng thiết bị từ ứng dụng không cần thiết cài đặt rộng rãi sử dụng ứng dụng (ví dụ Messenger Twitter) dựa bạn muốn kiểm thử29  Có phần mềm để kiểm tra điện thoại di động hỗ trợ (ví dụ công cụ cho giao diện người dùng tự động hóa, an ninh thực thử nghiệm)  Cài đặt máy chủ biên cho hội nhập liên tục Kiểm thử chức  Chạy kiểm thử tự động máy chủ  Thực kiểm tra nhãn thiết bị chọn  Hỗ trợ kiểm thử ứng dụng công cụ báo cáo lỗi  Xem xét tần suất kiểm tra tự động thực đám mây thiết bị Kiểm tra khả sử dụngĐừng quên khả sử dụng yếu tố quan trọng để ứng dụngthành công  Bắt đầu kiểm thử khả sử dụng với phác thảo nguyên mẫu giai đoạn đầu dự án  Kiểm tra trongtoàn trình phát triển, kiểm tra thường xuyên Kiểm thử hiệu suất  Ứng dụng kiểm thử cho thời gian đáp ứng, sử dụng tài nguyên khởi động Kiểm thử độ bến  Kiểm tra ứng dụng xử lý gián đoạn (7.1.1) cách xác  Kiểm tra xem ứng dụng xử lý lỗi mạng, biến động, chế độ máy bay chuyển đổi Wi-Fi mạng di động Kiểm thử an ninh  Kiểm tra ứng dụng cho bảo mật rò rỉ truyền tải liệu Kiểm tra để biên soạn chương trình ứng dụng Kiểm thử chuyển nhượng  Kiểm tra xem ứng dụng chạy thiết bị hệ điều hành phiên hỗ trợ-xem xét thử nghiệm đám mây thiết bị công khai  Sử dụng xem trước phát triển hệ điều hành kiểm tra ứng dụngtrên phiên hệ điều hành trước công khai 10 Kiểm thử chức khác  Kiểm tra nội địa hóa, tiếp cận kiểm tra khác liên quan đến ứng dụng 11 Áp dụng kiểm thử tuân thủ sách cửa hàng  Hãy chắn ứng dụng phù hợp với tất hướng dẫn cụ thể tảng sách lưu trữ  Chuẩn bị ứng dụng bạn để phát hành  Sử dụng công cụ xác nhận tự động 12 Giám sát ứng dụng  Màn treo ứng dụng, tải hành vi người dùng  Theo dõi ý kiến người sử dụng xếp hạng cửa hàng ứng dụng  Đo đặc tính chất lượng ứng dụng Hướng dẫn không toàn diện nắm bắt bước quan trọng Mỗi ứng dụng khác đòi hỏi phải có công cụ kiểm tra khác cách tiếp cận Bài 24: Thảo luận - Ứng dụng công cụ kiểm thử Robotium thiết bị di động Sinh viên thực thảo luận nội dung sau:         Benefits Prerequisites Creating Robotium Project Creating Robotium Class Some Robotium Methods Locating Elements in Android application Sample Code Executing Robotium Project Bài 25: Thực hành - Sử dụng công cụ kiểm thử Robotium Sinh viên thực hành theo đường link sau: http://www.vogeslla.com/tutorials/Robotium/article.html ... - Ứng dụng công cụ Selenium kiểm thử ứng dụng Web 105 Bài 7: Thực hành - Sử dụng công cụ kiểm thử Selenium WebDriver 106 Bài 8: Kiểm thử cài đặt, kiểm thử bảo mật 107 8.1 Kiểm thử. .. - Ứng dụng công cụ kiểm thử Selenium thiết bị di động .226 Bài 17: Thực hành - Sử dụng công cụ kiểm thử Selenium cho thiết bị di động 227 Bài 18: Các tiêu chí đảm bảo chất lượng ứng dụng di động. .. hóa liệu (web standards & encryptions) Bài 2: Kiểm thử giao di n, kiểm thử chức 2.1 Kiểm thử giao di n người dùng 2.1.1 Kiểm thử thiết kế giao di n người dùng Kiểm thử thiết kế giao di n người

Ngày đăng: 24/10/2017, 15:50

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan