பிழை வாழ்க்கை வட்டம்(Bug Life Cycle)

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

மென்பொருள் உருவாக்கத்திற்குப் பிறகு, டெஸ்டர்கள் மென்பொருளைச் சோதிக்கிறார்கள். அந்தச் சோதனை மூலம் பல்வேறு பிழைகளைக் கண்டுபிடிக்கிறார்கள். அந்தப் பிழைகள் கடந்து வரும் பல்வேறு நிலைகள் தாம் பிழை வாழ்க்கை வட்டத்தை அமைக்கின்றன. அந்த நிலைகள் என்னென்ன? ஏன் பல நிலைகள் தேவைப்படும்? பார்ப்போமா?

Bug Life Cycle
(பட உதவி: commons.wikimedia.org/wiki/File:Bugzilla_Lifecycle_color-aqua.png)

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

முதல் கோடு:

UNCONFIRMED → NEW → ASSIGNED → RESOLVED → VERIFIED → CLOSED

1) எப்போதுமே பிழை கண்டுபிடிக்கப்படும் போது உறுதிப்படுத்தப்படாத நிலை(UNCONFIRMED)யில் இருக்கும்.

2) பிற டெஸ்டர்கள் அந்தப் பிழையை உறுதிப்படுத்தும் போது, நிலை புதியது(NEW) என மாற்றப்படும்.

3) பிறகு அந்தப் பிழை நிரலர் அணியில் உள்ள ஏதாவது ஒரு நிரலருக்கு ஒதுக்கப்படும். அப்போது நிலை பொறுப்பு(ASSIGNED) என மாற்றப்படும்.

4) நிரலர் பிழையை நீக்கிய பிறகு, அவர் பிழையின் நிலையைத் தீர்ந்தது(RESOLVED) நிலைக்கு மாற்றி விடுவார்.

5) பிறகு அது டெஸ்டருக்கு ஒதுக்கப்படும். டெஸ்டர் சோதித்துப் பார்த்து பிழை நீக்கப்பட்டிருந்தால் சரிபார்க்கப்பட்டது(VERIFIED) என மாற்றப்பட்டு கடைசியாக முடிந்தது‘(CLOSED) நிலைக்கு மாற்றப்படும்.

இரண்டாவது கோடு:

UNCONFIRMED → NEW → ASSIGNED → RESOLVED → REOPENED → ASSIGNED → RESOLVED →CLOSED

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

மூன்றாவது கோடு:

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

UNCONFIRMED → NEW → ASSIGNED → DUPLICATE → RESOLVED → VERIFIED → CLOSED

என அமையும்.

நான்காவது கோடு:

வேறு சில சமயங்களில் டெஸ்டர் பதியும் பிழை, உண்மையான பிழையாக இல்லாமல், அவருடைய கணினியில் மட்டும் சரிவர இயங்காமல் இருக்கும். அதைப் பிழை என நினைத்து அவரும் பதிந்து விடுவார். அப்படிப்பட்ட பிழைகள், சூழல் காரணமாக அமைந்த பிழைகள் (Environmental Issues) என அறியப்பட்டு நீக்கப்படும். அந்தக் கோடு,

UNCONFIRMED → NEW → ASSIGNED →WORKS FOR ME → RESOLVED → VERIFIED → CLOSED என்னும் வகையில் இருக்கும்.

ஐந்தாவது கோடு:

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

UNCONFIRMED → NEW → ASSIGNED →INVALID → RESOLVED → VERIFIED → CLOSED

ஆறாவது கோடு:

டெஸ்டர்கள் உருவாக்கும் பிழைகளின் பாதிப்பு(Severity) குறைவாக இருக்கும் போது, நிரலர்களுக்கு இருக்கும் பணிச்சுமையைப் பொறுத்து சில பிழைகள் உறுதிப்படுத்தப்பட்டாலும் பின்னர்(LATER) அல்லது நினைவூட்டு(REMIND) நிலைக்கு மாற்றப்படும்.

UNCONFIRMED → NEW → ASSIGNED →LATER → RESOLVED → VERIFIED → CLOSED

UNCONFIRMED → NEW → ASSIGNED →REMIND → RESOLVED → VERIFIED → CLOSED

ஏழாவது கோடு:

நிரலர்களுக்குப் பிழைகளை நீக்கும் வேலை ஒதுக்கப்பட்ட பிறகு சில சூழல்களில் வேறு நிரலருக்கு அந்தப் பிழை ஒதுக்கப்படும் நிலை வரலாம். அதாவது,

UNCONFIRMED → NEW → ASSIGNED →NEW → RESOLVED → VERIFIED → CLOSED

இவை போல இன்னும் சில கோடுகள் கூட நம்மால் யோசிக்க முடியும். ஆனால், பொது நிலையில் இருக்கும் பிழை வாழ்க்கை வட்டம் இவ்வளவு தான்! இப்பொழுது பிழை வாழ்க்கை வட்டம் (Bug Life Cycle) பற்றி ஓரளவு உங்களுக்குப் புரிந்திருக்கும் என்று நம்புகிறேன்.

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

%d bloggers like this: