Thuật toán xác định đƣờng kiểm thử cho khối loop

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp sinh bộ kiểm thử từ biểu đồ tuần tự UML 2 0 và ứng dụng cho kiểm thử phần mềm 04 (Trang 40 - 42)

Chƣơng 2 TỔNG QUAN KIỂM THỬ DỰA TRÊN MÔ HÌNH

3.6. Thuật toán sinh tự động các đƣờng kiểm thử

3.6.5. Thuật toán xác định đƣờng kiểm thử cho khối loop

Thuật toán 5: Thuật toán xác định đƣờng kiểm thử cho khối loop.

Đầu vào: Biểu đồ tuần tự của khối loop biểu diễn bằng tệp xmi.

Đầu ra: Đƣờng kiểm thử tƣơng ứng. 1: create results = new ArrayList 2: if option.getValue = True then

3: add guard.getValue() 4: else

5: add !guard.getValue() 6: end if

7: for all element in operand of ListElementdo

7: if break is instanceof then

8: if breakOption.getValue = True then

9: paths = breakOption.genPath()

10: newResults = new ArrayList<String>() 11: for all string in pathsdo

12: for all currentPath in results do

13: if break condition is correct then

14: newPath = currentPath + breakGuard.getValue() + path 15: add newResults.add(newPath)

16: else

17: newResults.add(currentPath)

18: end if

20: end for

21: results = newResults; 22: else

23: paths = element.genPath() 24: newResults = new ArrayList

25: if break condition is correct then

26: newPath = currentPath + path 27: add newResults.add(newPath) 28: else 29: newResults.add(currentPath); 30: end if 31: results = newResults; 32: else

33: newResults = new ArrayList

34: if break condition is correct then

35: path = path.substring(0, path.length() - 3) 36: add newResults.add(newPath) 37: else 38: newResults.add(currentPath); 39: end if 40: end if 41: return newResults;

Thuật toán 5 mô tả quá trình sinh đƣờng kiểm thử cho phân đoạn loop. Phân đoạn loop có thể chứa các phân đoạn break: nếu phân đoạn break này đƣợc thực thi thì các hành vi trong phần còn lại của phân đoạn loop sẽ đƣợc thay bằng các hành vi trong break, nếu không thì vòng lặp bỏ qua break và tiếp tục chạy. Điều này dẫn đến các trƣờng hợp: không thực hiện bất cứ phân đoạn break nào, thực hiện phân đoạn break đầu tiên, thực hiện phân đoạn break thứ hai. Do đó ta phải tìm các trƣờng hợp

thực thi break và sinh đƣờng kiểm thử của các trƣờng hợp đó và lƣu vào mảng

breakCase, đồng thời tìm đƣờng kiểm thử của phân đoạn loop ở các trƣờng hợp

không thực thi bất cứ phân đoạn break nào. Sau đó ta ghép các đƣờng kiểm thử lại với nhau.

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp sinh bộ kiểm thử từ biểu đồ tuần tự UML 2 0 và ứng dụng cho kiểm thử phần mềm 04 (Trang 40 - 42)

Tải bản đầy đủ (PDF)

(72 trang)