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