5

इस प्रश्न के लिए मेरा संदर्भ पायथन में है।संपत्ति आधारित परीक्षण और उत्परिवर्तन परीक्षण के बीच क्या अंतर है?

हाइपोथीसिस परीक्षण लाइब्रेरी (अर्थात संपत्ति आधारित परीक्षण): https://hypothesis.readthedocs.io/en/latest/

उत्परिवर्तन परीक्षण लाइब्रेरी: https://github.com/sixty-north/cosmic-ray

उत्तर

5

ये बहुत अलग जानवरों रहे हैं, लेकिन दोनों अपने परीक्षण के मूल्य और गुणवत्ता में सुधार होगा। दोनों टूल "मेरा कोड कवरेज एन%" कथन में योगदान और योगदान करते हैं।


Hypothesis आप परीक्षण के अंतर्गत एक समारोह के लिए परिभाषित दायरे में परीक्षण आदानों के सभी प्रकार उत्पन्न करने के लिए मदद मिलेगी।

आमतौर पर, जब आप एक समारोह का परीक्षण करने की जरूरत है, आप सभी उपयोग के मामलों और धार मामलों कोड कवरेज रिपोर्ट से प्रेरित कवर करने के लिए कोशिश कर रहा है कई उदाहरण मान प्रदान करते हैं - यह इतना "उदाहरण आधारित परीक्षण" कहा जाता है। दूसरी तरफ हाइपोथिसिस एक अलग-अलग इनपुट और इनपुट संयोजनों का एक पूरा समूह उत्पन्न करता है जो विभिन्न सामान्य त्रुटियों को शून्य, None, 0, ऑफ-बाय-वन त्रुटियों आदि से विभाजित करने में मदद करता है और छिपी हुई बग खोजने में मदद करता है।

Mutation testing आपके कोड के एक संशोधित संस्करण के खिलाफ अपने परीक्षण निष्पादित करते समय फ्लाई पर परीक्षण के तहत अपना कोड बदलने के बारे में है।

यह वास्तव में यह देखने में सहायता करता है कि आपके परीक्षण वास्तव में परीक्षण कर रहे हैं कि वे आपके परीक्षणों के मूल्य को समझने के लिए परीक्षण कर रहे हैं या नहीं। यदि आपके पास पहले से ही एक समृद्ध टेस्ट कोड बेस और एक अच्छा कोड कवरेज है तो उत्परिवर्तन परीक्षण वास्तव में चमक जाएगा।


मुझे क्या मदद की इन अवधारणाओं के ahold पाने के लिए इन अजगर पॉडकास्ट थे:

+1

अच्छा जवाब। संपत्ति-आधारित परीक्षण इनपुट बदलता है, उत्परिवर्तन परीक्षण कोड बदलता है। "अगर आपके पास पहले से ही एक समृद्ध टेस्ट कोड बेस और एक अच्छा कोड कवरेज है तो उत्परिवर्तन परीक्षण वास्तव में चमक जाएगा।" ... जो आप संपत्ति-आधारित परीक्षण का उपयोग कर अच्छी तरह से प्राप्त कर सकते हैं! – clacke

संबंधित मुद्दे