Category Archives: test-driven-development

ஒப்பந்த சோதனைகள்

நுண்சேவைகளின் தாக்கமும், ஆக்கமும் பெருகி வருகிற சூழலில், அவற்றை சோதிக்கிற வழிமுறைகளையும் அதற்கேற்றவாறு அமைத்துக்கொள்ளவேண்டும். அதற்கேற்ப நமது சோதனை பிரமிடையும் மாற்றியமைத்துக்கொள்ளவேண்டும். சில ஆண்டுகளுக்கு முன்புவரை, மென்பொருளாக்கம் என்பது ஒற்றைக்கல் சிற்பங்களைப் போல இருந்தது. அதில் சிறு சிறு மாற்றங்களைச் செய்வதற்கும் பிழைகளைத் திருத்துவதற்கும் அதிக நேரமும் உழைப்பும் தேவைப்பட்டது. இதனை சரிசெய்வதற்காக, மென்பொருளின் பல்வேறு செயல்களை, தொகுதி வாரியாகப் பிரித்து, அவை ஒவ்வொன்றையும் ஆள்வதற்கு தனித்தனி சேவைகள் (நுண்சேவைகள்) உருவாக்கப்பட்டன. ஒவ்வொரு நுண்சேவையும் தன் பணியைச்… Read More »

rspec-இன் கூறுகள்

இத்தொடரின் முந்தைய பதிவுகளில் உள்ள எடுத்துக்காட்டுகளில் rspec-இன் அடிப்படைக்கூறுகளை (describe, it, before, after) பலவற்றை பயன்படுத்தியிருக்கிறோம். இவற்றைப்பற்றி ஓரலகு சோதனைகளின் அமைப்பு என்ற பதிவில் சுருக்கமாக அறிந்தோம். rspec-இன் மேலும் சில கூறுகளைப்பற்றி இப்பதிவில் அறிந்து கொள்வோம். context – சூழமைவு ஒரு செயற்கூறு பலவேறு சூழல்களில் பலவாறு செயல்படவேண்டும் என எதிர்பார்க்கப்படுகிறது. உதாரணமாக, பல பயனர்களைக்கொண்ட ஒரு வலைதளத்தை எடுத்துக்கொள்ளலாம். அதில், ஒரு குறிப்பிட்ட பகுதி, உள்நுழைந்துள்ள, சிறப்பு அதிகாரம் பெற்ற பயனர்களுக்கு மட்டுமே… Read More »

ஓரலகு சோதனைகளில் போலிகளின் பயன்பாடு

ஓரலகு சோதனைகளில் சோதிக்கப்படும் வர்க்கத்தின் சார்புகளின் செயல்பாட்டை போலிகளைக்கொண்டு உருவகப்படுத்தலாம் என முந்தைய பதிவுகளில் அறிந்தோம். போலிகளைப் பயன்படுத்த சில கட்டமைப்புகள் உருவாக்கப்பட்டுள்ளன. Java-வில், easymock, powermock, mockito, Ruby-யில் rspec-mocks, C#-க்கு Moq போன்றவை இவற்றுள் சில. ஒரு எடுத்துக்காட்டுடன் போலிகளின் பயன்பாட்டை பற்றி அறிய முயல்வோம். நாம் முந்தைய பதிவுகளில் பார்த்த உதாரணத்தில், திருப்பியமைக்கபட்ட சரத்தை ஒரு கோப்பில் சேமித்து வைக்கவேண்டும் என்ற புதிய தேவையை எடுத்துக்கொண்டு போலிகளைப் பயன்படுத்தி பார்க்கலாம். அதற்கான சோதனையை பின்வருமாறு… Read More »

ஓரலகு சோதனைகளின் அமைப்பு

சோதனைவழி நிரலாக்கத்தைப்பற்றிய அறிமுகத்தையும், சோதனைகளின் வகைகளைப்பற்றியும் முந்தைய பதிவுகளில் அறிந்தோம். இந்த பதிவில் ஓரலகு சோதனைகளில் உள்ள கூறுகள் (Elements of unit testing) என்னவென்பதையும், அவற்றை ஒழுங்குபடுத்தும் முறை பற்றியும் அறிந்துகொள்ளலாம். எந்தவொரு சோதனையை எழுதும்பொழுதும் மூன்று முக்கியமான படிகளைப்பின்பற்ற வேண்டும். அவை என்னென்ன என அறிவதற்கு ஒரு எளிய உதாரணத்தை எடுத்துக்கொள்ளலாம். ஒரு விளையாட்டை உருவாக்குவதற்கான நிரலை எழுதிக்கொண்டிருப்பதாக வைத்துக்கொள்ளலாம். இந்த விளையட்டை சோதனைக்கு உட்படுத்தும்போது, இரு முக்கிய விதிகளை கடைபிடிக்கவேண்டும். ஒன்று, சோதனையை தொடங்கும்… Read More »

சோதனைகளின் வகைகள்

கணியத்தில் சாப்ட்வேர் டெஸ்டிங் பற்றி ஒரு தொடர் வருகிறதே! அதில், மென்பொருள் உருவானால் தான் நம்மால் சோதனையைத்தொடங்க முடியும் என சொல்கிறார்கள். ஆனால், முந்தைய பதிவில், மென்பொருள் உருவாக்கத்தையே சோதனைகள் மூலம் வழிநடத்தலாம் என அறிந்தோம். இவையிரண்டும், முன்னுக்குப்பின் முரணாக அமைகிறதே என குழம்பவேண்டாம். மென்பொருள் சோதனைகளில் பல வகைகள் உள்ளன. அவற்றைப்புரிந்துகொண்டால், தெளிவு கிடைக்கும். அவை, ஓரலகு சோதனைகள் (Unit tests) ஒருங்கிணைப்பு சோதனைகள் (Integration tests) செயல்பாட்டுச்சோதனைகள் (Functional tests) ஓரலகு சோதனைகள் நாம் முந்தைய அத்தியாயத்தில்… Read More »

Test Driven Development – ஒரு அறிமுகம்

Test Driven Development – ஒரு அறிமுகம் தகவெளிமை (agile) பற்றிய தொடரில் (www.kaniyam.com/agile-scrum-part-5/), அசோகன் அவர்கள் குறிப்பிடிருப்பது போல, XP என்பது மென்பொருளின் தரத்தையும், வாடிக்கையாளர்களின் தேவைகளுக்கு தக்கவாறு மென்பொருளில் மாற்றங்கள் கொண்டுவருவதையும், மேம்படுத்தும் நோக்கத்துடன் செயல்படும், மென்பொருள் உருவாக்க முறையாகும். இந்த முறை Kent Beck என்பவரால், உருவாக்கப்பட்டது. இதில், பல செயல்முறைகள் பரிந்துரைக்கப்படுள்ளன. அவற்றுள் TDD-க்கு ஒரு முக்கியமான இடமுண்டு. TDD என்றால் என்ன? TDD என்பது ஆங்கிலத்தில், Test Driven Development என்பதன்… Read More »