Phân loại ứng dụng di động

Một phần của tài liệu NGHIÊN CỨU PHÁT TRIỂN KỸ THUẬT VÀ GIẢI PHÁP KIỂM THỬ ỨNG DỤNG DI ĐỘNG (Trang 25 - 27)

DI ĐỘNG VÀ PHƯƠNG PHÁP PHÁT TRIỂN LINH HOẠT

1.2. Phân loại ứng dụng di động

Các ứng dụng di động được phân thành 3 nhóm:

Native Applications: Các ứng dụng bản địa được phát triển cho một nền tảng cụ thể

và được cài đặt trên thiết bị di động. Các ứng dụng Android được phát triển bằng Java, trong khi iOS ứng dụng được viết bằng Objective-C hoặc Swift. Các ứng dụng này có quyền truy cập vào tất cả các thư viện nền tảng cụ thể và các API để tận dụng lợi thế của tất cả các tính năng của một điện thoại thơng minh hiện đại đã cung cấp như có thể truy cập trực tiếp vào máy ảnh, GPS và tất cả các cảm biến khác.

Web Based Applications: ứng dụng được truy cập thơng qua trình duyệt của bên

thứ 3 được cài trên thiết bị di động. Một ứng dụng Web di động là một trang web mà có thể được truy cập từ trình duyệt web của điện thoại. Trang web đó được tối ưu hóa cho việc sử dụng trình duyệt di động và độc lập với các nền tảng di động. Các ứng dụng Web di động đang phát triển với các công nghệ web như HTML và JavaScript, đặc biệt là với HTML5, CSS3 và JavaScript.

Hybrid Applications: là sự kết hợp giữa ứng dụng native và ứng dụng web.

Những ứng dụng đó bao gồm các cơng nghệ Web khác nhau như HTML5 hoặc JavaScript. Một khi các phần web đã được xây dựng, việc phát triển có thể biên dịch mã cơ sở này với định dạng gốc khác nhau: Android, iOS, Windows Phone, hoặc BlackBerry. Để biên dịch mã web vào mã di động native, các nhà phát triển cần phải sử dụng khung (framework) phát triển như PhoneGap. Các framework như vậy cung cấp API để truy cập các tính năng phần cứng thiết bị cụ thể trong phần web của ứng dụng. Tương ứng với từng loại ứng dụng sẽ có các cơng nghệ, cơng cụ và kỹ thuật phát triển được thể hiện qua Bảng 1.1.

Bảng 1.1. So sánh các kỹ thuật, công nghệ phát triển của các loại ứng dụng di động

Native Hybrid Mobile web

Kỹ năng/ Objective-C HTML5

công cụ Java CSS3

cần để phát C/C++ Javascript HTML, CSS, javascript

triển các C# Mobile development

ứng dụng VB.Net framwork

đa nền tảng

Phân phối App store/ Market App store/ Market Internet

Tốc độ Chậm Trung bình Nhanh

phát triển

Mức độ

tiếp tục bảo Khó Trung bình Dễ

trì ứng

dụng

Truy câp đầy đủ vào: Đa số truy cập được: Chỉ truy cập một phần: camera, microphone, camera, microphone,

Truy cập GPS, gyroscope,

GPS, gyroscope, GPS, gyroscope,

thiết bị accelerometer, file accelerometer, file accelerometer, file upload.

upload… upload…

Truy cập Có Có Giới hạn mức độ

offline

Sự kết hợp giữa tốc độ Yêu cầu phát triển nhanh, bảo trì dễ dàng, Cho phép tạo các ứng phát triển ứng dụng tính cơ động của ứng Ưu điểm dụng với nhiều giao web với tốc độ truy cập

dụng; 1 sản phẩm nhưng diện, hay đồ họa thiết bị và kho phân có thể chạy trên nhiều

phối ứng dụng Native nền tảng khác nhau Thời gian và chi phí

phát triển lớn. Khơng thể xử lý đồ họa Không xử lý đồ họa Tiếp tục bảo trì khó nhiều; u cầu phải

Nhược nhiều

Khơng có tính cơ động quen, thân thiện với

điểm (portability) – không các framework phát Không truy cập được camera, âm thanh. chạy được trên nền triển mobile

Native Hybrid Mobile web

Các ứng dụng hướng

Trò chơi người dùng với yêu Thường không phải là Sử dụng tốt Các ứng dụng hướng cầu đồ họa vừa phải, ứng dụng trò chơi, tập nhất cho người dùng mà yêu cầu các ứng dụng hướng trung cho các ứng dụng

đồ họa cao. kinh doanh cần truy kinh doanh. cập tất cả các thiết bị

Các nghiên cứu [74], [35], [28] cho rằng những đặc thù của kiểm thử ứng dụng di động là một phần do sự đa dạng của các nền tảng và tính năng của các thiết bị di động. Ví dụ, các thiết bị có kích thước màn hình (từ máy nhắn tin hoặc điện thoại thơng minh nhỏ đến máy tính bảng lớn); cơ chế tương tác (stylus, ngón tay, bàn phím, cử chỉ); băng thơng mạng (ví dụ như Bluetooth, 3G, 4G, WiFi); khả năng lưu trữ; tốc độ CPU; kích thước thiết bị và tích hợp thiết bị với thiết bị ngoại vi hay hệ thống máy tính khác. Điều này làm cho nó rất khó để đảm bảo rằng các ứng dụng có thể được sử dụng một cách hiệu quả trong bất kỳ hồn cảnh và mơi trường nào. Theo các nghiên cứu hiện tại cho thấy, hiện đang thiếu các nghiên cứu về cách để đưa ra các yêu cầu kiểm thử cụ thể liên quan đến ứng dụng di động theo vòng đời phát triển từ các đặc tả yêu cầu [74]. Đặc biệt, các nhà phát triển phải xây dựng các ứng dụng để đảm bảo rằng nó sẽ được xem xét và hành xử đúng. Những vấn đề trên đã thúc đẩy nhu cầu cần phải có cách tiếp cận tốt hơn, các phương pháp, các kỹ thuật, công cụ tốt hơn để thực hiện kiểm thử cho các ứng dụng di động nhằm đảm bảo chúng hoạt động hiệu quả và tin cậy [74], [28], [126], [57].

Một phần của tài liệu NGHIÊN CỨU PHÁT TRIỂN KỸ THUẬT VÀ GIẢI PHÁP KIỂM THỬ ỨNG DỤNG DI ĐỘNG (Trang 25 - 27)

Tải bản đầy đủ (DOC)

(143 trang)
w