การทดสอบโดเมนในการทดสอบซอฟต์แวร์คืออะไร? (พร้อมตัวอย่าง)

การทดสอบโดเมนคืออะไร?

การทดสอบโดเมน คือ การทดสอบซอฟต์แวร์ กระบวนการที่แอปพลิเคชันได้รับการทดสอบโดยให้จำนวนอินพุตขั้นต่ำและประเมินผลลัพธ์ที่เหมาะสม เป้าหมายหลักของการทดสอบโดเมนคือการตรวจสอบว่าแอปพลิเคชันซอฟต์แวร์ยอมรับอินพุตภายในช่วงที่ยอมรับได้หรือไม่และส่งมอบเอาต์พุตที่ต้องการ

มันเป็น การทดสอบสมรรถนะ เทคนิคที่ทดสอบเอาต์พุตของระบบด้วยจำนวนอินพุตขั้นต่ำเพื่อให้แน่ใจว่าระบบไม่ยอมรับค่าอินพุตที่ไม่ถูกต้องและอยู่นอกช่วง มันเป็นหนึ่งในสิ่งที่สำคัญที่สุด สีขาว Box การทดสอบ วิธีการ นอกจากนี้ยังตรวจสอบว่าระบบไม่ควรยอมรับอินพุต เงื่อนไข และดัชนีที่อยู่นอกช่วงที่ระบุหรือถูกต้อง

การทดสอบโดเมนจะแตกต่างกันไปในแต่ละโดเมน ดังนั้นคุณต้องมีความรู้เฉพาะโดเมนเพื่อที่จะทดสอบระบบซอฟต์แวร์

แนวทางปฏิบัติที่ง่ายกว่าในการทดสอบโดเมน

ในการทดสอบโดเมน เราจะแบ่งโดเมนออกเป็นโดเมนย่อย (คลาสที่เทียบเท่า) จากนั้นทดสอบโดยใช้ค่าจากแต่ละโดเมนย่อย ตัวอย่างเช่น หากมีการกำหนดเว็บไซต์ (โดเมน) ไว้สำหรับการทดสอบ เราจะแบ่งเว็บไซต์ออกเป็นส่วนเล็กๆ (โดเมนย่อย) เพื่อความสะดวกในการทดสอบ

โดเมนอาจเกี่ยวข้องกับการทดสอบตัวแปรอินพุตตัวใดตัวหนึ่งหรือการรวมกันของตัวแปรอินพุต

ผู้ปฏิบัติงานมักจะศึกษากรณีที่ง่ายที่สุดของการทดสอบโดเมนที่มีชื่อน้อยกว่าสองชื่อ นั่นคือ "การทดสอบขอบเขต" และ "การวิเคราะห์คลาสที่เทียบเท่า"

การทดสอบขอบเขต – การวิเคราะห์ค่าขอบเขต (BVA) ขึ้นอยู่กับการทดสอบที่ขอบเขตระหว่างพาร์ติชัน เราจะทดสอบทั้งค่าอินพุตที่ถูกต้องและไม่ถูกต้องในพาร์ติชัน/คลาส

การทดสอบคลาสความเท่าเทียมกัน – แนวคิดเบื้องหลังเทคนิคนี้คือการแบ่ง (เช่น การแบ่งส่วน) ชุดของเงื่อนไขการทดสอบออกเป็นกลุ่มหรือชุดที่สามารถพิจารณาได้ว่าเหมือนกัน (กล่าวคือ ระบบควรจัดการเงื่อนไขเหล่านั้นอย่างเท่าเทียมกัน) ดังนั้น 'การแบ่งพาร์ติชันที่เท่าเทียมกัน'

แบบฟอร์มที่เรียบง่ายนั้นใช้สำหรับการทดสอบโดเมน –

  1. เพื่อทดสอบตัวแปรอินพุตเท่านั้น
  2. เมื่อทดสอบในระดับระบบเท่านั้น
  3. เมื่อทดสอบทีละครั้งเท่านั้น
  4. เมื่อทดสอบด้วยวิธีผิวเผินเท่านั้น

สามารถทำให้ง่ายขึ้นได้ดังนี้:

ตัวแปร คลาสเทียบเท่าคลาสที่ถูกต้อง คลาสเทียบเท่าคลาสไม่ถูกต้อง ขอบเขตและกรณีพิเศษ หมายเหตุ :
X 0-100 0
100
<0 -1
> 100 101

คำอธิบาย:

  1. หากฟิลด์ยอมรับช่วงตั้งแต่ 0-100 ฟิลด์นั้นไม่ควรยอมรับ -1 และ 101 เนื่องจากเป็นรายการที่ไม่ถูกต้องและอยู่นอกขอบเขต
  2. ฟิลด์ควรยอมรับค่าต่างๆ เช่น 0,100 และตัวเลขใดๆ ที่อยู่ระหว่างค่าเหล่านั้น

การสร้างตารางแบบนี้ (ในทางปฏิบัติ)

  1. หากต้องการสร้างการวิเคราะห์คลาสความเท่าเทียมกันในช่วงเวลาหนึ่ง ให้ใส่ข้อมูลลงในสเปรดชีต เริ่มต้นด้วยการแสดงรายการตัวแปร เพิ่มข้อมูลเกี่ยวกับพวกเขาเมื่อคุณได้รับมัน
  2. ในที่สุดตารางก็ควรมีตัวแปรทั้งหมด ซึ่งหมายความว่าตัวแปรอินพุตทั้งหมด ตัวแปรเอาต์พุตทั้งหมด และตัวแปรกลางใดๆ ที่คุณสามารถสังเกตได้
  3. ในทางปฏิบัติ ตารางส่วนใหญ่ที่ฉันเห็นยังไม่สมบูรณ์ รายการที่ดีที่สุดที่เห็นจะแสดงรายการตัวแปรทั้งหมดและเพิ่มรายละเอียดสำหรับตัวแปรที่สำคัญ

กลยุทธ์การทดสอบโดเมน

ในระหว่างการทดสอบโดเมน คุณต้องพิจารณาสิ่งต่อไปนี้

  1. เรากำลังทดสอบโดเมนใด
  2. จะจัดกลุ่มค่าออกเป็นคลาสได้อย่างไร?
  3. ค่าใดของคลาสที่จะทดสอบ?
  4. จะตรวจสอบผลลัพธ์ได้อย่างไร?

เรากำลังทดสอบโดเมนใด

โดเมนใดๆ ที่เราทดสอบมีฟังก์ชันอินพุตและฟังก์ชันเอาต์พุตบางอย่าง จะมีการป้อนตัวแปรอินพุตบางตัวและต้องมีการตรวจสอบเอาต์พุตที่เหมาะสม

กลยุทธ์การทดสอบโดเมน

ตัวอย่างการทดสอบโดเมน

  1. พิจารณาสถานการณ์การทดสอบอินพุตเดียว:

C = a+b โดยที่ a และ b เป็นตัวแปรอินพุต และ C คือตัวแปรเอาต์พุต

ในตัวอย่างข้างต้น ไม่จำเป็นต้องจำแนกประเภทหรือรวมตัวแปรเข้าด้วยกัน

  1. พิจารณาอินพุตหลายรายการด้านล่างและสถานการณ์เอาต์พุตที่เหมาะสม:

พิจารณานิทรรศการเกมสำหรับเด็ก มีการจัดการแข่งขัน 6 รายการ และต้องแจกตั๋วตามอายุและเพศ การออกตั๋วเป็นหนึ่งในโมดูลที่จะได้รับการทดสอบสำหรับการใช้งานทั้งหมดของนิทรรศการเกม

ตามสถานการณ์ เรามีหกสถานการณ์ตามอายุและการแข่งขัน:

  1. อายุ > 5 และ <10 ปี เด็กผู้ชายควรมีส่วนร่วมในการเล่าเรื่อง
  2. อายุ >5 และ <10 ปี เด็กหญิงควรเข้าร่วมการแข่งขันวาดภาพ
  3. อายุ >10 และ <15 ปี เด็กชายควรเข้าร่วมแบบทดสอบ
  4. อายุ >10 และ <15 ปี เด็กผู้หญิงควรมีส่วนร่วมในการเขียนเรียงความ
  5. อายุ <5 ปี ทั้งเด็กชายและเด็กหญิงควรเข้าร่วมการแข่งขัน Rhymes
  6. อายุ > 15 ปี ทั้งเด็กชายและเด็กหญิงควรเข้าร่วมการแข่งขันกวีนิพนธ์

ข้อมูลที่ระบุจะเป็นอายุและเพศ และจะมีการออกตั๋วสำหรับการแข่งขัน ในกรณีนี้พาร์ติชันของอินพุตหรือเพียงการจัดกลุ่มค่าจะเข้ามาในรูปภาพ

จะจัดกลุ่มค่าออกเป็นคลาสได้อย่างไร?

การแบ่งพาร์ติชันค่าบางค่าหมายถึงการแบ่งค่าออกเป็นชุดย่อยที่ไม่ทับซ้อนกัน

ดังที่เราได้กล่าวไว้ก่อนหน้านี้ การแบ่งพาร์ติชันมีสองประเภท:

  1. การแบ่งส่วนความเท่าเทียมกัน – การแบ่งพาร์ติชันที่เท่ากันคือ การทดสอบซอฟต์แวร์ เทคนิคที่แบ่งข้อมูลอินพุตของหน่วยซอฟต์แวร์ออกเป็นพาร์ติชันของข้อมูลที่เทียบเท่าซึ่งสามารถรับกรณีทดสอบได้ โดยหลักการแล้ว กรณีทดสอบได้รับการออกแบบให้ครอบคลุมแต่ละพาร์ติชันอย่างน้อยหนึ่งครั้ง
  2. การวิเคราะห์ค่าขอบเขต – การวิเคราะห์ค่าขอบเขตคือก การทดสอบซอฟต์แวร์ เทคนิคที่การทดสอบได้รับการออกแบบให้รวมตัวแทนของค่าขอบเขตในช่วง แนวความคิดมาจาก. เขตแดน.

สำหรับตัวอย่างข้างต้น เรากำลังแบ่งพาร์ติชันค่าออกเป็นชุดย่อยหรือชุดย่อย เรากำลังแบ่งอายุออกเป็นคลาสด้านล่าง:

  1. ระดับ 1: เด็กที่มีอายุตั้งแต่ 5 ถึง 10 ปี
  2. รุ่นที่ 2 : เด็กที่มีกลุ่มอายุน้อยกว่า 5 ปี
  3. ระดับ 3: เด็กกลุ่มอายุตั้งแต่ 10 ถึง 15 ปี
  4. ระดับ 4: เด็กที่มีกลุ่มอายุมากกว่า 15 ปี

ค่าใดของคลาสที่จะทดสอบ?

ค่าที่เลือกสำหรับการทดสอบควรเป็นค่าขอบเขต:

  1. ขอบเขตเป็นตัวแทนของคลาสความเท่าเทียมกันที่เราสุ่มตัวอย่าง พวกเขามีแนวโน้มที่จะเปิดเผยข้อผิดพลาดมากกว่าสมาชิกชั้นเรียนคนอื่นๆ ดังนั้นจึงเป็นตัวแทนได้ดีกว่า
  2. ตัวแทนที่ดีที่สุดของคลาสที่เทียบเท่าคือค่าที่อยู่ระหว่างช่วง

สำหรับตัวอย่างข้างต้น เรามีคลาสต่อไปนี้ที่จะได้รับการทดสอบ:

ตัวอย่างสถานการณ์ #1:

  1. ระดับ 1: เด็กที่มีอายุตั้งแต่ 5 ถึง 10 ปี (อายุ >5 และ <=10)

ค่าขอบเขต:

  1. ค่าควรเท่ากับหรือน้อยกว่า 10 ดังนั้น จึงควรรวมอายุ 10 ปีไว้ในชั้นเรียนนี้
  2. ค่าควรมากกว่า 5 ดังนั้น จึงไม่ควรรวมอายุ 5 ปีไว้ในชั้นเรียนนี้
  3. ค่าควรเท่ากับหรือน้อยกว่า 10 ดังนั้น จึงไม่ควรรวมอายุ 11 ปีในชั้นเรียนนี้
  4. ค่าควรมากกว่า 5 ดังนั้น จึงควรรวมอายุ 6 ปีไว้ในชั้นเรียนนี้

ค่าพาร์ติชันที่เท่ากัน:

พาร์ติชันที่เทียบเท่าจะถูกอ้างอิงเมื่อต้องทดสอบเพียงเงื่อนไขเดียวจากแต่ละพาร์ติชัน ในที่นี้ เราถือว่าหากเงื่อนไขหนึ่งในพาร์ติชันใช้งานได้ เงื่อนไขทั้งหมดก็ควรจะทำงานได้ ในทำนองเดียวกัน หากเงื่อนไขข้อใดข้อหนึ่งในพาร์ติชั่นนั้นไม่ทำงาน เราจะถือว่าเงื่อนไขอื่นๆ ไม่ทำงาน ตัวอย่างเช่น,

(อายุ >5 และ <=10)

เนื่องจากค่าตั้งแต่ 6 ถึง 10 เป็นค่าที่ถูกต้อง จึงต้องหยิบค่าหนึ่งใน 6,7,8,9 และ 10 ขึ้นมา ดังนั้นอายุที่เลือก “8” จึงเป็นอายุอินพุตที่ถูกต้องสำหรับกลุ่มอายุระหว่าง (อายุ >5 ถึง <=10) พาร์ติชั่นประเภทนี้เรียกว่าพาร์ติชั่นที่เท่ากัน

สถานการณ์ ค่าขอบเขตที่จะต้องดำเนินการ ค่าการแบ่งพาร์ติชันที่เท่ากัน
เด็กผู้ชาย – อายุ >5 และ <=10 อายุที่ป้อน = 6
อายุที่ป้อน = 5
อายุที่ป้อน = 11
อายุที่ป้อน = 10
อายุที่ป้อน = 8
เด็กผู้หญิง – อายุ >5 และ <=10 อายุที่ป้อน = 6
อายุที่ป้อน = 5
อายุที่ป้อน = 11
อายุที่ป้อน = 10
อายุที่ป้อน = 8
เด็กผู้ชาย – อายุ >10 และ <=15 อายุที่ป้อน = 11
อายุที่ป้อน = 10
อายุที่ป้อน = 15
อายุที่ป้อน = 16
อายุที่ป้อน = 13
เด็กผู้หญิง – อายุ >10 และ <=15 อายุที่ป้อน = 11
อายุที่ป้อน = 10
อายุที่ป้อน = 15
อายุที่ป้อน = 16
อายุที่ป้อน = 13
อายุ<=5 อายุที่ป้อน = 4
อายุที่ป้อน = 5
อายุที่ป้อน = 3
อายุ> 15 อายุที่ป้อน = 15
อายุที่ป้อน = 16
อายุที่ป้อน = 25

เราจะทราบได้อย่างไรว่าโปรแกรมผ่านหรือไม่ผ่านการทดสอบ?

การผ่านฟังก์ชันการทำงานไม่เพียงแต่ขึ้นอยู่กับผลลัพธ์ของสถานการณ์ข้างต้นเท่านั้น ข้อมูลที่ได้รับและผลลัพธ์ที่คาดหวังจะให้ผลลัพธ์แก่เรา และสิ่งนี้ต้องอาศัยความรู้โดเมน

การกำหนดผลลัพธ์ของตัวอย่าง:

การกำหนดผลลัพธ์

ดังนั้น หากทุกกรณีทดสอบข้างต้นผ่าน ขอบเขตการออกตั๋วในการแข่งขันจะผ่าน ถ้าไม่เช่นนั้น โดเมนจะล้มเหลว

โครงสร้างการทดสอบโดเมน

โดยปกติแล้ว ผู้ทดสอบจะทำตามขั้นตอนด้านล่างในการทดสอบโดเมน สิ่งเหล่านี้อาจปรับแต่ง/ข้ามได้ตามความต้องการในการทดสอบของเรา

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

สรุป

การทดสอบโดเมนตามที่อธิบายไว้ข้างต้น ต้องใช้ความรู้ในการป้อนข้อมูลที่ถูกต้องเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ ดังนั้นจึงเป็นไปได้ที่จะใช้กับโค้ดชิ้นเล็กๆ เท่านั้น