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

Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu

49 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Cấu trúc

  • Chương 1: Tổng quan về đề tài (9)
    • 1.1. Giới thiệu đề tài (9)
    • 1.2. Mục tiêu, phạm vi và đối tƣợng nghiên cứu (10)
      • 1.2.1. Mục tiêu nghiên cứu (10)
      • 1.2.2. Đối tƣợng và phạm vi nghiên cứu (10)
    • 1.3. Ý nghĩa thực tiễn và khoa học của đề tài (10)
      • 1.3.1. Ý nghĩa thực tiễn (10)
      • 1.3.2. Ý nghĩa khoa học (11)
  • Chương 2: Các công trình nghiên cứu khoa học liên quan (12)
    • 2.1. Mô hình bài toán lập lịch kiểm thử dự án phần mềm (12)
    • 2.2. Lƣợc khảo các công trình nghiên cứu khoa học liên quan (12)
    • 2.3. Lập lịch dùng giải thuật di truyền (Genetic Algorithm) (13)
    • 2.4. Lập lịch dùng mô phỏng luyện kim (Simulated Annealing) (13)
    • 2.5. Lập lịch dùng giải thuật đàn kiến (Ant Colony Algorithm) (14)
    • 2.6. Lập lịch dùng tìm kiếm Tabu (Tabu Search) (14)
    • 2.7. Lập lịch dùng giải thuật tối ƣu bầy đàn (Particle Swarm Optimization) (0)
  • Chương 3: Triển khai các giải thuật lập lịch đả lược khảo với tiêu chí điểm chọn15 3.1. Đề xuất tiêu chí điểm chọn (16)
    • 3.2. Quá trình tạo cơ sở tri thức điểm chọn (16)
      • 3.2.1 Thu thập và tinh chỉnh dữ liệu (16)
      • 3.2.2 Xây dựng công thức tính tiêu chí điểm chọn (19)
    • 3.3. Ứng dụng tiêu chí điểm chọn vào các giải thuật đã lƣợc khảo (21)
      • 3.2.1 Giải thuật di truyền cho lập lịch kiểm thử dự án phần mềm (21)
      • 3.2.2 Giải thuật mô phỏng luyện kim cho lập lịch kiểm thử dự án phần mềm (27)
      • 3.2.3 Giải thuật đàn kiến cho lập lịch kiểm thử dự án phần mềm (29)
      • 3.2.4 Giải thuật tìm kiếm Tabu cho lập lịch kiểm thử dự án phần mềm (31)
      • 3.2.5 Giải thuật tối ƣu bầy đàn cho lập lịch kiểm thử dự án phần mềm (0)
  • Chương 4: Thực nghiệm các giải pháp lập lịch đả áp dụng tiêu chí điểm chọn (36)
    • 4.1. Mục tiêu thực nghiệm (36)
    • 4.2. Triển khai thực nghiệm (36)
      • 4.2.1. Lựa chọn tập mẫu thực nghiệm thực tế (36)
      • 4.2.2. Kết quả thực nghiệm (38)
      • 4.2.3. Nhận xét về kết quả thực nghiệm (40)
  • Chương 5: Xây dựng hệ hỗ trợ lập lịch dự án kiểm thử phần mềm (41)
    • 5.1. Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm (41)
    • 5.2. Kết quả xây dựng (41)
  • Chương 6: Kết luận (44)
    • 6.1. Những điều đạt đƣợc (44)
    • 6.2. Những điều chƣa đƣợc (44)
    • 6.3. Hướng phát triển trong tương lai (44)
  • Tài liệu tham khảo (46)

Nội dung

TÓM TẮT Dựa vào những tri thức đã biết và các công trình khoa học có liên quan về lập lịch công việc, công trình nghiên cứu xây dựng một tiêu chí đánh giá độ phù hợp của testcase đối với

Tổng quan về đề tài

Giới thiệu đề tài

Theo truyền thống lập lịch test case thì các test case đƣợc chia tuần tự cho từng tester Đối với việc kiểm thử cho hệ thống lớn thì số lƣợng tập các test case cần thực hiện để đảm bảo chất lượng của một hệ thống phần mềm tăng trưởng rất nhanh theo sự phức tạp của hệ thống, khiến áp lực công việc cần thực hiện kiểm thử tăng lên nhằm đáp ứng việc phản hồi kết quả kiểm thử nhanh chóng do các chỉnh sửa ứng dụng theo sự thay đổi yêu cầu của khách hàng và mong muốn rút ngắn thời gian hoàn thành sản phẩm Điều này đƣợc thể hiện rõ ràng nhất trong giai đoạn kiểm thử hồi quy liên tục, khi một tập lớn các test case có thứ tự hay không có thứ tự thực hiện được kiểm thử lặp đi lặp lại thường xuyên theo từng phiên bản phần mềm Để rút ngắn thời gian thực hiện kiểm thử thì ta có nhiều phương pháp khác nhau nhƣ lựa chọn test case theo độ ƣu tiên và giảm tập hợp các test case không quan trọng để tăng tốc độ thực hiện kiểm thử phần mềm [1]

Ngoài ra chúng ta cũng cần một lịch phân công kiểm thử cụ thể tập test case cho các tester sao cho lịch có tổng thời gian thực hiện thực hiện các test case (makespan) là ngắn nhất và phù hợp với tình huống nhất trên tổng số các lịch có cùng makespan để tránh rủi ro khi thực hiện Vì vậy việc lập lịch cho dự án kiểm thử phần mềm đã trở thành một yếu tố quan trọng trong giai đoạn kiểm thử của công nghiệp sản xuất phần mềm ứng dụng

Lập lịch kiểm thử dự án phần mềm là một khía cạnh cụ thể của bài toán lập lịch công việc Bài toán lập lịch là một trong những vấn đề tổ hợp khó khăn nhất thuộc đa thức không xác định; có nghĩa là vấn đề không thể giải quyết đƣợc trong thời gian đa thức Vì vậy, việc giải quyết vấn đề lập lịch công việc tối ƣu đã thu hút đƣợc sự chú ý của nhiều nhà nghiên cứu vì tầm quan trọng thực tế và độ phức phức tạp [2]

Hiện nay, phương pháp tìm kiếm lịch công việc chủ yếu bao gồm hai loại là lập lịch theo phương pháp chính xác và lập lịch theo phương pháp xấp xỉ Phương pháp chính xác đòi hỏi thời gian tính toán dài trong các trường hợp tìm kiếm trên không gian lớn, chẳng hạn như nhánh cận (branch & bound), các phương pháp lập trình tuyến tính (linear program), phương pháp phân rả (decomposition method), hội tụ (convergence) Trong nhiều trường hợp thực tế để giải quyết tìm kiếm lịch công việc thì các phương pháp xấp xỉ ngày trở nên phù hợp hơn cả vì cho lịch phân công gần với tối ƣu và có thời gian tính toán nhanh hơn rất nhiều

Trong các phương pháp xấp xỉ thì các phướng pháp thuộc meta-heuristics có kết quả lập lịch công việc tối ƣu tốt và đƣợc đánh giá cao nhƣ giải thuật di truyền (genetic algorithm-GA) [3-4], mô phỏng luyện kim (simulated annealing-SA) [5-8], giải thuật đàn kiến (ant colonoy algorithm-ACO) [9- 11], tìm kiếm Tabu (Tabu search-TS) [12-14], tối ƣu bầy đàn (particle swarm optimization-PSO) [16-18]

Công trình nghiên cứu là tập trung lƣợc khảo các giải thuật xấp xỉ nổi bật thuộc meta-heuristics để chọn ra giải thuật tối ƣu phù hợp cho việc lập lịch kiểm thử dự án phần mềm và tìm ra cách thức xác định độ phù hợp của các test case đối với đối tƣợng thực thi

Từ đó xây dựng hệ hỗ trợ lập lịch cho dự án kiểm thử phần mềm áp dụng tiêu chí độ phù hợp vào giải thuật xấp xỉ để tìm lịch thực hiện test case có makespan tối ƣu và phù hợp tình huống thực tế.

Mục tiêu, phạm vi và đối tƣợng nghiên cứu

Dựa vào những tri thức đã biết và các công trình khoa học có liên quan về lập lịch công việc, công trình nghiên cứu sẽ tìm hiểu các ý tưởng lập lịch theo phương pháp xấp xỉ nhằm lựa chọn giải thuật phù hợp vào việc giải quyết bài toán lập lịch kiểm thử dự án phần mềm

Bên cạnh đó công trình nghiên cứu còn tìm cách xây dựng một tiêu chí đánh giá độ phù hợp của test case đối với tester làm cơ sở tri thức cho lựa chọn tester thực thi test case Sau đó áp dụng tiêu chí này vào các giải thuật xấp xỉ đả lƣợc khảo để so sánh đánh giá kết quả lịch thu đƣợc có makespan tối ƣu và độ phù hợp là cao nhất

Cuối cùng công trình nghiên cứu tiến hành xây dựng hệ hỗ trợ lập lịch để giảm thiểu rủi ro, đáp ứng công việc đƣợc thực hiện đúng thời hạn

1.2.2 Đối tƣợng và phạm vi nghiên cứu Đối tƣợng nghiên cứu là mô hình bài toán lập lịch kiểm thử dự án phần mềm đƣợc tống quát hóa lên sau khi quan sát tình huống lập lịch thực tế công việc kiểm thử dự án phần mềm tại công ty gia công phần mềm Global CyberSoft.

Ý nghĩa thực tiễn và khoa học của đề tài

Đề xuất nghiên cứu “XÂY DỰNG HỆ HỖ TRỢ LẬP LỊCH VỚI DỮ LIỆU CHO DỰ ÁN KIỂM THỬ PHẦN MỀM” phù hợp xu hướng phát triển trong công nghiệp sản xuất phần mềm hiện tại, nhằm giảm giá thành, hạn chế rủi ro và hoàn thành sản phẩm đúng hạn Quá trình kiểm thử và sửa lỗi đảm bảo phản hồi kết quả nhanh chóng nhằm đảm bảo chất lƣợng sản phẩm cho khách hàng

Hệ hỗ trợ dễ dàng tái sử dụng và mở rộng cho các mô hình bài toán lập lịch công việc tương tự có yếu tố liên quan đến kĩ năng và kinh nghiệm thực hiện công việc

Nghiên cứu đề xuất cách tính toán một tiêu chí mới là độ phù hợp của test case với tester dựa trên dữ liệu thực hiện test case thành công của tester đƣợc thu thập trong quá khứ và qua quá trình thực hiện kiểm thử dự án phần mềm

Mở rộng xử lý tình huống ràng buộc mềm khi chọn tester thực thi test case Mỗi test case đều có thể thực hiện bởi bất kì tester Tester với kĩ năng và kinh nghiệm khác nhau thì chỉ số phù hợp của test case với tester cũng sẽ không giống nhau Điều này sẽ ảnh hưởng quan trọng đến quyết định chọn

Nghiên cứu góp phần vào việc hoàn thiện xây dựng các luật tiêu chí nhằm hỗ trợ trong việc giải quyết vấn đề lựa chọn lịch tối ƣu phù hợp với điều kiện thực thi thực tế khi loại bỏ các lịch có độ phù hợp thực tế thấp từ các lịch có cùng makespan tối ƣu.

Các công trình nghiên cứu khoa học liên quan

Mô hình bài toán lập lịch kiểm thử dự án phần mềm

a) Tình huống thực tế Ta cần lập lịch phân công khối công việc kiểm thử của test plan cho tập M testers { , , } và mỗi tester có tập s kĩ năng nhƣ nhau e M = { , ,… } và điểm đánh giá kĩ năng = {1,2,3,4,5}

Tập N test cases = { , , } phân bố trong từng test suite của test plan Mỗi test case có tập kĩ năng s tương ứng với tập kĩ năng của tester qua i lần thực hiện test case thành công của tester = { , ,… } với n = {1,…, N * Z), = {1,2,3,4,5} và thời gian thực hiện test case b) Ràng buộc - Thời gian thực hiện test case của tester là nhƣ nhau và không có thời gian cài đặt hay thời gian trễ giữa các test case

- Một tester chỉ xử lý một test case tại một thời điểm

- Một testcase chỉ đƣợc thực thi bởi một tester

- Tất cả test case đều có thể đƣợc phân công và thực hiện bởi mọi tester

- Mỗi test case đƣợc thực thi kiểm thử chỉ một lần

- Test case đang thực hiện không thể bị gián đoạn cho đến khi đƣợc hoàn thành

- Test case trong các test suite theo một trong hai ràng buộc sau: o Ràng buộc thứ nhất: các test case trong test suite có yêu cầu thứ tự thực hiện

Tester không thể bắt đầu thực hiện một test case khác trước khi kết thúc test case trước đó trong cùng testsuite Ví dụ: test case số 1 của test suite A đang được thực hiện bởi đối tƣợng số 1 thì không thể bắt đầu thực hiện test case số 2 của testsuite A cho đến khi test case số 1 đƣợc hoàn thành o Ràng buộc thứ hai: các test case trong test suite không yêu cầu thứ tự thực hiện c) Mục tiêu cần giải quyết Test plan có lịch phân công thực hiện test case phải có tổng thời gian thực hiện (makespan) là nhỏ nhất và phải có độ phù hợp giữa test case và tester là cao nhất để tránh rủi ro khi tuân thủ theo lịch công việc.

Lƣợc khảo các công trình nghiên cứu khoa học liên quan

Lập lịch kiểm thử dự án phần mềm là một bài toán thuộc đa thức không xác định của chủ đề lập lịch công việc và đã có nhiều giải thuật lập lịch xấp xỉ đƣợc xây dựng trên những nền tảng lý thuyết và ý tưởng giải thuật khác nhau nhằm giải quyết vấn đề này

Tiêu biểu là [27-28] nhƣng thực hiện với ràng buộc quy định là công việc đòi hỏi chỉ những nhân viên có đủ điều kiện mới thực hiện đƣợc công việc Ngoài ra sau quá trình tìm hiểu một số giải thuật xấp xỉ chủ yếu khác đạt hiệu quả cao trong việc giải quyết vấn đề lập lịch tối ưu từ trước cho đến nay, nghiên cúu đã lược khảo được các giải thuật lập lịch phù hợp là bản cải tiển hay tổ hợp từ năm giải thuật lớn sau:

 Lập lịch dùng giải thuật di truyền (Genetic Algorithm)

 Lập lịch dùng mô phỏng luyện kim (Simulated Annealing)

 Lập lịch dùng giải thuật bầy kiến (Ant Colony Algorithm)

 Lập lịch dùng tìm kiếm Tabu (Tabu Search)

 Lập lịch dùng tối ƣu bầy đàn (Particle Swarm Optimization).

Lập lịch dùng giải thuật di truyền (Genetic Algorithm)

Giải thuật di truyền lần đầu tiên đƣợc giới thiệu bởi Holland (1975) [3] Giải thuật là một heuristics ngẫu nhiên và có thể bao gồm phương pháp tìm kiếm bán ngẫu nhiên

Giải thuật theo cơ chế đơn giản hóa quá trình tiến hóa trong giới tự nhiên Trái ngƣợc với nhiều phương pháp tối ưu khác, giải thuật di truyền làm việc với các giải pháp thay vì chỉ một giải pháp duy nhất Giải thuật di truyền tính toán giá trị thích nghi của mỗi giải pháp trong tập các giải pháp theo một hàm mục tiêu cụ thể Sau đó chọn các giải pháp tốt nhất theo giá trị thích nghi đã tính toán và áp dụng phương pháp lai tạo hay đột biến để sinh ra các giải pháp mới tốt hơn Tiếp tục thực hiện việc chọn lựa giải pháp để lai tạo và đột biến cho đến khi điều kiện dừng sẽ cho ra giải pháp tối ƣu nhất đến hiện tại [4].

Lập lịch dùng mô phỏng luyện kim (Simulated Annealing)

Giải thuật mô phỏng luyện kim đƣợc giới thiệu lần đầu vào năm 1979 [5] là một kĩ thuật trí thuật nhân tạo dựa trên quá trình làm lạnh kim loại trong luyện kim Kim loại đƣợc nung nóng với nhiệt độ cao sau đó làm lạnh dần để tìm ra trạng thái cấu trúc tinh thể bền vững Khi đó kim loại có số lƣợng khe nứt và cấu trúc không đồng đều ít nhất cùng với năng lƣợng duy trì cần thiết là tối thiểu Giải thuật mô phỏng luyện kim [7] mô phỏng quá trình tìm kiếm trạng thái bền vững của kim loại Khi nhiệt độ giảm dần thì không gian tìm kiếm cũng giảm dần đến khi đến một nhiệt độ thích hợp thì kim loại sẽ đạt đến một trạng thái tối ƣu phù hợp Khi ấy thì giải thuật cũng cho ra kết quả tối ƣu.

Lập lịch dùng giải thuật đàn kiến (Ant Colony Algorithm)

Giải thuật đàn kiến được đề xuất vào năm 1992 [9] với ý tưởng chính là bắt chước cách kiếm thức ắn của loài kiến Giải thuật đàn kiến [11] mô phỏng các con kiến lợi dụng pheromone lưu lại trên những con đường mòn n như một phương tiện để giao tiếp và phản hồi trong việc tìm kiếm thức ăn Theo thời gian thì con đường ngắn nhất sẽ có lƣợng pheromone cao nổi trội do thời gian kiến di chuyển từ chỗ có thức ăn về tổ là ngắn nhất và xác suất đàn kiến theo con đường này là cao nhất Giải thuật bắt đầu bằng việc xây dựng một giải pháp “mầm mống” khá tốt trước trong thời gian tính toán không đáng kể, và sau đó những con đường mòn pheromone khác được khởi tạo Vào lúc bắt đầu của giải thuật, giá trị ban đầu được gán cho tất cả các con đường mòn pheromone Mỗi con kiến “nhân tạo” bắt đầu với một chuỗi công việc rỗng và lặp đi lặp lại việc chọn thêm một công việc vào trình tự công việc cho đến nay cho đến khi một giải pháp hoàn chỉnh được xây dựng Tại mỗi bước, một công việc được lựa chọn bằng cách áp dụng một quy tắc dựa trên những con đường mòn pheromone Chất lượng các giải pháp xây dựng có thể được cải thiện bằng phương pháp heuristics tìm kiếm địa phương Một khi tất cả các con kiến “nhân tạo” của đàn đã xây dựng xong các giải pháp, ta cập nhật lại các đường mòn pheromone theo quy luật cập nhật chung để làm cho việc tìm kiếm địa phương hiệu quả hơn Số lượng đường mòn phụ thuộc vào cận trên và cận dưới – có thể thay đổi theo cách quản lý Khi đến điều kiện dừng ta thu đƣợc kết quả tối ƣu.

Lập lịch dùng tìm kiếm Tabu (Tabu Search)

Giải thuật tìm kiếm Tabu đƣợc Fred Glover đề xuất lần đầu vào năm 1986 [12] khái quát một phương pháp tìm kiếm địa phương nhằm cải thiện kết quả bằng cách tạo ra các giải pháp lận cận từ các giải pháp hiện tại và các giải pháp lân cận tốt nhất bằng các bước di chuyển sau đó sàn lọc chọn kết quả tối ƣu Trong giải thuật tìm kiếm Tabu [15], những giải pháp có chi phí bước di chuyển thấp hơn với giải pháp hiện tại được chấp nhận chỉ cần nó không có trong “danh sách cấm” (Tabu List) - danh sách các giải pháp đã đựợc viếng thăm Giải thuật tìm kiếm Tabu tiếp tục tìm kiếm trong trường hợp không thể tìm ra đƣợc giải pháp tốt hơn giải pháp hiện tại với hi vọng sẽ vƣợt qua đƣợc những lời giải pháp tối uu cục bộ

Trong giải thuật tìm kiếm Tabu, kích thuớc của danh sách cấm hết sức quan trọng

Chiều dài danh sách cấm không thể nhỏ vì sẽ không thể thực hiện việc di chuyển đến không gian tìm kiếm giải pháp và cũng không thế lớn sẽ khiến cho việc tìm kiếm ra đƣợc giải pháp tối ƣu là không hiệu quả vì không gian tìm kiếm là quá lớn Cho nên cần xác định thông số chiều dài danh sách cấm thích hợp đề giải thuật đạt hiệu quả tối ƣu

2.7 Lập lịch dùng giải thuật tối ƣu bầy đàn (Particle Swarm Optimization)

Giải thuật tối ƣu bầy đàn đƣợc giới thiệu bởi Kennedy và Eberhart vào năm 1995 [16] Giải thuật tối ƣu bầy đàn [17] phát triển từ kĩ thuật trí tuệ bầy đàn và dựa trên việc nghiên cứu cơ chế di chuyển của đàn chim trong quá trình tìm kiếm thức ăn trong không gian ba chiều rộng lớn Tại thời điểm bắt đầu tìm kiếm, những cá thể trong đàn có thể bay phân tán ra nhiều hướng khác nhau hay cùng bay theo một hướng nào đó, điều này có thể là rất ngẩu nhiên Tuy nhiên sau một thời gian tìm kiếm một số cá thể trong đàn bắt đầu tìm ra đƣợc nơi có chứa thức ăn Chúng lan truyền tín hiệu chứa thông tin vị trí và số lƣợng thức ăn đến các cá thể khác đang tìm kiếm ở vùng lân cận và dần dần lan truyền đến toàn quần thể Dựa vào thông tin nhận được mỗi cá thể sẽ điều chỉnh hướng bay và vận tốc theo hướng về nơi có nhiều thức ăn nhất Cơ chế này giúp cả đàn chim tìm ra nơi có nhiều thức ăn nhanh nhất trên không gian tìm kiếm vô cùng rộng lớn.

Lập lịch dùng giải thuật tối ƣu bầy đàn (Particle Swarm Optimization)

Trình bày quá trình xây dựng và áp dụng tiêu chí điểm chọn vào trong các giải thuật xấp sỉ đả lƣợc khảo nhằm giải quyết mô hình bài toán lập lịch kiểm thử dự án phần mềm

3.1 Đề xuất tiêu chí điểm chọn Để thực hiện việc phân công test case theo tiêu chí bất kì tester đều có thể nhận và thực hiện test case Điều này khác với ràng buộc cứng quy định chỉ những nhân viên có đủ điều kiện mới thực hiện đƣợc công việc, công trình nghiên cứu đề xuất một tiêu chí đánh giá mới là điểm chọn (Selection Point) để đánh giá mức độ phù hợp giữa test case và tester

 Selection Point thể hiện mức độ phù hợp hay độ khả thi thực hiện của test case trên tester thực thi kiểm thử nhằm giảm thiểu rủi ro Thông qua quá trình khảo sát và làm việc thực tế trong dự án kiểm thử phần mềm, nghiên cứu rút ra đƣợc hai yếu tố chủ yếu để chọn một đối tƣợng thực hiện test case là dựa vào kĩ năng và mức thực hiện test case

 Kĩ năng là tập các kĩ năng của tester trong quá trình thực hiện test case thành công Đây là yếu tố đặc trƣng cho tester thực thi là tester Tester thực thi là máy kiểm thử thì sẽ không có yếu tố này

 Mức thực hiện test case của tester thực thi là thông số đƣợc đánh giá qua số lần thực hiện test case thành công trong quá trình làm việc

3.2 Quá trình tạo cơ sở tri thức điểm chọn

3.2.1 Thu thập và tinh chỉnh dữ liệu

Quá trình khảo sát và thu thập dữ liệu thực tế diễn ra trong vòng 6 tháng (từ 4/2017 đến 9/2017) sau đó đƣợc tinh chỉnh và khai quát hóa lên mô hình chung cho bài toán lập lịch dự án kiểm thử phần mềm

Dữ liệu đƣợc thu thập và tinh chỉnh đƣợc thể hiện nhƣ sau:

 Dữ liệu thông tin tester: ID Machine (String), Name (String)

Bảng 3.1: Dữ liệu thông tin của tester

 Dữ liệu kĩ năng của tester: ID Tester (String), Name (String) , n Skill (Int) - Điểm đánh giá kĩ năng của tester (1-5)

Triển khai các giải thuật lập lịch đả lược khảo với tiêu chí điểm chọn15 3.1 Đề xuất tiêu chí điểm chọn

Quá trình tạo cơ sở tri thức điểm chọn

3.2.1 Thu thập và tinh chỉnh dữ liệu

Quá trình khảo sát và thu thập dữ liệu thực tế diễn ra trong vòng 6 tháng (từ 4/2017 đến 9/2017) sau đó đƣợc tinh chỉnh và khai quát hóa lên mô hình chung cho bài toán lập lịch dự án kiểm thử phần mềm

Dữ liệu đƣợc thu thập và tinh chỉnh đƣợc thể hiện nhƣ sau:

 Dữ liệu thông tin tester: ID Machine (String), Name (String)

Bảng 3.1: Dữ liệu thông tin của tester

 Dữ liệu kĩ năng của tester: ID Tester (String), Name (String) , n Skill (Int) - Điểm đánh giá kĩ năng của tester (1-5)

Nghiên cứu tiến hành khảo sát số lƣợng kĩ năng tester rút trích từ [26] đề xác định lại các kĩ năng nào phù hợp và đóng góp vai trò quan trọng trong việc chọn lựa tester thực hiện test case Khảo sát được thực hiện cho 100 người gồm 90 tester là 10 test leader Theo tiêu chí chọn theo số lƣợng các kĩ năng có điểm đánh giá là 4 và 5 trên thang điểm khảo sát (1,2,…,5)

Kết quả khảo sát thu đƣợc tóm tắt qua Hình 3.1:

Hình 3.1 Tóm tắt khảo sát tập kĩ năng cần thiết cho việc lựa chọn tester thực hiện test case ID Tester Skill 1 Skill 2 Skill 3 Skill 4 Skill 5

Bảng 3.2: Dữ liệu thông tin kĩ năng của tester

 Dữ liệu thời gian thực hiện của từng test case Bảng dữ liệu gồm: ID Test case (String), Name (String), Execute Time (Int)

ID Test case Name Execute Time

Bảng 3.3: Dữ liệu của test case

Công việc kiểm thử mà tester thực thi chủ yếu là tập các test case – đơn vị nhỏ nhất dùng để đánh giá chất lƣợng của phần mềm Mỗi test case đều có thời gian thực hiện là giống nhau đối với mỗi tester Trên thực tế giá trị này có thể khác nhau phụ thuộc vào nhiều yếu tố tác động nên rất khó trong việc đánh giá và tính toán thời gian thực hiện khối công việc vì vậy giá trị thường được quy đinh chung thống nhất trong quản lý

 Dữ liệu lịch sử thực hiện test case thành công của tester thực thi kiểm thử: ID Execution (Int), ID Test case(String), Date (DateTime), ID Object(String)

ID Execution ID Test case Date ID Object

Bảng 3.4: Dữ liệu lịch sử thực hiện của tester thực thi kiểm thử Trong quá trình làm việc, lịch sử thực hiện test case của tester thực thi đều được lưu lại để dễ dàng cho việc báo cáo và đánh giá công việc Đây cũng là dữ liệu quan trọng thứ hai trong việc xây dựng cơ sở tri thức

 Dữ liệu test suite trong dự án kiểm thử: ID TestSuite (String), Name (String)

Bảng 3.5: Dữ liệu test suite Các testsuite là nơi chứa tập các test case cần thực hiện

 Dữ liệu của testplan trong dự án kiểm thử: ID Testplan (String), Name (String)

Testplan là nơi chƣa các testsuite và là đầu vào cần để lập lịch cho các đôi tƣợng thực thi thực hiện test case trong testsuite

 Dữ liệu test case trong từng testsuite thuộc testplan: ID (Int), ID Testplan (String), ID TestSuite (String), ID Test case (String), Order (Int)

ID ID Testplan ID TestSuite ID Test case Order

Bảng 3.7: Dữ liệu test case trong từng testsuite của testplan

Tập các test case trong testsuite có thể có ràng buộc thứ tự hoặc không có ràng buộc thứ tự thực hiện Order là giá trị thể hiện thứ tự thực hiện

3.2.2 Xây dựng công thức tính tiêu chí điểm chọn

Nhƣ đã phân tích tiêu chí điểm chọn ở trên, điểm chọn đƣợc tính theo đẳng thức nhƣ sau:

 i: tester thực thi kiểm thử [1-n]

Sau đây là cụ thể cách tính từng yếu tố trong đẳng thức

 “Mức thực hiện” được tính toán qua các bước như sau: i Rút trích ra dữ liệu thực hiện của từng tester thực thi kiểm thử cho từng test case trong vòng 6 tháng:

 i: tester thực thi kiểm thử [1-n]

 E ij : số lần tester thực thi kiểm thử i thực hiện test case j

 SumE j : tổng số lần test case j đƣợc thực hiện ii Tính mức thực hiện theo đẳng thức:

Dữ liệu mức thực hiện test case của tester thực thi kiểm thử có thể khái quát nhƣ bảng mô phỏng sau:

ID Execution (Int), ID Test case (String), ID Machine (Int), Execute Count (Int), Frequency (Double)

ID Execution ID Test case ID Tester Execute Count Frequency

Bảng 3.8: Bảng dữ liệu mô phỏng mức thực hiện test case của tester thực thi kiểm thử

 “Kĩ năng” được tính toán qua các bước như sau: Áp dụng Bayesian để tính toán Đây là một phương pháp nhanh chóng có thể xác định đƣợc tỉ lệ chọn của tester đối với test case dựa trên tập kĩ năng

 X i,k : Kĩ năng i có điểm đánh giá là k (i=1…5; k=1…5)

 H j : Giả thuyết chọn là chắc chắn thực hiện test case j (j=1…m test case)

 P(X i,k |H j ): Xác suất có điều kiện của Xi,k đối với H j có thể đƣợc tính từ tập dữ liệu cho trước

Mỗi tester có 5 kĩ năng đƣợc đánh giá thang điểm khác nhau liên quan đến việc chọn lựa cho nên kĩ năng của mỗi tester đối với test case là tích của các P(Xi,k|H j )

 i là tester thực thi tester (i=1…n)

 Skill Point i,j là điểm chọn của tester i đối với test case j dựa trên tập các kĩ năng của tester i

Dữ liệu kĩ năng (Skill Point) của tester đối với test case đƣợc khái quát qua bảng mô phỏng sau:

ID Execution ID Test case ID Tester Skill Point

Bảng 3.9: Bảng dữ liệu mô phỏng Skill Point của tester Cuối cùng lấy tổng của Skill Point và Frequency của từng tester thực thi đối với từng test case, ta đƣợc điểm chọn cuối cùng (Selection Point) đánh giá độ phù hợp của test case và tester thực thi bảng mô phỏng 4.11

ID Execution (Int), ID Test case (String), ID Machine (Int), Final Point (Double)

ID Execution ID Test case ID Tester Selection Point

Bảng 3.10: Bảng dữ liệu mô phỏng điểm chọn cuối cùng

Ứng dụng tiêu chí điểm chọn vào các giải thuật đã lƣợc khảo

Ta có thể tổng quát hóa việc áp dụng giải thuật di truyền [4] và tiêu chí điểm chọn vào giải quyết vấn đề lập lịch qua các bước sau:

Bước 1 Diễn giải mỗi giải pháp lập lịch theo một định dạng nhất định sau đó tạo tập các giải pháp lịch phân công ban đầu theo kĩ thuật tạo ngẫu nhiên phân công tester thực thi test case

Bước 2 Lựa chọn các giải pháp lịch phân công “cha mẹ” theo kĩ thuật Tournament selection [19] để thực hiện lai tạo và đột biến trong di truyền”

Bước 3 Lai tạo các giải pháp lịch phân công “cha mẹ” theo kĩ thuật lai tạo order crosser [20] để sinh ra các giải pháp lịch phân công “đời sau”

Bước 4 Đột biến dựa trên hiện tượng đột biến trong sinh học để tạo ra các giải lịch phân công “đời sau” có những điểm khác biệt so với giải pháp lịch phân công “cha mẹ”

Bước 5 Sàn lọc bằng cách tính toán thời gian hoàn thành tất cả các công việc và tổng điểm chọn của các giải pháp lịch phân công “đời sau” đƣợc tạo từ trên và cặp nhật giải pháp lịch phân công “đời sau” có thời gian hoàn thành tối ƣu nhất và tổng điểm chọn cao nhất cho đến hiện tại

Bước 6 Lặp lại các bước trên cho đến khi thỏa điều kiện của quá trình tìm lịch tối ưu

Flowchart của giải thuật di truyền đƣợc khái quát qua Hình 3.2

Hình 3.2: Flowchart của giải thuật di truyền a) Mã hóa lịch phân công Định dạng cấu trúc lịch phân công cho hai trường hợp sau:

1 Tập hợp test case có thứ tự thực hiện đƣợc định dạng nhƣ Hình 3.3

Chuỗi phân công mã hóa O 1,1 O 2,1 O 1,2 O 1,3 O 1,3 Chuỗi đối tƣợng thực thi 1 3 4 2 4

O 2,1 : Biểu diện test case thứ nhất trong testsuit thứ hai Hình 3.3: Cấu trúc mã hóa lịch phân công cho tập test case có thứ tự thực hiện 2 Tập hợp test case không có thứ tự thực hiện định dạng nhƣ Hình 3.4

Chuỗi phân công mã hóa TC1 TC2 TC3 TC4 TC5

Chuỗi đối tƣợng thực thi 1 3 4 2 4

Hình 3.4: Cấu trúc mã hóa lịch phân công cho tập test case không thứ tự thực hiện b) Tạo n lịch phân công (SNeighbor)

Tạo n lịch phân công theo phương pháp ngẫu nhiên c) Phương pháp chọn (Tournament selection)

Chọn cặp lịch phân công theo phương pháp Tournament selection [19] từ tập lịch phân công ban đầu làm cá thể cha me Vì theo [19] cách chọn này là một trong các cách có độ phức tạp thuật toán thấp nhất O(n) và dễ dàng so việc sử lý xong xong để tăng tốc độ xử lý

Hàm Fitness = tổng điểm chọn của lịch /tổng thời gian thực hiện của lịch Giải thuật chọn ngẫu nhiên n cá thể từ tập lịch với n là số nguyên đƣợc xác định trước sau đó so sánh để chọn ra cá thể theo hàm giá trị Fitness lớn nhất lần lượt làm cá thể cha mẹ Hình 3.5

Hình 3.5: Tóm tát phương pháp Tournament selection Từ đó áp dụng lai tạo hay đột biến để sinh ra các cá thể con theo tỉ lệ đả đƣợc xác định trước d) Lai tạo (Order Crossover)

Lai ghép cặp cá thể cha mẹ để tạo ra hai cá thể con mới Cách thực hiện lai tạo tùy thuộc cấu trúc lịch đƣợc mã hóa từ dạng dữ liệu đầu vào yêu cầu lập lịch đƣợc mô tả cụ thể nhƣ sau:

1 Đối với tập hợp test case có thứ tự thực hiện thì việc lai tạo là tổng hợp của 2 phần:

Phần 1: Sử dụng lai tạo order crosser [20] trên cặp chuỗi phân công cha mẹ nhằm tạo ra hai chuỗi phân công con mới sau đó thực hiện bước 4 tiến hóa Vì việc lai tạo chéo trật tự là một trong các phương pháp cho phép tạo ra nhiều cá thể con mới một cách nhanh chóng trong cùng một khoảng thời gian thực hiện Phương pháp được thể hiện qua ví dụ Hình 3.6:

Chuỗi phân công cá thể cha O 1,1 O 2,1 O 1,2 O 1,3 O 2,2 Chuỗi tester thực thi cá thể cha 1 3 4 2 2

Chuỗi phân công cá thể mẹ O 1,2 O 1,1 O 2,1 O 2,2 O 1,3 Chuỗi tester thực thi cá thể mẹ 2 1 1 3 4

Hình 3.6 Cặp lịch phân công cá thể cha mẹ Bước 3.1.1: Chọn một phần chuỗi theo cặp vị tri k, j ngẫu nhiên (k=0 đến j=1) trong cặp lịch phân công của cá thể cha: P 1 = O 1,1 ; O 2,1

Bước 3.1.2: Chèn chuỗi P 1 vào chuỗi phân công con từ vị trí k đến j

Bước 3.1.3: Loại bỏ các phần tử của P1 trong chuỗi phân công cá thể mẹ Duyệt và chèn các phần tử còn lại của chuỗi phân công cá thể mẹ vào chuỗi phân công con từ trái qua phải Ta đƣợc chuỗi phân công con thứ nhất Hình 4.8

Chuỗi phân công con thứ nhất O 1,1 O 2,1 O 1,2 O 2,2 O 1,3

Hình 3.7 Chuỗi phân công cá thể con thứ nhất Bước 3.1.4: Hoán đổi chuỗi phân công cha mẹ trên và thực hiện lại các bước để sinh ra chuỗi phân công con thứ hai

Bước 3.1.5: Sao chép toàn bộ chuỗi tester thực thi cha mẹ sang cho cá thể con Từ đó ta thu đƣợc cặp chuỗi phân công con mới Sau đó tiến hành sao chép toàn bộ chuỗi tester thực thi cha mẹ sang cho cá thể con để hoàn thành việc lai tạo ra cặp lịch phân công cá thể con nhƣ Hình 3.8

Chuỗi phân công con thứ nhất O 1,1 O 2,1 O 1,2 O 2,2 O 1,3 Chuỗi tester thực thi con thứ nhất 1 3 4 2 2

Chuỗi phân công con thứ hai O 1,2 O 1,1 O 2,1 O 1,3 O 2,2 Chuỗi tester thực thi con thứ hai 2 1 1 3 4

Hình 3.8 Cặp lịch phân công cá thể con

Phần 2: Sử dụng lai tạo uniform crossover [20] trên cặp chuỗi tester thực thi trong cặp lịch phân công con vừa sinh ra ở trên nhằm hoán vị các phần tử tạo ra hai chuỗi tester thực thi mới đó thực hiện bước 4 tiến hóa Việc lai tạo đồng nhất được thực hiện bằng cách là duyệt từng phần tử trong hai chuỗi tester thực thi của cặp lịch phân công con vừa tạo ở phần 1 từ trái qua phải và sử dụng xác suất đồng xu 50/50 để quyết định việc hoán đổi giá trị phần tử trong cặp chuỗi hay không Ta đƣợc kết quả Hình 3.9:

Chuỗi tester thực thi con thứ nhất mới 1 1 4 3 4 Chuỗi tester thực thi con thứ hai mới 2 3 1 2 2

Hình 3.9 Cặp chuỗi tester thực thi mới của cá thể con 2 Đối với tập hợp test case không thứ tự thực hiện

Sử dụng lai tạo đồng nhất (uniform crossover) cho chuỗi tester thực thi con nhƣ đƣợc mô tả ở trên nhằm tạo ra hai chuỗi tester thực thi con mới cho cặp lịch phân công con e) Đột biến (Swap Mutation)

Thực nghiệm các giải pháp lập lịch đả áp dụng tiêu chí điểm chọn

Mục tiêu thực nghiệm

Các giải thuật tối ƣu trên cần đƣợc so sánh và đánh giá lại hiệu quả tìm kiếm tối ƣu cho mô hình bài toán lập lịch kiểm thử dự án phần mềm để có cơ sở lựa chọn ra giải thuật phù hợp Các giải thuật cần thực nghiệm là: di truyền; mô phỏng luyên kim; giải thuật bầy kiến; tìm kiếm Tabu; giải thuật tối ƣu bầy đàn Để thực hiện việc so sánh và đánh giá có hiệu quả, nghiên cứu triển khai các ý tưởng giải thuật đã lược khảo trên với cơ sở tương đương nhau và tối giản nhất có thể.

Triển khai thực nghiệm

4.2.1 Lựa chọn tập mẫu thực nghiệm thực tế

Thực nghiệm sử dụng 20 mẫu test plan thường xảy ra trong quá trình thực tế kiểm thử bao gồm 10 mẫu test plan có thứ tự và 10 mẫu test plan không thứ tự

 Mẫu thực nghiệm test plan có thứ tự đƣợc định dạng nhƣ sau:

Ví dụ: Test plan có 2 test suites mỗi test suite có 7 test cases đƣợc phân công cho 3 testers đƣợc mô phỏng qua các bảng ma trận sau:

Bảng 4.1 Ma trận thời gian thực hiện test case tương ứng với tester trong test plan có thứ tự thực hiện Chú thích: Test suite TS1có 7 test cases (TC1,TC2,…,TC7) yêu cầu thứ tự thực hiện là TC1 > TC2 > TC3 > TC4 > TC5 > TC6 > TC7 và thời gian thực hiện bởi tester M1 lần lƣợt là (40,35,30,25,20,15,10)

TS1 (Selection Point) TS2 (Selection Point)

Bảng 4.2 Ma trận điểm chọn giữa test case tương ứng với tester trong test plan có thứ tự thực hiện Chú thích: Test suite TS1 có 7 test cases (TC1,TC2,…,TC7) và điểm chọn giữa test case tương ứng của tester M1 lần lượt là (4,2829509; 4,7807248; 6,9075695; 0,9325836, 0,7892697;1,6260672; 6,0855218)

 Mẫu thực nghiệm test plan không có thứ tự đƣợc định dạng nhƣ sau:

Ví dụ: Test plan có 6 test suites mỗi test suite có 1 test cases đƣợc phân công cho 3 testers đƣợc mô phỏng qua các bảng ma trận sau:

Bảng 4.3 Ma trận thời gian thực hiện test case tương ứng với tester trong test plan không có thứ tự thực hiện Chú thích: Test suite TS1có 1 test cases và thời gian thực hiện bởi tester M1 là 40

TS1(Selection Point) TS2 (Selection Point)

TS3 (Selection Point) TS4 (Selection Point)

TS5 (Selection Point) TS6 (Selection Point)

Bảng 4.4 Ma trận điểm chọn giữa test case tương ứng với tester trong test plan không có thứ tự thực hiện Chú thích: Test suite TS1có 1 test cases và điểm chọn giữa test case tương ứng của tester M1 là 4,282950

Tiến hành hiện thực các giải thuật bằng ngôn ngữ matlab và tiến hành thí nghiệm kết quả lập lịch với hai tập dữ liệu mẫu đã đề cập trên máy tính có processor là Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz (4 CPUs), ~2.6GHz

Sau đây là các kết quả thực nghiệm trên các giải thuật thu đƣợc:

Tập dữ liệu mẫu thực tế không thứ tự

TS SA GA PSO ACO

MK SP MK SP MK SP MK SP MK SP

Bảng 4.5 Kết quả thực nghiệm giải thuật trên tập dữ liệu mẫu thực tế không thứ tự - SP: Selection point của lịch

- MK: tổng thời gian thực hiện của lịch

- L1(10,10,5): Test plan cần lập lịch có 10 test suite, mỗi test suite có tối đa 10 test case và có 5 tester thực hiện test plan

- ?: Không so sánh Selection point của kết quả lịch từ các giải thuật khi có giải thuật tìm đƣợc lịch có kết quả tối ƣu nhất trong 5 giải thuật

Tập dữ liệu mẫu thực tế có thứ tự

TS SA GA PSO ACO

MK SP MK SP MK SP MK SP MK SP

Bảng 4.6 Kết quả thực nghiệm giải thuật trên tập dữ liệu mẫu thực tế có thứ tự - SP: Selection point của lịch

- MK: tổng thời gian thực hiện của lịch - L1(10,10,5): Test plan cần lập lịch có 10 test suite, mỗi test suite có tối đa 10 test case và có 5 tester thực hiện test plan - ?: Không so sánh Selection point của kết quả lịch từ các giải thuật khi có giải thuật tìm đƣợc lịch có kết quả tối ƣu nhất trong 5 giải

4.2.3 Nhận xét về kết quả thực nghiệm

Sau 3000 vòng lặp, các kết quả từ các giải thuật trên tiến gần tới giá trị hội tụ Thực nghiệm cho thấy các kết quả từ giải thuật di truyền là tối ƣu hơn cả Giải thuật di truyền đạt đƣợc 15 kết quả lịch có tổng thời gian thực hiện tối ƣu trên tổng số 20 mẫu cần lập lịch

Trong điều kiện các giải thuật cho ra kết quả lịch cùng tối ƣu với giải thuật di truyền (hai trường hợp) là tìm kiếm tabu và giải thuật bầy đàn, ta thấy kết quả lịch từ giải thuật bầy đàn có điểm selection point cao hơn giải thuật di truyền Nhƣng nhìn tổng thể so sánh, tiêu chí ƣu tiên hàng đầu là tổng thời gian thực hiện của lịch thì giải thuật di truyền cho kết quả tốt hơn cho nên nghiên cứu chọn áp dụng giải thuật di truyền vào xây dựng hệ hỗ trợ.

Xây dựng hệ hỗ trợ lập lịch dự án kiểm thử phần mềm

Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm

Hệ hỗ trợ đƣợc xây dựng trên ngôn ngữ C# và hoạt động đƣợc mô tả nhƣ sau:

 Nhập dữ liệu đầu vào có hai dạng o Dạng 1:Test plan có thứ tự, test suite và test case có thứ tự từ nguồn dữ liệu vào từng test suite Phân công tester thực hiện test plan o Dạng 2: Test plan không có thứ tự, test suite và test case từ nguồn dữ liệu vào từng test suite Phân công tester thực hiện test plan

 Sau khi chọn lập lịch hệ hỗ trợ sẽ mã hóa dữ liều đầu vào theo giải thuật di truyền đề xuất ở trên và sẽ áp dụng nguồn cơ sở tri thức từ dữ liệu đả đƣợc thu thập và tỉnh chỉnh để tính toán điểm chọn giữa test case với tester đầu vào

 Tổng hợp lại với thời gian thực hiện test case của tester để tính toán ra lịch phân công có tổng thời gian thực hiện ngắn nhất và tổng điểm chọn là cao nhất theog giải thuật di truyền đả đề cập

 Sau một khoảng chu kì thời gian thường là kết thúc một sprint trong môi trường kiểm thử scrum Nguồn cơ sở tri thức cần đƣợc tính toán lại qua quá trình thu thập thêm dữ liệu mới có dƣợc từ quá trình thực hiện testcase của tester [26]

Hình 5.1 : Hệ hỗ trợ lập lịch kiểm thử dự án phần mềm

Kết quả xây dựng

Hệ hỗ trợ thực hiện với các thông số sau:

 Số lƣợng lịch khởi tạo : 10000

Khai thác Thu thập và tinh chỉnh dử liệu lịch sử

Lập lịch theo GA Mã hóa theo GA

Dữ liệu cần lập lịch

 Số lượng kích thước chọn lịch trong Tournament selection: 5

Hình 5.2 Dữ liệu thời gian test case và section point của tập tester thực thi và tập test case đầu vào cần lập lịch

Hình 5.3 Kết quả lịch thực hiện test case

Ngày đăng: 09/09/2024, 03:49

HÌNH ẢNH LIÊN QUAN

Hình 3.1 Tóm tắt khảo sát tập kĩ năng cần thiết cho việc lựa chọn tester thực hiện test - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.1 Tóm tắt khảo sát tập kĩ năng cần thiết cho việc lựa chọn tester thực hiện test (Trang 17)
Bảng 3.3: Dữ liệu của test case - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 3.3 Dữ liệu của test case (Trang 17)
Bảng 3.2: Dữ liệu thông tin kĩ năng của tester - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 3.2 Dữ liệu thông tin kĩ năng của tester (Trang 17)
Bảng 3.4: Dữ liệu lịch sử thực hiện của tester thực thi kiểm thử  Trong quá trình làm việc, lịch sử thực hiện test case của tester thực thi đều được lưu  lại để dễ dàng cho việc báo cáo và đánh giá công việc - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 3.4 Dữ liệu lịch sử thực hiện của tester thực thi kiểm thử Trong quá trình làm việc, lịch sử thực hiện test case của tester thực thi đều được lưu lại để dễ dàng cho việc báo cáo và đánh giá công việc (Trang 18)
Bảng 3.7: Dữ liệu test case trong từng testsuite của testplan - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 3.7 Dữ liệu test case trong từng testsuite của testplan (Trang 19)
Bảng 3.8: Bảng dữ liệu mô phỏng mức thực hiện test case của tester thực thi kiểm thử - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 3.8 Bảng dữ liệu mô phỏng mức thực hiện test case của tester thực thi kiểm thử (Trang 20)
Hình 3.2: Flowchart của giải thuật di truyền - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.2 Flowchart của giải thuật di truyền (Trang 22)
Hình 3.5: Tóm tát phương pháp Tournament selection  Từ đó áp dụng lai tạo hay đột biến để sinh ra các cá thể con theo tỉ lệ đả đƣợc xác  định trước - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.5 Tóm tát phương pháp Tournament selection Từ đó áp dụng lai tạo hay đột biến để sinh ra các cá thể con theo tỉ lệ đả đƣợc xác định trước (Trang 23)
Hình 3.6 Cặp lịch phân công cá thể cha mẹ  Bước 3.1.1: Chọn một phần chuỗi theo cặp vị tri k, j ngẫu nhiên (k=0 đến j=1) trong cặp  lịch phân công của cá thể cha: P 1 = O 1,1 ; O 2,1 - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.6 Cặp lịch phân công cá thể cha mẹ Bước 3.1.1: Chọn một phần chuỗi theo cặp vị tri k, j ngẫu nhiên (k=0 đến j=1) trong cặp lịch phân công của cá thể cha: P 1 = O 1,1 ; O 2,1 (Trang 24)
Hình 3.7 Chuỗi phân công cá thể con thứ nhất  Bước 3.1.4: Hoán đổi chuỗi phân công cha mẹ trên và thực hiện lại các bước để sinh ra  chuỗi phân công con thứ hai - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.7 Chuỗi phân công cá thể con thứ nhất Bước 3.1.4: Hoán đổi chuỗi phân công cha mẹ trên và thực hiện lại các bước để sinh ra chuỗi phân công con thứ hai (Trang 24)
Hình 3.9 Cặp chuỗi tester thực thi mới của cá thể con  2.  Đối với tập hợp test case không thứ tự thực hiện - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.9 Cặp chuỗi tester thực thi mới của cá thể con 2. Đối với tập hợp test case không thứ tự thực hiện (Trang 25)
Hình 3.10 Cặp chuỗi tester thực thi của cá thể con  Sau đó tiến hành sao chép toàn bộ chuỗi phân công của cá thể cha mẹ sang cho cá  thể con để hoàn thành việc đột biến tạo ra cặp lịch phân công cá thể con Hình 3.11 đó  thực hiện bước 4 tiến hóa - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.10 Cặp chuỗi tester thực thi của cá thể con Sau đó tiến hành sao chép toàn bộ chuỗi phân công của cá thể cha mẹ sang cho cá thể con để hoàn thành việc đột biến tạo ra cặp lịch phân công cá thể con Hình 3.11 đó thực hiện bước 4 tiến hóa (Trang 25)
Hình 3.12: Flowchart của giải thuật mô phỏng luyện kim - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.12 Flowchart của giải thuật mô phỏng luyện kim (Trang 28)
Hình 3.13: Flowchart của giải thuật đàn kiến - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.13 Flowchart của giải thuật đàn kiến (Trang 30)
Hình 3.14: Flowchart của giải thuật tìm kiếm Tabu - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.14 Flowchart của giải thuật tìm kiếm Tabu (Trang 32)
Hình 3.15: Flowchart của giải thuật tối ƣu bầy đàn - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 3.15 Flowchart của giải thuật tối ƣu bầy đàn (Trang 35)
Bảng 4.1 Ma trận thời gian thực hiện test case tương ứng với tester trong test plan - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 4.1 Ma trận thời gian thực hiện test case tương ứng với tester trong test plan (Trang 36)
Bảng 4.2 Ma trận điểm chọn giữa test case tương ứng với tester trong test plan có - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 4.2 Ma trận điểm chọn giữa test case tương ứng với tester trong test plan có (Trang 37)
Bảng 4.4 Ma trận điểm chọn giữa test case tương ứng với tester trong test plan - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 4.4 Ma trận điểm chọn giữa test case tương ứng với tester trong test plan (Trang 38)
Bảng 4.3 Ma trận thời gian thực hiện test case tương ứng với tester trong test plan - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 4.3 Ma trận thời gian thực hiện test case tương ứng với tester trong test plan (Trang 38)
Bảng 4.5 Kết quả thực nghiệm giải thuật trên tập dữ liệu mẫu thực tế không thứ tự  -  SP: Selection point của lịch - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 4.5 Kết quả thực nghiệm giải thuật trên tập dữ liệu mẫu thực tế không thứ tự - SP: Selection point của lịch (Trang 39)
Bảng 4.6 Kết quả thực nghiệm giải thuật trên tập dữ liệu mẫu thực tế có thứ tự  -  SP: Selection point của lịch - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Bảng 4.6 Kết quả thực nghiệm giải thuật trên tập dữ liệu mẫu thực tế có thứ tự - SP: Selection point của lịch (Trang 40)
Hình 5.1 : Hệ hỗ trợ lập lịch kiểm thử dự án phần mềm - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 5.1 Hệ hỗ trợ lập lịch kiểm thử dự án phần mềm (Trang 41)
Hình 5.2 Dữ liệu thời gian test case và section point của tập tester thực thi và tập - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 5.2 Dữ liệu thời gian test case và section point của tập tester thực thi và tập (Trang 42)
Hình 5.3 Kết quả lịch thực hiện test case - Luận văn thạc sĩ Khoa học máy tính: Hệ hỗ trợ lập lịch dự án kiểm thử phần mềm với dữ liệu
Hình 5.3 Kết quả lịch thực hiện test case (Trang 43)

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w