பிழை கண்டுபிடிப்பது – பிழைப்பே அது தான்!

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

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

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

இப்போது கதையைப் படித்துக் கொண்டிருக்கும் உங்களிடம் ஒரு கேள்வி – வாடிக்கையாளரிடம் பேசத் தொடங்கியதில் இருந்து தொடர்பைத் துண்டித்தது வரை வெண்பா என்னென்ன செய்திருப்பாள்?

1) அழைப்பு வந்த உடன், என்ன சிக்கல் என்று கேட்டிருக்க வேண்டும். அதைக் குறித்து வைத்திருக்க வேண்டும்.
2) சிக்கல் பற்றி விவரமாகத் தெரிந்து கொண்டு அதையும் குறித்து வைத்திருக்க வேண்டும்.
3) வாடிக்கையாளர் சிக்கலைத் தீர்க்க என்னென்ன செய்தார் – அப்படியும் சிக்கல் தீரவில்லை என்பதைக் கேட்டு குறித்து வைத்திருக்க வேண்டும்.
4) வாடிக்கையாளரின் சிக்கலின் தீவிரம் எப்படிப்பட்டது எனத் தெரிந்து கொண்டிருக்க வேண்டும். அதைப் பொறுத்துத் தான், சிக்கலை 24 மணிநேரத்தில் தீர்ப்பதா? 48 மணிநேரத்தில் தீர்ப்பதா? இல்லை இன்னும் அதிக நேரம் எடுக்கலாமா? என்று முடிவு செய்திருக்க வேண்டும்.
5) மேற்கொண்டு இந்தச் சிக்கலைத் தீர்க்கும் வேலையை யாருக்கு ஒதுக்குவது என்று முடிவு செய்திருக்க வேண்டும்.
6) தான் வாடிக்கையாளரிடம் என்ன பேசினோம் என்பதைக் குறித்து வைத்திருக்க வேண்டும்.
7) இவை தவிர்த்து, வாடிக்கையாளர் – சேவை மையத்தைத் தொடர்பு கொண்ட நாள், நேரம், அந்த அழைப்பை எடுத்தவர் யார், அந்த அழைப்புக்கென தனியே ஓர் எண், அழைப்பு முடிந்ததும் தானியங்கியாக வாடிக்கையாளர் எண்ணுக்கு ஒரு குறுஞ்செய்தி – ஆகிய அனைத்தையும் வாடிக்கையாளர் சேவை மைய நிறுவனம் ஒருங்கிணைத்திருக்க வேண்டும்.

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

1) டெஸ்டரே வாடிக்கையாளராகத் தன்னை நினைத்துக் கொண்டு தவறுகளைக் கண்டுபிடிக்க வேண்டும்.

2) அவரே வா. சே. மைய அதிகாரியாகத் தன்னை உருவகித்துக் கொண்டு – அந்தத் தவறுகளைப் பதிய வேண்டும். இரண்டையும் ஒருவரே செய்ய வேண்டும்.

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

பிழை எண்: 1234 நாள்: 27-அக்டோபர்-2019 நேரம்: 07:45 காலை
கண்டுபிடித்தவர்: கவின் பொறுப்பு: வெண்பா
நிலை: புதிது
தலைப்பு: இரண்டு நாட்களாக அழைப்பு வர/போகவில்லை.
சிக்கலின் பாதிப்பு: தீவிரம் தீர்வு: எளிதாகத் தெரியவில்லை

விவரம்:
கடந்த 2, 3 நாட்களாக, வாடிக்கையாளருக்கு எந்த அழைப்பும் வரவில்லை. அவராலும் யாரையும் கூப்பிட முடியவில்லை. ஆனால், குறுஞ்செய்தி அனுப்ப/ பெற முடிகிறது.

படிகள்:
1) வாடிக்கையாளருக்கு கடந்த 2, 3 நாட்களாக, வாடிக்கையாளருக்கு எந்த அழைப்பும் வரவில்லை. அவராலும் யாரையும் கூப்பிட முடியவில்லை.
2) அவர் தம்முடைய சிம்மை ஸ்லாட் மாற்றி வைத்து முயன்றிருக்கிறார். அப்படியும் சிக்கல் தீரவில்லை.
3) ஓரிரு முறை, அலைபேசியை அணைத்து உயிர்ப்பித்திருக்கிறார். அப்படியும் சிக்கல் தீரவில்லை.
4) வாடிக்கையாளரின் கணக்கில் போதுமான அளவு இருப்பும் இருக்கிறது.

இயங்கு சூழல்:
சாம்சங் ஜே7 புரோ, ஆண்டிராய்டு 6

இணைப்புகள்:
அலைபேசியின் ஸ்கிரீன்ஷாட், அழைப்பை முயலும் போது சிம் நிறுவனத்தில் உருவாகும் அடிப்படையான சில கோப்புகள்

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

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

%d bloggers like this: