เกรย์คืออะไร Box การทดสอบ? เทคนิค ตัวอย่าง
สีเทา Box การทดสอบ
สีเทา Box การทดสอบ หรือการทดสอบแบบ Gray Box คือเทคนิคการทดสอบซอฟต์แวร์ที่ใช้ทดสอบผลิตภัณฑ์ซอฟต์แวร์หรือแอปพลิเคชันโดยมีความรู้บางส่วนเกี่ยวกับโครงสร้างภายในของแอปพลิเคชัน จุดประสงค์ของการทดสอบแบบ Grey Box คือการค้นหาและระบุข้อบกพร่องที่เกิดจากโครงสร้างโค้ดที่ไม่เหมาะสมหรือการใช้งานแอปพลิเคชันที่ไม่เหมาะสม
ในกระบวนการนี้ ข้อผิดพลาดเฉพาะบริบทที่เกี่ยวข้องกับระบบเว็บมักถูกระบุ ซึ่งจะทำให้การทดสอบครอบคลุมมากขึ้นโดยเน้นที่ทุกชั้นของระบบที่ซับซ้อน
สีเทา Box การทดสอบเป็นวิธีการทดสอบซอฟต์แวร์ซึ่งเป็นการผสมผสานระหว่างทั้งสองวิธี สีขาว Box การทดสอบ และสีดำ Box วิธีการทดสอบ
- ในสีขาว Box การทดสอบโครงสร้างภายใน (รหัส) เป็นที่รู้จักกัน
- ในสีดำ Box ไม่ทราบการทดสอบโครงสร้างภายใน (รหัส)
- ในสีเทา Box การทดสอบโครงสร้างภายใน (รหัส) เป็นที่รู้จักเพียงบางส่วน
สาขาวิชาวิศวกรรมซอฟต์แวร์ เกรย์ Box การทดสอบช่วยให้สามารถทดสอบได้ทั้งสองด้านของแอปพลิเคชัน ชั้นการนำเสนอ และส่วนของโค้ด โดยส่วนใหญ่แล้วการทดสอบจะมีประโยชน์ใน การทดสอบการผสานรวม และ Penetration Testing.
ตัวอย่างของ Grey Box การทดสอบ: ในขณะที่การทดสอบฟีเจอร์ของเว็บไซต์ เช่น ลิงก์หรือลิงก์เด็กกำพร้า หากผู้ทดสอบประสบปัญหากับลิงก์เหล่านี้ ผู้ทดสอบก็สามารถทำการเปลี่ยนแปลงในโค้ด HTML ได้ทันทีและสามารถตรวจสอบได้แบบเรียลไทม์
ทำไมต้องเกรย์. Box การทดสอบ
สีเทา Box การทดสอบจะดำเนินการด้วยเหตุผลดังต่อไปนี้
- มันให้ผลประโยชน์ร่วมกันของการทดสอบกล่องดำและการทดสอบกล่องขาว
- โดยจะรวมความคิดเห็นของนักพัฒนาและผู้ทดสอบเข้าด้วยกัน และปรับปรุงคุณภาพผลิตภัณฑ์โดยรวม
- ช่วยลดค่าใช้จ่ายของกระบวนการที่ยาวนานในการทดสอบประเภทการทำงานและไม่ทำงาน
- ช่วยให้นักพัฒนามีเวลาว่างเพียงพอในการแก้ไขข้อบกพร่อง
- การทดสอบเสร็จสิ้นจากมุมมองของผู้ใช้มากกว่ามุมมองของนักออกแบบ
สีเทา Box กลยุทธ์การทดสอบ
ในการทดสอบ Gray box นั้น ไม่จำเป็นที่ผู้ทดสอบจะต้องมีสิทธิ์เข้าถึงโค้ดต้นฉบับ การทดสอบได้รับการออกแบบโดยอาศัยความรู้เกี่ยวกับอัลกอริทึม สถาปัตยกรรม สถานะภายใน หรือคำอธิบายระดับสูงอื่นๆ ของพฤติกรรมของโปรแกรม
เพื่อทำการทดสอบ Gray box-
- ใช้เทคนิคการทดสอบกล่องดำแบบตรงไปตรงมา
- ขึ้นอยู่กับการสร้างกรณีทดสอบความต้องการ ดังนั้นจึงตั้งค่าเงื่อนไขทั้งหมดล่วงหน้าก่อนที่โปรแกรมจะถูกทดสอบโดยวิธีการยืนยัน
เทคนิคที่ใช้สำหรับการทดสอบ Grey box ได้แก่
- การทดสอบเมทริกซ์: เทคนิคการทดสอบนี้เกี่ยวข้องกับการกำหนดตัวแปรทั้งหมดที่มีอยู่ในโปรแกรม
- การทดสอบการถดถอย: เพื่อตรวจสอบว่าการเปลี่ยนแปลงในเวอร์ชันก่อนหน้าทำให้ส่วนอื่น ๆ ของโปรแกรมในเวอร์ชันใหม่ถดถอยหรือไม่ โดยจะดำเนินการโดยการทดสอบกลยุทธ์ เช่น ทดสอบซ้ำทั้งหมด ทดสอบกรณีการใช้งานที่มีความเสี่ยง ทดสอบซ้ำภายในไฟร์วอลล์
- การทดสอบอาร์เรย์มุมฉาก หรือข้าวโอ๊ต: ให้การครอบคลุมโค้ดสูงสุดโดยมีกรณีทดสอบขั้นต่ำ
- การทดสอบรูปแบบ: การทดสอบนี้ดำเนินการกับข้อมูลประวัติของข้อบกพร่องของระบบก่อนหน้านี้ ซึ่งแตกต่างจากการทดสอบกล่องดำ การทดสอบกล่องเทาจะเจาะลึกโค้ดและระบุสาเหตุที่ทำให้เกิดความล้มเหลว
โดยทั่วไปวิธีการ Grey box จะใช้ เครื่องมือทดสอบซอฟต์แวร์อัตโนมัติ เพื่อทำการทดสอบ Stubs และไดรเวอร์โมดูลถูกสร้างขึ้นเพื่อลดผู้ทดสอบเพื่อสร้างโค้ดด้วยตนเอง
ขั้นตอนในการดำเนินการทดสอบ Grey box มีดังนี้:
- ขั้นตอนที่ 1: ระบุอินพุต
- ขั้นตอนที่ 2: ระบุผลลัพธ์
- ขั้นตอนที่ 3: ระบุเส้นทางหลัก
- ขั้นตอนที่ 4: ระบุฟังก์ชันย่อย
- ขั้นตอนที่ 5: พัฒนาอินพุตสำหรับฟังก์ชันย่อย
- ขั้นตอนที่ 6: พัฒนาเอาต์พุตสำหรับฟังก์ชันย่อย
- ขั้นตอนที่ 7: ดำเนินการกรณีทดสอบสำหรับฟังก์ชันย่อย
- ขั้นตอนที่ 8: ตรวจสอบผลลัพธ์ที่ถูกต้องสำหรับฟังก์ชันย่อย
- ขั้นตอนที่ 9: ทำซ้ำขั้นตอนที่ 4 และ 8 สำหรับฟังก์ชันย่อยอื่นๆ
- ขั้นตอนที่ 10: ทำซ้ำขั้นตอนที่ 7 และ 8 สำหรับฟังก์ชันย่อยอื่นๆ
กรณีทดสอบสำหรับการทดสอบกล่องสีเทาอาจรวมถึงที่เกี่ยวข้องกับ GUI ที่เกี่ยวข้องกับความปลอดภัย ที่เกี่ยวข้องกับฐานข้อมูล ที่เกี่ยวข้องกับเบราว์เซอร์ Operaที่เกี่ยวข้องกับระบบ ฯลฯ
สีเทา Box ความท้าทายในการทดสอบ
- เมื่อส่วนประกอบที่อยู่ระหว่างการทดสอบพบความล้มเหลวบางประการ อาจส่งผลให้การดำเนินการที่กำลังดำเนินการอยู่ต้องยุติลง
- เมื่อดำเนินการทดสอบเต็มแต่เนื้อหาของผลลัพธ์ไม่ถูกต้อง
สรุป
- ต้นทุนโดยรวมของข้อบกพร่องของระบบสามารถลดลงและป้องกันไม่ให้ส่งต่อได้ด้วยการทดสอบ Grey box
- การทดสอบกล่องสีเทาเหมาะกับ GUI มากกว่า การทดสอบสมรรถนะ, การประเมินความปลอดภัย, เว็บแอปพลิเคชัน, บริการบนเว็บ ฯลฯ
- เทคนิคที่ใช้สำหรับการทดสอบ Grey Box
- การทดสอบเมทริกซ์
- การทดสอบการถดถอย
- การทดสอบข้าวโอ๊ตหรืออาร์เรย์มุมฉาก
- การทดสอบรูปแบบ