Tải bản đầy đủ (.pdf) (6 trang)

Trình bày giải thuật di truyền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (482.75 KB, 6 trang )

10/21/2019

THUẬT TOÁN
SINH TEST CASE BAO PHỦ CÂU LỆNH
SỬ DỤNG GIẢI THUẬT DI TRUYỀN
GIỚI THIỆU NHÓM
Nhóm 5 – VUWIT15 – 692508
IT4541 – Đảm bảo chất lượng phần mềm

21/10/2019

21/10/2019

1

2

GIỚI THIỆU NHÓM
Nhóm 5







Trần Minh Sơn (nhóm trưởng)
Hoàng Sơn
Cai Việt Hoàng
Phạm Quang Khuê
Phạm Thế Anh



BAO PHỦ CÂU LỆNH (STATEMENT COVERAGE)

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

3

4


10/21/2019

BAO PHỦ CÂU LỆNH
Định nghĩa

BAO PHỦ CÂU LỆNH
Định lượng

Bao phủ lệnh (Statement Coverage – SC) là một kỹ thuật kiểm thử hộp trắng,
bao gồm việc thực hiện tất cả các câu lệnh ít nhất một lần trong mã nguồn. Nó là
một số liệu, được sử dụng để tính toán và đo lường số lượng câu lệnh trong mã
nguồn đã được thực thi.

21/10/2019

21/10/2019


IT4541 – Đảm bảo chất lượng phần mềm

5

IT4541 – Đảm bảo chất lượng phần mềm

6

BAO PHỦ CÂU LỆNH
Ví dụ

GIẢI THUẬT DI TRUYỀN (GENETIC ALGORITHM)

a = 3, b = 9
Number of executed statements = 5,
Total number of statements = 7
Statement Coverage: 5/7 = 71%

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

7

8



10/21/2019

GIẢI THUẬT DI TRUYỀN
Định nghĩa. Phương pháp
Giải thuật di truyền (Genetic Algorithm - GA) là một kỹ thuật của khoa học máy
tính nhằm tìm kiếm giải pháp thích hợp cho các bài toán tối ưu tổ hợp
(combinatorial optimization). Giải thuật di truyền là một phân ngành của giải thuật
tiến hóa vận dụng các nguyên lý của tiến hóa như di truyền, đột biến, chọn lọc tự
nhiên, và trao đổi chéo.
Trong giải thuật di truyền cho một bài toán tối ưu hóa, ý tưởng là một tập hợp (gọi
là nhiễm sắc thể) của những giải pháp có thể (gọi là cá thể) sẽ được cho "tiến
triển" theo hướng chọn lọc những giải pháp tốt dần hơn.

THUẬT TOÁN: SINH TEST CASE BAO PHỦ CÂU LỆNH SỬ DỤNG GIẢI
THUẬT DI TRUYỀN

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

9

10

THUẬT TOÁN
Lưu đồ giải thuật di truyền

THUẬT TOÁN

Lưu đồ ứng dụng giải thuật di truyền trong sinh test case tự động (GA Execution)

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

11

IT4541 – Đảm bảo chất lượng phần mềm

12


10/21/2019

THUẬT TOÁN
GA Execution thu gọn

THUẬT TOÁN
Sơ đồ luồng điều khiển (Control Flow Graph – CFG)

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

13


IT4541 – Đảm bảo chất lượng phần mềm

14

THUẬT TOÁN
Các trường hợp bao phủ câu lệnh (Specifying Statement Coverage Paths - SSCP)

THUẬT TOÁN
Lưu đồ sinh test case SC sử dụng GA

CFG

SSCP
Path 1: S-1-2-3-5-7-E
Path 2: S-1-2-4-5-6-7-8-E

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

15

IT4541 – Đảm bảo chất lượng phần mềm

16



10/21/2019

THUẬT TOÁN
Ví dụ

THUẬT TOÁN
Ví dụ

Compare 2 integers function

Bước 1: Xây dựng CFG và SSCP
• CFG

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

17

IT4541 – Đảm bảo chất lượng phần mềm

18

THUẬT TOÁN
Ví dụ

THUẬT TOÁN
Ví dụ


Bước 1: Xây dựng CFG và SSCP
• SSCP

Bước 2: Chọn Path 1
Bước 3: Thực hiện Giải thuật di truyền
• Khởi tạo Test Case theo nguyên lí Ammann and Offutt
(Bộ các Test Case cùng < 0, > 0 hoặc = 0)

Path 1: 1,2-3-4-9
Path 2: 1,2-3-5-6-9
Path 3: 1,2-3-5-7,8-9

21/10/2019

b

-4

-5

Set 2

0

0

Set 3

6


10

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

19

a
Set 1

IT4541 – Đảm bảo chất lượng phần mềm

20


10/21/2019

THUẬT TOÁN
Ví dụ

THUẬT TOÁN
Ví dụ

Bước 2: Chọn Path 1
Bước 3: Thực hiện Giải thuật di truyền
• Đánh giá tiêu chí theo nguyên tắc Korel’s Distance

Bước 2: Chọn Path 1

Bước 3: Thực hiện Giải thuật di truyền
• Sắp xếp các TC theo thứ tự tăng của BD
Set 3 -> Set 1 -> Set 2

a

b

BD

a

b

BD

Set 1

-4

-5

-1

Set 1

-4

-5


-1

Set 2

0

0

0

Set 2

0

0

0

Set 3

6

10

-4

Set 3

6


10

-4

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

IT4541 – Đảm bảo chất lượng phần mềm

21

22

THUẬT TOÁN
Ví dụ

THUẬT TOÁN
Ví dụ

Bước 2: Chọn Path 1
Bước 3: Thực hiện Giải thuật di truyền
• Trao đổi đơn các TC

Bước 2: Chọn Path 1
Bước 3: Thực hiện Giải thuật di truyền
• Đột biến giá trị (Thay đổi các giá trị ngẫu nhiên trong TC)


a

b

a

b

a

b

a

b

Set 3

6

10

Set 2

-4

0

Set 1


6

-5

Set 1

6

5

Set 1

-4

-5

Set 1

6

-5

Set 3

0

10

Set 3


-3

10

Set 2

0

0

Set 3

0

10

Set 2

-4

0

Set 2

-4

8

• Tiếp tục đánh giá TC và sắp xếp lại


• Quay lại bước Đánh giá tiêu chí (1)

a

b

BD

a

b

BD

Set 2

-4

0

-4

Set 1

6

-5

-11


Set 1

6

-5

-11

Set 3

0

10

-6

Set 3

0

10

-6

Set 2

-4

0


-4

• Chương trình kết thúc khi đảm bảo số lượng TC được generate đảm bảo SC.

21/10/2019

21/10/2019

IT4541 – Đảm bảo chất lượng phần mềm

23

IT4541 – Đảm bảo chất lượng phần mềm

24



×