இந்தப் பதிவில் முந்தைய பதிவில் சொன்னது போல, திறன் சோதனைகளைப் பார்ப்போமா? திறன் என்றால் என்ன என்று முந்தைய பதிவிலேயே பேசிவிட்டோம் அல்லவா? எனவே நேரடியாக, அதன் வகைகள் என்னென்ன என்று பார்க்கத் தொடங்குவோமா?
1) பயன்பாட்டுச் சோதனை (Usability Testing)
கொஞ்சம் யோசித்துப் பாருங்கள் – ஒரு மென்பொருளின் வெற்றி என்பது அந்த மென்பொருள் பயன்படுத்துவதற்கு எவ்வளவு எளிதாக இருக்கிறது என்பதையும் பொருத்தது தானே! அதனால் தானே – லினக்ஸ் போன்ற பெரிய பெரிய தலைகள் கூட, விண்டோஸ் போன்ற வில்லன்களிடம் தொடக்கத்தில் அடி வாங்கியிருந்தார்கள். எந்த ஒரு மென்பொருளையும் பயன்படுத்துவதற்கு எளிதாக இருக்கிறதா என்று பார்ப்பதும் எந்த வகை பயனருக்கு மென்பொருளை உருவாக்குகிறோமா அவர்கள் பயன்படுத்த எளிதாக இருக்கிறதா என்று பார்ப்பதும் தான் பயன்பாட்டுச் சோதனை ஆகும்.
முகநூல், கட்செவி(வாட்சப்), யூடியூப் போன்ற சமூக தளங்களின் வெற்றிக்குப் பின்னால் பயன்பாட்டு எளிமை இருப்பதை மறுக்க முடியாது அல்லவா?
2) பளு தாங்கும் சோதனை(Load Testing)
இதென்ன சோதனை என்கிறீர்களா? சின்னச் சின்ன மென்பொருட்களுக்குப் பளு தாங்கும் சோதனை தேவையில்லை தான்! ஆனால், பல பயனர்கள் ஒரே நேரத்தில் பயன்படுத்தும் இணையம் சார்ந்த எல்லா மென்பொருட்களும் அத்தனைப் பயனர்களின் உள்ளீடு, வெளியீட்டுப் பளுக்களை மென்பொருள் தாங்குகிறதா என்று சோதிக்க வேண்டும் அல்லவா? எடுத்துக்காட்டாக, ஐஆர்சிடிசி(IRCTC) போன்ற ஒரு தளத்தில் ஒரே நேரத்தில் பத்தாயிரம் பேர் முன்பதிவுக்கு வந்தார்கள் என்றால், ஐஆர்சிடிசி தளம் எப்படி இயங்கும் என்பதைச் சோதிக்க வேண்டும் அல்லவா? அதாவது, பத்தாயிரம் விண்ணப்பங்களைத் தாங்கும் பளு – மென்பொருளுக்கு இருக்கிறதா? இல்லையா? என்று பார்ப்பது! அதைத் தான் பளு தாங்கும் சோதனை(Load Testing) என்கிறார்கள்.
இப்போது உங்கள் மனத்தில் எழும் கேள்வி – அதெப்படி பத்தாயிரம் பேர் முன்பதிவு செய்வதைச் சோதிப்பது? பத்தாயிரம் கணினிகள் கொண்டா? இது எப்படி நடைமுறைச் சாத்தியம்? என்று தானே கேட்கிறீர்கள்? சரி தான் – உங்கள் கேள்வி – இது போன்ற சோதனையைப் பத்தாயிரம் பேரைக் கொண்டோ பத்தாயிரம் கணினிகளைக் கொண்டோ செய்வது நடைமுறைக்குச் சாத்தியமே இல்லாத ஒன்று தான்! இந்தப் பத்தாயிரத்தை – பத்தாயிரம் விண்ணப்பங்களாக(Request) ஒரே கணினியில் இருந்து அனுப்புவார்கள். இப்படிப்பட்ட சோதனைகள் செய்வதற்கென்று தனியே திறன் சோதனை(Performance Testing) மென்பொருட்கள் இருக்கின்றன. ஜேமீட்டர் போன்ற பல கட்டற்ற மென்பொருட்கள் இவ்வகைச் சோதனைக்கு உதவுகின்றன.
கூடுதல் பாரச் சோதனை(Stress Testing)
ஒவ்வொரு மென்பொருளை உருவாக்கும் போதே, அது எவ்வளவு பளு(Load) தாங்க வேண்டும் என்பதைத் தீர்மானித்தே உருவாக்குவார்கள். பொது நிலையில், திறன் சோதனை என்பது பலர் ஒரே நேரத்தில் பயன்படுத்தும் இணையம் சார்ந்த மென்பொருட்களுக்குத் தான் தேவைப்படும். அந்தச் சூழலில் திருவிழாக் காலங்கள் போன்ற நேரத்தில் பளுவைத் தாண்டி நிறைய விண்ணப்பங்கள் வர வாய்ப்பிருக்கிறது அல்லவா? அப்படிப் பளுவைத் தாண்டி விண்ணப்பங்கள் வரும் போது மென்பொருட்கள் எப்படிச் செயல்படும்? மெதுவாக இயங்குமா? இல்லை இயங்காமல் படுத்துவிடுமா? என்றெல்லாம் சோதித்துப் பார்க்க வேண்டும் அல்லவா? அதற்குத் தான் கூடுதல் பாரச் சோதனை செய்வார்கள்.
பாதுகாப்புச் சோதனைகள் (Security Testing):
அண்மைக் காலங்களில் இணையப் பயன்பாடு அதிகமாக பின்னர், பாதுகாப்புச் சோதனைகள் (Security Testing) என்பது தனிப் பிரிவாக வளர்ந்து வருகிறது. சரியான பயனர் தாம் பயன்படுத்துகிறாரா என்பதைப் பயனர் பெயர், கடவுச்சொல், ஒரே ஒரு நேரம் மட்டும் பயன்படும் கடவுச்சொல் (One Time Password), இவை எல்லாம் தாண்டி, பயனரின் தட்டச்சு வேகத்தைக் கொண்டே யார் தட்டச்சிடுகிறார்கள் என்று கண்டுபிடிப்பது என்று பல்வேறு வழிகளில் கண்டுபிடிக்கிறார்கள். இந்த வகைச் சோதனைகளுக்குச் சான்று உறுதிச் சோதனை (அதாவது, கொடுக்கும் சான்றுகள் உறுதியானவை தாமா? என்று பார்ப்பது – Authentication Testing) என்று பெயர்.
அதிகார உறுதிச் சோதனை (Authorization Testing):
சான்று உறுதிச் சோதனையைப் போலவே அதிகார உறுதிச் சோதனை (Authorization Testing) என்று ஒன்று இருக்கிறது. அமேசான் முதலிய இணையத்தளங்களை எடுத்துக் கொள்ளுங்கள். அந்தத் தளத்திற்குப் போய் பொருள் வாங்குபவர்க்கும் தனிக்கணக்கு வைத்திருப்பார்கள். பொருள் விற்பவர்களுக்கும் தனிக் கணக்கு வைத்திருப்பார்கள். ஆனால் இருவருக்கும் வெவ்வேறு உரிமைகள் கொடுக்கப்பட்டிருக்கும் அல்லவா? பொருள் விற்பவர் – பொருள்களைத் தளத்தில் சேர்க்கும் உரிமை கொண்டிருப்பார். ஆனால் வாங்குபவர்க்கு அந்த உரிமை இருக்காது. இப்படி, இருவருக்குமே கணக்குகள் இருந்தாலும் யார் யாருக்கு என்னென்ன அதிகாரங்கள் கொடுக்கப்பட்டிருக்கின்றன என்று பார்ப்பதும் ஒவ்வொரு வகை பயனரையும் அதற்கேற்ப சோதிப்பதும் தான் தான் அதிகார உறுதிச் சோதனை(Authorization Testing) என்று சொல்லப்படுகிறது.
உலகமயமாக்கல் சோதனை (Globalization Testing)
உலகமயமாக்கலா? மென்பொருள் சோதனையிலுமா என்று கேட்கிறீர்களா? பொருளியல் உலகமயமாக்கல் என்பது வேறு மென்பொருள் உலகமயமாக்கல் என்பது வேறு! இங்கு உலகமயமாக்கல் என்று சொல்வது – எந்த ஊரில் இருந்து நீங்கள் ஓர் இணையத்தளத்தைப் பார்க்கிறீர்களோ – அந்த ஊருக்கு ஏற்ற பொருத்தமான தளத்தைக் காண்பிப்பது! அதாவது, நீங்கள் google.com என்று தட்டச்சிட்டாலும் தானாகவே இந்தியாவுக்குரிய google.co.in காண்பிக்கப்படுவது, உங்கள் உலாவியின்(Browser) மொழியைப் பொருத்து இணையத்தளங்களின் மொழியும் தானாகவே மாறுவது ஆகியவற்றைச் சோதிப்பது தான் உலகமயமாக்கல் சோதனை என்று சொல்வார்கள். இதை எப்படி உலகமயமாக்கல் என்று சொல்ல முடியும்? இது உள்ளூர்மயமாக்கல்(Localization) ஆக அல்லவா இருக்கிறது என்று கிடுக்கிப் பிடியாகக் கேட்பவர்களும் இருக்கிறார்கள். அவர்கள் கேட்பதும் சரிதானே! எனவே, இவ்வகைச் சோதனையை உள்ளூர்மயமாக்கல்(Localization Testing) என்றும் சொல்லலாம்.
இன்னும் மென்பொருள் சோதனை பற்றித் தெரிந்து கொள்ள வேண்டிய முதன்மையான பகுதி ஒன்று இருக்கிறது – அது தான் மென்பொருள் வாழ்க்கை வட்டமும் அதை நடைமுறைப்படுத்தும் முறைகளும்! அவற்றை வரும் பகுதிகளில் பார்ப்போம்.
– கி. முத்துராமலிங்கம் (muthu@payilagam.com)