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

การทำ Performance Testing ด้วย JMeter

Apache JMeter คือเครื่องมือทดสอบประสิทธิภาพแบบ open-source ที่ใช้สำหรับการทดสอบและวัดประสิทธิภาพของซอฟต์แวร์ที่หลากหลาย เช่น แอปพลิเคชันเว็บ, บริการเว็บ, ฐานข้อมูล, การส่งคิวข้อความ, และอื่น ๆ มาดูวิธีการทำ ...
Testing

ตำแหน่ง QA Software Testing และโอกาสก้าวหน้าในสายงาน

ตำแหน่งในสายงาน QA Software Testing มีหลายระดับ ที่กำหนดขึ้นโดยองค์กร หน้าที่ของแต่ละระดับอาจแตกต่างกัน ซึ่งให้ความสำคัญในการพัฒนาตัวเองเพื่อเตรียมพร้อมในการก้าวหน้าในอาชีพ ในบทความนี้เราจะมาทำความเข้าใจเกี่ยวกับตำแหน่งต่าง ๆ และหน้าที่ของแต่ละ Level ในสายงาน ...
Testing

การทำ Automated Test ด้วย Robot Framework กับ Cypress เลือกใช้อะไร เพราะอะไร

Robot Framework และ Cypress เป็นเครื่องมือทดสอบ Automated Testing ที่มีความนิยมและใช้งานกันอย่างแพร่หลาย และคุณสามารถเลือกใช้อันใดก็ได้ขึ้นอยู่กับความต้องการและการใช้งานของคุณ Robot Framework เป็นเครื่องมือทดสอบ Automated ...

Leave a reply

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

More in Testing

Testing

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

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

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

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