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

மாற்ற வழிச் சோதனை(Mutation Testing)

அதென்ன மாற்ற வழிச் சோதனை? ஒரு சின்ன கதை வழியாக இதைப் புரிந்து கொள்வோம்.

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

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

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

1) ஒரு மென்பொருள் நிரலை எடுத்துக் கொள்ள வேண்டும். அதில் சின்னச் சின்ன மாற்றங்கள் செய்து – ஒவ்வொரு மாற்றத்திற்கும் ஒரு நகல்(படி) எடுத்து வைத்துக் கொள்ள வேண்டும். இந்த நகலுக்குத் தான் மாற்ற வழி (Mutant) என்று பெயர்.
2) இப்போது ஏற்கெனவே நாம் எழுதி வைத்திருக்கும் டெஸ்ட் கேஸ்களை மாற்றங்கள் செய்யப்படாத மூல நிரலிலும் செயல்படுத்திப் பார்க்க வேண்டும்; மாற்றங்கள் செய்யப்பட்ட நகல்(படி)களிலும் செயல்படுத்திப் பார்க்க வேண்டும்.
3) பிறகு, டெஸ்ட் கேஸ்களின் முடிவுகள் அனைத்தையும் ஒன்றாகத் தொகுத்து ஒப்பிட வேண்டும்.
4) இதில் எந்த மாற்ற வழி – குறைவான குறைகளையோ அல்லது குறைகளே இல்லாத வழியையோ காட்டுகிறதோ – அதை இறுதி நிரலாக எடுத்துக் கொள்ளலாம்.

இப்படிச் செய்வது தான் மாற்ற வழிச் சோதனை (Mutation Testing) என்பதாகும். இந்தச் சோதனையை எளிதாக்க, கட்டற்ற மென்பொருள் ஏதாவது இருக்கிறதா? என்று கேட்கிறீர்களா? இல்லாமல் இருக்குமா? ஜம்பிள்(Jumble), ஸ்டிரைக்கர்(Stryker) என்று நிறைய இருக்கின்றன.
இந்தப் பதிவோடு வெள்ளைப் பெட்டிச் சோதனை முறைகளை மூட்டை கட்டி விடலாம். இனி அடுத்த பதிவில் கருப்புப் பெட்டி, வெள்ளைப் பெட்டிச் சோதனைகளில் கண்டுபிடிக்கப்படும் பிழைகளை எப்படிப் பதிவது?  யாரிடம் சொல்வது?  அந்தப் பிழைகளைத் திருத்த வேண்டியது யார்?  இப்படிப் பல கேள்விகளைப் பார்க்க வேண்டியது இருக்கிறது – தொடர்ந்து பேசுவோம்!

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

%d bloggers like this: