Những thách thức và giải pháp trong kiểm thử di động
1. Giới thiệu: Trong nhiều năm, các ứng dụng smart phone có sự phát triển không ổn định vì tại của hàng Google Play, App Store đã vượt quá hàng tỷ ứng dụng cho việc sử dụng nội bộ và bên ngoài. Các ứng dụng này đang đưa ra những thách thức lớn đối với người sử dụng. Đối với bất kỳ ứng dụng, ...
1. Giới thiệu:
- Trong nhiều năm, các ứng dụng smart phone có sự phát triển không ổn định vì tại của hàng Google Play, App Store đã vượt quá hàng tỷ ứng dụng cho việc sử dụng nội bộ và bên ngoài.
- Các ứng dụng này đang đưa ra những thách thức lớn đối với người sử dụng.
- Đối với bất kỳ ứng dụng, chất lượng và tính chất sử dụng các tính năng ứng dụng là rất quan trọng để đạt được đến mức độ cụ thể của sự thành công. các ứng dụng kém chất lượng không chỉ cản trở người dùng, người bắt đầu triển khai những ứng dụng, cũng có thể bị mất thu nhập hoặc các thương hiệu cụ thể vĩnh viễn.
- Do số lượng smart phone + các tính năng cải tiến ngày càng tăng, smart phone đã trở thành công cụ chính của thông tin liên lạc trên toàn cầu
- Sự phát triển của các ứng dụng mobile mang lại môi trường máy tính cho nhiều công ty và nền tảng. Tuy nhiên vẫn có nhiều công ty và nền tảng không có nhiều ứng dụng trong di động, nó là 1 thách thức lớn và để giải quyết thách thức này cần phải có chiến lược kiểm thử di động thích hợp Dưới đây là những thách thức khác nhau khi tham gia vào thử nghiệm các ứng dụng di động và những giải pháp để vượt qua:
2. Kiểm thử trên nhiều loại di động khác nhau:
- Trên thị trường có khoảng hơn 500 triệu thiết bị Android, 200 thiệu thiết bị IOS, cùng với nó là hàng vạn ứng dụng đang được vận hành. Đây chính là một thách thức lớn đối với thử nghiệm ứng dụng di động
- Để kiểm tra các thiết bị di động khác nhau và chức năng của các thiết bị di động thử nghiệm và phát triển cần phải giữ hồ sơ của tất cả các thiết bị di động và chức năng của họ
- Các ứng dụng di động luôn phải đối mặt với những thách thức khác nhau trong những môi trường khác nhau của những thiết bị khác nhau: điện thoại di động, điện thoại thông minh, các tab, iPad ...
- Một ứng dụng hoạt động tốt trên một thiết bị di động không có nghĩa là nó chạy tốt trên tất cả các thiết bị di động khác(độ phân giải màn hình khác nhau, CPU, bộ nhớ, hỗ trợ hệ điều hành và phần cứng)
3. Nhiều nền tảng điều hành di động:
- Chất lượng ứng dụng di động phụ thuộc nhiều vào các nên tảng điều hành khác nhau, chính vì vậy những nền tảng điều hành đang đưa ra những thách thức lớn đối với thử nghiệm các ứng dụng di động
- Các nhà cung cấp ứng dụng di động phải tiếp thị đến nhiều nền tảng di động để tiếp cận đối tượng của họ. Trên thị trường, có rất nhiều thiết bị di động cùng nhãn hiệu chạy trên nền tảng điều hành khác nhau, các nhà sản xuất cạnh tranh tạo ra các thiết bị di động tốt nhất mà không cần sự hỗ trợ từ hệ điều hành khác nhưng đó lại là thách thức lớn nhất đối với kiểm thử di động.
- Để thử nghiệm các thiết bị di động này chạy trên các hệ điều hành khác nhau (như iOS, Android, Blackberry, Windows vv) và phiên bản của hệ điều hành (Giống như iOS 4.X, iOS 5.X, BB 4.X, 5.X, 6.X, vv).
4. Công cụ kiểm thử phần mềm di động:
- Như chúng ta đã biết, có nhiều thiết bị di động chạy trên nền tảng khác nhau. Những thiết bị di động này phải cung cấp chất lượng ứng dụng để thu hút người dùng.
- Để kiểm tra chất lượng của một số lượng lớn các ứng dụng thiết bị di động, kiểm thử viên phải thực hiện rất nhiều bằng cách sử dụng nhiều công cụ kiểm tra tự động hóa.
- Trong thị trường cạnh tranh, làm thế nào để tăng các dòng di động một cách nhanh chóng. Để hỗ trợ điều này các nhà sản xuất đã đưa các loại công cụ kiểm tra tự động hoặc các phiên bản khác nhau của công cụ tự động kiểm tra để kiểm tra chất lượng ứng dụng di động. Các công cụ tự động hóa này đang gây nhầm lẫn và tạo ra những thách thức lớn cho người kiểm tra trong khi thử nghiệm các ứng dụng di động. Thử nghiệm đang nhận nhầm lẫn khi lựa chọn công cụ tự động kiểm tra, Những công cụ tự động hóa họ nên chọn miễn phí / Paid? Công cụ nào sẽ phù hợp với một thử nghiệm ứng dụng di động cụ thể không? Công cụ nào sẽ hoàn toàn tương thích với các thiết bị di động hỗ trợ hệ điều hành?
5. Giao diện thử nghiệm khác:
- Có rất nhiều công cụ dùng trong kiểm thử di động như Robotium, UIAutomator, Espresso, silkTest, Appium, BlazeMeter( kiểm tra end-to-end load; performance & load testing), Xamarin Tests Cloud...
- Bảng dưới đây sẽ chỉ ra một số công cụ và ứng dụng vào các dòng di động cũng như ngôn ngữ, môi trường:
- Robotium: Dùng cho Android, mobile web, sử dụng ngôn ngữ Java, Robotium là một phần mở rộng của khung thử nghiệm Android và đã được tạo ra để làm cho nó dễ dàng để viết bài kiểm tra giao diện người dùng cho các ứng dụng Android, cho phép bạn xác định các trường hợp thử nghiệm trên lập trình android.
- Appium: Dùng cho cả Android và IOS, mobile web, Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động (test automation) các native app, mobile web app, và hybrid app trên nền tảng iOS và Android, nó hỗ trợ đa nền tảng
- ...
- Các công cụ dùng để thực hiện kiểm thử ứng dụng di động thường được triển khai trong môi trường phi thực tế và không tự nhiên do vậy chúng có rất ít khả năng xác định và khắc phục các lỗi
- Có 2 công cụ quan trọng là giả lập và mô phỏng(emulators and simulators) được sử dụng trong kiểm thử ứng dụng di động nhưng 2 môi trường này cũng không phải là môi trường thật--> chúng không được xem xét cho kiểm thử thực tế.
- Ưu điểm của những công cụ này rất hạn chế, chúng sẽ đem lại kết quả tốt khi sử dụng vào chu kỳ kiểm tra ứng dụng
6.các loại ứng dụng khác:
- Một ứng dụng di động có thể được nhìn thấy ở native, web hoặc kết hợp giữa native, web
- Kiểm thử từng phần sẽ khó hơn việc thực hiện nó, không chỉ khó ở kiểm tra từng ứng dụng mà còn khó khăn trong thiết định quá trình và chức năng cho mỗi ứng dụng khác nhau. => Những khác biệt này tạo ra những thách thức lớn cho thử nghiệm di động
Tổng kết:
Như chúng ta đều biết, có rất nhiều đối thủ cạnh tranh của các thiết bị di động, cho mục đích cạnh tranh; mỗi khi họ cố gắng để tạo ra ứng dụng di động mới, chức năng, hoặc thiết bị di động và quan trọng nhất là chất lượng của thiết bị di động trước khi được tiếp cận với người tiêu dụng. Vì vậy để có những ứng dụng chất lượng thì khâu kiểm thử di động là rất quan trọng. Để hỗ trợ cho việc kiểm thử di động đạt được kết quả tối ưu nhất thì ngoài kiểm thử bằng tay, các công cụ tự động cũng hỗ trợ không ít.
Nguồn tham khảo:http://www.softwaretestingclass.com/mobile-testing-challenges-and-solutions-tutorial-3/