Tiểu Luận: Kiểm Thử & Đảm Bảo Chất Lượng Phần Mềm với Appium Studio

Luận văn đồ án môn học: Kiểm thử và đảm bảo chất lượng phần mềm với Appium Studio. Tìm hiểu quy trình, kỹ thuật kiểm thử tự động ứng dụng di động hiệu quả.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án môn học

2022

60
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CÁM ƠN

DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU

DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ

1. CHƯƠNG 1: CÁC KIẾN THỨC CƠ BẢN

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

1.2. Kiểm thử phần mềm

1.3. M t s kh i ni m liên quan

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

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

Tóm tắt

I. Tổng Quan Về Appium Studio Kiểm Thử Phần Mềm Hiệu Quả

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, việc kiểm thử phần mềm trở nên quan trọng hơn bao giờ hết. Phần mềm ngày càng phức tạp, đòi hỏi các hoạt động đảm bảo chất lượng phải chặt chẽ và khoa học. Tuy nhiên, lỗi vẫn luôn tiềm ẩn và có thể gây ra những thiệt hại khôn lường. Kiểm thử phần mềm là một quá trình liên tục, xuyên suốt mọi giai đoạn phát triển, nhằm đảm bảo phần mềm đáp ứng các yêu cầu thiết kế và nhu cầu của người dùng. Việc kiểm thử phần mềm, đặc biệt là trên các thiết bị di động, trở nên cấp thiết khi số lượng người dùng smartphone ngày càng tăng. Appium Studio nổi lên như một giải pháp kiểm thử tự động hiệu quả, giúp giảm nhân lực và đảm bảo chất lượng phần mềm. Appium Studio là một IDE được thiết kế để phát triển và thực thi kiểm thử tự động trên di động bằng cách sử dụng Appium/Selenium WebDriver API. Theo đồ án môn học của Trần Lê Viên và Nguyễn Trung Kiên tại Đại học Công nghệ TP.HCM, Appium Studio loại bỏ phần lớn sự phụ thuộc cứng nhắc và các điều kiện tiên quyết của Appium, đồng thời cung cấp một giao diện trực quan và dễ sử dụng. Công cụ này hỗ trợ kiểm thử trên nhiều nền tảng, bao gồm iOS và Android, giúp các nhà phát triển đảm bảo chất lượng ứng dụng của họ trên mọi thiết bị. Việc ứng dụng Appium Studio vào quy trình kiểm thử phần mềm không chỉ giúp tiết kiệm thời gian và chi phí, mà còn nâng cao độ tin cậy và ổn định của sản phẩm cuối cùng.

1.1. Appium Studio Là Gì Định Nghĩa Và Ưu Điểm Chính

Appium Studio là một môi trường phát triển tích hợp (IDE) được xây dựng để đơn giản hóa quá trình kiểm thử tự động trên các thiết bị di động. Nó hỗ trợ cả ứng dụng native, web trên di động và ứng dụng hybrid, hoạt động trên cả nền tảng iOS và Android. Ưu điểm chính của Appium Studio bao gồm khả năng chạy kiểm thử trên hệ điều hành Windows, đơn giản hóa việc thiết lập môi trường kiểm thử, không bị giới hạn để kiểm tra ứng dụng của m=nh, đẩy nhanh và đơn giản hóa quá trình kiểm thử. Phần mềm này được xây dựng trên nền tảng Appium, một framework mã nguồn mở phổ biến cho kiểm thử di động, tận dụng các API quen thuộc như Selenium WebDriver. Nhờ đó, người dùng có thể dễ dàng chuyển đổi và tận dụng các kiến thức và kỹ năng hiện có. Ngoài ra, Appium Studio còn cung cấp giao diện trực quan để tạo và quản lý các kịch bản kiểm thử, giúp giảm thiểu thời gian và công sức cần thiết cho quá trình này. Appium Studio là một thành phần mở rộng để tự động hóa quá tr=nh kiểm thử và có thể tích hợp vào JUnit, TestNG.

1.2. Lợi Ích Của Kiểm Thử Tự Động Với Appium Studio

Việc áp dụng kiểm thử tự động với Appium Studio mang lại nhiều lợi ích đáng kể. Thứ nhất, nó giúp giảm thiểu thời gian và chi phí kiểm thử bằng cách tự động hóa các tác vụ lặp đi lặp lại. Thay vì phải thực hiện kiểm thử thủ công trên nhiều thiết bị và cấu hình khác nhau, các nhà phát triển có thể sử dụng Appium Studio để tạo ra các kịch bản kiểm thử tự động chạy liên tục và song song. Thứ hai, Appium Studio giúp nâng cao độ chính xác và tin cậy của quá trình kiểm thử. Các kịch bản kiểm thử tự động được thực hiện một cách nhất quán, loại bỏ các sai sót do con người gây ra. Thứ ba, Appium Studio hỗ trợ kiểm thử trên nhiều nền tảng và thiết bị khác nhau. Điều này cho phép các nhà phát triển đảm bảo rằng ứng dụng của họ hoạt động tốt trên mọi thiết bị mà người dùng có thể sử dụng. Cuối cùng, Appium Studio cung cấp các công cụ báo cáo và phân tích mạnh mẽ, giúp các nhà phát triển nhanh chóng xác định và khắc phục các lỗi. Theo tài liệu nghiên cứu, việc kiểm thử tự động với Appium Studio giúp giảm đáng kể thời gian và chi phí cho việc kiểm thử và sửa lỗi ở các mức kiểm thử sau đó.

II. Vấn Đề Thường Gặp Thách Thức Trong Kiểm Thử Phần Mềm

Kiểm thử phần mềm không phải là một quá trình đơn giản và dễ dàng. Có nhiều thách thức và vấn đề thường gặp mà các nhà phát triển và kiểm thử viên phải đối mặt. Theo báo cáo đồ án, một trong những thách thức lớn nhất là sự phức tạp của phần mềm. Các ứng dụng hiện đại thường có nhiều tính năng, tích hợp với nhiều hệ thống khác nhau, và chạy trên nhiều nền tảng và thiết bị khác nhau. Điều này làm cho việc kiểm thử trở nên phức tạp hơn và đòi hỏi các kỹ thuật và công cụ kiểm thử tiên tiến. Thêm vào đó, thời gian và chi phí là những hạn chế quan trọng. Các dự án phát triển phần mềm thường có thời gian biểu chặt chẽ và ngân sách hạn hẹp. Điều này có thể dẫn đến việc kiểm thử bị rút ngắn hoặc bỏ qua, gây ra rủi ro về chất lượng. Ngoài ra, việc tìm kiếm và khắc phục lỗi cũng là một thách thức. Lỗi có thể ẩn chứa ở bất kỳ đâu trong phần mềm, và việc xác định nguyên nhân gốc rễ có thể tốn nhiều thời gian và công sức. Cuối cùng, sự thay đổi liên tục của yêu cầu và công nghệ cũng là một thách thức. Các yêu cầu của người dùng có thể thay đổi trong quá trình phát triển, và các công nghệ mới có thể xuất hiện, đòi hỏi các nhà phát triển và kiểm thử viên phải liên tục thích nghi và cập nhật kiến thức.

2.1. Sự Phức Tạp Của Ứng Dụng Di Động Đa Dạng Nền Tảng

Một trong những thách thức lớn nhất trong kiểm thử ứng dụng di động là sự đa dạng của nền tảng. Có rất nhiều hệ điều hành di động khác nhau, với các phiên bản và cấu hình khác nhau. Mỗi nền tảng có những đặc điểm riêng, đòi hỏi các kỹ thuật và công cụ kiểm thử khác nhau. Thêm vào đó, có rất nhiều thiết bị di động khác nhau, với các kích thước màn hình, độ phân giải và hiệu năng khác nhau. Việc kiểm thử ứng dụng trên tất cả các thiết bị này là một nhiệm vụ tốn kém và phức tạp. Các nhà phát triển thường phải lựa chọn một số thiết bị đại diện để kiểm thử, nhưng điều này có thể dẫn đến việc bỏ sót các lỗi chỉ xảy ra trên các thiết bị khác. Theo nghiên cứu, việc kiểm thử ứng dụng di động trên nhiều nền tảng và thiết bị khác nhau đòi hỏi các công cụ kiểm thử tự động có khả năng hỗ trợ đa nền tảng, chẳng hạn như Appium Studio.

2.2. Hạn Chế Về Thời Gian Và Chi Phí Tối Ưu Quy Trình Kiểm Thử

Thời gian và chi phí luôn là những hạn chế quan trọng trong kiểm thử phần mềm. Các dự án phát triển phần mềm thường có thời gian biểu chặt chẽ và ngân sách hạn hẹp. Điều này có thể dẫn đến việc kiểm thử bị rút ngắn hoặc bỏ qua, gây ra rủi ro về chất lượng. Để giải quyết vấn đề này, các nhà phát triển cần phải tối ưu hóa quy trình kiểm thử của họ. Điều này có thể bao gồm việc tự động hóa các tác vụ kiểm thử lặp đi lặp lại, sử dụng các công cụ kiểm thử hiệu quả, và tập trung vào các khu vực có rủi ro cao. Theo tài liệu, kiểm thử phần mềm là một hoạt động rất tốn kém, mất thời gian, và khó phát hiện được hết lỗi. V= vQy, việc kiểm thử phần mềm đòi hỏi phải có chiến lược phù hợp, một kế hoạch hợp lý và việc thực hiện được quản lí chặt chẽ.

III. Giải Pháp Appium Studio Tối Ưu Hóa Kiểm Thử Tự Động

Appium Studio cung cấp một loạt các tính năng và công cụ để tối ưu hóa kiểm thử tự động. Theo như báo cáo đồ án, công cụ này giúp loại bỏ phần lớn sự phụ thuộc cứng nhắc và các điều kiện tiên quyết của Appium, đồng thời cung cấp một giao diện trực quan và dễ sử dụng. Nó hỗ trợ kiểm thử trên nhiều nền tảng và thiết bị khác nhau, và cung cấp các công cụ báo cáo và phân tích mạnh mẽ. Bên cạnh đó, Appium Studio cung cấp các công cụ để tạo và quản lý các kịch bản kiểm thử, giúp giảm thiểu thời gian và công sức cần thiết cho quá trình này. Cuối cùng, Appium Studio tích hợp với các công cụ phát triển và kiểm thử khác, giúp tạo ra một quy trình làm việc liền mạch và hiệu quả. Appium Studio dành cho Eclipse là một giải pháp dành cho các nhà phát triển Java muốn tự động kiểm thử ứng dụng trên thiết bị di động trên cả 2 nền tảng Android và iOS. Appium Studio là một thành phần mở rộng để tự động hóa quá tr=nh kiểm thử và có thể tích hợp vào JUnit, TestNG.

3.1. Tính Năng Ghi Và Chạy Lại Tạo Kịch Bản Kiểm Thử Dễ Dàng

Một trong những tính năng quan trọng nhất của Appium Studio là khả năng ghi và chạy lại các kịch bản kiểm thử. Tính năng này cho phép các nhà phát triển tạo ra các kịch bản kiểm thử một cách dễ dàng bằng cách ghi lại các thao tác của họ trên thiết bị di động. Sau khi kịch bản kiểm thử được ghi lại, nó có thể được chạy lại nhiều lần để kiểm tra các chức năng và tính năng khác nhau của ứng dụng. Tính năng ghi và chạy lại giúp giảm thiểu thời gian và công sức cần thiết để tạo ra các kịch bản kiểm thử. Ngay cả những người không có kinh nghiệm lập trình cũng có thể sử dụng tính năng này để tạo ra các kịch bản kiểm thử đơn giản. Theo các chuyên gia, tính năng ghi và chạy lại của Appium Studio giúp giảm thiểu thời gian phát triển các bài kiểm tra di động mà không cần internet hay thiết bị.

3.2. Hỗ Trợ Đa Nền Tảng Kiểm Thử Trên iOS Và Android

Appium Studio hỗ trợ kiểm thử trên nhiều nền tảng khác nhau, bao gồm iOS và Android. Điều này cho phép các nhà phát triển đảm bảo rằng ứng dụng của họ hoạt động tốt trên mọi thiết bị mà người dùng có thể sử dụng. Việc hỗ trợ đa nền tảng giúp giảm thiểu chi phí và thời gian kiểm thử, vì các nhà phát triển không cần phải tạo ra các kịch bản kiểm thử riêng biệt cho mỗi nền tảng. Thay vào đó, họ có thể sử dụng cùng một kịch bản kiểm thử để kiểm tra ứng dụng trên cả iOS và Android. Appium Studio có khả năng làm việc với nhiều nền tảng khác nhau, iOS và Android, trên cùng một mã kiểm thử (cross-platforms). Khả năng cross-platforms của Appium đến từ việc sử dụng các thư viện của Appium, thông qua một chương tr=nh server, chuyển các câu lệnh sử dụng trong mã kiểm thử thành các lệnh UIAutomation (với iOS) hay UIAutomator (với Android) để tương tác với thiết bị. Đặc biệt là Appium hỗ trợ “đa nền tảng” (cross-platform) cho phép bạn sử dụng API giống nhau để viết test cho các nền tảng khác nhau (iOS và Android). Điều này khá là tiện lợi khi bạn muốn sử dụng lại các bộ ca kiểm thử của m=nh.

IV. Ứng Dụng Thực Tế Kiểm Thử Ứng Dụng Máy Tính Trên Android

Để minh họa cách Appium Studio có thể được sử dụng trong thực tế, ta có thể xem xét một ví dụ về việc kiểm thử một ứng dụng máy tính đơn giản chạy trên hệ điều hành Android. Theo như báo cáo đồ án, quá trình kiểm thử ứng dụng máy tính có thể được thực hiện theo các bước sau: 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ử và viết kịch bản kiểm thử. Appium Studio cung cấp một giao diện trực quan để tạo ra các kịch bản kiểm thử tự động. Các nhà phát triển có thể sử dụng tính năng ghi và chạy lại để ghi lại các thao tác của họ trên ứng dụng máy tính, sau đó chạy lại kịch bản để kiểm tra các chức năng và tính năng khác nhau của ứng dụng. Ngoài ra, Appium Studio còn cung cấp các công cụ báo cáo và phân tích mạnh mẽ, giúp các nhà phát triển nhanh chóng xác định và khắc phục các lỗi.

4.1. Thiết Lập Môi Trường Kiểm Thử Kết Nối Thiết Bị Với Cloud

Để bắt đầu kiểm thử ứng dụng máy tính trên Android, cần phải thiết lập môi trường kiểm thử. Quá trình này bao gồm việc cài đặt Appium Studio, kết nối với thiết bị trên Cloud. Bước đầu tiên là cài đặt phần mềm Eclipse Neon sau đó truy cQp Help/Eclipse Marketplace và t=m kiếm từ khóa “Appium Studio” rồi tiến hành cài đặt. Tiếp theo truy câp^ https://seetest.io/ rồi tiến hành đăng ký tài khoản và đăng nhQp. Sau đó Copy lại Access Key rồi Mở Eclipse chọn Cloud/Cloud Connect. Ở thanh URL nhQp https://cloud.io và thanh Access Key là Access Key vừa copy. Để nh=n thấy các thiết bị trên Cloud, ta phải mở thêm cửa sổ “Mobile” bằng cách chọn Window/Perspective/Open perspective/Other và chọn Mobile rồi nhấn OK. Cuối cùng chọn 1 thiết bị để kết nối.

4.2. Xây Dựng Bộ Ca Kiểm Thử Phân Vùng Tương Đương

Sau khi thiết lập môi trường kiểm thử, cần phải xây dựng bộ ca kiểm thử. Bộ ca kiểm thử này sẽ được sử dụng để kiểm tra các chức năng và tính năng khác nhau của ứng dụng máy tính. Một phương pháp hiệu quả để xây dựng bộ ca kiểm thử là sử dụng kỹ thuật phân vùng tương đương. Kỹ thuật này chia các điều kiện đầu vào thành những vùng tương đương nhau. Tất cả các giá trị trong một vùng tương đương sẽ cho một kết quả đầu ra giống nhau. V= vQy chúng ta có thể test một giá trị đại diện trong vùng tương đương. Thiết kế ca kiểm thử bằng kỹ thuQt phân vùng tương đương tiến hành theo 2 bước: Xác định các lớp tương đương: ta chia miền dữ liệu kiểm thử thành các miền con sao cho dữ liệu trong mỗi miền con có cùng tính chất đối với chương tr=nh. Sau khi chia miền dữ liệu của chương tr=nh thành các miền con tương đương, ta chỉ cần chọn một phần tử đại diện của mỗi miền con này làm bộ dữ liệu kiểm thử. Các miền con này chính là các lớp tương đương. Xây dựng các ca kiểm thử tương ứng với mỗi lớp tương đương.

V. Kết Luận Appium Studio Công Cụ Kiểm Thử Tương Lai

Appium Studio là một công cụ kiểm thử tự động mạnh mẽ và linh hoạt, giúp các nhà phát triển tối ưu hóa quy trình kiểm thử của họ. Với tính năng ghi và chạy lại, hỗ trợ đa nền tảng và các công cụ báo cáo và phân tích mạnh mẽ, Appium Studio giúp giảm thiểu thời gian và chi phí kiểm thử, đồng thời nâng cao độ chính xác và tin cậy của quá trình này. Trong tương lai, Appium Studio có thể được sử dụng để kiểm thử các ứng dụng phức tạp hơn, tích hợp với các công cụ phát triển và kiểm thử khác, và hỗ trợ các nền tảng và thiết bị mới. Để phát triển hơn nữa, Appium Studio cần tập trung vào việc cải thiện khả năng tích hợp với các công cụ phát triển và kiểm thử khác, mở rộng hỗ trợ cho các nền tảng và thiết bị mới, và cung cấp các công cụ báo cáo và phân tích mạnh mẽ hơn.

5.1. Tiềm Năng Phát Triển Của Appium Studio Trong Tương Lai

Trong tương lai, Appium Studio có tiềm năng phát triển rất lớn. Với sự phát triển của các công nghệ mới, Appium Studio có thể được sử dụng để kiểm thử các ứng dụng phức tạp hơn, tích hợp với các công cụ phát triển và kiểm thử khác, và hỗ trợ các nền tảng và thiết bị mới. Điều này sẽ giúp các nhà phát triển tạo ra các ứng dụng chất lượng cao hơn, đáp ứng nhu cầu ngày càng cao của người dùng. Thêm vào đó, Appium Studio có thể được sử dụng để kiểm thử các ứng dụng trên các nền tảng mới nổi, chẳng hạn như IoT và AR/VR.

5.2. Đề Xuất Để Nâng Cao Hiệu Quả Appium Studio

Để nâng cao hiệu quả của Appium Studio, cần tập trung vào việc cải thiện khả năng tích hợp với các công cụ phát triển và kiểm thử khác, mở rộng hỗ trợ cho các nền tảng và thiết bị mới, và cung cấp các công cụ báo cáo và phân tích mạnh mẽ hơn. Thêm vào đó, cần phải cung cấp các tài liệu hướng dẫn và đào tạo đầy đủ để giúp các nhà phát triển sử dụng Appium Studio một cách hiệu quả nhất. Theo ý kiến chuyên gia, việc tập trung vào việc cải thiện trải nghiệm người dùng và đơn giản hóa quá trình kiểm thử sẽ giúp Appium Studio trở thành một công cụ kiểm thử hàng đầu trong tương lai.

22/09/2025
Tiểu luận đồ án môn học kiểm thử và đảm bảo chất lượng phần mềm đề tài appium studio

Trích đoạn nội dung tài liệu

CHƯƠNG 1:CÁC KIẾN THỨC CƠ BẢN Trang: 7 Kiểm thử nhằm đánh giá chất lượng hoặc tính chấp nhQn được của sản phẩm. Ngoài ra, kiểm thử còn giúp phát hiện lỗi hoặc bất cứ vấn đề g= về sản phẩm. Chúng ta cần kiểm thử v= biết rằng con người luôn có thể mắc sai lầm. Điều này đặc biệt đúng trong lĩnh vực phát triển phần mềm và các hệ thống điều khiển bởi phần mềm.

Chương này sẽ giới thiệu các khái niệm trong lĩnh vực kiểm thử phần mềm. Phần mềm Phần mềm thường được mô tả bởi ba thành phần cấu thành [1]: - Tập các lệnh (chương tr=nh máy tính) trên máy tính khi thực hiện sẽ tạo ra các dịch vụ và đem lại những kết quả mong muốn cho người dùng. - Các cấu tr"c dữ liệu (lưu giữ trên các bộ nhớ) làm cho chương tr=nh thao tác hiệu quả với các thông tin thích hợp và nội dung thông tin được số hóa. - Các tài liệu để mô tả thao tác, cách sử dụng và bảo tr= phần mềm (hướng dẫn sử dụng, tài liệu kỹ thuQt, tài liệu phân tích, thiết kế, kiểm thử, v.

Kiểm thử phần mềm và một số khái niệm liên quan 2. Kiểm thử phần mềm Kiểm thử phần mềm là một cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ được kiểm thử [2]. Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nh=n độc lQp về phần mềm để từ đó cho phép đánh giá và thấu hiểu được những rủi ro trong quá tr=nh triển khai phần mềm. Trong kỹ thuQt kiểm thử không chỉ giới hạn ở việc thực hiện một chương tr=nh hoặc ứng dụng với mục đích đi t=m các lỗi phần mềm (bao gồm các lỗi và các thiếu sót) mà còn là một quá tr=nh Trang: 8 phê chuẩn và xác minh một chương tr=nh máy tính / ứng dụng / sản phẩm nhằm: Đáp ứng được mọi yêu cầu hướng dẫn khi thiết kế và phát triển phần mềm.

Thực hiện công việc đúng như kỳ vọng. Có thể triển khai được với những đặc tính tương tự. Và đáp ứng được mọi nhu cầu của các bên liên quan. Tùy thuộc vào từng phương pháp, việc kiểm thử có thể được thực hiện bất cứ lúc nào trong quá tr=nh phát triển phần mềm.

Theo truyền thống th= các nỗ lực kiểm thử được tiến hành sau khi các yêu cầu được xác định và việc lQp tr=nh được hoàn tất nhưng trong Agile (là một tQp hợp các phương pháp phát triển phần mềm linh hoạt dựa trên việc lặp đi lặp lại và gia tăng giá trị) th= việc kiểm thử được tiến hành liên tục trong suốt quá tr=nh xây dựng phần mềm. Như vQy, mỗi một phương pháp kiểm thử bị chi phối theo một quy tr=nh phát triển phần mềm nhất định. M t s kh i ni m liên quan Chất lượng phần mềm (Software quality): là mức độ mà một hệ thống, thành phần hay quy tr=nh đáp ứng các yêu cầu của đặc tả phần mềm, các nhu cầu mong đợi của khách hàng hoặc người sử dụng [3]. Đảm bảo chất lượng phần mềm (Software quality assurance): là một quy tr=nh có kế hoạch và hệ thống của tất cả các hành động cần thiết để cung cấp các thông tin đầy đủ để đảm bảo các sản phẩm có phù hợp với các yêu cầu về kỹ thuQt hay không.

Mục đích cuối cùng là để đánh giá quy tr=nh sản xuất sản phẩm phần mềm [3]. Trang: 9 Xác minh, kiểm chứng (Verification): là quá tr=nh đánh giá một hệ thống hay thành phần để xác định xem các sản phẩm của một giai đoạn phát triển nhất định đáp ứng các điều kiện áp đặt tại lúc bắt đầu của giai đoạn đó [3]. Xác minh thường là hoạt động có tính kỹ thuQt cao hơn, sử dụng những tri thức về các yêu cầu, đặc tả phần mềm. Xác nhQn thường phụ thuộc vào tri thức về lĩnh vực tương ứng.

Cụ thể là, tri thức về ứng dụng của phần mềm được viết. Ví dụ, xác nhQn của phần mềm về máy bay yêu cầu tri thức từ kỹ sư hàng không và phi công. Sự cố (Incident): Khi thất bại xuất hiện, nó có thể hiển thị hoặc không, tức là rõ ràng hoặc không rõ ràng đối với người dùng hoặc người kiểm thử. Sự cố là triệu chứng liên kết với một thất bại và thể hiện cho người dùng hoặc người kiểm thử về sự xuất hiện của thất bại này [4].

Ca kiểm thử (Test case): Ca kiểm thử gồm một tQp các dữ liệu đầu vào và một xâu các giá trị đầu ra mong đợi đối với phần mềm, mục đích là dựa vào đó để kiểm tra xem phần mềm có thỏa các yêu cầu đặt ra hay không. Kịch bản kiểm thử (Test script): Một kịch bản kiểm thử là một nhóm mã lệnh dạng đặc tả kịch bản dùng để tự động hóa một quy tr=nh hay một ca kiểm tra, giúp cho việc kiểm tra nhanh hơn, hoặc cho những trường hợp mà kiểm tra bằng tay sẽ rất khó khăn hoặc không khả thi. Trang: 10 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 Mục đích của kiểm thử là thiết kế một chuỗi các trường hợp kiểm thử mà có khả năng phát hiện lỗi cao.

Để cho việc kiểm thử đạt được kết quả tốt cần có sự chuẩn bị về kế hoạch kiểm thử, thiết kế các trường hợp kiểm thử và các dữ liệu kiểm thử cho các trường hợp. Đây chính là đầu vào cho giai đoạn kiểm thử. Và sản phẩm công việc của giai đoạn kiểm thử chính là “báo cáo kiểm thử” mà tài liệu hóa tất cả các trường hợp kiểm thử đã chạy, dữ liệu đầu vào, đầu ra mong đợi, đầu ra thực tế và mục đích của kiểm thử. 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: - LQp kế hoạch kiểm thử: Bước đầu tiên là lQp kế hoạch cho tất cả các hoạt động sẽ được thực hiện và các phương pháp được sử dụng.

Các chuẩn IEEE bao gồm các thông tin về tác giả chuẩn bị kế hoạch, danh sách liệt kê của kế hoạch kiểm thử. Vấn đề quan trọng nhất đối với kế hoạch kiểm thử: Trang: 11 Mục đích: Quy định về phạm vi, phương pháp, tài nguyên và lịch biểu của các hoạt động kiểm thử. Các tài liệu tham khảo. Khái quát về xác minh và thẩm định (V&V): tổ chức, tài nguyên, trách nhiệm, các công cụ, kỹ thuQt và các phương pháp luQn.

Vòng đời của V&V: các nhiệm vụ, các dữ liệu vào và các kết quả ra trên một giai đoạn vòng đời. Báo cáo xác minh và thẩm định(V&V) phần mềm: mô tả nội dung, định dạng và thời gian cho tất cả các báo cáo V&V. Các thủ tục quản lý V&V bao gồm các chính sách, thủ tục, các chuẩn, thực nghiệm và các quy ước. - Giai đoạn bố trí nhân viên kiểm thử: Việc kiểm thử thường phải tiến hành một cách độc lQp và các nhóm độc lQp có trách nhiệm tiến hành các họat động kiểm thử, gọi là các nhóm kiểm thử.

- Thiết kế các trường hợp kiểm thử: Các trường hợp kiểm thử là các đặc tả đầu vào cho kiểm thử và đầu ra mong đợi của hệ thống cùng với các câu lệnh được kiểm thử. Các kỹ thuQt kiểm thử hộp đen để kiểm thử dựa trên chức năng. Các kỹ thuQt kiểm thử hộp trắng để kiểm thử dựa vào cấu trúc bên trong. - Xử lý đo lường kiểm thử bằng cách thu thQp dữ liệu.

- Đánh giá sản phẩm phần mềm để xác nhQn sản phẩm có thể sẵn sàng phát hành được chưa? 4. Các cấp độ kiểm thử Các mức kiểm thử phần mềm thông thường: - Unit Test – Kiểm thử mức đơn vị Trang: 12 - Integration Test – Kiểm thử tích hợp - System Test - Kiểm thử mức hệ thống - Acceptance Test - Kiểm thử chấp nhQn sản phẩm - Regression Test - Kiểm thử hồi quy 4. Kiểm thử mức đơn vị Một đơn vị kiểm thử là một thành phần phần mềm nhỏ nhất mà ta có thể kiểm thử được. Theo định nghĩa này, các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc các phương thức (Method) đều có thể được xem là đơn vị kiểm thử.

V= đơn vị kiểm thử được chọn để kiểm thử thường có kích thước nhỏ và chức năng hoạt động đơn giản, chúng ta không khó khăn g= trong việc tổ chức, kiểm thử, ghi nhQn và phân tích kết quả kiểm thử. Nếu phát hiện lỗi, việc xác định nguyên nhân và khắc phục cũng tương đối dễ dàng v= chỉ khoanh vùng trong một đơn vị đang kiểm thử. Một nguyên lý đúc kết từ thực tiễn: thời gian tốn cho Kiểm thử đơn vị sẽ được đền bù bằng việc tiết kiệm rất nhiều thời gian và chi phí cho việc kiểm thử và sửa lỗi ở các mức kiểm thử sau đó. Kiểm thử đơn vị thường do lQp tr=nh viên thực hiện.

Công đoạn này cần được thực hiện càng sớm càng tốt trong giai đoạn viết code và xuyên suốt chu kỳ phát triển phần mềm. Thông thường, Kiểm thử đơn vị đòi hỏi kiểm thử viên có kiến thức về thiết kế và mã nguồn của chương tr=nh. Mục đích của Kiểm thử đơn vị là bảo đảm thông tin được xử lý và xuất ra là chính xác, trong mối tương quan với dữ liệu nhQp và chức năng của đơn vị kiểm thử. Điều này thường đòi hỏi tất cả các nhánh bên trong đơn vị kiểm thử đều phải được kiểm tra để phát hiện nhánh phát sinh lỗi.

Một nhánh thường là một chuỗi các lệnh được thực thi trong một đơn vị kiểm thử, ví dụ: chuỗi các lệnh sau điều kiện If và nằm giữa then … else là một nhánh. Thực tế việc chọn lựa các nhánh để đơn giản hóa việc kiểm thử và quét hết các đơn vị Trang: 13 kiểm thử đòi hỏi phải có kỹ thuQt, đôi khi phải dùng thuQt toán để chọn lựa. Cũng như các mức kiểm thử khác, Kiểm thử đơn vị cũng đòi hỏi phải chuẩn bị trước các ca kiểm thử hoặc kịch bản kiểm thử, trong đó chỉ định rõ dữ liệu vào, các bước thực hiện và dữ liệu mong chờ sẽ xuất ra. Các ca kiểm thử và kịch bản này nên được giữ lại để tái sử dụng.

Kiểm thử đơn vị thường sử dụng các Unit Test Framework, đó là các khung chương tr=nh được viết sẵn để hộ trợ cho việc test các mô đun, các đơn vị phần mềm. Kiểm thử tích hợp Kiểm thử tích hợp kết hợp các thành phần của một ứng dụng và kiểm thử như một ứng dụng đã hoàn thành.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ