Lập kế hoạch cho những thử thách khi kiểm thử phần mềm trên thiết bị di động
Khi bạn phát triển ứng dụng, chúng ta không thể bỏ qua các thiết bị di động. Kiểm thử phần mềm trên thiết bị di động có những thách thức không hề tồn tại khi test desktop hoặc web applications. Trong bài viết này, tôi sẽ giải thích những thách thức đó. Có khoảng hàng ngàn thiết bị di động ...
Khi bạn phát triển ứng dụng, chúng ta không thể bỏ qua các thiết bị di động. Kiểm thử phần mềm trên thiết bị di động có những thách thức không hề tồn tại khi test desktop hoặc web applications. Trong bài viết này, tôi sẽ giải thích những thách thức đó.
Có khoảng hàng ngàn thiết bị di động khác nhau mà qua đó khách hàng có thể muốn truy cập vào ứng dụng di động. Vì vậy, kiểm thử phần mềm trên thiết bị di động nên test trên tất cả các thiết bị này. Bỏ qua một số các thiết bị tương đương có thể sẽ mất rất nhiều khách hàng tiềm năng. Phương pháp khả thi được đặt ra:
1. Chúng ta có thể kiểm tra trên các thiết bị thực
Tất nhiên, không có gì có thể thay thế các thiết bị thực ở mức độ đầy đủ để chắc chắn tất cả các tình huống tiềm năng và lỗi. Tuy nhiên thử nghiệm với các thiết bị thực rất tốn kém, vì chúng ta sẽ phải mua tất cả . Duy trì các thiết bị điện thoại di động này là một thách thức thật sự.
2. Chúng ta có thể kiểm tra trên các thiết bị mô phỏng
Lợi ích của thiết bị mô phỏng là chúng ta có thể chuyển đổi giữa các mô hình thiết bị. Các thiết bị mô phỏng này được thiết kế sao cho gần giống với thiết bị thật. Thiết bị này sẽ cung cấp những chẩn đoán chi tiết về các giao thức mà đi qua lại giữa máy khách và máy chủ ở các cấp độ khác nhau. Các version mới nhất sẽ được cập nhật thường xuyên và thiết bị đó có thể được sử dụng để kiểm tra mà không phải mua nó và điều này làm cho các thiết bị mô phỏng rất hiệu quả về chi phí.
3. Chúng ta có thể kiểm tra dựa trên sự kết hợp của 2 thiết bị trên
Thật không may, các thiết bị mô phỏng vẫn thiếu một số đặc điểm riêng mà chỉ có những thiết bị thật mới có như: cung cấp các điểm ảnh hoàn hảo chính xác , hiệu suất và tốc độ cụ thể của các thiết bị khác nhau, ảnh hưởng của các điều kiện bên ngoài có thể tác động đến hành vi của các thiết bị.....
Một cách tốt nhất là kết hợp của cả hai thiết bị mô phỏng và thử nghiệm thiết bị thực. Trong chu kỳ phát triển, chúng ta có thể đạt được hầu hết các mục tiêu với chi phí tương đối thấp do tốc độ cao và thiết bị đa dạng mà một giả lập có thể cung cấp trong khi chúng ta không cần vẽ điểm ảnh hoàn hảo của một thiết bị thực tế. Những lợi ích có được là do tăng số lượng các trường hợp thử nghiệm và loại thiết bị bao phủ trong các bộ kiểm tra. Sau đó, chúng ta sẽ kiểm tra trên các thiết bị thực tế sau này trong chu kỳ phát triển để xác nhận rằng các ứng dụng đang hoạt động như dự kiến và xác nhận rằng tất cả các yêu cầu và mục tiêu phát triển đã được đáp ứng.
Mỗi quốc gia có nhà khai thác mạng khac nhau và hiện tại có khoảng hơn 800 nhà mạng trên toàn thế giới. Mỗi nhà khai thác di động có thể hỗ trợ nhiều công nghệ mạng và các giao thức như LTE, CDMA, GSM. Hầu hết các nhà khai thác mạng đã chèn proxy Web di động (hoặc gateway) để điều chỉnh để khách hàng của họ có thể kết nối đến một trang web cụ thể.
Để có thể kiểm tra các mạng stack đầy đủ trên một cơ sở hạ tầng mạng lưới điều hành đặc biệt, chúng ta phải được kết nối với mạng đích. Chúng ta cũng nên đưa vào tài khoản mà các tín hiệu vô tuyến không phải là mạnh mẽ trên các mạng di động. Vì vậy, nếu chúng ta muốn kiểm tra đối với Telecom Italia, chúng ta phải ở Ý, và nếu chúng ta muốn kiểm tra đối với China Unicom, chúng ta phải được ở Trung Quốc. Nhưng đi du lịch khắp thế giới cho các nhu cầu kiểm thử là không thể và chúng ta sẽ có các tùy chọn sau:
1. Chúng ta có thể bỏ qua các lớp thấp hơn của mạng và chỉ đơn giản là kiểm tra qua mạng Internet hoặc mạng LAN
Để sử dụng kỹ thuật này, chúng ta sẽ cần một thiết bị giả lập, như hầu hết các thiết bị thực không có khả năng để làm điều này. Chúng tôi có thể sử dụng giao thức TCP / IP để kết nối trực tiếp đến máy chủ và bỏ qua các hệ thống đường hầm GPRS sử dụng bởi các nhà khai thác mạng. Chúng ta cần phải kiểm tra đầu tiên nếu giả lập thiết bị đó có thể thực hiện bỏ qua mạng bằng cách sử dụng Internet. Nó có khả năng truy cập proxy để thực hiện test không?
2. Chúng ta có thể sử dụng mạng thực bằng cách sử dụng một trong hai điện thoại hoặc modem
Có thể kiểm tra đối với các mạng thực sự nhưng đúng quốc gia đó thì rất là tốn kém. Có một tùy chọn - thiết bị thực trong các đám mây. Đây là loại giải pháp vẫn có thể tốn kém vì chi phí của thiết bị, vì cần thêm chi phí của các phần cứng điều khiển từ xa, phần mềm điều khiển từ xa, và các phần mềm địa phương. Tuy nhiên, nó có thể thử nghiệm trên một nguồn lực hỗ trợ bởi một nhà cung cấp cho phép chúng ta truy cập vào thiết bị từ xa tại bất kỳ thời điểm chúng ta cần nó. Tất cả chúng ta phải làm là để mở một tài khoản và mua thời gian thử nghiệm với một mô hình cho các thiết bị đó.
Chúng ta sẽ cần phải chọn phương pháp sẽ được sử dụng để thực thi các kịch bản kiểm thử. Thực hiện manual test hoặc automation test. Vì có rất nhiều thiết bị di động khác nhau có cấu trúc khác nhau, các kịch bản kiểm thử nên được tạo ra để cho phù hợp với bất kỳ thiết bị nào. Một kịch bản với tổ hợp phím nghiêm ngặt trên iPhone sẽ không được thực hiện một cách hiệu quả trên điện thoại di động Samsung, như giao diện người dùng của họ là hoàn toàn khác nhau. Automation test sẽ rất khả thi cho các trường hơp như "truy cập URL" hoặc "gửi tin nhắn SMS" mà không phụ thuộc vào cấu trúc menu đặc biệt của thiết bị mục tiêu. Hầu hết các giả lập thiết bị có thể được sử dụng để tự động thực hiện thử nghiệm với một mức độ cao hơn.
Chi phí của việc tạo ra kịch bản tự động thường cao hơn so với chi phí của manual test. Nếu thực thi những ca kiểm thử như chạy định kỳ thì nó thực sự tiết kiệm thời gian và tiền bạc. Bên cạnh đó, nhiều công cụ kịch bản tự động có một khả năng đặc biệt có thể kiểm tra toàn bộ một trang web với một lệnh duy nhất. Điều này có nghĩa là một thiết lập của kiểm tra nhanh chóng mà sẽ xem xét tất cả các trang của ứng dụng di động cho các lỗi và không nhất quán.
Reference: http://www.softwaretestingmagazine.com/knowledge/planning-for-mobile-testing-challenges/