Control Flowgraphs

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

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

ภาพประจำตัวสมาชิก
jay_limm
PHP VIP Members
PHP VIP Members
โพสต์: 4935
ลงทะเบียนเมื่อ: 02/06/2014 9:58 am

Control Flowgraphs

โพสต์โดย jay_limm » 06/06/2014 11:45 am

Control Flowgraphs หรือเรียกสั้นๆ ว่า flowgraphs เป็นการแสดงโครงสร้างที่ควบคุมการทำงานของโปรแกรม (control structure) ในรูปแบบของกราฟฟิก ที่มีลักษณะเหมือน flowchart แต่ไม่แสดงรายละเอียดว่าแต่ละ process ทำอะไรบ้าง ส่วนประกอบของ flowgraph มีดังนี้

- process block
เป็นลำดับของคำสั่ง (statement) ถ้าคำสั่งใดคำส่งหนึ่ง ถูกประมวลผลแล้ว ทั้งหมดใน block จะถูกประมวลผลไปด้วย จะไม่มีการถูกแทรก ไม่ว่าจเป็น Dicision หรือว่า Junction อาจจะมีแค่คำสั่งเดียว หรือมากกว่านั้น มีทางเข้าทางเดียว ทางออกทางเดียว
ในการออกแบบกรณีทดสอบนั้น ไม่ต้องสนใจในเรื่องรายละเอียดของคำสั่ง ยกเว้นคำสั่งที่มีผลการทบต่อ control flowgraph เช่น ใช้เป็นเงื่อนไขของ Decision หรือ เกี่ยวของกับ Case

07-1 processblock.PNG
07-1 processblock.PNG (2.81 KiB) เปิดดู 343 ครั้ง


- Decision และ case statement

Decision คือจุดที่ control flowgraph ของโปรแกรมแยกออกไปได้ 2 ทาง เช่นคำสั่ง if-then-else เป็นต้นหรือมากกว่า 2 ทาง เช่น คำสั่ง case เป็นต้น
ในการออกแบบกรณีทดสอบสำหรับ Decision และ Case statement ไม่แตกต่างกัน โดยจะต้องออกแบบกรณีทดสอบให้เท่ากับจำนวนทางเลือก ให้การทำงานของโปรแกรมผ่านครบทุกทาง

07-2 decision.PNG
07-2 decision.PNG (7 KiB) เปิดดู 343 ครั้ง


07-4 casestate.PNG
07-4 casestate.PNG (11.96 KiB) เปิดดู 343 ครั้ง


- junction
Junction คือจุดในโปรแกรมที่ control flowgraph สามารถรวมกันได้ เช่น คำสั่ง go to เมื่อ jump ไปยัง ปลายทางจะทำให้ control flowgraph ไปรวมกับเส้นทางอื่น

07-3 junction.PNG
07-3 junction.PNG (4.87 KiB) เปิดดู 343 ครั้ง


- สัญลักษณ์ที่ใช้
เส้นทาง(path) ลำดับคำสั่ง ที่เริ่มต้นจากจุดเริ่ต้นของโปรแกรม และไปยังจุดสิ้นสุดอีกจุดหนึ่ง ในหนึ่งเส้นทาง อาจจะมีการวิ่งผ่าน junction,process block,decision กี่รอบก็ได้ ซึ่ง path จะประกอบด้วยหลายๆ segment โดยที่ segment ที่เล็กที่สุดคือ link ซึ่งก็คือ 1 process ที่อยู่ระหว่าง 2 โนด(node) ความยาว(length) ของเส้นทางนับจากจำนวน link ในเส้นทางหรือจำนวนโนด(node) ที่วิ่งผ่าน

07-flowgraph.PNG
07-flowgraph.PNG (22.76 KiB) เปิดดู 343 ครั้ง


จากรูป เป็นการแสดงการเขียน control flowgraph ของโปรแกรม จะใช้ node แทนแต่ละ process block และ decision ได้แก่ 1,2,3,4 และ 5 ส่วน link คือ a,b,c,d และ e หมายเลข 2 เป็น decision node มีทางเลือก 2 ทาง คือ Y และ N เส้นทางหรือ path ได้แก่ 1-2-3-5(หรือa-d-e) และ 1-2-4-5(หรือa-b-c) ทั้งสองเส้นทางมีความยาวเท่ากับ 3
บางที Bug ก็ไม่มีเหตุผล และไม่ต้องการคำจำกัดความ

  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 2 และ บุคคลทั่วไป 0 ท่าน