Page 1 of 1

Predicate และ Path Predicate

Posted: 07/06/2014 3:06 pm
by jay_limm
Predicate และ Path predicate

- Predicate : เงื่อนไขที่ต้องทำงานตรวจสอบตรง dicision node ถ้าเป็น boolean function หรือ binary decision
ผลลัพธ์ จะเป็นค่าความจริง ture หรือ false แล้วนำผลที่ได้ไปตัดสินใจว่า จะทำคำสั่งของทางเลือกทางไหน ใน
เส้นทางที่มี predicate อยู่ จะเรียกว่า path predicate ในหนึ่งเส้นทางอาจจะมีหลาย predicate

- Path predicate expression : คือ set ของ boolean expression(True/False) ที่ปรากฏอยู่ในเส้นทางนั้น โดยจะ
ต้องทดสอบเงื่อนไขเหล่านั้นทั้งหมดจึงจะสามารถทดสอบเส้นทางนั้นๆได้ เราสามารถรวม predicate เข้าด้วยกัน
เป็น compound predicate แล้วแปลงให้อยู่ในรูปแบบที่ง่ายขึ้น

ตัวอย่าง เส้นทางประกอบด้วย predicate ดังนี้
09-1.PNG
09-1.PNG (1.38 KiB) Viewed 865 times
และมี predicate ที่มีตัวดำเนินการตรรกะ OR
09-2.PNG
09-2.PNG (960 Bytes) Viewed 865 times
เราสามารถนำ predicate เหล่านี้มารวมกัน โดยใช้อักษรตัวพิมพ์ใหญ่แทนค่าความจริงของ แต่ละ predicate ถ้า
เขียนติดกัน หมายถึง AND ถ้าใช้เครื่องหมาย + หมายถึง OR ถ้าใช้สัญลักษณ์ bar อยู่บนตัวอักษร หมายถึง นิเสธ

โดยกำหนดให้
09-4.PNG
09-4.PNG (2.27 KiB) Viewed 865 times
สามารถเขียน compound predicate ได้ดังนี้
09-5.PNG
09-5.PNG (2.35 KiB) Viewed 865 times
เมื่อแปลงให้อยู่ในรูปของ input data แล้ว เราสามารถออกแบบกรณีทดสอบเพื่อตรวจสอบว่าเส้นทางนั้นสามารถ
เข้าถึงได้หรือไม่


- Predicate coverage : เป็นการทดสอบที่มีความน่าเชื่อถือมากกว่า branch coverage(C2) โดยจะต้องทดสอบทุกๆ ค่าความจริงของ predicate
09-6.PNG
09-6.PNG (24.98 KiB) Viewed 865 times
ตัวอย่างการทดสอบแบบ branch coverage

จากรูปการทดสอบแบบ branch coverage จะต้องเลือกเส้นทาง
09-8.PNG
09-8.PNG (1.73 KiB) Viewed 865 times
ตัวอย่างการทดสอบแบบ predicate coverage
ตัวอย่างการทดสอบแบบ predicate coverage
09-7.PNG (34.96 KiB) Viewed 865 times
ตัวอย่างการทดสอบแบบ predicate coverage

จากรูปการทดสอบ predicate coverage จะต้องเลือกเส้นทาง
09-9.PNG
09-9.PNG (2.28 KiB) Viewed 865 times