หน้า 1 จากทั้งหมด 1

วิธีการทดสอบ (white box, black box) Software Testing

โพสต์แล้ว: 04/06/2014 2:10 pm
โดย jay_limm
วิธีการทดสอบจะเแบ่งออกเป็น 2 วิธีคือ
- Functional testing (Black box testing)
- Structural (White box testing)


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

05.PNG
05.PNG (9.45 KiB) Viewed 29041 times
ข้อดีของการทดสอบแบบ 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 จะไม่สามารถบอกได้ว่าสร้างฟังก์ชันที่นอกเหนือกับที่กำหนดไว้

Re: วิธีการทดสอบ (white box, black box) Software Testing

โพสต์แล้ว: 07/08/2017 10:38 am
โดย mindphp