มีการแทนที่ที่ทันสมัยสำหรับเครื่องมือทดสอบการกลายพันธุ์เช่น Jester for Java หรือไม่?


18

“ ทำไมแค่คิดว่าการทดสอบของคุณดีเมื่อคุณรู้แน่? บางครั้งเจสเตอร์บอกการทดสอบของฉันว่าเป็นสุญญากาศ แต่บางครั้งการเปลี่ยนแปลงที่พบก็เกิดขึ้นราวกับสายฟ้าออกจากสีน้ำเงิน แนะนำเป็นอย่างยิ่ง” - Kent Beck

แต่ฉันเห็นว่าไม่มีแม้แต่แท็กที่ชื่อว่า " Jester " ใน stackoverflow ดังนั้นสิ่งที่ทดแทนที่ทันสมัยสำหรับเจสเตอร์ถ้ามี? เราจะแน่ใจได้อย่างไรว่าการทดสอบหน่วยที่เขียนไว้นั้นมั่นคงกว่าการค้นหาสถิติจากการครอบคลุมโค้ดจากเครื่องมือเช่นCoberturaและClover ?


ฉันลบความคิดเห็นที่ชี้แจงออกไปเพราะคุณแก้ไขคำถาม :) การค้นหาโดย Google ด้วยวลีนั้นจะทำให้คุณหลุดพ้นตัวอย่าง 3 หรือ 4 ตัวอย่างดังนั้นอาจจะมุ่งเน้นไปที่คำถามเชิงแนวคิดที่คุณมีในตอนท้าย ความต้องการของคุณ?
jcmeloni

@jcmeloni มีเหตุผลใดที่ตัวตลกไม่ได้มารับจริงๆ?
Geek

ฉันไม่รู้; ฉันไม่เคยใช้มัน
jcmeloni

คำตอบ:


24

เท่าที่ฉันทราบการทดสอบการกลายพันธุ์ยังคงเป็นกระบวนการอัตโนมัติที่ดีที่สุดสำหรับการวัดคุณภาพของชุดทดสอบของคุณ มีสองสิ่งทดแทนที่ทันสมัยสำหรับตัวตลก

http://pitest.org (ฉันเป็นผู้เขียน)

https://github.com/david-schuler/javalanche/

การเปรียบเทียบรายละเอียดระหว่างระบบเหล่านี้ตัวตลกและระบบอื่น ๆ สองสามระบบมีให้ที่นี่

http://pitest.org/java_mutation_testing_systems/

ฉันคิดว่าเหตุผลหลักที่นักแสดงตลกไม่เคยลงมือก็คือมันช้าและทำให้แย่ลงมาก

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

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


ปลั๊กอิน PIT eclipse ไม่ได้รับการติดตั้งใน Indigo ดูเหมือนว่าจะมีข้อผิดพลาดเกิดขึ้น
Narendra Pathai

@NarendraPathai ลองรายงานปัญหาผ่านทางกลุ่ม google หลุม Phil Glover ผู้ดูแลปลั๊กอินอาจสามารถช่วยเหลือได้
เฮนรี่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.