එය.
ඔබ හුදෙක් ඒකක පරීක්ෂණයක් කළත්, සත්ය වශයෙන්ම පරීක්ෂා කළ කේතයට වඩා වැඩි කේතයක් පරීක්ෂණ තුළ තිබීම අසාමාන්ය දෙයක් නොවේ. එහි කිසිදු වරදක් නැත.
සරල කේතයක් සලකා බලන්න:
public void SayHello(string personName)
{
if (personName == null) throw new NullArgumentException("personName");
Console.WriteLine("Hello, {0}!", personName);
}
පරීක්ෂණ මොනවාද? මෙහි පරීක්ෂා කිරීම සඳහා අවම වශයෙන් සරල අවස්ථා හතරක් ඇත:
පුද්ගලයාගේ නම null
. ව්යතිරේකය ඇත්ත වශයෙන්ම විසි කර තිබේද? එය ලිවීමට අවම වශයෙන් පරීක්ෂණ කේත පේළි තුනක් වත් ඇත.
පුද්ගලයාගේ නම "Jeff"
. අපට "Hello, Jeff!"
ප්රතිචාරයක් ලැබෙනවාද? එය පරීක්ෂණ කේත පේළි හතරකි.
පුද්ගලයාගේ නම හිස් නූලකි. අප බලාපොරොත්තු වන ප්රතිදානය කුමක්ද? සත්ය ප්රතිදානය කුමක්ද? පැති ප්රශ්නය: එය ක්රියාකාරී අවශ්යතාවන්ට ගැලපේද? ඒ කියන්නේ ඒකක පරීක්ෂණය සඳහා තවත් කේත පේළි හතරක්.
පුද්ගලයාගේ නම නූලක් සඳහා ප්රමාණවත් තරම් කෙටි නමුත් ඒකාබද්ධ කිරීමට තරම් දිගු "Hello, "
හා විශ්මය ජනක ලක්ෂ්යය. මොකද වෙන්නේ?
මේ සඳහා බොහෝ පරීක්ෂණ කේත අවශ්ය වේ. එපමණක් නොව, වඩාත් මූලික කේත කැබලි වලට බොහෝ විට සැකසුම් කේතයක් අවශ්ය වන අතර එය පරීක්ෂණයට ලක්වන කේතයට අවශ්ය වස්තූන් ආරම්භ කරයි.
අනුපාතය ඉතා විශාල නම්, ඔබට කරුණු කිහිපයක් පරීක්ෂා කළ හැකිය:
පරීක්ෂණ හරහා කේත අනුපිටපත් තිබේද? එය පරීක්ෂණ කේතය යන කාරණයෙන් සමාන පරීක්ෂණ අතර කේතය අනුපිටපත් කළ යුතු යැයි අදහස් නොකෙරේ (පිටපත්-ඇලවිය යුතුය): එවැනි අනුපිටපත් මඟින් එම පරීක්ෂණ නඩත්තු කිරීම දුෂ්කර වනු ඇත.
අතිරික්ත පරීක්ෂණ තිබේද? රීතියක් ලෙස, ඔබ ඒකක පරීක්ෂණයක් ඉවත් කරන්නේ නම්, ශාඛා ආවරණය අඩු විය යුතුය. එය එසේ නොවේ නම්, මාර්ග දැනටමත් වෙනත් පරීක්ෂණ මගින් ආවරණය කර ඇති බැවින් පරීක්ෂණය අවශ්ය නොවන බව එයින් ඇඟවෙනු ඇත.
ඔබ පරීක්ෂා කළ යුත්තේ ඔබ පරීක්ෂා කළ යුතු කේතය පමණක්ද? තෙවන පාර්ශවීය පුස්තකාලවල යටින් පවතින රාමුව පරීක්ෂා කිරීමට ඔබ අපේක්ෂා නොකරන නමුත් ව්යාපෘතියේ කේතය පමණක්ම වේ.
දුම් පරීක්ෂණ, පද්ධති සහ ඒකාබද්ධතා පරීක්ෂණ, ක්රියාකාරී සහ පිළිගැනීමේ පරීක්ෂණ සහ ආතතිය සහ බර පැටවීමේ පරීක්ෂණ සමඟ ඔබ ඊටත් වඩා පරීක්ෂණ කේත එකතු කරයි, එබැවින් සත්ය කේතයේ සෑම LOC සඳහාම LOC පරීක්ෂණ හතරක් හෝ පහක් තිබීම ඔබ කනස්සල්ලට පත්විය යුතු දෙයක් නොවේ.
TDD පිළිබඳ සටහනක්
ඔබේ කේතය පරීක්ෂා කිරීමට ගතවන කාලය ගැන ඔබ සැලකිලිමත් වන්නේ නම්, සමහර විට ඔබ එය වැරදියට කරනවා විය හැකිය, එය පළමුව කේතය, පසුව පරීක්ෂණ. මෙම අවස්ථාවෙහිදී, තත්පර 15-45 අතර පුනරාවර්තනයන්හි වැඩ කිරීමට ඔබව දිරිමත් කිරීමෙන්, කේත සහ පරීක්ෂණ අතර මාරුවීමෙන් TDD උදව් විය හැකිය. TDD හි යෝජකයින්ට අනුව, එය ඔබ විසින් කළ යුතු පරීක්ෂණ ගණන අඩු කිරීමෙන් සහ වඩාත් වැදගත් ලෙස, ලිවීමට ඇති ව්යාපාර කේතයේ ප්රමාණය සහ විශේෂයෙන් පරීක්ෂා කිරීම සඳහා නැවත ලිවීම මගින් සංවර්ධන ක්රියාවලිය වේගවත් කරයි .
¹ කරමු n විය වැලක් උපරිම දිග . අපට ඇමතුමක් SayHello
ලබා දී සම්මත කර ගත හැකිය n - 1 දිග නූලක් . දැන්, Console.WriteLine
පියවරේදී, හැඩතල ගැන්වීම n + 8 දිගකින් අවසන් විය යුතු අතර , එමඟින් ව්යතිරේකයක් ලැබෙනු ඇත. මතක සීමාවන් නිසා, n / 2 අක්ෂර අඩංගු නූලක් පවා ව්යතිරේකයකට තුඩු දෙනු ඇත. යමෙකු ඇසිය යුතු ප්රශ්නය නම්, මෙම සිව්වන පරීක්ෂණය ඒකක පරීක්ෂණයක් ද යන්නයි (එය එකක් මෙන් පෙනේ, නමුත් සාමාන්ය ඒකක පරීක්ෂණ හා සසඳන විට සම්පත් සම්බන්ධයෙන් වඩා ඉහළ බලපෑමක් ඇති කළ හැකිය) සහ එය සත්ය කේතය හෝ යටින් පවතින රාමුව පරීක්ෂා කරන්නේ නම්.