Testing

Black Box Testing คืออะไร

Black Box Testing เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ใช้วัดฟังก์ชันของระบบโดยไม่ต้องรู้โครงสร้างภายในของซอฟต์แวร์ หรือไม่ต้องดูโค้ด สามารถนำไปใช้ได้โดยไม่ต้องมีความรู้เกี่ยวกับโครงสร้างหรือโค้ดภายใน โดยมองระบบที่เกี่ยวข้องเป็นกล่องดำ (black box) โดยเป้าหมายของการทดสอบแบบ Black Box คือต้องวัดว่าระบบสามารถให้ผลลัพธ์ตามที่ต้องการหรือไม่ โดยจะต้องทดสอบผลลัพธ์ที่ไม่ได้คาดหวังด้วย เช่นกันกับผลลัพธ์ที่คาดหวังจากระบบ

เทคนิคการออกแบบทดสอบแบบ Black Box เป็นอีกหนึ่งเทคนิคที่ Tester ใช้บ่อยๆ สามารถนำไปใช้ทดสอบทุกระดับเช่น Unit, Integration, System และ User Acceptance Testing โดย Black Box Testing มีข้อดีและข้อเสีย มาดูกันด้านล่าง

ข้อดีของ Black Box Tests:

  • ไม่จำเป็นต้องมีความรู้ในโค้ดเนื่องจากการสร้างทดสอบเป็นงานของ Tester เอง
  • เนื่องจากการพัฒนาและการทดสอบโค้ดโดย Developer และ Tester ต่างกัน การทดสอบจะสามารถดำเนินได้จากมุมมองต่างๆ และจะสามารถตรวจหาข้อผิดพลาดที่ไม่ได้รับการสังเกตได้อย่างง่ายดาย
  • สามารถทดสอบได้อย่างรวดเร็วและมีประสิทธิภาพ
  • สามารถสร้างสถานการณ์การทดสอบได้เร็วทันทีหลังจากกำหนดความต้องการ
  • เมื่อใช้วิธีการนี้ในระบบขนาดใหญ่ จะได้ผลลัพธ์ที่มีประสิทธิภาพสูง

ข้อเสียของ Black Box Tests:

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

7 เทคนิคการทดสอบแบบ Black Box

  1. Equivalence Division Design (การออกแบบแบ่งส่วนเท่าเทียม) เทคนิคนี้เรียกได้ว่าเป็นเทคนิคการทดสอบแบ่งส่วนเท่าเทียม โดยคือการแบ่งกลุ่มของเงื่อนไขการทดสอบที่มีลักษณะและการใช้งานเหมือนกัน และเลือกชุดข้อมูลจำกัดจำนวนจากแต่ละกลุ่มที่กำหนดเพื่อใช้ในการทดสอบ
  1. Boundary Value Technique Design (การออกแบบเทคนิคค่าขอบเขต) เป็นเทคนิคการทดสอบโดยการตรวจสอบค่าต่ำสุดและค่าสูงสุดของตัวแปรแทนที่จะมุ่งเน้นไปที่จุดเดียวในซอฟต์แวร์เพื่อหาข้อผิดพลาดในซอฟต์แวร์ นอกจากนี้ เทคนิคนี้ยังใช้เพราะความน่าจะเป็นของข้อผิดพลาดในค่าขอบเขตของซอฟต์แวร์สูงกว่า
  2. Decision Table Test Design (การออกแบบการทดสอบตารางการตัดสินใจ) เป็นเทคนิคการทดสอบที่ใช้กับซอฟต์แวร์ที่มีเงื่อนไขธุรกิจหลายอย่าง กฎการทำธุรกิจถูกเขียนไว้บนตารางและค่าที่สามารถใช้สำหรับอินพุทและเอาต์พุทจะแสดงในตารางนี้ และสร้างสถานการณ์การทดสอบที่เป็นไปได้ทั้งหมดในตาราง
  3. Classification Tree Test Design (การออกแบบการทดสอบต้นไม้ประเภท) เป็นเทคนิคการออกแบบการทดสอบ โดยที่เทคนิคนี้จะจำแนกเงื่อนไขการทดสอบไว้ในรูปแบบต้นไม้ ที่มีลักษณะเป็นส่วนประกอบที่สามารถเทียบเท่ากันได้และสร้างสถานการณ์การทดสอบโดยอิงความสัมพันธ์ของส่วนประกอบเหล่านั้นกับกัน
  4. Paired Test Design Technique (การออกแบบเทคนิคทดสอบแบบคู่) เป็นเทคนิคการออกแบบทดสอบที่ลดจำนวนสถานการณ์การทดสอบลงอย่างมีนัยสำคัญในกรณีที่ฟังก์ชันของซอฟต์แวร์ที่กำลังทดสอบมีมากกว่าหนึ่งชุด แทนที่จะทดสอบกับสถานการณ์ที่มีเพียงหนึ่งอินพุทและเอาต์พุท เทคนิคนี้จะใช้สถานการณ์ทดสอบที่มีสองอินพุทเพื่อเพิ่มการตรวจสอบข้อผิดพลาด และช่วยประหยัดเวลาการทดสอบได้อย่างมาก
  5. State Transition Test Design Technique (การออกแบบการทดสอบการเปลี่ยนสถานะ) เป็นเทคนิคการออกแบบการทดสอบโดยการประเมินเงื่อนไขที่ผ่านมาและสภาพปัจจุบันของซอฟต์แวร์ การทดสอบการเปลี่ยนสถานะจะถูกทดสอบ โดยที่การเปลี่ยนสถานะที่ประสบความสำเร็จและไม่ประสบความสำเร็จจะถูกพล็อตลงในแผนภูมิ นี่เป็นเทคนิคที่ถูกนำมาใช้บ่อยในระบบฝังตัวหรือระบบอิเล็กโทรนิกส์
  6. Use Case Test Design Technique (การออกแบบการทดสอบ Use Case) ในเทคนิคนี้ สถานการณ์ทดสอบถูกสร้างขึ้นโดยใช้ข้อกำหนดที่เป็นฟังก์ชันและไม่ใช่ฟังก์ชัน คุณสมบัติที่สำคัญที่สุดของเทคนิคนี้คือว่าสถานการณ์ทดสอบเป็นชัดเจนและละเอียดถี่ถ้วน โดยพื้นฐานแล้ววิธีการทดสอบจะวัดผู้ใช้งานและว่าสถานการณ์ที่ผู้ใช้คาดหวังจากระบบเกิดขึ้นหรือไม่
Patter S

You may also like

Testing

QA กับ Tester เหมือนหรือต่างกันอย่างไร

QA (Quality Assurance) และ Tester มีความเหมือนและความต่างกันในบางส่วน ทั้งสองบทบาทนี้มุ่งเน้นไปที่การรักษาคุณภาพของซอฟต์แวร์หรือผลิตภัณฑ์ อย่างไรก็ตาม โดยทั่วไปแล้ว มีความแตกต่างในระดับความรับผิดชอบและขอบเขตของงาน: แม้ว่า QA และ ...
Testing

ตำแหน่ง QA หรือ Tester ต้องทำงานร่วมกับใครบ้าง

ตำแหน่ง QA (Quality Assurance) หรือ Tester มีหน้าที่ทดสอบและตรวจสอบคุณภาพของซอฟต์แวร์หรือผลิตภัณฑ์เพื่อให้แน่ใจว่ามันทำงานได้ถูกต้องและตรงตามความต้องการ ในบทบาทนี้ คุณจะต้องทำงานร่วมกับผู้ที่เกี่ยวข้องตามทีมงานและแผนกต่าง ๆ ซึ่งอาจรวมถึง: การทำงานร่วมกันในทีมงานเหล่านี้จะช่วยให้คุณสามารถประสานงานได้มากขึ้น สื่อสารได้มากขึ้น ...
Testing

เปลี่ยนสายงานมาเป็น Software Tester ต้องรู้อะไรบ้าง

การเปลี่ยนสายงานมาเป็น Software Tester คุณจำเป็นต้องรู้และเข้าใจเกี่ยวกับหลายเรื่องที่เกี่ยวข้องกับการทดสอบซอฟต์แวร์ บางความรู้และทักษะที่ควรมี ได้แก่: เมื่อคุณเริ่มต้นสายงานใหม่เป็น Software Tester คุณอาจต้องการศึกษาหาความรู้เพิ่มเติม และเรียนรู้จากที่ทำ การฝึกอบรม และการร่วมงานกับผู้เชี่ยวชาญในสายงาน ...

Leave a reply

Your email address will not be published. Required fields are marked *

More in Testing

Testing

วิธีรัน JMeter ผ่าน Proxy Server

ถ้าในองค์กรของเรามีการใช้งาน Proxy อยู่ จะทำให้การทำ Script หรือรันนั้นเจอปัญหาการเข้าถึง System หรือ Application นั้นๆ เราสามารถ Config proxy ...
Testing

งาน Tester คำถามที่ต้องโดนสัมภาษณ์

ส่วนใหญ่เขาจะเกริ่นก่อนว่า ให้เรา1. แนะนำตัวเอง โดยประมาณ 2 นาที ไม่ควรแนะนำตัวเองเกิน 5นาที– ชื่อ นามสกุล– ตำแหน่งงานที่เราทำ– ประสบการณ์การทำงานทั้งหมดกี่ปี– หน้าที่ความรับผิดชอบของงานที่ทำมีอะไรบ้าง– ...