การทดสอบโดเมนในการทดสอบซอฟต์แวร์คืออะไร? (พร้อมตัวอย่าง)
⚡ สรุปอย่างชาญฉลาด
การทดสอบโดเมนจะตรวจสอบแอปพลิเคชันโดยการป้อนชุดข้อมูลอินพุตที่เล็กที่สุดที่ใช้งานได้จริง ซึ่งครอบคลุมค่าที่ถูกต้อง ไม่ถูกต้อง และค่าขอบเขต และยืนยันว่าเฉพาะค่าที่อยู่ในช่วงที่ยอมรับได้เท่านั้นที่จะสร้างผลลัพธ์ที่ต้องการ
การทดสอบโดเมนคืออะไร?
การทดสอบโดเมน คือ การทดสอบซอฟต์แวร์ กระบวนการทดสอบแอปพลิเคชันโดยการป้อนข้อมูลขั้นต่ำและประเมินผลลัพธ์ที่เหมาะสม เป้าหมายหลักของการทดสอบโดเมนคือการตรวจสอบว่าแอปพลิเคชันซอฟต์แวร์ยอมรับข้อมูลภายในช่วงที่ยอมรับได้และให้ผลลัพธ์ที่ต้องการหรือไม่
มันเป็น การทดสอบการใช้งาน เทคนิคที่ใช้ทดสอบผลลัพธ์ของระบบด้วยจำนวนอินพุตน้อยที่สุด เพื่อให้แน่ใจว่าระบบจะไม่ยอมรับค่าอินพุตที่ไม่ถูกต้องและอยู่นอกช่วงที่กำหนด นอกจากนี้ยังถือเป็นหนึ่งในเทคนิคที่สำคัญอีกด้วย การทดสอบแบบกล่องขาว วิธีการดังกล่าว นอกจากนี้ยังตรวจสอบเพิ่มเติมว่าระบบไม่ควรยอมรับข้อมูลนำเข้า เงื่อนไข และดัชนีที่อยู่นอกช่วงที่กำหนดหรือช่วงที่ถูกต้อง
การทดสอบโดเมนแตกต่างกันไปตามแต่ละโดเมนเฉพาะ ดังนั้นคุณจึงจำเป็นต้องมีความรู้เฉพาะด้านเพื่อทดสอบระบบซอฟต์แวร์
แนวทางปฏิบัติที่ง่ายกว่าในการทดสอบโดเมน
ในการทดสอบโดเมน เราจะแบ่งโดเมนออกเป็นโดเมนย่อย (คลาสที่เทียบเท่า) จากนั้นทดสอบโดยใช้ค่าจากแต่ละโดเมนย่อย ตัวอย่างเช่น หากมีการกำหนดเว็บไซต์ (โดเมน) ไว้สำหรับการทดสอบ เราจะแบ่งเว็บไซต์ออกเป็นส่วนเล็กๆ (โดเมนย่อย) เพื่อความสะดวกในการทดสอบ
ขอบเขตงานอาจเกี่ยวข้องกับการทดสอบตัวแปรป้อนเข้าตัวใดตัวหนึ่ง หรือการทดสอบตัวแปรป้อนเข้าหลายตัวรวมกัน
ผู้ปฏิบัติงานมักศึกษากรณีที่ง่ายที่สุดของการทดสอบโดเมนภายใต้ชื่ออื่นอีกสองชื่อ ได้แก่ "การทดสอบขอบเขต" และ "การวิเคราะห์ชั้นสมมูล"
การทดสอบขอบเขต - การวิเคราะห์ค่าขอบเขต (BVA) เป็นวิธีการทดสอบที่ใช้หลักการเดียวกัน คือ การทดสอบที่ขอบเขตระหว่างพาร์ติชัน เราจะทดสอบทั้งค่าอินพุตที่ถูกต้องและไม่ถูกต้องในพาร์ติชัน/คลาสต่างๆ
การทดสอบระดับความเท่าเทียมกัน – แนวคิดเบื้องหลังเทคนิคนี้คือการแบ่ง (เช่น การแบ่งส่วน) ชุดของเงื่อนไขการทดสอบออกเป็นกลุ่มหรือชุดที่สามารถพิจารณาได้ว่าเหมือนกัน (กล่าวคือ ระบบควรจัดการเงื่อนไขเหล่านั้นอย่างเท่าเทียมกัน) ดังนั้น 'การแบ่งพาร์ติชันที่เท่าเทียมกัน'
รูปแบบที่เรียบง่ายนั้นใช้ได้กับการทดสอบโดเมน –
- เพื่อทดสอบตัวแปรอินพุตเท่านั้น
- เฉพาะเมื่อทำการทดสอบที่ ระดับระบบ
- เมื่อทดสอบทีละครั้งเท่านั้น
- เมื่อทดสอบด้วยวิธีผิวเผินเท่านั้น
สามารถทำให้ง่ายขึ้นได้ดังนี้:
| ตัวแปร | คลาสเทียบเท่าคลาสที่ถูกต้อง | คลาสเทียบเท่าคลาสไม่ถูกต้อง | ขอบเขตและกรณีพิเศษ | หมายเหตุ : |
|---|---|---|---|---|
| X | 0-100 | 0 | ||
| 100 | ||||
| <0 | -1 | |||
| > 100 | 101 |
คำอธิบาย:
- หากช่องข้อมูลยอมรับช่วงค่าตั้งแต่ 0-100 ช่องข้อมูลนั้นไม่ควรยอมรับค่า -1 และ 101 เนื่องจากเป็นค่าที่ไม่ถูกต้องและอยู่นอกช่วงค่าที่กำหนด
- ช่องข้อมูลควรยอมรับค่าต่างๆ เช่น 0, 100 และตัวเลขใดๆ ระหว่างนั้น
การสร้างโต๊ะแบบนี้ (ในทางปฏิบัติ)
- ในการวิเคราะห์กลุ่มเทียบเท่าตามช่วงเวลา ให้ใส่ข้อมูลลงในสเปรดชีต เริ่มต้นด้วยการระบุตัวแปรต่างๆ และเพิ่มข้อมูลเกี่ยวกับตัวแปรเหล่านั้นเมื่อคุณได้รับมา
- ในท้ายที่สุด ตารางควรประกอบด้วยตัวแปรทั้งหมด ซึ่งหมายถึงตัวแปรนำเข้าทั้งหมด ตัวแปรส่งออกทั้งหมด และตัวแปรระหว่างกลางใดๆ ที่คุณสามารถสังเกตได้
- ในทางปฏิบัติ ตารางส่วนใหญ่มักไม่สมบูรณ์ ตารางที่ดีที่สุดจะแสดงตัวแปรทุกตัวและเพิ่มรายละเอียดสำหรับตัวแปรที่สำคัญ
กลยุทธ์การทดสอบโดเมน
ในการทดสอบโดเมน คุณต้องพิจารณาสิ่งต่อไปนี้
- เรากำลังทดสอบโดเมนใด
- จะจัดกลุ่มค่าออกเป็นคลาสได้อย่างไร?
- ค่าใดของคลาสที่จะทดสอบ?
- จะตรวจสอบผลลัพธ์ได้อย่างไร?
เรากำลังทดสอบโดเมนใด
ทุกโดเมนที่เราทดสอบจะมีฟังก์ชันการป้อนข้อมูลและฟังก์ชันการส่งออกข้อมูล จะมีตัวแปรป้อนข้อมูลที่ต้องป้อน และต้องตรวจสอบผลลัพธ์ที่เหมาะสม แผนภาพด้านล่างแสดงความสัมพันธ์ระหว่างการป้อนข้อมูลและการส่งออกข้อมูลนั้น
ตัวอย่างการทดสอบโดเมน
พิจารณาสถานการณ์การทดสอบอินพุตเดียว:
C = a+b โดยที่ a และ b เป็นตัวแปรอินพุต และ C คือตัวแปรเอาต์พุต
ในตัวอย่างข้างต้น ไม่จำเป็นต้องมีการจัดกลุ่ม หรือการรวมตัวแปรใดๆ ทั้งสิ้น
พิจารณาอินพุตหลายรายการด้านล่างและสถานการณ์เอาต์พุตที่เหมาะสม:
ลองพิจารณาการจัดงานแสดงเกมสำหรับเด็ก มีการจัดการแข่งขันหกรายการ และต้องจำหน่ายตั๋วตามอายุและเพศที่ป้อนเข้ามา ระบบการจำหน่ายตั๋วเป็นหนึ่งในส่วนประกอบที่จะต้องทดสอบเพื่อประเมินการทำงานโดยรวมของการจัดงานแสดงเกม
ตามสถานการณ์ เรามีหกสถานการณ์ตามอายุและการแข่งขัน:
- เด็กชายอายุ 5 ขวบขึ้นไปและ 10 ขวบ ควรเข้าร่วมกิจกรรมเล่าเรื่อง
- เด็กหญิงอายุ 5 ขวบแต่ไม่เกิน 10 ขวบ ควรเข้าร่วมการประกวดวาดภาพ
- เด็กชายอายุ 10 ถึง 15 ปี ควรเข้าร่วมตอบคำถามนี้
- เด็กหญิงอายุ 10 ปีขึ้นไปแต่ไม่เกิน 15 ปี ควรเข้าร่วมกิจกรรมเขียนเรียงความ
- เด็กอายุไม่เกิน 5 ปี ทั้งเด็กชายและเด็กหญิงควรเข้าร่วมการแข่งขันแต่งกลอน
- อายุ > 15 ปี ทั้งเด็กชายและเด็กหญิงควรเข้าร่วมการแข่งขันกวีนิพนธ์
ในกรณีนี้ ข้อมูลที่ป้อนจะเป็นอายุและเพศ และบัตรเข้าร่วมการแข่งขันจะถูกออกให้ นี่คือกรณีของการแบ่งกลุ่มข้อมูล หรือเรียกง่ายๆ ว่า การแบ่งกลุ่มping เรื่องของค่านิยมจึงเข้ามามีบทบาทในเรื่องนี้
จะจัดกลุ่มค่าออกเป็นคลาสได้อย่างไร?
การแบ่งค่าบางค่าหมายถึงการแยกค่าเหล่านั้นออกเป็นส่วนที่ไม่ทับซ้อนกันping ชุดย่อย
ดังที่เราได้กล่าวไว้ก่อนหน้านี้ การแบ่งพาร์ติชันมีสองประเภท:
- การแบ่งส่วนความเท่าเทียมกัน – การแบ่งส่วนตามความเท่าเทียมกัน (Equivalence partitioning) เป็นเทคนิคการทดสอบซอฟต์แวร์ที่แบ่งข้อมูลอินพุตของหน่วยซอฟต์แวร์ออกเป็นส่วนย่อยๆ ของข้อมูลที่เท่าเทียมกัน ซึ่งจากนั้นจึงนำไปประมวลผลต่อ กรณีทดสอบ สามารถอนุมานได้ โดยหลักการแล้ว กรณีทดสอบถูกออกแบบมาเพื่อให้ครอบคลุมแต่ละส่วนอย่างน้อยหนึ่งครั้ง
- การวิเคราะห์ค่าขอบเขต – การวิเคราะห์ค่าขอบเขต (Boundary value analysis) เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ออกแบบการทดสอบให้ครอบคลุมค่าขอบเขตในช่วงหนึ่ง แนวคิดนี้มาจากคำว่า "ขอบเขต"
จากตัวอย่างข้างต้น เรากำลังแบ่งค่าออกเป็นกลุ่มย่อย โดยเราแบ่งช่วงอายุออกเป็นกลุ่มต่างๆ ดังนี้:
- ชั้นเรียนที่ 1: เด็กอายุ 5-10 ปี
- ชั้นเรียนที่ 2: เด็กอายุต่ำกว่า 5 ปี
- ชั้นเรียนที่ 3: เด็กอายุ 10-15 ปี
- ชั้นเรียนที่ 4: เด็กที่มีอายุมากกว่า 15 ปี
ค่าใดของคลาสที่จะทดสอบ?
ค่าที่นำมาทดสอบควรเป็นค่าขอบเขต:
- ขอบเขตเป็นตัวแทนของกลุ่มสมมูลที่เราสุ่มตัวอย่างมา ขอบเขตเหล่านี้มีแนวโน้มที่จะเปิดเผยข้อผิดพลาดได้มากกว่าสมาชิกกลุ่มอื่นๆ ดังนั้นจึงเป็นตัวแทนที่ดีกว่า
- ตัวแทนที่ดีที่สุดของคลาสที่เทียบเท่าคือค่าที่อยู่ระหว่างช่วง
สำหรับตัวอย่างข้างต้น เรามีคลาสต่อไปนี้ที่จะได้รับการทดสอบ:
ตัวอย่างเช่น สำหรับสถานการณ์ที่ 1:
ชั้นเรียนที่ 1: เด็กอายุ 5 ถึง 10 ปี (อายุมากกว่า 5 ปี และน้อยกว่าหรือเท่ากับ 10 ปี)
ค่าขอบเขต:
- ค่าต่างๆ ควรเท่ากับหรือน้อยกว่า 10 ดังนั้น อายุ 10 ปีจึงควรรวมอยู่ในกลุ่มนี้ด้วย
- ค่าควรมากกว่า 5 ดังนั้น จึงไม่ควรรวมอายุ 5 ปีไว้ในชั้นเรียนนี้
- ค่าต่างๆ ควรเท่ากับหรือน้อยกว่า 10 ดังนั้น อายุ 11 ปีจึงไม่ควรนับรวมในกลุ่มนี้
- ค่าควรมากกว่า 5 ดังนั้น จึงควรรวมอายุ 6 ปีไว้ในชั้นเรียนนี้
ค่าการแบ่งส่วนความเท่าเทียมกัน:
การแบ่งส่วนสมมูล (Equivalence partition) หมายถึงกรณีที่ต้องทดสอบเพียงเงื่อนไขเดียวจากแต่ละส่วน ในกรณีนี้ เราจะถือว่าหากเงื่อนไขหนึ่งในส่วนนั้นใช้ได้ เงื่อนไขอื่นๆ ทั้งหมดก็จะใช้ได้เช่นกัน ในทำนองเดียวกัน หากเงื่อนไขหนึ่งในส่วนนั้นใช้ไม่ได้ เราก็จะถือว่าเงื่อนไขอื่นๆ ก็จะใช้ไม่ได้เช่นกัน ตัวอย่างเช่น
(อายุ >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 |
เราจะทราบได้อย่างไรว่าโปรแกรมผ่านหรือไม่ผ่านการทดสอบ?
การผ่านฟังก์ชันการทำงานนั้นไม่ได้ขึ้นอยู่กับผลลัพธ์ของสถานการณ์ข้างต้นเพียงอย่างเดียว ข้อมูลที่ป้อนเข้าไปและผลลัพธ์ที่คาดหวังจะเป็นตัวกำหนดผลลัพธ์ และสิ่งนี้ต้องอาศัยความรู้เฉพาะด้าน
การพิจารณาผลลัพธ์ของตัวอย่าง: หน้าจอด้านล่างแสดงผลลัพธ์การออกตั๋วสำหรับแต่ละกลุ่มอายุและเพศ
ดังนั้น หากกรณีทดสอบทั้งหมดข้างต้นผ่านหมด โดเมนการออกตั๋วในการแข่งขันก็จะผ่าน หากไม่ผ่าน โดเมนนั้นก็จะสอบไม่ผ่าน
โครงสร้างการทดสอบโดเมน
โดยปกติแล้ว ผู้ทดสอบจะทำตามขั้นตอนด้านล่างนี้ในการทดสอบโดเมน ซึ่งอาจปรับเปลี่ยนหรือข้ามขั้นตอนเหล่านี้ได้ตามความต้องการในการทดสอบของเรา
- ระบุตัวแปรที่น่าสนใจ
- ระบุตัวแปรที่คุณสามารถวิเคราะห์ได้ตอนนี้และเรียงลำดับ (เล็กที่สุดไปหาใหญ่ที่สุด และในทางกลับกัน)
- สร้างและระบุค่าขอบเขตและค่าคลาสที่เทียบเท่าดังข้างต้น
- ระบุถึงมิติรองและวิเคราะห์แต่ละมิติตามแบบแผนดั้งเดิม (ในตัวอย่างข้างต้น เพศคือมิติรอง)
- ระบุและทดสอบตัวแปรที่เก็บผลลัพธ์ (ตัวแปรเอาต์พุต)
- ประเมินว่าโปรแกรมใช้ค่าของตัวแปรนี้อย่างไร
- ระบุตัวแปรเพิ่มเติมที่อาจเกี่ยวข้องสำหรับการทดสอบแบบผสมผสาน โดยที่ การทดสอบตารางการตัดสินใจ จะช่วยให้
- ลองนึกภาพความเสี่ยงที่ไม่จำเป็นต้องสอดคล้องกับมิติที่ชัดเจน
- ระบุและแสดงรายการตัวแปรที่ยังไม่ได้วิเคราะห์ รวบรวมข้อมูลสำหรับการวิเคราะห์ในภายหลัง
- สรุปการวิเคราะห์ของคุณด้วยตารางความเสี่ยง/ความเท่าเทียมกัน


