Hướng dẫn kiểm tra ứng dụng iOS: Thủ công & tự động hóa

Kiểm thử ứng dụng iOS là gì?

Thử nghiệm ứng dụng iOS là một quá trình thử nghiệm trong đó ứng dụng iOS được thử nghiệm trên các thiết bị Apple thực để kiểm tra xem nó có hoạt động như mong đợi hay không đối với các hành động cụ thể của người dùng như thời gian cài đặt, giao diện người dùng, trải nghiệm người dùng, giao diện, hành vi, chức năng, thời gian tải, hiệu suất, Ứng dụng Danh sách cửa hàng, hỗ trợ phiên bản hệ điều hành, v.v.

Tại sao phải thử nghiệm ứng dụng iOS?

Thử nghiệm ứng dụng iOS là bắt buộc vì iOS là nền tảng dành cho các ứng dụng di động của Apple được phát hành vào ngày 29 tháng 2007 năm XNUMX. Không giống như Android, Apple không cấp phép cho iOS để cài đặt trên phần cứng không phải của Apple. Ứng dụng iOS và iOS chỉ có thể được cài đặt trên thiết bị Apple, do đó, Ứng dụng iOS của bạn phải tương thích với các phiên bản iOS và thiết bị iOS.

Thử nghiệm ứng dụng iOS

Đây là câu hỏi phổ biến khi nhà phát triển tạo ứng dụng iOS.

Thử nghiệm ứng dụng iOS

Không quan trọng bạn đầu tư bao nhiêu thời gian vào thiết kế và triển khai, sai sót là không thể tránh khỏi và lỗi sẽ xuất hiện. Có một số lỗi phổ biến trên ứng dụng iOS. Như thể hiện trong hình dưới đây.

Thử nghiệm ứng dụng iOS

Ứng dụng bị lỗi

Một trong những vấn đề khó chịu nhất khi sử dụng thiết bị của Apple là ứng dụng có thể thường xuyên gặp sự cố trong quá trình thực thi. Nhiều khi ứng dụng gặp sự cố do có một số lỗi hoặc rò rỉ bộ nhớ trong ứng dụng.

Sự không tương thích của ứng dụng

Ứng dụng iOS của bạn có thể chạy hoàn hảo trên phiên bản iOS hiện tại, nhưng nếu iOS được nâng cấp, nó có thể không hoạt động do vấn đề không tương thích.

Lỗ hổng bảo mật

Lỗ hổng bảo mật trong iOS cho phép tin tặc tấn công thiết bị iOS của bạn, đánh cắp thông tin cá nhân của bạn. Cho đến nay, các lỗ hổng bảo mật nghiêm trọng của iPhone đã được phát hiện ở nhiều phiên bản iOS khác nhau.

Rò rỉ bộ nhớ

Rò rỉ bộ nhớ là các khối bộ nhớ được phân bổ mà chương trình không còn sử dụng nữa. Rò rỉ bộ nhớ khiến ứng dụng iOS của bạn gặp sự cố.
Chúng là lỗi và phải luôn được sửa.

Bản đồ tư duy thử nghiệm iOS

Bản đồ tư duy kiểm tra iOS

Như thể hiện trong hình trên, iOS Kiểm tra MindMap hiển thị tất cả các mục mà người thử nghiệm nên cân nhắc khi tiến hành thử nghiệm trên iOS.

Danh sách kiểm tra kiểm tra ứng dụng iOS

Danh sách kiểm tra này được thiết kế đặc biệt để kiểm tra các đặc điểm của ứng dụng di động iOS. Rõ ràng, nó chỉ kiểm tra các đặc điểm chung của ứng dụng chứ không phải chức năng của nó.

  • Kiểm tra thời gian cài đặt của ứng dụng trên thiết bị. Đảm bảo rằng ứng dụng đó được cài đặt trong thời gian chấp nhận được.
  • Sau khi ứng dụng được cài đặt, hãy kiểm tra xem ứng dụng có biểu tượng và tên ứng dụng hay không. Ngoài ra, hãy đảm bảo rằng cả biểu tượng và tên đều có thể tự giải thích, phản ánh mục đích cốt lõi của ứng dụng.
  • Khởi chạy ứng dụng và kiểm tra xem màn hình giật gân có hiển thị hay không.
  • Kiểm tra thời gian chờ của màn hình giật gân và thời gian tải màn hình chính. Màn hình chính của ứng dụng sẽ tải trong khoảng thời gian chấp nhận được. Nếu Màn hình chính chỉ mất nhiều thời gian hơn để tải thì người dùng có nhiều khả năng thoát hoặc thậm chí gỡ cài đặt ứng dụng. Ngoài ra, hãy kiểm tra cách tải nội dung trong Màn hình chính.
  • Chức năng chính của ứng dụng sẽ được hiển thị ngay lập tức. Nó nên nói cho chính nó.
  • Kiểm tra xem ứng dụng có hỗ trợ cả hướng ngang và hướng dọc hay không. Nếu vậy, hãy kiểm tra ứng dụng theo cả hai hướng. Giao diện người dùng của ứng dụng sẽ được thiết lập tương ứng.
  • Nếu không có kết nối internet, hãy khởi chạy ứng dụng. Đảm bảo ứng dụng đó hoạt động như thiết kế/mong muốn. Có khả năng ứng dụng có thể gặp sự cố khi khởi chạy hoặc chỉ hiển thị một màn hình trống.
  • Nếu ứng dụng sử dụng dịch vụ định vị thì hãy kiểm tra xem cảnh báo cấp phép vị trí có được hiển thị hay không. Cảnh báo này chỉ được nhắc nhở người dùng một lần.
  • Nếu ứng dụng gửi thông báo đẩy, hãy kiểm tra xem cảnh báo quyền thông báo đẩy có được hiển thị hay không. Cảnh báo này cũng chỉ được nhắc nhở người dùng một lần.
  • Khởi chạy ứng dụng, thoát khỏi nó và khởi chạy lại. Kiểm tra xem ứng dụng có hoạt động như thiết kế/mong muốn hay không
  • Đóng ứng dụng bằng cách nhấn vào nút Home của thiết bị và mở lại ứng dụng. Kiểm tra xem ứng dụng có hoạt động như thiết kế/mong muốn hay không.
  • Sau khi cài đặt, hãy kiểm tra xem ứng dụng có được liệt kê trong ứng dụng cài đặt của iPhone hay không.
  • Sau khi ứng dụng được phát hành trực tuyến, hãy kiểm tra xem có thể tìm thấy ứng dụng đó trong “App Store” hay không. Sẽ có phiên bản hệ điều hành được hỗ trợ cho ứng dụng. Vì vậy, hãy đảm bảo rằng ứng dụng có thể được tìm thấy trong “App Store” của thiết bị phiên bản hệ điều hành được hỗ trợ đó. Ngoài ra, ứng dụng sẽ không được liệt kê trong “App Store” của thiết bị phiên bản hệ điều hành không được hỗ trợ.
  • Kiểm tra xem ứng dụng có chuyển sang chế độ ngủ khi chạy nền hay không để tránh hao pin.
  • Nếu hiệu suất của ứng dụng chậm hoặc bất cứ khi nào nội dung đang tải, hãy kiểm tra xem có biểu tượng trạng thái tiến trình (“Đang tải…”), tốt nhất là kèm theo một thông báo cụ thể.
  • Tìm kiếm ứng dụng với tên của nó trên thanh tìm kiếm thiết bị. Kiểm tra xem ứng dụng có được liệt kê hay không
  • Kiểm tra xem giao diện của các nút thực hiện hành động tiêu chuẩn có bị thay đổi trong ứng dụng hay không (ví dụ: làm mới, sắp xếp, dọn rác, Trả lời, quay lại, v.v.)
  • Kiểm tra xem các nút tiêu chuẩn có được sử dụng cho các chức năng khác hay không và chúng thường được sử dụng cho các chức năng khác.

Chiến lược thử nghiệm iOS

Hình dưới đây giới thiệu một số loại chiến lược thử nghiệm iOS phổ biến.

Chiến lược thử nghiệm iOS

Kiểm tra tự động

Kiểm thử tự động là ưu điểm lớn nhất của kiểm thử iOS. Nó cho phép bạn phát hiện lỗi và các vấn đề về hiệu suất một cách nhanh chóng. Lợi ích của thử nghiệm tự động như dưới đây:

  • Kiểm tra tự động có thể chạy trên nhiều thiết bị, tiết kiệm thời gian của bạn
  • Thử nghiệm tự động có thể nhắm mục tiêu SDK. Bạn có thể chạy thử nghiệm trên các phiên bản SDK khác nhau
  • Kiểm thử tự động tăng năng suất kiểm thử, tiết kiệm chi phí phát triển phần mềm
  • Có rất nhiều framework mã nguồn mở hỗ trợ kiểm thử tự động trên iOS

Kiểm tra đơn vị với OCUnit

Khi SDK iOS gốc được phát hành, nó thiếu Kiểm tra đơn vị khả năng. Vì vậy, Apple đã mang lại đơn vị OCU giải pháp kiểm tra đơn vị trong iOS SDK phiên bản 2.2.

OCUnit là khung thử nghiệm cho C-Objective trong Mac OS. Ưu điểm lớn nhất của khung OCUnit là sự tích hợp chặt chẽ vào Xcode môi trường phát triển như hình dưới đây.

Kiểm tra đơn vị với OCUnit

Một số lợi ích của OCUnit được thể hiện trong hình bên dưới.

Kiểm tra đơn vị với OCUnit

Kiểm tra giao diện người dùng với UIAutomation

Kiểm tra giao diện người dùng với UIAutomation

Tự động hóa giao diện người dùng là một JavaScript thư viện do Apple Inc cung cấp, có thể được sử dụng để thực hiện kiểm tra tự động trên các thiết bị thực và trên Trình mô phỏng iOS. Khung này được thêm vào iOS SDK4.0. Sử dụng Tự động hóa giao diện người dùng, bạn có thể tự động kiểm tra ứng dụng không chỉ trên trình mô phỏng mà còn trên thiết bị thực.

UIAutomation mang đến cho bạn những lợi ích sau:

  • Giảm nỗ lực về Kiểm tra bằng tay
  • Sử dụng ít bộ nhớ hơn để thực hiện tất cả các bài kiểm tra của bạn
  • Đơn giản hóa quy trình kiểm tra giao diện người dùng của bạn (chỉ cần nhấn một hoặc ba nút và chạy toàn bộ bộ thử nghiệm của bạn)

Công cụ UIAutomation hoạt động từ các tập lệnh được viết bằng JavaScript. Nó mô phỏng các sự kiện của người dùng trên ứng dụng iOS mục tiêu.

Nhược điểm của UIAutomation so với Ưu điểm

Ưu điểm Nhược điểm
1. Hỗ trợ tốt cho cử chỉ và xoay Nó không phải là nguồn mở, ít hỗ trợ từ nhà phát triển
2. Có thể chạy thử nghiệm UIAutomation trên thiết bị chứ không phải trình mô phỏng duy nhất. Không thể tích hợp tốt với các công cụ khác
3. Được phát triển bởi JavaScript là một ngôn ngữ lập trình phổ biến.

Kiểm tra giao diện người dùng với UIAutomation

Hình trên thể hiện một số lớp phổ biến trong khung UIAutomation.

  • Phần tử UIA class là siêu lớp cho tất cả các thành phần giao diện người dùng trong bối cảnh Tự động hóa
  • UIATarget lớp đại diện cho các thành phần giao diện người dùng cấp cao của hệ thống đang được thử nghiệm
  • UILogger lớp cung cấp thông tin kiểm tra và lỗi về chức năng truy xuất
  • UIAActivityViewlớp cho phép truy cập và kiểm soát các chế độ xem hoạt động trong ứng dụng của bạn.
  • Bảng hành động UIA lớp cho phép truy cập và kiểm soát các bảng hành động trong ứng dụng của bạn.
  • người sử dang Hành động sự kiện
  • Lớp UISlider
  • Lớp UIAButton
  • Lớp UIAKey
  • Lớp UIAKeyboard

Các khung kiểm tra tự động khác

  • Frank: Tự động Kiểm tra chấp nhận khuôn khổ cho iPhone và iPad
  • THẾ NÀO : là iOS bài kiểm tra tích hợp khuôn khổ. Nó cho phép dễ dàng tự động hóa các ứng dụng iOS bằng cách tận dụng các thuộc tính trợ năng mà HĐH cung cấp cho những người khiếm thị.

Kiểm tra bằng tay

Thử nghiệm thăm dò

Đây là một thử nghiệm không có kế hoạch thử nghiệm chính thức. Thử nghiệm thăm dò là phương pháp thử nghiệm chi phí thấp nhưng nó có thể bỏ sót các lỗi tiềm ẩn trong ứng dụng iOS của bạn.

Thử nghiệm thăm dò Nhược điểm so với Ưu điểm

Ưu điểm Nhược điểm
1. Less cần có sự chuẩn bị, sớm phát hiện các lỗi nghiêm trọng. Đòi hỏi tay nghề cao của người thử nghiệm
2. không cần Kế hoạch kiểm tra tăng tốc độ phát hiện lỗi. Phạm vi kiểm tra thấp. Nó không đảm bảo rằng tất cả các yêu cầu của bạn đều được kiểm tra.
3. Hầu hết các lỗi được phát hiện sớm bằng một số loại thử nghiệm thăm dò Thiếu tài liệu kiểm tra

Người sử dụng kiểm tra

Kiểm tra người dùng là một loại Kiểm tra thủ công trên iOS. Mục đích của thử nghiệm này là tạo ra các ứng dụng tốt hơn, không chỉ không có lỗi ứng dụng. Hình dưới đây cho thấy bốn loại Kiểm tra người dùng

Người sử dụng kiểm tra

Thử nghiệm khái niệm

Đánh giá phản hồi của người dùng đối với ý tưởng ứng dụng trước khi phát hành ra thị trường. Quy trình thử nghiệm ý tưởng trên iOS được mô tả như dưới đây

Thử nghiệm khái niệm

Kiểm tra khả năng sử dụng

Kiểm tra khả năng sử dụng là một bài kiểm tra mức độ dễ sử dụng ứng dụng iOS của bạn. Trong thử nghiệm iOS, thử nghiệm khả năng sử dụng có thể ghi lại để ghi nhớ hoặc chia sẻ với người khác.

Có một số công cụ hỗ trợ kiểm tra khả năng sử dụng trên iOS.

TryMyUI ứng dụng thử nghiệm người dùng di động cho Android và iOS.

Delight.io, công cụ này có thể ghi lại tương tác thực của người dùng trên ứng dụng iOS của bạn.

Thử nghiệm beta

Thử nghiệm Beta là Thử nghiệm hội nhập với dữ liệu thực tế để nhận được phản hồi cuối cùng từ người dùng. Để phân phối ứng dụng của bạn để thử nghiệm beta, bạn phải làm theo các bước bên dưới.

Thử nghiệm beta

Điều kiện trước: Nếu bạn đang thử nghiệm beta ứng cử viên cuối cùng cho bản phát hành, hãy đảm bảo xác thực ứng dụng trước khi phân phối ứng dụng đó cho người thử nghiệm.

Tìm người thử nghiệm qua dịch vụ: bạn thu thập ID thiết bị từ người kiểm tra và thêm chúng vào Trung tâm thành viên

Tạo phân phối đặc biệt: Phân phối Ad Hoc cho phép người thử nghiệm chạy ứng dụng của bạn trên thiết bị của họ mà không cần Xcode. Bước này bao gồm 2 bước nhỏ

  • Tạo chứng chỉ phân phối
  • Tạo hồ sơ cung cấp đặc biệt

Thu hút phản hồi từ người thử nghiệm: Người kiểm tra tiến hành kiểm tra và gửi báo cáo lỗi cho bạn. Sau khi ứng dụng của bạn được phát hành, bạn có thể nhận được báo cáo từ iTunes kết nối.

Thử nghiệm A / B

Thử nghiệm A / B là một trong những cách mạnh mẽ nhất để đánh giá hiệu quả của ứng dụng iOS của bạn. Nó sử dụng thí nghiệm ngẫu nhiên với hai thiết bị A và B.

Thử nghiệm A / B

Thử nghiệm A/B bao gồm ba bước chính

  • Cấu hình một bài kiểm tra: Đã chuẩn bị 2 phiên bản ứng dụng iOS (A & B) và số liệu thử nghiệm của bạn
  • Thử nghiệm: Kiểm tra 2 phiên bản ứng dụng iOS trên cùng lúc trên các thiết bị.
  • Phân tích: Đo lường và chọn phiên bản tốt hơn để phát hành

Các công cụ sau đây hỗ trợ thử nghiệm A/B trên iOS.

  • nổi lên: Thử nghiệm A/B cho cả iOS và Android. Nó có thể được tích hợp vào ứng dụng iOS của bạn và giúp quá trình thử nghiệm nhanh hơn.

Các phương pháp hay nhất để thử nghiệm A/B

  • Xác định mục tiêu bài kiểm tra của bạn. Mọi thử nghiệm đều vô ích nếu không có mục tiêu.
  • Đồng hồ đeo tay người dùng cuối sử dụng ứng dụng của bạn lần đầu tiên
  • chạy một chỉ kiểm tra mỗi lần cập nhật. Nó tiết kiệm thời gian của bạn khi tiến hành kiểm tra
  • Màn Hình bài kiểm tra của bạn một cách cẩn thận. Bạn có thể học hỏi kinh nghiệm từ bài kiểm tra của mình bằng cách theo dõi nó.

Kiểm thử iOS Cách thực hành tốt nhất

Dưới đây là một số mẹo bạn nên biết khi tổ chức thử nghiệm ứng dụng iOS của mình

  1. Kiểm thử ứng dụng trên một thiết bị thực để hiểu thực tế về hiệu suất
  2. Cải thiện phương pháp thử nghiệm của bạn, bởi vì các phương pháp thử nghiệm truyền thống không còn đủ để bao quát tất cả các thử nghiệm trên thử nghiệm iOS
  3. Sử dụng nhật ký giao diện điều khiển để thử nghiệm ứng dụng iOS. Đây là tính năng của iOS bao gồm thông tin từ mọi ứng dụng trên thiết bị.
  4. Tài liệu lỗi ứng dụng sử dụng màn hình tích hợp ngắn yêu cầu. Nó giúp nhà phát triển hiểu lỗi xảy ra như thế nào.
  5. Báo cáo sự cố là công cụ hữu ích khi kiểm tra ứng dụng của bạn. Họ có thể phát hiện sự cố và chi tiết nhật ký để bạn có thể điều tra lỗi một cách dễ dàng.

LẦM TƯỞNG về thử nghiệm iOS

Phần này xem xét một số quan niệm sai lầm và thực tế phổ biến về thử nghiệm iOS

Thử nghiệm ứng dụng trên iOS và Android đều giống nhau.

iOS Android là hai nền tảng được phát triển bởi Apple Inc và Google. Họ hoàn toàn khác nhau. Môi trường thử nghiệm, khung thử nghiệm, ngôn ngữ lập trình, v.v.

Ứng dụng thử nghiệm trên iOS Simulator là đủ.

Trình mô phỏng iOS không đủ mạnh để thử nghiệm ứng dụng. Bởi vì iOS Simulator có một số hạn chế:

  • Hạn chế về phần cứng (Máy ảnh, Đầu vào micrô, Cảm biến)
  • Giao diện người dùng ứng dụng của bạn có thể chạy nhanh hơn và mượt mà hơn trên thiết bị
  • Hạn chế về API
  • Một số khung không được hỗ trợ (Media Player, Store Kit, Message UI..)

Mọi người sẽ tải ứng dụng của tôi trên kho ứng dụng vì nó có nhiều tính năng

Ứng dụng của bạn càng có nhiều tính năng thì bạn càng gặp nhiều lỗi. Sẽ không có người dùng nào tải ứng dụng của bạn xuống nếu nó vẫn còn nhiều lỗi.