மென்பொருள் சோதனை

ஆரம்பநிலைக்கான யூனிட் டெஸ்டிங் டுடோரியல்

அக்டோபர் 30, 2021

யூனிட் டெஸ்டிங் என்பது ஒரு நிரலின் சாத்தியமான சிறிய தொகுதியைப் பயன்படுத்துவதற்குத் தகுதியானதா என்பதைச் சரிபார்க்கும் ஒரு வழியாகும். குறியீட்டின் பிற பகுதிகளுடன் (எ.கா., செயல்பாடுகள், முறைகள் மற்றும் மாறிகள்) இணைந்து பயன்படுத்த முடியுமா என்பதைப் பார்க்க, குறியீடு பிரிவின் வடிவத்தில் உள்ள அலகு சோதிக்கப்படுகிறது.

யூனிட் டெஸ்டிங் என்பது தனித்தனி தொகுதிகள் அல்லது யூனிட்களை தனித்தனியாக சோதிக்கும் ஒரு மென்பொருள் சோதனை செயல்முறையாகும், இது யூனிட் டெஸ்டிங்கின் ஒரே குறிக்கோளுடன் எழுதப்பட்ட குறியீட்டை தனிமைப்படுத்தி சோதித்து பார்க்கவும்.

யூனிட் சோதனையின் முக்கிய நோக்கம், ஒரு செயல்பாடு போன்ற மென்பொருளின் ஒற்றை அலகு அல்லது கூறுக்கான சோதனைத் தொகுப்பை வழங்குவதாகும். சோதனைகள் பொதுவாக, பணிபுரிந்த அல்லது திட்டத்திற்கு அருகில் உள்ள டெவலப்பரால் எழுதப்பட்ட (முன்னுரிமை) ஒவ்வொரு கூறுக்கும் நிலையான நிலைத்தன்மை சோதனைகளின் வரிசையைக் கொண்டிருக்கும்.

ஒரு யூனிட் என்பது கணினி மென்பொருளின் சோதனைக்குரிய சிறிய பகுதி. செயல்முறைக்கு உதவ, டெவலப்பர்கள் யூனிட் டெஸ்டிங் ஃப்ரேம்வொர்க்குகள், டிரைவர்கள், ஸ்டப்கள், போலி/போலி பொருள்கள் போன்ற கருவிகளைப் பயன்படுத்துகின்றனர்.

ஒரு யூனிட் சோதனை தோல்வியுற்றால், அது ஒரு பிழையாகவோ அல்லது சோதனையிலேயே மாற்றியமைக்கப்பட்ட குறியீட்டாகவோ கருதப்படுகிறது.

அலகு சோதனை

பொருளடக்கம்

சோதனை நிலைகள்:

யூனிட் சோதனை என்பது வெளிப்படையாக செய்யப்பட வேண்டிய முதல் சோதனையாகும், பின்னர் அனைத்து தொகுதிகள் அல்லது தொகுதிகள் ஒருங்கிணைக்கப்பட வேண்டும், பின்னர் ஒருங்கிணைப்பு சோதனை மேற்கொள்ளப்பட உள்ளது. முற்றிலும் ஒருங்கிணைக்கப்பட்ட அமைப்பில் கணினியின் இணக்கம் மற்றும் செயல்பாட்டுத் தேவைகளை மதிப்பிடுவதற்கு ஒரு டெவலப்பர் கணினி சோதனையை மேற்கொள்ள வேண்டும். இறுதியாக, ஏற்புச் சோதனையானது, வாடிக்கையாளரின் விவரக்குறிப்புகள் மற்றும் ஒப்பந்தங்களைப் பூர்த்திசெய்கிறதா என்பதைச் சரிபார்க்கிறது. ஒரு டெவலப்பர் சரியான குறியீட்டைப் பெறுவது இதுதான்.

யூனிட் டெஸ்டிங் ஏன் முக்கியம்?

விரைவான மற்றும் திறமையான சோதனை முறை:

யூனிட் டெஸ்டிங் என்பது குறியீட்டை எழுதி, அதைச் சோதித்து, பிற சோதனைகளைத் தானாகச் செய்யும் செயல்முறையாகும். க்யூஏ குழுவால் நடத்தப்படும் கைமுறைச் சோதனைகள் அல்லது ஒருங்கிணைந்த சோதனைகளைக் காட்டிலும் யூனிட் சோதனைகளைச் செய்வதற்கு குறைவான நேரம் எடுக்கும் என்பதால், நிரல் தர்க்கத்தைச் சோதிக்க இது ஒரு விரைவான வழியாகும்.

தர கட்டுப்பாடு:

தரநிலைப்படுத்தல் சோதனைகளின் தொகுப்பு எதிர்கால மாற்றங்கள் தரத்தை குறைக்காது என்பதை உறுதி செய்கிறது. ஒன்று அல்லது அதற்கு மேற்பட்ட அலகு சோதனைகள் யூனிட் குறியீட்டின் எதிர்பார்க்கப்படும் நடத்தை மற்றும் அதன் செயலாக்கத்தை ஆவணப்படுத்துகின்றன. அவர்களின் யூனிட்-சோதனை மேம்பாட்டை ஒழுங்குபடுத்த - புரோகிராமர்கள் அலகுகளுக்கான தொடர்ச்சியான சோதனைகளை அறிமுகப்படுத்த வேண்டும்.

குறியீட்டை நிர்வகிக்கக்கூடியதாகவும் திருத்துவதற்கு வசதியாகவும் செய்கிறது:

யூனிட் சோதனைகளை எழுதும் திறன் அதிக ஒருங்கிணைப்புடன் அமைப்புகளை வடிவமைப்பதை கட்டாயமாக்குகிறது, மேலும் திட்டத்திற்கு மிக நெருக்கமான டெவலப்பர்களிடமிருந்து சிறந்த அலகு சோதனைகள் வரும். குறியீடு மோசமாக எழுதப்பட்டிருந்தால் அதைச் சோதிப்பது சாத்தியமற்றது அல்லது கடினமாக இருக்கலாம், டெவலப்பர்கள் செயல்பாடுகளையும் பொருட்களையும் சிறப்பாகக் கட்டமைக்க கட்டாயப்படுத்துகிறது. யூனிட் சோதனைகள் கணினியை மேலும் நிர்வகிக்கக்கூடியதாக ஆக்குகிறது.

சிக்கலைக் குறிப்பிடுவது மிகவும் இயல்பானது:

யூனிட் சோதனையின் மற்றொரு இன்றியமையாத நோக்கம், பயனர் இடைமுகத்தில் மாற்றங்கள் அல்லது புதிய அம்சங்களை செயல்படுத்துதல் போன்ற வளர்ச்சி செயல்பாட்டில் ஏற்படும் மாற்றங்களின் தாக்கத்தைப் பற்றிய நுண்ணறிவுகளை வழங்குவதாகும். சோதனை வழக்குகளின் தோல்வியின் அடிப்படையில், யூனிட் டெஸ்ட் ஃபிரேம்வொர்க் தொடர்புடைய சோதனைகளை நிறுத்தவும் உதவுகிறது.

அலகு சோதனையின் நன்மைகள்:

  • மிகவும் அனுபவம் வாய்ந்த டெவலப்பர்கள் கூட யூனிட் சோதனையைப் பயிற்சி செய்வது நல்லது என்று ஒப்புக்கொள்கிறார்கள். யூனிட் டெஸ்டிங் என்பது புரோகிராமர்கள் குறியீட்டை ஒரு பிந்தைய கட்டத்தில் மீண்டும் கணக்கிட்டு தொகுதி வேலை செய்ய அனுமதிக்கிறது.
  • யூனிட் டெஸ்டிங்கின் மிக முக்கியமான நன்மைகளில் ஒன்று டெவலப்பர் சோதனைக் கருவிகள் மற்றும் கட்டமைப்புகளைப் பயன்படுத்தலாம்.
  • யூனிட் சோதனையானது குறியீட்டைப் புதுப்பிப்பதை பாதுகாப்பானதாகவும் வசதியாகவும் ஆக்குகிறது, ஏனெனில் இது மறுசீரமைப்பு சீராக அல்லது தடங்கல்கள் இல்லாமல் இயங்குவதை உறுதிசெய்யும் சோதனைகளை அறிமுகப்படுத்துகிறது.
  • யூனிட் சோதனையானது மென்பொருள் வாழ்க்கைச் சுழற்சி முழுவதும் பராமரிக்க எளிதான மென்பொருளுக்கு வழிவகுக்கிறது மற்றும் புதிய அம்சங்கள் அல்லது புதுப்பிப்புகள் சேர்க்கப்படும்போது பிழைகள் குறைவாக இருக்கும்.
  • யூனிட் சோதனையானது, ஒரு தயாரிப்பு அல்லது சேவையின் வடிவமைப்பு மற்றும் விவரக்குறிப்புகள் பற்றிய தெளிவான மற்றும் சுருக்கமான விளக்கத்தை செயல்படுத்தும் வடிவத்தில் வழங்குகிறது. வடிவமைப்பு விவரக்குறிப்புகளுக்கு யூனிட் சோதனைகளைப் பயன்படுத்துவதன் மூலம், எதைச் செயல்படுத்துவதைச் சரிபார்க்க வேண்டும் மற்றும் சோதனைக்கு எதைப் பயன்படுத்த வேண்டும் என்பதை நாங்கள் நன்கு புரிந்துகொள்கிறோம்.
  • சோதனை செய்யப்பட்ட குறியீட்டுடன் ஒப்பிடும்போது அலகு சோதனைகள் சமமற்ற நேரத்தை எடுக்கும். எடுத்துக்காட்டாக, ஒரு யூனிட் தேர்வை எழுதுவதற்கான செலவு 2 நிமிடங்கள், ஆனால் அதை இயக்குவதற்கான செலவு கிட்டத்தட்ட பூஜ்ஜியமாக இருந்தால், அல்லது குறியீட்டை கைமுறையாகச் சோதிப்பதற்கான விலை 1 நிமிடம் என்றால், டெவலப்பர் சோதனையை நடத்தினால் பிரேக்-ஈவன் புள்ளியை உடைக்கவும். இரண்டு முறை. முழு குறியீடு அடிப்படையின் கைமுறை ஆய்வுகளுக்குப் பதிலாக யூனிட் சோதனைகளைப் பயன்படுத்துவது, டெவலப்பர் திட்டத்தின் ஒட்டுமொத்த செலவைக் குறைக்கிறது என்பதாகும்.
  • மோசமாக எழுதப்பட்ட குறியீடு யூனிட் சோதனைக்கு சாத்தியமற்றதாகவோ அல்லது கடினமாகவோ இருக்கலாம், எனவே யூனிட் சோதனையானது டெவலப்பர்கள் செயல்பாடுகளையும் பொருட்களையும் சிறப்பாக கட்டமைக்க கட்டாயப்படுத்தலாம். யூனிட் சோதனையானது ஒரு குறியீட்டை முடிந்தவரை சரியானதாக்குகிறது. டெவலப்பர் முதலில் யூனிட் சோதனையை எழுதுகிறார், அது தோல்வியுற்றதைக் கவனித்து, அதைத் தேர்ச்சி பெற இரண்டாவது சோதனை எழுதுகிறார், மேலும் நோக்கம் கொண்ட செயல்பாடு வழங்கப்படும் வரை சுழற்சி மீண்டும் நடக்கும்.

அலகு சோதனையின் தீமைகள்:

  • யூனிட் டெஸ்டிங்கின் முக்கிய குறைபாடு என்னவென்றால், அனைத்து செயல்படுத்தும் பாதைகளையும் சரிபார்க்க முடியாது, மேலும் இது எந்த குறிப்பிடத்தக்க கணினி பிழைகள் அல்லது ஒருங்கிணைப்பு பிழைகளை உறிஞ்சாது.
  • அலகு சோதனைகளை எழுதுவது கடினமாக இருக்கலாம், மேலும் செயல்முறை நேரத்தை எடுத்துக்கொள்ளும்.
  • அலகு சோதனைகளில் மனித பிழைகள் முழு அமைப்பையும் பாதிக்கலாம்.
  • பலர் சொல்வது போல் இது முழு ஆதாரம் அல்ல; தொகுதிகள் ஒருங்கிணைக்கப்படும் போது, ​​அலகு சோதனை மூலம் கண்டறியப்படாத புதிய பிழைகள் இருக்கலாம்.

அலகு சோதனை நுட்பங்கள்:

    கருப்பு பெட்டி நுட்பம்: கருப்பு பெட்டி டெக்னிக் என்பது யூனிட் சோதனையின் ஒரு முறையாகும், இதில் SUT (சோதனையின் கீழ் உள்ள மென்பொருள்) என்பது செயல்படுத்தல், உள் கட்டமைப்பு அல்லது குறியீடு ஆகியவற்றைப் பார்க்காமல் ஒரு பயன்பாட்டின் செயல்பாடாகும். கருப்புப் பெட்டி நுட்பமானது உள் குறியீடு அல்லது அறிவைக் காட்டிலும் உள்ளீடு மற்றும் வெளியீட்டில் கவனம் செலுத்துகிறது.வெள்ளை பெட்டி நுட்பம்:இல் வெள்ளை பெட்டி நுட்பம், சோதனையாளர் குறியீட்டின் உட்புறங்கள், இந்த முறையில் உள்ள அமைப்பு, உள் கட்டமைப்பு மற்றும் குறியீட்டின் செயல்பாடு ஆகியவற்றை அறிந்திருக்கிறார், செயல்பாடு அல்ல. முன்னுரிமை, தொகுதியின் உள் கண்ணோட்டமாக, சோதனையாளர் சிறந்த நிரலாக்கத் திறன்களைக் கொண்டிருக்க வேண்டும், மேலும் நிரலாக்கத் திறன்கள் சோதனைக்கு உட்படுத்தப்படுகின்றன.சாம்பல் பெட்டி நுட்பம்: சாம்பல் பெட்டி டெக்னிக் குறியீடு பற்றிய ஓரளவு அறிவைக் கொண்டுள்ளது. இந்தச் சோதனை முறையற்ற குறியீட்டு அமைப்பு அல்லது பயன்பாட்டின் முறையற்ற செயல்பாட்டு பயன்பாட்டைச் செம்மைப்படுத்துகிறது. இது கருப்பு மற்றும் வெள்ளை பெட்டி நுட்பங்களின் கலவையாகும். இது ஒரு அலகு சோதனை செய்வதற்கான ஒரு சக்திவாய்ந்த வழியாகும்.

அலகு சோதனை கருவிகள்:

  • நுனிட் : xunit குடும்பத்தின் குடும்பங்களில் ஒன்றான நுனிட் என்பது ஒரு திறந்த மூல அலகு சோதனை ஆகும். நெட் மற்றும் மோனோ ஃப்ரேம்வொர்க் இது யூனிட் டெஸ்ட் கேசிங் எழுதுவதற்கு அதிகம் பயன்படுத்தப்படும் கருவியாகும்.
  • ஜொமோக்கிட் : JMockit மற்றொரு திறந்த மூல மென்பொருள் நூலகம். கேலி, போலி மற்றும் ஒருங்கிணைப்பு சோதனைக்கான APIகள் மற்றும் குறியீடு கவரேஜ் கருவி ஆகியவை இதில் அடங்கும். ஜூனிட் அல்லது நுனிட் போன்ற சோதனைக் கட்டமைப்புடன் நூலகம் பயன்படுத்தப்பட வேண்டும்.
  • ஜூனிட்: நுனிட்டைப் போலவே, இது ஒரு திறந்த மூல அலகு சோதனை ஆனால் ஜாவாவுக்காக வடிவமைக்கப்பட்டுள்ளது. அதுவும் Xunit குடும்பத்தில் இருந்து வந்தது. டெவலப்பர்கள் மீண்டும் மீண்டும் செய்யக்கூடிய சோதனைகளை எழுதப் பயன்படுகிறது, இது யூனிட் சோதனைக்கு வலுவான அடித்தளத்தைக் கொண்டுள்ளது.
  • டைப்மோக் : டைப்மாக் இடைமுகங்கள் வழியாக எதையும் கேலி செய்யலாம். மேலும், நிலையான ஓப்பன்சோர்ஸ் கருவியால் கேலி செய்ய முடியாத நிலையான முறைகள் மற்றும் வகுப்புகளை கேலி செய்ய முடியும். ஒழுங்குபடுத்துதல், செயல்படுதல், உறுதிப்படுத்துதல் மற்றும் சோதனை செய்தல் ஆகியவற்றின் வடிவங்கள் செயல்படுத்தப்படுகின்றன, மேலும் மின்கடத்திகள் அவற்றிலிருந்து தயாரிக்கப்படுகின்றன.
  • எம்புனிட் Embedded Unit Test Framework Embunit என்பது உட்பொதிக்கப்பட்ட அமைப்புகளுக்கான புதிய கட்டமைப்பாகும். இது C இல் எழுதப்பட்ட மென்பொருள் பயன்பாடுகளுக்கான சோதனை கட்டமைப்பாக வடிவமைக்கப்பட்டுள்ளது /சி++ மற்றும் அனைத்து நெட்வொர்க் மொழிகளையும் ஆதரிக்கிறது. இந்த கட்டமைப்பானது ஜாவாவில் உள்ள ஜூனிட் போன்ற அதே நோக்கத்துடன் செயல்படுகிறது, ஆனால் ஒரு வித்தியாசமான குறிக்கோளுடன்: திறந்த மூல, குறுக்கு-தளம் சோதனை கட்டமைப்பாக பணியாற்ற.

அலகு சோதனை குறிப்புகள்:

  • ஒரு யூனிட் சோதனை தோல்வியுற்றால், அது பிழையா அல்லது சோதனையிலேயே மாற்றியமைக்கப்பட்ட குறியீடா என்பதைக் கவனியுங்கள். ஏற்றுக்கொள்ளும் சோதனையின் போது டெவலப்பர் ஒரு தவறைக் கண்டால், ஏற்றுக்கொள்ளும் சோதனையை மேம்படுத்துவது இன்றியமையாதது, ஆனால் பெரும்பாலான குறைபாடுகள் உபகரண சோதனைகள் மூலம் கண்டறியப்பட வேண்டும்.
  • யூனிட் முதல் யூனிட் வரை சோதனையை ஆரம்பிப்பவர் எதிர்ப்பு வடிவங்களைத் தேட வேண்டும் மற்றும் அவற்றை அகற்ற வேண்டும், மேலும் இது குறியீட்டை திறமையாகவும் மீண்டும் பயன்படுத்தக்கூடியதாகவும் மாற்றும்.
  • புத்திசாலித்தனமாக எழுதுங்கள்; குறைந்தபட்சம், முடிந்தவரை, கணினியின் நடத்தையில் கவனம் செலுத்தும் குறியீடு சரியான குறியீடாகும்.
  • திறமையான சோதனைக்கு போலி அல்லது தவறான பொருட்களைப் பயன்படுத்தவும். உண்மையான அமைப்பைப் பயன்படுத்துவது ஆபத்தானது, ஏனெனில் இது தரவை ஆபத்தில் ஆழ்த்துகிறது.
  • ஸ்னாப்ஷாட் சோதனைகள் வரை UI கூறுகளை சோதிக்க வேண்டாம்.

தொடர்புடைய தலைப்புகள்

ஒருங்கிணைப்பு சோதனை கணினி சோதனை ஏற்றுக்கொள்ளும் சோதனை