Một số kiến thức cơ bản cho người mới bắt đầu với Mobile Testing

Ngày nay, thiết bị di động thông minh đã trở thành một phần không thể thiếu trong cuộc sống hiện đại bới sự nhỏ gọn và tiện dụng của chúng.

Dưới đây là vài con số thống kê được trang web Devsaran tổng hợp giúp bạn có cái nhìn rõ ràng hơn về thị trường di động đang phát triển như thế nào?

Có khoảng 4,43 tỷ người dùng di động trên toàn thế giới vào năm 2015 và con số này có khả năng sẽ đạt khoảng 5,07 tỷ người đến năm 2019.

Có khoảng 1,6 triệu ứng dụng Android trên Google Play Store.

Có khoảng 1,5 triệu ứng dụng dành cho các thiết bị iOS trên cửa hàng ứng dụng của Apple.

Những con số thống kê trên cho thấy rằng nhu cầu về smartphone và các ứng dụng dành cho di động đang liên tục tăng lên. Tuy nhiên, chất lượng của các app mobile hoàn toàn không tương ứng với các số liệu này. Chính vì lẽ đó mà ngành kiểm thử cũng đã và đang được triển khai rộng rãi trên các thiết bị di động.

Tôi là người mới làm quen với lĩnh vực này nên bài viết này tôi muốn đề cập tới một số yếu tố cơ bản mà theo tôi những người mới làm quen với lĩnh vực này cần quan tâm

1 - Sự khác biệt giữa kiểm thử ứng dụng trên di động có giống kiểm thử ứng dụng trên laptop hay không?

Nhiều người nghĩ “Phần mềm là phần mềm, nếu tôi có thể kiểm thử phần mềm trên laptop, tôi có thể kiểm thử phần mềm trên điện thoại thông minh.” Nhưng thực tế không phải vậy, mặc dù các nguyên lí kiểm thử là như nhau nhưng kĩ thuật lại rất khác nhau do điện thoại di động có kích thước giới hạn, bộ nhớ giới hạn, năng lực xử lí giới hạn nhưng lại có rất nhiều thứ xảy ra đồng thời với nó.

Trước khi xây dựng hay kiểm thử ứng dụng di động, bạn cần biết rằng sẽ có hàng triệu người dùng nó. Đưa ra một ứng dụng lỗi sẽ ảnh hưởng rất lớn tới người dùng. Khách hàng có thể phàn nàn và công ty có thể mất hàng triệu hay hàng tỉ đô la ngay lập tức. Điều gì sẽ xảy ra nếu điện thoại không làm việc? Điều gì sẽ xảy ra nếu dữ liệu trên điện thoại biến mất? Điều gì sẽ xảy ra nếu người dùng không thể thực hiện được cuộc gọi khi sử dụng ứng dụng? Điều gì sẽ xảy ra nếu tin nhắn đi tới sai địa chỉ? Điều gì sẽ xảy ra nếu an ninh của điện thoại bị phá hoại? Đó là rất nhiều câu hỏi mà chúng ta phải quan tâm.

Hơn thế nữa trong khi ứng dụng di động của bạn chạy, điện thoại vẫn tương tác với mạng, định vị vị trí của bạn, nhận cuộc gọi, gửi tin nhắn... Có nhiều thứ mà bạn có thể không nhìn thấy. Điều gì xảy ra khi bạn chơi trò chơi trên điện thoại thông minh thì bạn nhận được một cuộc gọi hay một tin nhắn?

Kiến trúc điện thoại di động bao gồm rất nhiều tầng. Phần cứng, tầng giao thức và tầng ứng dụng. Tầng ứng dụng là nơi bạn phải chắc rằng ứng dụng của bạn làm việc. Bạn phải hiểu cách hệ điều hành của điện thoại bạn đang kiểm thử thật rõ để cho bạn có thể thiết kế được các trường hợp kiểm thử tương ứng (như, iOS, Android, Windows 8, v.v.) Bạn cũng cần kiểm thử để tuân thủ theo các chuẩn của điện thoại, mọi điện thoại đều được xác nhận theo chuẩn nào đó, nếu không đáp ứng các chuẩn này thì không thể bán được ứng dụng.

Và còn rất nhiều điều khác nữa, như tuổi thọ của pin khi chạy ứng dụng? việc tải ứng dụng có nhanh không ? ứng dụng có dễ sử dụng hay không?... là những điều mà chúng ta cũng cần quan tâm khi kiểm thử các ứng dụng trên thiết bị di động

Ứng dụng trên di động yêu cầu chất lượng cao và chính chất lượng của nó giúp tăng nhu cầu sử dụng điện thoại di động cho nên việc làm then chốt không chỉ là phát triển ứng dụng mà còn là kiểm thử ứng dụng để chắc chắn rằng nó làm việc tốt. Đó chính là lí do tại sao mà hiện nay việc kiểm thử các ứng dụng trên di động đang ngày càng được quan tâm

2 - Để kiểm thử được các ứng dụng trên thiết bị di động, chúng ta cần trang bị những kiến thức cơ bản gì?

Kiến thức cơ bản về viễn thông: Những am hiểu cơ bản về viễn thông luôn luôn là lợi thế. Sẽ là lợi thế nếu chúng ta biết được một số các kiến thức cơ bản về lĩnh vực này như 2G, 3G, GPRS,tin nhắn SMS, WAP....

Các kiến thức về hệ điều hành/nền tảng di động: Có rất nhiều các hệ điều hành dành cho di động hiện nay trên thị trường như Android, iOS, Blackberry, J2ME, Symbian, Palm, Windows phone, Samsung Bada, Nokia Meego…Kiến thức về các hệ điều hành cho di động thực sự rất quan trọng để bạn trở thành 1 kỹ sư kiểm thử di động giỏi. Những hiểu biết về khả năng và hạn chế của từng hệ điều hành sẽ cho bạn sự tự tin để phân biệt được đâu là lỗi ứng dụng và đâu là giới hạn của hệ điều hành.

Làm quen với điện thoại di động của chính bạn: Nếu bạn mới bắt đầu với kiểm thử di động, hãy bắt đầu khám phá chiếc điện thoại của chính mình. Hãy thử truy cập Internet bằng chiếc điện thoại thông minh của bạn, sử dụng wifi, GPRS. Kiểm tra xem làm cách nào để đưa điện thoại của mình về trạng thái ban đầu (Factory reset – nhớ cẩn thận nhé các bạn, sao lưu dữ liệu…) Thử kiểm tra số IMEI của điện thoại, thử nâng cấp phiên bản của hệ điều hành, thử những cài đặt khác (settings). Nói một cách ngắn gọn hãy làm sử dụng hết tất cả các chức năng của chiếc điện thoại. Chắc chắn là bạn sẽ nghĩ ra thêm vài tình huống trong khi các bạn thực hiện kiểm thử?

3 - Có những loại kiểm thử trên thiết bị di động nào?

-- Kiểm thử phần cứng: kiểm thử bộ vi xử lý, kích thước màn hình, độ phân giải, bộ nhớ, máy ảnh, radio, bluetooth, wifi, 3g....

-- Kiểm thử phần mềm (hay còn gọi là kiểm thử ứng dụng): đây là một xu hướng tất yếu và thật sự cần thiết khi nhu cầu sử dụng các ứng dụng trên thiết bị di động ngày một tăng cao

-- Kiểm thử các ứng dụng có thể tải về: một vài ứng dụng được cài sẵn khi được sản xuất, và một số khác có thể được tải về từ kho ứng dụng (Apple App store, Android Market, Gẹtar, Nokia Ovi Store, Blackberry App world…)

-- Kiểm thử trang web trên di động (WAP Sites): không như các ứng dụng có thể tải về, web trên di động có thể được truy cập thông qua trình duyệt, không cần tải về. Kiểm thử này có những thách thức riêng của nó. Chuyển hướng đúng đắn, giao diện người dùng tốt (thiết kế), an toàn, hiệu quả và khả năng tưng thích trình duyệt di động là những lĩnh vùng quan trọng.

-- Kiểm thử giao diện (màu sắc, phong cách Menu, nhất quán của giao diện người dùng trên thiết bị khác nhau)

-- Kiểm thử chức năng (kiểm tra chức năng chính của ứng dụng di động theo đặc điểm kỹ thuật)

-- Kiểm thử hiệu suất và chịu tải: Kiểm tra hành vi của ứng dụng di động trong điều kiện nguồn tài nguyên thấp (bộ nhớ / không gian lưu trữ), hành vi của trang web điện thoại di động khi nhiều người sử dụng điện thoại di động đồng thời truy cập vào trang web di động

-- Kiểm tra khả năng sử dụng: kiểm tra các khía cạnh khả năng sử dụng các ứng dụng di động

-- Kiểm tra độ tương thích: Kiểm tra khả năng tương thích của ứng dụng của bạn với các tính năng thiết bị gốc (tức là để đảm bảo rằng ứng dụng của bạn không cản trở chức năng thiết bị gốc)

-- Kiểm tra gián đoạn (cuộc gọi thoại, tin nhắn SMS, sạc, thông báo bộ nhớ thấp) trong khi ứng dụng đang chạy.

-- Monkey Testing: bấm bàn phím liên tục thông qua các công cụ để kiểm tra sự ổn định ứng dụng với sự kiện nhấn phím khác nhau.

4 - Có những công cụ và tiện ích nào có thể hỗ trợ cho việc kiểm thử trên thiết bị di động?

Có nhiều công cụ và tiện ích có trên thị trường, chúng có thể giúp ích cho các bạn trong việc kiểm thử ứng dụng di động hiệu quả. Một số công cụ có sẵn trong bộ SDK. Tuy nhiên bạn có thể sẽ tìm kiếm thêm trên Internet cho những nền tảng/hệ điều hành khác nhau

-- Công cụ kiểm tra sự tiêu thụ pin trong khi ứng dụng đang chạy Nokia Energy Profiler.

-- Công cụ/phần mềm chụp màn hình

-- Công cụ tạo ra những file giả để kiểm tra sự phản ứng của ứng dụng

-- Công cụ lấy logs file

5 - Cần lưu ý gì khi kiểm thử trên di động?

-- Lựa chọn các thiết bị: Nên phân tích thị trường và lựa chọn thiết bị hiện đang được sử dụng rộng rãi. Tuy nhiên yếu tố này còn phải dựa trên sự quyết định của khách hàng và nhà xây dựng ứng dụng.

-- Các hệ thống gỉa lập (Emulator): Việc sử dụng các ứng dụng này là cực kỳ hữu ích trong các giai đoạn đầu của kiểm thử vì chúng cho phép kiểm tra một cách rất nhanh chóng, dễ dàng thay đổi môi trường và quan sát các thay đổi đó.

-- Mức độ sử dụng pin: Phải chú ý theo dõi mức tiêu thụ pin trong khi chạy ứng dụng trên các thiết bị di động

-- Tốc độ của ứng dụng: Lưu ý thời gian phản hồi trên các thiết bị khác nhau, với các thông số bộ nhớ khác nhau, với các loại mạng khác nhau

-- Bộ nhớ của thiết bị

-- Chức năng của ứng dụng: đảm bảo ứng dụng không bị crash vì bất cứ lý do gì

-- Không nên nhồi nhét qúa nhiều chức năng trong cùng một ứng dụng

6 - Những checklist quan trọng khi test trên điện thoại di động

6.1 - Cài đặt và định hình ứng dụng

  1. Xác định yêu cầu kiểm thử trên thiết bị di động/ tablet nào ( SamSung S5, Iphone5, Iphone 4...) , hỗ trợ trên những hệ điều hành nào ( Android 4.2,4.3 ...IOS6, IOS7,IOS8...), kích thước màn hình hỗ trợ (4.0 inch, 4.5 inch ...) từ đó dùng chương trình giả lập và dùng cả thiết bị thực để thực hiện việc kiểm thử

  2. Ứng dụng bạn đang kiểm thử lưu trữ ở đâu - hình thức lưu trữ ( Thẻ nhớ - bộ nhớ điện thoại). Điều gì xảy ra khi ta xóa thư mục lưu trữ của ứng dụng

  3. Ứng dụng cùng hoạt động trên nhiều thiết bị khác nhau ,việc đồng bộ sẽ như thế nào

  4. Tải ứng dụng ở đâu - kiểm thử các trường họp đầy bộ nhớ hoặc gián đoạn trong quá trình tải ứng dụng

  5. Kiểm thử quá trình cài đặt, gỡ bỏ ứng dụng , cài đặt lại và sẽ như thế nào nếu quá trính đó bị gián đoạn

  6. Kiểm thử quá trình cập nhật phiên bản mới của ứng dụng , sẽ như thế nào nếu không cập nhật phiên bản mới

6.2 - Test giao diện

  1. Màu nền, màu chữ,kiểu chữ có khớp với thiết kế hay không , trường hợp không có thiết kế, có thể kiểm tra xem màu nền có phù họp - có bị trùng với màu chữ gây khó đọc hoặc rối mắt người dùng không

  2. Font size, size của các textbox, button và canh trái , phải, giữa ...ở chế độ bình thường , chiều dọc , chiều ngang ...

  3. Border các textbox, button có smooth không

  4. Text, tootip của warning message, nội dung trang hiển thị

  5. Các hiệu ứng scroll, chuyển trang có smooth không

  6. Dữ liệu hiện tại có được lưu khi đóng cửa sổ hay không?

  7. Kiểm tra vị trí focus có được đặt ngay field đầu tiên hay control đầu tiên khi load màn hình hay không? . Ngọai trừ có trường hợp yêu cầu set vị trí focus cụ thể

  8. Kiểm tra giao diện khi người dùng thực hiện các hiệu ứng cảm ứng như swipe, touch ,tap on , zoom, pinch, multi-touch, shake and orientation.

  9. Bàn phím nhập liệu có hoạt động tốt và không gây lỗi khi tiến hành input dữ liệu trên tất cả các màn hình

6.3 - Test chức năng

  1. Đảm bảo các chức năng có trong thiết kế hoạt động tốt

  2. Test những chức năng ngoài luồng

  3. Test các chức năng khi mất kết nối mạng, kết nối mạng wifi, kết nối chậm, kết nối 3G,2G,4G..., chế độ máy bay ...

  4. Click , swipe , otuch , scroll ...nhanh có gây ra lỗi không

  5. Sự chuyển hướng từ các liên kết trong ứng dụng hoặc các Social link ( g+,facebook...)

  6. Thời gian của ứng dụng, trên điện thoại hay server. Khi thay đổi cài đặt trong điện thoại ( ngày tháng , ngôn ngữ...), ứng dụng hoạt động ra sao

  7. Get dữ liệu từ server khi ở chế độ background running,khóa màn hình hay listen

  8. Kiểm tra sự đồng bộ dữ liệu khi đăng nhập ở nhiều thiết bị ( desktop, tablet, mobile)

  9. Test camera nếu có trong ứng dụng, ( chụp ảnh, lưu trữ ...)

  10. Nội dung, hình ảnh có hiển thị tốt khi chia sẻ trên G+,facebook ..., điện thoại có cài ứng ụng facebook, G+ ...và không cài các ứng dụng đó

  11. Notification từ ứng dụng như update, nhắc nhở ...

  12. Kiểm thử cho các trường hợp bị gián đoạn khi sử dụng app như : Cuộc gọi , tin nhắn, Pin yếu, hoặc các tường họp đang mở nhạc.

  13. Chú ý kiểm thử cho các trường họp System Crash / Force Close

Nguồn tham khảo:

http://t3h.vn/kiem-thu-phan-mem/tin-tuc/Kien-thuc-Kiem-Thu/Mobile-App-Testing-Mot-so-luu-y-cho-nguoi-moi-bat-dau-224

http://www.testingvn.com/viewtopic.php?f=84&t=33504&sid=8dd8c89103b278fa8d1078d905b5e8c6

http://kiemthuphanmemvvn.blogspot.com/2015/02/mobile-testing1.html

https://vntesters.com/kiem-thu-phan-mem-tren-cac-thiet-bi-di-dong/