5.2.2. Output
Với điều kiện phủ cấp 1 (phủ câu lệnh) và cấp 2 (phủ nhánh), là giống nhau. Ta có đồ thị CFG của hàm PhanLoaiDiemHocTap được mô tả như trong hình 5.3.
Với điều kiện phủ cấp 3 (phủ điều kiện con), ta thu được đồ thị phủ CFG như trong hình 5.5 với điều kiện kép ( score< 0 || score> 10)đã được tách thành 2 khối điều kiện đơn ( score< 0) và (score>10).
45
Hình 5.3. CFG thỏa mãn phủ cấp 1, 2 của hàm PhanLoaiDiemHocTap
Tập dữ liệu kiểm thử cho bộ testcase thỏa mãn tiêu chí phủ cấp 1,2 thu được như hình 5.4 bên dưới.
Hình 5.4. Tập dữ liệu liệu kiểm thử cho bộ ca kiểm thử thỏa mãn độ phủ cấp 1,2 hàm PhanLoaiDiemHocTap
46
Hình 5.5. CFG thỏa mãn phủ cấp 3 của hàm PhanLoaiDiemHocTap
Tập dữ liệu kiểm thử cho bộ testcase thỏa mãn tiêu chí phủ cấp 3 của hàm PhanLoaiDiemHocTap thu được như trong hình 5.6, gồm 7 bộ dữ liệu..
Hình 5.6. Tập dữ liệu liệu kiểm thử cho bộ ca kiểm thử thỏa mãn độ phủ cấp 3 hàm PhanLoaiDiemHocTap
47
5.3. Sinh bộ dữ liệu kiểm thử cho hàm đầu vào chứa vòng lặp lặp
5.3.1. Input
Hàm Java tính tổng n số nguyên đầu tiên, với n là một số bất kỳ nhập vào từ bàn phím. Mã nguồn hàm loopDoWhile được mô tả như trong bảng 5.4 dưới đây.
import java.util.Scanner;
publicclass loopDoWhile {
publicstaticvoid main(String[] args) { System.out.println("Nhap n");
Scanner console = new Scanner(System.in);
intn= console.nextInt();
loopDoWhile (n);
System.out.println("Tổng của "+n+" số nguyên đầu tiên là: "+
loopDoWhile (n)); }
staticintloopDoWhile(intn){
inti=1; intsum=0; do { sum+=i; i++; } while ( i<=n); returnsum; } }