சாப்ட்வேர் டெஸ்டிங் -15 – வெள்ளைப் பெட்டி உத்திகள் -2

போன பதிவில் வெள்ளைப் பெட்டி என்றால் என்ன என்பது பற்றியும் அதன் உத்திகள் என்னென்ன என்பதையும் பார்த்தோம். இப்போது நாம் பார்க்கவிருப்பது அந்த உத்திகளைப் பற்றித் தெரிந்து கொள்வது தான்! போன பதிவில் என்னென்ன உத்திகளைப் பற்றிப் பேசினோம் என்று நினைவில் இருக்கிறதா? ஆம்!

1) வரிவரிச் சோதனை முறை (Statement Coverage)
2) கிளைவரிச் சோதனை முறை (Branch Coverage)
3) வழிச் சோதனை முறை (Path Coverage)
4) மாற்றச் சோதனை முறையும் (Mutation Testing) ஆகிய நான்கும் தான்! ஒவ்வொன்றாகப் பார்ப்போமா?

1) வரிவரிச் சோதனை முறை (Statement Coverage)
பேரே பொருளைச் சொல்லிவிட்டதல்லவா? வரி விடாமல் ஒவ்வொரு வரியையும் எடுத்துச் சோதிப்பது தான் வரிவரிச் சோதனை முறையாகும். அதாவது, நிரலின் ஒவ்வொரு வரியும் சரியாக இயங்குகிறதா என்று பார்ப்பது! எளிமையான ஒரு நிரலைப் பார்ப்போமா?

1 நிரலின் தொடக்கம்
2 முதல் எண்ணை வாங்குக.
3 2ஆவது எண்ணை வாங்குக.
4 முதல் எண், 2ஆவது எண்ணை விடப் பெரிதாக இருந்தால்,
அகர முதல எழுத்தெல்லாம் என்று சொல்க
5 நிரலின் முடிவு

இங்கு மொத்தம் 5 வரிகள் உள்ளன. இந்த ஐந்து வரிகளையும் சோதிக்க வேண்டும் என்றால், முதல் எண், 2ஆவது எண்ணை விடக் கட்டாயம் பெரிய எண்ணாகத் தான் இருக்க வேண்டும். (அப்போது தானே ‘அகர முதல எழுத்தெல்லாம்’ என்பது வரும்!).

இன்னொரு நிரலைப் பார்ப்போம்!

1 நிரலின் தொடக்கம்
2 முதல் எண்ணை வாங்குக
3 2ஆவது எண்ணை வாங்குக
4 3ஆவது எண் = முதல் எண் + (2 * 2ஆவது எண்)
5 3ஆவது எண் 100ஐ விடப் பெரிதாக இருந்தால்
மின்மினி எனச் சொல்க
6 நிரலின் முடிவு

இங்கு வரிவரிச் சோதனை செய்ய என்னவெல்லாம் செய்யலாம்? முதல் எண்ணையும் 2ஆவது எண்ணையும் கொடுத்துப் பார்ப்போமா?

முயற்சி #1:
முதல் எண் = 20, 2ஆவது எண் = 30 எனக் கொள்வோம்.
இப்போது 3ஆவது எண் = 20 + (2* 30) – அதாவது 80. இந்த உள்ளீடுகளுக்கு 5ஆவது வரி செயல்படாது தானே!

இந்த முயற்சியில் எல்லா வரிகளும் இயக்கப்படவில்லை.

முயற்சி #2:
முதல் எண் = 30, 2ஆவது எண் = 40 எனக் கொள்வோம்.
இப்போது 3ஆவது எண் = 30 + (2* 40) – அதாவது 110. இந்த உள்ளீடுகளுக்கு 5ஆவது வரி செயல்படும்.
இந்த முயற்சியில் எல்லா வரிகளும் இயக்கப்பட்டிருக்கின்றன. எனவே, முயற்சி #2ஐ வரிவரிச் சோதனைக்குரிய சரியான முயற்சியாகும்.

2) கிளைவரிச் சோதனை முறை (Branch Coverage)
கிளைவரிச் சோதனையைப் புரிந்து கொள்ள, ஒரு நிரலில் கிளை வரி (Branch) என்றால்
என்ன என்பதை முதலில் புரிந்து கொள்வது அவசியம். சென்னையில் இருந்து மதுரை போவது தான் நம்முடைய நிரல் என்று வைத்துக் கொள்ளுங்கள். சென்னையில் இருந்து திருச்சிராப்பள்ளி வழியாக மதுரைக்குப் போகலாம். சென்னையில் இருந்து சிதம்பரம், சீர்காழி, மயிலாடுதுறை, கும்பகோணம், தஞ்சாவூர் என்று ஊரையெல்லாம் சுற்றித் திருச்செந்தூர் விரைவான் போவது போல், இன்னொரு வழியில் மதுரைக்குப் போகலாம். ஆக, நம்முடைய சென்னை – மதுரை நிரலுக்கு இப்போது இரண்டு கிளைகள். ஒன்று நேர் வழி, இன்னொன்று சுற்று வழி! இதைத் தான் கிளை வரி(Branch) என்கிறோம்.

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

இப்போது, கிளை வரிச் சோதனை புரிந்திருக்கும் என நினைக்கிறேன். வரிவரிச் சோதனை, கிளை வரிச் சோதனை ஆகிய இரண்டுமே இப்போது உங்களுக்குத் தெரியும் அல்லவா? இரண்டையும் சேர்த்துப் பார்த்தால் ஏதாவது தோன்றுகிறதா? “ஆமாம்! ஆமாம்! கிளைவரிச் சோதனையை நூறு விழுக்காடு முடித்தால் வரிவரிச் சோதனையையும் நூறு விழுக்காடு முடித்தது போல் தான்! சரிதானே! கணியம் வாசகர்களா? கொக்கா?” என்கிறீர்களா? க க க போங்கள்! இவ்வளவு கூர்மையான ஆளாக நீங்கள் இருந்தால் – வழிச் சோதனை என்றால் என்ன என்றும் பார்த்து விடுவோமா? அளவுக்கு மீறினால் அமிழ்தமும் நஞ்சு என்கிறீர்களா? சரி விடுங்கள்! அதை வேண்டுமானால் அடுத்த பதிவில் பார்ப்போம்!

– கி. முத்துராமலிங்கம்(muthu@payilagam.com)

%d bloggers like this: