(white box, black box) Software Testing

(white box, black box) Software Testing

วิธีการทดสอบจะเแบ่งออกเป็น 2 วิธีคือ
- Functional testing (Black box testing)
- Structural (White box testing)
Functional testing (Black box testing)
จะมองทั้งระบบเป็นเหมือน กล่องดำ(black box) ไม่สนใจว่าการทำงานภายในเป็นอย่างไร เช่น การทำงานของเครื่องจักร โดยเราแค่ป้อนคำสั่งให้เครื่องจักร แล้วดูว่าเครื่องจักรทำงานถูกต้องหรือไม่ โดยที่ไม่สนใจกระบวนการ
ทำงานว่าข้างในทำอะไรบ้าง เป็นต้น ส่วนการสร้างกรณีทดสอบจะต้องใช้เอกสารกำหนดคุณลักษณะความต้องการใช้งานซอฟต์แวร์(Requirement specification)





ข้อดีของการทดสอบแบบ functional Testing คือ
- กรณีทดสอบจะไม่ขึ้นกับวิธีการสร้างซอฟต์แวร์ แม้ว่าจะมีการเปลี่ยนแปลงขั้นตอนการทำงานภายใน แต่กรณีทดสอบก็ยังสามารถใช้ได้อยู่
- สามารถออกแบบกรณีทดสอบไปพร้อมๆกับการพัฒนาซอฟต์แวร์ได้ ทำให้ลดเวลาโดยรวมของการพัฒนาซอฟแวร์ลงไปได้

ข้อด้อยของการทดสอบแบบ functional Testing คือ
-  กรณีทดสอบอาจมีการซ้ำซ้อนกันได้ โดยอาจจะไปทดสอบซ้ำกับการทำงานเดิมภายใน black box ทำให้เสียเวลาโดยเปล่าประโยชน์
- การทดสอบอาจจะไม่ครอบคลุมการทำงานทั้งหมดภายในblack boxอาจมีช่องว่าที่ไม่ได้ทดสอบโดยที่เราไม่รู้

Structural testing(White box testing)
การทดสอบแบบ white box นั้นจะต้องรู้ว่าซอฟต์แวร์สร้างขึ้นมาอย่างไร และใช้การทำงานนั้นสร้างกรณีทดสอบขึ้นมา 
โดยจะต้องกำหนดกรณีทดสอบตามขั้นตอนการทำงานของฟังก์ชันที่สร้างขึ้นมาจริงๆ

การเปรียบเทียบการทำงาน
ทั้งการทดสอบแบบ Black box และ White box มีวัตถุประสงค์เพื่อสร้างกรณีทดสอบขึ้นมาทดสอบซอฟต์แวร์ ในส่วนของ Black box จะอาศัยข้อมูลจาก requirement specification เพียงอย่างเดียวในการสร้างกรณีทดสอบ ส่วนการทดสอบแบบ White box นั้น จะอาศัยขั้นตอนการทำงาน ของซอฟต์แวร์ หรือ source code เพียงอย่างเดียวในการสร้างกรณีทดสอบ ดังนั้นเราจะต้องใช้การทดสอบทั้ง 2 วิธีร่วมกัน เช่น
>> ถ้าเราใช้การทดสอบแบบ White box เพียงอย่างเดียวเราก็จะไม่รู้ว่าเราพัฒนาฟังก์ชันต่างๆ ตาม requirement specification ครบแล้วหรือไม่ และไม่สามารถบอกได้ว่ายังมี requierment specification ส่วนไหนที่ยังไม่ได้พัฒนา
>> ถ้าเราใช้การทดสอบแบบ Black box เพียงอย่างเดียว ในกรณีที่มีการสร้างฟังก์ชันที่นอกเหนือไปจากที่กำหนดไว้ใน requirement specification จะไม่สามารถบอกได้ว่าสร้างฟังก์ชันที่นอกเหนือกับที่กำหนดไว้

***แหล่งที่มาข้อมูล***
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

(Reengineering) ความหมายการปรับรื้อระบบ

การใช้งานโปรแกรม Weka ใช้ในการวิเคราะห์ข้อมูลด้วยเทคนิคเหมืองข้อมูล

การพัฒนาระบบและแผนภาพวงจรการพัฒนาระบบ (SDLC)