Predicate และ Path Predicate

Software testing ความรู้ สำหรับ Tester ผู้ทดสอบ เป็นส่วนสำคัญในการ test โปรแกรม การ ทดสอบโปรแกรมมีความรู้แนะนำไว้ในหมวดนี้

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
jay_limm
PHP VIP Members
PHP VIP Members
Posts: 4935
Joined: 02/06/2014 9:58 am

Predicate และ Path Predicate

Postby jay_limm » 07/06/2014 3:06 pm

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 846 times

และมี predicate ที่มีตัวดำเนินการตรรกะ OR
09-2.PNG
09-2.PNG (960 Bytes) Viewed 846 times


เราสามารถนำ predicate เหล่านี้มารวมกัน โดยใช้อักษรตัวพิมพ์ใหญ่แทนค่าความจริงของ แต่ละ predicate ถ้า
เขียนติดกัน หมายถึง AND ถ้าใช้เครื่องหมาย + หมายถึง OR ถ้าใช้สัญลักษณ์ bar อยู่บนตัวอักษร หมายถึง นิเสธ

โดยกำหนดให้

09-4.PNG
09-4.PNG (2.27 KiB) Viewed 846 times


สามารถเขียน compound predicate ได้ดังนี้

09-5.PNG
09-5.PNG (2.35 KiB) Viewed 846 times


เมื่อแปลงให้อยู่ในรูปของ input data แล้ว เราสามารถออกแบบกรณีทดสอบเพื่อตรวจสอบว่าเส้นทางนั้นสามารถ
เข้าถึงได้หรือไม่


- Predicate coverage : เป็นการทดสอบที่มีความน่าเชื่อถือมากกว่า branch coverage(C2) โดยจะต้องทดสอบทุกๆ ค่าความจริงของ predicate

09-6.PNG
09-6.PNG (24.98 KiB) Viewed 846 times

ตัวอย่างการทดสอบแบบ branch coverage

จากรูปการทดสอบแบบ branch coverage จะต้องเลือกเส้นทาง

09-8.PNG
09-8.PNG (1.73 KiB) Viewed 846 times


09-7.PNG
ตัวอย่างการทดสอบแบบ predicate coverage
09-7.PNG (34.96 KiB) Viewed 846 times

ตัวอย่างการทดสอบแบบ predicate coverage

จากรูปการทดสอบ predicate coverage จะต้องเลือกเส้นทาง
09-9.PNG
09-9.PNG (2.28 KiB) Viewed 846 times
บางที Bug ก็ไม่มีเหตุผล และไม่ต้องการคำจำกัดความ

Return to “Software testing”

Who is online

Users browsing this forum: No registered users and 5 guests