lập
Đơn vị đo McCabe đo số lượng đường tuyến tính độc lập thông qua mã nguồn của chương trình. Những đường tuyến tính độc lập này trở thành các trường hợp kiểm thử tuyến tính độc lập cho các mô-đun chương trình, đây là số lượng tối thiểu các trường kiểm thử cần thiết để đạt được sự an toàn tối đa. Bất kỳ con đường kiểm thử khác ngoài những con đường này sẽ là không cần thiết và không là tuyến tính độc lập. Do đó Cyclomatic cyclomatic của McCabe cũng cung cấp số lượng tối thiểu con đường thử nghiệm đểđạt sự an toàn tối đa.
Hình 3.5 Một ví dụ cho các con đường kiểm thử dựa vào CC
Trong ví dụ hình 3.5, CC là 4. Do đó mô-đun này có 4 con đường tuyến tính độc lập và đây là số lượng tối thiểu của con đường kiểm thửđểđạt được sự an toàn tối đa.
TC0: 0->1->2->3->11
TC1: 0->1->2->4->5->6->11
TC2: 0->1->2->4->5->7->8->10->2->3->11
TC3: 0->1->2->4->5->7->9->10->2->4->5->6->11
Những con đường kiểm thử này đạt được độ an toàn tối đa. Và bất kỳ con đường nào khác cũng sẽ phụ thuộc vào những con đường này.
3.2.4. Hạn chế của Cyclomatic Complexity
Các nghiên cứu khác nhau cho thấy, mô-đun chương trình có CC (Cyclomatic complexiy) lớn hơn 10 được xem là phức tạp. Mô-đun quá phức tạp làm giảm khả năng bảo trì và khả năng kiểm thử. Bảng 3.2 dưới đây là một số phạm vi tiêu chuẩn của các số liệu này.
Bảng 3.2 Một số phạm vi tiêu chuẩn của Cyclomatic complexity Cyclomatic Complexity Mức độ phức tạp và rủi ro
1-10 Một chương trình đơn giản, không có nhiều rủi ro. 11-20 Phức tạp hơn, nguy cơở mức trung bình
21-50 Phức tạp hơn, rủi ro cao
CHƯƠNG 4: BÀI TOÁN ỨNG DỤNG TRONG GIẢNG DẠY
Trong chương này tôi sẽ tập chung mô tả bài toán ứng dụng trong giảng dạy. Đồng thời tôi trình bày cách thức mà tôi sẽ giải quyết bài toán này. Bài toán này được tôi tham khảo trong tài liệu số [4].