Android Hướng dẫn kiểm tra ứng dụng với Khung tự động hóa

Tại sao Android Kiểm tra?

Android là hệ điều hành lớn nhất thế giới. Đồng thời, Android bị phân mảnh. có rất nhiều thiết bị và Android phiên bản mà ứng dụng của bạn phải tương thích.

Android Kiểm tra

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.

Android Kiểm tra

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

Một chiến lược thử nghiệm Android đúng đắn phải bao gồm những điều sau đây

  1. Kiểm tra đơn vị
  2. Bài kiểm tra tích hợp
  3. Operakiểm tra quốc tế
  4. Kiểm tra hệ thống

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

Bài kiểm tra đơn vị

Kiểm thử đơn vị bao gồm các tập hợp một hoặc nhiều chương trình được thiết kế để xác minh một đơn vị nguyên tử của mã nguồn, chẳng hạn như phương thức hoặc lớp.

Android nền tảng được tích hợp sẵn Junit khuôn khổ 3.0. Đó là khung nguồn mở để tự động hóa Kiểm tra đơn vị. Android Khung thử nghiệm là công cụ mạnh mẽ để nhà phát triển viết chương trình thử nghiệm đơn vị hiệu quả.

Tích hợp Android và JUnit Khung
Sự hội nhập của Android và JUnit khuôn khổ

Một bổ sung cho Kiểm tra đơn vị là kiểm tra Giao diện người dùng (UI). Các thử nghiệm này liên quan đến các thành phần UI của ứng dụng mục tiêu của bạn. Kiểm tra giao diện người dùng đảm bảo rằng ứng dụng của bạn trả về kết quả giao diện người dùng chính xác để phản hồi chuỗi hành động của người dùng trên thiết bị.

Các hành động giao diện người dùng phổ biến trên ứng dụng
Các hành động UI người dùng phổ biến trên ứng dụng

Cách phổ biến để thực hiện kiểm tra giao diện người dùng trên thiết bị là Android Instrumentation. Nhưng điều này có vấn đề về hiệu suất. Một trong những công cụ tốt nhất để tiến hành kiểm tra giao diện người dùng trên Android is Một người máy.

Kiểm tra tích hợp

In Thử nghiệm hội nhập, tất cả các mô-đun đã được thử nghiệm theo đơn vị, đều được kết hợp và xác minh. TRONG Android, kiểm tra tích hợp thường liên quan đến việc kiểm tra tích hợp vớiAndroid các thành phần như Kiểm tra dịch vụ, Kiểm tra hoạt động, Kiểm tra nhà cung cấp nội dung, v.v.

Kiểm tra tích hợp
Các loại thử nghiệm tích hợp trên Android

Có nhiều framework kiểm thử được sử dụng để tiến hành kiểm thử tích hợp cho Android như Troyd, Robolectric, Robotium.

Operabài kiểm tra quốc tế

  • Operational còn được gọi là Kiểm tra chức năng hoặc Kiểm tra chấp nhận. Chúng là các bài kiểm tra cấp cao được thiết kế để kiểm tra tính đầy đủ và chính xác của ứng dụng.
  • In Android, FitNesse là khung nguồn mở giúp dễ dàng thực hiện các thử nghiệm vận hành cho ứng dụng mục tiêu.

kiểm tra hệ thống

In Thử nghiệm hệ thống hệ thống được kiểm tra tổng thể và sự tương tác giữa các thành phần, phần mềm và phần cứng được kiểm tra.

In Android, Kiểm tra hệ thống thường bao gồm

  • kiểm tra GUI
  • Kiểm tra khả năng sử dụng
  • Kiểm tra hiệu năng
  • Kiểm tra căng thẳng

Trong danh sách trên, Kiểm tra năng suất được chú trọng hơn. Bạn có thể sử dụng các công cụ như Traceview để tiến hành kiểm tra hiệu suất trên Android .Công cụ này có thể giúp bạn gỡ lỗi ứng dụng và lập hồ sơ hiệu suất của ứng dụng.

KIỂM TRA ANDROID tự động

Vì Android bị phân mảnh nên cần phải thử nghiệm trên nhiều thiết bị. Nhưng điều này cũng sẽ tốn kém. Tự động Android Thử nghiệm có thể giúp giảm chi phí

Lợi ích của thử nghiệm Android tự động

  • Giảm thời gian thực hiện các trường hợp thử nghiệm
  • Tăng năng suất của quá trình phát triển của bạn
  • Phát hiện lỗi sớm, tiết kiệm chi phí bảo trì phần mềm
  • Nhanh chóng tìm và sửa các lỗi trong quá trình triển khai
  • Đảm bảo chất lượng phần mềm

Chúng ta sẽ nghiên cứu 2 khuôn khổ sau

  • Android Khung kiểm tra
  • Khung thử nghiệm điện tự động

Android khung thử nghiệm

Một trong những khung thử nghiệm tiêu chuẩn cho Android ứng dụng Android khung thử nghiệm. Đây là một khung thử nghiệm mạnh mẽ và dễ sử dụng được tích hợp tốt với Android Công cụ SDK.

Android Khung kiểm tra
Android khung thử nghiệm Archikiến trúc
  1. Gói ứng dụng ứng dụng mục tiêu của bạn có cần được kiểm tra không
  2. Thiết bị kiểm traRunner Trường hợp thử nghiệm Runner thực thi trường hợp thử nghiệm trên ứng dụng đích. Nó bao gồm:

2a) Công cụ kiểm tra: Một công cụ SDK để xây dựng thử nghiệm. Chúng được tích hợp trong Eclipse IDE hoặc chạy dưới dạng dòng lệnh.

2b) Người chạy khỉ: Một công cụ cung cấp API để viết chương trình điều khiển Android thiết bị hoặc trình mô phỏng bên ngoài Android Mã.

  1. Gói thử nghiệm được tổ chức thành các dự án thử nghiệm. Gói này tuân theo quy ước đặt tên. Nếu ứng dụng đang thử nghiệm có tên gói là “com.mydomain.myapp” thì gói thử nghiệm phải là “com.mydomain.myapp.test”. Gói thử nghiệm bao gồm 2 đối tượng như sau:

3a) Các lớp trường hợp kiểm thử: bao gồm các phương thức kiểm thử được thực thi trên ứng dụng đích.

3b) Đối tượng mô phỏng : bao gồm dữ liệu mô phỏng sẽ được sử dụng làm đầu vào mẫu cho các trường hợp thử nghiệm.

Android Các lớp trường hợp thử nghiệm

Android Các lớp trường hợp thử nghiệm
AndroidSơ đồ lớp TestCase
  1. Trường hợp thử nghiệm bao gồm JUnit các phương pháp chạy JUnit thử nghiệm
  2. TestSuite được sử dụng để chạy tập hợp các trường hợp thử nghiệm
  3. Thiết bị kiểm traSuite là một TestSuite đưa Instrumentation vào InstrumentationTestCase trước khi chạy chúng.
  4. Thiết bị kiểm traRunner là người chạy trường hợp thử nghiệm thực thi trường hợp thử nghiệm trên ứng dụng đích.
  5. AndroidTrường hợp thử nghiệm kéo dài JUnit TestCase. Nó chứa các phương thức để truy cập các tài nguyên như Bối cảnh hoạt động.
  6. Trường hợp ứng dụng xác minh các lớp Ứng dụng trong môi trường được kiểm soát.
  7. Trường hợp kiểm tra thiết bị đo đạc xác minh một tính năng hoặc hành vi cụ thể của ứng dụng đích, ví dụ: xác minh đầu ra giao diện người dùng của ứng dụng.
  8. Trường hợp hoạt động là lớp cơ sở hỗ trợ thử nghiệm Hoạt động ứng dụng.
  9. Trường hợp thử nghiệm của nhà cung cấp là lớp để thử nghiệm một ContentProvider.
  10. Dịch vụTestCase được sử dụng để kiểm tra các lớp Dịch vụ trong môi trường thử nghiệm. Nó cũng hỗ trợ vòng đời của Dịch vụ.
  11. SingeLauchActivityTestCase được sử dụng để kiểm tra Hoạt động đơn lẻ bằng InstrumentationTestCase.
  12. Trường hợp hoạt độngUnitTestCase được sử dụng để kiểm tra hoạt động đơn lẻ.
  13. Hoạt độngDụng cụTestCase2 mở rộng JUnit Lớp TestCase. Nó kết nối bạn với ứng dụng mục tiêu bằng thiết bị đo đạc. Với lớp này, bạn có thể truy cập thành phần GUI của ứng dụng và gửi sự kiện giao diện người dùng (tổ hợp phím hoặc sự kiện chạm) tới giao diện người dùng.

Dưới đây là một ví dụ về ActivityInstrumentationTestCase. Nó xác minh hoạt động UI của ứng dụng Calculator, kiểm tra tính chính xác của đầu ra UI.

Kiểm tra hoạt độngInstrumentationTestCase2
Ví dụ kiểm tra Hoạt độngInstrumentationTestCase2

Khung thử nghiệm điện tự động

Kiểm tra bằng cách sử dụng Android Khung thử nghiệm với thiết bị hoặc trình mô phỏng rất khó. Việc xây dựng và chạy thử nghiệm chậm và tốn nhiều công sức phát triển. Để khắc phục vấn đề này, có một lựa chọn khác – Người máy khuôn khổ thử nghiệm.

Khung Robolectric cho phép bạn chạy Android kiểm tra trực tiếp trên JVM không có sự cần thiết của một thiết bị hoặc một trình giả lập.

Các tính năng nâng cao của Robolectric
Các tính năng nâng cao của Robolectric

Các lớp trường hợp thử nghiệm điện tự động

Operahoạt động của Robolectric
Operahoạt động của Robolectric
  • Như đã trình bày ở trên, Robolectric có thể thực hiện các hành động sau:
  • Đăng ký và tạo lớp Shadow
  • Chặn tải của Android tốt nghiệp lớp XNUMX
  • Sử dụng javaassist để ghi đè nội dung phương thức của Android tốt nghiệp lớp XNUMX
  • Liên kết đối tượng Shadow với Android tốt nghiệp lớp XNUMX
  • Điều này cho phép mã được kiểm tra thực thi mà không cần Android môi trường.

Khung thử nghiệm khác

Ngoài các framework kiểm thử đã được đề cập ở trên, còn có rất nhiều framework kiểm thử khác như:

Huyền thoại về Android Kiểm tra

Nhiều doanh nghiệp phát triển android Kiểm tra chiến lược dựa trên những quan niệm sai lầm phổ biến. Phần này xem xét một vài huyền thoại phổ biến và thực tế của Android thử nghiệm.

Chuyện hoang đường số 1: Tất cả Android thiết bị đều giống nhau… thử nghiệm trên trình giả lập là đủ

Hãy bắt đầu với một ví dụ đơn giản. Một ứng dụng hoạt động hoàn hảo trên trình giả lập nhưng trên một số thiết bị thực, nó gặp sự cố trong khi thực thi

Ứng dụng gặp sự cố khi thực thi trên thiết bị thực
Ứng dụng gặp sự cố khi thực thi trên thiết bị thực

Trình giả lập là không đủ để thử nghiệm thiết bị di động của bạn. Bạn phải thử nghiệm ứng dụng của mình trên các thiết bị thực.

Chuyện hoang đường số 2: Thử nghiệm trên một số thiết bị phổ biến là đủ

  • Trên các thiết bị khác nhau, ứng dụng của bạn trông khác nhau vì các thiết bị khác nhau có phần cứng, kích thước màn hình, bộ nhớ khác nhau, v.v. Bạn phải kiểm tra ứng dụng của mình trên các thiết bị, phiên bản hệ điều hành, mạng của nhà cung cấp dịch vụ và vị trí khác nhau.

Chuyện hoang đường số 3: Thử nghiệm thăm dò ngay trước khi ra mắt là đủ

  • Nói chung trong tất cả các thử nghiệm, chúng tôi thiết kế các trường hợp thử nghiệm sau đó thực hiện chúng. Nhưng trong thử nghiệm thăm dò, thiết kế và thực hiện thử nghiệm sẽ được thực hiện cùng nhau.
  • Trong thử nghiệm thăm dò, không có kế hoạch và không có sự chuẩn bị, khi đó người thử nghiệm sẽ thực hiện các thử nghiệm mà anh ta muốn làm. Một số chức năng sẽ được kiểm tra nhiều lần, trong khi một số chức năng sẽ không được kiểm tra hoàn toàn.

Chuyện hoang đường số 4: Nếu có một số lỗi trong ứng dụng, người dùng sẽ hiểu

  • Nếu ứng dụng không hoạt động và có lỗi, người dùng sẽ gỡ cài đặt ứng dụng của bạn
  • Vấn đề về chất lượng là lý do đầu tiên dẫn đến đánh giá kém trên Google Play. Nó ảnh hưởng đến danh tiếng của bạn và bạn làm mất lòng tin của khách hàng.

Do đó, điều cần thiết là phải có chiến lược thử nghiệm Android phù hợp.

Các phương pháp hay nhất trong Android Kiểm tra

  • Các nhà phát triển ứng dụng nên tạo các trường hợp thử nghiệm cùng lúc khi họ viết mã
  • Tất cả các trường hợp kiểm thử phải được lưu trữ trong phần kiểm soát phiên bản - cùng với mã nguồn
  • Sử dụng tích hợp liên tục và chạy thử nghiệm mỗi khi thay đổi mã
  • Tránh sử dụng trình giả lập và thiết bị đã root