12/08/2018, 16:16

Hướng dẫn cho người mới bắt đầu về Kiểm thử ứng dụng trên điện thoại di động

Giới thiệu về Kiểm thử ứng dụng trên điện thoại di động: Đã qua rồi những ngày mà điện thoại đã từng là thứ chỉ được vứt ở góc nào đó và phải đổ chuông để thu hút sự chú ý của con người hoặc máy tính chỉ là một cái máy mà ít người sử dụng - giờ đây chúng là một phần mở rộng của chúng ta - một cửa ...

Giới thiệu về Kiểm thử ứng dụng trên điện thoại di động:

Đã qua rồi những ngày mà điện thoại đã từng là thứ chỉ được vứt ở góc nào đó và phải đổ chuông để thu hút sự chú ý của con người hoặc máy tính chỉ là một cái máy mà ít người sử dụng - giờ đây chúng là một phần mở rộng của chúng ta - một cửa sổ mở ra thế giới và các công chức ảo làm như họ đang nói. Máy tính là một mốt thịnh hành và thay đổi cách con người chúng ta suy nghĩ, cư xử, học hỏi và tồn tại.

1. Các loại Kiểm thử di động

Có rất nhiều loại thử nghiệm được thực hiện trên các thiết bị di động:

1. Kiểm tra phần cứng:

Thiết bị này bao gồm bộ xử lý, phần cứng, kích thước màn hình, độ phân giải, không gian hoặc bộ nhớ, camera, radio, Bluetooth, WIFI vv .Đây đôi khi được gọi là "Mobile Testing - Kiểm thử di động" đơn giản.

2. Kiểm thử phần mềm hoặc ứng dụng

Các ứng dụng làm việc trên các thiết bị di động và chức năng của chúng được kiểm thử. Nó được gọi là "Kiểm thử ứng dụng di động" để phân biệt nó với phương pháp trước đó. Ngay cả trong các ứng dụng di động, có một số sự khác biệt rất quan trọng cần phải hiểu:

  • Native apps: Ứng dụng gốc được tạo ra để sử dụng trên nền tảng như điện thoại di động và máy tính bảng.
  • Mobile web apps Ứng dụng web dành cho điện thoại di động là ứng dụng phía máy chủ để truy cập vào trang web trên điện thoại di động sử dụng các trình duyệt khác nhau như chrome, Firefox bằng cách kết nối với mạng di động hoặc mạng không dây như WIFI.
  • Hybrid apps là sự kết hợp của Native apps và Mobile web apps. Chúng chạy trên thiết bị hoặc không trực tuyến và được viết bằng cách sử dụng các công nghệ web như HTML5 và CSS.

Có một số điểm khác biệt như sau:

Ứng dụng gốc có mối quan hệ nền tảng đơn trong khi các ứng dụng web trên điện thoại di động có mối quan hệ đa nền tảng.

Các ứng dụng gốc được viết trên các nền tảng như SDK trong khi các ứng dụng web di động được viết bằng các công nghệ web như html, css, asp.net, java, php. Đối với một ứng dụng gốc, yêu cầu cài đặt nhưng đối với ứng dụng web di động, không yêu cầu cài đặt.

Ứng dụng gốc có thể được cập nhật từ play store hoặc app store trong khi ứng dụng web dành cho điện thoại di động là các bản cập nhật tập trung.

Nhiều ứng dụng gốc không yêu cầu kết nối Internet nhưng đối với các ứng dụng web dành cho thiết bị di động là điều bắt buộc.

Ứng dụng gốc hoạt động nhanh hơn khi so sánh với ứng dụng web dành cho thiết bị di động.

Các ứng dụng gốc được cài đặt từ play store hoặc app store, còn web di động là trang web và chỉ có thể truy cập qua Internet.

Phần còn lại của bài viết sẽ đề cập đến Kiểm thử ứng dụng trên điện thoại di động.

2.Tầm quan trọng của thử nghiệm ứng dụng trên điện thoại di động

Kiểm thử các ứng dụng trên thiết bị di động có nhiều thách thức hơn việc kiểm thử các ứng dụng web trên máy tính để bàn , bởi vì:

  • Các loại thiết bị di động khác nhau với các kích cỡ màn hình và cấu hình phần cứng khác nhau như bàn phím cứng, bàn phím ảo (màn hình cảm ứng) và trackball vv

  • Rất nhiều thiết bị di động như HTC, Samsung, Apple và Nokia.

  • Hệ điều hành di động khác nhau như Android, Symbian, Windows, Blackberry và IOS.

  • Các phiên bản khác nhau của hệ điều hành như iOS 5.x, iOS 6.x, BB5.x, BB6.x vv

  • Các nhà khai thác mạng di động khác nhau như GSM và CDMA.

  • Cập nhật thường xuyên - (như android-4.2, 4.3, 4.4, iOS-5.x, 6.x) - với mỗi bản cập nhật một chu kỳ thử nghiệm mới được khuyến khích để đảm bảo rằng không có chức năng ứng dụng nào bị ảnh hưởng.

  • Như với bất kỳ ứng dụng nào, kiểm thử ứng dụng trên điện thoại di động cũng rất quan trọng, vì khách hàng thường là hàng triệu người dùng cho một sản phẩm nhất định và một sản phẩm có lỗi không bao giờ được đánh giá cao. Nó dẫn đến tổn thất tài chính, vấn đề pháp lý và tổn thất hình ảnh thương hiệu không thể khắc phục được.

3. Sự khác biệt cơ bản giữa kiểm thử ứng dụng trên điện thoại di động và trên máy tính để bàn:

  • Trên desktop, ứng dụng được kiểm thử trên một đơn vị xử lý trung tâm. Trên thiết bị di động, ứng dụng được thử nghiệm trên các thiết bị cầm tay như Samsung, Nokia, Apple và HTC.

  • Kích thước màn hình thiết bị di động nhỏ hơn máy tính để bàn.

  • Thiết bị di động có bộ nhớ ít hơn máy tính để bàn.

  • Điện thoại di động sử dụng kết nối mạng như 2G, 3G, 4G hoặc WIFI, nơi máy tính để bàn dùng băng rộng hoặc quay số kết nối.

  • Công cụ tự động được sử dụng để kiểm thử ứng dụng trên máy tính để bàn có thể không hoạt động trên các ứng dụng di động.

4. Các loại kiểm thử ứng dụng dành cho thiết bị di động:

Để giải quyết tất cả các khía cạnh kỹ thuật nêu trên, các loại thử nghiệm sau đây được thực hiện trên các ứng dụng trên Điện thoại di động.

  • Usability testing - Kiểm tra tính khả dụng - Để đảm bảo rằng ứng dụng dành cho thiết bị di động dễ sử dụng và cung cấp trải nghiệm người dùng thỏa đáng cho khách hàng.

  • Compatibility testing - Thử nghiệm tương thích - Thử nghiệm ứng dụng trong các thiết bị di động khác nhau, trình duyệt, kích cỡ màn hình và phiên bản hệ điều hành theo yêu cầu.

  • Interface testing - Kiểm thử giao diện - Thử nghiệm các tùy chọn trình đơn, nút, dấu trang, lịch sử, cài đặt và luồng chuyển hướng của ứng dụng.

  • Services testing - Kiểm thử dịch vụ - Thử nghiệm các dịch vụ của ứng dụng trực tuyến và ngoại tuyến.

  • Low level resource testing - Thử nghiệm nguồn cấp thấp: Thử nghiệm sử dụng bộ nhớ, tự động xóa các tệp tạm, các vấn đề phát triển cơ sở dữ liệu cục bộ được gọi là kiểm tra nguồn cấp thấp.

  • Performance testing - Kiểm thử hiệu năng - Kiểm thử hiệu năng của ứng dụng bằng cách thay đổi kết nối từ 2G, 3G sang WIFI, chia sẻ tài liệu, tiêu thụ pin, v.v.

  • Operational testing - Kiểm tra hoạt động - Thử nghiệm sao lưu và kế hoạch khắc phục nếu pin sập, hoặc mất dữ liệu khi nâng cấp ứng dụng từ cửa hàng.

  • Installation tests - Kiểm thử cài đặt- Xác nhận ứng dụng bằng cách cài đặt / gỡ cài đặt nó trên thiết bị.

  • Security Testing - Kiểm thử bảo mật - Thử nghiệm một ứng dụng để xác nhận nếu hệ thống thông tin bảo vệ dữ liệu hay không.

5. Chiến lược kiểm thử ứng dụng di động

Chiến lược kiểm thử phải đảm bảo rằng tất cả các nguyên tắc về chất lượng và hiệu năng đều được đáp ứng. Một vài điểm trong lĩnh vực này:

1) Lựa chọn thiết bị

Phân tích thị trường và chọn các thiết bị được sử dụng rộng rãi. (Quyết định này chủ yếu phụ thuộc vào khách hàng. Khách hàng hoặc người xây dựng ứng dụng cân nhắc đến yếu tố phổ biến của một thiết bị nhất định cũng như nhu cầu tiếp thị cho ứng dụng để quyết định loại thiết bị nào cần sử dụng để thử nghiệm.

2) Emulators

Việc sử dụng chúng là vô cùng hữu ích trong giai đoạn đầu của sự phát triển, vì chúng cho phép kiểm tra nhanh chóng và hiệu quả ứng dụng. Emulator là một hệ thống chạy phần mềm từ môi trường này sang môi trường khác mà không thay đổi phần mềm. Nó trùng lặp các tính năng và làm việc trên hệ thống thực.

Các loại Mobile Emulator - mô phỏng di động:

  • Device Emulator- được cung cấp bởi các nhà sản xuất thiết bị

  • Browser Emulator- mô phỏng môi trường trình duyệt di động.

  • Operating systems Emulator - Apple cung cấp trình giả lập cho iPhone, điện thoại Microsoft dành cho điện thoại Windows và điện thoại Google Android

  • Danh sách vài trình giả lập điện thoại di động miễn phí và dễ sử dụng:

    • Mobile Phone Emulator - Được sử dụng để thử nghiệm các thiết bị cầm tay như iPhone, blackberry, HTC, Samsung vv
    • MobiReady - Với trình giả lập này, chúng ta không những có thể thể kiểm tra các ứng dụng web, mà còn có thể kiểm tra code.
    • Responsivepx - Kiểm tra phản hồi của các trang web, sự xuất hiện và chức năng của các trang web.
    • Screenfly - Đây là một công cụ tùy biến và được sử dụng để kiểm tra các trang web thuộc các thể loại khác nhau.
3) Thử nghiệm trên thiết bị vật lý

Sau khi đã hoàn thành mức độ phát triển thỏa đáng cho ứng dụng di động, bạn có thể chuyển sang thử nghiệm trên các thiết bị vật lý để thử nghiệm dựa trên kịch bản thực tế hơn.

4) Xem xét thử nghiệm dựa trên điện toán đám mây:

Điện toán đám mây về cơ bản đang chạy các thiết bị trên nhiều hệ thống hoặc mạng thông qua Internet, nơi các ứng dụng có thể được kiểm tra, cập nhật và quản lý. Với mục đích thử nghiệm, nó tạo ra môi trường di động dựa trên web trên trình mô phỏng để truy cập vào ứng dụng di động.

Ưu điểm:

  • Sao lưu và khôi phục - Điện toán đám mây sẽ tự động sao lưu dữ liệu của bạn từ vị trí từ xa giúp phục hồi và khôi phục dữ liệu dễ dàng. Và cũng có thể, dung lượng lưu trữ là không giới hạn.

  • Có thể truy cập các đám mây từ các thiết bị khác nhau và ở bất cứ đâu.

  • Điện toán đám mây chi phí hiệu quả, dễ sử dụng, duy trì và cập nhật.

  • Triển khai nhanh chóng và dễ dàng.

  • Giao diện dựa trên web.

  • Có thể chạy cùng một kịch bản trên nhiều thiết bị song song.

Nhược điểm

  • Kiểm soát ít hơn - Khi ứng dụng chạy trên môi trường từ xa hoặc bên thứ ba, người dùng bị giới hạn quyền kiểm soát và truy cập qua các chức năng.

  • Các vấn đề kết nối Internet- thiết lập được trên Internet. Các vấn đề về mạng ảnh hưởng đến tính khả dụng và hoạt động

  • Vấn đề bảo mật và riêng tư - Điện toán đám mây là một máy tính Internet và không có gì trên Internet đang hoàn toàn an toàn, do đó cơ hội để hack dữ liệu nhiều hơn.

5) Kiểm thử tự động và thủ công
  • Nếu ứng dụng có chứa chức năng mới, hãy thử nghiệm theo cách thủ công.

  • Nếu ứng dụng yêu cầu thử nghiệm một hoặc hai lần, hãy thực hiện theo cách thủ công.

  • Tự động hoá các kịch bản cho các trường hợp kiểm tra hồi quy. Nếu các bài kiểm tra hồi quy được lặp lại, kiểm tra tự động là lựa chọn đúng ddắn cho điều đó.

  • Tự động hoá các kịch bản cho những tình huống phức tạp tốn nhiều thời gian nếu được thực hiện theo cách thủ công.

  • Có hai loại công cụ tự động hóa để thử nghiệm ứng dụng dành cho thiết bị di động:

    • Các công cụ kiểm tra di động dựa trên đối tượng - tự động hóa bằng cách lập bản đồ các yếu tố trên màn hình thiết bị vào các đối tượng. Cách tiếp cận này không phụ thuộc vào kích thước màn hình và chủ yếu được sử dụng cho thiết bị Android. Ví dụ: - giải pháp ranorex, jamo

    • Các công cụ kiểm tra di động dựa trên hình ảnh - tạo các kịch bản tự động hóa dựa trên tọa độ màn hình của các phần tử. Ví dụ: - Sikuli, Egg Plant, RoutineBot

6) Cấu hình mạng

Cấu hình mạng cũng là một phần cần thiết của kiểm thử ứng dụng di động. Điều quan trọng là phải kiểm tra ứng dụng trên các mạng khác nhau như 2G, 3G, 4G hoặc WIFI.

6. Testcase cho kiểm thử ứng dụng di động

Ngoài các trường hợp thử nghiệm dựa trên chức năng, thử nghiệm ứng dụng di động yêu cầu các trường hợp thử nghiệm đặc biệt bao gồm các tình huống sau.

  • Sử dụng pin - Điều quan trọng là phải theo dõi mức tiêu thụ pin trong khi chạy ứng dụng trên thiết bị di động.
  • Tốc độ ứng dụng - thời gian đáp ứng trên các thiết bị khác nhau, với các tham số bộ nhớ khác nhau, với các loại mạng khác nhau vv
  • Yêu cầu về dữ liệu - Để cài đặt cũng như để xác minh xem người dùng với gói dữ liệu hạn chế có thể tải xuống không.
  • Yêu cầu bộ nhớ - một lần nữa, để tải về, cài đặt và chạy
  • Chức năng của ứng dụng - đảm bảo ứng dụng không bị hỏng do mạng thất bại hoặc bất cứ điều gì khác.

Download một số testcase cho kiểm thử di động

7. Các hoạt động và thủ tục điển hình trong việc kiểm tra ứng dụng di động

Phạm vi của kiểm thử phụ thuộc vào số lượng yêu cầu được kiểm thử hoặc mức độ thay đổi được thực hiện cho ứng dụng. Nếu những thay đổi này ít, sẽ có một vòng sanity test. Trong trường hợp có những thay đổi lớn và / hoặc phức tạp, cần có kiểm thử hồi quy đầy đủ.

Một ví dụ về dự án thử nghiệm ứng dụng: ILL (International Lab) là một ứng dụng được thiết kế để giúp admin, nhà xuất bản tạo ra các trang web hợp tác. Sử dụng trình duyệt web, giảng viên chọn từ một bộ các tính năng để tạo ra một lớp đáp ứng được các yêu cầu của họ.

Quy trình kiểm tra thiết bị di động:

Bước 1. Xác định loại thử nghiệm: Do ứng dụng ILL áp dụng cho các trình duyệt nên bắt buộc phải kiểm tra ứng dụng này trên tất cả các trình duyệt được hỗ trợ sử dụng các thiết bị di động khác nhau. Chúng ta cần thực hiện kiểm thử khả năng sử dụng, kiểm tra chức năng và tính tương thích trên các trình duyệt khác nhau với sự kết hợp của các trường hợp thử nghiệm bằng tay và tự động.

Bước 2. Kiểm tra thủ công và tự động: Phương pháp tiếp theo cho dự án này là Agile với vòng lặp là hai tuần. Hai tuần một lần, team dev phát hành một bản build mới cho team kiểm thử và team kiểm thử sẽ chạy các test case của họ trên môi trường QA. Nhóm kiểm thử tự động viết script cho các chức năng cơ bản và chạy các kịch bản để giúp xác định xem bản build mới có đủ ổn định để test hay không. Nhóm kiểm thử bằng tay sẽ kiểm tra tính năng mới.

JIRA được sử dụng để viết tiêu chí chấp nhận; duy trì các trường hợp thử nghiệm và đăng nhập / xác minh lại các defect. Một khi vòng lặp kết thúc, lặp lại kế hoạch tổ chức họp dev. Team, product owner, business analyst và QA thảo luận về những điều đã làm tốt và những gì cần phải cải thiện.

Bước 3. Kiểm thử Beta: Một khi kiểm tra hồi quy được hoàn thành bởi nhóm QA, bản build chuyển sang UAT. Kiểm thử chấp nhận sản phẩm được thực hiện bởi khách hàng. Họ kiểm tra lại tất cả các lỗi để đảm bảo tất cả lỗi đã được khắc phục và ứng dụng đang hoạt động như mong muốn trên mọi trình duyệt được chấp thuận.

Bước 4. Kiểm thử hiệu suất: Nhóm thử nghiệm hiệu suất kiểm tra hiệu suất của ứng dụng web sử dụng JMeter và với các công cụ test tải khác nhau trên ứng dụng.

Bước # 5. Kiểm thử trình duyệt: Ứng dụng web được thử nghiệm trên nhiều trình duyệt - bằng cách sử dụng các công cụ mô phỏng khác nhau cũng như sử dụng thiết bị di động thật.

Bước # 6. Khởi động kế hoạch: Sau tuần thử nghiệm thứ 4 sẽ chuyển sang giai đoạn, round cuối cùng để kết thúc thử nghiệm được thực hiện trên các thiết bị test để đảm bảo sản phẩm đã sẵn sàng cho production. Và sau đó, goLive sản phẩm!

Kết luận

Thiết kế chiến lược kiểm thử phù hợp, chọn đúng mô phỏng (mobile simulators), thiết bị và các công cụ kiểm thử di động có thể đảm bảo rằng chúng ta đạt 100% test coverage, bao gồm các tính năng bảo mật, khả năng sử dụng, hiệu năng, tính năng và các thử nghiệm tương thích.

Về Tác giả: Đây là một bài của khách gửi bởi Nancy Ratnakar. Cô là Kỹ sư Quản lý Chất lượng Cao cấp, trong một MNC với hơn 5 năm kinh nghiệm về kiểm định chất lượng và thử nghiệm di động. Với kinh nghiệm sâu rộng trong STLC, cô là một chuyên gia xử lý các dự án từ giai đoạn yêu cầu ban đầu để phát hành cuối cùng.

Cùng chia sẻ kinh nghiệm của bạn nếu bạn đang làm việc hoặc đã làm việc về loại thử nghiệm di động này và để lại ý kiến bên dưới phần comment!

Bài tham khảo và dịch từ nguồn: http://www.softwaretestinghelp.com/beginners-guide-to-mobile-application-testing/

0