Luận văn thạc sĩ: Xây dựng hệ thống kiểm thử tự động cho các giai đoạn cài đặt phần mềm

Luận văn thạc sĩ nghiên cứu vnu uet xây dựng hệ thống kiểm thử tự động cho các giai đoạn cài đặt phần mềm, đánh giá hiện trạng, phân tích vấn đề, đề xuất biện pháp hoàn thiện

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2011

65
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

1. CHƯƠNG 1: MỞ ĐẦU

1.1. Sự cần thiết của đề tài

1.2. Nội dung của luận văn

1.3. Cấu trúc của luận văn

2. CHƯƠNG 2: TỔNG QUAN VỀ KIỂM THỬ TỰ ĐỘNG

2.1. Khái niệm về kiểm thử tự động

2.2. Sự khác nhau giữa kiểm thử và kiểm thử tự động

2.3. Các bước thực hiện kiểm thử tự động

2.3.1. Đánh giá mức độ tự động hóa

2.3.2. Tiến trình tự động hóa

2.4. Các loại công cụ kiểm thử tự động

3. MÔ TẢ BÀI TOÁN VÀ YÊU CẦU

3.1. Giới thiệu hệ thống thông tin SEC

3.2. Định nghĩa các giai đoạn cài đặt

3.3. Vấn đề của hệ thống SEC

3.4. Đặc tả yêu cầu

3.5. Các công cụ cần thiết

3.6. Kịch bản cài đặt và gỡ cài đặt

3.7. Tự động hóa cài đặt và gỡ cài đặt

4. THIẾT KẾ CHƯƠNG TRÌNH

4.1. Chi tiết về chức năng

4.2. Mục tiêu của HTKTTĐ

4.3. Phạm vi tự động hóa

4.4. Thiết kế chức năng

4.4.1. Thiết kế tổng quan

4.4.2. Thiết kế chi tiết

5. CÀI ĐẶT VÀ ĐÁNH GIÁ

5.1. Một số giao diện của hệ thống

5.1.1. Giao diện quản lý file kiểm thử

5.1.2. Giao diện quản lý test case

5.1.3. Giao diện quản lý bộ cài đặt

5.2. Đánh giá năng suất

5.3. Các bước thực hiện kiểm thử

5.4. Phương pháp đánh giá

6. TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về hệ thống kiểm thử tự động cho cài đặt phần mềm

Hệ thống kiểm thử tự động cho cài đặt phần mềm là một giải pháp quan trọng trong việc nâng cao hiệu quả và chất lượng của quy trình phát triển phần mềm. Kiểm thử tự động giúp phát hiện lỗi nhanh chóng và giảm thiểu chi phí kiểm thử. Việc áp dụng hệ thống này không chỉ giúp tiết kiệm thời gian mà còn đảm bảo tính chính xác trong quá trình kiểm thử.

1.1. Khái niệm về kiểm thử tự động và lợi ích

Kiểm thử tự động là quá trình sử dụng các công cụ và kỹ thuật để tự động hóa các hoạt động kiểm thử phần mềm. Lợi ích của kiểm thử tự động bao gồm tăng tốc độ kiểm thử, giảm thiểu lỗi và tiết kiệm chi phí. Theo nghiên cứu, việc áp dụng kiểm thử tự động có thể giảm thời gian kiểm thử xuống 50%.

1.2. Các loại công cụ kiểm thử tự động phổ biến

Có nhiều loại công cụ kiểm thử tự động, bao gồm công cụ quản lý thông tin kiểm thử, công cụ thực thi kiểm thử, và công cụ sinh kiểm thử. Mỗi loại công cụ có chức năng riêng, giúp hỗ trợ các giai đoạn khác nhau trong quy trình kiểm thử.

II. Vấn đề và thách thức trong kiểm thử tự động phần mềm

Mặc dù kiểm thử tự động mang lại nhiều lợi ích, nhưng cũng tồn tại nhiều thách thức. Việc lựa chọn công cụ phù hợp, chi phí đầu tư ban đầu cao và yêu cầu kỹ năng chuyên môn là những vấn đề cần được giải quyết. Ngoài ra, việc duy trì và cập nhật các kịch bản kiểm thử cũng là một thách thức lớn.

2.1. Chi phí và đầu tư cho kiểm thử tự động

Chi phí đầu tư cho kiểm thử tự động có thể cao, đặc biệt là trong giai đoạn đầu. Tuy nhiên, nếu được thực hiện đúng cách, chi phí này sẽ được bù đắp bởi lợi ích lâu dài mà nó mang lại. Theo một nghiên cứu, các tổ chức có thể tiết kiệm tới 30% chi phí kiểm thử khi áp dụng kiểm thử tự động.

2.2. Kỹ năng và đào tạo cho đội ngũ kiểm thử

Để triển khai kiểm thử tự động hiệu quả, đội ngũ kiểm thử cần có kỹ năng chuyên môn cao. Việc đào tạo và nâng cao kỹ năng cho nhân viên là rất cần thiết. Các khóa học và chứng chỉ về kiểm thử tự động có thể giúp nâng cao năng lực cho đội ngũ này.

III. Phương pháp triển khai hệ thống kiểm thử tự động

Để triển khai hệ thống kiểm thử tự động, cần thực hiện theo một quy trình rõ ràng. Các bước bao gồm lập kế hoạch, thiết kế, phát triển và triển khai công cụ kiểm thử. Mỗi bước cần được thực hiện cẩn thận để đảm bảo hiệu quả của hệ thống.

3.1. Lập kế hoạch tự động hóa kiểm thử

Lập kế hoạch là bước đầu tiên trong quy trình tự động hóa kiểm thử. Cần xác định rõ mục tiêu, yêu cầu và các đối tượng cần tự động hóa. Kế hoạch này sẽ giúp định hướng cho toàn bộ quá trình triển khai.

3.2. Thiết kế và phát triển công cụ kiểm thử

Sau khi lập kế hoạch, bước tiếp theo là thiết kế và phát triển công cụ kiểm thử. Cần lựa chọn công cụ phù hợp và đảm bảo rằng nó đáp ứng được các yêu cầu đã đề ra. Việc phát triển công cụ cần được thực hiện bởi những người có kinh nghiệm để đảm bảo chất lượng.

IV. Ứng dụng thực tiễn của hệ thống kiểm thử tự động

Hệ thống kiểm thử tự động đã được áp dụng thành công trong nhiều dự án phần mềm. Các tổ chức đã ghi nhận sự cải thiện rõ rệt về chất lượng sản phẩm và giảm thiểu thời gian kiểm thử. Việc áp dụng kiểm thử tự động không chỉ giúp phát hiện lỗi sớm mà còn nâng cao độ tin cậy của phần mềm.

4.1. Kết quả nghiên cứu từ các dự án thực tế

Nhiều nghiên cứu đã chỉ ra rằng việc áp dụng kiểm thử tự động giúp giảm thiểu lỗi và tăng cường chất lượng sản phẩm. Một nghiên cứu tại một công ty phần mềm lớn cho thấy, sau khi áp dụng kiểm thử tự động, tỷ lệ lỗi giảm xuống 40%.

4.2. Các trường hợp thành công trong kiểm thử tự động

Có nhiều trường hợp thành công trong việc áp dụng kiểm thử tự động. Các công ty như Google và Microsoft đã sử dụng kiểm thử tự động để nâng cao chất lượng sản phẩm của họ. Những thành công này đã chứng minh rằng kiểm thử tự động là một giải pháp hiệu quả cho các vấn đề trong kiểm thử phần mềm.

V. Kết luận và tương lai của hệ thống kiểm thử tự động

Hệ thống kiểm thử tự động đang ngày càng trở nên quan trọng trong quy trình phát triển phần mềm. Tương lai của kiểm thử tự động hứa hẹn sẽ có nhiều cải tiến với sự phát triển của công nghệ. Việc áp dụng trí tuệ nhân tạo và machine learning vào kiểm thử tự động sẽ mở ra nhiều cơ hội mới.

5.1. Xu hướng phát triển của kiểm thử tự động

Xu hướng phát triển của kiểm thử tự động đang hướng tới việc tích hợp trí tuệ nhân tạo. Điều này sẽ giúp nâng cao khả năng phát hiện lỗi và tối ưu hóa quy trình kiểm thử. Các công cụ kiểm thử tự động trong tương lai sẽ ngày càng thông minh và tự động hóa nhiều hơn.

5.2. Những thách thức trong tương lai

Mặc dù có nhiều cơ hội, nhưng cũng tồn tại nhiều thách thức trong việc triển khai kiểm thử tự động. Cần phải giải quyết các vấn đề về chi phí, kỹ năng và công nghệ để đảm bảo rằng kiểm thử tự động có thể phát huy tối đa hiệu quả của nó.

22/07/2025
Luận văn thạc sĩ vnu uet xây dựng hệ thống kiểm thử tự động cho các giai đoạn cài đặt phần mềm

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

Mở đầu Chương này trình bày lý do và mục đích của đề tài, các đóng góp chính mà đề tài đem lại cũng như kết cấu của đề tài. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2 Chƣơng 2. Tổng quan về kiểm thử tự động Chương này trình bày khái niệm về kiểm thử tự động, vai trò và lợi ích khi ứng dụng kiểm thử tự động trong hoạt động kiểm thử phần mềm. Chương này cũng trình bày các bước để phát triển một công cụ kiểm thử tự động cũng như các vấn đề có thể gặp phải trong quá trình phát triển.

Mô tả bài toán và yêu cầu Chương này giới thiệu sơ lược với bạn đọc về hệ thống thông tin có tên là SEC. Lý do cần thiết phải xây dựng hệ thống kiểm thử tự động để kiểm thử cho hệ thống SEC. Ngoài ra, cũng sẽ phân tích, đặc tả để làm rõ các yêu cầu mà hệ thống kiểm thử tự động phải đáp ứng, làm cơ sở cho việc phân tích, thiết kế và phát triển ứng dụng về sau. Thiết kế chƣơng trình Dựa trên các đặc tả yêu cầu đã được làm rõ ở chương 3, trong chương này, chúng tôi sẽ trình bày từng bước phân tích, thiết kế và phát triển các chức năng của hệ thống.

Cài đặt và đánh giá Trong chương này, chúng tôi sẽ trình bày kết quả đạt được khi đưa hệ thống kiểm thử tự động ứng dụng vào hoạt động kiểm thử cho hệ thống SEC. Kết luận Trong chương này, chúng tôi sẽ tổng kết lại các kết quả và đóng góp mà việc thực hiện đề tài đem lại. Ngoài ra, chúng tôi cũng đề xuất các phương hướng nghiên cứu tiếp theo, nhằm giúp cho đề tài trở nên hoàn thiện hơn. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3 Chương 2 Tổng quan về kiểm thử tự động 2.

Khái niệm về kiểm thử tự động Kiểm thử tự động là một khái niệm liên quan đến các hoạt động và kỹ thuật tự động hóa trong tiến trình kiểm thử phần mềm. Kiểm thử tự động sử dụng các công cụ và giải pháp để nhằm đạt được các mục tiêu về tốc độ, chất lượng, hiệu quả và chi phí trong tiến trình kiểm thử [10]. Lợi ích Dưới đây là một số lợi ích của kiểm thử tự động [4]: Kiểm thử hồi qui cho một phiên bản mới của chương trình. Điều này là hiển nhiên, đặc biệt là trong điều kiện các chương trình thường xuyên bị thay đổi.

Giả thiết rằng các test cases đã tồn tại và đã được chạy tự động ở một phiên bản trước đó, thì ở các phiên bản tiếp theo, chỉ cần lựa chọn các test cases phù hợp và một chút chi phí cho việc hướng dẫn sử dụng công cụ là có thể thực hiện được việc kiểm thử. Chạy được nhiều ca kiểm thử và thường xuyên hơn. Với việc kiểm thử tự động, sẽ có nhiều ca kiểm thử được thực hiện trong khoảng thời gian ít hơn, và do đó các ca kiểm thử cũng được thực hiện thường xuyên hơn. Điều này sẽ làm tăng cường tính tin cậy của hệ thống [8].

Cho phép hoàn thành kiểm thử đối với các test cases mà rất khó hoặc không thể khi thực hiện bằng tay. Ví dụ: việc cố gắng hoàn thành đúng như thực tế một ca kiểm thử của hệ thống với 200 người dùng cùng trực tuyến (online) có thể không thực hiện được nếu thực hiện kiểm thử bằng tay. Nhưng 200 người dùng này có thể được giả lập bằng các công cụ kiểm thử tự động. Khi kiểm thử bằng tay, kết quả mong muốn thường là những nội dung rõ ràng mà người kiểm thử có thể quan sát.

Tuy nhiên, có những thuộc tính rất khó để có thể xác nhận theo cách bình thường. Ví dụ đối tượng GUI có thể gây ra một sự kiện nào đó, mà ảnh hưởng của nó không được output ngay lập tức. Nhưng nếu sử dụng công cụ kiểm thử thì ta có thể kiểm tra được sự kiện như vậy [11]. Sử dụng tài nguyên (resources) tốt hơn.

Tự động hóa giúp nâng cao độ chính sác và giải tỏa tinh thần cho người thực hiện kiểm thử. Giúp kiểm thử viên có có nhiều thời gian hơn cho việc lập kế hoạch, thiết kế test case… LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 Mặt khác, với kiểm thử tự động thì máy kiểm thử có thể được sử dụng để chạy kiểm thử vào những lúc rảnh rỗi. Đảm bảo tính nhất quán của kiểm thử. Kiểm thử tự động sẽ được thực hiện lặp đi lặp lại một cách chính xác ở tất cả các lần kiểm thử (ít nhất là dữ liệu đầu vào sẽ không bị thay đổi, kết quả đầu ra thì có thể khác nhau do thời gian thực hiện).

Điều này tạo ra sự nhất quán giữa các lần kiểm thử, điều rất khó đạt được nếu thực hiện bằng tay. Các test cases giống nhau có thể được thực hiện trên các phần cứng, hệ điều hành hoặc cơ sở dữ liệu khác nhau. Điều này tạo nên sự nhất quán về chất lượng trên các nền tảng khác nhau của sản phẩm. Điều rất khó đạt được nếu thực hiện kiểm thử bằng tay (kiểm thử thủ công).

Việc áp dụng chế độ kiểm thử tốt có thể đảm bảo các tiêu chuẩn phù hợp cho kiểm thử và phát triển. Ví dụ, công cụ kiểm thử có thể được sử dụng để kiểm tra cùng một loại tính năng đã được thực hiện theo cùng một cách ở tất cả các ứng dụng hoặc chương trình khác nhau. Tái sử dụng các ca kiểm thử. Có thể thực hiện kiểm thử nhiều lần mà không mất chi phí để quyết định cái gì sẽ được kiểm thử, thiết kế ca kiểm thử, xây dựng các ca kiểm thử hay đảm bảo tính chính xác của kiểm thử.

Rút ngắn thời gian phát triển sản phẩm. Khi mà các test cases được kiểm thử tự động, nó có thể được thực hiện lặp đi lặp lại một cách nhanh chóng, vì vậy sẽ rút ngắn được thời gian kiểm thử. Và qua đó cũng có thể rút ngắn được thời gian phát triển sản phẩm và đưa sản phẩm ra thị trường (Điều này còn tùy thuộc vào việc khắc phục lỗi, tính khả dụng của chương trình) [9]. Tăng tính tin cậy.

Khi một số lượng lớn các ca kiểm thử tự động được thực hiện thành công, nó sẽ tăng cường mức độ đảm bảo rằng hệ thống sẽ được phát hành mà không có vấn đề gì. Tóm lại, với kiểm thử tự động, chúng ta có thể thực hiện kiểm thử với chi phí ít hơn, và chất lượng, năng suất cao hơn. Sự khác nhau giữa kiểm thử và kiểm thử tự động 2. Kiểm thử Kiểm thử là một kỹ năng.

Đối với bất kỳ một hệ thống nào, đều có một số trường hợp mà nếu thực hiện kiểm thử sẽ phát hiện được hầu hết các lỗi của phần mềm. Vì vậy, việc lựa chọn test case nào để chạy là một vấn đề quan trọng. Thực tiễn cũng như kinh nghiệm đã chỉ ra rằng việc lựa chọn ngẫu nhiên các test cases là cách tiếp cận LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 không hiệu quả. Nên tiếp cận một cách thận trọng, có hệ thống để có thể tạo ra được các test cases tốt.

Vậy, thế nào là một test case tốt. Có bốn thuộc tính miêu tả chất lượng của một test case: - Khả năng phát hiện lỗi. - Tính chuẩn (exemplary): một test case chuẩn nên thực hiện kiểm thử nhiều hơn một tiêu chí, như vậy sẽ làm giảm thiểu tổng số test cases cần thiết. - Chi phí thực hiện: chi phí bỏ ra để thực hiện test case, điều tra, phân tích nguyên nhân lỗi.

- Chi phí cập nhật test case: chi phí bỏ ra cho việc cập nhật nội dung test case mỗi khi phần mềm thay đổi. Bốn thuộc tính này cần phải cân bằng với nhau. Vì nếu một test case thực hiện kiểm thử quá nhiều tiêu chí, cũng đồng nghĩa với việc sẽ mất nhiều chi phí cho việc thực hiện, điều tra, phân tích hay cập nhật test case mỗi khi phần mềm thay đổi [1]. Vì vậy, các kỹ năng kiểm thử không chỉ đơn thuần là làm sao để thiết kế các test cases có khả năng phát hiện được lỗi cao nhất mà còn là làm sao để thiết kế các test cases với chi phí thấp nhất [3].

Kiểm thử tự động Kiểm thử tự động cũng là một kỹ năng nhưng nó khác với kỹ năng kiểm thử. Việc kiểm thử tự động thì tốn kém hơn kiểm thử bằng tay rất nhiều nếu chỉ thực hiện một lần. Để đạt được lợi ích, kiểm thử tự động cần phải được lựa chọn và thực thi một cách cẩn thận. Cho dù kiểm thử là tự động hoặc bằng tay thì đều ảnh hưởng đến chất lượng của quá trình kiểm thử.

Khi đề cập đến kiểm thử tự động, vấn đề quan tâm không phải là thực hiện nó như thế nào mà là quá trình tự động hóa kiểm thử sẽ ảnh hưởng như thế nào tới chi phí và khả năng nâng cấp về sau. Mỗi lần thực hiện tự động hóa sẽ làm phát sinh rất nhiều chi phí, chi phí cho việc chạy nó chỉ là một phần nhỏ đối với chi phí để thực hiện bằng tay. Tuy nhiên, kiểm thử tự động thường mất nhiều chi phí cho việc tạo và bảo trì. Cách tiếp cận tốt để làm giảm chi phí cho việc tự động hóa kiểm thử là thực thi nó trong một thời gian dài Hình 2.1 thể hiện 4 thuộc tính chất lượng của một test case trong sơ đồ Keviat.

Trường hợp thực hiện kiểm thử bằng tay được thể hiện bằng đường đậm. Khi được tiến hành lần đầu, kiểm thử tự động sẽ kém hiệu quả (mất nhiều chi phí để tự động), LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 nhưng sau một số lần thực hiện thì nó sẽ hiệu quả hơn việc thực hiện kiểm thử bằng tay. Để đạt được tính hiệu quả và đưa ra bộ test case (test suite) phù hợp, cần phải bắt đầu với các thành phần thô của một bộ test case tốt, sử dụng các kỹ năng kiểm thử để tạo nên bộ test case thực hiện những thứ quan trọng nhất. Sau đó phải ứng dụng các kỹ thuật tự động để tự động hóa theo cách mà chúng có thể được tạo và bảo trì với chi phí hợp lý.

Hiệu quả(effective) Chi phí Chí phí cập nhật (economic) (evolvable) Tính chuẩn(exemplary) Kiểm thử bằng tay Lần đầu kiểm thử tự động Kiểm thử tự động (sau nhiều lần) Hình 2. Bốn thuộc tính của test case Người phát triển và bảo trì công cụ kiểm thử tự động gọi là “Test automator”. Một “Test automator” có thể/không phải là Kiểm thử viên, có thể/không phải làm một thành viên của nhóm kiểm thử.

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