Page 102 - เอกสารประกอบการสอนพื้นฐานการเขียนโปรแกรมคอมพิวเตอร์
P. 102

101


                       3.  การทดสอบและแก้ไขโปรแกรม (Testing and Debugging)

                              การทดสอบโปรแกรมจะกระท าเมื่อได้เขียนโปรแกรมตามที่ออกแบบไว้โดยใช้รูปแบบ
                       กฎเกณฑ์ของภาษาส าหรับเขียนโปรแกรมนั้น ๆ การทดสอบโปรแกรมเพื่อหาข้อผิดพลาดที่อาจพบได้
                       ดังนี้
                              3.1 ข้อผิดพลาดทางไวยากรณ์ของภาษา (Syntax Error) เกิดจากความผิดพลาดของการ

                       เขียนค าสั่งผิดรูปแบบ โดยจะเกิดขึ้นตอนกระบวนการแปลโปรแกรมที่เรียกว่าการคอมไพล์
                       (Compile) ท าให้โปรแกรมไม่สามารถน าไปประมวลผล (Run) ได้ ตัวอย่างข้อผิดพลาดทางไวยากรณ์
                       ของภาษา (Syntax Error) ที่มักจะพบบ่อย ๆ ได้แก่
                              - ลืมใส่เครื่องหมาย ; (Semicolon) จะมีข้อความแจ้งข้อผิดพลาด “expected ;” หรือ

                       “Statement missing ; in function main()”
                              - พิมพ์ค าสั่ง prinf ผิด จะมีข้อความแจ้งข้อผิดพลาด “`print' undeclared (first use this
                       function)” หรือ “Call to undefined function 'prinf' in function main()”

                              - ลืมใส่เครื่องหมาย ) (วงเล็บปิด)  จะมีข้อความแจ้งข้อผิดพลาด “expected `)' before ';'
                       token” หรือ “Function call missing ) in function main()”
                              - ประกาศตัวแปรไว้ แล้วเรียกใช้ผิด เช่น ประกาศตัวแปรชื่อ area ไว้ ตอนเรียกใช้พิมพ์ผิด
                       เป็น are จะมีข้อความแจ้งข้อผิดพลาด “`are' undeclared (first use this function)” หรือ
                       “'area' is assigned a value that is never used in function main()” ห รือ  “Undefined

                       symbol 'are' in function main()”
                              3.2 ข้อผิดพลาดทางตรรกะ (Logical Error) เป็นข้อผิดพลาดที่เกิดจากผู้เขียนโปรแกรมเอง
                       ซึ่งตรวจสอบได้ยากเพราะโปรแกรมจะสามารถคอมไพล์ (Compile) และสามารถน าไปประมวลผล

                       (Run) ได้ แต่ผลลัพธ์ที่ได้จากโปรแกรมไม่ถูกต้อง ซึ่งผู้เขียนโปรแกรมจะต้องท าการตรวจสอบด้วย
                       ตนเอง (Self Checking) เป็นการตรวจสอบการท างานของโปรแกรมทีละขั้นตอนทีละบรรทัดด้วย
                       ตนเองว่าโปรแกรมท างานได้ผลลัพธ์ถูกต้องตามความเป็นจริงหรือไม่  เพื่อให้โปรแกรมสามารถท างาน
                       ได้ถูกต้องตามวัตถุประสงค์ของการเขียนโปรแกรม ซึ่งขั้นตอนการตรวจสอบความถูกต้องของข้อมูลมี

                       ดังนี้
                              - ใส่ข้อมูลที่ถูกต้อง (Valid Case)  ใส่ข้อมูลที่ถูกต้องแล้วดูว่าผลลัพธ์ที่ได้ถูกต้องหรือไม่
                              - ใช้ขอบเขตและความถูกต้องของข้อมูล (Rang Check and Completeness Check)
                       ทดสอบโดยตรวจสอบขอบเขตข้อมูลที่ป้อนเข้าสู่โปรแกรม เช่น การเขียนโปรแกรมเพื่อตัดเกรด

                       จะต้องป้อนข้อมูลคะแนนที่มีค่าระหว่าง 0-100
                              - การใช้ความสมเหตุสมผล (Consistency Check)  เช่น ถ้าเลือกว่าเป็นเพศชาย ค าน าหน้า
                       ชื่อต้องเลือก “นาย” หรือ “เด็กชาย” หรือ “ด.ช.”ได้เท่านั้น
                              - ข้อมูลที่เป็นตัวเลขและตัวอักษร  เช่น ข้อมูลที่เป็นชื่อ ควรจะรับได้เฉพาะตัวอักษรเท่านั้น

                              - ข้อมูลที่เป็นไปตามข้อก าหนดของโปรแกรม  เช่น ต้องการให้ป้อนตัวเลข 1 - 5 เท่านั้น ถ้า
                       ป้อนตัวเลขอื่นไม่รับ
                              3 . 3 ข้อผิดพลาดระหว่างการประมวลผล (Run-time Error) มักจะเกิดจากความ

                       รู้เท่าไม่ถึงการณ์ส่งผลให้โปรแกรมหยุดทันทีในขณะที่ก าลังประมวลผลอยู่  หากผู้เขียนโปรแกรมไม่มี
                       การเขียนค าสั่งให้รองรับปัญหาที่อาจจะเกิดขึ้นไว้ก่อน เช่น การหารด้วย 0  การอ้างหรือเรียกใช้ตัว
                       แปรอาร์เรย์ (Array) เกินกว่าขอบเขตที่ก าหนดไว้ เป็นต้น
   97   98   99   100   101   102   103   104   105   106   107