1. Trang chủ
  2. » Luận Văn - Báo Cáo

(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

65 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 1,24 MB

Cấu trúc

  • Chương 2. Tổng quan về kiểm thử tự động (7)
    • 2.1. Khái niệm về kiểm thử tự động (9)
    • 2.2. Lợi ích (9)
    • 2.3. Sự khác nhau giữa kiểm thử và kiểm thử tự động (10)
      • 2.3.1. Kiểm thử (10)
      • 2.3.2. Kiểm thử tự động (11)
    • 2.4. Các bước thực hiện kiểm thử tự động (13)
      • 2.4.1. Đánh giá mức độ tự động hóa (13)
      • 2.4.2 Tiến trình tự động hóa (14)
    • 2.5. Các loại công cụ kiểm thử tự động (15)
  • Chương 3. Mô tả bài toán và yêu cầu (8)
    • 3.1. Giới thiệu hệ thống thông tin SEC (18)
    • 3.2. Định nghĩa các giai đoạn cài đặt (19)
    • 3.3. Vấn đề của hệ thống SEC (19)
    • 3.4. Yêu cầu (20)
    • 3.5. Đặc tả yêu cầu (20)
      • 3.5.1. Các công cụ cần thiết (20)
      • 3.5.2. Kịch bản cài đặt và gỡ cài đặt (22)
      • 3.5.3. Tự động hóa cài đặt và gỡ cài đặt (23)
      • 3.5.4. Log output (25)
  • Chương 4. Thiết kế chương trình (8)
    • 4.1. Chi tiết về chức năng (26)
    • 4.2. Phạm vi (26)
      • 4.2.1. Mục tiêu của HTKTTĐ (26)
      • 4.2.3. Phạm vi tự động hóa (27)
    • 4.3. Thiết kế chức năng (27)
      • 4.3.1 Thiết kế tổng quan (27)
      • 4.3.2. Thiết kế chi tiết (32)
  • Chương 5. Cài đặt và đánh giá (8)
    • 5.1. Một số giao diện của hệ thống (55)
      • 5.1.1. Giao diện quản lý file kiểm thử (55)
      • 5.1.2. Giao diện quản lý test case (56)
      • 5.1.3. Giao diện quản lý bộ cài đặt (57)
    • 5.2. Đánh giá năng suất (58)
      • 5.2.1. Các bước thực hiện kiểm thử (58)
      • 5.2.2. Phương pháp đánh giá (59)
      • 5.2.3. Kết quả (59)

Nội dung

Tổng quan về kiểm thử tự động

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

Kiểm thử tự động là quy trình tự động hóa trong kiểm thử phần mềm, sử dụng công cụ và giải pháp nhằm nâng cao tốc độ, chất lượng, hiệu quả và giảm chi phí.

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 quy là cần thiết cho các phiên bản mới của chương trình, đặc biệt khi các chương trình thường xuyên thay đổi Nếu các test cases đã tồn tại và được chạy tự động ở phiên bản trước, việc lựa chọn các test cases phù hợp cho các phiên bản tiếp theo chỉ cần một chút chi phí cho việc hướng dẫn sử dụng công cụ.

Kiểm thử tự động cho phép thực hiện nhiều ca kiểm thử trong thời gian ngắn hơn, giúp tăng tần suất kiểm thử Điều này không chỉ tiết kiệm thời gian mà còn nâng cao độ tin cậy của hệ thống.

Kiểm thử tự động cho phép thực hiện các test cases mà khó hoặc không thể thực hiện bằng tay Chẳng hạn, việc mô phỏng một ca kiểm thử với 200 người dùng trực tuyến là điều không khả thi khi kiểm thử thủ công Tuy nhiên, điều này có thể dễ dàng thực hiện thông qua các công cụ kiểm thử tự động, giúp tăng tính chính xác và hiệu quả trong quá trình kiểm thử.

Khi thực hiện kiểm thử bằng tay, người kiểm thử thường mong đợi những kết quả rõ ràng và dễ quan sát Tuy nhiên, một số thuộc tính khó xác nhận bằng phương pháp thông thường, chẳng hạn như các sự kiện GUI có thể tạo ra tác động không ngay lập tức Sử dụng công cụ kiểm thử sẽ giúp xác định và kiểm tra những sự kiện này một cách hiệu quả hơn.

Tối ưu hóa việc sử dụng tài nguyên là rất quan trọng Tự động hóa không chỉ nâng cao độ chính xác trong quy trình kiểm thử mà còn giảm bớt áp lực cho người thực hiện Điều này cho phép kiểm thử viên có thêm thời gian để tập trung vào việc lập kế hoạch và thiết kế các test case hiệu quả hơn.

Kiểm thử tự động cho phép máy kiểm thử hoạt động vào những thời điểm rảnh rỗi, đảm bảo tính nhất quán trong quá trình kiểm thử Các bài kiểm thử được thực hiện lặp đi lặp lại một cách chính xác, với dữ liệu đầu vào không thay đổi, mặc dù kết quả đầu ra 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 mà khó có thể đạt được khi thực hiện bằng tay.

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

Áp dụng chế độ kiểm thử hiệu quả giúp đảm bảo tiêu chuẩn chất lượng cho quá trình kiểm thử và phát triển Chẳng hạn, các công cụ kiểm thử có thể kiểm tra tính năng tương tự được triển khai đồng nhất trên nhiều ứng dụng hoặc chương trình khác nhau.

Tái sử dụng các ca kiểm thử giúp tiết kiệm chi phí và thời gian, cho phép thực hiện kiểm thử nhiều lần mà không cần phải xác định lại nội dung kiểm thử, thiết kế ca kiểm thử, hoặc xây dựng các ca kiểm thử mới Điều này đảm bảo tính chính xác và hiệu quả trong quá trình kiểm thử phần mềm.

Rút ngắn thời gian phát triển sản phẩm là một lợi ích quan trọng khi áp dụng kiểm thử tự động cho các test cases Việc kiểm thử tự động cho phép thực hiện nhanh chóng và lặp đi lặp lại, từ đó giảm thiểu thời gian kiểm thử Điều này không chỉ giúp đẩy nhanh quá trình phát triển sản phẩm mà còn tạo điều kiện đưa sản phẩm ra thị trường sớm hơn, mặc dù thời gian ra mắt còn phụ thuộc vào việc khắc phục lỗi và tính khả dụng của chương trình.

Tăng cường tính tin cậy của hệ thống bằng cách thực hiện thành công một lượng lớn các ca kiểm thử tự động, đảm bảo rằng sản phẩm sẽ được phát hành mà không gặp phải vấn đề nào.

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

Kiểm thử là một kỹ năng quan trọng trong việc phát hiện lỗi của phần mềm Việc lựa chọn các trường hợp kiểm thử phù hợp là yếu tố then chốt để đảm bảo chất lượng của hệ thống Thay vì lựa chọn các test case một cách ngẫu nhiên, chúng ta nên áp dụng phương pháp tiếp cận có hệ thống và thận trọng để tạo ra các test case hiệu quả.

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 được cân bằng để tránh việc một test case kiểm thử quá nhiều tiêu chí, điều này có thể dẫn đến chi phí cao trong việc thực hiện, điều tra, phân tích và cập nhật test case khi phần mềm thay đổi.

Kỹ năng kiểm thử không chỉ tập trung vào việc thiết kế các test cases hiệu quả trong việc phát hiện lỗi, mà còn cần chú trọng đến việc tối ưu hóa chi phí khi phát triển những test cases này.

Kiểm thử tự động là một kỹ năng riêng biệt, khác với kỹ năng kiểm thử truyền thống Mặc dù kiểm thử tự động có chi phí cao hơn so với kiểm thử thủ công khi chỉ thực hiện một lần, nhưng để thu được lợi ích tối đa, quá trình này cần được lựa chọn và thực hiện một cách cẩn thận.

Kiểm thử, dù là tự động hay thủ công, đều ảnh hưởng đến chất lượng quy trình Khi nói đến kiểm thử tự động, điều quan trọng không chỉ là cách thực hiện mà còn là tác động của tự động hóa đến chi phí và khả năng nâng cấp sau này Mặc dù chi phí chạy kiểm thử tự động chỉ là một phần nhỏ so với kiểm thử thủ công, nhưng việc tạo và duy trì kiểm thử tự động thường tốn kém hơn nhiều Để giảm chi phí tự động hóa, nên thực hiện kiểm thử trong thời gian dài.

Hình 2.1 minh họa bốn thuộc tính chất lượng của một test case trong sơ đồ Keviat Kiểm thử bằng tay được thể hiện bằng đường đậm, trong khi kiểm thử tự động ban đầu có thể tốn kém và kém hiệu quả Tuy nhiên, sau một vài lần thực hiện, kiểm thử tự động sẽ trở nên hiệu quả hơn so với kiểm thử bằng tay Để tối ưu hóa hiệu quả và xây dựng bộ test case phù hợp, cần bắt đầu từ các thành phần thô của test case tốt, áp dụng kỹ năng kiểm thử để phát triển các test case quan trọng nhất Cuối cùng, cần ứng dụng các kỹ thuật tự động hóa nhằm đảm bảo khả năng tạo ra và bảo trì với chi phí hợp lý.

Hình 2.1 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 được gọi là “Test automator” Một “Test automator” có thể không phải là Kiểm thử viên và cũng không nhất thiết phải là thành viên của nhóm kiểm thử Chẳng hạn, trong một nhóm kiểm thử, có thể có các Kiểm thử viên có hiểu biết về nghiệp vụ nhưng không có kỹ năng phát triển Trong trường hợp này, một Người phát triển (Developer) có thể hỗ trợ nhóm kiểm thử trong việc xây dựng và bảo trì các công cụ kiểm thử tự động theo thiết kế kiểm thử của nhóm Người phát triển này được xem là một “Test automator”.

Chất lượng kiểm thử có thể tốt hoặc kém, điều này phụ thuộc vào kỹ năng kiểm thử của người kiểm thử

Kiểm thử bằng tay Lần đầu kiểm thử tự động Kiểm thử tự động (sau nhiều lần)

Chí phí cập nhật (evolvable)

Chất lượng của kiểm thử tự động có thể dao động từ tốt đến kém, tùy thuộc vào kỹ năng của người thực hiện Để đạt được hiệu quả tối ưu trong kiểm thử tự động, cần chú trọng vào việc tạo ra và duy trì quy trình kiểm thử một cách dễ dàng, nhằm mang lại lợi ích và hiệu quả cao nhất.

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

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

Trước khi bắt đầu tự động hóa kiểm thử phần mềm, cần kiểm tra quy trình kiểm thử hiện tại và các hoạt động kỹ thuật để xác định các bộ phận có thể được tự động hóa Bài viết đề xuất một lược đồ với 5 mức cơ bản để đánh giá khả năng tự động hóa.

Mức độ 0 trong quy trình kiểm thử không sử dụng bất kỳ công cụ kiểm thử nào, hoàn toàn dựa vào việc thực hiện thủ công.

Mức 1: Khởi tạo là giai đoạn quan trọng trong quy trình kiểm thử phần mềm, nơi cung cấp các kỹ thuật, giải pháp và công cụ cần thiết để tạo, cập nhật và quản lý thông tin kiểm thử Giai đoạn này bao gồm việc quản lý yêu cầu, test cases, dữ liệu, kết quả, kịch bản và báo cáo về các vấn đề Tuy nhiên, không có công cụ hay giải pháp nào hỗ trợ kỹ thuật cho việc thiết kế kiểm thử, sinh test case và thực hiện kiểm thử trong giai đoạn này.

Mức 2 của quy trình kiểm thử phần mềm được gọi là lặp lại (repeatable), nơi cung cấp kỹ thuật và công cụ để quản lý thông tin đa dạng trong kiểm thử Nó cho phép thực hiện kiểm thử một cách hệ thống thông qua các giải pháp và kỹ thuật cụ thể, đồng thời kiểm tra kết quả kiểm thử Tuy nhiên, mức này thiếu các công cụ hỗ trợ thiết kế kiểm thử và sinh test case, cũng như không có công cụ để đo lường khả năng kiểm thử và hiệu quả của quy trình kiểm thử theo các tiêu chuẩn đã được xác định trước.

Mức 3 trong quy trình kiểm thử phần mềm được gọi là tự động, nơi không chỉ sử dụng các công cụ quản lý và thực thi kiểm thử mà còn tích hợp các công cụ sinh test case và kịch bản kiểm thử Mặc dù tiến trình này nâng cao hiệu quả kiểm thử, nhưng vẫn chưa có giải pháp để đo lường khả năng và hiệu quả của quá trình kiểm thử phần mềm.

Mức 4: Tối ưu trong tự động hóa kiểm thử phần mềm mang lại giải pháp hệ thống cho ba loại độ đo kiểm thử: khả năng kiểm thử, phân tích mức độ bao phủ của test case và đánh giá hiệu quả kiểm thử Lợi ích chính của mức độ này là giúp các kỹ thuật viên nhận thức rõ về tiến trình kiểm thử hiệu quả và xác định các vấn đề chất lượng của phần mềm.

Sinh kiểm thử Điều khiển quá trình kiểm thử

Thực hiện bằng tay Đo và đánh giá

Mức 0: Không sử dụng công cụ Mức 1: Khởi tạo

Mức 2: Lặp lại Mức 3: Tự động

Hình 2.2 Lược đồ đánh giá mức độ tự động hóa

Lược đồ này giúp đánh giá tình trạng tự động kiểm thử trong quy trình kiểm thử sản phẩm hoặc trong một tổ chức cụ thể.

2.4.2 Tiến trình tự động hóa Để thực hiện tự động hóa kiểm thử, cần phải có một tiến trình hiệu quả để thực hiện các hoạt động tự động hóa kiểm thử và phát triển giải pháp tự động Một tiến trình hiệu quả phải bao gồm các bước sau [6]:

Bước 1 trong quy trình tự động hóa là lập kế hoạch, đóng vai trò quan trọng trong việc xác định các đối tượng cần tự động hóa, mục đích, chiến lược, yêu cầu, lịch trình và kinh phí Thực tế, kế hoạch này thường được xây dựng cho một sản phẩm hoặc một dòng sản phẩm ngay từ giai đoạn đầu của quá trình phát triển phần mềm.

Bước 2 trong quy trình kiểm thử tự động là thiết kế giải pháp tự động hóa, với mục tiêu tạo ra một giải pháp chi tiết phù hợp với yêu cầu và mục tiêu đã đề ra Nhiệm vụ đầu tiên là xác định và lựa chọn các công cụ hỗ trợ cho quá trình tự động hóa, bao gồm cả sản phẩm thương mại và tự phát triển, yêu cầu người tự động hóa phải có thông tin hướng dẫn và đánh giá về các công cụ này Nhiệm vụ thứ hai là thiết kế giải pháp tự động hóa.

Bước 3 trong quy trình phát triển công cụ kiểm thử tự động là tạo ra công cụ dựa trên giải pháp tự động hóa đã đề xuất Điều quan trọng là đảm bảo công cụ được phát triển có độ tin cậy cao, dễ sử dụng và đi kèm với tài liệu hướng dẫn chi tiết Nhiều dự án tự động kiểm thử đã không thành công do chất lượng công cụ kém và thiếu sót trong tài liệu hướng dẫn.

Bước 4: Triển khai công cụ tự động là giai đoạn quan trọng trong việc giới thiệu và áp dụng sản phẩm Để đạt được hiệu quả tối ưu, việc đào tạo người dùng và cung cấp hỗ trợ cần được thực hiện một cách bài bản.

Bước 5: Rà soát và đánh giá công cụ mới là rất quan trọng để xác định các vấn đề và hạn chế mà nó có thể gặp phải Việc này giúp đánh giá các tính năng mà công cụ cung cấp, từ đó rút ra bài học quý giá cho những lần triển khai tiếp theo.

Lập kế hoạch tự động hóa

Thiết kế hệ thống tự động

Lựa chọn và đánh giá các công cụ tự động

Giới thiệu và triển khai hệ thống

Rà soát lại và đánh giá

Hình 2.3 Tiến trình tự động hóa

Mô tả bài toán và yêu cầu

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

SEC là một ứng dụng bảo mật thông tin, hoạt động trên nền windows, cho phép thực hiện các chức năng sau:

- Quản lý việc sao chép dữ liệu: copy dữ liệu tới thiết bị ngoại vi: usb, thẻ nhớ, đĩa CD/DVD…

- Chia sẻ dữ liệu qua mạng

- Quản lý quyền truy cập của người dùng

SEC bao gồm hai phần:

- SEC Server: quản lý quyền của người dùng, cho phép tạo người dùng và cấp phát quyền cho người dùng đó

SEC Client giúp quản lý thao tác của người dùng dựa trên quyền hạn được cấp trên server Để sử dụng SEC, người dùng cần thực hiện các bước hướng dẫn cụ thể.

Bước 1 Cài đặt SEC server

Người quản trị tiến hành cài đặt SEC server, sau đó tạo người dùng User và cấp phát quyền cho User

Bước 2 Tạo bộ cài đặt SEC client

Để bảo mật thông tin trên các máy tính, cần cài đặt SEC client Người quản trị sẽ tạo bộ cài đặt SEC client từ SEC server, và có hai phương pháp để thực hiện việc này.

- Tạo trực tiếp từ máy SEC server

Để tạo bộ cài đặt cho SEC client, bạn cần sử dụng công cụ tạo bộ cài đặt và cung cấp thông tin về SEC server trong quá trình này.

Bước 3 Cài đặt SEC client

Sau khi tạo bộ cài đặt SEC client, người dùng phải tiến hành cài đặt SEC client tại máy cần phải bảo mật thông tin

Sau khi cài đặt SEC Client, dữ liệu trên máy sẽ được bảo mật Để truy cập dữ liệu, người dùng cần đăng nhập vào SEC Client bằng tài khoản User đã được cấp quyền từ SEC Server.

Nếu không đăng nhập, người dùng sẽ không thể hoặc bị hạn chế quyền đối với dữ liệu muốn sử dụng

Nếu không muốn sử dụng SEC client, người dùng có thể gỡ cài đặt phần mềm này khỏi máy tính Sau khi gỡ, máy sẽ trở về trạng thái ban đầu trước khi cài đặt và người dùng có thể sử dụng máy một cách bình thường mà không bị ảnh hưởng bởi SEC.

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

Giai đoạn cài đặt phần mềm là quá trình triển khai và cấu hình phần mềm trên hệ thống, đảm bảo rằng tất cả các thành phần cần thiết được thiết lập đúng cách để phần mềm hoạt động hiệu quả Việc hiểu rõ về giai đoạn này là rất quan trọng trong việc xây dựng hệ thống kiểm thử tự động, giúp phát hiện lỗi và tối ưu hóa quy trình cài đặt, từ đó nâng cao chất lượng sản phẩm và trải nghiệm người dùng.

Trong luận văn này, các giai đoạn cài đặt phần mềm SEC Client được trình bày rõ ràng, bao gồm các bước cụ thể đã được nêu trong mục 3.1.

- Tạo bộ cài đặt SEC client (tạo bộ cài đặt)

- Cài đặt SEC client (cài đặt)

- Gỡ cài đặt SEC client (gỡ cài đặt).

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

SEC là một sản phẩm đa phiên bản, do đó mỗi khi có phiên bản mới ra mắt, việc kiểm thử sản phẩm là cần thiết, bao gồm cả kiểm thử cho các giai đoạn cài đặt SEC client.

Mỗi phiên bản SEC hỗ trợ nhiều nền tảng Windows như Windows 98, XP, 2000, 2003, 2008, Vista và Windows 7 Trên từng môi trường Windows, cần thực hiện kiểm thử cho các giai đoạn cài đặt SEC client Trong quá trình hoạt động, các lỗi sẽ phát sinh, và đội phát triển sẽ tập hợp, sửa chữa và phát hành bản Patch để khắc phục Mỗi bản Patch sửa nhiều lỗi khác nhau Trước khi gửi bản Patch cho khách hàng, sản phẩm phải được kiểm thử các chức năng liên quan, bao gồm cả giai đoạn cài đặt SEC client.

Nếu một lỗi xuất hiện trên một phiên bản, nó có thể gây ra lỗi tương tự trên các phiên bản khác Do đó, cần thiết phải có bản vá (Patch) để khắc phục lỗi cho các phiên bản này và thực hiện kiểm thử kỹ lưỡng trước khi gửi sản phẩm đến tay khách hàng.

Khi một phiên bản mới được phát hành hoặc có các bản sửa lỗi, việc kiểm thử sản phẩm là cần thiết, bao gồm cả kiểm thử cho các giai đoạn cài đặt SEC client Tuy nhiên, chi phí cho quá trình kiểm thử này thường rất cao.

Để tự động hóa quá trình kiểm thử, đặc biệt là trong giai đoạn cài đặt, cần tìm ra giải pháp giúp giảm thiểu chi phí kiểm thử mà vẫn đảm bảo chất lượng sản phẩm.

Yêu cầu

Để nâng cao hiệu quả kiểm thử phần mềm, cần thiết phải xây dựng “Hệ thống kiểm thử tự động” (HTKTTĐ) nhằm hỗ trợ Kiểm thử viên trong việc thực hiện kiểm thử tự động cho các giai đoạn cài đặt phần mềm Hệ thống này phải đáp ứng các yêu cầu cụ thể để đảm bảo quá trình kiểm thử diễn ra suôn sẻ và hiệu quả.

- Công cụ cung cấp file mẫu, cho phép Kiểm thử viên thực hiện thiết lập test case dựa theo các điều kiện của test case

- Kiểm thử viên có thể tạo một bộ test case (test suite) bao gồm các test cases cần thiết để kiểm thử

Công cụ này cung cấp các thao tác cần thiết để thực hiện test case dựa trên thông tin của bộ test case Đồng thời, nó cũng cho phép Kiểm thử viên tạo lịch trình nhiệm vụ (Windows Scheduled Task) nhằm thực hiện các thao tác một cách tự động.

Quá trình cài đặt SEC bao gồm các giai đoạn tự động như tạo bộ cài đặt, cài đặt và gỡ cài đặt Kết quả của từng trường hợp kiểm thử sẽ được xuất ra file CSV, giúp Kiểm thử viên dễ dàng kiểm tra và đánh giá kết quả thực hiện kiểm thử.

Thiết kế chương trình

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

HTKTTĐ được thiết kế để phát triển kịch bản kiểm thử cho các test cases liên quan đến cài đặt và gỡ cài đặt hệ thống SEC Các test cases này được lựa chọn từ các file kiểm thử (file check list) nhằm kiểm tra các chức năng quan trọng của chương trình Công cụ này cung cấp khả năng tự động hóa việc thực hiện các test cases, giúp Kiểm thử viên tiết kiệm thời gian và nâng cao hiệu quả công việc Dưới đây là những chức năng chính mà HTKTTĐ hỗ trợ.

- Cung cấp kịch bản kiểm thử cho test cases được lựa chọn từ các file kiểm thử nhằm xác nhận chức năng liên quan của chương trình

- Cung cấp một file Excel có chứa các thiết lập cho các test cases thực sự có thể thực thi một cách tự động

- Cho phép Kiểm thử viên lựa chọn test case từ file Excel để tạo bộ cài đặt hoặc cài đặt/gỡ cài đặt

- Giúp Kiểm thử viên tạo bộ cài đặt, cài đặt và gỡ cài đặt hệ thống SEC một cách tự động

- Cho phép Kiểm thử viên thực hiện kiểm thử liên tục

- Giúp Kiểm thử viên xác nhận kết quả thực hiện của mỗi test case bằng file báo cáo kết quả kiểm thử và các file bằng chứng khác

- Cho phép Kiểm thử viên lần dấu lỗi trong quá trình thực hiện test case bằng cách cung cấp file ảnh của lỗi, file log

- Hỗ trợ nhiều phiên bản SEC khác nhau.

Phạm vi

- Về file kiểm thử: HTKTTĐ được phát triển để kiểm thử tự động cho các test cases liên quan đến cài đặt và gỡ cài đặt SEC

- Về các công cụ liên quan:

 Capture/Replay tool: Phiên bản 05-00-IR5

 TestController/TestAgent tool: Phiên bản 01-00-IR1

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

Hình 4.1 mô tả phạm vi tự động hóa của HTKTTĐ

Máy điều khiển (Controller PC)

Máy khách Thực thi script

Thao tác bằng tay Thao tác tự động

-Thông tin của 220 test case -Macro để xuất setting -Nút thực thi

- Tạo bộ cài đặt từ server

- Cài đặt/gỡ cài đặt

Tự động tạo bộ cài đặt

Thư mục chứa bộ cài đặt

Tự động gỡ cài đặt

Tạo báo cáo kết quả kiểm thử

Gửi kết quả kiểm thử

Lưu lại Tạo bộ cài đặt

Cài đặt/ Gỡ cài đặt

Có tiếp tục thực hiện kiểm thử tự động không? Được gửi tới Đọc Được gửi tới

Hình 4.1 Phạm vi tự động hóa

Trong hình 4.1, thao tác cần thực hiện bằng tay được biểu thị bằng mũi tên trắng, trong khi thao tác tự động hóa được biểu thị bằng mũi tên xanh Người dùng sẽ lựa chọn các test cases bằng tay và nhấn nút để bắt đầu quá trình kiểm thử Sau khi nhấn nút, quá trình kiểm thử sẽ được tự động thực hiện, nhưng người dùng cần xác nhận bằng tay sau mỗi test case trước khi tiến hành test case tiếp theo Cuối cùng, sau khi hoàn tất kiểm thử, người dùng sẽ thao tác bằng tay để xem báo cáo kết quả.

Cài đặt và đánh giá

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

Hình 5.1 Giao diện quản lý file kiểm thử

Giao diện quản lý file kiểm thử (MASTER sheet) là một bảng tính Excel, bao gồm danh sách các file kiểm thử Mỗi file trong danh sách này được liên kết với worksheet chứa các test cases tương ứng, giúp quản lý và theo dõi quá trình kiểm thử hiệu quả hơn.

Mỗi file kiểm thử sẽ liên kết đến worksheet tương ứng với Windows 2000 hoặc Windows XP

Kiểm thử viên có thể tạo bộ cài đặt hoặc kiểm thử nhiều file kiểm thử đồng thời bằng cách chọn “○” trong cột “Select” và nhấn nút.

“Create Media” hoặc “Execute Test” trong MASTER sheet

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

Hình 5.2 Giao diện quản lý test case

Giao diện quản lý test case được thiết kế dưới dạng bảng tính Excel, bao gồm thông tin chi tiết về các test case trong file kiểm thử Mỗi file kiểm thử sẽ có hai sheet riêng biệt, tương ứng với hệ điều hành Windows XP và Windows 2000.

Mỗi test case được xác định bằng một ID trong trường “TestCase ID”, và tương ứng với nó là mã bộ cài đặt trong trường “Media ID” Nhiều test case có thể sử dụng chung một bộ cài đặt, do đó, kiểm thử viên chỉ cần cập nhật “Media ID” cho test case liên quan.

Có hai nút chính là “Create Media” và “Execute Test” Khi nhấn vào “Create Media”, chương trình sẽ chuyển đến sheet “Media”, nơi mà Media ID của test case đã chọn sẽ được tự động xác định Kiểm thử viên cần xác nhận bộ cài đặt (media) đã chọn trước khi nhấn nút “Create Media” để tiến hành tạo bộ cài đặt.

Sau khi tạo bộ cài đặt, Kiểm thử viên bấm nút “Execute Test” để kiểm thử cho test case được chọn

Ngoài ra, sheet này còn cung cấp nút “Go to Master sheet” cho phép Kiểm thử viên quay trở lại MASTER sheet

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

Hình 5.3 Giao diện quản lý bộ cài đặt

Giao diện quản lý bộ cài đặt là một Excel worksheet (Media sheet), quản lý thông tin bộ cài đặt của tất cả các test case

Tất cả các thiết lập cho việc tạo bộ cài đặt được sắp xếp theo hàng, cho phép kiểm thử viên dễ dàng sử dụng chức năng Filter của Excel để xác định các test cases có thiết lập tương tự.

Media sheet cho phép Kiểm thử viên lựa chọn bộ cài đặt để tạo, mỗi bộ cài đặt được xác định bởi trường “Media ID”

Sau khi cập nhật các thông tin cần thiết, Kiểm thử viên bấm vào nút “Create Media” để tạo bộ cài đặt

Ngoài ra, Media sheet còn cung cấp nút “Go to Master sheet”, cho phép Kiểm thử viên quay trở lại Master sheet.

Đánh giá năng suất

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

Dưới đây là các bước thực hiện kiểm thử trong thực tế đối với hệ thống SEC

- Cài đặt phần mềm virus

Cập nhật test case nếu cần

Thực hiện kiểm thử Điền kết quả tới check list Đã kết thúc tất cả test case

Tổng hộp kết quả Yes No

Hình 5.4 Các bước thực hiện kiểm thử

Trước khi tiến hành kiểm thử, kiểm thử viên cần chuẩn bị môi trường kiểm thử theo test case đã được giao Việc này bao gồm cài đặt hệ điều hành Windows và các phần mềm cần thiết như phần mềm diệt virus, Microsoft Office, và các ứng dụng khác theo yêu cầu.

Kiểm thử viên cần cập nhật test case bằng cách kiểm tra nội dung để xác định xem có cần điều chỉnh thông tin nào không, chẳng hạn như hệ điều hành Windows hoặc phần mềm diệt virus.

Kiểm thử viên thực hiện kiểm thử nội dung của từng test case và sau khi xác nhận, sẽ ghi lại kết quả kiểm thử cùng với thời gian thực hiện vào file kiểm thử (check list) Sau đó, họ sẽ tiếp tục với test case tiếp theo.

- Tổng hợp kết quả: Sau khi kiểm thử xong tất cả các test cases được giao,

Kiểm thử viên tổng hợp kết quả kiểm thử của mình và báo cáo với người quản lý

Để đánh giá hiệu quả của hoạt động kiểm thử, có thể tính toán chi phí dựa trên thời gian thực hiện kiểm thử Việc so sánh giữa kiểm thử bằng HTKTTĐ và kiểm thử thủ công sẽ được thực hiện thông qua thời gian thực hiện kiểm thử.

Thời gian thực hiện kiểm thử được xác định là tổng thời gian cho tất cả các bước kiểm thử theo mục 5.2.1 Trong đó, thời gian thực hiện một test case sẽ được tính toán cụ thể.

 t1: thời gian tạo bộ cài đặt

Đối với mỗi t1, t2, t3, t4, cần tính toán thời gian thực hiện bằng tay và tự động Từ những thông số này, sẽ xác định thời gian thực hiện cho một test case cụ thể.

Thời gian thực hiện toàn bộ test case bằng tay được ký hiệu là T1, trong khi thời gian thực hiện bằng HTKTTĐ là T2 Năng suất đạt được sẽ được tính toán dựa trên hai khoảng thời gian này.

Dựa vào giá tri [Năng suất] thì có thể xác định được hiệu quả của việc sử dụng HTKTTĐ

Trong điều kiện bình thường, Kiểm thử viên chỉ có một máy để thực hiện kiểm thử tự động, thì kết quả đạt được như sau:

Thực hiện bằng tay Thực hiện tự động

Chuẩn bị môi trường Chuẩn bị môi trường

Cài đặt phần mềm virus 10

Cài đặt phần mềm virus

Thao tác khác 15 Thao tác khác

Cập nhật test case 234 Cập nhật test case và file thông tin kiểm thử 468

Thực hiện kiểm thử 3646 Thực hiện kiểm thử

2731 Điền kết quả test tới file kiểm thử 0 Điền kết quả test tới file kiểm thử 0

Báo cáo kết quả kiểm thử 351 Báo cáo kết quả kiểm thử 351

Tổng thời gian 4271 Tổng thời gian 3600

Bảng 5.1 Kết quả thực nghiệm trong điều kiện bình thường

Trong điều kiện tối ưu, kiểm thử viên sử dụng hai máy để thực hiện kiểm thử tự động, giúp tiết kiệm thời gian cài đặt và gỡ cài đặt test case Khi máy một đang cài đặt hoặc gỡ cài đặt, kiểm thử viên sẽ tiến hành thao tác kiểm thử trên máy hai Sau khi hoàn tất, máy hai sẽ thực hiện gỡ cài đặt hoặc cài đặt tự động, trong khi máy một cũng hoàn thành quá trình của nó Quá trình này được lặp lại, cho phép kiểm thử viên chỉ tập trung vào việc thực hiện thao tác test case mà không phải mất thời gian cho việc cài đặt và gỡ cài đặt.

Thực hiện bằng tay Thực hiện tự động

Chuẩn bị môi trường Chuẩn bị môi trường

Cài đặt phần mềm virus 10

Cài đặt phần mềm virus

Thao tác khác 15 Thao tác khác

Cập nhật test case 234 Cập nhật test case và file thông tin kiểm thử 468

Thực hiện kiểm thử 3646 Thực hiện kiểm thử

1414 Điền kết quả test tới file kiểm thử 0 Điền kết quả test tới file kiểm thử 0

Báo cáo kết quả kiểm thử 351 Báo cáo kết quả kiểm thử 351

Tổng thời gian 4271 Tổng thời gian 2283

Bảng 5.2 Kết quả thực nghiệm trong điều kiện tối ưu

Mỗi lần sử dụng HTKTTĐ cho hoạt động kiểm thử, chắc chắn sẽ tiết kiệm được

Chi phí tiết kiệm từ kiểm thử tự động là 15,7% Mặc dù trong từng lần kiểm thử, mức tiết kiệm có thể không đáng kể, nhưng khi hoạt động kiểm thử diễn ra liên tục và lâu dài, tổng chi phí tiết kiệm sẽ tích lũy đáng kể Điều này phản ánh đúng đặc điểm của kiểm thử tự động, mang lại giá trị lớn hơn qua thời gian sử dụng.

Trong điều kiện lý tưởng, việc sử dụng HTKTTĐ có thể tiết kiệm đến 46,5% chi phí Tuy nhiên, để đạt được mức tiết kiệm lý tưởng này, cần phải đáp ứng một số điều kiện nhất định.

- Kiểm thử viên phải thực sự thành thạo và có kinh nghiệm, am hiểu về hệ thống

- Chuẩn bị điều kiện môi trường tốt

- Công cụ kiểm thử tự động hoạt động ổn định

Mặc dù đạt được năng suất lý tưởng 46,5% là một thách thức, nhưng năng suất từ 15,7% đến 46,5% hoàn toàn khả thi Theo thời gian, khi Kiểm thử viên tích lũy kinh nghiệm và hệ thống kiểm thử ổn định hơn, năng suất sẽ dần tiệm cận con số lý tưởng Điều này nhấn mạnh rằng công cụ kiểm thử chỉ mang lại giá trị và lợi ích thực sự khi được sử dụng lâu dài.

Thông qua việc nghiên cứu lý thuyết kiểm thử tự động và ứng dụng vào xây dựng hệ thống kiểm thử tự động thực tế, luận văn đã đạt được những kết quả đáng kể.

Chúng tôi đã nghiên cứu và tổng hợp một cái nhìn tổng quan về kiểm thử tự động, nhấn mạnh vai trò và lợi ích của nó Bài viết cũng đề cập đến các yêu cầu cần thiết để xây dựng một hệ thống kiểm thử hiệu quả, cùng với những vấn đề tiềm ẩn có thể gặp phải trong quá trình thực hiện.

Chúng tôi cũng đã môt tả từng bước quá trình phân tích thiết kế một hệ thống kiểm thử tự động cho một hệ thống phần mềm khác

Hệ thống kiểm thử tự động đã được xây dựng thành công và áp dụng hiệu quả trong thực tế, giúp giảm chi phí cho hoạt động kiểm thử phần mềm.

Kiểm thử tự động là giải pháp hiệu quả giúp nâng cao năng suất và chất lượng kiểm thử, từ đó rút ngắn thời gian phát triển và cải thiện chất lượng sản phẩm.

Ngày đăng: 17/12/2023, 01:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w