คำถามติดแท็ก software-testing

1
กำลังสร้างอินพุตสำหรับอัลกอริทึมกราฟทดสอบแบบสุ่มหรือไม่
เมื่อทำการทดสอบอัลกอริทึมวิธีการทั่วไปคือการทดสอบแบบสุ่ม: สร้างอินพุตจำนวนมากตามการแจกแจงบางตัว (โดยทั่วไปจะเหมือนกัน) รันอัลกอริธึมเหล่านั้นและตรวจสอบความถูกต้อง กรอบการทดสอบที่ทันสมัยสามารถสร้างอินพุตได้โดยอัตโนมัติโดยมีลายเซ็นของอัลกอริทึมพร้อมข้อ จำกัด หากอินพุตเป็นตัวเลขรายการหรือสตริงการสร้างอินพุตดังกล่าวเป็นแนวตรง ต้นไม้นั้นยากขึ้น แต่ก็ยังง่าย (ใช้ไวยากรณ์ที่ไม่มีบริบทสุ่มหรือวิธีการที่คล้ายกัน) คุณจะสร้างกราฟสุ่ม (อย่างมีประสิทธิภาพ) ได้อย่างไร โดยทั่วไปแล้วการเลือกกราฟที่สุ่มอย่างสม่ำเสมอไม่ใช่สิ่งที่คุณต้องการ: พวกเขาควรจะเชื่อมต่อหรือระนาบหรือรอบที่ไม่มีอิสระหรือเติมเต็มคุณสมบัติอื่น ๆ การสุ่มตัวอย่างการปฏิเสธดูเหมือนจะไม่ดีนักเนื่องจากมีกราฟที่ไม่พึงประสงค์จำนวนมากที่อาจเกิดขึ้น การแจกแจงที่มีประโยชน์คืออะไร มีประโยชน์ที่นี่หมายความว่า กราฟมีแนวโน้มที่จะทดสอบอัลกอริทึมที่อยู่ในมือและ พวกเขาสามารถสร้างได้อย่างมีประสิทธิภาพและมีประสิทธิภาพ ฉันรู้ว่ามีหลายรุ่นสำหรับกราฟสุ่มดังนั้นฉันขอขอบคุณความเข้าใจที่ดีที่สุดสำหรับการสร้างกราฟในเรื่องนี้ หาก "อัลกอริทึมบางตัว" กว้างเกินไปโปรดใช้อัลกอริธึมการค้นหาเส้นทางที่สั้นที่สุดเป็นคลาสที่เป็นรูปธรรมของอัลกอริทึมภายใต้การทดสอบ กราฟสำหรับการทดสอบควรเชื่อมต่อและค่อนข้างหนาแน่น (ที่มีความน่าจะเป็นสูงหรืออย่างน้อยก็คาดไว้) สำหรับการทดสอบทางออกที่ดีที่สุดคือการสร้างกราฟสุ่มรอบเส้นทางที่สั้นที่สุดเพื่อให้เราทราบผลลัพธ์ที่ต้องการ (โดยไม่ต้องใช้อัลกอริทึมอื่น)

3
เมื่อทำการทดสอบไอเท็ม n จะครอบคลุม t-subset ทั้งหมดให้น้อยที่สุดเท่าที่จะทำได้?
ปัญหานี้เกิดขึ้นจากการทดสอบซอฟต์แวร์ ปัญหาเป็นเรื่องยากที่จะอธิบาย ฉันจะให้ตัวอย่างก่อนจากนั้นพยายามสรุปปัญหา มี 10 รายการที่จะทดสอบพูด A ถึง J และเครื่องมือทดสอบที่สามารถทดสอบ 3 รายการได้ในเวลาเดียวกัน ลำดับของรายการในเครื่องมือทดสอบไม่สำคัญ แน่นอนว่าสำหรับการทดสอบแบบละเอียดเราจำเป็นต้องมีรายการรวมกันเป็นรายการ10C310C3^{10}C_{3} ปัญหาซับซ้อนมากขึ้น มีเงื่อนไขเพิ่มเติมว่าเมื่อคู่ของรายการได้รับการทดสอบร่วมกันกว่าคู่เดียวกันไม่จำเป็นต้องมีการทดสอบอีกครั้ง ตัวอย่างเช่นเมื่อเราดำเนินการทดสอบสามข้อต่อไปนี้: เอบีซี ADE BDF เราไม่จำเป็นต้องดำเนินการ: ABD เนื่องจากคู่ A, B ถูกครอบคลุมโดยกรณีทดสอบครั้งแรก A, D ถูกครอบคลุมโดยวินาทีและ B, D ถูกครอบด้วยอันดับที่สาม ดังนั้นปัญหาคือจำนวนกรณีทดสอบขั้นต่ำที่เราต้องการเพื่อให้แน่ใจว่าทุกคู่ทดสอบ? ในการพูดคุยทั่วไปหากเรามีรายการ n รายการ s สามารถทดสอบได้ในเวลาเดียวกันและเราต้องแน่ใจว่า tuples ที่เป็นไปได้ทั้งหมดได้รับการทดสอบ (เช่น s> t) จำนวนกรณีทดสอบขั้นต่ำที่เราต้องการคืออะไร เงื่อนไขของ n, s และ t? และท้ายที่สุดสิ่งที่จะเป็นอัลกอริทึมที่ดีในการสร้างกรณีทดสอบที่จำเป็น?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.