by • November 3, 2015 • Comments Off on การทดสอบโปรแกรม (Testing) Post Views: 37,532 วันนี้ขออธิบายสิ่งที่หลาย ๆ คนอาจจะรู้ อาจจะทราบกันอยู่แล้ว แต่บางคนอาจจะยังไม่รู้ถึงกระบวนการและความจำเป็นของการทดสอบระบบ ผู้เขียนจึงขอนำเสนอข้อมูลในเรื่องนี้สักหน่อย เนื่องจากกำลังทำงานหลัก ๆ ที่เกี่ยวกับการทดสอบโปรแกรมเป็นส่วนใหญ่
การ Test คือการทดสอบระบบว่าทำงานได้ถูกต้องได้ผลตามวัตถุประสงค์หรือไม่ ซึ่งเป็นการทดสอบกระบวนการทางพื้นฐานทางคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์มีหลักการง่าย ๆ คือ Input -> Process -> Output วิธีการกำหนด Test case อย่างง่ายที่สุดคือทำการ Test แต่ละส่วนโดยอยู่บนพื้นฐานของ Business requirement และวัตถุประสงค์ของระบบ ซึ่งจะต้องมีการเขียน Test case โดย Test case เป็นเอกสารที่ระบุชุดข้อมูลป้อนเข้าผลลัพธ์ ที่คาดว่าจะได้รับและกลุ่มของเงื่อนไขในการดำเนินการในชุดทดสอบต่าง ๆ มีจุดมุ่งหมายเพื่อแบ่งฟังก์ชันการทำงานของซอฟต์แวร์ออกเป็นฟังก์ชันย่อย ๆ เพื่อให้สามารถทำการทดสอบโดยชุดข้อมูลป้อนเข้าดังกล่าว และสร้างผลลัพธ์ที่สามารถประเมินผลได้โดยปกติจะขึ้นกับ use case ของระบบ
“Test case ประกอบด้วย”
- ชื่อ Test case โดยปกติแล้วคือ Use case ตาม ฺBusiness requirement เช่น การ login เข้าระบบ
- วัตถุประสงค์ของ Test case นั้น ๆ
- ผลที่คิดว่าจะได้รับ (Output)
- กำหนดลักษณะข้อมูลที่จะนำเข้าเพื่อใช้ในการ Test (Input)
- ขั้นตอนวิธีการทดสอบ เป็น Step 1,2,3,… ว่าแต่ละขั้นตอนต้องทำอะไรบ้าง
- ผลที่ได้จากการ test
“ชนิดของการ Test”
- ทดสอบความถูกต้อง
- Unit test เป็นการ test functional ของระบบในแต่ละส่วนย่อยๆเพื่อให้แน่ใจว่าแต่ละส่วนทำงานได้ถูกต้อง
- Integration test เป็นการนำแต่ละ unit มาประกอบกันและทดสอบการติดต่อระหว่าง unit ว่าสามารถทำงานได้ถูกต้อง
- End to end test เป็นการทดสอบระบบในภาพรวมโดยนำแต่ละส่วนของระบบมาประกอบกันให้สมบูรณ์ และทดสอบระบบประหนึ่งเป็น ผู้ใช้ของระบบ
- ทดสอบคุณภาพ
- Stress test เป็นการทดสอบประสิทธิภาพของระบบ เพื่อทดสอบว่าระบบสามารถรับจำนวนผู้ใช้, ข้อมูล ได้มากแค่ไหน
- Usability test เป็นการทดสอบประสิทธิภาพการใช้งานของระบบ เช่น UI เหมาะสมต่อการใช้งานหรือไม่ เข้าใจได้ง่ายหรือไม่
การทดสอบระบบไม่ว่าที่ไหนก็คงมีวิธีการและขั้นตอนไม่ต่างกันนัก ที่แตกต่างกันคงจะเป็นความเข้มข้นของการ Test เสียมากกว่า คือจะ Test ละเอียดแค่ไหน มีระบบที่ใช้เพื่อการ Test พร้อมหรือไม่ และทีมงานมีความพร้อมแค่ไหน
การจะเป็น Tester ที่ดีได้ต้องเข้าใจถึงมาตรฐานต่างๆที่ระบบใช้งาน เพื่อจะได้ทดสอบได้อย่างถูกต้องและแบบมีหลักเกณฑ์ ยกตัวอย่างง่ายๆ หากเป็น Tester ของเว็บไซต์ที่หนึ่ง หากไม่มีความรู้ด้านมาตรฐานหรือด้านเทคนิคเลย จะทดสอบอะไรได้บ้าง? เพียงแต่ click ดูแล้วดูผลลัพธ์ว่าตรงเท่านั้นหรือ?
ความสำคัญของการวัดและประเมินผลการเรียนรู้
การวัดและประเมินผลการเรียนรู้ของผู้เรียน เป็นองค์ประกอบสำคัญในการพัฒนาคุณภาพการศึกษา ทำให้ได้ข้อมูลสารสนเทศที่จำเป็นในการพิจารณาว่าผู้เรียนเกิดคุณภาพการเรียนรู้ตามผลการเรียนรู้ที่คาดหวังและมาตรฐานการเรียนรู้
จาก ประเภทของการประเมินโดยเฉพาะการแบ่งประเภทโดยใช้จุดประสงค์ของการประเมิน เป็นเกณฑ์ในการแบ่งประเภท จะเห็นว่า การวัดและประเมินผลการเรียนนอกจากจะมีประโยชน์โดยตรงต่อผู้เรียนแล้ว ยังสะท้อนถึงประสิทธิภาพการการสอนของครู และเป็นข้อมูลสำคัญที่สะท้อนคุณภาพการดำเนินงานการจัดการศึกษาของสถานศึกษา ด้วย ดังนั้นครูและสถานศึกษาต้องมีข้อมูลผลการเรียนรู้ของผู้เรียน ทั้งจากการประเมินในระดับชั้นเรียน ระดับสถานศึกษา และระดับอื่นที่สูงขึ้น ประโยชน์ของการวัดและการประเมินผลการเรียนรู้จำแนกเป็นด้านๆ ดังนี้
1. ด้านการจัดการเรียนรู้
การวัดและประเมินผลการเรียนรู้ของผู้เรียนมีประโยชน์ต่อการจัดการเรียนรู้หรือการจัดการเรียนการสอนดังนี้
1.1 เพื่อจัดตำแหน่ง (Placement) ผลจากการวัดบอกได้ว่าผู้เรียนมีความรู้ความสามารถอยู่ในระดับใดของกลุ่มหรือ เปรียบเทียบกับเกณฑ์แล้วอยู่ในระดับใด การวัดและประเมินเพื่อจัดตำแหน่งนี้ มักใช้ในวัตถุประสงค์ 2 ประการคือ
1.1.1 เพื่อคัดเลือก(Selection) เป็นการใช้ผลการวัดเพื่อคัดเลือกเพื่อเข้าเรียน เข้าร่วมกิจกรรม-โครงการ หรือเป็นตัวแทน(เช่นของชั้นเรียนหรือสถานศึกษา) เพื่อการทำกิจกรรม หรือการให้ทุนผล การวัดและประเมินผลลักษณะนี้คำนึงถึงการจัดอันดับที่เป็นสำคัญ
1.1.2 เพื่อแยกประเภท(Classification) เป็นการใช้ผลการวัดและประเมินเพื่อแบ่งกลุ่มผู้เรียน เช่น แบ่งเป็นกลุ่มอ่อน ปานกลาง และเก่ง แบ่งกลุ่มผ่าน-ไม่ผ่านเกณฑ์ หรือตัดสินได้-ตก เป็นต้น เป็นการวัดและประเมินที่ยึดเกณฑ์ที่ใช้ในการแบ่งกลุ่มเป็นสำคัญ
1.2 เพื่อวินิจฉัย (Diagnostic)เป็นการใช้ผลการวัดและประเมินเพื่อค้นหาจุดเด่น-จุดด้อยของผู้เรียนว่ามีปัญหาในเรื่องใด จุดใด มากน้อยแค่ไหน เพื่อนำไปสู่การตัดสินใจการวางแผนการจัดการเรียนรู้และการปรับปรุงการเรียนการสอนให้มีประสิทธิภาพยิ่งขึ้น เครื่องมือที่ใช้วัดเพื่อการวินิจฉับ เรียกว่า แบบทดสอบวินิจฉัย (Diagnostic Test) หรือแบบทดสอบวินิจฉัยการเรียน ประโยชน์ของการวัดและประเมินประเภทนี้นำไปใช้ในวัตถุประสงค์ 2 ประการดังนี้
1.2.1 เพื่อพัฒนาการเรียนรู้ของผู้เรียน ผลการวัดผู้เรียนด้วยแบบทดสอบวินิจฉัยการเรียนจะทำให้ทราบว่าผู้เรียนมีจุดบกพร่องจุดใด มากน้อยเพียงใด ซึ่งครูผู้สอนสามารถแก้ไขปรับปรุงโดยการสอนซ่อมเสริม (Remedial Teaching) ได้ตรงจุด เพื่อให้ผู้เรียนเกิดการเรียนรู้ตามมาตรฐานการเรียนรู้ที่คาดหวังไว้
1.2.2 เพื่อปรับปรุงการจัดการเรียนรู้ ผลการวัดด้วยแบบทดสอบวินิจฉัยการเรียน นอกจากจะช่วยให้เห็นว่าผู้เรียนมีจุดบกพร่องเรื่องใดแล้ว ยังช่วยให้เห็นจุดบกพร่องของกระบวนการจัดการเรียนรู้อีกด้วย เช่น ผู้เรียนส่วนใหญ่มีจุดบกพร่องจุดเดียวกัน ครูผู้สอนต้องทบทวนว่าอาจจะเป็นเพราะวิธีการจัดการเรียนรู้ไม่เหมาะสมต้องปรัปรุงแก้ไขให้เหมาะสม
1.3 เพื่อตรวจสอบและปรับปรุง การประเมินเพื่อพัฒนา (Formative Evaluation) เป็นการประเมินเพื่อตรวจสอบผลการเรียนรู้เทียบกับจุดประสงค์หรือผลการเรียนรู้ที่คาดหวัง ผลจากการประเมินใช้พัฒนาการจัดการเรียนรู้ให้มีประสิทธิภาพยิ่งขึ้น โดยอาจจะปรับปรุงหรือปรับเปลี่ยนวิธีการสอน (Teaching Method) ปรับเปลี่ยนสื่อการสอน (Teaching Media) ใช้นวัตกรรมการจัดการเรียนรู้ (Teaching Innovation) เพื่อนำไปสู่การพัฒนาการจัดการเรียนรู้ที่มีประสิทธิภาพ
1.4 เพื่อการเปรียบเทียบ(Assessment) เป็นการใช้ผลการวัดและประเมินเปรียบเทียบว่าผู้เรียนมีพัฒนาการจากเดิมเพียงใด และอยู่ในระดับที่พึงพอใจหรือไม่
1.5 เพื่อการตัดสิน การประเมินเพื่อการตัดสินผลการเรียนของผู้เรียนเป็นการประเมินรวม (Summative Evaluation) คือใช้ข้อมูลที่ได้จากการวัดเทียบกับเกณฑ์เพื่อตัดสินผลการเรียนว่าผ่าน-ไม่ผ่าน หรือให้ระดับคะแนน
2. ด้านการแนะแนว
ผลจากการวัดและประเมินผู้เรียน ช่วยให้ทราบว่าผู้เรียนมีปัญหาและข้อบกพร่องในเรื่องใด มากน้อยเพียงใด ซึ่งสามารถแนะนำและช่วยเหลือผู้เรียนให้แก้ปัญหา มีการปรับตัวได้ถูกต้องตรงประเด็น นอกจากนี้ผลการวัดและประเมินยังบ่งบอกความรู้ความสามารถ ความถนัด และความสนใจของผู้เรียน ซึ่งสามารถนำไปใช้แนะแนวการศึกษาต่อและแนะแนวการเลือกอาชีพให้แก่ผู้เรียนได้
3. ด้านการบริหาร
ข้อมูลจากการวัดและประเมินผู้เรียน ช่วยให้ผู้บริหารเห็นข้อบกพร่องต่างๆ ของการจัดการเรียนรู้ เป็นการประเมินผลการปฏิบัติงานของครู และบ่งบอกถึงคุณภาพการจัดการศึกษาของสถานศึกษา ผู้บริหารสถานศึกษามักใช้ข้อมูลได้จากการวัดและประเมินใช้ในการตัดสินใจหลายอย่าง เช่น การพัฒนาบุคลากร การจัดครูเข้าสอน การจัดโครงการ การเปลี่ยนแปลงโปรแกรมการเรียน นอกจากนี้การวัดและประเมินผลยังให้ข้อมูลที่สำคัญใน
การจัดทำรายงานการประเมินตนเอง (SSR) เพื่อรายงานผลการจัดการศึกษาสู่ผู้ปกครอง สาธารณชน หน่วยงานต้นสังกัด และนำไปสู่การรองรับการประเมินภายนอก จะเห็นว่าการวัดและประเมินผลการศึกษาเป็นหัวใจสำคัญของระบบการประกันคุณภาพทั้งภายในและภายนอกสถานศึกษา
4. ด้านการวิจัย
การวัดและประเมินผลมีประโยชน์ต่อการวิจัยหลายประการดังนี้
4.1 ข้อมูลจาการวัดและประเมินผลนำไปสู่ปัญหาการวิจัย เช่น ผลจากการวัดและประเมินพบว่าผู้เรียนมีจุดบกพร่องหรือมีจุดที่ควรพัฒนาการ แก้ไขจุดบกพร่องหรือการพัฒนาดังกล่าวโดยการปรับเปลี่ยนเทคนิควิธีสอนหรือทด ลองใช้นวัตกรรมโดยใช้กระบวนการวิจัย การวิจัยดังกล่าวเรียกว่า การวิจัยในชั้นเรียน (Classroom Research) นอกจากนี้ผลจากการวัดและประเมินยังนำไปสู่การวิจัยในด้านอื่น ระดับอื่น เช่น การวิจัยของสถานศึกษาเกี่ยวกับการทดลองใช้รูปแบบการพัฒนาคุณลักษณะของผู้เรียน เป็นต้น
4.2 การวัดและประเมินเป็นเครื่องมือของการวิจัย การวิจัยใช้การวัดในการรวบรวมข้อมูลเพื่อศึกษาผลการวิจัย ขั้นตอนนี้เริ่มจากการหาหรือสร้างเครื่องมือวัด การทดลองใช้เครื่องมือ การหาคุณภาพเครื่องมือ จนถึงการใช้เครื่องมือที่มีคุณภาพแล้วรวบรวมข้อมูลการวัดตัวแปรที่ศึกษา หรืออาจต้องตีค่าข้อมูล จะเห็นว่าการวัดและประเมินผลมีบทบาทสำคัญมากในการวิจัย เพราะการวัดไม่ดี ใช้เครื่องมือไม่มีคุณภาพ ผลของการวิจัยก็ขาดความน่าเชื่อถือ