• Không có kết quả nào được tìm thấy

ĐỒ ÁN TỐT NGHIỆP

Protected

Academic year: 2023

Chia sẻ "ĐỒ ÁN TỐT NGHIỆP"

Copied!
79
0
0

Loading.... (view fulltext now)

Văn bản

Tên dự án: Kiểm thử phần mềm trên thiết bị di động và ứng dụng phần mềm Appium Studio cho ứng dụng trên iOS. Nguyễn Trinh Đông, em đã hoàn thành đề tài “Kiểm thử phần mềm trên thiết bị di động và ứng dụng phần mềm Appium Studio cho ứng dụng trên iOS”. Đó là lý do tôi chọn đề tài “Kiểm thử phần mềm trên thiết bị di động và ứng dụng phần mềm Appium Studio cho ứng dụng iOS” làm đồ án tốt nghiệp của mình.

CÁC KIẾN THỨC CƠ BẢN

Phần mềm

Kiểm thử phần mềm và một số khái niệm liên quan

  • Kiểm thử phần mềm
  • Một số khái niệm liên quan

Đáp ứng mọi yêu cầu hướng dẫn trong thiết kế và phát triển phần mềm. Vì vậy, mỗi phương pháp thử nghiệm được xác định bởi một quy trình phát triển phần mềm cụ thể. Mục đích cuối cùng là đánh giá quá trình sản xuất sản phẩm phần mềm [3].

Quy trình kiểm thử phần mềm

Mục đích: Chỉ định phạm vi, phương pháp, phương tiện và lịch trình của các hoạt động kiểm thử. Giai đoạn bố trí nhân sự kiểm tra: Việc kiểm tra thường cần được tiến hành độc lập và các nhóm độc lập chịu trách nhiệm tiến hành hoạt động kiểm tra, gọi là nhóm kiểm tra. Kỹ thuật kiểm thử hộp trắng để kiểm thử cấu trúc bên trong.

Các cấp độ kiểm thử

  • Kiểm thử mức đơn vị
  • Kiểm thử tích hợp
  • Kiểm thử hồi quy
  • Kiểm thử chấp nhận sản phẩm
  • Kiểm thử mức hệ thống

Kiểm thử đơn vị là thành phần nhỏ nhất của phần mềm có thể được kiểm thử. Theo định nghĩa này, các hàm, thủ tục, lớp hoặc phương thức đều có thể được coi là các bài kiểm tra đơn vị. Tích hợp các đơn vị kiểm thử riêng lẻ thành các hệ thống nhỏ (hệ thống con) và cuối cùng là một hệ thống (hệ thống) hoàn chỉnh để chuẩn bị cho việc kiểm thử cấp hệ thống.

Các kỹ thuật kiểm thử phần mềm

  • Nguyên tắc cơ bản kiểm thử phần mềm
  • Kỹ thuật kiểm thử hộp trắng (White-Box Testing)
  • Kỹ thuật kiểm thử hộp đen (Black-Box Testing)

Thử nghiệm DU không đảm bảo bao phủ tất cả các nhánh của chương trình. Chúng tôi gọi đây là cấp độ bao phủ nhánh thử nghiệm và điều kiện phụ. Hệ thống thực tế với mọi yêu cầu đều được kiểm tra kỹ lưỡng.

Hình 1-3: Luồng thông tin kiểm thử  5.1.3. Thiết kế trường hợp kiểm thử
Hình 1-3: Luồng thông tin kiểm thử 5.1.3. Thiết kế trường hợp kiểm thử

Kỹ thuật thiết kế Ca kiểm thử

  • Cấu trúc của Ca kiểm thử
  • Phân vùng tương đương
  • Phân tích giá trị biên
  • Đoán lỗi

Thiết kế các kịch bản thử nghiệm khá nhanh chóng khi các yêu cầu chức năng đã được xác định. ID trường hợp thử nghiệm: Giá trị cần thiết để xác định số lượng trường hợp cần thiết để thử nghiệm. Mô tả test case: mô tả ngắn gọn về mục đích của test case đó.

Lưu ý: Cột này dùng để ghi chú các thông tin liên quan khi thực hiện các test case. Bước 1: Xác định mục đích kiểm thử: cần hiểu rõ đặc tả yêu cầu của khách hàng. Mục tiêu: Giảm đáng kể số lượng ca kiểm thử cần thiết kế, vì đối với mỗi lớp tương đương chúng ta chỉ cần kiểm thử trên các phần tử đại diện.

Thiết kế trường hợp thử nghiệm sao cho người dùng nhập hộp văn bản tên người dùng chỉ được phép nhập các ký tự chữ và số có độ dài trong khoảng [6-20]. Do đó, phương pháp này tập trung vào việc kiểm tra các giá trị giới hạn này. Phân tích giá trị biên là trường hợp đặc biệt của phân vùng tương đương. Dựa trên các phân vùng tương đương, người kiểm thử sẽ xác định ranh giới giữa các phân vùng này và lựa chọn các ca kiểm thử phù hợp.

Mục tiêu là chọn các trường hợp thử nghiệm thực thi các giá trị giới hạn.

Hình 1-5: Minh họa của một ca kiểm thử 6.2. Phân vùng tương đương
Hình 1-5: Minh họa của một ca kiểm thử 6.2. Phân vùng tương đương

Tạo Bug report

  • Bug và Bug report
  • Cấu trúc một Bug report
  • Severity và Priority

Kết quả mong đợi: TextBox chỉ hiển thị dấu cộng trước một số hoặc giữa hai số trong một biểu thức. Tuy nhiên, hiểu đúng mức độ nghiêm trọng và mức độ ưu tiên của sản phẩm cho thấy chúng ta thực sự hiểu và quan tâm đến chất lượng sản phẩm, đồng thời thể hiện tính chuyên nghiệp của một kỹ sư kiểm thử. Mức độ nghiêm trọng là mức độ lỗi có thể ảnh hưởng đến phần mềm.

Nghiêm trọng (S1): Lỗi ảnh hưởng đến các chức năng quan trọng hoặc dữ liệu quan trọng. Ví dụ: một chức năng nhỏ không được triển khai nhưng nhiệm vụ tương tự có thể được thực hiện dễ dàng từ một chức năng khác. Nó thậm chí không cần thay thế vì nó không ảnh hưởng đến năng suất hoặc hiệu quả mà chỉ gây bất tiện.

Chúng ta nên sửa nó ngay bây giờ hoặc có thể trì hoãn cho đến khi một lỗi nghiêm trọng khác được sửa. Trạng thái ưu tiên này do người thử nghiệm đặt ra cho nhà phát triển và đề cập đến khung thời gian sửa lỗi. Mức độ ưu tiên càng cao thì càng cần sửa sớm.

Trạng thái ưu tiên được thiết lập dựa trên yêu cầu của khách hàng.

Hình 1-7: Minh họa một Bug report
Hình 1-7: Minh họa một Bug report

KIỂM THỬ TRÊN THIẾT BỊ DI ĐỘNG

Kiểm thử trên thiết bị di động

  • Các khái niệm cơ bản về ứng dụng di động
  • Phương pháp kiểm thử trên thiết bị di động
  • Các loại kiểm thử di động
  • Các đặc điểm của kiểm thử di động

Ra mắt một ứng dụng di động có nhiều lỗi có thể là một thảm họa. Kiểm thử trên thiết bị thực là điều cần thiết cho tất cả các ứng dụng di động. Mặt khác, việc thử nghiệm một ứng dụng trên tất cả các thiết bị có sẵn là cực kỳ khó khăn và tốn kém.

Ứng dụng hoạt động trên thiết bị di động và các chức năng của nó đã được thử nghiệm. Đây được gọi là thử nghiệm ứng dụng di động để phân biệt với các nền tảng khác. Ứng dụng gốc chỉ chạy trên một nền tảng trong khi ứng dụng web dành cho thiết bị di động là đa nền tảng.

Ứng dụng gốc chạy nhanh hơn so với ứng dụng web dành cho thiết bị di động. Hao pin: Điều quan trọng là phải theo dõi tình trạng hao pin khi chạy ứng dụng trên thiết bị di động. Kiểm tra chức năng: Kiểm tra các chức năng chính của ứng dụng di động dựa trên thông số kỹ thuật của thiết bị.

Kiểm tra khả năng sử dụng: Kiểm tra các khía cạnh khả năng sử dụng của ứng dụng di động.

Kiểm thử tự động

  • Khái niệm kiểm thử tự động
  • Mục tiêu của kiểm thử tự động
  • Nguyên tắc kiểm thử tự động
  • Quy trình kiểm thử tự động
  • Ưu điểm của kiểm thử tự động
  • Một số công cụ kiểm thử tự động
  • So sánh kiểm thử tự động và kiểm thử thủ công

Giảm chi phí khi kiểm thử số lượng lớn ca kiểm thử hoặc ca kiểm thử lặp lại nhiều lần. Trên thực tế, kiểm thử tự động có sự khác biệt so với kiểm thử thủ công. Việc này gần như không thể thực hiện thủ công, trong khi với kiểm thử tự động chúng ta có thể làm được hoàn toàn với nguồn nhân lực vô cùng khiêm tốn.

Độ chính xác cao hơn: Độ ổn định cao cho phép các thử nghiệm tự động thực hiện các trường hợp thử nghiệm với độ chính xác cao hơn. Điều này giúp chúng tôi tăng mức độ phù hợp trong giai đoạn thử nghiệm hồi quy (một ví dụ điển hình). Nhờ tính ổn định cao nên bạn hoàn toàn có thể tin tưởng vào kết quả thực hiện của công cụ kiểm thử tự động.

Phải mất một thời gian dài để chạy nhưng không yêu cầu thử nghiệm nhiều lần. Mất ít thời gian thực hiện hơn nhưng quá trình kiểm thử lặp lại tăng nhiều hơn so với kiểm thử thủ công. Kiểm thử tự động phù hợp với việc kiểm thử lặp đi lặp lại, testScript có thể được sử dụng lại.

Nếu bạn sử dụng thử nghiệm tự động và thử nghiệm ít sẽ gây lãng phí thời gian và nhân lực.

Hình 2-1: Quy trình Kiểm thử tự động trong mối quan hệ với Kiểm thử phần mềm  Để kiểm thử tự động thì công cụ là thành phần không thể thiếu trong tiến  trình này, việc kiểm thử viên thành thạo các công cụ kiểm thử đảm bảo cho quy  trình kiểm thử tự động đư
Hình 2-1: Quy trình Kiểm thử tự động trong mối quan hệ với Kiểm thử phần mềm Để kiểm thử tự động thì công cụ là thành phần không thể thiếu trong tiến trình này, việc kiểm thử viên thành thạo các công cụ kiểm thử đảm bảo cho quy trình kiểm thử tự động đư

THỰC NGHIỆM SỬ DỤNG APPIUM STUDIO CHO KIỂM THỬ TỰ

Giới thiệu phần mềm Appium Studio

  • Công cụ Appium
  • Phần mềm Appium Studio

Ngoài ra, Appium hỗ trợ viết test cho nhiều ngôn ngữ, từ Java đến Ruby, Python, JavaScript, v.v. Chương trình máy chủ Appium - Appium Server: là chương trình tạo máy chủ Java, dùng để chuyển đổi các lệnh trong mã test thành các lệnh có thể giao tiếp với thiết bị: UIAutomation cho iOS hoặc UIAutomator cho Android. Hệ thống thư viện Appium: Giống như Selenium, Appium có hệ thống thư viện được sử dụng để xác định và tương tác với các đối tượng UI trên ứng dụng di động.

Hệ thống thư viện Appium được cung cấp cho nhiều ngôn ngữ lập trình khác nhau như C#, Java, Python, v.v. Appium Studio là một IDE được thiết kế để phát triển và thực hiện các thử nghiệm di động tự động bằng API Appium/Selenium WebDriver [10]. Phần mềm này loại bỏ nhiều phụ thuộc cứng nhắc và các điều kiện tiên quyết của Appium, chẳng hạn như yêu cầu phát triển cho iOS trên máy MAC OSX hoặc không thể chạy thử nghiệm song song trên thiết bị iOS thực/mô phỏng.

Giao diện của Appium Studio cung cấp một bộ công cụ để đơn giản hóa quá trình thử nghiệm. Có phiên bản miễn phí nhưng không hỗ trợ truy cập đám mây.

Appium Studio tích hợp trong Eclipse

Thực nghiệm với Appium Studio tích hợp trong Eclipse

  • Cài đặt Appium Studio
  • Kết nối với thiết bị trên Cloud
  • Xây dựng bộ ca kiểm thử cho một ứng dụng cần kiểm thử
  • Tạo dự án kiểm thử
  • Báo cáo

Ở đây chúng ta sẽ thực hiện kiểm tra một chương trình máy tính đơn giản và sử dụng kiểm tra hộp đen để xác minh chức năng của phần mềm. Ở đây chúng ta sẽ chỉ thử ví dụ về các phép toán với 2 số và tạm bỏ qua các phép toán với. Nếu bạn đang kiểm tra thủ công, sẽ rất khó để kiểm tra tất cả các ví dụ trên.

Tuy nhiên, chúng ta sẽ không kiểm tra thủ công mà sử dụng phần mềm để kiểm tra tự động. Các trường hợp thử nghiệm có thể được nhóm lại và ưu tiên dễ dàng hơn. Bước 1: Chuyển sang tab IODemoTest.java để tạo script test cho iOS.

Kết quả của các lần chạy thử nghiệm tự động động được hiển thị trong cửa sổ bảng điều khiển Eclipse. SeeTest Cloud tự động tạo báo cáo cho từng trường hợp thử nghiệm, giúp người thử nghiệm báo cáo dễ dàng hơn. Tìm hiểu về một giai đoạn rất quan trọng và không thể thiếu trong quá trình phát triển phần mềm, đó là kiểm thử.

Ứng dụng thành công phần mềm Appium Studio tích hợp vào Eclipse để tạo dữ liệu đầu vào phục vụ kiểm thử chức năng tự động của phần mềm trên hệ điều hành iOS. Không thể thử nghiệm trên thiết bị di động thực vì bạn không có tài khoản Nhà phát triển Apple. Phần mềm máy tính chạy trên iOS để thử nghiệm không thể hiện rõ đặc điểm của các ứng dụng chạy trên nền tảng này.

Hình 3-3: Dán URL vào cửa sổ Install để tiền hành cài đặt
Hình 3-3: Dán URL vào cửa sổ Install để tiền hành cài đặt

Hình ảnh

Hình 1-1: Ví dụ về 1 Kịch bản kiểm thử 3. Quy trình kiểm thử phần mềm
Hình 1-2: Giai đoạn kiểm thử trong xử lý phần mềm  Quy trình kiểm thử bao gồm một số giai đoạn:
Hình 1-3: Luồng thông tin kiểm thử  5.1.3. Thiết kế trường hợp kiểm thử
Hình 1-4: Minh họa Kiểm thử hộp đen  Ưu điểm:
+7

Tài liệu tham khảo

Tài liệu liên quan

Theo “To rror is Human”, khi ự cố xảy ra, 8 là do l i hệ thống, nhƣ đến nay ta vẫn đang từng bƣớc chuẩn hóa các quy trình t i viện, tiến hành cập nhật, xây dựng các