मेरे नियोक्ता एक मासिक इकाई परीक्षण दिवस प्रतियोगिता चलाते हैं। एक पूरा दिन लेखन इकाई परीक्षणों के लिए समर्पित है - जाहिर है हम पूरे महीने अधिक परीक्षण करते हैं, लेकिन यह एक पूरा दिन है - और प्रतियोगिता के "विजेता" को पुरस्कार दिया जाता है। हालांकि, हम यह निर्धारित करना मुश्किल कर रहे हैं कि विजेता कौन है।
हम प्रत्येक परीक्षण मामले के लिए अंक प्रदान कर रहे थे। तो अगर आप इस तरह एक इकाई परीक्षण लिखा था ...
for (int i = 0; i < 100; i++) {
assertTrue(i*i, square(i));
}
आपको 100 अंक दिए जाएंगे। जाहिर है कि यह एक सरलीकृत उदाहरण है लेकिन यह प्रत्येक परीक्षण मामले को "अंक" प्रदान करने के साथ समस्याओं को प्रदर्शित करता है।
हम मुख्य रूप से जावा और जावास्क्रिप्ट शॉप हैं। इसलिए मैंने मीट्रिक के रूप में परीक्षण की गई कोड शाखाओं की संख्या का सुझाव दिया। हम एक कोड कवरेज टूल (जैसे EclEmma) के माध्यम से जांच की गई शाखाओं को आसानी से गिन सकते हैं। हालांकि, यह निश्चित नहीं है कि हम अपने सेलेनियम परीक्षणों और जावास्क्रिप्ट स्रोतों (किसी भी विचार) पर एक कोड कवरेज प्राप्त करने के साथ यह कैसे करेंगे?
क्या किसी के पास कोई सुझाव है कि हम इस प्रतियोगिता के विजेता को बेहतर तरीके से कैसे निर्धारित कर सकते हैं?
संपादित करें
मुझे पता है कि इकाई परीक्षण कैसे लिखना है, मुझे पता है कि प्रभावी इकाई परीक्षण कैसे लिखना है, मुझे यह निर्धारित करने में सहायता की आवश्यकता नहीं है कि क्या परीक्षण करना है। इस प्रतियोगिता पर मेरा कोई नियंत्रण नहीं है - प्रतियोगिता आगे बढ़ेगी। इसलिए या तो मैं इसे बेहतर बनाने के लिए कुछ इनपुट जोड़ता हूं या गेमिंग टेस्ट्स को आगे बढ़ाता हूं (हां, मैं उन्हें खेलता हूं। बेशक मैं उन्हें खेलता हूं। जीतने के लिए पुरस्कार हैं)
संपादित करें
यहां यह प्रश्न स्पष्ट रूप से एक डुप्लिकेट नहीं है, हालांकि इसमें अच्छे परीक्षण मामलों को खोजने के बारे में उपयोगी जानकारी है, यह प्रतियोगिता का मूल्यांकन करने के लिए कोई उपयोगी मैट्रिक्स प्रदान नहीं करता है।