Wednesday, September 21, 2016

3 การพัฒนาระบบ (Development) (การโปรแกรม (Programming))

3 การพัฒนาระบบ (Development) (การโปรแกรม (Programming))
โปรแกรมแต่ละโปรแกรมถูกพัฒนาขึ้นตามที่ได้ออกแบบเนื้อหาไว้ในขั้นตอนการออกแบบระบบ ในการทำงานของระบบ จึงเป็นเรื่องสำคัญที่จะต้องสร้างขั้นตอนการประมวลผลของแต่ละโปรแกรม (individual program processing procedures) รายละเอียดในการประมวลผล (processing details) และผลลัพท์จากการประมวลผล (processing results) ตามที่ได้ออกแบบไว้ นอกจากนี้ยังต้องทำการ ทดสอบในแต่ละหน่วยการทำงาน (unit testing หรือ module testing) เพื่อยืนยันว่าแต่ละโมดูลที่สร้างขึ้นสามารถทำงานได้เป็นปกติตามที่ได้ทำการออกแบบไว้ใน การกำหนดคุณสมบัติการออกแบบโปรแกรม (program design specification) การทดสอบแต่ละหน่วยการทำงานหรือการทดสอบแต่ละโมดูล เพื่อทำการค้นหาความผิดพลาดเชิงตรรกะที่อาจเกิดขึ้นในแต่ละโมดูล โดยทำการตรวจสอบทีละโมดูล และตรวจเช็คว่าแต่ละโมดูลสามารถทำงานได้ตามที่กำหนดไว้จากที่กำหนดคุณสมบัติไว้ ในการทดสอบแต่ละโมดูล จะดำเนินการโดยใช้วิธีการทดสอบแบบกล่องใส (White box tests) และคอมไพเลอร์ (Compilers)
(1) การทดสอบแบบกล่องใส (White box test) การทดสอบกล่องใส (White box test) หรือกล่องขาว เป็นเทคนิคสำหรับการตรวจสอบโครงสร้างภายในและการทำงานเชิงตรรกะของโปรแกรมที่เน้นการควบคุมโปรแกรม (control) และลำดับการทำงานของโปรแกรม (flow)
หมายเหตุ ใช้กล่องใสในภาษาไทยแทนที่จะเป็นกล่องขาว เนื่องจากเห็นว่าเป็นการทดสอบที่สนใจในรายละเอียดภายในของโปรแกรม หากใช้คำว่ากล่องใสจะให้ความหมายที่ชัดเจนกว่าคำว่ากล่องขาว การทดสอบโครงสร้างภายในของระบบ ต้องทำการทดสอบด้วย เหตุการณ์ทดสอบต่างๆ ที่ครอบคลุมทุกคำสั่งและเงื่อนไขทั้งเงื่อนไขหลัก และเงื่อนไขย่อย
โครงสร้างภายในของโปรแกรม (Internal structure of program) ในการตรวจสอบด้วยเทคนิคกล่องใส เป็นการตรวจสอบที่ให้ความสำคัญกับโครงสร้างภายในของโปรแกรม การทดสอบใช้วิธีกำหนดกรณีหรือเหตุการณ์เพื่อทำการทดสอบ (test cases) ที่ครอบคลุมเงื่อนไขทุกๆ เงื่อนไขและทุกๆ แขนงการตัดสินใจ เพื่อพิสูจน์ความถูกต้องในการตัดสินใจในการเลือกที่จะทำงานอย่างหนึ่งอย่างใดด้วยเงื่อนไขต่างๆ
คำสั่งที่ครอบคลุม (Statement coverage) เป็นการกำหนดเงื่อนไขที่ครอบคลุม (Condition coverage) เพื่อใช้ทำการทดสอบทุกกรณีหรือทุกเหตุการณ์ที่อาจเกิดขึ้น
(2) คอมไพเลอร์ (Compiler) คอมไพเลอร์เป็นโปรแกรมที่ทำหน้าที่แปลงโค้ดโปรแกรมที่เขียนขึ้นด้วยภาษาโปรแกรมใดๆ ให้เป็นโปรแกรมคอมพิวเตอร์ที่สามารถทำงานได้หรือสามารถเอ็กซีคิวท์ได้ ทั้งนี้สามารถใช้คอมไพเลอร์เพื่อยืนยันความบกพร่อง (bugs) หรือข้อผิดพลาด (errors) ที่อาจเกิดขึ้นในโปรแกรมที่พัฒนาขึ้นได้

อ้างอิง
การโปรแกรม (Programming) การโปรแกรม เป็นขั้นตอนในการอธิบายอัลกอริธึม (ขั้นตอนในการคิดเพื่อการแก้ไขปัญหา) ตามหลักเกณฑ์หรือกฎ (Rules) และไวยากรณ์ (Syntax) ของภาษาโปรแกรม (Programming languages) เช่นเดียวกับการดำเนินการทดสอบการทำงาน
โมดูล (Module) โมดูลเป็นหน่วยเล็กที่สุดขององค์ประกอบในโปรแกรม โดยทั่วไปในโปรแกรมหนึ่งประกอบด้วยโมดูลมากกว่าหนึ่งโมดูล
การแก้ไขจุดบกพร่อง (Debugging) การแก้ไขจุดบกพร่องหรือการดีบัก หมายถึงการค้นหาข้อบกพร่องในโปรแกรมคอมพิวเตอร์และลบข้อบกพร่องเหล่านั้นออกจากโปรแกรม ซึ่งแตกต่างจากการทดสอบ หากมีการตรวจพบข้อพิดพลาด ก็จะทำการกำหนดขอบเขตที่ส่งผลต่อความผิดพลาดนั้นให้มีขอบเขตแคบลงเพื่อสามารถแก้ไขความผิดพลาดในโปรแกรมเหล่านั้นได้
คำสั่งที่ครอบคลุม (Statement coverage) การทดสอบด้วยคำสั่งที่ครอบคลุม เป็นวิธีในการสร้างกรณีหรือเหตุการณ์เพื่อใช้ในการทดสอบ โดยทุกๆ คำสั่งที่กำหนดขึ้นต้องถูกสั่งให้ทำงาน หรือเอ็กซีคิวท์อย่างน้อยหนึ่งครั้ง การทดสอบด้วยวิธีนี้ เป็นวิธีหนึ่งของการทดสอบแบบกล่องใส (White box tests)

เงื่อนไขที่ครอบคลุม (Condition coverage) การทดสอบด้วยเงื่อนไขที่ครอบคลุม เป็นวิธีการในการสร้างกรณีหรือเหตุการณ์ที่ใช้ในการทดสอบที่เป็นทั้งกรณีที่ถูก และกรณีที่ผิด เพื่อทดสอบเงื่อนไขในการตัดสินใจที่ครอบคลุมในการทำงานของโปรแกรมทั้งหมด เป็นอีกวิธีหนึ่งในการทดสอบแบบกล่องใส (White box tests)

No comments: