Kiểm thử ứng dụng dành cho thiết bị di động khác với Kiểm thử ứng dụng web như thế nào?
Khi mình được trải nghiệm thực tế công việc kiểm thử cùng 1 ứng dụng nhưng trên nhiều môi trường khác nhau là trên thiết bị di động và trên web, mình thấy có khá nhiều sự khác nhau và cũng gặp nhiều vấn đề khó khăn trong việc tiếp cận cũng như làm quen với sự khác biệt đó. Trong bài viết này, mình ...
Khi mình được trải nghiệm thực tế công việc kiểm thử cùng 1 ứng dụng nhưng trên nhiều môi trường khác nhau là trên thiết bị di động và trên web, mình thấy có khá nhiều sự khác nhau và cũng gặp nhiều vấn đề khó khăn trong việc tiếp cận cũng như làm quen với sự khác biệt đó. Trong bài viết này, mình sẽ chia sẻ một số kiến thức cũng như kinh nghiệm nho nhỏ về một số sự khác nhau cơ bản trong kiểm thử ứng dụng web và ứng dụng di động, hi vọng rằng bài viết có thể hỗ trợ các bạn trong công việc kiểm thử trên 2 môi trường này.
Phần mềm phải được kiểm tra để đảm bảo rằng nó cung cấp cho người dùng giá trị gia tăng mà họ tìm kiếm từ việc sử dụng máy tính trong cuộc sống hàng ngày của họ, có thể là công việc hay giải trí. Kiểm thử phần mềm thường chỉ được thực thi trên máy tính cá nhân (ví dụ: máy tính để bàn hoặc máy tính xách tay). Với sự ra đời của điện thoại thông minh, yêu cầu thử nghiệm ứng dụng cũng được mở rộng cho điện thoại di động. Tương tự như vậy, với tốc độ internet cao hơn, các ứng dụng web trở nên phổ biến hơn, đặc biệt là với dữ liệu được lưu trữ đám mây thay vì được luuw trữ tại máy chủ của công ty. Điều này dẫn đến các nền tảng thử nghiệm mới: thử nghiệm ứng dụng dành cho thiết bị di động và thử nghiệm ứng dụng web. Trong khi các chiến lược và mục tiêu thử nghiệm tổng thể vẫn như cũ, các phương pháp, công cụ và những gì để kiểm tra những thay đổi vô cùng.
Khi kiểm thử các ứng dụng web và thiết bị di động, nhiều thay đổi trong nền tảng của chúng phải được lưu ý. Ứng dụng web hướng tới trình duyệt web. Các hệ điều hành đóng một vai trò nhưng không ảnh hưởng đến chức năng tổng thể của hầu hết các ứng dụng web. Tuy nhiên, hệ điều hành của một chiếc điện thoại di động thay đổi hoàn toàn các khung ứng dụng và việc kiểm thử phải được thực hiện rất khác nhau. Với kiểm thử ứng dụng web, quá trình xử lý được tách ra ở phía máy chủ và phía máy khách. Điều này có nghĩa là sức mạnh xử lý, RAM, vv của khách hàng không ảnh hưởng đến ứng dụng đáng kể như những thay đổi trong phần cứng của thiết bị di động. Với vô số các thành phần phần cứng của các nhà sản xuất khác nhau trong nhiều thiết bị cầm tay khác nhau, kiểm thử ứng dụng dành cho thiết bị di động có một số thách thức lớn hơn so với các ứng dụng web.
Sự kết hợp của hệ điều hành, các tính năng phần cứng và phần mềm của điện thoại di động dẫn đến một chiến thuật kiểm thử rất khác với các ứng dụng web. Sự phức tạp được tăng cường hơn nữa bằng cách người dùng tương tác với điện thoại di động của họ và cách ứng dụng được xử lý.
Ví dụ, một ứng dụng di động phải tiếp tục trạng thái của nó sau khi bị gián đoạn với một cuộc gọi. Những cân nhắc như vậy không xảy ra trên ứng dụng web, nó thường chạy trong một cửa sổ trình duyệt với sự gián đoạn chỉ là từ bên trong ứng dụng. Hay cách người dùng tương tác trên web bằng click chuột thì trên điện thoại di động người dùng có thể tương tác bằng mọi cách với ngón tay của mình như tap, vuốt, zoom in, zoom out,...
Kết nối mạng với các ứng dụng dành cho thiết bị di động không nhất quán với các ứng dụng web. Vì điện thoại di động thì di động, cường độ kết nối thay đổi. Sự thay đổi này dẫn đến tốc độ dữ liệu khác nhau đang được nhận và gửi, mà phải được quản lý bởi ứng dụng di động và được kiểm tra.
Với ứng dụng web, dữ liệu thường được gửi qua mạng LAN hoặc mạng Wi-Fi nhất quán và các sự cố kết nối ít hơn. Các ứng dụng di động thậm chí phải được kiểm tra khi các kết nối được thay đổi, ví dụ như từ Wi-Fi sang 4G khi di chuyển ra khỏi phạm vi của bộ định tuyến.
Phần cứng bị giới hạn trên thiết bị di động. Các ứng dụng chạy trên thiết bị di động đã sử dụng hết dung lượng RAM và CPU có sẵn. Phần lớn người dùng thiết bị di động sẽ sử dụng với thông số kỹ thuật phần cứng thông thường. Bằng cách có các công cụ kiểm tra chạy cùng với ứng dụng trong các điện thoại này, sự tắc nghẽn truyền dữ liệu sẽ xảy ra và kết quả kiểm thử có thể không chính xác so với khi ứng dụng được sử dụng trong các tình huống thực tế. Những cân nhắc như vậy không xảy ra với kiể thử ứng dụng web, thường có quyền truy cập vào lượng RAM và CPU lớn hơn.
Một hạn chế với điện thoại di động là kích thước màn hình của chúng là cố định. Trong khi nhiều tỷ lệ khung hình và độ phân giải màn hình tồn tại, chúng đều giống nhau và được xác định trước.
Với các ứng dụng web, các cửa sổ trình duyệt có thể được thay đổi kích thước thành bất kỳ tỷ lệ cỡ ảnh nào và bất kỳ tỉ lệ nào. Do đó, cần có mức độ kiểm thử cao hơn với các ứng dụng web liên quan đến kích thước màn hình so với các ứng dụng dành cho thiết bị di động.
Mặt khác, nhiều điện thoại di động có các tính năng rất cụ thể cần kiểm thử cụ thể, ví dụ: GPS, cảm biến in ngón tay, xoay màn hình, vv Những cân nhắc như vậy, một lần nữa, không có trên các ứng dụng web.
Một cách để thử nghiệm các ứng dụng dành cho thiết bị di động với tất cả các phiên bản khác nhau trong khi có sức mạnh xử lý bổ sung cho các công cụ kiểm tra là thông qua việc sử dụng trình giả lập. Bộ mô phỏng là môi trường ảo chạy bên trong máy tính, hoạt động như một thiết bị di động và giao tiếp với mã ứng dụng theo cách tương tự.
Tóm lại, sự khác biệt trong kiểm thử ứng dụng trên thiết bị di động và kiểm thử ứng dụng web phát sinh chủ yếu do mức độ phức tạp bổ sung trong các thông số kiểm thử mà ứng dụng di động giới thiệu, bao gồm nhiều cấu hình phần cứng, tính năng hệ điều hành và sức mạnh tính toán.
Ứng dụng web có phạm vi kiểm thử đơn giản hơn. Bắt đầu chạy lại ứng dụng từ các ứng dụng khác, sử dụng pin, đối phó với kết nối thay đổi và không đáng tin cậy là những ví dụ về những cân nhắc mà người kiểm thử ứng dụng dành cho thiết bị di động phải trải qua mà những người Resuming ứng dụng web thậm chí không hề bận tâm.