Nghiên cứu kiểm thử tự động các ứng dụng trên điện thoại thông minh

Nghiên cứu kiểm thử tự động các ứng dụng trên điện thoại thông minh

Nghiên cứu kiểm thử tự động các ứng dụng trên điện thoại thông minh

MỞ ĐẦU

Lý do chọn đề tài

Theo nhu cầu phát triển của xã hội hiện nay, công nghệ thông tin được ứng dụng rộng rãi trong rất nhiều lĩnh vực của cuộc sống. Đặc biệt là trong lĩnh vực phát triển phần mềm. Ngành công nghiệp không khói này đã mang lại rất nhiều đột phá tiến bộ cho xã hội con người ngày nay. Chính sự phát triển nhanh chóng của nhu cầu phần mềm, việc đảm bảo chất lượng đầu ra đáp ứng được những tiêu chuẩn khắt khe của khách hàng dẫn đến việc kiểm thử phần mềm là một yếu tố không thể thiếu trong việc phát triển phần mềm

Hiện tại việc kiểm thử phần mềm còn đang mang tính thủ công rất nhiều. Các dự án phần mềm vẫn cần một lượng lớn nhân lực kiểm thử thủ công. Vì thế sự ra đời của kiểm thử tự động là một bước tiến quan trọng trong lĩnh vực kiểm thử phần mềm. Kiểm thử tự động giúp cho việc kiểm thử tích hợp cũng như kiểm thử hồi quy được diễn ra nhanh chóng và thuận tiện hơn. Việc một chiếc máy tính thực hiện kiểm thử tự động có thể đáp ứng được nhu cầu làm việc 24/7 của 1 dự án phần mềm. Nó có thể giúp giảm bớt được rất nhiều công sức của các kiểm thử viên bị bó gọn thời gian làm việc trong 8 tiếng/1 ngày.

Hơn nữa, sự xuất hiện của các thiết bị điện thoại thông minh là một đột phá trong xã hội thông tin liên lạc của loài người. Chúng ta có thể làm việc, giải trí và liên lạc thông qua chiếc điện thoại thông minh này. Chính vì thế nhu cầu phát triển ứng dụng cho chiếc điện thoại thông minh đang là một xu hướng thời thượng trong lĩnh vực công nghệ thông tin hiện nay. Việc kiểm thử ứng dụng trên thiết bị thông minh này cũng là một nhu cầu không thể thiếu trong các dự án phần mềm

Việc kiểm thử ứng dụng trên thiết bị di động thông minh đã là một điều rất cần thiết. Việc ứng dụng các công cụ, thư viện kiểm thử tự động để thực hiện kiểm thử tự động cho thiết bị di động đang là một định hướng rất mới mẻ và cần thiết trong tương lai phát triển của các dự án phần mềm.

Từ những xu hướng và nhu cầu này, tôi đã đề xuất chọn đề tài luận văn cao học như sau: “Nghiên cứu kiểm thử tự động các ứng dụng trên điện thoại thông minh”

Mục tiêu và nhiệm vụ

    1. Mục tiêu

Nghiên cứu và ứng dụng thư viện Selenium kết hợp Appium server để thực hiện việc kiểm thử tự động các ứng dụng trên điện thoại thông minh.

    1. Nhiệm vụ
  • Nghiên cứu về Selenium
  • Tìm hiểu về các thành phần của ứng dụng trong điện thoại thông minh.
  • Tìm hiểu về Appium.
  • Đồng thời xây dựng khung chương trình kiểm thử tự động cho các ứng dụng trên điện thoại thông minh.

Đối tượng và phạm vi nghiên cứu

    1. Đối tượng nghiên cứu bao gồm

Các vấn đề liên quan đến Selenium, Appium, các thành phần của ứng dụng trong điện thoại thông minh, và các vấn đề liên quan đến việc tích hợp Selenium và Appium để xây dựng chương trình kiểm thử tự động cho các ứng dụng trên điện thoại thông minh.

    1. Phạm vi nghiên cứu

Trong khuôn khổ của luận văn, tôi chỉ nghiên cứu cách thức thực hiện kiểm thử tự động cho các ứng dụng được viết riêng cho nền tảng điện thoại di động thông minh.

Phương pháp nghiên cứu

    1. Nghiên cứu lý thuyết
  • Tìm hiểu cơ sở lý thuyết về kiểm thử phần mềm.
  • Nghiên cứu về bộ thư viện Selenium.
  • Tìm hiểu về Appium.
  • Nghiên cứu cách tích hợp để thực hiện kiểm thử tự động cho ứng dụng trên thiết bị di động thông minh.
    1. Nghiên cứu thực nghiệm
  • Tìm hiểu xây dựng mã nguồn bằng ngôn ngữ Java.
  • Xây dựng bộ khung kiểm thử tự động cho ứng dụng trên điện thoại thông minh.
  • Kiểm tra, cài đặt, đánh giá kết quả của quá trình kiểm thử ứng dụng trên điện thoại thông minh.

Ý nghĩa khoa học và thực tiễn

    1. Ý nghĩa khoa học
  • Nghiên cứu kiểm thử tự động cho ứng dụng trên các thiết bị di động thông minh.
  • Nghiên cứu kỹ thuật lập trình hướng đến tối ưu việc kiểm thử tự động.
    1. Ý nghĩa thực tiễn
  • Kiểm thử tự động cho ứng dụng trên điện thoại thông minh đang còn khá mới mẻ trong các doanh nghiệp công nghệ thông tin ở Đà Nẵng. Vì thế nghiên cứu để thực hiện việc kiểm thử này là một điều rất cần thiết cho sự phát triển của xu hướng nghề kiểm thử tự động cho thiết bị di động trong tương lai.
Nghiên cứu kiểm thử tự động các ứng dụng trên điện thoại thông minh
Nghiên cứu kiểm thử tự động các ứng dụng trên điện thoại thông minh

Cấu trúc luận văn

Luận văn được tổ chức thành bốn chương với nội dung chính như sau:

Chương 1: Kiểm thử tự động.

Chương 2: Giải pháp kiểm thử tự động cho ứng dụng trên điện thoại thông minh.

Chương 3: Triển khai và thử nghiệm tích hợp Selenium với Appium để kiểm thử tự động cho ứng dụng trên điện thoại thông minh.

Kết luận

CHƯƠNG 1

KIỂM THỬ TỰ ĐỘNG

Chương này trình bày tổng quan về kiểm thử phần mềm, kiểm thử tự động, kiểm thử tự động trên nền web và kiểm thử tự động trên thiết bị di động.

TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM

Kiểm thử phần mềm là một công đoạn nhỏ trong các mô hình phát triển phần mềm. Kiểm thử là một hoạt động sống còn trong các dự án sản xuất và gia công phần mềm. Kiểm thử phần mềm là việc kiểm tra sản phẩm phần mềm nhằm đánh giá chất lượng và phát hiện lỗi hoặc bất cứ vấn đề gì của sản phẩm. Kiểm thử phần mềm (KTPM) bao gồm việc “chạy thử” phần mềm hay một chức năng của phần mềm, xem nó “chạy” đúng như mong muốn hay không. KTPM đứng ở vị trí hết sức nhạy cảm, nó là bước đệm giữa giai đoạn xây dựng phần mềm và sử dụng phần mềm, trước khi giao sản phẩm hoàn chỉnh cho khách hàng.

Khái quát về các công đoạn kiểm thử phần mềm

Các phương pháp kiểm thử phần mềm

Kiểm thử hộp trắng

Là việc kiểm thử bằng cách chạy ứng dụng khi đã biết cách hoạt động bên trong của nó dựa vào mã nguồn (source code). Đối tượng của kiểm thử hộp trắng có thể là 1 hàm chức năng, 1 phần tiêu chuẩn chức năng (module) hoặc 1 phần hệ chức năng …Do yêu cầu phải biết được các giải thuật và mã nguồn của phần mềm nên người thực hiện kiểm thử hộp trắng phải có kỹ năng, kiến thức nhất định về ngôn ngữ lập trình, giải thuật được sử dụng.

Kiểm thử hộp đen

Trong kỹ thuật này, người kiểm thử xem phần mềm như một hộp đen chỉ cần biết nó làm như thế nào, không quan tâm đến cấu trúc, hành vi bên trong phần mềm. Người kiểm thử chỉ quan tâm đến đầu vào, đầu ra của chương trình.

Các loại hình kiểm thử

GIỚI THIỆU VỀ KIỂM THỬ TỰ ĐỘNG

Khái niệm

Việc sử dụng một công cụ kiểm thử tự động để thực thi một ca kiểm thử thay cho con người được gọi chung là kiểm thử tự động. Công cụ kiểm thử tự động có thể lấy dự liệu từ file bên ngoài (excel, csv, …) nhập vào ứng dụng, so sánh kết quả mong đợi (từ excel, csv) với kết quả thực tế và xuất ra báo cáo kết quả kiểm thử.

Các thành phần cơ bản trong kiểm thử tự động

Interfaces – Giao diện:Đây là thành phần quan trọng để cho một công cụ kiểm thử tự động có thể nhận biết được những thành phần trong ứng dụng cần kiểm thử. Từ đó có thể thao tác được trên các thành phần này để biến kịch bản kiểm thử của kiểm thử viên thành một kịch bản hoàn toàn tự động.

Recorder – Bộ ghi nhớ: Đây cũng là một trong những thành phần quan trọng để xây dựng nên một công cụ kiểm thử tự động. Người sử dụng có thể sử dụng tính năng này để ghi nhớ lại những ngữ cảnh, kịch bản kiểm thử. Sau đó, những hành động, kịch bản đã được ghi nhớ sẽ được tại hiện bằng sự hỗ trợ của công cụ kiểm thử.

Actions – Hành động: Đây là thành phần quan trọng nhất không thể thiếu của một công cụ kiểm thử tự động. Khi một công cụ kiểm thử được sử dụng, nó sẽ tái hiện lại những hành động cơ bản của con người khi thao tác với các ứng dụng trên máy tính. Ví dụ như thao tác “click chuột trái”, thao tác “click double chuột trái”. Một công cụ kiểm thử tự động luôn luôn phải xây dựng được những action cơ bản này để người dùng có thể chuyển đổi trọn vẹn kịch bản kiểm thử thủ công sang kịch bản kiểm thử tự động.

Data input, data out put – dữ liệu vào, dữ liệu ra: Đây là thành phần cần thiết, thể hiện sự mạnh mẽ của kiểm thử tự động. Nó có thể tận dụng được sức mạnh bền bỉ và nhanh chóng của máy tính để làm việc thay con người. Khi dữ liệu đầu vào quá nhiều thì việc sử dụng con người cho việc kiểm thử rất tốn thời gian và công sức. Vì thế, việc chuẩn bị dữ liệu vào cho công cụ kiểm thử là một bước rất quan trọng. Một công cụ kiểm thử mạnh sẽ hỗ trợ được nhiều định dạng đầu vào.

Nguyên lý hoạt động kiểm thử tự động

Về cơ bản, kiểm thử tự động vẫn dựa vào những kịch bản kiểm thử của kiểm thử thủ công. Kịch bản này sẽ được mô hình hóa theo ngôn ngữ của máy tính, ngôn ngữ được định nghĩa của công cụ kiểm thử để chuyển thể từ kiểm thử thủ công thành kiểm thử tự động. Dữ liệu vào của công cụ kiểm thử tự động sẽ được phân tích, sử dụng và máy tính sẽ làm thay những phần việc của con người dựa vào những kịch bản của kiểm thử viên. Sau khi quá trình thực thi kiểm thử được diễn ra hoàn toàn, kết quả báo cáo kiểm thử sẽ được các công cụ sinh ra và đưa đến tay người kiểm thử.

Ứng dụng của kiểm thử tự động

Ứng dụng thường xuyên nhất, quan trọng nhất trong kiểm thử tự động là thực thi regression test. Từ khi một nhà phát triển (developer) đưa ra bản build mới cho tới khi phiên bản mới tới tay khách hàng chỉ từ 1 đến 2 ngày. Trong thời gian ngắn ngủi này, regression test sẽ được thực thi, nghĩa là một số lượng ca kiểm thử lớn phải được thực thi trong một khoảng thời gian ngắn. Đây là lúc lý tưởng để sử dụng kiểm thử tự động.

KIỂM THỬ TỰ ĐỘNG TRÊN WEB

Khái niệm về các thành phần của ứng dụng web

Ứng dụng web là loại ứng dụng internet cho phép các khách hàng (Client) sử dụng trình duyệt web để truy cập và xem thông tin được cung cấp bởi trình chủ web (Web Server)

C:\Users\Long-Win8\Downloads\Documents\Web.jpg

Hình 1.2: Mô hình ứng dụng web

Phía Client: Trong phần Client, người dùng sử dụng trình duyệt web để yêu cầu (Request) đến Server bằng cách gõ địa chỉ của website cần đến vào thanh địa chỉ của trình duyệt. Kết quả nhận được sau đó sẽ được hiển thị trên cửa sổ trình duyệt.

Phía Server: Về phía Server, một trình chỉ Web (Web server) khởi chạy một ứng dụng web tương ứng để xử lý yêu cầu của người sử dụng. Kết quả là ứng dụng web sinh ra một trang HTML trả lại cho trình duyệt sau đó trình duyệt sẽ hiển thị kết quả cho người sử dụng.

Kỹ thuật nhận diện các thành phần trên web

Một ứng dụng web được xây dựng và hiển thị trên nền tảng của ngôn ngữ HTML. Để nhận diện được các thành phần của một trang web, chúng ta có thể có nhiều cách. Trong khuôn khổ của luận văn này, tôi sẽ trình bày cách thức sử dụng ngôn ngữ XPath để nhận diện các thành phần trên ứng dụng web

Giới thiệu XPath

XPath là ngôn ngữ truy vấn để xác định các nút trong một tài liệu XML. Vì một trang web có cấu trúc từ ngôn ngữ HTML nên chúng ta cũng có thể dùng XPath để xác định các nút thành phần của ứng dụng web. Việc xác định các nút này sẽ là việc xác định một thành phần interface để có thể dùng công cụ kiểm thử tự động thao tác với thành web này, nhằm tự động hóa các kịch bản kiểm thử.

KẾT CHƯƠNG

CHƯƠNG 2

GIẢI PHÁP KIỂM THỬ TỰ ĐỘNG CHO ỨNG DỤNG

TRÊN ĐIỆN THOẠI THÔNG MINH

Chương này trình bày về mô hình tổng thể kiểm thử phần mềm cho thiết bị di động. Bổ sung thông tin về thư viện Selenium, về Appium và cuối cùng là trình bày giải pháp tích hợp Appium và Selenium để thực hiện việc kiểm thử tự động cho ứng dụng trên điện thoại thông minh.

ĐẶT VẤN ĐỀ

NHỮNG THÁCH THỨC CHO VIỆC THỰC HIỆN KIỂM THỬ TỰ ĐỘNG CHO THIẾT BỊ DI ĐỘNG

  • Sự phân mảnh của thiết bị là một thách thức lớn cho kiểm thử trên thiết bị di động. Điều này dẫn tới việc triển khai kiểm thử tự động trên thiết bị di động trở nên khó khăn hơn.
  • Một thiết bị thực tế có thể có nhiều cấu hình hệ điều hành. Điều này làm cho giao diện và chức năng sử dụng của thiết bị bị thay đổi khá nhiều, dẫn tới việc thực thi kiểm thử tự động cũng trở thành một thách thức cực kỳ lớn.
  • Không phải mọi thiết bị giả lập đều có thể nhận diện được toàn bộ các đặc tính, thành phần của ứng dụng trong thiết bị.

ĐỀ XUẤT GIẢI PHÁP CẢI TIẾN

  1. . Tìm kiếm giải pháp

LIÊN HỆ:

SĐT+ZALO: 0935568275

F:\DỮ LIỆU COP CỦA CHỊ YẾN\DAI HOC DA NANG\KHOA HOC MAY TINH\VU LONG

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *