வானூர்தியில் தான் கருப்புப் பெட்டி என்று கேள்விப்பட்டிருக்கிறேன். இதென்ன சாப்ட்வேர் டெஸ்டிங்கிலும் கருப்புப் பெட்டியா? என்று வியக்கிறீர்களா? வியக்க வேண்டாம். எளிமையானது தான்! பார்த்து விடலாமா?
கருப்புப் பெட்டிச் சோதனை:
வீட்டில் இருக்கும் மோடத்திற்கு (Modem) இணைய இணைப்புக் கொடுக்கிறீர்கள். ஆனால் அந்த மோடம் எப்படி உள்ளீட்டை வாங்குகிறது? எப்படி உங்களுக்கு இணைய வசதி கிடைக்கிறது என்று யோசித்திருக்கிறீர்களா? எப்படிக் கிடைத்தால் என்ன – இணையம் கிடைத்தால் போதும் அல்லவா?
வண்டிக்குப் பெட்ரோல் நிரப்புகிறோம். பெட்ரோல் இஞ்சினுக்குப் போய் இஞ்சினை இயக்குகிறது. எப்படி இது நடக்கிறது என்று என்றைக்காவது யோசித்திருக்கிறோமா? இல்லை அல்லவா? உங்கள் மோடம், இஞ்சின் ஆகியவற்றைக் கருப்புப் பெட்டி என்று நினைத்துக் கொள்ளுங்கள். அதாவது, உள்ளீடு என்ன என்று தெரியும் – வெளியீடு என்ன என்று தெரியும் – உள்ளே என்ன நடக்கிறது என்பது மட்டும் தெரியாது. இது தான் கருப்புப் பெட்டிச் சோதனை முறை!
அதாவது, டெவலப்பர்கள் உருவாக்கித் தரும் மென்பொருளுக்கு என்ன உள்ளீடு கொடுக்க வேண்டும், அந்த உள்ளீட்டுக்கு என்ன வெளியீடு கிடைக்க வேண்டும் என்பதை மட்டும் பார்த்தால் போதும்! அந்த மென்பொருளை எப்படி உருவாக்கியிருக்கிறார்கள், என்ன நிரல் மொழி பயன்படுத்தியிருக்கிறார்கள் என்பதைப் பற்றியெல்லாம் கவலைப்படத் தேவையில்லை! இது தான் கருப்புப் பெட்டிச் சோதனை முறை! நாம் முந்தைய இரண்டு பதிவுகளில் பார்த்த உத்திகள் அனைத்தும் இந்தச் சோதனை முறைக்கு உரிய உத்திகள் தாம்!
கருப்புப் பெட்டிச் சோதனை சரி! வெள்ளைப் பெட்டி என்றால் என்ன என்கிறீர்களா? கருப்புக்கு நேர் எதிர் தானே வெள்ளை! ஆமாம்! நாம் சோதிக்கப் போகும் மென்பொருளை எப்படி உருவாக்கியிருக்கிறார்கள் – நிரல் மொழி என்ன பயன்படுத்தியிருக்கிறார்கள்? எப்படி நிரல் எழுதியிருக்கிறார்கள் என்பன போன்ற அனைத்தையும் தெரிந்து அவற்றைச் சோதிப்பதையும் சேர்ந்து செய்வது தான் வெள்ளைப் பெட்டி முறை! இந்த வெள்ளைப் பெட்டி முறைக்குத் திறந்த பெட்டி முறை, கண்ணாடிப் பெட்டி முறை என்று வேறு சில பெயர்களும் உள்ளன.
கருப்புப் பெட்டிச் சோதனை முறையில் சில உத்திகள் சொன்னீர்களே! அப்படியானால் அப்படிப்பட்ட உத்திகள் வெள்ளைப் பெட்டி முறையிலும் இருக்க வேண்டுமே! என்று கேட்கிறீர்களா? கவலையே படாதீர்கள். நிரலை வரிவரியாகச் சோதிப்பது, நிரலின் போக்கு அடிப்படையில் சோதிப்பது, என்று இங்கும் சில உத்திகள் இருக்கின்றன. இந்த உத்திகளைச் செயல்படுத்த வேண்டும் என்றால், டெஸ்டர்களுக்கு நிரல் மொழி (புரோகிராமிங் லேங்குவேஜ்) பற்றிய புரிதல் இருக்க வேண்டுமே என்று நினைக்கிறீர்களா? உங்கள் நினைப்புச் சரி தான்! கட்டாயம் வெள்ளைப் பெட்டி முறை டெஸ்டர்களுக்கு மொழி பற்றிய புரிதல் இருக்க வேண்டும். வெறுமனே திட்டப் பணி பற்றிய புரிதல் மட்டும் போதாது.
வெள்ளைப் பெட்டிச் சோதனை முறையில் இருக்கும் உத்திகள் என்னென்ன? அடுத்த பதிவில் அதைப் பார்ப்போமா!
– முத்து (muthu@payilagam.com)