Như chúng ta đã biết, khoa học công nghệ ngày càng phát triển, điện thoại di động và các thiết bị thông minh đang là xu hướng, là tương lai của thế giới. Các application ngày càng nhiều, lượt download từ Appstore hay Google play về các thiết bị di động ngày càng lớn. Để đáp ứng được nhu cầu lớn như vậy, đòi hỏi các application phải có chất lượng tốt, có nội dung phong phú đa dạng đáp ứng đủ các nhu cầu học tập, chăm sóc sức khỏe hay giải trí của người dùng. Đó cũng chính là thách thức lớn đối với nhà phát triển cũng như người kiểm thử phần mềm, đặc biệt là đối với những tester đã quen với test web mà chưa biết đến test mobile.
Vậy test mobile khác với test web như thế nào? Chúng ta sẽ cùng tìm hiểu nhé.
1. Test mobile có nhiều phiên bản kiểm thử hơn
Nếu như nói đến test web, chúng ta có những trường hợp kiểm thử bởi các hệ điều hành và các trình duyệt khác nhau, thì đến với test ứng dụng di động sẽ phức tạp hơn rất nhiều do sự đa dạng của các thiết bị di động. Việc chắc chắn rằng ứng dụng di động chạy được trên tất cả các loại thiết bị (smartphone, tablet hay phablet được cung cấp bởi một số các nhà cung cấp lớn (như Samsung, Sony, Nokia, HTC, Apple…) và trên tất cả các hệ điều hành (iOS, Android, Windows, Blackberry…) thực sự là một thử thách. Và đặc biệt hơn nữa, khi một ứng dụng mới được đưa ra thị trường liên tục thì việc bảo đảm hoạt động trên tất cả các thiết bị phổ biến trở thành không thể. Chính vì vậy, để có được 1 app trên thiết bị di động tốt, đòi hỏi người kiểm thử cần có nhiều trường hợp kiểm thử cho từng phiên bản, và thực hiện test được càng nhiều trên các thiết bị khác nhau càng tốt.
2. Kích thước màn hình thay đổi liên tục
Các nhà cung cấp lớn, đều có xu hướng thay đổi kích thước màn hình điện thoại, tablet hay phablet để phù hợp với nhu cầu, thị hiếu của người sử dụng cũng như cạnh tranh với các nhà cung cấp khác. Khi đó, khi kiểm thử, chúng ta cần có những trường hợp kiểm thử đối với các màn hình có những kích thước khác nhau, kiểm tra xem ở những kích thước màn hình khác nhau, giao diện có bị vỡ layout hay không, kích thước button, các textbox, radiobutton... có bị thay đổi hay không.
3.Tester cần có những trải nghiệm người dùng
Đối với developer họ chỉ quan tâm đến làm thế nào để chức năng của hệ thống hoạt động đúng, thì đối với tester đòi hỏi cần có những trải nghiệm người dùng để hỗ trợ người sử dụng. Một ứng dụng có thể coi là thất bại nếu như khó sử dụng hoặc không thể sử dụng trong những hoàn cảnh sử dụng khác nhau, đặc biệt trong ứng dụng trên thiết bị di động, cần hỗ trợ người dùng để có thể sử dụng trong mọi hoàn cảnh
4. Người dùng có tương tác đa dạng hơn so với ứng dụng web
Khi test web, tester chỉ thực hiện tương tác với hệ thống thông qua bàn phím hoặc chuột. Nhưng đối với ứng dụng trên thiết bị di động, chúng ta sẽ tương tác bằng nhiều cách hơn như là chạm tay, vẫy tay, ánh mắt, âm thanh..... Chính vì vậy mà khi test, chúng ta sẽ cần nắm bắt được những trường hợp kiểm thử đó.
5. Quá phụ thuộc vào sự giả lập và mô phỏng dẫn đến việc thiếu những trải nghiệm trên thiết bị thực tế.
Đối với web, khi chúng ta test, chúng ta thường test trên một số trường hợp phổ biến, và sự sai khác giữa các trình duyệt cũng khá là ít. Tuy nhiên, khi test các app di động, chúng ta thường test trên các môi trường giả lập và mô phỏng. Các môi trường đó thì không thể như các thiết bị thực tế. Chính vì vậy mà có những trường hợp kiểm thử mà không thể thực hiện trên môi trường giả lập và mô phỏng. Là tester, chúng ta cần kiểm soát được những trường hợp như vậy.
6. Sự bảo mật và quyền riêng tư dữ liệu
Trên thiết bị di động, còn có những trường hợp kiểm thử về quyền truy cập, quyền riêng tư truy cập dữ liệu. Ví dụ như quyền truy cập camera, truy cập dữ liệu ảnh ....
7. Các trường hợp kiểm thử về kết nối mạng
Nếu đối với test web, chúng ta chủ yếu test các trường hợp được kết nối mạng. Các trường hợp về độ nhanh chậm của ứng dụng thì khá là khó phán đoán. Nhưng đối với test trên thiết bị di động, hầu hết các ứng dụng đều cần có mạng, cách ứng dụng phản ứng với 3G, 4G, tín hiệu yếu, mất tín hiệu, tín hiệu mạnh hoặc khi người dùng di chuyển với các tốc độ khác nhau - có thể ảnh hưởng tới vận hành của ứng dụng. Vì thế khi test cần bao quát được các trường hợp kiểm thử này.
8. Các trường hợp về cài đặt, gỡ bỏ, update
Ứng dụng điện thoại được cài đặt, loại bỏ và cập nhật thường xuyên hơn, các OS và nền tảng cũng được nâng cấp thường xuyên hơn. Chính vì vậy mà khi test chúng ta cần năm bắt được bản OS/nền tảng tiếp theo có những thay đổi gì và chúng có thể ảnh hưởng tới ứng dụng . Thường thì với hầu hết các ứng dụng, dữ liệu của người dùng được lưu trữ trên servers chứ không phải thiết bị. Điều đó khiến việc cài đặt hơi rắc rối một chút. Nếu người dùng có nhiều hơn 1 thiết bị thì sao? Nếu những thiết bị đó có những phiên bản khác nhau của ứng dụng thì sao? Những thứ như tính tương thích ngược, hỗ trợ đồng thời cho nhiều phiên bản, bảo quản dữ liệu, khôi phục lại trạng thái và dữ liệu, khả năng cài đặt / nâng cấp nhiều lần đều chiếm phần quan trọng trong việc thử nghiệm ứng dụng di động.
9. Ứng dụng có hoạt động tốt khi bị gián đoạn hay không
Đối với ứng dụng trên mobile, chúng sẽ thường bị gián đoạn bởi những ứng dụng khác như là SMS, cuộc gọi đến, các thông báo... Sau khi kết thúc những gián đoạn đó, app sẽ hoạt động như thế nào, có lưu được những hành động đang thực hiện hay không ? Chính vì vậy mà khi test, sẽ bao gồm cả các trường hợp kiểm thử có sự gián đoạn như vậy, xem úng dụng có hoạt động đúng hay không. Những trường hợp này thì thường rất hiếm xảy ra khi chúng ta test web.
10. Test các chức năng riêng của điện thoại
Ứng dụng này đang tiêu tốn bao nhiêu dữ liệu? Ứng dụng này tiêu tốn bao nhiêu pin? Ứng dụng này có hoạt động khác đi nếu pin yếu không? Nó thải ra bao nhiêu dữ liệu rác? Nó xử lý dữ liệu rác như thế nào?...đều là những yếu tố cần phải được tính đến khi test.
11. Performance testing
Thiết bị ảnh hưởng đến Performance
Kế hoạch thử nghiệm hiệu suất trên thiết bị di động của bạn cần phải tính đến các yếu tố khác nhau bao gồm quyền xử lý, kích thước màn hình, khả năng băng thông, nền tảng, kết nối song song và còn rất nhều điều nữa. Ví dụ, thiết bị sẽ có số lượng khác nhau của các kết nối song song với các máy chủ có thể ảnh hưởng lớn đến hiệu suất của ứng dụng. Chính vì vậy khi kiểm thử, chúng ta cần:
- Thực hiện kiểm thử trên nhiều thiết bị có kích thước màn hình khác nhau, điều này cho chúng ta những sự khác nhau không những chỉ về chức năng mà còn cả về mặt hiệu suất.
- Sử dụng các thiết bị vật lí khác nhau để kiểm tra ứng dụng có bị dán đoạn bởi nguồn điện, các kết nối song song...
- Kết hợp các thiết bị giả lập và các thiết bị thật để cùng tải app và truy cập để tạo ra nhiều thiết bị cùng truy cập nhất có thể.
Các thiết bị di động thì thường truy cập vào máy chủ chậm hơn là máy tính để bàn hay laptop.
Các điều kiện mạng có ảnh hưởng đáng kể đến trải nghiệm của người dùng. Các đặc tính mạng bao gồm băng thông, độ trễ và mất gói có ảnh hưởng rất lớn đến thời gian phản hồi của khách hàng và trên máy chủ được tải. Bằng cách chạy thử nghiệm ứng dụng trong các điều kiện mạng khác nhau trong một môi trường thử nghiệm, chúng ta có thể dự đoán được tác động của sự thay đổi kết nối mạng đối với hiệu suất của ứng dụng. Chính vì vậy mà khi kiểm thử trên thiết bị di động, chúng ta cần:
- Kiểm tra trên các kết nối khác nhau với các cường độ khác nhau
- Kết hợp mô phỏng sự chậm trễ và sự mất dữ liệu để xem ứng dụng hoạt động và phục hồi như thế nào
- Kết hợp kiểm thử theo khu vực, vị trí địa lí để có kết quả tốt nhất
Người dùng luôn mong đợi rất cao từ ứng dụng của bạn.
Theo một cuộc khảo sát do EffectiveUI tiến hành, phần lớn trong số 780 cá nhân được khảo sát sẽ từ bỏ một ứng dụng di động nếu hiệu suất chậm hoặc khó sử dụng. Tương tự, nếu một ứng dụng web quá chậm, thậm chí 400 mili giây (theo các kỹ sư của Google), người dùng sẽ từ bỏ trang web của bạn. Khi thực hiện load test, chúng ta cần đặt mình vào vị trí của trải nghiệm người dùng. Liệu người dùng có tiếp tục sử dụng ứng dụng của bạn sau 30s chờ đợi, hay sẽ quay sang sử dụng ứng dụng khác. Vậy điều mà 1 tester cần làm là gì:
- Luôn luôn test ứng dụng trên kinh nghiệm của người dùng đầu cuối.
- Điều chỉnh tiêu chí chấp nhận của bạn để kết hợp kỳ vọng của người dùng nhanh hơn trên thiết bị di động. Chỉ cần thiếu 1 trường hợp kiểm thử, chúng ta cũng có thể làm người dùng rời bỏ app của bạn
Kết Luận
Trên đây là một số sự khác nhau của test mobile và test web. Hy vọng sẽ giúp mọi người có 1 cái nhìn tốt hơn giữa test mobile và test web. Nguồn tham khảo: https://www.utest.com/articles/why-mobile-apps-testing-is-different-from-desktop-and-web https://www.neotys.com/blog/differences-between-mobile-and-web-performance-testing/
Nguồn: viblo