Download as pdf or txt
Download as pdf or txt
You are on page 1of 255

SOFTWARE TESTING

Prof. Rajib Mall


Computer Science and Engineering
IIT Kharagpur
Index
Sl. No Topic Page No

Week 1

1 அறி க 3

2 ெட நிைலக (Levels of testing) 14

3 அ பைட ேசாதைனக 26

4 அ பைட ேசாதைனக (cont) 39

5 னி ெட 52

Week 2

6 ஏ இவெள ம ெபௗ டரி வ ேக ெட 65

7 சிற பான மதி ேசாதைன 77

8 கா பிேனஷனா ெட 89

9 ேப ைவ ெட 104

10 ெவ ைள ெப ெட 117

​ Week 3

11 MC / DC ெட 135

12 MC / DC ெட (ெதாட சி) 145

13 பா ெட 158

14 ேட டா ெலா அ ேடஷ ெட 171

15 ேடஷ ெட (testing) (mutation testing) 182

​ Week 4

16 ஒ கிைண ேசாதைன 194

17 சி ட ெட (testing) 207

18 ெரஃகெறஷ ெட 219

19 ெட ஆ ெஜ ஓரிய ேட ேரா ரா மி (ப தி 1) 230

1
20 ெட ஆ ெஜ ஓரிய ேட ேரா ரா மி (ப தி 2) 242

2
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-01 -Introduction

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர - 01 அறி க

சா ேவ ெட எ ற இ த பாட தி ட உ கைள வரேவ கிேறா .

( ைல ைட : 00:26 ஐ பா க )

20 அைர மணி ேநர ((slot), கழி , நா இ ேபா ேரா ரா ெட யி ( program testing)


சில அ பைட விஷய கைள ப றி விவாதி ேபா . இ த ெல ேற (lectures)
ேரா ரா ைய (program) பா ைவயாள ரி ெகா , ைற தப ச சில ேரா ரா
(program) ம சில ேரா ரா (program) அ பவ கைள எ த ேவ எ நா க
எதி பா கிேறா .

(SlideTime ஐ பா க : 00:51)

எனேவ, இ ேபா ெதாட ேவா . ஒ ேரா ரா ைய (program) யாராவ எ ைகயி ,


நிைறய மி ேட (mistakes) இ கலா , றி பாக திய ேராகிராம (programmer) ம
ேராபிசிேயான ேரா ரா ம (professional programmers) ட மி ேட (mistakes)
ெச கிறா க , ம ஈ ேரா (error)உ ள ேகா (code) ெகா ட ேரா ரா ெட யி
(program testing) ேபா ெபலி (failure)யைட . உதாரணமாக, நீ க ஒ ேரா ரா
கிேல (program crash) அ ல தவறான கைள காணலா .

3
இ ேபா , நா ெட மினாலஜி (terminology) சரியானதா ேவா . எனேவ, ேரா ராமி
(program) ஏதாவ தவ க இ தா , அைவ ேடபி (defects) அ ல ( bugs)
எ அைழ க ப , அதனா ஒ ேரா ரா ெட யி (program testing)ேபா
ேரா ரா (Program) ெபலி (failure)யைட , ஆனா பி ன ஒ (bug) அ ல
ெபயி (fail) அ ல ஈ ேரா (error) இைவ அைன ஒேர மாதிரியான வா ைதகளா .
ெட யி (testing) ேபா ஒ ேரா ரா (program) ெபலி (failure)யைட யாம
இ கலா ,ஏ எ ? பல காரண க உ ளன அைவ ெட ேக (test cases) அ த
ஈ ேரா (error) அ பல ப தவி ைல அ ல ஈ ேரா (error) ெச யவி ைல எ
இ கலா , அதனா ேரா ரா (program) எளிதி ெபலி (failure)யைட தி கா ,
ஆனா ஏதாவ ஈ ேரா (error) இ தா ட ேரா ரா (program) ெபலி
(failure)யைட வா க உ . இ ேபா இ த விதிகைள சரி ெச ெகா ேவா ,
ஏெனனி இ த விதி ைறகைள நீ க சமாளி க ேபாகிறீ க - ஈ ேரா (error)
பாஉ (fault) ெபலி (failure)

( ைல ைட : 02:40)

எ ேபா யாராவ ஒ ேரா ரா (program) எ ேபா ,அதி திய ேராகிராம


(programmer) அ ல மிக அ பவ வா த ேராகிராம க (programmer) ட
தவ க ெச யலா . ஏென றா இைத எ பவ க மனித க ம இ ஒ வழி ைற
ப ஈ ேரா (error) என ப

இ த ெட மினாலஜி (terminologies) IEEE டா ட டா ெம (standard document)


1044 ப (1993 ) ஈ ேரா (error) பாஉ (fault) ெபலி (failure)

இைவ அைன ஒ ததாக க த ப டன. ஆனா பி ன 2010 ெவளியான அேத


டா ெம (document) தி த ெச ய ப ட , ஏெனனி பல ெசா க
ஈ ேரா (error) பாஉ (fault) ெபலி (failure)

மி ேட (Mistake) என பல ெசா கைள க தி ெகா ெவளிப வதா , அைத ந ல


ைறயி பய ப த யவி ைல.ெவ ேவ அ த க இைத பய ப ேபா
கமான அ த க ெதரிவி க ப கி றன.

( ைல ைட : 04:01)

4
இ த ேநா க தி காக, IEEE ஆவண ஒ ஈ ேரா (error) அ ல மி ேட (mistake)
இவ றி இைடயி உ ள ேவ ப கைள ெதரிவி கிற , இைவ அைன ஒ திைச க ,
ஈ ேரா (error) ம மி ேட (mistake), மி ேட (mistake) ம பாஉ (fault) அ ல
ேடபி (defects) ஆகியைவயா , ஆனா இைவக இைடேய ஒ ேவ பா உ ள .
ஒ ேரா ராம (programmer) சா ேவ (software) உ வா ேபா , தலி
ெடெவல ெம ெபசிபிேகஷ (developing specification), ைச (design) ம ேகா
(code) ம ெட (testing).இ த நடவ ைகக ஒ ெவா றி ஈ ேரா (error)
அ ல மி ேட (mistake) ெச யலா . ேரா ராம (programmer) ஈ ேரா (error)அ ல
பாஉ (fault) ெச கிறா , நா அைத இ த கிரீ ெரட கேள (green rectangles)- கிரீ
ைடேமா (green diamonds.) ல ெவளி ப கிேறா . ஆனா ஒ ெவா
ஈ ேரா (error)அ ல மி ேட (mistake) உ ைமயி ஒ மி ேட (mistake) அ ல
ேடபி (defects) அ ல ஈ ேரா (error) ஏ ப தா மி ேட (mistake,) ேடபி
(defects). ம ஈ ேரா (error)இைவஅைன ஒ தைவ. ஒ ெவா ஈ ேரா (error)
ேரா ராமரி (progrmer) ஒ ெவா ப தியி மி ேட (mistake) ஏ ப தா . ஒ
ேரா ராம i மீ j ஐ எ த வி பினா , ஆனா பி ன அவ தவ தலாக i மீ 2ஐ
எ தினா , ஆனா பி ன அ த ேகா (code) J இ மதி எ ேபா 2 என உ ள ம
i மீ J எ பதி பதி i மீ 2 என எ திவி டா . எனேவ, இ ஒ
ஈ ேரா (error)ஏ ப தா . எனேவ, ேராகிராம (programmer) ஒ மி ேட (mistake,)
ெச தி தா ,அ இ ஒ மி ேட (mistake,) ெச யவி ைல. இ ேபா இ
அைன மி ேட (mistake,), அவ க ெச மி ேட (mistake,) ஆனா
ெபலி (failure) ஆகா .

சில, மி ேட (mistake) க ெட (test cases) ேக சரியாக இய கவி ைல


எ பதா ஏ ப கிற , அைவ மிக அரிதாக ஒ ைறயி ெசய ப த ப கி றன
அ ல ஒ மி ேட (mistake,இ பி ட ஒ ேராகிரா ெபலி (programme
failure) அ காரணமாக இ ைல, இ பி இத விைள ஏ க த க .

( ைல ைட : 06:27 ஐ பா க )

இ ேபா , சில சா ேவ ேராகிராம க (software programers) ெச மி ேட (mistake)


பா ேபா . மிக அ பவமி க ேராகிராம க (programmers) ட, ஈ ேரா (error)
ெச கிறா க . ஒ க பி பி , ேராகிராம க (programmer) ம அ பவமி க
ேராகிராம களா (programers) எ தைன ஈ ேரா (error) ெச தி கிறா க எ

5
க பி ளன . அத ப மிக ந ல ேராகிராம க (programers) ட ேகா
(code)எ ேபா ,1000 வரிக 50 ஈ ேரா (error) உ ளன . இ மிக கணிசமான
எ ணி ைகயா , ேம பல ெபரிய ெபலி (faliures)ஏ படலா . ஆனா பி ன ,
உ ைமயி உேஷ (users) ஈ ேரா (error) அ ல ெபலி (faliures)ெப வதி ைல,
ஏென றா இைவ ெவளியி ேசாதி க ப கி றன. சா ேவ
(software)நி வன க , சா ேவ (software) ெவளியி அைத விரிவாக
ெட (testing)ம அத கைள ெவளியீ கி றன, அத ப விரிவான
ேசாதைன பி 1000 வரிக ெகா ட ேகா (code) 1 ஈ ேரா (error) எ ற
விகித தி ல ேகா (code)யி ஈ ேரா (error) உ ளன. இ த ஈ ேரா (error)
ேராகிராம க (programers) ெச வ , ஈ ேரா (error) ஆதார க எ ன? 60 சதவிகித
ஈ ேரா (error) கிய ஆதார , ெபசிபிேகஷ (specification) ம ைச (design).
சராசரியாக மா 40 சதவிகித ஈ ேரா (error), ேகா (code) களா ஏ ப கிற என
ளிவிவர க ெசா கி றன .

( ைல ைட : 08:18)

ம ஒ ேராகிரா (program), அ க ெபலி (failure)யைட த ஒ ேராகிரா


(program) ைய உேச (users) களா ஏ ெகா ள படமா டா . அவ க அைத
நிராகரி வி வா க , எ த நி வன சா ேவ

(software) ைய சரியான மனதி நிைறய ப (bugs) க ட ெவளியிடா . எனேவ, அவ க


ெவளியி ஈ ேரா (error)கைள ைற க ேவ . ஈ ேரா (error)க எ ப
ைற க ப கி றன? ஈ ேரா (error)கைள ைற க ய ப ேவ ெட நி (techniques)
எ ன? நி வன க பய ப 4 த ைம ெட நி (tecniques)உ ளன, ஒ ெரவி
(Review) ெச ய ப கிற . ேரா ரா ேகா (program code)இ பா (faults) ெரவி
மீ (Review meeting) ேபா க பி கப கி றன, ேம ெபசிபிேகஷ
(specification) ம ைச (design) உ ள ப (bugs) ட ெரவி மீ (Review
meeting) பி க ப கி றன , பி ன ெட (testing) ைறயான ேபா ம ெபசிபிேகஷ
அ ெவரிஃபிேகஷ (formal specification and verification) பய பா ஆகியைவ ப
(bugs) கைள ைற பத கான மிக கியமான வழிகளா . இைவ அைன ைறயான
ஸி ெடம க லி ெடெவலபி (systematically developing) ெசய ைற. எனேவ, இ த
ைறயிலான சா ேவ (software) ஒ ப தி உ வா த ேகா (code) உ ள ப
(bugs) யி வா கைள ைற கலா .

6
( ைல ைட : 09:39 ஐ பா க )

ஆனா ஒ ேரா ரா (program) எ வா ெட (testing) ெச ய ப கிற எ பைத


பா கிேறா அத ேபா மான ெட (testing) ெச யாதத விைள கைள
பா கலா . இல கிய தி பதி ெச த பல ச பவ க உ ளன, அ ெட
(testing)கான ெசல ேமாசமானதாக உ ள . 2000 ஆ ஆ ெதாட க தி
ெதாட க ப ட ஏரிய 5 ரா ெக ெவளியீ (launch) ெச த ெவ 37 நிமிட தி ெஸ
ெட ட கி ேட (self-destructed)அைட த ஒ எ கா . எனேவ, அ த பணி
ெபலி (failure)யைட த , காரண எ ன? காரண உ ெட ேகா (undetected
code) ஒ ப (bugs)இ த .ம அைத இ எ வா ஏ ப ட எ பைத ப றிய
விவர கைள நீ க பா தா , அ ைதய ேகா (code) மீ பய ப வதா
ரீ (reuse) ஏ ப ட எ பைத நீ க பா பீ க , ஆனா ைதய ெமஷி (machine)
ைறவான ச தி வா த ெராசிேஸா (processor) பய ப கிற , ஏெனனி அ ஒ
பைழய ெமஷி (machine) . பி ன , அ திய ெமஷி (machine) தி பய ப த ப
ேபா ெராசிேஸா (processor) திற காரணமாக ெகா உ வா க ப ட எ ,அ ஒ 64
பி processor ம பி ன அ ஒ ஓவ பிளா (over flow) ஏ ப . ஆனா அ
அறி க ப த ப வத , அ ெட (test)ெச ய படவி ைல, ேம இத
எ ஹ ெல (exception handler ) ட க ப ட . எனேவ, இ த ப (bugs)கான
ெமா த ெசல 1 பி லிய டால க .

( ைல ைட : 11:42)

எனேவ, எ த ஒ சா ேவ (software) ேபா மான ெட (test) ேதைவ, ஆனா நா


தலி ஒ ேக வி பதிலளி க ேவ , சா ேவ (software) ஒ வ எ வா ெட
(test) ெச கிறா ? ஒ ேரா ரா (program)எ திய ஒ வைர நா ேரா ரா (program)
பா ப எ ப ெட (test) ெச யலா எ ேக கலா . எளிைமயான அள அவ ஒ பதி
ெகா கலா அ சரியான , நா சில இ வ (input values)ெச ,அைத நா
க காணி ம அத விைள சரியாதா அ ல இ ைலயா எ பா அத
பி ன நா ெதாட இ வ (input values)ெகா ெகா ேட இ க ேவ .
அதனா எளிய ெட (test) ெச ேராகிராம இ ந ப (input number) அ ல
இ ேட டா (input data) ம பி ன ேட டா (data) ெகா அத ஓ (output)
கவனி எதி பா த ப விைள இ தா ேரா ரா (program)ெசய ப கிற ம

7
ேரா ரா (program) ஓ (output)அவர எதி பா ெபா தவி ைல எ றா ,
ேரா ரா (program) ெபலி (faliures)எ நிைன ெகா கிேறா

( ைல ைட : 12:57 ஐ பா க )

ம ேரா ரா (program) ெபலி (faliures)யைட தைத க டா , ஒ ெட (test)


அறி ைகைய தயாரி கிற . ெட (test) அறி ைகயி , அவ எ ன நிைலைமகயி
ெபலி (faliures)யைட தா , எ த மதி வழ க ப டா , எ ன விைளைவ
க டறி தா , ம அைன ப (bugs)கைள ப றிய இ த ெட (test)
அறி ைகைய , ெடெவல ெம (development Team) கி (debugging)
எ க ப எ அவ றி பி வா மி ேக(mistake)நட த இட ெபசிபிேகஷ
(specification) ம ைச (design) ம அைத சரி ெச விவர இ கலா
அ ல ேக (case)இ கலா .

(படவி ைலேநர ைத பா க : 13:33)

இ ேபா , ஒ ெட (test இ விரிவாக ஆரா கிறெதன ஆரா வத ,


ெட (test) ெச வத கான சில உ ைமகைள பா கலா . சா ேவ (software)
உ வா வத எ ெகா ள ப ட அைன நடவ ைககளி , ெட (test)
உ ைமயி மிக ெபரிய ய சி ஆ . அைன நி வன க ைற தப ச 50
சதவிகித ெட (test) ய சியி ெசலவழி கி றன, 50 சதவிகித ய சி
ெபசிபிேகஷ (specification) ம ைச (design) ேகா (code) ம பலவ ைற
ெச கி றன. ஆனா , ஒ நி வன , ெபசிபிேகஷ (specification) ம ைச (design)
அ ல றி பி வ ட ஒ பி ைகயி ெட (test) கைள ேம ெகா வதி அதிக அள
ய சிகைள ேம ெகா ளதா , நி வன களி ெப எ ணி ைகயிலான ெட ட
(testers) ேதைவ ப கி றன ம அ உ ைமதா எ நா றலா . எ தெவா
நி வன தி ெச ஒ நபரிட ேபசி, அவ எ ன ெச கிறா என ேக பா ? 50
சதவீத , அவ நா ஒ ேரா ரா (program) ெட (test) ெச கிேற எ
வத கான வா உ ள . உ ைமயி இத ெபா எ னெவ றா அைன
ேரா ரா (program) ேம பா ள ேரா (rolls) ம தியி , சா ேவ (software)
ெடெவல ெம ெட (development test) அதிகப ச வா ைப ெகா கிற ,
ஏெனனி ெப பாலான மனித ச தி ேசாதைன ேதைவ ப கிற . ஆனா ஒ நி வன
சா ேவ (software) ெட (test) ெச ய அைர மணி ேநர ெசலவழி கி ற நிைலைய
ரி ெகா ள ய சி ெச ய ேவ , ஆனா அவ க ேசாதி ேபா , அவ க

8
விைரவாக ய சி ெச கிறா க , அவ க ேநர ைத ைற க ய சி ெச கிறா க , 50
சதவிகித ேசாதைன ய சி 10 சதவிகித ேநர ைத ெடெவல ெம ைட (Devlopment
time) ேநர என ப . எனேவ, 90 சதவீத வள சி ேநர ைத ெபசிபிேகஷ (specification)
ைச ம றி பாக பிற நடவ ைககைள ெச ய எ ெகா ள ப கிற , ம
50 சதவீத ய சிகளா ம ேம நைடெப கிற . ெட (test)களி 50 சதவிகித
ய சிக மீத ள 10 சதவிகித தி ம ெச ய ப கி றன, அ எ ப
சா தியமா ? ெட (test)யி அதிகப ச இைண த ைமைய க டறிவ க ன அ ல,
அதனா தா நி வன தி பணியா ெட ட (testers)களி எ ணி ைக ெபரிய
ம அைவ பர ெலலிச (parallel) ெட (test) உ ப த ப கி றன. எனேவ, ெட
(test) யான சா ேவ (software) ெவ ேவ ப திகளி ெபா வாக நட கிற ,
ெவ ேவ னி ெட (unit) இ ெடகிரஷ ெட (integration testing) ம சி ட
ெட (system testing) ெப எ ணி ைகயிலான ெட ட (testers)ளா
சா ேவ (software) ப ேவ அ ச கைள ேசாதி க ;, ெபசிபிேகஷ
(specification) ம ைச (design) தலியன அேத ேநர தி ேவைல ெச ய நிைறய
ெதாட சியான நடவ ைகக ல நப களி எ ணி ைக க ப த ப ள ,

இ ேபா , சில ெட (test)களி உ ைமகைள நா ஆரா ேவா , ஆ ேதா ெட


(test) மிக க னமாக சி கலானதாக மாறிவ கிற , ஏெனனி ேரா ரா
(program)த கைள ெபரியதாக சி கலானதாக திய ேரா ரா (program)
விள க பட க மா றி வ கி றன. உதாரணமாக, ெவ (web) அ பைடயிலான
சா ேவ (software) ெப ளன அ ல ெமாைப ஃேபா (mobile phone) களி இய
சா ேவ (software ம எ பீெட சா ேவ (embeeded software)ெகா இய
நிைறய க விக வ வி டன. எனேவ, ெட ட (testers) இ த க விகைள ப றி ெதரி
ெகா ள ேவ ம திய ெட ெட நி (testing techniques)
அறி க ப த ப ளன. எனேவ, ஆர ப கால களி , 50 , 60 ேம ப ட வ ட க
ேரா ராம (programmer) ெட (test) ப த ப ட ேபா , அவ சில இ
(input)கைள, சில ெர ேடா வா (random values)கைள ைவ ெட (test)கைள
ெச யவா க அ மா கி ெட (monkey test)என அைழ க ப ஆனா பி ன கட த
50, 60 ஆ களி றி பாக கட த ப தா களி ெட (test)யி வள சி மிக மிக
சிற வா த ம மிக அதிநவீன ெதாழி ைற ேசாதைனகைள ேம ெகா ட .
எனேவ, அைத பா ேபா .

9
( ைல ேநர ைத பா க : 18:13)

ஏ கனேவ நா ெசா னைத ேபாலேவ நீ ட காலமாக, ேசாதைனயான சில


மதி கைள ேரா ரா (program) இ (input) ெச , ேரா ரா
(program)ெசயலிழ க ெச வ அ ல ேரா ரா (program) தவறான கைள
உ வா வைத பா க ய சி ப . அ த ெட (test) மிக கவ சிகரமானதாக
க த படவி ைல எ பதா , ஏென றா ெர ேடா வா (random values)கைள இ
(input) ம ேம ெச வ , அ அ த ேராபிஸி (profession) இ (input) ம
அதிக ப தவி ைல.ஆனா எ ப ேயா அ த ெதாழிைல ைமயாக மா றிவி டா ட
அ த கள க உ ள . இ ேபா , எ த நி வன தி ெட (test) மிக சவாலான
ேவைலகளி ஒ றா . ஆ ேதா ெட (test) க அைன வைகயான
சா ேவ (software)வள சி ைமய நிைல (stage) எ ளன, ேம மா கி ெட
(monkey test) ல சா ேவ (software) ெட (test) ெச ய படவி ைல; மா கி ெட
(monkey test)யான ெர ேடா வா (random values) ம ேம இ (input)ெச ,
சா ேவ (software)ேவைல ெச கிறதா இ ைலயா எ பைத பா ப தா . இ ேபா
ெட ட (testers)ப ேவ ெட ெட நி (testing techniques)கைள ந
அறி தி க ேவ ம எ க ெதாட சியான அம களி நா அதிக
எ ணி ைகயிலான ெட நி (techniques)பா கலா . ேம கிைட க ய
ஆ ேடாேம ட (automated tools)ம அவ ட ய ஒ ேராைபயி சி
(proficiency)வளர ேவ .

( ைல ைட : 19:42)

இ ேபா , ஒ இ த ேக வி விைடயளி கலா நா சா ேவ (software)


வள சியி ெட (test) எ ேபா ேம ெகா ள ப ? சரி, நா வா ட பா மாட (water
fall model) மாதிரிைய பரிசீலி இ தா , ெபா வாக ெட (test) ெடெவல ெம
ைச கி ளி (development cycle) வி ஏ ப . எனேவ, அ த ேகா ெப யி (
coding Phase) ேபா , னி ெட (unit) ேம ெகா ள ப கிற , பி ன இ ெட ரா
ெட (integrated test) ம சி ட ெட (system testing) ெட ெப (testing phase)
ேம ெகா ள ப கிற . எனேவ, வா ட பா மாட (water fall model) ைய பய ப தி
ெட ட களா (testers) எ ன ெச தா , வா ட பா மாட (water fall model)யி
ெட ட (testers)கைள ம ேம ெகா வ வத ேதைவ ப கிறா க ,
ஏெனனி அதிக எ ணி ைகயிலான ெட ட க (testers)இ எ றிேனா ,

10
பி ன மாதிரியி வா ட பா மாட (water fall model) ைல ைச கி (life cycle) ப
ஆர ப தி ெச கிறா க .ஆனா பி ைதய ெடெவல ெம (development) ைறக ,
உதாரணமாக னிஃைப மாட (unified model), அ ல அகி மாட (agile model),
ெடெவல ெம ைச கி (development cycle) அைன ேம பர கிற , ேம வள சியி
பைழய V மாட (model)) யான ட ைல ைச கி (life cycle)ைய பரவலா கிற . எனேவ,
ெட (testing)க ைல ைச கி (life cycle) களா வைரய க ப வத ல ,
ஏதாவ ெவா அ ல ம றவ ட பிஸியாக(busy) இ பேதா சா ேவ
(software) ேப அ பல ப த ப கி ற .

இ ேக பா ேபா , இ னிஃைப மாட (unified model) ெசய ைறயி ெவ ேவ பாசி


(phases) ேதைவ ப ய சியா . னிஃைப மாட (unified model) ெசய பா 4
பாசி (phases)உ ளன , அைவ இ ச (inception), ஈழேபாரேரஷ (elaboration),
கா ஷ (construction) ம ரா சிஷ (transition). ம அைன ெட
(testing) ய சி ல எ பா காலா . எனேவ, ெட ட (testers)க எ ன
ெச கிறா க ? ைல ைச கி (life cycle) ைய அவ க வைரய , னி ெட (unit)
நட தி, இ ெடகிரஷ ெட (integration testing) வைரய , ெசய ப வத ல ,
சபிலி ெட usability testing, கைள வைரய , நி வகி பேதா , பயனாள
அசி ன ெட (usability test) கைள நட த ேவ . வா ட பா மாட (water fall
model) க மிக பிரபலமாக இ எ தெவா இெடேர ெடெவல ெம (iterative
development), ஒ ெவா இெடேர ((iterative ) ெச ைகயி மீ ெசய பா
ெசய தி ட க சிறிய வா ட பா (water fall)ைய ேபா ற , இதி ெபசிபிேகஷ
(specification),

ைச (design),ேகா (coding) and ெட (testing) ேம ெகா ள ப கிற . எனேவ,


எ தெவா இெடேர ெடெவல ெம (iterative development) ைற ெட
(testing)களி , ைல ைச கி (life cycle)யி , வா ட பா (water fall) அத
ெதாட ைடய ெடெவல ெம (development) ெசய பா களி , ெட (testing)
வைடவத ம ேம உ ள .

( ைல ைட : 22:45 பா க )

ஆனா இ ேபா ேக வி கான பதி எ னெவ றா ேரா ரா ெட ( program


testing)ெச ய ப வி டா , ப (bugs) கைள இ (input)ைட ேபாலேவ
க டறிய ப அ ல அதிக ெட ேக (test cases)பய ப கி றன

11
அ ல அதிகமாக பய ப த ப கி றன, ேம ப (bugs)க க டறிய ப ளன,
ஆனா பி ன கால ேபா கி ப (bugs) க ெவளி ப . எனேவ, உ க எ ப
ெதரி ? நீ எ ேபா ெட (test) கைள நி கிறா ? ெட (test) ஒ நா அ ல
இர நாளி ப (bugs)க கிைட கவி ைலெயனி அதனா இ தா ெட (test)ைய
நி த ய ேநர . எனேவ, நி சயமாக ெட (test) நி த ேநர எ ப சா ேவ
ெடெவல ெம (software development) ய எ த ஒ றி பி ட அ பிளிேகஷ
(application)கைள ம ெபா த ; ஆனா ெட (testing) எ வள ேநர ஆ என
ெதரி ெகா வத கான ேவ வழிக உ ளனவா? நா ெச ய ய ம ெறா விஷய ,
ேரா ரா ேமனாெஜ (program manager) அ ல the லீட (leader), அ ல , அவ ஸீ
(seed)கைள அறி க ப தி ேரா ரா ேகா (program code) களி ப (bugs)கைள
உ ப ணி , பி ன ெட (test)க ல சா ேவ ெட (software test)
ெச கி றன , ெட ரி ேபா (detected report) கைள ெட (test) கி றன,
பி ன இைவ ெடவல ப க (development) ம ேரா ரா ேமனாெஜ (program
manager)களா அைன ப (bugs)க க பி க ப ட . அவ ஸீ (seed)
அைன ப (bugs)க அ ல அவ ஸீ (seed) ெச ள ப (bugs)க மிக
க டறிய ப டா , அவ அ த ேகா (code) இ ம றப (bugs )க அைன
க டறிய ப டா ெட (test)ைய நி த ேவ ய ேநர எ ெதரி . எனேவ, ப
(bugs )க உ ள ஸீ (seed) கைள , எ தைன ேப ெவளி ப வ எ ப சா ேவ ெட
(software testing) ப ட எ பைத கா கிற .

( ைல ைட : 24:28 ஐ பா க )

இ ேபா , ம ெறா ெட மினலஜி (terminology )எ ப கெர (y correct.).


ெவரிபிேகஷ (verification) ம வளிட தி (Validation). - இ மிக அ க
பய ப த ப கிற . எனேவ, ெவரிபிேகஷ (verification) எ ப ஒ தயாரி ேவைல, ஒ
க ட தி , ேவகமான ெடெவல ெம (development), தயாரி அ த க ட தி
ேவைல தயாரி ஒ ததாக இ எ பைத சரிபா க பய ப . ஆைகயா , ஒ
க ட தி விைள உ ப தி ெச ய ப .ஒ க ட தி ஓ (output)எ ப ஒ
க ட தி ைதயதாக இ தா , ஒ (வா War) தயாரி அத ைதய க ட தி
ஒ ததா எ பைத ெவரிபிய(verify) கிறீ களா, ஒ ெவரிபிேகஷ (verification) ெச ய
ப வ எ ப ?ஒ ேவைல தயாரி அத ைதய க ட ேவைல தயாரி இண மா
எ பைத சரிபா கிற , ஆனா ஒ வ எ வா சரிபா க ப கிறா ? ெவரிபிேகஷ
ெட நி (verification techniques) ெரவி (review) சி ேலஷ (simulation) ேபா றைவ

12
ஆ , ஆனா சரிபா மாறாக, ெவரிபிேகஷ (verification)எ ப சா ேவ
(software)ேதைவைய ைமயான ெர றிெயெம டா ெம ( requirement
document)உ தி ப கிறதா எ பைத தீ மானி ெசய ஆ .

( ைல ைட : 26:16 ஐ பா க )

எனேவ, ெவரிபிேகஷ (verification) ேபா , ைல ைச கி (life cycle)களி , க


க டறிய ப வ , நீ க ப வ , ைல ைச கி (life cycle), ப (bug)க
க டறிய ப டா ப (bug)க க ப த ப . சரிபா எ ப இ பதா , ப
(bug)க இ ைல எ பைத உ தி ப கிற . எனேவ, ேவ வா ைதகளி ெசா வதானா
நா ெவரிபிேகஷ (verification) சரியானதா எ பைத சரிபா ெகா வ சரி,
வளிட தி (Validation) எ ப உ ப தி திறைன ேம ப கிறதா எ பைத சரிபா ப
ச ப தமாக உ ள . எனேவ, தயாரி சரியாக உ ளதா, வளிட தி (Validation) ேபா ,
ெசய ைற அ ல ேவைல தயாரி சரியாக வள ததா இ ைலயா எ பைத சரியான வழியி
நா க ெடெவல ெம (development) ெச ேவாமா எ பைத சரிபா கிேறா . எனேவ, இ த
ெவரிபிேகஷ (verification) ம வளிட தி (Validation). ப களி சில, ெரவி
(review) , சி ேலஷ (simulation), ெவ ேவ னி ெட (unit) இ ெடகிரஷ ெட
(integration testing) ம சி ட ெட (system testing) ஆகியவ ைற
பய ப கிேறா . ஆ சரிய எ னெவ றா , நா எ திய ெவ ேவ னி ெட (unit)
ம இ ெடகிரஷ ெட (integration testing) ெவரிபிேகஷ (verification) உ திகளா?
ஆமா , இைவ ஒ ெவரிபிேகஷ (verification) உ தியா , ஏென றா னி ெட (unit
test) யி ஒ னி (unit) அத வ வைம பி ஒ ேபாகிறதா என ெட (test)
பய ப கிற . ேமா ல (module) சிமிளா லி (similarly) இேதேபா இ ெட ராஷ ெட
integration testing )இ கலா , ஆனா சி ட ெட (system testing) வளிட தி
ெட நி (Validation techniques). இ த க ட தி நா நி த ேவ , அ த
க ட தி இ த நிைலயிலி ெதாடர . ந றி.

13
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-02- Levels of testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 02 ெட நிைலக (Levels of testing)

இ த அம வரேவ கிேறா . கட த அம வி , ெட (testing) களி சில அறி க


விஷய கைள ப றி நா க விவாதி ேதா . இ ேபா இ த நிைலயிேல ெதாட ேவா ,
இ நா ெட (testing)களி சில அ பைட க கைள பா ேபா .

( ைல ைட : 00:35 ஐ பா க )

• ேவ ப ட ெட ெலெவ (testing levels ) ம ைல ைச கி மாட ெபற ெட


( Life Cycle Models per testing).

( ைல ைட : 00:48 ஐ பா க )

நா க வ வத , கைடசி விவாத தி நா க விவாதி ெகா தைத


அ பைடயாக ெகா ேட ஒ ேக வி ேக க ேவ . எ த வழிகளி சா ேவ (software)
ெவரிஃபிேகஷ (Verification) ம வளிட தி (Validation) ேவ ப கி றன?
ெவரிஃபிேகஷ (Verification) ம வளிட தி (Validation) இைடயி உ ள கிய
ேவ பா க எ ன?

( ைல ைட : 01:11 ஐ பா க )

இ த ேக வி பதிலளி க, தலி ெவரிஃபிேகஷ (verification) அத


கா சர (concerns) ைவ நா க ெய பிய சா ேவ (software) சரியானதா? எ

14
அத ைதய அ பா (artifact) அ ெபா மா எ பைத சரிபா கிற . ம ற ,
சரியான தி (things), சரியான சா ேவ (software)ைள நா க யி ேதாமா எ பைத
ெவரிபிய (verify) ெச வ ப றி கவைல ெகா ள . இ ேக, சா ேவ ெபசிபிேகஷ
(software specification) எதிராக இ தியாக உ ப தி ெச ய ப ட சா ேவ (software)
நீ க சரிபா கிறீ க . ம ெவரிஃபிேகஷ (verification) இ த நடவ ைகக
ெவ ேவ ெடெவல ெம ேட (development stage)களி ெச ய ப கி றன ம
ெடவல ப (developer)களா ெச ய ப கி றன. சி ட ெட (system testing) வி
வளிட தி (Validation) ெச ய ப கிற ம இ ெட ட (testers)களா
ெச ய ப கிற . ெவரிஃபிேகஷ ெட நி (Verification techniques) எ ப ரிவி
(review), அனாலிசி (analysis) ம சி ேலஷ (stimulation) ஆகியைவயா . எனேவ,
இைவ டா (static) ம ைடனமி (dynamic) நடவ ைகக ஆ . ரிவி (review),
அனாலிசி (analysis) தலியன டா (static) நடவ ைகக ம னி ெட (unit
testing) காரணமாக இ ஒ ைடனமி (dynamic) ெசய பா ஆ . அேதசமய , வளிட தி
(Validation) ஒ ைடனமி (dynamic) ெசயலா டா (static) ெசய பாடாக இ ைல
எ பதா , அவ ைற டா ெம அனாலிசி (document analysis)ைய நா உ ைமயி
பா க ேவ ய அவசிய இ ைல, ேம எேஸ ேட சா ேவ (execute software)ேதா ,
ெர பீெரெம (requirements) எதிராக ெட (test) ெச ய ேவ .

( ைல ைட எ பைத பா க : 02:46)

இ ேபா , ெட (testing) ெச ய ப ெவ ேவ ெலெவ (levels) எ ன? உ ைமயி ,


ெட (test) ெச ய ேவ ய 4 ெலெவ (levels) உ ளன. ஒ , னி ெலவ லி( unit
level) உ ள . சா ேவ (software) உ வா க ப ேபா ெடெவல ெம (development)
ஒ ெவா னி (unit) உ வா க ப ட ட விைரவி ெட (test) ெச ய ேவ .
பி ன அைன னி (unit) க இ ெட ராஷ ெட (integration test) ெச ய பட
ேவ , அைன னி (unit) க இ ெட ராஷ (integration )ெச ய ப ட பி
இ ெட ராஷ (integration) சரியா எ பைத ேசாதி பா த பி ன , நா ெவ ேவ
னி (unit) ைள, இ ெட ராஷ (integration) ெச இ ெட ராஷ (integration)
அவ க சரியாக ேவைல ெச கிறதா என ெட (test) ெச ய ேவ . னி ெட (unit
test) அவ க ேவைல ெச தா , அவ க இ ெட ராஷ ெட (integration test) ஏ
ேவைல ெச ய டா ? பதி எ னெவ றா , எ லா னி (unit) சரியாக ேவைல

15
ெச தா , ெவ ேவ னி (unit) கைள, இ ெட ராஷ (integration) ெச ேபா
அைவ அைன சரியானதாக இ கா . உதாரணமாக,

()

ெபசிபி (specific) மதி (values)கைள ெபா வ சரியாக இ கா . னி ெட


(unit test) பிற இ ெட ராஷ ெட (integration test) ெச ய ப கிற , ேம
னி (unit) க இ ெட ராஷ (integration) ெச கி றனவா அ ல அைவ ஒ றாக
ேச ெசய ப கிறதா என ேசாதி கிேறா .

இ தியாக, சி ட ெட (System testing) - அைன னி (unit)க


இைண க ப டன ம ெபசிபிேகஷ (specification) எதிராக ேசாதி க ப ட .
நீ க றி பி ட சா ேவ (software) ேவைல ெச கிறதா என சரிபா க ேவ . ஆனா
ெரஃ ெர ஸி ெட (regression testing) எ ப ம ெறா ெலவ (level) ெட
(testing). இ ைம ெடன (maintenance)ேபா ேம ெகா ள ப கிற , எனேவ
சா ேவ (software) ெவளியிட ப ட பிற ப ரி ேபா (bug report) அ ல
எ ஹா ெம ரி ேபா (enhancement report) களி இ க ,
ேரஸு ேறெம (recruitments)ைய தி ெச த ம சா ேவ (software) ைய
சா (change) ெச த . சா ேவ (software) தியைட த பிற , மா ற க
ஏ ப கி றன,

ஒ ெவா சா ேவ (software) சா (change) உ ளாகி றன.


சா (change)யி ேபா , சா (change) ெச ய ப ட ப தி சரியாக ேவைல ெச கிறதா
எ பைத சரிபா க ேவ , அ ம ம லாம , அைவ ெதாட ேவைல ெச கிறதா
இ ைலயா எ சா (change) ெச ய யாத பிற ப திகைள சரிபா க ேவ .
ஒ சா (change) பி சா (change) ஆகாம இ ப திகைள ஏ நி தி
ைவ க ேவ , ஏென றா ேட டா சா (data change) காரணமாக ம ற
சா (change)க ஒ சா (change)ைய ஏ ப . ெரஃ ெர ஸி ெட (regression
test) இ த சா ேவ , சில ெட ேக (test cases)க சரியா ேவைல
ெச கிறதா எ பைத பரிேசாதி பா , சா (change)பிற , அ த ெட ேக (test
cases)கைள ெதாடரலாமா எ பைத பா க . இ ரி ேரஷ ப (regression bugs)
எ அைழ க ப கிற , அ ெவளியிட ப ட ேபா சரியாக ேவைல ெச தா , பி ன
ெட (testing) எ காயாவ ஒ சிறிய சா (change) இ தா ெட (testing)

16
பாயி (fail) ஆ ம இைவ ைப ேர(failure) ைய ரி ேரஷ ப (regression bugs)
ஆ .

( ைல ைட : 06:21 ஐ பா க )

எனேவ, னி ெட (unit test) ெட ெலவ (testing level) ைய பா தா , ஒ ெவா


னி (unit) ைய ேசாதி கிேறா . ஒ னி (unit) கா ேபாென (component,), அ
ஒ பி ஷ (function) ஆக இ க ,அ ல அ ஒ ெமா ேல (module) ஆக
இ க . இைவ ஒ ெவா ஒ னி (unit)டாக அைழ க படலா , ஒ
கா ேபாென (component) ைய னி (unit) எ ஒ சா பாக அைழ கலா , ஒ
பி ஷ (function) ைய னி (unit) அ ல ஒ ெமா ேல (module) ைய ஒ
னி (unit) அ ல ஒ கா ேபாென (component) ைய னி (unit) என , அவ ைற ம ற
னி (unit)களி இ இ ெடேப ெட (independent) ஆகெட (test)ெச யலா .
னி ெட (unit test)கைள விவாதி தேபா ெடவல ப (developer)க த க
னி (unit) தா கேள தயா ப தி ெகா டன . அேதசமய , சி ட ெட
(system testing) களி இ ஒ தனி ெட (team testing), இ ெபா வாக சி ட
ெட (system testing) ெச கிற . இ ேக, ெட (testing) ைறயி சி ட (system)
வ ேசாதி க ப கிற . அசி ன ெட (acceptance testing) எ ப சி ட
ெட (system testing)யி ஒ ப தியாக உ ள ம அ க ேடாெம (customers)
ெசய பா கைள வளிட தி ெட (validation test) ெச கிற . சி ட ெட (system
testing)அ ல வளிட தி ெட (validation test) ைய ெட ெட (testers)
,க ேடாெம (customers) இ வரா ெச ய ப வைத இ ேக காணலா .

( ைல ைட : 07:32)

இ ேக, ெட ெலெவ (testing levels) க எ னெவ பைத வைரபட தி கா பி ேபா .


எனேவ, க ேடாெம (customers), அவ ேதைவ ப விஷய க , உேஷ (users)
உ ைமயி எ ன ேதைவ ம அசி தா ெட (acceptance test) எ த அ பைடயி
நட தப கிற . அேதசமய தி , சி ட ெட (system testing) எ ப ேதைவகைள
அ பைடயாக ெகா டதா .இ சி ட ெட (system testing) ஆ .
அேதசமய தி , இ ெடகிரஷ ெட (integration testing) எ ப ைச (design)
அ பைடயிலான , எனேவ ெவ ேவ னி (unit)ைய அைடயாள க ைச (design)
ெச ய ப கிற , ேம அைவ எ வா இ ெட ராஷ (integration)ஏ ப கி றன.
ைச (design) அ பைடயிலான இ ெடகிரஷ ெட (integration testing)

17
ேம ெகா ள ப கிற . அேதசமய ேகா (code) அ பைடயி , னி ெட (unit testing)
ேம ெகா ள ப கிற . ம ைம ெடன (maintenance) ேபா ெரஃ ெர ஸி
ெட (regression testing) ேம ெகா ள ப கிற . இ ேவ ேசாதைனகளி ப ேவ
நிைலக .

( ைல ைட : 08:27)

பா க , ஆனா ெட (testing)யி எ ென ன நடவ ைகக உ ளன? ஒ


ெட ட (testers)ரா எ ென ன நடவ ைகக ேம ெகா ள ப கி றன? யா உ ைமயி
அ த நடவ ைககைள ேம ெகா கிறா க ? எனேவ சா ேவ (software)ைய
பரிேசாதி பத கான ெட (test) ப திைய எ ெகா ெசய கைள இ ேபா
பா ேபா ; ஒ ெட ைச (test suite design), ெட ேக க (test case) இய க ,
ெட ேகஸி(test case) இய தலி கைள சரிபா , பாலி (failure) காண ,
பி ன பாலி லி (failure list) அ ல ெட ரி ேபா (testing report) தயா
ெச ய . எனேவ, சி ட (system) ம இ ெடகிரஷ ெட (integration testing)
ேபா , ெட ெட க (developer) இ த ைறைய ெச கி றன ென க. னி
ெட (unit test) யி ேபா ெட ெட க (testers) இ த ைறைய ெச வதி ைல.நி சயமாக
இ த நடவ ைகக ெடவல ப (developer) ெச கி றன .பாலி ேர லி (failure rate list)
அ ல ெட ரி ேபா (test report) தயா ெச த பிற , ெட (test) அறி ைகைய தலி
ெடவல ப (developer)க ெகா கப .ெட (test) அறி ைகைய பய ப
ெடவல ப (deve0loper)க ேகாைட (code bug) அ ல பாலி (failure) ம அவ ைற
சரிபா கிற .

( ைல ைட : 09:47 ஐ பா க )

இ ேபா , சில ேக விக பதி ெசா ல ய சி ெச யலா . ஏ கனேவ நா க இைத


ப றி த ெசஷ யி விவாதி கிேறா . இ ெபா அைத ஒ ெரவி (review)
ெச ரி ததா எ பா ேபா . ெட (testing)ைய ெதாட ேபா ேம ேம
(bug)க க பி க ப கி றன , எனேவ எ ேபா எ தெவா ெட (testing)
அவசிய இ ைல எ ஒ வ தீ மானி கிறா . இைத கட த அம வி நா க
விவாதி ேதா ம இ உ ைமயி சா ேவ (software)யி வைக ம றி பி ட
பய பா ைட சா இ கிற எ றிேனா , ஆனா ஆர ப தி ெப மளவிலான
(bugs) க னி (unit) ேநர தி க டறிய ப (bug) ம (bug)
தி த தி விகித தி அ பைடயி , (bugs) அறி ைக விகித ேநர ைத ெபா

18
வீ . ேம , ஒ நாைள ஒ ைற அ ல இர ெட (testing) களி எ த
(bugs) இ ைல எ ெட (test) ெச ய ேநர உ ள . ேவ வழி, (bugs) ைய
ஸீ (list) ெச ம அ த (bugs) க பி க ப ளதா எ பைத சரிபா ,
க டறிய ப ட (bugs)யி சதவீதமான , ெட (testing)களி ைம த ைம ,
ெட (testing) ெசய திற நிைற த ெட (testing)கைள றி கிற . ஆனா , ஒ
ேக வி, ஸீ (list)ெச த (bugs) உ ைமயான (bugs) க ட ெபா த ேவ ,
ஏென றா நா ஸீ (list) ெச த மிக சிறிய (bugs)கைள எளிதி க பி வி ,
அ கைடசியி எ தைன (bugs)க எ சியி கி றன எ பைத ெபா அ ல.
எனேவ, ெடபிசி ஒ ெவா வைகயான (bugs) ஒ உ ைமயான
ேரா ரா (program)ேவா ெபா த ேவ . எனேவ, இ த விசய தி நா ெதாட
விவரி க ேவ , நா ஸீ (list) ெச (bugs)களி கவனமாக இ க ேவ
எ நீ க எ த த னி ைசயான (bugs) ஸீ (list) ெச ய யா . நீ க
ஸீ (list) ெச த (bugs) வைக ம அத சதவீத ஒ உ ைமயான
ேரா ரா (program) நிைலயி ெபா த ேவ . இ ேபா , ம ெறா ேக வி,
ெதா திைரகளி சில எ கா (bugs)க உநி ெட (unit testing) ,
இ ெடகிரஷ ெட (integration testing) ம சி ட ெட (system testing)
ஆகியவ றி க டறிய ப டைவ. எனேவ, உநி ெட (unit test)யி ேபா க டறிய ப
ஒ பி (bugs) எ ன? பதி , ஒ அ ேகாரித ஈ ேரா (algorithm error) அ ல ஒ
ேரா ரா ஈ ேரா (program error) க டறிய , ஒ ேராகிராம (programmer)
ஒ ேவைள i பதி j எ தினா அ ல மாறிவி ட எ மாறி மாறி மா றலா
ஒ ேவைள அவ அ ேகாரித (algorithm) சரியாக ெசய ப தவி ைல. எனேவ, இைவ னி
ெட (unit test)களி க டறிய ப ட (bugs)க ; ஆனா இ ெடகிரஷ
ெட (integration testing) ப றி எ ன? னி ெட (unit test) க டறிய ப ட ஒ
(bugs)யி ஒ எ கா னி ெட (unit testing) க டறிய ப ட
(bugs) ஒ எ கா ெபா த இ லாத பரேம ட (parameters) . I ம jஇ
இைடயி இர ெவ ேவ வரிஅ ெல (variables) உ ளன, இ i ம j பதி j
ம i வரிஅ ேள(variable) பா (pass) ெச ய ப கிற . எனேவ இ எதி பா த இர
வரிஅ ேள(variable) பரிமா ற . இ ஒ இ ெடகிரஷ (integration bug.). ஆனா
சி ட (system bugs) எ ன? சி ட ெட (system testing) ல எ ன வைகயான
(bug) க டறிய ப ? ஒ ேபரஃஓ ம (performance bugs) இ க ;
நி சயமாக ம ற (bugs) ட னி ெட (unit test) அ ல இ ெடகிரஷ
ெட (integration test) த பி உ ளன. ஆனா என ேக வி எ னெவ றா , னி (unit)

19
ம இ ெடகிரஷ ெட (integration test) ெச தபி சி ட ெட (system testing)
ேம ெகா ள ப கிற , பி ன சி ட ெட (system test) ேபா எ ன (bugs)
க டறிய ப ? பதி ேபரஃஓ ம (performance bugs) ஆ , ஏெனனி
னி (unit) ம இ ெடகிரஷ (integration) ேபரஃஓ ம (performance) அ ச க
ம பய பா ைன பா கா . எனேவ இைவ சி ட ெட (system testing) ேபா
க டறிய ப கி றன.

( ைல ைட : 14:07 ஐ பா க )

இ ேபா , னி ெட (unit test) சில அ பைட பய பா கைள பா கலா .


ெட (test)களி த நிைல எ ேக ஒ னி (unit)பரிேசாதி க ப கிற ம ஒ
னி (unit) எ ப ஒ மா ேல(module) அ ல கா ேபாென (compound) ஆக
இ கலா . இ த ெட (test) ளி ப ேவ உநி (unit)க தனியாக ெட (test)
ெச ய ப கி றன. ஆனா , இய ைகயாகேவ எ த ேக வி எ னெவ றா , எ லா
னி (unit)ைள நா ஒ றாக ேசாதி கிேறாமா? ஏ அவ ைற தனி தனியாக ேசாதி க
ேவ ? அ ல ேவ விதமாக றினா , ைமயான சி ட ெட (system
testing)ைள ஏ ெச ய டா ? நா ஏ னி (unit) வாரியாக ேசாதி க ேவ ம
ஒ சி ட ெட (system testing) ெச ய ேவ , நா ஏ ஒ ைமயான சி ட
ெட (system testing) ெச ய மா? பதி , ஆ , அைத ெச ய ஆனா அ மிக
விைல உய ததாக இ .ெட (testing) ெசல ெபரியளவி அதிகரி .அ ஏ ?
இ ேபா பதிைல பா ேபா . பதி எ னெவ றா , ெசலவின அதிகரி க ப எ பதா ,
ஆயிர கண கான ேமா லகைள(module) நீ க மா றியைம கலா ம அ த
ைப ேர(failure) சரிெச ய ேவ . பாலி ேர(failure) க பி ேபா (bugs)ைய
தலி நீ க க பி க ேவ , (bugs) எ ேக எ பைத ஆயிர ெமா ேல
(module) க பி க ய சி ெச பா க ேவ .அ த (bugs) நீ க ெச ய
ேவ . எனேவ (bugs) தி த மிக க னமாகிவி கிற , (bugs)தி
ம சரிெச த மிக க ன . சி ட ெட (system test) ேபா ேநர யாக சிறிய
சா ேவ (software bugs)க க பி க படவி ைல. னி ெட (unit test) ல
(bugs) ைறப மிக ெசல ைற த வழியா , ஏெனனி சி ட ெட (system
testing) யி (bugs) ைறப எ ப மிக விைல உய ஆ .

( ைல ைட : 16:27)

20
இ ேபா னி ெட (unit testing), ேம விவர கைள நி சயமாக பி ன பா கலா ,
ஆனா ப ேவ ெதா திகலி எைவெய லா னி ெட (unit test) ெச ய ப டனேவா
அைவ இ ெடகேரஷ (integration) ெச ய ப டன, பிற ம ப
இ ெடகேரஷ (integration), னி (unit) ெதாட ெசய ப கிறதா இ ைலயா என
ேசாதி பா க ப கிற . நீ க ேபா , இ ெட பி (interface bugs) க
காரணமாக அைவ ேவைல ெச யா , பி ன நா ஒஇ ெடகேரஷ (integration)
தி ட கைள ப றி விவாதி ேபா , அேதா , எ த ெமா (modules)
இ ெடகேரஷ (integration) ெச யபடேவ எ ெச ேவா .

( ைல ைட : 17:15)

இ ெடகிரஷ ெட (integration testing) களி நீ க வ ேபால, நா


மா ேல(module) , (function) அ ல கிளா (class)கைள
இ ெடகேரஷ (integration) ெச கிேறா , அேத சமய சி ட ெட (system
testing)களி சி டைம (system) சரிபா கிேறா . ஆனா ஒ ெவா
நி வன (organization) ேமா கி ெட (smoke testing)ைய அ க ேம ெகா ள பட
ேவ , தினசரி அ ல பல ைற நட த பட ேவ எ பரி ைர கிற . சி ட
ெட (system testing) ெச ய படாவி டா அ ல இ ெடகேரஷ ெட (integration
testing) ெச ய படாவி டா , இ ஒ இ டெரஷ (iteration) வி ெச ய ப கிற ,
ஆனா ேமா கி ெட (smoke testing) அ க ெச ய ப கிற . அ ஏ ? ஒ
ேமா கி ெட (smoke testing)யி உ ைமயி அைன ெமா ேல(module) ஒ றாக
ைவ ம ைற தப ச அ பைட (function) ேவைல ெச கிறதா எ பைத
சரிபா அைம ஒ இ ெடகேரஷ (integration) ெச கிற . இ ைலெயனி , அ
மிக க ைமயான இ ெடகேரஷ (integration) சி கைல றி . நீ க சி ட
ெட (system testing) அைன ைத இ ெடகேரஷ (integration) ெச வி டா ,
இ ெடகேரஷ (integration) ம சி ட ெட (system testing) எ பதா , ஒ
ேமா கி ெட (smoke testing) ெச யாவி டா , நீ க எ தெவா பதிைல
அளி காம உைற வி டா , அ எ க ேதைவயி ைல. அ க ேமா கி
ெட (smoke testing) ெச ய ேவ . ேமா கி ெட (smoke testing) அத
ெபய கைள ெட ைப ைப(testing pipe)களிலி ெப கிற , அதனா அவ க
ேமா கி ெட (smoke testing) பா ெபா அவ க இ தியாக த ணீைர
ைவ ேசாதைன ெச ம ெபரிய ைப ைப (pipe)இ டாலி (initialization)
ெச ேசாதைன ெச தா . இ ேக, சா ேவ (software) ழலி நா ெதாட

21
உ வா க க ெச தா , , இ தியி ேசாதைனயி நா ெபரிய பிர சைனகைள ச தி ேபா ,
().

19:27 ஐ பா க )

சி ட ெட (system testing) ப றி ேம விவாதி ேபா பி ன . ஆனா ஒ கமான


க ேணா ட தி சி ட ெட (system testing)ைய ப றி பா கலா . ந ைடய
இ ெடகெர ெமா ேல(integrated module) ம சி ட (system) ெச ேவைல .
சி ட ெட (system testing) ெச வ எ ப ? இர வைகயான விஷய கைள நா க
ேசாதி கிேறா ; ஒ பி ஷனாலி (functionality) சரியானதா எ ப ஒ றா ,
ேபரஃஓ ம (performance)சரியானதா எ ப . எனேவ, சி ட ெட (system testing),
பி ஷ லி ெட (functionality test) ம ேபரஃஓ ம ெட (performance test)
இர கிய வைகக உ ளன. ேம சி ட ெட (system testing) உ ைமயி
ைற சி ட ெட (system testing) உ ளன இைவ யா அ பைடயி ெச கிற
எ பைத ெபா உ ள எ பா ேபா . ெடெவலபி (developing team) அ ல
ெடெவலபி ஆ கனி (developing organization) , யா எ த ெட (testing)
ெச கிறா கேளா? அ ஆ ஃபா ெட (alpha testing) என அைழ க ப .அ ஒ
பிரிஎ லி ெச (friendly set) கிசெடாெம (customers) இ தா பீ டா ெட (beta
testing), இ தியாக ஏ ெகா வத ன தயாரி வழ க வா ைகயாளராக
இ தா , அசி ன ெட (acceptance testing) என அைழ க ப கிற . எனேவ
சி ட ெட (system testing) , வைகக ம அைவ ெட (testing) யா
ெச வ எ பைத சா ள . ஆ ஃபா ெட (alpha testing) யான
ெடெவலபி (developing) ஓ கைனசஷன (organizational) ெச ய ப கிற , ேம அைவ
சா ேவ (software) இ ெட ன (internals) ெகா ளன எ பைத நா காணலா .
அேதசமய , பிரிஎ லி(friendly) வா ைகயாள களா ெச ய ப ட பீ டா ெட (beta
test) யான , அவ ைற சா ேவ (software) பய ப வத ல , அவ ைற சரியாக
ெசய ப கிறதா என சரிபா , உ ளனவா எ பைத நா க பரிேசாதி ேதா .
அத பிற , கைடசியாக இ சா ேவ (software) வழ வத
. ேடாெம (customers) ஏ ெகா வ , அசி ன ெட (acceptance
testing)

( ைல ைட : 21:16)

22
ேபரஃஓ ம ெட (performance testing) உ ைமயி பல வைகக உ ளன, ேம
பி ன நா இ விரிவாக பா ேபா ; ேபரஃஓ ம ெட (performance testing)
பி ஷனா (functional) அ லாத ெர யி ெம (requirements)ைய ெபா த .
பி ஷனா ெட (functional testing) எ ப பி ஷனா
ேரஸுயி ெம (functional requirements) உ ள SRS ஆவண ,
ெர பீெரெம (requirements) ஆவணதி உ ள ேதைவக சரிபா க. ேபரஃஓ ம
ெட (performance testing) வைகக இ பி , அைவ ெர பீெரெம (requirements)
ஆவண தி ஆவண ப த படாத ெர பீெரெம (requirements) ேதைவகைள
சரிபா கி றன. எ கா டாக பல வைகயான ேபரஃஓ ம ெட (performance
testing) உ ளன; ெர பா ைட (response time), ெரௗ (through put),
உஷாபிலி (usability), ெர அ ட ெர க ஷ (stress under stress test) ,ந ப
ஒ பி இ ேப உநி ைட (number of input per time) பல . ெரகவரி காணபி ரா . எனேவ
இ த அ ச கைள பி ன ேம விவரமாக பா ேபா .

( ைல ைட : 22:16 ஐ பா க )

இ தியாக உேச அசி ன ெட (user acceptance testing) , இ சி ட


ெட (system testing) ஒ வைக. இத அ பைடயி , உ (users) ஏ ெகா கிறா
அ ல ெடலிவரி சா ேவ (delivery software) நிராகரி கிறா .

( ைல ைட : 22:20 ஐ பா க )

இ ேபா , இ த அ பைட ேக வி பதிலளி க ய சி ெச யலா . ெட (testing)


ப ெப ெவ ேவ வைகயான நப க யா ? ஒ ேரா ராம (programmer) , அவ க
ெட (test) ெச கிறா க . எ ன ெட (testing)ைய அவ க ெச கிறா க ? அவ க
உநி ெட (unit test) ெச கிறா க . அவ க ேகாைட(code) உ வா கிய பி ,
னி (unit) ம ட தி ேசாதைன ெச கி றன. அவ க ெட (testing) ம அைன
வைகயான ெட (testing) ஈ ப னி (unit) ம அசி ன
ெட (acceptance testing) தவிர இ ெடகேரஷ (integration) ம சி ட ெட
(system testing) எ அைன வைகயான ெட (testing) ெச யகிறா க . ேம
அைவ ெட பிளா (test plan) ம சா ட ஜி(strategy) ல ெடெவல (develop)
ெச கி றன . உேஷ (users) பா ேபா அவ க அசி ன ெட (acceptance
testing)ைய, அவ க அசி ன ெட (acceptance testing) ம

23
உ அபிலி ைய(usability) ெச கி றன . ேம அவ களி சில பீ டா ெட (beta test)
ேபா ெவா களாக(volunteer) இ கலா .

( ைல ைட : 23:1(tester)6)

இ ேபா , இ த நடவ ைககைள ஒ வா டரபா மாதிரி(water fall model)யி


பிரதிநிதி வ ப கிறா களானா , அைத நா பா கலா , ெட பா (testing phase)
ெப பா ெட (testing team) ெசய ப கிற . இ ேக ேவ இட களி
ேதைவயி ைல, ெட ட (tester)கைள ெட (test) ெச வ இ ைல இ அதிகஅளவி ஆன
ெட ட (testers) ேதைவ . எனேவ, வாேடரபா மாட (waterfall model) ட இ ஒ
பிர சைன. ம ற ேநரகளி ெட ட (testers) ேவ எ ன ெச கிறா க ? ம ற
ராெஜ (project) களி ேவைல ெச யலா . ேகா (coding) ேநர தி
ெடவல ப களா (developer) உநி ெட (unit test) ெச ய ப கிற . ம ெரவிஎ
சி ேலஷ (review simulation) உ வக ப த தலியன, அவ க ெடெவல ெம
பா (development phase) களி நைடெப ெவரிஃபிேகஷ நடவ ைகக ம இ
ெடவல ப க (developers) ல ேம ெகா ள ப கிற .

(ச ேநர ைத கவனி க : 24:23)

இ ேபா , பரிேசாதைன ப றிய த விவர கைள ப றி ேப வத ,ேப சி எெப


(Pesticide Effect),எ ற ெபயரி ெட (testing) ரிய ம ெறா அ பைட பிர சிைனைய
ப றி நா விவாதி க ேவ , . நீ க ஒ விவசாயி எ எ கிறீ க , சில பயி
நட ெச ,ப தி பயிரி பயி ம ப தி பயி க வள த பி ன , அ (bugs) ,
ெப (pets) ஆகியவ றா பாதி க ப எ பைத காணலா . எனேவ நீ க
. . (DDT) ெதளி ல எ ன ெச யலா ? DDT (bug) ைய ெகா வி ,
அவ களி ெப பாேலா ெவளிேய ற ப வா க , ஆனா சில 20-30 சதவிகித
உயி வாழலா , பி ன நீ க மீ ப தி பயிரி பயி விைத க ேவ , பிற
மீ (bugs) க இ பைத காணலா , எனேவ நீ க . . (DDT) ெதளி பைத
ய சி ெச த ேவைல ெச ய வி ைல. (bugs)க . . எதி ச தி
ெதரிவி கி றன. நீ க ஒ திய சி ெகா லி வா க மைலதா (Malathion) அ ல
ஏதாவ , பி ன மீ ெதளி 30% (bugs) க இ அ த தைல ைற வைர
வா . நா ேப சி எெப (Pesticide Effect) எ அைழ க ப சா ேவ
ெட (software testing) எ ஒ ைம ேவ . சில பா ெட ஷ ெட நி (fall
detection techniques) ல க டறி த பி (bugs)க அ த

24
ெட நி (techniques) ேம பய ப வத ல க டறிய யா எ ஒ ைம
கிற . . . (DDT) எதி ச தி ெகா ட (bugs)க . . (DDT) யினா
ெகா ல பட யாத ேபாலேவ, இ நட . ெட ெச வதி பல ெட
ெட நி (testing techniques) உ ளன, அவ ைற பி ட (filter) எ அைழ கிேறா .
ஆர ப தி சில (bugs)க உ ளன ம ஒ பி ட (filter)ைய பய ப கிேறா ,
இைத ஏ வா பா யிலி ெட (equivalence partitioning) எ ெசா லலா , பி ன
சில (bugs)க ெப பா 20 30 சதவிகித ம ேம எ சி ளன எ
க பி ேளா . ஆனா அ த (bugs)க சரி ெச ய ப திய
ெடெவல ெம (development) நைடெப கிற , ப ேவ வைகயான (bugs)க உ ளன.
இ நா அேத ெட நி (techniques) பய ப தினா , த பி த (bugs) க
அக ற படா . எனேவ, ஏ வா பா யி ெட (equivalence partitioning)யான ,
அேத ெட (testing) ைய ெதாட ெச வ தா (bugs) தி தி க மா ேடா ,
(bugs)க நீ க பட மா டா , நா திய ெட க (test), ஒ ேவைள ெட ஸி ேடபி
ெட (decision table test) , ைவ ேபா ெட (white box testing) இ கலா , பத
ெட (path testing) MCDC ஆக இ கலா . எனேவ, டஜ (dozens) கண கான ெட
ெட நி (testing techniques) உ ளன, அைவ ஒ ெவா பி ட (bugs filter)க
ஆ . எனேவ, ஒ பி ட (filter) ெகா க ப (bugs)ைய அ த பி ட (filter)
பய பா னா ேம அக ற யா , திய (bugs)க சரிெச த ம திய
ெடெவல ெம (development) ம பலவ றி (bugs)கைள சரிெச வத ல
அறி க ப த ப . எனேவ, திய வைக (bug)க உ ளன. எனேவ, சி ட
ெடெவல ெம (system development) ெப ைகயி , நா இ த பி ட (filter)ைள
பய ப கிேறா , ேம பல வைகயான பி ட (filter)கைள பய ப தி (bugs)கைள
ைற க ேவ . பல ெட (testing) ைறக பய ப த பட ேவ , அைவ
டஜ (dozens) கண கானைவ. நீ டகாலமாக பய ப த ப ஒ
ேமெதாடலஜி(methodlogy) உ ைமயி உதவா . இ த லா நா க ேநர
ஒ ேவா ; நா இ த ேப சி எெப (pesticide effect) ம ெதாட சிறிய
பிர சைன பா ேபா . எனேவ, பி ட (filter) பய பா னா (bugs) தி பத கான
சா திய எ ன? நா 3 அ ல 4ஐ அ ல 6 பி ட (filters) ஒ ற பி ஒ
இ ேபா (bugs) கா ேராைபபிளி (probability) எ னவா . அ த
அம வி இ விவாதி க ப . ந றி.

25
Software Testing
Dr.RAJIB MALL
Department of Computer Science and Engineering
IIT Kharagpur
Lectur-03 –Basic Testing
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
கணினி அறிவிய ம ெபாறியிய ைற
இ திய ெதாழி ப நி வன , கார
விரி ைர - 03 அ பைட ேசாதைனக

இ த அம வரேவ கிேறா . கட த அம வி எைத விவாதி ேதாேமா அத ெதாட சிைய


இ ேபா பா ேபா .கட த அம வி நா ெட (testing) ம ப ேவ பாசி
கா ச ைய(basic concepts) பா ெகா ேதா . எனேவ ெட (testing)கிைய ப றி
விரிவாக பா பத நா விவாதி அ பைட க கைள ெதாட ேவா .

( ைல ைட : 00:46 ஐ பா க )

கைடசி அம வி ேப சி எபிபி (Pesticide Effect) ப றிய மிக கியமான க ப றி நா


விவாதி ேதா .நா ெசா ன ேபால ந ல அனாலஜி ெட ெட நி (analogy testing
techniques) உ ளன. ஒ விவசாயி ேப சி (Pesticide) ைய ெட ெட நி (testing
techniques) ஆக பய ப கிறா .எ ேபா ஒ இெப (bugs infects) ெச த
பயி கைள விவசாயி ேப சி ைய(Pesticide) பய ப வதா (ேப சி (Pesticide ) ம
(bugs) க ெகா ல ப டா ), (bugs)க ெகா ல ப கி றன , ம அேத
ேப சி (Pesticide) ஆக ெசய ப கி றன ேப சி (Pesticide) எதி ச திைய வள கிற
.ம ஒ சில ேப சி (Pesticide) ைய எதி பதா எ தவிதமான பய இ ைல, ம ற
வைகயான ேப சி (Pesticide )க ேதைவ படலா இ சாதாரண அனாலஜி
ெட (analogy testing techniques) உ ள

26
இ ேக . நா ெசா ன ேபால பல ெட ெட நி (testing techniques )ைள
ெகா கிேறா , டஜ (dozen )கண கி பிளா ேபா ெட (black box testing) க ,
இர (dozen) கண கி ஹி ேபா ெட ெட நி (white box testing
techniques)ெகா கலா , ேம பிற (bugs) ெரேமாவி ெட நி ( removal
techniques), ெரவி (review) , சி ேலஷ (simulation) ம பலவ ைற ெகா கலா .
இ த ெரேமாவி ெட னாலஜி (bugs removal techniques), ெரவி (review) ,
சி ேலஷ (simulation) , பிளா ேபா ெட (black box testing),ைவ ேபா ெட (white
box testing) , னி (unit) , இ ெடகரஷ (integration) , சி ட ெட (system testing) .
ெரேமாவி பி ட க (bugs removal filters) அைவ அைன ெரேமாவி பி ட (bugs
removal filters )சி ெவ ேவ வைக என க தி ெகா ளலா

நா ப ேவ ெரேமாவி ெட நி (bugs removal techniques) ைய ேபா


பி ட (filters)ைய ப ேவ நிற களி றி பி உ ேள .அதாவ அத ெபா , சில
வைகயான (bugs)க எதிராக அைவ ெசய ப கி றன. எனேவ, ஆர ப தி சில
(bugs) க இ தன, பி ன நா ஒ ெட ெட நி (bugs detecting
techniques)ைய பய ப திேனா , அ ெரவி (review)ஆக ட இ கலா . அ த
(bugs)க ைற வி டன, ஆனா சில பிைழ வி ட . பிைழ ெகா ட
(bugs)ைய அேத பி டைர(filter) ைவ ேம பி ட (filter) ெச வ மிக
பய ளதாக இ ைல.

எனேவ, இ ேக எ த ப ப எ னெவ றா , பா ெட ஷ (fault detection technique)


உ திைய த க ய (bugs)க அ த ெட நி (techniques) ம ற பய பா களா
த க யா எ ப மிக அ பைடயான க . ேம , நீ க ப ட (bugs)க சரி
ெச ய ப ேபா , ேம சா ேவ (software) ம ற சா (change)கைள ெச ேபா
திய வைக (bugs)க அறி க ப த ப கி றன. ஒ ெவா வரியி சில (bugs)
க நீ க ப டா , திய (bugs)க ேதா , பி ன நா ேவ ப ட பி ட (filters)ைய
ைய பய ப ேவா , பி ன இ த பி ட (filters) (bugs)தி த (bugs) ஒேர
பி ட (filters)யி த பய பா களா அக ற படா , திய பி ட (filters) அ ல திய
ெரேமாவா ெட நி (bugs removal techniques)ேவ .

( ைல ைட : 03:55)

27
இ த ப தியி அதிகார ெகா ட ேகப ேஜா (Capers jones) எ பவ , ஒ
ேல மா (land mark) ேப பைர , IEEE க ட (computer) 1996 ஐ ெவளியி டா . ஒ ெவா
சா ேவ (software) ெரவிஎ (review) ,இ ெப ஷ (inspection) ம ெட
ெட (testing techniques) ல 30 சதவிகித (bugs)க இ பதாக க பி
றினா . எனேவ IEEE க ட (computer), 1996 இ அவர ஒ ெவா பி ட (bugs
filters)களி 70 சதவிகித (bugs) க த பின என ெவளியி டா .

( ைல ைட : 04:25)

இ ேபா , ஒ சிறிய ேரா ேல (problem) ெச ேவா . ஏதாவ ெட ஷ ெட நி (bugs


detection techniques) ெதாட வத 1000 (bugs)க உ ளன எ நா
க ேவா . நா 4 ெட ஷ ெட நி (bugs detection techniques)
பய ப கிேறா , ேம ஒ ெவா 70 சதவிகித (bugs)கைள க டறிய .
மிக எப பி ட (effective filters) களா , 70 சதவிகித (bugs)க அக ற ப ,
ேகப ேஜா ைன (Capers jones) க டறி ெசா ன ேபால 30 சதவிகித (bugs) க
ெட ஷ ெட நி (bugs detection techniques )னா பி ட (filter) ெச யப
வ கி றன, ஆனா இ ேக ஒ ெவா ெட ஷ ெட நி (bugs detection techniques
) கீ 70 சதவிகித (bugs) க க டறிய ப அழி க ப கி றன . நா அைன 4
ெட நி (techniques) பய ப ேபா , திய (bugs)க அறி க ப த படாவி டா
எ தைன (bugs)க த பி பிைழ ? இ த ேக வி பதி க ன அ ல. நா ஆர பதி
1000 (bugs)க எ ெகா ேடா ம ஒ ெவா ைற 30 சதவீத உயி
பிைழ க வா உ ள . இ தி பா (phase) , 4 ெட ஷ ெட நி (bugs detection
techniques) உ திக 1000 *(0.3)4 ஐ பய ப தி உ ேதசமாக 81 (bugs) உயி பிைழ க
வா உ ள .

( ைல ைட : 05:57 ஐ பா க )

இ ேபா நா அ பைடயாக ெகா ட சிறிய க தா க கைள பா பத ,கட த


இர அம களி விவாதி தவ றிலி ஒ சிறிய ேக வி . நா இ ேக ஒ வா டரபி
மாட (waterfall model) கா ேளா , இ ஒ இேதர ேவ வா டரபி மாட (iterative
waterfall model). ேக வி எ னெவ றா , எ த பா (phases)களி ெவரிஃபிேகஷ (verification)
நடவ ைகக ேம ெகா ள ப கி றன? இ த ேக வி பதி

28
ெர பீெரெம (requirement) , ைச (design) ம ேகா (coding) ேபா
ெவரிஃபிேகஷ (verification) நைடெப . அைன பா (phases)களி
ெவரிஃபிேகஷ (verification) ெச ய ைதய நிைல ஒ ேபாகலாமா எ ற ஆ க
ேம ெகா ள ப கி றன.

( ைல ைட : 06:25 ஐ பா க )

எ ேபா வா டரபி மாட (waterfall model)யி ெட (testing) ேம ெகா ள ப


?ெட (testing0 இர வைகக உ ளன, ேராகிராமேர(programmer) தாேம ெச வ ,
ெடவல ப (developer) ெச வ , அ னி ெட (unit test) ; இ ேகா (code) ம னி
ெட (unit test) ெச ேபா ேம ெகா ள ப கிற . எனேவ, ேகா பா (coding phase)
ெட (testing) ேம ெகா ள ப கிற ம சி ட ெட (system testing)ம
இ ெடகேரஷ (integration) ெட பா யி (testing phase) நைடெப கிற . ேகா
ப ேச(coding phase) ம ெட பா (testing phase) ஆகிய இர , ெட
அசி வி (testing activities) ேம ெகா ள ப கி றன. ெவரிஃபிேகஷ (verification)எ ேபா
ேம ெகா ள ப கிற ? ெவரிஃபிேகஷ (verification) அ பைடயி சி ட ெட (system
testing)ைய ேசாதி க நா சா ேவ (software)ெர பீெரெம ெபசிபிேகஷ (requirement
specification) ம ெட பா (testing phase)யி ேம ெகா ள ப கிற .

(SlideTime: 07:46)

இ ேபா , வி ைலஃ ைச கி ( V life cycle model) மாதிரி ஒ ைற பா ேபா . வி ெட


(testing) ஒ சிற ைல ைச கி மாட .

( ைல ைட : 07:57)

இ வாேடரபா மாட (waterfall model)யி ஒ மா பா ஆ , ஆனா இ ஆர பகால


மாட (model)களி ஒ , ெடெவல ெம ைச கி (development cycle) தவி
ெவரிஃபிேகஷ (verification) ம வலிட தி (validation) ேம ெகா வத கான
கிய வ ைத அ கீகரி கிற . இ ேக, வாேடரபா மாட (waterfall model) ேபால லாம ,
வி மாட (V Model) ெட அசி வி (testing activities)களி ைல ைச கி (life cycle)யி
அைன ேம பர கி றன, இ ஒ ெவா ெட பா (testing phase) ேதேவேலா ேம

29
ெட பிளா (development test plan) ெச உ ள . ெட ேக (test cases)க
ெடெவல ெம (development) ைச (design) பரல (parallel)ெச யப ளன.

( ைல ைட : 08:42 ஐ பா க )

ெர பீெரெம ெபசிபிேகஷ (requirement specification)களி ேபா ,சி ட ெட


அசி வி (system testing activities) கைள நா தி டமி ேளா . சி ட ெட (system
testing)ெச வதா , சி ட யி பி ஷன (system’s functional) ம பி ஷன
ேதசசரி (function description) ம ேம ேதைவ ப கி றன. இ த ெர பீெரெம
ெபசிபிேகஷ (requirement specification) டா ெம (document)களி இ
ெடெவல (develop) ெச சி ட ெட ேக (system test cases)களி தி டமிட ப ள .
ைஹ ெலவ ைச (high level design) , இ ெடகேரஷ ெட (integration testing)
தி டமிட ப , ைட ைச (detail design) ெச ய ப வதா உநி ெட (unit testing)
தி டமிட ப ள . எனேவ, ஒ மிக கிய ந ைம, அ ேதேவேலா ேம ைல
ைச கி (development life cycle) வ ெட (test)ெசய பா பர கிற எ . ேம
நா ஒ ெடெவல ெம ேட (development stage)யி ேபா நா ெட (testing) கைள
தி டமி கிேறா , எனேவ ெட அசி வி (testing activities)யி தி டமிட த ைன
தாேன ைச (design) ெச ய யதா கிற ம தயாரி க ப ந ல தரமான
அ பாகி (artifact) வழிவ கிற .

( ைல ைட : 09:56 ஐ பா க )

நா ேதேவேலா ேம ஆசி வீ (development activities) ம அத ட ெதாட ைடய


ெட (testing) ைய ெசா வ ேபா , அனாலிசி (analysis) ம ெபசிபிேகஷ
சி ட (specification system) ம அசி ன ெட (acceptance testing)
ேம ெகா ள ப கிற . ைச (design),இ ெடகேரஷ ெட (integration testing) ேபா
ம ைடேல ைச (detailed design) அ ல ேகா (coding) ேபா உநி ெட (unit
testing) தி டமிட ப ள .

( ைல ைட : 10:11 ஐ பா க )

வி (V )இ மாட (model)யி பல , ேதேவேலா ேம அசி வி (development


activities) வ சா ேவ (software) ெவரிஃபிேகஷ (verification) ம

30
வலிட தி (validation)காக தி டமி வைத ஏ கனேவ வலி தி ேளா . ெட
அசி வி (testing activities) , அதாவ ; பிளானி (planning) ம ெட (testing)ைல
ைச கி ( life cycle) வ பர . ஒ ெவா ெடலிவரி ெட (delivery testing)
ெச ய ப கிற ; அ இ இ (intuitive) ம பய ப த எளிதான .

( ைல ைட : 10:48 ஐ பா க )

ஆனா , வி மாட (V model)யான ,வாேடரபா மாட (waterfall model)யாக மா ப , இ


கிய கால ப திகளி இ வாேடரபா மாட (waterfall model)யாகேவ பாதி க ப கிற .
உதாரணமாக, அ ஓவ லா பி பா (overlapping phase)கைள ஆதரி கவி ைல. வா டரபி
மாட (waterfall model) ஒ ெபரிய ெதா எ நம ெதரி . ப ேவ
பா (phase)க இைடேய ஒ ெதளிவான வைரயைற உ ள , ஒ பா (phase) ேபா
அ த பா (phase) ெதாட . ஆனா நைட ைறயி உ ள நிைலயி ,ஓவ லா பி
அசி வி (overlapping activities) ேபாலேவ ப ேவ பா (phase)களி ெசய பா
ெடெவல ெம ேமெதாடாஜி(development methodology) ேதைவ அ ஹி ேரா ரா மி (agile
programming) என ப . வி மாட ( V model) இ டெரஷ (iteration) க
ஆதரவளி கவி ைல. உ ைமயி , கிய வ வா த இ டெரஷ (iteration)
ெடெவல ெம (development) கியமான ெகா ைககளி ஒ றா . எனேவ
ேரா (product) ,சா ேவ ெடெவல ெம (software development) ஏராளமான
இ டெரஷ (iteration) ைய ெகா உ வா க ப கிற , ஒ ெவா
இ டெரஷ (iteration) உ ைமயி ஒ மினி ராெஜ (mini project) ஆ , இதி
ெபசிபிேகஷ (specification) , ைச (design) , ேகா (coding) ம ெட (testing)
ேம ெகா ள ப கிற , எனேவ ஒ ெவா இ டெரஷ (iteration) யி ெட (testing)
உ ள . ஆனா வி மாட (V model) அைத ஆதரி கவி ைல. இ நைட ைற ேக றத ல
எ பதா , சா ெரஃஉஎ (change request)கைள அ ைகயாளவி ைல. இ ேக, ஆர ப தி
ெர பீெரெம (requirement) பிேராஸி (frozen) ப த ப , சா கி
ெர பீெரெம (changing requirements) மிக சிறிய அளவிலான
ெடெவல ெம (development) ெகா கிற . வா டரபி மாட (waterfall model)
ேபா ற ரி ஹ லி (risk handling) எ த ெவளி பைடயான ெம கானிச (mechanism)
இ ைல.

31
( ைல ைட : 12:49)

இ ேபா , வி மாட (V model) உ ைமயி வா டரபி மாட (waterfall model)லி ஒ சிறிய


அடா டஷ (adaptation) எ பா ேதா , எ ெட (testing) கிய வ வா த
ம ைல ைச கி (life cycle) வ பரவி உ ள ?. ஆனா எ த வைகயானா
சா ேவ (software) ெடெவல ெம (development) வி மாட (V model) ெபா தமான ?.
ஒ , மிக உய த ெரலியாபிலி (reliability) ெகா சா ேவ (software) , வி மாட
(V model) பய ப த பட ேவ , ேம பிற ேக (characteristics) உ ளன.
ெர பீெரெம (requirements) ெவளி பைடயானைவ எ பைத நா ெதரி ெகா ள
ேவ , ெர பீெரெம சா (requirements change) ப ன பட டா , ேம
ெசா ஷ (solution) நி பி க ேவ . எ க ஒ ேவ சி (version) ேவைல எ
ெசா கிேற , நா ஒ திய ேவ சி (version) உ வா க ேபாகிேறா . ெட னாலஜி
(technology)ேவைல ெச கிற , ெசா ஷ (solution) ேவைல ெச கிற ம நா ெவ ேவ
நிைலயி உ வா க ய சி ெச கிேறா . இ த ச த ப களி இ ஒ ந ல மாட .
உதாரணமாக,எ பீெட க ேரா அ ளிேகஷ (embedded control application)களி உய த
ெரலியாபிலி (reliability) ேதைவ ப , ம ஏ கனேவ
ஒ ெசா ஷ (solution0இ பெலெம (implement) ெச இ கலா ம ஒ
ெசா ஷ (solution) ெசய ப தியி கலா ம அத சிறிய சா ைய(change)
ய சி ேபா , நா வி மாடைல(V model) பய ப தலா .

(SlideTime ஐ பா க : 14:05)

இ ேபா ,நா ெட (testing)யி சில ேபசி கா ச (basic concepts) ைய பா பத


ெட ேக ைச (test case design) ெட கவிரா அனாலிசி (test coverage analysis)
ைய விரிவாக பா கலா .

( ைல ைட : 14:18)

இ ேபா , ஒ வார யமான ேக விைய எ கிற , த ேபா கிைட


ெடெவல ெம (development)கைள பய ப தி சா ேவ (software)க
உ வா க ப கி றன, ெரவிஎ (review) ேம ெகா ள ப கி றன, இ ெட
ெட நி (testing techniques) ேம ெகா ள ப கி றன, ம

32
()அத

பிற எ தைன (bugs) க வா கி றன . உேச (user) வழ க ப ேவ சி (version)


ம எ தைன க (bugs) உ ளன? சில ஆ களி 85 சதவிகித (bugs)க
அக ற ப கி றன எ ெச கிறா க . 85 சதவிகித (bugs)க
கிசெடாெம (customer) ஒ பைட க ப ேபா ேகா (coding) வி கி றன. ஆனா , 85
சதவிகித தி ேமலாக நா ஏ நீ க யா ?. நா 100 சதவிகித ைத அக ற மா?
பதி , மிக க னமாக உ ள . 85 சதவீத தி ேம ெடபிசி க (defects)நீ வ
மிக விைலமதி ப ற , ஏெனனி நா இ பல பி ட (filters)க பய ப த ேவ
ம ஒ ெவா பி ட (filters) அ ல ெட ஷ ெட நி (bugs detection
techniques) உ ைமயி ஹீ ரி (heuristics) ஆ . 100 சதவிகித (bugs)க
அக ற ப ஒேர வழி, ெபா ஸி ேள ெட இ (possible test inputs) ல தா
ய சி ப . நைட ைற நிைலக , ெட இ (test inputs) வ றைவ. எனேவ,
100 சதவிகித (bugs)க அக ற ப வைத உ தரவாத ெச வ சா தியம ற ம 85
சதவிகித (bugs)க யதா த நிைலைமயி அக ற ப . ேடாெம க (customers)
ம க ரி ேபா (bugs report) ெச ய ப வதா (bugs)க அக ற ப கி றன,
ஆனா சா க (change) காரணமாக (bugs)க அறி க ப த ப கி றன. எனேவ,
பி ன அ த அ ெப (aspects) பா ேபா .

( ைல ைட : 16:22)

நா இ றி பி ைகயி , கட த 30-40 ஆ களி , நிைறய ஆ ேடாெம டா


(automata tools)க கிைட கி றன. இ த வைரபட தி நீ க காண ய 1990
களி வைர இ ப , ெட ேக ைச (test case design) ம இ ஷ (execution)
மிக ம வா (manual) அ சீர ற ெர ேடா இ (random input) வழ வதா
ஏ ப கிற ,எ த ேகாேவரா (coverage) அைட ேதா ம ெட ட (testers)அைத
பய ப தி பா (pass) அ ல பா (fail) எ ற அ பைடயி ெச (check) ெச தன , மா 90
வைர ெட (testing) அதிகமாகேவா அ ல ைறவாகேவா ம வா லா (manual)
ெச ய ப ட . ஆனா 1990 களி பி ன ெம வாக ெட (testing tools) ேதா ற
ஆர பி த . (tools)களி ஒ சா ேற(capture) ம ேரபிேல(replay). சா ேற(capture)
ம ேரபிேல(replay) (tools)க அ பைடயி உ ைமயி ெட ேகேஸ (test cases)

33
உ வா கேவா அ ல அ த ஆ ேடாேம ெட (automatic testing) ெச யேவா இ ைல,
ஆனா பி ன ெட ட இ (test input) ெட ேட டா(test data)கைள அவ க
இ (input) சா ேற(capture) ெச கி றன. ெட ட இ (test input) ெட ேட டா(test
data) இ ேக (tools) என, சா ேற(capture) ம ேரபிேல(replay) ெட இ (test
input) சா ேற ரிச (capture result) . அ த ைற ெட (test) இ ஷென (execution)
ெச , அைத ேரபிேல(replay) ெச ய ேவ . எனேவ, அ ெட ட (testers) ெட
இ (test input) சா ேற (capture)ெச மீ பி ன ேரபிேல(replay) ெச . இ
ெட ேக ைச (test case design) உ ைமயி உத வதி ைல அ ல ெட
இ (test execution) சரியானதா அ ல தவறா எ பைத ெச யா . இ த
அ பைடயி , ெட ட (testers) த ைறயாக ெட ேக (test case)ைய ைச (design)
ெச கிறா , ேம இ ஒ பா (pass)அ ல பாயி (fail) எ பைத தீ மானி ம
ெட ெட இ (testing test input)ைய சா ேற (capture)ெச கிற எ பைத ,அ
பா (pass) அ ல பாயி (fail) அைடகிறதா எ பைத இ ெனா ைறயாவ ஆராயலா .
ஆனா பி ன , இ ஒ ெபரிய உதவி, சா ேற (capture)ம ேரபிேல(replay) (tools) ஒ
ெபரிய உதவியா .இ ஏ ெட (testing) ெபரிய உதவியாக இ கிற எ பதைன நா
ஏ ேக க , ஏென றா ெட (testing)யான எ ேபா ேம ைச (design) ெட ேக
இ (test case input) ெச வதாக ேதா கிற . எனேவ, எ ப ஒ சா ேற(capture) ம
ேரபிேல(replay) (tools)எ வா ெட (test)ெச கிற ? இ த ேக வி ஒ
சா ேவ (software) ேதேவேலா ேம ேசனரிஓ(development scenario) விைடயாக அேத ெட
ேகேஸ (test cases) கண கான அ ல ஆயிர கண கான ைற
ெசய ப த ப கிற . அ ஏ ? அ ெரஃ ெர ஸி (regression) காரணமாக உ ள . சில
ெட ேக (test cases)க கட வி டா , சா ேவ (software) சில சா (change)
ெச ேவா , சா ேவ (software) அ த ெட ேக (test cases)கைள சரியாக
ெசய ப கிறதா எ சரிபா க அ த ெட ேகேஸ (test cases)கைள இய க ேவ .
எனேவ, சா ேற(capture) ம கிரி (scripting tools)க எ ற ம ெறா வைக
(tools)க உ ளன. கிரி (scripting tools) யி ெட ேக க(test cases)
உ ைமயி சி ேரா ரா (program) ஆ . ெட ட (testers)க ேநர ைத(உ ைமயி )
ஒ கி ெட ேகேஸ (test cases)கைள ஒ ேரா ராமாக (program) எ கிறா க .இ த
சிறிய கிரி (script)க ெம ெபா ைள(software) இய க ெச ேசாதி , ேம இைவ

34
சா ேற(capture) ம ேரபிேல(replay) மீ சில ந ைமக உ ளன. இத அ த
எ னெவ றா கிரி (scripting)ெட ேக (rest case)க ெர அ ேள(reusable)
ெச ய ப கி றன .ஒ பி ேர (feature) அ ல இ (input) ஒ ைற சிறி
சா (change) ெச ேவா எனி சா ேற(capture) ம ேரபிேல(replay)வி , ெட
ேகேஸ(test cases) பயன ற ம ெவளிேய த ள ப வி . சிறிய மா ற ெகா ட
கிரி (script) அேத ெட (testing)ைய இய க அேதசமய . கிரி (scripting)
அ பைடயிலான (tools)க இைவ ெர அ ேள(reusability) நிகழ ய ெட ேக (test
case)களாக இ கி றன, ஆர ப தி அைவ கிரி ைட(script) எ த அதிக ேநர ைத
எ ெகா வதா , அதிகமான ரி சபிலி ((reusability )ெட ேக (test case)கைள
உ ப தி ெச கிற . எனேவ, இைவ இர ெபரிய ெட (testing tools) ,
கிரி (scripting) சிற த (tools)க ம 1990 ம 2000 ஆ ஆ களி
உ வான சா ேற(capture) ம ேரபிேல(replay) (tools)க ஆ . ேம ெம வாக நா
இ பல (tools)க ேதா கி றன. உதாரணமாக, மாட அ பைட ெட
(model based testing tools)க ,ேச தா ேரா ரா மாட (certain program model),
ெகா ேறா பிளா(control flow) , ரா (graph) , ெப ெடனசி கிரா (dependency graph)
ேபா றவ ைற ெச ள . இ த பாட தி ட தி நா (tools)கைள பி ன பா க
ய சி ேபா , ஆனா கிரி (scripting) ம சா ேற (capture) ம ேரபிேல
(replay tools)கைள தலி பா ேபா பி ன ம பிற (tools)கைள பா ேபா .

( ைல ைட : 21:30)

இ ேபா , ம ெறா அ பைட க கைள விவாதி க நா வி கிேறா ஒ பாஉ


மாட (fault model) . உ ைமயி , ஒ ேரா ரா ெடெவல (program development) ெச ய ப
ேபா அறி க ப த ப சில வைகயான பா (faults) உ ளன. இ த வா ைதைய
மீ ெசா ேவா , அறி க ப த ப சில வைகயான பாஉ (faults) உ ளன.
உதாரணமாக, ஒ வைக பாஉ (faults) அ காரித பாஉ (algorithm fault) ஆக இ கலா .
ேராகிராம (programmer) அ ேகாரித (algorithm)ைய தவறாக ரி ெகா ம அவர
ேகா (coding) ைற சரியாக இ தா , உ ைமயி எ ன ெச ய ேவ ெம
ேகா யி(coding) ேகா (code) ெச இ கலா , ஆனா அவ அ ேகாரித (algorithm)ைய
தவறாக ரி ெகா டா . ஒ ேவைள ேசா ேகாரித (Sorting algorithm)அ ஒ காக

35
ேசா (sorting) ெச யாமலி கலா , இ (input) இட தி சில ப திகைள
ெச யாமலி கலா . ம ெறா வைக (bugs) யான ேராகிராமி (programming
bugs)யாக இ கலா , அ ேரா ரா ம (programmer)இ ெட சா க (interchange) ெச த
சில வரிஅ ேள(variable) எ ேவா , இ i பதிலாக நா சில k ஐ பய ப கிேற .
அ ல ஒ ேவைள அவர கி க ஷன க (looking conditionals) சரியாக
ஒ கைம க படவி ைல. சில வைகயான பாஉ (faults) க இ பதாக நா க பைன ெச
ெகா ளலா , ேம பல வைகயான பாஉ (faults) இ க , ஏென றா ேகா
(coding)எ ேபா ேராகிராம (programmer) பல வைகயான பாஉ (faults) கைள ெச ய
. ஆனா இ த க மிக கியமான , ேரா ராம (programmer)
அறி க ப த ய ப ேவ வைகயான பாஉ (faults) க உ ளன. இ ேபா
ேரா ரா (program) வைகயான ெபா , சில வைகயான பாஉ (faults) க
நிராகரி க படலா . எ கா டாக, ேரா ரா (program) எ த ைபைல(file)
பய ப தவி ைல எனி , ைபைல (file) ெதாட பான ேரா ரா (program) ல அ (ruled out)
ெச ைவ க படலா . ெந ஒ க னிேகஷ (network communication) ெதாட பான
ேரா ேல (problems) ேல அ (ruled out) ெச ைவ க ப .

( ைல ைட : 23:40 ஐ பா க )

உய ம ட வைக ப தலி பாஉ களி(faults) வைககைள நா பா தா , ர


பாஉ (structural faults)க உ ளன . ர பாஉ (structural faults)க ,
ேரா ரா ம (programmer)ரி ேகா (coding) ைச (design)ைய தவறாக ரி ெகா ,
ைச (design)யி சில ப திகைள வி ெவளிேயறினாேலா சில ைசச (design) தவ கைள
தவறாக ரி ெகா வைகயி தவறான க ைத உ வா கியி தாேலா, அ ேகாரித
பாஉ (algorithm faults)க இ கலா . இேதேபா , நா அ காரித (algorithm) தவ கைள
ெகா கிேறா , அத தவறான விைளவாக தவறான அ ேகாரித
(algorithm)ெசய ப வ அ ல இ ெட ேட ேபரஃஓ ம (inadequate performance)
ம பல இ கலா , ேம நா ச காேடேகாரிஸி (sub categories) ைய பா கலா

( ைல ைட : 24:21)

ஆனா , கவனி க ேவ ய ஒ விஷய எ னெவ றா , சா ேவ (software) ரணாக,


(bugs)க எ ணி ைக அதிகப சமாக ஆயிர கண கானைவயா , இ ைறவான

36
வைக பாஉ (faults)க , மிக ைறவான வைகயான பாஉ (faults)க . அ பைடயி , 4
வைகக ம ேம உ ளன; சி கி -0 (stuck at 0)மணி , சி கி-இ 1(stuck at 1), ஓப
சிர வி (open circuit) , ஷா சிர வி (short circuit) . எனேவ ஹா வ ெட (hard ware
testing) மிக எளிைமயான பணி சா ேவ ெட (software testing)ைய ஒ பி ேபா ,
சா ேவ (software)ளி நா ப ேவ வைகயான ைறகளி (bugs)கைள அக ற
ய சி பதா அதி பல வைகக உ ளன. அேதசமய தி ,ஹா வ (hardware) 4அ ல 5
வைக (bugs) க இ க எ ப நம ெதரி . ஒ ெவா வைக (bugs)
நா எப ெட (effective testing) ைய ைச (design) ெச ய . உதாரணமாக,
ஒ க னமான ஹா வ ெட (hardware testing) சி கி -0(stuck at 0)
ேரா ேல (problem) இ கிறதா அ ல சி கி-இ 1((stuck at 1) ேரா ேல (problem)
இ கிறதா ,எ சரிபா க உ ள . எனேவ, ஹா வ ெட (hardware testing)
வழ கமாக பாஉ (faults) அ பைடயிலான ெட (testing) ஆ ,அ சில வைகயான
ேரா ேல (problems) இ பைத நா க சரிபா கிேறா . ம ற , சா ேவ (software)
ஒ ெவா ெட ேக (test case) ெபசிபி (specific) வைகயான பாஉ (faults)கைள
க டறிய , ம உ ைமயி ஒ ைச ெட ேகேஸ(design test case) ைவ
ெபசிபி (specific bugs) க பி க யா . அ த வழ கி , ஏராளமான ெட
ேக (test case)க ேதைவ; இ ெட அசி வி (test activities)க , சா ேவ
(software bugs)ைய ெபா ப தாம ைச (design) ெச ய ப , ப ேவ வைகயான
(bugs)க க டறிய யதாக இ , ஆனா சில ெட ேக (test case)க ட
உ ளன, சில ெட ரா டஜி (testing strategies) பாஉ (faults) அ பைடயி இ தன,
நா ெதாடரேவ ய ேபாலேவ இ .

( ைல ைட : 26:44 ஐ பா க )

ெட ேக (test case)ம ெட (teat suite) ேபா ற சில அ பைட க க


உ ளன. ஒ ெட ேக (test case) அ பைடயி ெட ேட டா(test data) ம ேட (state)
ைய உைடய எ த ெட ேட டா(test data) பய ப த பட ேவ ? ம எ த ரிச
(result) ஏ ெகா ள ப ? நா அைத மீ பா ேபா ,ஒ ெட ேக (test case)
ெபா வாக பி ஷனாலி (functionality) சரியான ேவைல ெச வைத சரிபா க ய சி கிற
எ , நா சில ேரா ரா (program) எலிெம (elements) உ ளட கிய

37
ேரா ரா (program) எலிெம (elements) இய கிய அறி ைகயாக இ கலா , இ
ெபசிபி க ஷ (specific condition) அ ல றி பி ட நிைலயி இ கலா அ ல
ேதா றமளி அ ல இ கலா , அதனா ஒ ெட சிறிெதரி (testing criterion)
சரிபா க , ஒ அறி ைகயிைன சரிபா , அத ேக ப இ கலா . ேம ,
ேரா ரா (program) எலிெம (element) ெர யி ெம (requirement) வைகக கவ (cover)
ெச ய ப இ கி றனவா எ பைத நா க சரிபா கிேறா . எனேவ இ நம ெட
க ஷ (testing condition)ைய றி கிற , நா கி ற எ லா
ேட ெம ேயா(statement) அ ல க ஷ ேயா(conditions) கவ (cover) ெச வ நா
இல எ பைத சரிபா கிேறா . ஆனா ஒ சில பாஉ (faults) அ பைடயிலான ெட நி
(techniques) இ பைத நா றி பி ேள . எனேவ, இ த அம ைவ நி திவி ,அ த
விவாத தி நா க விவாத ைத ெதாடர ேவா . ந றி.

38
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-04 –Basic Testing(cont)

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர - 04 அ பைட ேசாதைனக (cont)

இ த அம வரேவ கிேறா . இ ேபா நா கட த அம வி கல ைரயா ய சில அ பைட


க க ட ெதாடரலா . எனேவ,நா ெட ேகேஸ (test case)க ப றி விவாதி ேதா .
சா ேவ (software)ைய ஏராளமாக ெட ேக (test cases)கைள ெகா ெட (test)
ெச ய ேதா ம இ த ெட ேகேஸ (test cases)கைள ெட (test suite) எ
அைழகிேறா .

( ைல ைட : 00:53 ஐ பா க )

ஒ ெவா ெட ேக (test case)க சா ேவ (software) சில


பி ஷனாலி ைய(functionality) எ ேட(execute) ெச கிற ம இ
எ ேட(execute) ெச கிற பி ஷனாலி ைய(functionality) ெச கிற , அ சில
ேரா ரா எலிெம (program elements) ைய உ ளட கிய ; அ சில ேரா ரா
எலிெம (program elements) ைய எ ேட(execute) ெச கிற அ ல
ேகாேவ (cover) ெச கிற . ேரா ரா எலிெம (program elements) ேட ெம
(statement)அ ல க ஷன (conditionals)ஆக இ கலா அ ல சில ேஜ (jumps)
ேபா றைவ. ஆனா பல ெட ேக (test case) களா எ க ப ட கவேர (coverage) அளைவ

39
அளவி கிேறா , ெர பீெர எலிெம (requirement elements) ேதைவயான
எ ணி ைகைய கவ (cover)ெச உ ளதா எ பைத சரிபா க . எனேவ, இைவகாேவர
ேப ெட (coverage based testing) என அைழ க ப கி றன, என டா ெக
எலிெம (target elements) கவ (cover) ெச யப கி றன எ பைத உ தி ப த ய சி
ெச கிேறா . ம ற , நா க சில பாஉ (faults) அ பைடயிலான ெட (test) கைள
ைவ தி கிேறா , அ நா க உ ைமயிேலேய கவேர (coverage) ெச யவி ைல, ஆனா
இைவகளா சில வைகயான (bugs)க ெட (test)ெச ய ப நீ க ப டன எ பைத
அ பல ப த ய சி கி றன.

( ைல ைட : 01:58 ஐ பா க )

இ ேபா , ெட ேக (test case) ம ெட ேட டா(test data)க இைடயி உ ள


ேவ பா கைள பா கலா . ஒ ெட ேட டா(test data) அ ல எைத நா ெட (test)
இ (input) ெச ேட டா(data) , ஆனா அ த ெட ேக (test case) ெட ேட டா(test
data) ைவ ெட இ (test input)ஆக ம ம லாம , ஒ ெட ேக (test case) எ ப
ேரா ரா ேட (program state)ைய பய ப வி ண ப ேட டா(data)ைவ றி கிற .
உதாரணமாக, நா சில ெம ஐ ட (menu items)கைள ேத ெத தி கலா அ ல
சி ட (system)ைய ேலா (log)ெச இ கலா , அதனா இ ேவ சா ேவ ேட (software
state) ம எதி பா க ப ரிச (result) . எனேவ, ெட ேக ைச (test case design)
ெச ய ப த ம இ த ைறயி ேபா (form) டா ெம
(document) ப த ப ள ,எ த ேட (state) நா இ (input)ைய லாகி (login)
ெச வி ண பி க ேவ , சில ெம இ ட (menu items)ைய ேத ெச . பி ன
நா இ ெட ேட டா(input test data) ெச பி அத ரிச (result) ைய பா ேபா ,
அதனா ெட (test)யி ேபா ெட ட (testers) இ த ேரா ேற(procedure)ைய
ெசய ப த ெச (check) ெச ய .

( ைல ைட : 03:07 ஐ பா க )

எனேவ, ைற த ப ச ஒ ெட ேக (test case) ஒ ரி ேல (triplet) எ நா


ெசா லலா . இ (input) - ெட ேட டா(test data) , இ ெட ேட டா(input test data) ; S

40
எ ப இ (input) ெச ய ேவ ய சா ேவ (software) ேட (state) ; ம ஓ(o)
எதி பா க ப கிற ஓ (output) .

( ைல ைட : 03:29 ஐ பா க )

ஆனா நா ேன வத , ம ெறா அ பைட க ைத பா கலா . ெபாசி


ெட ேக (positive test case) க ம ெநக ெட ேக (negative test case)கைள
நா க வ வைம கிேறா . , ெபாசி ெட ேக (positive test case)இ (input) சரியாக
உ ளதா எ பைத பரிசீலி , ேரா ரா (program) சரியாக ேவைல ெச கிறதா எ பைத
சரிபா கிற , ஆனா உ ைமயி உேஷ (users) ெகா க ப ட ேநா க எ ன எ றா
இ (input) ெகா கவி ைல எ றா எ ன ஆ . உதாரணமாக, ேரா ரா ம (programmer)
ஒ எ எ த பட ேவ ய இட தி ஒ ேகர ட (character)ைய ேப(type) ெச ததாக
ெகா ேவா ; 23- பதிலாக, அவ எ(a),பி(b).சி(c).என சிலவ ைற எ தினா ,சா ேவ
கிரா (software crash) ஆனா ெநக ெட ேக (negative test case)கைள எ
அைழ க ப . இ வாலி (invalid) ம னி ேப இ (unexpected input)
வழ ேபா சா ேவ (software)ன ந றாக ெசய ப கிறதா எ பைத ெநக ெட
ேக (negative test case)க ைகயா கிற . எனேவ, ெபாசி ெட ேக (positive test
case)க இ (input) கைள ெச ப யா ேபா , சா ேவ (software) ெசய பா ைட
சரிபா கி றன. , ெநக ெட ேக (negative test case)க இ வாலி இ (invalid input)
அ ல னி ேப இ க (unexpected input) ெகா க ப ட ேபா ேரா ரா
(program)ெம ைமயாக ெசய ப கிறதா எ சரிபா கிற .

( ைல ைட : 04:56 ஐ பா க )

சா ேவ (software) பல ெட ேக (test case)கைள பய ப தி ெட (test)ெச ய ப கிற ,


இைவ சில ெட ரா டஜி(test strategy)யி அ பைடயி ைச (design)
ெச ய ப ளன. பல ெட ரா டஜி(test strategy)க , பல பிளா பா ெட
ெட நி (black box testing techniques) ம ஹி ேட பா ரா டஜி(white box strategy)
கைள நா பா ேபா . இ த ெட ேக (test case)க , அைன ெட ேக (test case)களி
ெதா கைள ெகா ைச (design) ெச ய ப ட ெட (test suite) எ
அைழ க ப கிற , இ ெபா வாக பய ப த ப ெட மினாலஜி(terminology) ஆ .

41
(படவி ைலேநர ைத பா க : 05:29)

ஒ எ கா ெட ேக (test case)ைய பா கலா . எ க ைல ரரி(library)


சா ேவ (software) இ பதாக ெசா கிேற ; ம நா க மீ ஒ தக ைத
ெர ட (return) ெச ய ஒ ெட ேக (test case) எ த ேவ . ைல ரரி சா ேவ (library
software)ைய எ கா டாக எ க காரண இ அைனவரா ந அறி தி ப .
நா க தக ைத எ ேளா , அவ க அைத ெர ட (return) ெபற ய சி கிறா க .
எனேவ, ெட ேக (test case) எ னவாக இ ? இ ேக, ெட ேக (test case) , நா
ெட ேக (test case) ேட (state) ைய எ த ேவ ; சா ேவ (software)யி
ேட (state) ஆன தகத உ வா க ப கிற , ெம ெப (member) பதி
உ வா க ப அத பிற அ த தக ெம ெப (member) வழ க ப ள , எனேவ
இ இ ேட டா(input data) - ெட ேட டா(test data) பய ப த ப .ம ஒ 2 வார
காலதி பிற ெட ேட டா(test data) ெரேன (renew) ெச ய ப கிற . பி ன
ஓ (output) உ ள , தக ெரேன (renew) ெச ய ப ட அ ல ெரேன
(renew)ெச ய படவி ைல எ பைத (output) இ இ (intuitive) ெச
க காணி கிற .

( ைல ைட : 06:52 ஐ பா க )

ெட ேக (test case) ைய டா ெம (document) ெச ய நிைறய சி தைனக ட


ைச (design) ெச ெட ேக டா ெம (test case document) ெச ய உ ளன. எனேவ,
நா ஒ ரி ேல (triplet) ைற ப றி விவாதி ேதா , இ ஒ ெட ேக (test case) ப றி
விவரி பத ஆன மிக ைற த வழி , ஆனா இ ெட ேக (test case) பதி
ெச வத மிக விரிவான ேபா ம ைய(format) இ ேக காணலா . உதாரணமாக, ெட
ேக (test case) எ , ெட ேக ஆதா (test case author) , ெட ரேபா (test propose) ,
இ (input) பய ப த ேவ ய ேரக ஷ ேட (pre-condition) , ெட இ (test
input) , எ ன ஓ (output) , அத ேபா க ஷ (post condition) எ ன ,ெட
ேக (test case) த பிற ேரா ரா ேட (program state) எ ன பி ன ெட
எ (test execution)ேததி , ெட (test) ைய நட தியவ . ெட ரிச (test result) -
பா (pass) அ ல பாயி (fail) ; பாயி (fail)யைட தா , பாலி (failure)யி விவர க எ ன,
உ ைமயி எ ன நட த , பி ன பி ேட ட (fix status) எ ன,இைவ

42
ெடவல ப (developer) வழ க ப கிற ; அவ க அைத பி (fix) ெச ய ய சி பா க ,
ேம அவ க பி ேட ட (fix status) ைய எ வா க .

( ைல ைட : 08:06)

இ ேபா , ெட (test team)யி , ப ேவ வைகயான ெட ட (testers) உ ளன , அவ க


ேவ ப ட அசி வி (activities) கைள ெச கி றன. இ ேபா அ இ க ய ப ேவ
வைகயான ெட ட (testers)க எ ன எ பைத பா ேபா . உதாரணமாக, நா ெட ேக
பிளா (test case plan) ெச யேவ , எனேவ இ , மிக எ பிஎெர
ெட ட (experienced testers)க ெச யேவ . ெட ேசனரிேயா(test scenario) ம
ெட ேக ைச (test case design) ; ஒ ெட ேசனரிேயா(test scenario) ஒ மிக உய த
நிைல ெட ேக (test case)விள க , ஒ ெட ேக (test case) எ ேக எ ப ஒ
ெட ேசனரிேயா(test scenario) , அ எ னெவ றா அைன விவர கைள நா சரியாக
இ (input) ேட டா(data) , எ ன? ேட (state) ம பலவ ைற எ கிேறா . ைதய
ைல (slide) கா ய அ த ெட ேள ைட(template) இ ேபா நிர கிேறா . இ ேக ட
ெட ேக ைச (test case design) , நா எ பிஎெர (experienced )ம ைலைப
(qualified)ெட ட (testers) ேவ .

ெட எ (test execution) காக , உ ைமயி ெட ேக (test case)கைள எ ,


எ ேட(execute) த ைறயாக ம வ லி(manually) இய கி, இர டாவ ைறயாக,
ெரகா (record) ம ேரபிேல(replay) ெச யலா . எனேவ, த ைறயாக, ெசமி
எ பிஎெர (semi- experienced) ம எ பிஎெர (experienced )இ லாதவ க ட
இ (input) ெகா க , சா ேவ (software) யி ஒ றி பி ட ேட (state) இ
(input) ெகா ம சா ேவ (software) எ வா நட ெகா கி ற எ பைத
க காணி க எதி பா க ப கிற . ெட ரிச அனாலிசி ((test result analysis) , எனேவ
இ எ பிஎெரனி (experienced) ம க ேதைவ, ெட (testing) ேபா உ ைமயி
எ ன நட த ; அ ஒ பாலி (failure) ம அதனா தா . பி ன ெட ேபா (test
tool support) , ெட (test tools)க பய ப த ப கி றன எ பதா நம
எ பிஎெரனி (experienced) ேதைவ; இ ம ம லாம , எ ேட ன (experienced)
ெப ெசா (person) ேதைவ ப வ , உஷாபிலி ெட (usability test) நிக வத கான
உேஷ (users) ம இ ட ரி எ பி (industry experts) க ேதைவ ப வ .

43
( ைல ைட : 10:02 ஐ பா க )

ஆனா இ த விஷய தி பதி அளி க ேவ யஒ அ பைட ேக வி ஒ உ அ


ெதாட வத , அ எ னெவ றா , எத ெட ேக ைச (test case design)
ெச ய ப கிற ?, ெட (testing) ைறகளி ெர ேடா இ (random input) ட
ஒ பி ைகயி பய எ ன ? ெர ேடா இ (random input) கைள 10,000
வா ைள(values) ஏ ெகா க டா , ேம அ அதிக தடைவ எப (effective)
இ ; ஒ மணி ேநர தி , நா ஆயிர இ (input)கைள ெகா கலா , நா 5
ெவ ேவ ெட ட (testers)கைள ேக ேபா . எனேவ, ஏ ெட ேக ைச (test case
design) ெச ய ேவ ? பதி 10,000 ெர ேடா இ (random input) கைள ெட (test)
ெச தா ட, நா அைத ந றாக ெட (test) ெச தி க யா ; கிய காரண
எ னெவ றா அ த ெர ேடா இ (random input) க பலவிதமான (bugs)க ெட
(test)ெச ய ய சி கி றன அ ல அைவ அேத வைககைள ேரா ரா எலிெம (program
element)கைள கவ (cover) ெச யி கலா .

( ைல ைட : 11:05 ஐ பா க )

ெட ேக (test case)க பய ளதாக இ கா . எனேவ, நா றிவி ேடா 10,000


ெர ேடா (random) ஆக உ வா கிய ெட ேக (test case)யி அதிக ெட (test)
ெச ய டா எ .

( ைல ைட : 11:24)

ஒ உதாரணமகா - ஒ சிறிய ேரா ரா (program) ல அைத கா பி ேபா , க பி க


இர x ம y யி மா ஸி (maximum) , மிக சிறிய ேரா ரா (program) , இர
வரிகைள ெகா ட .

( ைல ைட : 11:34 ஐ பா க )

y ஐ விட x அதிகமாக இ தா , மா (max) x சம ; அ ல மா (max) x சமமாக


உ ள ,இ தா ேரா ராம (programmer) எ திய , ஆனா பி இ மா (max) y
சமமாக இ க ேவ ,அ ல மா (max) y சமமாக இ . ஆனா ெட (test)
ெச ய ப ட ெட ேகேஸ (test case)கைள பா கலா . எனேவ, யாேரா ெட (test)

44
ெச ளன 3 3, 4 3, 5 1, தலியன, கண கான ெட ேக (test case)க
பய ப த ப , ஆனா பி ன இ த (bugs) அ பல ப த யா , ஏெனனி
ஒ ெவா ைற ஒேர ஒ ேட ெம (statement) எ ேட(executed) ெச ய ப கிற ; ம ற
ேட ெம (statement) ட எ ேட(executed) ெச ய படவி ைல. எனேவ, நா 1,000
ெட ேகேஸ (test case)க ம ஒ ெவா ைற y ைய விட x ைய மா (max) ஆக
ெகா தா (bugs)ைய ெவளிேய ெகா விடவி ைல எ றிவி ேடா ; அேதசமய ,
இர ெட ேக (test case)க இ த ேட ெம (statement) யி உ ள (bugs)ைய
ெவளிேய ெகா வ . ( ைல ைட : 12:34)

ம ெறா அ பைட க எ னெவ றா ெட ரா டஜி (testing strategies)


வ வத பாக, ெட பிளா (test plan) தயாரி க ப வதா , ெவ ேவ ெட
ரா டஜி (testing strategies)க ம ெட ேக (test case) ைச (design) பா பத
விவாதி ப ந ல . எனேவ, ஒ ெட பிளா (test plan)எ றா எ ன?, ஒ ெட
பிளா (test plan) எ ப ெட (test) ெச ய பட ேவ ய பி ேற (features)களா , ெட
(test)ெச ய பட ேவ ய பி ேற (features)க எ ன, ஒ றி பி ட ரிலீ (release)
இ கலா , சில பி ேற (features)ைள ெவளியி வ , அவ க ேச க படவி ைல , ஆனா
பி ன கிசெடாெம (customer)ரிலீ (release) ெச ய பிளா (plan)ெச யவி ைல. எனேவ,
நா ெட (test) ெச ய ேவ ய அவசிய இ ைல.

ேவைல ெச ெவ ேவ ெட ரா டஜி (testing strategies)க யாைவ? எனேவ பிளா


பா ெட (black box testing) களி , நா ஏ இவெள ெட (equivalence testing)
ெச ேதா , ெபௗ டரி வ ேக ெட (boundary value testing) , க ஷ
ெட (condition testing) , ம ெகா பினேடாரி ெட (combinatorial testing )
ேபா றைவ, தலியன ? எனேவ, நா பய ப ப ேவ வைகயான ெட
ரா டஜி (testing strategies)எ ன? ம ெட ச ெப ஷ (test suspension) ம
சிறிெதரிய(criteria) , எனேவ இ ேக இ அ பைடயி ஒ த டா பி சிறிெதரிய(stopping
criteria. ) நிப தைன. எனேவ, சில கிய பி ேற (features ) இய கவி ைலெயனி , அைத
ெட (test)ெச வ இ ைல எனி , ம ற பி ேற (features ) கைள ெட (test)
ெச ய ப வத ன ேகாேர பி ஷைன (core functionality ) ைய ைப (fix) ெச
சரிெச ய ெடவல ப (developer) நா க அைத வழ கிேறா . ெட எபிேபா (test effort

45
)யி எ ேமஷ (estimation) உ ள ம ெட (testing)எ தைன நா க நைடெப
எ எதி பா க ப கிற எ பைத நி பி க . எனேவ, இ ெட (testing) ெதாட
உ வா க ப ஒ ெபா வான ெட பிளா(test plan) ஆ .

(படவி ைலேநர பா க : 14:13)

இ ேபா , ெட ேக (test case)களி ைச (design)ைய பா ேபா . எனேவ, ெட ேக (test


case)கைள ைச (design) ெச வதி , ஒ விஷய ெதளிவாக உ ள ,, ப ேவ வைகயான
ெட ேக (test case)க ப ேவ (bugs)கைள த அள க டறி வைகயி
உ ள , ஏென றா கண கான ெட ேக (test case)க , அேத (bugs)
இ பைத க டறிவதா ய சிக வீணாகிவி . ம ற வைகயான (bugs)க
அ பல ப வதி அைவ மிக அதிகமாகேவ சாதி க யா .

( ைல ைட : 14:43)

எனேவ, நா பல ெட ரா டஜி (tests strategies)ைள ெகா ேபா . ஒ ெவா


ரா டஜி( strategies)உ ைமயி ஒ பி ட (bug filter) , ம நம இ த ரா டஜி(
strategies) பல ேவ . எனேவ, ெட பிளா (test plan) ெச ேபா , எ த வைகயான
ெட க (testers), எ த ரா டஜி ( strategies)ெகா க ேவ எ பத கான ரா டஜி(
strategies), எ தைன எபிேபா (effort) ேம ெகா ள ேவ எ பைத நா க
தீ மானி கிேறா . எனேவ, நா ஏ வா ெட (equivalence tests
) , 100 மணி ேநர ைத எ ெகா ேவா , பி ன 5 மணி ேநர ெட (testing) அ ல அ
க ஷ ெட (condition test ) ஆக இ கிற . வா ெட (equivalence test )5
மணிேநர , 100 மணிேநர க ஷ ெட (condition test ) த , எனேவ ரா டஜி(
strategies) எ ப ம ம லாம , அ த ெட (test) எ தைன ைற அ ல எ வள
ேநர ைத நா எ ெகா ேடா எ பைத ெட (test) ெச ேவா .

பி ன பிளா பா ெட (black-box testing ) நா உசா -ேப (usage-based testing


)ெட (testing)கைள பய ப கிேறா , இதனா ேடாெம (customers)உ ைமயி
எ வா பய ப கிறா எ பைத அ பைடயாக ெகா ட . எனேவ, சில
பி ேற (features)ைய ேடாெம (customers)அதிக பய ப கி றன ம பிற
ப (features)ைள பய ப வதி ைல. எனேவ, உேஷ (users) எ த

46
பிெர னிசி(features)யி பய ப கிறா க எ பைத ெபா ெட (test) ெச கிேறா .
உ ைமயி , உேஷ (users) அைத பய ப வத ஒ பி ேற (features)ைய அதிக
எபிேபா (effort) ெச வ ந ல .

உதாரணமாக, ஒ ைல ரரி சா ேவ (library software) , தக இ ேக (book issue


)ம தக ெர (book return) ெப த ஆகியைவ மிக அதிக அளவி
பய ப த ப கி றன, ஆனா ஒ தக ேலா ரி ேபா பி ேற (lost report feature
)அதிகமாக பய ப த படாம இ கலா ; தக இ ேக (book issue )ம தக
ெர (book return) ெப த ஒ பி ேபா ேலா ரி ேபா பி ேற (lost report feature
) பய ப வதி ைல. இ ேக ேயாசைன எ னெவ றா தக இ ேக(book issue )
ம தக ெர (book return) பி ேற (feature ) , ட சிறிய ேரா ேல (problem)
இ தா , (bugs)க உ ளன. இ உேச (users)களா கவனி க ப , ஆனா தக
ேலா ரி ேபா (lost report) மிக அரிதாகேவ பய ப த ப கிற ; அ சில
ேரா ேல (problem) இ தா உடன யாக கவனி க படாம ேபாகலா . எனேவ உசா பா ேப
ெட (usage-based testing ) ெட பிளானி (test planning) ெச ேபா பரிசீலி க ப
ஒ விஷய .

பி ன ஹி ேட பா ெட (white-box testing) , இ பிளா பா ெட (black-box


testing)பிற ேம ெகா ள ப கிற . எனேவ, இ த பிளா பா ெட (black-box testing)
விைளவாக வழிநட . எனேவ, பிளா பா ெட (black-box testing) விைளவாக
வழிநட த ப வத ல நீ க எ ன ெசா கிறீ க . பிளா பா ெட (black-box
testing)யி ேபா ,சா ேவ (software)யி றி பி ட கா ேபாென (components ) உ ள
(bugs)க க பி க ேவ ;அ ஒ றி பி ட வைக பி ேற (features) . பி ன
ஹி ேட பா ெட (white-box testing) , (bugs)க கா அ த பி ேற (features)
கைள ெட (test) ெச வத அதிக ேநர ெசலவழி கலா , ஏெனனி ஒ மிக விசி திரமான
விஷய (bugs)க அைவக கிள ட (cluster)களி ஏ ப . சில ப திகளி நீ க
(bugs)ைய க டறி தா , அ ேக இ (bugs)க இ . ச க தி ெப மளவி
(bugs) க அ வா கி றன. ெரள ேவலி (relatively ) மிக ைறவான (bugs) க
இ பதாக ற ப கிற தகவ க , உ ைமயி ைறவான (bugs) க இ .

(இ ேபா Slide Time: 18:08)

47
இ ேபா , நா ஒ ேக விகைள ேக கிேற , எ க பாசி ேட டா (passed data),
த ேபா ள களி ெரவிஎ (review) ல 10 சதவிகித க டறிய ப வைத
றி கி ற , இ உ ைம நிைல அ ல எ நா க கிேற , ஒ எ கா
ெரவிஎ (review) 10 சதவிகித (bugs)கைள க டறிகிற . 40 சதவிகித (bugs)கைள
னி ெட ெவளி ப ட ; 25 சதவிகித இ ெடகேரஷ (integration) ; சி ட
ெட (system testing) 15 சதவிகித ம ேடாெம (customers) இ தியாக,
சா ேவ (software) அவ க ஷி பி (shipping) ெச த ேபா , அவ க 10 சதவிகித
(bugs)கைள அறி ைக ெச தன . எனேவ, இ 30 அ ல 40 சா ேவ (software) அத
ஷி பி (shipping)யி ஒ ெவா சா ேவ (software) எ தைன (bugs)க
அ பல ப த ப கி றன எ பைத பி றிய ேட டா(data) எ ேசகரி ள . எனேவ,
ெட (testing) ய சிைய நி வன அ ல ெட ேமேனஜ (test manager) எ வா
பிளா (plan) ெச வா ? பதி மிக க ன அ ல. னி ெட (unit testing) யி அதிக
எ ணி ைகயிலான (bugs)கைள அ பல ப கிற எ பதா , இ ஒ மிக எப
ேடசனி (effective technique) , எனேவ ெரவிஎ (review)ைய ஒ பீ ைகயி னி ெட (unit
testing)களி அதிக ேநர ெசலவழி க ேவ , சி ட ெட (system testing) எ றா
அ ேட டா(data) எனி , ஆனா அ உ ைமயான ேட டா(data) இ ைல , ஒ
ைஹ ேபாதீ க ேட டா(hypothetical data) . ஒ உ ைமயான ேட டா(data) ெரவிஎ (review)
உ ைமயி நிைறய (bugs)கைள அ பல ப .

( ைல ைட : 19:50)

இ ேபா , ஒ ெட பிளானி (test planning) ஒ ைற பா ேபா , பல ெட


ரா டஜி (test strategies )கைள பய ப கிேறா . எனேவ, ரா டஜி 1(strategies), இ
ஏ வா பா ஷனி (equivalence partitioning) , ெபௗ டரி வ ேக(boundary value) ம
க ஷன ெட (condition testing) இ கலா . எனேவ, தலாவதாக உ ள 50 சதவீத
ேரா ேல (problems) , இர டாவ உ ள ஒ 30 சதவீத ைத , றாவ உ ள
ஒ 10 சதவீத ைத க டறிகிற . எனேவ, எப ெட (effective testing)ைய எ வா
பிளா (plan)ெச ேவா ? இ பதி எளிதான . ெட ெட நி (testing techniques) ஒ
எப (effective) எ றா , நா அைத ந றாக ெச ய ேவ . எனேவ, அ ஒ ெட
ெட நி (testing techniques )ஒ (one) ேபா மான ேநர ெகா க ேவ ம

48
நா ெட ெட நி (testing techniques two) ேநர ெகா க ேவ ம
இ தியாக,ெட ெட நி ரீ((testing techniques three) மிக ைற த ேநர ேநர
ெசலவிட ேவ .

( ைல ைட : 20:50 ஐ பா க )

இ பிளா பா ெட (black-box testing) ெச ேபா ம ெறா ேட டா(data) ; ெவ ேவ


ெமா (module)களி ப ேவ (bugs) உ ளட க கைள ெகா பைத நா க
க ேடா . மா ேல 1(module 1) பி ன மா ேல 3(module 3)ைய விட அதிகப ச
(bugs)கைள ெகா ட , ஆனா மா ேல 6 (module 6)யி அதிக எ ணி ைகயிலான
(bugs)க இ த . எனேவ, எ ப ஹி ேட பா ெட (white-box testing) ெச ேவா ?
எனேவ, நா இைத மிக ைமயாக ெச ய ேவ . சா ேவ (software) ரிலீ (release)
ெச ய பட ய நிைலைம ஏ படலா , பி ன அ த சா ேவ (software) யி
ேவ ெசா (version) 2 ஐ ரிலீ (release) ெச ய ய சி கிேறா . எனேவ, அ ேக இேதேபா ற
பிளானி (planning) ெச யலா .

நா விவாதி ெகா கிய காரண , ெடபிசி கிள டரி (defect clustering) .


ஒ சில மா ேல (module) வழ கமாக ெடபிசி (defects)கைள ெகா கி றன, அதனா
எ ன காரண எ பைத கவனி கவ , அ த காரண எ னெவ றா அ த
மா ேல(module) மி த கா ெல (complex) ஆக இ த . எனேவ, ெப பாலான
ெடபிசி (defects)க அ த மா ேல(module)களி ேநர யாகேவா அ ல ைறவாகேவா
இ ம ற மா ேல(module)களி தா உ ளன, ைறவான ேரா ேல (problem) அ ல
ஒ மா ேல(module) எ பிஎரிெய ெச ேரா ரா ம (experienced programmer ) ல
எ த ப கலா , ேம அவ ேரா ேல (problem)ைய ந றாக ரி கலா ம
மிக ைறவான ேரா ேல (problem) இ தி கலா .

ஆனா ம ெறா மா ேல(module) உ ள அ த ைறயாக ேரா ரா (program) ஏ


ேரா ராமரா(programmer) ஏ த ப ட ஏென றா அவ களா ரி ெகா ள
யவி ைல அவ க மிக ல (language), அ ேகாரித (algorithm) ,
பி த கி உ ள , எனேவ, (bugs)க ெப மளவி இ . எனேவ, நா அதிகமான

49
ேநர ைத அ த மா ேல (module)ெட (test) ெச ய ேவ , நா அைன
ெமா (module)கைள ஒேர மாதிரி ேநர தி ெட (test) ெச ய ேநர ெசலவிட டா .

(படவி ைலேநர பா க : 22:47)

இ ேபா , எ க விவாதைத உநி ெட (unit testing)யி ெதாட ேவா . னதாகேவ


நா க றி ளப ஒ னி (unit) கான ேகா (coding) த ட , னி ெட (unit
testing) ேம ெகா ள ப கிற ஒ னி ஒ பி ஷ ஆக இ க ;அ ஒ
மா ேல(module) ஆக இ க ; ஆ ெஜ ஒரிஇ டஷ யி (object orientation) , அ
ஒ கிளா (class) ஆக இ கலா ; அ ஒ கா ேபாென (compound) யி
கா ேபாென (compound) அ பைட ெடெவல ெம (development) ஆக இ க .
னி ெட (unit testing)ளி ,ெட அசி வி (testing activity) ெதாட கிய உடேன
அ த னி (unit)கான ேகா (code) எ த ப , கா பிேல(compile) ெச யப கிற . எனேவ,
கா ெளயி ஏ ேறா (compilation error) , சி ட ஏ ேறா (syntax error) நீ க ப கி றன .

( ைல ைட : 23:36 ஐ பா க )

இ ேபா , ெட ேக ைச (test case design)ைய பா , னி ெட (unit test)


சில அ பைட க கைள பா கலா . எனேவ, னி ெட (unit test)உநி (unit)
ேகா (coding) த ட ெவ றிகரமாக கா பி (compile) ெச ய ப கிற .

( ைல ைட : 23:52)

ஆனா னி ெட ேக (unit test case)க எ வா ைச (design) ெச ய ப கி றன


எ பைத பா பத , நா ஒ அ பைட ேக வி பதி அளி ேபா , நா சி ட
ெட (system testing)கைள சரியாக ெச ய யா , னி ெலவ ெட (unit level
testing) ஏ ெச ேதா ,நா எ லா எபிேபா (effort) ெச ஒ ந ல சி ட ெட (system
testing) ெச ேதா , ஏ னி ெட (unit testing)பி ன இ தியி ,
இ ெடகேரஷ (integration) ம சி ட ெட (system testing) ெச ய ேவ .

இ ேக பதிைல பா ேபா . ஒ எ கா இ நம ஒ (bugs)உ ள நா


சி ட ெட (system testing)ெச ேபா ரி ேபா (bugs report) ெச ய ப கிற என
நா க தி ெகா ேவா . அ த னி ெட ைட(unit test) , நா ேநர ைத

50
ெசலவழி கவி ைல, நா ஒ ைமயான சி ட ெட (system testing) ெச கிேறா .
ஒ ெவா , நா ஒ ெட (test) ெச கிேறா , ஒ ைப ேர (failure) க டறி , பி ன
பாலி (failure)ஏ ப கி ற சில (bugs)க உ ளன. இ ெபா ,இ த விஷய ைத
பா க, ேகா (code) ப லாயிர கண கான அ ல ஐ ப ஆயிர ேகா க (code) வரிக
இ கலா , ேம அ த வழியாக நா எ காவ (bugs) உ ளதா என க பி க
ய சி கிேறாேமா எ பா க ேவ ..

( ைல ைடைவ கா க: 25:11)

ம ற , நா னி ெட (unit test)ைட ெச தா (bugs)ைய பா தா , மிக


ைறவான ேகாடாக(code) இ கலா .ந மா எளிைமயாக (bugs)கைள
க பி க . எனேவ, உநி ெட (unit testing) ெட எபிேபா (testing efforts)ைய
ைற கிற , ேட கி எபிேபா ( debugging effort),ஏெனனி சி ட ெட (system
testing)அேத (bugs)க பி க படலா , ஆனா அைத சரிெச ய மிக விைல உய ததாக
இ . னி ெட (unit testing)யான எளிதி (bugs)கைள ேலா கலிஸி(localize)
ெச ய , ஏென றா சி ட ெட (system testing) ஒ பி ேபா
ேகா (code)களி வரிக ைறவானதாக ேதா றமளி கி றன.

இ ேபா , னி ெட (unit test)களி , தனிைம ப திய னி (unit)கைள ெட


(test)ெச கிேறா . அ உ ைமயி எ ன எ ப னி (unit) ஒ ைரவ (driver) அ ல
ேவ சில னி (unit) அைத அைழ க ேவ , ம நா ேவ சில னி (unit)கைள
அைழ க ேவ . அத விைளவாக ைரவ (driver) இ த ச (stub) எ த ேவ ன
னி ெட (unit test) ெச ய ேவ .எனேவ, ைரவ (driver) தா னி (unit)அைழ ,
இ சில ேட டா (data) வழ கிற ; ம பி(stub) னி (unit)க அத கைள
தயாரி க ம ற னி ரிச (unit result) அைழ ம பய ப கிற இ ஒ றா .

னி ெட (unit testing) வ வத , நா னி (unit) ைரவ (driver)க


ம ேட (stub)கைள எ த ேவ . எனேவ, இ த க ட தி நா நி தலா , அ த
அம இ ெதாட . ந றி.

51
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-05 –Unit Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர - 05 னி ெட

இ த அம வரேவ கிேறா . எனேவ, னி ெட (unit testing)கி எ க விவாத


ெதாட . நா க றிேனா னி ெட (unit testing)யி ஒ ெவா னி (unit)
இ ெடேப ெட டலி (independently) ெட (test) ெச ய ப கிற .

( ைல ைட : 00:29)

எனேவ,இ உ ைமயி எ ன எ ப , ஒ னி (unit) ேவ சில னி (unit)களிலி


அைழ க பட ேவ , ேம அ ேவ சில னி (unit)கைள அைழ கிற , பி ன நீ க
அைத இ ெடேப ட டலி(independently) ெட (test) ெச ய ேவ , இ ேக ஒ சிறிய
சா ேவ (software) எ தி , அைத ஒ ைரவ (driver) களாக , பி(stub) மாக
அைழ கலா .

( ைல ைட : 00:48 ஐ பா க )

ஒ ைரவ (driver) (function) உைடய ெபஹவிேயாைர(behaviors) சி ேல(simulate)


ெச கிற அ ல ஒ னி (unit) எ அைழ க ப இ த னி (unit) ம
னி (unit) சில ேட டா(data) கைள வழ கி ெட (test)ெச ய ப ; அேதசமய ,

52
பி(stub) , அ (function) உைடய ெபஹவிேயாைர(behavior) சி ேல(simulate)
ெச கிற எ ப இ எ த படவி ைல ல கிைட கவி ைல.

எனேவ, நா இ த உநி (unit), ம ற னி இ ெடேப ெட (unit in depended) ஆக ெட


(test)ெச கிேறா ம எனேவ, நா இ ேக ஒ பிைய (stub) பய ப த னி (unit)
உைடய ெபஹவிேயாைர(behavior) சி ேல(simulate) ெச கிற , ஒ ேவைள நா க இ ேக சில
வா (values) ேசமி கிேறா எ றா , எ , 2 எனி , இ த ம ற உநி ேட டா(unit data) 2
உட அைழ க ப கிற , அ ெர ேட டா(return data) 11 அ ல ஏதாவ ெகா கிற .
எனேவ, ஒ பா ைவ இ . இைவ மிக எளிைமயான சா ேவ (software) ஆ , ைரவ
(driver)ம பி(stub) ம இைவ ம ற னி (unit) உைடய ெபஹவிேயாைர (behavior)
சி ேல(simulate) ெச ய ப கி றன, ஏென றா இ த னி ஐேசாேலஷ (unit in
isolation) ெட ெச கிற .

( ைல ைட : 02:09 ஐ பா க )

இ ெகா ச ெகா சமாக விள கிற . எனேவ, இ னி (unit) ம பி(stub) இ


ஒ னி (unit) எ அைழ கபட ேவ ம பி(stub) இ ேக எ த ப ட , சில
சா பி ேட டா(sample data) காக, நா பா கிேறா ; ம ,உ க ேட டா(data) அ சில
மதி ட அைழ க ப கிற எ றா , பா க , இ ேக ரிச (result) ெதரிகிற ம அ
ெர (return) ெச கிற . ைரவ (driver), அ ேரா ேற(procedure) ம கா (call)
ெச யவி ைல , அ ஒ னி (unit) கீ ெட (testing) ெச ய ப கிற . அ ஒ ேவைள
இ ம ற ேளாப டா டா(global data) ம பல இ கலா . னி (unit) சில ேளாப
வரிஅ ேள(global variable) ேதைவ படலா ; ைரவ (driver) அ ேவ .

( ைல ைட : 02:58 ஐ பா க )

இ ேபா , எ க ஒ சிறிய வினாைவ ெகா வா க . னி ெட (unit testing),


ைற தப ச அத ரேபா (purpose) எ னெவ நம ெதரி . இ ேபா , நீ க
எ ன நிைன கிறீ க , னி ெட (unit testing) ஒ வலிட தி அசி வி யா(validation
activity) அ ல ஒ ெவரிஃபிேகஷ அசி வி யா(verification activity) ? இ த விவகார ைத
சில ேநர களி மீ விவாதிேபா , னி ெட (unit testing) எ . உ ைமயி
வலிட தி அசி வி யா (validation activity) அ ல ெவரிஃபிேகஷ

53
அசி வி யா(verification activity),அத பதி , உநி ெட (unit testing) அ ல ஒ
ெவரிஃபிேகஷ அசி வி (verification activity) இ ; அ ஒ வலிட தி
அசி வி (validation activity) அ ல, ஏெனனி வலிட தி (validation) எ ப ைமயான
சி ட (system) பணி கைள நா க ெட (test) ெச வ கிேறா . அேத சமய
ெரயிெறெம ெபசிபிேகஷ (requirement specification) , உநி ெட (unit testing)களி ,
ைச காக(design), (function)கைள அ ல னி (unit)ஒ ைற ம ேம நா க
ெட (testing) ெச கிேறா .

ைஹ ெலவ ைச (high level testing) அ ல ேதரிேல ைச (detailed design) ,


ம னி க , ேதரிேல ைச (detailed design) இ த னி (unit) கான
ெபசிபிேகஷ (specification) ைய ெகா . ேதரிேல ைச ட (detailed design)
ேகா (code) எ த ப டதா, எ பைத னி ெட (unit testing) ேபா நா க ெட (test)
ெச கிேறா . எனேவ, னி ெட (unit testing)எ ப ஒ ெவரிஃபிேகஷ
அசி வி ((verification activity) . ( ைல ைட : 04:23 ஐ பா க )

இ ேபா , எ ப னி ெட (unit test) ெட ேக (test case) ைச ெச வ


?எ பைத இ ேபா பா கலா . ெட ேக ைச (test case design) ஆன 3 பிரதான
ஆஃ ெரா க (approaches) உ ளன. ஒ பிளா பா அ ேபாரா ேச(black box approach) ,
ஹி ேட பா அ ேபாரா ேச(white box approach) ம ராய பா அ ேபாரா ேச (gray box
approach). பிளா பா அ ேபாரா ேச(black box approach) , ெபய வ ேபா , எ க
இ ைல, நா னி (unit)உைடய ேகாைட (code) பா க ேதைவயி ைல; நா , இ (input)
, (output) னி (unit)உைடய ெபஹவிேயா (behavior) பா க ; அதாவ ,
ெபசிபிேகஷ (specification) , ேதரிேல ெபசிபிேகஷ (detailed specification) , எ களிட
இ த னி (unit) இ , அ எ ன ெச கிற ? ெகா க ப ட,ஒ ேகா (code)? எ ன
ேகா (code) இ ?, எ ன ரிச (result)ைய ேரா (produce) ெச கிற . ம நா இ த
ஹி ேட பா ெட (white box testing) ெச யேவ , நா உ ைமயி ேகாைட(code)
பா க ேவ . சில ேகா எலிெம (code elements) ைய ப றி விவாதி க ப கி றன,
ெடஸிஸி (decision), க ஷ (condition) ம ேட ெம (statement) ம பலவ ைற
அ பைடயாக ெகா டதா எ பைத அ பைடயாக ெகா ட ெட ேக (test case)கைள
ைச (design)ெச ய ேகாைட(code) பா கிேறா .

54
றாவ ஒ சா ப பா ஆஃ ெரா ேச (gray box approach) ஆ , அ நா உநி
ைச ைய(unit design) பா கிேறா , நா ெட ேக (test case)கேளா வரலா . எனேவ, ஒ
பிளா பா (black box)யி , நா இ (input), (output),ெபஹவிேயா (behavior) பா
ெட ேக (test case) ெகா வர ேவ . ஹி ேட பா யி (white box) , ேகாைட(code)
பா கிேறா ம ெசௗ ேகாைட(source code) அ பைடயாக ெகா டா , நா க ெட
ேக (test case)கைள ைச (design) ெச கிேறா . ராய பா யி (gray box) , இ (input)
(output) ெபசிபிேகஷ (specification) இ ைல, ஹி ேட பா (white box), ஓ சாரி(sorry) ,
ேகா (code) ; நா அ த ைச (design)ைய பா , அைத அ பைடயாக ெகா , ெட
ேக (test case)கேளா வ கிேறா .

( ைல ைட : 06:14 ஐ பா க )

தலி , பிளா பா ஆஃ ெரா (black box approach) ைய பா கலா . பிளா பா


ஆஃ ெரா (black box approach)யி , உ ைமயி சா ேவ (software) , நா க க கி ற
னி (unit) ஒ பிளா பா (black box )ஆக க த ப கிற . ேகா (code) எ வா
எ த ப ள எ ப எ க ெதரியா ; நா எ இ (input) எ ன எ ப ,
அ ேரா (produce) ெச ஓ (output) எ ன எ ப நம ெதரி . எனேவ, இ
சா ேவ (software) ஒ பி ஷனா ெபசிபிேகஷ (functional specification) என
அைழ க ப கிற . எனேவ,ெட ேக (test case))கைள இ ேக ைச (design)
ெச ய ப ள , பி ஷனா ெபசிபிேகஷ (functional specification) பா ; நா
இ ேக ேகாைட(code) பா க ேதைவயி ைல. ேம , இ த காரண தி காக, பிளா பா
ெட (black box testing) ட பி ஷனா ெட (functional testing) என
அைழ க ப கிற ..

( ைல ைட : 07:01)

ஆனா , நா பிளா பா ெட ரா டஜி (black box testing strategies)ைய பா


,ஒ அ பைட ேக வி பதிலளி கலா . எ ன பிளா பா ெட (black box testing)
க னமாக உ ள ?இ ேட டா(input data) ெதரி ; தயாரி க ப ஓ ரிச (output
result)ைய நா க அறிேவா . எனேவ, இ ப றி எ ன க னமாக உ ள ? இ த பிளா பா
ெட (black box testing ) ப றிய க னமான, மிக க னமாக உ ள , ஏெனனி நைட ைற
சா ேவ (software)காக, ஒ னி (unit) கான ேகா (code) மிக ெபரியதாக இ ,

55
டா டா ெடாைம (data domain). எனேவ, ேட டா ெடாைம (data domain)யி அைன
எலிெம க (element)ட ெட (test) , மிக க னமாக இ ; அ ம ம லாம ,
அ எ ெகா , னி (unit) ெள பரேம ட (multiple parameter) எ கலா ,
ஒ ெவா பரேம ட (parameter) அத டா டா ைப (data space) ெகா ; ேம ,
நா பரிேசாதி ேபா , ஒ ெவா பரேம ட (parameter)வி எ க ப ட டா டா
வ க (data values) ம பரிசீலி க ேவ , ஆனா , ெவ ேவ பரேம ட (parameter)
களி ெவ ேவ கா பிேனஷ (combinations)கைள சரிபா க ேவ .

அைன பரேம ட (parameter)கைள எ ஒ வ (values) ேபாதா . ஒ


வ ேவ(value)வி ஒ ெவா பரேம ட (parameter) சரிபா க ேவ , பிற
வ ேக(value)க ம ற அைன பரேம ட (parameter) கைள க தி ெகா ேபா
எ னவாக இ . எனேவ, அ த கா பிேனஷ (combination) ஆன ; ப ேவ
வ ேக(value) க பரேம ட (parameter) கா பிேனஷ (combination) . எனேவ, இ த
க னமான ேரா ேல (problem) ; ஒ வ ேக(value) ைவ எ ெகா டா ட, ெட
ேக (test case) களி எ ணி ைக மிக அதிகமாக இ , பி ன நீ க வழ கமாக
ெள பரேம ட ைய(multiple parameter) கா சிெட (consider) ெச ய .

( ைல ைட : 09:00 ஐ பா க )

ேரா ேல (problem)ைய விரிவாக பா ேபா , உதாரணமாக; இ ஒ மிக எளிய ேகாைட(code)


ைய நா எ தி ேளா , இ 2 இ ேட (integers)ஐ அ ெம (arguments)
எ கிற . இ ேக எ க னி (unit) ஒ பி ஷ (function) ; பி ஷ (function) ெபய
ெச ஏ வா (check equal) ; 2 இ ேட (integer) ஐ பரேம ட (parameter) எ
எ ெகா ேவா , பி ன அைவ ஏ வா (equal) ஆக இ லாவி டா , ஜிய ெர
(return)ெச , அைவ ஏ வா (equal) இ தா , 1 ெர (return) ெச . மிக
ரிவி (trivial) பி ஷ (function) ம நா அைத ெட (test) ெச கிேறா . ஆனா நா
அைத எ சி (exclusive) ஆக ெட (test) ெச ய வி பினா , x ம yஇ அைன
வ ேக(value) கைள ெச ய மா எனி , எ தைன வ ேக(value)கைள நா க தி
ெகா ள ேவ ,xம y கான ெடாைம ைச (domain size)எ ன?. எனேவ, x கான
ெடாைம ைச (domain size) , ஒ 64 பி க ட (bit computer), x 2​64 ஆ ; இேதேபா , y
2​64 ​ஆ . இ த 2 ைச (size) க அைன ைத நா கல தாேலாசி க ேவ . 2​128 ஆன

56
இ த ேட டா வ ேக(data value) , 2​128 ஐ ெட (test) ெச தா , எ வள ேநர எ
எ பைத எ கள ஆ வ தி காக சரிபா கேபா . 10 வினா க எ தா , அ மிக ேவகமாக,
ஒ ெவா வ ேக(value) , பயி ஒ பி வ ேக(pair of value) , அைத அைன
வ (value)கைள உ ளிட பி லிய ஆ க எ .

ஆனா நீ க ெசா லலா , ஏ ஆ ேடாம க லி(automatically) இ த அைன


வ ேக(value)கைள உ வா க யா ம க ட (computer) ஐேஸ ேட(execute)
ெச ய அ மதி க ேவ . எனேவ, இ த அைன வ ேக(value)கைள உ வா க
நீ ட ேநர எ , ஏென றா ஒ ெவா எ (execution)யி வைரய க ப
ேநர ம நீ ட ேநர இய வைத நி ; இ ம ம லாம , அ தைகய
ஆ ேடாேம ெட (automatic testing) ஓ ேரா ேல (own problem) உ ள ;
ஏெனனி ரிச ேரா (result produce) ெச தா , அ சரியான எ பைத நா க
அறிேயா . எனேவ, நா க பி க ய ஒேர விஷய ஒ கிரா (crash).

எ ப யாயி , இ ேக நா உ ைமயி கா ட வி வ எ னெவ றா , பிளா பா


ெட (black box testing) ப றிய க னமான விஷய , ெபா ஸி ேள(possible) ேட டா ஐ ட
(data item)களி எ ணி ைக மிக அதிகமாக உ ள . எனேவ, ெட ேக (test case)
ைச (design)யி எ கள ேநா க ெட ேக களி (test case ) ஒ ெதா ைப
ைச (design) ெச வ தா , இ அைன வ ேக(value)கைள ெட (test)ெச ய
மிக பய ளதாக இ க ேவ , ஆனா நா ைற தப ச ெட ேக (test
case)கைளயாவ பய ப த ேவ .

( ைல ைட : 11:42)

எனேவ, எ ப ெச வ ? பிளா பா ெட (black box testing) கிய ேயாசைன, நா பல


பிளா ெட ெட னி (black box test technique) பா க ேவ , ஆனா இ த ெபா வான
ஒ விஷய , நா ெடாைம (domain) ஒ மாட (model)உ வா க; ேட டா ெடாைம (data
domain) மிக ெபரிய எ பதா , அைத எபகி ேவலி ெட (effectively test)ெச ய யா ,
ெடாைம (domain)ைய ம பா , சா தியமான அைன வ ேக(value) கைள
எ ெகா ளாம . நா ஒ மாட (model) ைய உ வா கி, பி ன இ த மாட (model)ைய,
ெடாைம மாடலா(domain model)க , இ த ெடாைம மாட (domain model) அ பைடயி
நா க அைழ கிேறா , இ த மாட (model)யிலி ெட ேட டா(test data)ைவ ேத

57
ெச கிேறா . எனேவ, இ ேக கிய ேயாசைன. இ ேபா , அைத அ பைடயாக ெகா ,
எ ப ெட ேக (test case)ைய ைச (design) ெச வ எ பைத பா கலா .

( ைல ேநர : 12:39)

இத ன , ஹி ேட ேபா ெட (white box testing)ைய ப றி ஒ அ பைட ேயாசைன


இ க . , நா க ஹி ேட ேபா ெட (white box testing) ேகாைட(code) பா கிேறா ,
அத அ பைடயிலான எ னெவ றா , சா ேவ (software) ப றிய இ ெட ன
கி ேற(internal structure) எ னெவ நம ெதரி , எனேவ ஹி ேட ேபா
ெட ((white box testing)) கி றா ெட (structural testing) என அைழ க ப கிற .

( ைல ைட : 13:02)

இ ேபா , பிளா பா ெட (black box testing)ைய பா ேபா , எ ப ெட ேக (test


case)கைள ைச (design) ெச வ ? பிளா பா (black box)ெட ேக (test case) கைள
ைச (design) ெச வத ேவ ப ட ரா டஜி (strategies) எ ன உ ளன ?

( ைல ைட : 13:14 ஐ பா க )

பிளா பா ெட (black box test) ேக (case) , நா க ெசா கிறப , நா இ (input)


ஓ (output)ெபஹவிேயா (behavior)ைய பா கிேறா . இ (input) அத ைடய
ெதாட ைடய ஓ (output) சி ட (system)எ னவாக இ எ நம ெதரி ;
நம அ ப றிய நாேல (knowledge)இ ைல; அ ஒ பிளா பா (black box)ைய ேபால
ேதா கிற ; எனேவ, இ இ (input) ஓ (output) ைர ெட (drive test) அ ல
ேட டா ைர ெட (data drive test) என அைழ க ப கிற . எனேவ, ெட ேக ைச (test
case design)யி எ கள ேகாஅ (goal) ைய தவைர ெட ேக ைச (test case design)
ெச ைமைய அைடய ேவ . த அளவி ைமயான இ ெட (input
testing) கி ைற த அள ெட ேக (test case)ஆவ இ க ேவ .

(படவி ைலேநர ைத பா க : 13:48)

பல பிளா பா ெட ெட நி (black box test strategies) உ ளன; ேசனைரேயா காேவர


(Scenario coverage), ஏ வா பா ஷனி (Equivalence partitioning), ெபஷ வ ேக
ெட (Special value testing), ெபௗ டரி வ ேக ெட (Boundary value testing),

58
காேச-எபிபி ெட (Cause-effect testing), கா பிேனஷனா ெட (Combinatorial testing)
ஆ ேதாகன ஆரா ெட (orthogonal array testing )ம பல. இ த
ெட நி (techniques) ைய பா கலா .

( ைல ைட : 14:19 ஐ பா க )

தலி , ), ஏ வா கிளா ெட (Equivalence class testing)பா கலா .

( ைல ைட : 14:26)

ஏ வா கிளா ெட (equivalence class testing) , நா ெடாைம (domain)யி ஒ


மாட (model)ைய உ வா க ேவ அைத ஏ வா பா ஷ (equivalence partitions) என
அைழ க ப . நா இ (input)ெடாைம (domain)ைய ஏ வா கிளா (equivalence
classes) ஆக பா ஷனி (partitions) ெச ேவா . ேயாசைன எ னெவ றா ,
பா ஷனி (partitions) ெச வ அ வள தா . எனேவ,ேட டா(data) , இ ேட டா (input
data), பல கிளா (class)களி எ ணி ைகைய வ , ஒ ெவா கிளா (class) க தி
ெகா டா நீ க எ த கிளா (class)லி வ ேக(value)ைய எ ெகா
,ரிச (result) வ கிளா (class) உைடய வ ேக(value)ைய ெபா இ .
எனேவ, ேரா ரா (program) ஏ வா கிளா (equivalence classes) ரிய ஒ ெவா இ
வ ேக(input value) இேதேபா ற ெபஹேவ (behave) ெச கிற .

நீ க க தி ெகா ேபா , ஏ வா கிளா (equivalence classes) )கைள நா க


உ வா கி ேளா ; எ த ஏ வா கிளா (equivalence classes) ) , அைன வ ேக(value)
க ம ற வ ேக(value)க ஏ வா (equal) ஆன தா , இத அ த , எ த ஒ
வ ேக(value)ட சா ேவ (software) கைள ெட (test) ெச பா ப , அ ந ல
கிளா (class) அைன ம றவ ேக (value)க ட ெட (test) ெச ய ப வ ேபாலேவ .
ஒ ேசனைரேயா(scenario ) அ பைடயாக ெகா ட ெட (test) நீ க ெச
ெகா கிறீ க எ றா , ேசனைரேயா பா ேப ெட (scenario based testing)
ெச வ மிக எளிதான . தக ெர (return) ெச வைத உதாரண
ெசா கிேற , ேசனரிேயா (scenario ) இ வாக இ கலா , தக ெவ றிகரமாக
ெர (return) ெச யப ட ; ம ெறா ேசனரிேயா யி (scenario), யாராவ தக ைத
ேரெச ேவ(reserve) ெச ைவ தி கிறா க , அதனா தக ைத ெர (return) ெபற

59
யவி ைல. எனேவ, அ யாவி டா , அ உ ைமயி ேவ விஷய , ேவ யாராவ
ேரெச ேவ(reserve) ெச ய ப தா அைத ெச ய யா . எனேவ, அ ஒ
ேசனைரேயா(scenario ) ஆ .

றாவ ேசனைரேயா(scenario), ெம ெப (member) உைடய ம ெப ஷி (membership)


காலாவதியாகிவி டா , ெரேன (renew) வலி ேபா , ம ப ஷி (membership)
காலாவதியாகிவி ட எ றினா ; நீ க தக ைத ெரேன (renew) ெச ய யா ;
தய ெச தக ெர (return) ெச ய . எனேவ, இ த ேசனைரேயா(scenario )யி
சரியாக நைட ைற ப த ப டதா? எனேவ, ஒ ேசனைரேயா(scenario ) அ பைடயிலான
ெட (testing) , ெர பீெரெம ெபசிபிேகஷ டா ெம (requirement specification
document) , ப ேவ ேசனைரேயா (scenario )வி ெசய பா க அத ப ேவ
பி ஷனாலி (functionality) ைய , ெபா வாக டா ெம (document) ெச கிற .
ம , ேசனைரேயா(scenario ) அ பைடயி ெட (testing) , நா ஒ ெவா
ேசனைரேயா(scenario )ைவ எ ேட(execute) ெச ய ெட ேக (test case)எ த
ேவ . எனேவ, ஏ வா பா ஷனி (equivalence partitioning)களி , ெவளி பைடயாக,
ஒ ெவா ேசனைரேயா(scenario )யி ேவ ஒ ஏ ல கிளா (equivalence classes )
இ . இ த ேசனைரேயா(scenario )கைள நா அறி தி தா , இ த னி (unit) கான
ெபசிபிேகஷ (specification) அறி தா , இத கான ேசனைரேயா(scenario ) எ ன ெதரி
எனி , ைற தப ச பல ஏ வல கிளா க (equivalence classes),ேம பல ஏ வல
கிளா (equivalence classes )க செசநாரீ ஓபி ஆபேரஷ (scenario of operation) , இ த
னி (unit) காக. நி சயமாக, இ ஏ வல கிளா (equivalence classes )க இ ;
நா அைவ ைற பா ேபா .

(SlideTime ஐ பா க : 17:56)

ஏ இவெள கிளா ெட (equivalence class testing ) ரிய மாதிரியான , இ


ெடாைம (input domain), நா ெவ ேவ ஏ இவெள கிளா (equivalence classes)களாக
பிரி கிேறா . எனேவ, இ த இ ெடாைம (input domain) ஆன 3 ஏ இவெள
கிளா (equivalence classes)களாக பிரி க ப கிற ம பிரதான மாதிரி எ ப , இ த
ஏ இவெள கிளா (equivalence classes) இ எ த ஒ வ ேக(value)
எ ெகா வதா , அேத கிளா (class)யி இ எ க ப ட எ த ேவ

60
வ ேக(value) சி ட (system) ைய ெட (test) ெச ய ேவ . எனேவ,
ஏ இவெள ெட (equivalence testing) , நா ஒ வ ேக(value) ம ேம
க கிேறா . எனேவ, இ த லாஜி (logic) பி னா உ ள அ ஸு (assumption)
எ னெவ றா , ஒ ைற எ த வ ேக(value) ேவ ைற உ ள வ ேக(value) ந ல
எ ? , இ அ ஸு (assumption) அ பைடயா , ஒ ைற ஒ பி ேற(features) ,
சா ேவ (software) இ த ெட ேட டா(test data)களி ஒ ைற ெகா ெசய ப கிற , அ
சில எலிெம (element) ெசய ப கிற ; ம அைன ம ற எலிெம (element)
ேரா ரா எலிெம (program element) அேத ெதா இய ; ஆைகயா , அ ஒ
ெவ றி உரிய எ பைத நா கவனி ேபா , அ எ லாவ றி ெவ றிகரமாக இ ;இ
ஒ பாலி (failure) எ றா ம ற அைனவ பாலி (failure) இ . இ ேக கிய
அ ஸு (assumption) , இ ேக எ த எலிெம (elements)அேத எ சிசி (exercising)
இ ேக அேத ேரா ரா எலிெம (program element) ேட டா(data) உ ள

( ைல ைட : 19:38)

இ ேபா , இ ேக க னமான ேரா ேல (problem) பா ேபா , ஏ இவெள


பா ஷனி (equivalence partitioning ) , ஒ னி (unit) ம அத இ (input) ஓ
(output)ேசகிரி (description) ெகா க ப டா , நா எ ப ஏ இவெள
கிளா (equivalence class)கைள ைச (design) ெச ய ேவ ? எனேவ, ஒ , நா
செசநாரீ (scenarios) அைடயாள கா ேபா ; நா இ ேட டா(input data)ைவ
ஆரா ேவா ; ெவ ேவ ேட டா(data) உ வா க ப ஓ (output)ைய நா
ஆரா ேவா ; அ த அ பைடயி , நா ஏ இவெள கிளா (equivalence class)க ைச
(design)ெச கிேறா . எனேவ, ஏ இவெள கிளா பா ஷனி (equivalence class
partitioning) எ ப ைச (design) ெச வ எ ப ப றி சில கிேடலி கைள (guidelines)
ெகா கலா .

( ைல ைட : 20:19)

ஒ , ஒ இ ேட டா(input data) றி பி ட ர ேக ஒ வ ேக( range of value) களி


ல றி பிட ப டா , அ ஜிய தி ேகா 1000 இைடயி ேலா அ ல ஏேதாெவா
இட தி எ , பி ன நம 1 வலீ (valid) ம 2 இ வாலி (invalid) ஏ இவெள
கிளா (equivalence classes) உ ளன. இ ஒ றி பி ட எ ணி ைகயிலான ெட

61
ேட டா(test data)ைவ றி பி கிற எ றா , 1 வலீ (valid) ம 1 இ வாலி
(invalid)ஏ இவெள கிளா (equivalence classes) உ ள . அ இ தா , இ (input)
ஒ லிய (Boolean), பி ன நா 1 வலீ (valid) ம 1 இ வாலி (invalid)ஏ இவெள
கிளா (equivalence classes) உ ள . உதாரணமாக, ஒ ெதாைலேபசி எ ணி கான ஏரிய
ேகாடா(area code)ன 10000 ம 90000 இைடேயயான மதி ஆ என நா ேவா .
எனேவ, ஏ இவெள கிளா (equivalence classes)க எ னவாக இ ? எனேவ, 3
ஏ இவெள கிளா (equivalence classes)க இ ; 2 இ வாலி (invalid) ; 10000
ைறவாக, 30000 அதிகமான, ம னி க , 90000 ம 10000 ம 90000
இைடயி ெச ப யான ஏ இவெள கிளா (equivalence classes). அேதேபா , நீ க
ப சஒ ட(password) 6 ேகர ட (character) ேவ . எனேவ, இ ேக , நா 1 ஏ இவெள
கிளா (equivalence classes)இ , இ 6 ைறவான ேகர ட (character) ம
ம ெறா ஏ இவெள கிளா (equivalence classes) இ 6 ேகர ட (character) ; றாவ
ஏ இவெள கிளா (equivalence classes), இ 6 ேம ப ட ேகர ட (character) .

( ைல ைட : 21:52)

இ ேபா , நா விவாதி தவ ைற அ பைடயாக ெகா சில எ கா ஏ இவெள


கிளா (equivalence class)கைள பா ேபா . பி ன , சில ரசி (practice )க
ெகா க ப டன, அதனா நீ க ரசி (practice )யி ைச (design) ஏ இவெள
கிளா (equivalence classes)இ க மா எ பைத ெட (test) ெச யலா ; ம ெட
(testing) கீ னி (unit) ெபா அ ைச (design) ஏ இவெள கிளா (equivalence
classes)மிக சவாலான இ க . னி (unit) ெபா . ஆர பி க எ க
ேதா றமளி கலா , மிக எளிய ேரா ேல (problem)பா ேபா . எம னி (unit) அ ல
(function), 3 இ ேட (integer) எ அ , ஒ ேகாண தி 3 ப க கைள
றி கிற . இ ேபா , எ க (function) தா ேகாண தி வைகைய எ கிற ,
அ ஐேஸா ெல (isosceles), காலீ (scalene) ம ஏ யிேலற (equilateral)
இ தா .

எனேவ, நா எ திய எம (function) , 3 இ ேட (integer) எ , பி ன பிரி


அ (print out) அ ல பிேல(display). ேகாண தி வைக எ னெவ றா , அ

62
ஐேஸா ெல (isosceles), காலீ (scalene) ம ஏ யிேலற (equilateral), ஒ
ேகாண அ ல. எனேவ, எ ப ெட ேக ைச (test case design) ெச ய ேவ ?

( ைல ைட : 23:21 ஐ பா க )

தலி நா ஒ ேசனைரேயா காேவர (scenario coverage) ெச யலா . இ ேக பா கிேற ,


இைவ ஆபேரஷ (operation)யி ெவ ேவ ேசனைரேயா(scenario) ஆ . ஒ
ேசனைரேயா(scenario) , அ ஐேசா ச கைள (isosceles

)எ கிற ; ம ெறா ேசனைரேயா(scenario) , காலீ (scalene); றாவ


ேசனைரேயா(scenario) , ஏ யிேலற (equilateral) ; நா காவ ேசனைரேயா(scenario) , ஒ
ேகாண அ ல.நம ெட ேட டா(test data) , ம னி க , ஏ இவெள
கிளா (equivalence classes) , ெதட ைடய ஐேசா ச க (isosceles) ,
காலீ (scalene);,ஏ யிேலற (equilateral), ேகாண அ ல ஏென றா ெவ ேவ
ேரா ரா எலிெம (program elements) எ ேட(execute) ெச கிற .இ க
பி ஷ (function) 3, ஐேசா ச க (isosceles) , காலீ (scalene), அ ல
ப க கைள அறிவி கிற . எனேவ, நா இ ேக 1 வ ேக(value) , இ ேக இ 1
வ ேக(value) , இ ேக இ 1 எ . எனேவ, இைவ, நம ஏ இவெள
கிளா (equivalence classes) கைள ெகா ேபா , நம அ த வ ேக (value)
உ ளன.

( ைல ைட : 24:29)

எனேவ, இ கிய க எ னெவ றா ,ஏ இவெள கிளா (equivalence classes)


த நிைல, நா க ைச (design) ெச கி ற 2 ெச வ ேக(value)க உ ளன;
ஏ இவெள கிளா (equivalence classes)களி 2 ெச ; இ ேக 2 சஏ இவெள
கிளா (equivalence classes), 2 அைம கிற ,வலீ (valid) ஏ இவெள கிளா (equivalence
classes) ம இ வாலி (invalid) ஏ இவெள கிளா (equivalence classes).

( ைல ைட : 25:10 ஐ பா க )

63
தலாவதாக, இ ேக 2,வலீ (valid) ,இைவ (invalid) ; ம , ஒ ெவா றி , நா க
ைச (design)ெச ேளா , ேம ஏ இவெள கிளா (equivalence
classes)ெச கிேறா . எனேவ, இைவ வலீ (valid) ஏ இவெள கிளா (equivalence
classes)ெதா பா , இைவ இ வாலி (invalid) ஏ இவெள கிளா (equivalence
classes)பி ன நா ஏ இவெள பா ஷனி (equivalence partitioning )கைள
ெச ேளா , நா அைன வலீ (valid) ஏ இவெள கிளா (equivalence classes) ம
அைன இ வாலி (invalid) ஏ இவெள கிளா (equivalence classes)
க பி க ப ட ; நா ஒ ெவா றிலி ஒ வ ேக (value) ேத ெத ,
ெர ேடா (random) ஆக எ களி ஏ இவெள கிளா (equivalence classes) ெட
தி ேட(test suite) உ வா ேவா .எனேவ, இ ேக நி த ேவ ,அ த க ட தி இ த
ளியி இ ெதாட . ந றி.

64
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-06 – Equivalence and Boundary Value testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர - 06 ஏ இவெள ம ெபௗ டரி வ ேக ெட

இ த அம வரேவ கிேறா , நா ஏ இவெள கிளா பா ஷ ( Equivalence


Class Partition ) ம ெபௗ டரி வ ேக ( Boundary Value) ெட ேக (Test Cases.)க ப றி
விவாதி ேபா .

( ைல ைட : 00:29)

இ த பிளா பா ெட (black box testing)ப றி றலா , பிளா பா ெட (black box


testing) ரா டஜி (strategies ) உ ள இர மிக பிரபலமான ரா டஜி (strategies )
ஏ இவெள கிளா பா ஷ ( Equivalence Class Partition ) ம ெபௗ டரி வ ேக (
Boundary Value)ெட (testing) எ பனவா .இ த ைவ பா த பிற ம ற பிளா பா
(black box testing) ெட ரா டஜி (strategies ) பா ேபா .

( ைல ைட : 00:50)

நா ெசா வ , ஏ இவெள பா ஷ ( Equivalence Partition ) உ ள கிய


ேரா ேல (problem) ஏ இவெள கிளா ( Equivalence class) ைச (design)ெச வதா ,

65
ம ஒ ைற ஏ இவெள கிளா ( Equivalence class) ைச (design) ெச ேளா ,
இ ஒ டைர ேபா ேவ (straight forward) ஒ ெவா ஏ இவெள கிளா ( Equivalence
class) யிலி ஒ வ ேக(value) ேத ெச ய ப கிற ஏ இவெள கிளா க (
Equivalence class) எ த ெபௗ டரி இ பதாக க தி ெகா ள . நா ஏ இவெள
கிளா ( Equivalence class) ைச (design) ெச ய ேவ ய எ த ஒ னி (unit)
ெகா கிேறா எ ெசா கிறீ க , ைற தப ச இர -ஒ இ வாலி (invalid) ெச
வ ேக(set value) ம ம ற ,வலீ (valid)ெச வ ேக (set value)ம ஒ ெவா
ெபா வாக ேவ ப ட ெச ஓபி ஏ இவெள கிளா ( set of Equivalence class)ஆ .

( ைல ைட : 01:43)

எனேவ, நா ஒ ெவா ைற அைடயாள காண ேவ , வலீ ஏ இவெள கிளா (


valid Equivalence class )ம இ வாலி ஏ இவெள கிளா ( invalid Equivalence
class). ம ஒ ெவா றி , ஏ இவெள கிளா ( Equivalence class)வலீ (valid)
ம இ வாலி (invalid) ஏ இவெள கிளா ( Equivalence class)கைள அைடயாள
க ளன, நா ஒ வ ேக ேத ெத க ேவ ,அ எ க ஏ இவெள கிளா
( Equivalence class) ெட (test) கைள உ வா கிற .

( ைல ைட : 02:09 ஐ பா க )

ஒ மிக எளிய உதாரண ெகா ஆர பி க ப கிற ; நா ேப ெசா ன ேபால ெட


ேக ைச (test case design) ெச வ மிக சவாலாக இ கலா ; நா ஒ மிக எளிய
சவா ெதாட கி பி ன நா இ அதிக சவா கைள பா கலா . எனேவ நா ஒ
எளியவ ைற எ , நா ஒ (function) ைய ெபசிபிய (specify)ெச ஒ
வ ேக(value) எ எ 1 ம 5000 இைடயி ம ரிச (result) கா கிற .
இ ேக ஒேர ஒ ேசனைரேயா (scenario) இ கிற எ நா க ேவா ; நா அ ஒ
வ ேக(value) எ எ ெசா லலா ;இைடயி 1 த 5000 வைர அ
ஈெவ (even) அ ல ஒ (odd) எ பைத சரிபா கிற .

பி ன நா 1 ஏ வாள கிளா (equivalence class) ெகா , இ வலீ


கிளா க (valid class), இர இ வாலி கிளா க (invalid class), அ 1 ைறவாக
5000 அதிகமாக உ ள . இர வலீ ஏ வாள கிளா (valid equivalence

66
class) ெகா ; ஒ அ ஒ (odd )எ ேனா அ ஈெவ (even) எ ேனா
எ ப .

( ைல ைட : 03:26)

இ வ ேக (input value) எ ப ஏ வாள கிளா (equivalence class)களி


ெதா பாக இ தா , நா 1 வலீ (valid)ஏ வாள கிளா (equivalence class) ம 1
இ வாலி (invalid) ஏ வாள கிளா (equivalence class), அ எ(a),பி(b),சி(c) அ ல இ
எ(a),பி(b),சி(c) .

( ைல ைட : 03:51)

இ ஒ ரிவ (trivial) எ கா , 1 த 5000 வைர ம அ ஸஃவேர (square


root)யிைன உ வா கிற , எனேவ இத கான ஏ வாள கிளா (equivalence
class)கைள நா க க ேவா ; 1 வலீ (valid)யா ம 2 இ வாலி (invalid) எ களி
ெதா பாக இ தா , நம 1 வலீ (valid) யா ம 1 இ வாலி (invalid).

( ைல ைட : 04:21 ஐ பா க )

இ ேபா நா ஒ னி (unit)ைய (function) ஆக ெகா ேளா , ம தக


இ ேக(issue) ெச (function) ம அ தக ஐ (ID)ைய ஒ பரேம ட
(parameter)ஆக எ . எனேவ நா ஏ வாள கிளா (equivalence class)
ைச (design) ெச யேவ , நா இ த பி ஷனா ேசகிரி (functional description)
பா க ம எ ன செசநாரீ ஒ பி ஆபேரஷ (scenarios of operation) எ பா க
ேவ . (output) ைய கவனி பத ல ெசநாரீ ஒ பி ஆபேரஷ (scenarios of
operation) அைடயாள காண படலா .

ஆைகயா , ெசநாரீ ஒ பி ஆபேரஷ (scenarios of operation) , அவ றி தக க


இ ஸ அ (issue out) , இ ஸ அ (issue out) ெச ய யாத தக க , இைவ
ெரெபெர (reference) தக க ம அ த தக க இ ேக அ (issue out)
ெச ய . அ இ ஸ அ (issue out) ஒ ைற ெவா ேம(volume) அ ல பல
ெவா ேம(volume) களாக இ க ம அைவ எைவ ஏ இவெள
கிளா (equivalence class) ெதா . ெரெபெர (reference) தக , பல ெவா ேம(volume)

67
ம ஒ ைற ெவா ேம(volume) இ எ க ஏ இவெள கிளா (equivalence class)
களாக உ ளன..

(SlideTime ஐ பா க : 05:37)

இ ேபா ம ெறா எ கா பா கலா . நம ஒ ( function உ ள ), (


function) இ ெபய பி -இேம ( Fetch-image). இ ஒ URL ஐ எ ெகா ஒ பட ைத
ெகா கிற . எனேவ இ த கிளா (class) ஏ வாள கிளா (equivalence class)க
எ னவாக இ ? பி -இேம ( Fetch-image) URL ஐ எ ம ஒ பட ைத
ெகா கிற - இ த விஷய தி , நா பல வைரயைற ஏ வாள (equivalence)
ெகா உ ளன . எனேவ நா அைனவ க தி ெகா ள ேவ . உதாரணமாக, ஒ
இ க ஏ வாள கிளா (equivalence class) , URL "http", "https", "ftp",
"ைபைல(file) ", தலியன அ பைடயி இ த அைன வலீ (valid) URL பிரி க ஆ .
பி ன நா அவ றி ஒ ெவா ைற இ (input) ஏ வாள கிளா (equivalence
class) ெகா க ேவ என க தி ெகா ள ேவ .

இேதேபா , URL இ ேசமி க ப வ ேக(value) ெவ ேவ வைகயான பட கைள கா டலா .


எ கா டாக, HTML, GIF, JPEG, தலியன, பிைள ெட (plain text) , இ எ க
பட க . எனேவ, இ த பட கைள , பட களி வைககைள இ ைகயா மா ? சில
ேட டா(data) உ ப நா பல வைகயான ஏ வாள கிளா (equivalence class)கைள
உ வா கலா . எனேவ இ சில ேட டா(data) ெபா க சி கலான .

(படவி ைலேநர ைத பா க : 07:17)

ம ெறா உதாரண ைத கவனி கலா . நா ெசா ல, இ (input) ஒ எ ஒ எ 99


ம கழி 99 இைடேய ெசா கிேற . எனேவ, வலீ ஏ இவெள (valid equivalence)
ம இ வாலி ஏ இவெள கிளா (invalid equivalence class)க எ ன? பதி மிக
எளிதான , அ கழி 99 ம 99 இைடயி இ , இ ேக எ த மதி 99 ேம
வலீ ஏ இவெள (valid equivalence) ம 99 ைறவான ம ெறா இ வாலி
ஏ இவெள கிளா (invalid equivalence class) . இர இ வாலி ஏ இவெள
கிளா ((invalid equivalence class) ம ஒ - -ஒ (one-in-one) வலீ ஏ இவெள
கிளா (valid equivalence class) இ . இ ேபா , ஒ ெதாைலேபசி எ எ னெவ றா

68
ப தி ேகா (code) ம ஒ பி (suffix) வழ க ப கிற . ப தி ேகா (code) 11 த 999
வைர, ம பி (suffix) எ த 6 ஜி க (digit). எனேவ, இவளி ஏ இவெள
கிளா (invalid equivalence class) எ னவாக இ ? பி ன இவளி ஏ இவெள
கிளா களி (invalid equivalence class) ெதா எ ன? ஏெனனி இ த ெவ ேவ வைகயான
இ வாலி ஏ இவெள கிளா (invalid equivalence class )க உ ளன.

( ைல ைட : 08:37)

எனேவ, வலீ ஏ இவெள கிளா (valid equivalence class) இ இ ேபா ,


பிேரபி (prefix) இைடயி 11 த 999 வைர இ ம பி (suffix) 0000 த 99999
ஆ . ம ,இ வாலி ஏ இவெள கிளா (invalid equivalence class) க ெவ ேவ
வைககளாக இ கலா . எ கா டாக, பிேரபி (prefix) இ வாலி ேபா ம (invalid
format)இ க ேவ , பி (suffix) கான இ வாலி ேபா ம (invalid format) , ஏரியா
ேகா (area code) கான எ ேக (characters) ம பல. நா உ ைமயி இ வாலி
ஏ இவெள கிளா (invalid equivalence class) களி ெவ ேவ வைககைள வைரய க
ேவ ..

(இ ேபா ைல ைட : 09:27)

ஆனா , இ ேபா நா கவனி க ேவ ய ஒ , னி (unit) பல ேட டா வ ேக(data


value)க எ ேபா , ஒ டா டா வ ேக(data value) எ வ ,
க சிடேரஷ (considerations) ெபா சி கலான .இ ேவ ப ட ஏ வாள
கிளா (equivalence class) , ேவ ப ட க சிடேரஷ (considerations) ெபா .
எ கா URL ஐ http, https, ftp அ ல ைபைல(file) ைன றி பி ளதா எ பைத
ெபா , ஏ வாள கிளா (equivalence class) , களி பல க க இ பதாக
நா க றி ேளா . இேதேபா , URL இ ேசமி க ப ள பட JPEG படமா அ ல ஒ PNG
படமா அ ல அ ஒ ெட (text) ேப படேமா அ ல அத ேக றதா எ பைத ெபா ,
அேத இ (input) வ ேக(value) கான ம ெறா ெதா ஏ வாள
கிளா (equivalence class) , வைரய கலா .

இ ெபா , ஒ (function) அ ல (two)பரேம ட க (parameter) எ


னி (unit) ெகா ேபா சி கலான எ கிற . ெசா ல ேபானா , இர

69
பரேம ட (parameter) வய ம க வி ஆ க எ ஒ (function)
நம உ ள . எனேவ, க வியி ஆ க , நா இ த பரேம ட (parameter)
ஏ வாள கிளா (equivalence class)இ பைத அைடயாள கா ேவா ; க வி
ஆ களி ப ளி, ஜி(UG), பி.ஜி(PG) அ ல ஏேதா ப ளி ட இ ைல பி.ஜி(PG) இ ைல இ
ஒ உ ள . எனேவ, அவ ப ளியி த தி வா த ஜி(UG), அ ல பி.ஜி(PG) த தி
உ ளதா எ பைத கா பி ப , ம ற ஆ ஸி(axis) 5 த 30 வைரயிலான வய ைடயவராக
இ பவ , அ த நப 5 த 30 வய வைர அ ல 30 அதிகமானவராக இ பாரா
எ பைத கா கிற . இ த இர பரேம ட க (parameter) ெவ ேவ ஏ வாள
கிளா (equivalence class) .

இ ேபா நா இ ேபா விவாதி க ய சி ேரா ேல (problem) எ னெவ றா , இ த இ


ஏ வாள கிளா (equivalence class) எ வா இைண ப ? ஒ எளிய விஷய , இ த
விஷய தி கான ெவ ெட (weakest testing) , ெவசா ஏ இவெள கிளா
ெட (weak equivalence class testing) , என அைழ க ப கிற , நா ெட (test)
ெச கிேறா , நா ெட கிளா க (test class) ஒ ைற உ வா கிேறா , ஒ
கிளா (class) கான அைன கிளா (class)க ம ற பரேம ட (parameter) ஒேர
மாதிரியாக , எனேவ, 30 ம 5 த 30 வைர கவ ெச ய ப (covered), அேதேபா
ஜி(UG), பி.ஜி(PG) ம ப ளி ேகாேவெற (covered). இ ெவசா ஏ இவெள கிளா
ெட (weak equivalence class testing) என அைழ க ப கிற .

( ைல ைட : 12:25 ஐ பா க )

ேரா ஏ இவெள கிளா ெட (Strong Equivalence Class Testing) ைச (design)


ெச ேவா . நா க ைச (design) ெச யலா ேரா ஏ இவெள கிளா
ெட (Strong Equivalence Class Testing) நா இ இர பரேம ட (parameter)
அைன ைத ேச கலா ; 5 த 30 வைர ப ளி, 30 அதிகமான பாடசாைல, 5 த 30
வய ேம UG, 5 த 30, 30 அதிகமான PG, 30 அதிகமான மாணவ க . இ த
ேரா ஏ இவெள கிளா ெட (Strong Equivalence Class Testing) , இதி
பரேம ட (parameter) ஏ இவெள கிளா (Equivalence Class )அைன சா தியமான
கா பிேனஷனா (combinations) என நா க கிேறா .

70
( ைல ைட : 13:00 பா க )

இேதேபா , நா ேரா ேராப ஏ இவெள கிளா ெட ( Strong Robust Equivalence


Class Testing) ெபறலா . எ ேக, இ வாலி வ ேக(invalid value) எ நா க க கிேறா ,
ப ளி 5 5 ைறவாக இ ப ளி த 5 த 30 வைரயி . எனேவ, இ ேக
இ ெனா வ இ பா ,இ (input) அைன சா தியமான கா பிேனஷனா (combinations)
இ வாலி (invalid) ட இைத நா என ேரா ேராப ஏ இவெள கிளா ெட (
Strong Robust Equivalence Class Testing) என அைழ கிேறா

( ைல ைட : 13:42)

இ ேபா சில ேரா ேல (problem) கைள ெச ய ய சி ெச யலா . தலி ஒ எளிய


ேரா ேல (problem) இ ேபா இர அ ல ேரா ேல (problem)க ேவ .
தலாவ எளிைமயான , ேரா ேல டேடேம (problem statement) யி ல ப ேபா .
எ த ப ஒ பி ஷனா(function) ஒ னி (unit) கான ஏ இவெள
கிளா ெட ேக (Equivalence class test cases ) ைய ைச (design) ெச ய ேவ .

பி ஷ (function) பி வ வா ெசய ப கிற ; ெடபாசி (deposit ) ெதாைகயிைன


ெபா ஒ ெடபாசி (deposit ) ெதாைகயி வ விகித ெவ ேவறாக உ ள . எனேவ,
இ த பரேம ட (function parameter)ைவ ெடபாசி (deposit ) கால ம ஓ
ெடபாசி (output deposit ) வீத இ . எனேவ, 15 நா க வைர ெடபாசி (deposit )
ெதாைகைய 3 சதவிகிதமாக , 15 சதவிகித தி 180 ைறவாக , 180 நா க
1ஆ ெடபாசி (deposit ) 6 சதவிகித தி ,1ஆ 7 சதவிகித தி ,3
ஆ க ைறவான ெடபாசி (deposit ) 8 சதவிகித ெடபாசி (deposit ) 3
சதவிகித ஆ க ம அத ேம . எனேவ, ஏ இவெள கிளா களி (equivalence
classes)ெதா எ னவாக இ ?

இ ேபா , வலீ ஏ இவெள கிளா (valid equivalence classes)களி ெதா ைப நா


பா கலா . நி சயமாக இ வாலிேட ேகா (invalid course) , 0 நா க ைறவானதாக
ெநக (negative) இ , யாேரா ஒ வ ைழ சா ேவ (software) எ ன ெச வா ? .
இேதேபா , இ ேக ம ற ப க ேமேல , வல ற தி ஏ இவெள கிளா (equivalence
classes) இ ைல, இட ப க0 ைறவாக , பி ன ஒ ெவா ஒ ேசனைரேயா(scenario)

71
வா , எனேவ ஒ ெவா ஒ ஏ இவெள கிளா (equivalence classes) மா . எனேவ, 0
த 15 நா க , 15 த 180 நா க , 180 த 1ஆ ம 1வ ட ,3ஆ க
ைறவாக, 3 ஆ க ம அத ேம . ஒ ெவா ேசனைரேயா(scenario) ம
ஒ ெவா ேநராக ேனா கி ஏ இவெள கிளா (equivalence classes) மா .

( ைல ைட : 16:12 ஐ பா க )

இ ேபா , அ த ேரா ேல (problem) ைய பா ேபா . இேத ேரா ேல (problem)


ஏ இவெள கிளா (equivalence class) ைச ெச வ .இைத ேபா ற ஒ
ேரா ேல (problem) ஆனா ஒ சிறிய சா (change) . (function)மீ ெச த
இ ேடேற (interest) கா கிற , ஆனா இ ேக இர பரேம ட (parameter)க உ ளன;
ஒ பிரி சிபா (principal) , ம ெறா ெடபாசி (deposit) கால ஆ .ெடபாசி 1
ல ச தி ைறவாக இ தா , வ விகித 6 சதவிகித , 7 சதவீத ம 8 சதவிகித ;
1 வ ட , 1 வ ட , 3 வ ட க ைறவாக. எளிய உதாரண ஏ இவெள கிளா
(equivalence class) ம எ வா ைச (design) ெச வ எ பைத நா க கவனி ேதா ,
ஆனா அ உ ைமயி சவாலானதாக இ என நா க கிேறா . இ ேபா நா பா த
சிறிய ேரா ேல (problem) அைத பா , அைத ெச ய மா எ பைத பா ேபா .
எனேவ, அ த வினா வினா 2, நா க பா த சிறிய ேரா ேல (problem) . இ ேக, னி (unit)
அ ல (function) இர பரேம ட (parameter) க எ கிற ; ஒ
பிரி சிபா (principal) ம ம ற ெடபாசி (deposit) ெதாைக ெச ய ப கால . 1
ல ச தி ைறவான தலீ டாள , 1 வ ட வைர ெடபாசி (deposit) 6 சதவிகித வ
ெச த பட ேவ ,1ஆ ேம ெடபாசி (deposit) 7 சதவிகித வ ெச த பட
ேவ ,3ஆ க ைறவான வ 8 சதவிகித வ ெச த பட ேவ .ஒ
ல ச தி ேம ப ட ெடபாசி (deposit) ெதாைகக 1 ல ச தி அதிகமான வ
விகித 1 வ ட வைர ெடபாசி (deposit) 7 சதவீதமாக , 1 ஆ 8
சதவீத தி , 3 ஆ க ைறவாக , 3 சதவீத தி ைறவாக 9
சதவீதமாக உ ள . ேமேல. நா இைத எ ப ெச வ ?

நீ க (function)இர பரேம ட (parameter) க எ எ கவனி க


. எனேவ, நா ெவசா ஏ இவெள கிளா ெட (weak equivalence class test) ,
ேரா ஏ இவெள கிளா ெட (strong equivalence class test)அ ல ேராப (

72
robust ) ம ேரா ஏ இவெள கிளா ெட (strong equivalence class test)
ெச கிேறாமா எ பைத ஏ இவெள கிளா ெட ( equivalence class tests)ெபா
இ . நா ம ெச ய ேவ எனி அ ல நா ெவசா ஏ இவெள கிளா
ெட (weak equivalence class test)ெச ய வி பினா ம ேம, இ த பிரி சிபா (principal) 1
ல ச ம 2 ல ச க விகைள க தி ெகா ேவா , பி ன இ த இர செசநாரீ (
scenarios)1 த 3ஆ ம 3ஆ க ம ேமேல.

( ைல ேநர ைத கவனி க : 19:32)

இர பரேம ட (parameter) க பா தா , ஒ பிரி சிபா (principal) , ம ெறா


ெடபாசி (deposit) ெதாைக. நா இர ஏ இவெள கிளா (equivalence classes)
கியமாக பிரி சிபா (principal) காணலா ; 1 இல ச தி ைறவானவ க
ம ெறா 1 இல ச தி அதிகமாக உ ள . ம ெடபாசி (deposit) கால தி நா
1ஏ இவெள (equivalence) , 1 த 3 ஆ ம 3 ஆ ம அத ேம
இ ஏ இவெள கிளா (equivalence classes) பிரி சிபா (principal) காணலா .
ஒ ெவசா ஏ இவெள கிளா ெட (weak equivalence classes) எ றா ,
பிரி சிபா (principal) 1 த 1 ல ச தி ைறவான ெதாைகைய 1 வ ட தி ைறவாக
ைவ ேபா , 1 த 3 ல ச தி அதிகமான ெடபாசி (deposit) ெதாைககைள 1 த 3 வைர
ைவ ேபா . 3 ேம ப ட ம 1 பிரி சிபா (principal) இல ச ேமலான ம
கால 3 ஆ க ேமலா . நா ேரா ஏ இவெள கிளா ெட (strong
equivalence classes) ெச ய வி பினா , இைவ அைன ைத நா பரிசீலி க ேவ .
பிரி சிபா (principal) 1 ல ச தி அதிகமான ெடபாசி ெதாைக 1 ல ச தி
ைறவாக , பிரி சிபா (principal) 1 ல ச தி அதிகமான ெடபாசி (deposit) ெதாைக
ம ஒ வ ட தி ைறவான ெதாைகயா . 1 ல ச தி ைறவான ைவ ம 1
த 3 ஆ க இைட ப ட கால தி தலீ ெச ய ப கிற . ஆனா இைவ
மதி க ெச ப யா . எனேவ இ த ேரா ஏ இவெள ெட (strong equivalence
classes testing) , ஆனா எ ன ேரா ெட நி ப றி, ேரா ஏ இவெள
கிளா ெட (strong equivalence classes) நா இவளி இ (invalid input) க தி
ெகா ள ேவ . இ வலிேட இ (invalid input)ெடபாசி (deposit) ெதாைக
ெநக (negative) காலமாக இ கலா ; அ ஒ நா இ ேட வ ேக (integer value)

73
ம பல இ க . பி ன அ த கா பிேனஷ (combinations) நா பரிசீலி க
ேவ , பிரி சிபா (principal) ம ெடபாசி (deposit) ெதாைக கான
பிரி சிபா (principal) ம ெநக வ ேக(negative value) ெடபாசி (deposit) கால ம
ெநக வ ேக(negative value) ஒ ெநக பிரி சிபா (negative principal) ன 1வ ட
ம அத அ ததாக இ . இேதேபா , ஒ நா இ ேட வ ேக(integer value) ;
எனேவ, இர பரேம ட (parameter) க எளிய விஷய தி ேரா ஏ இவெள கிளா
ெட (strong equivalence classes test) இ , ஆனா நா மிக சி கலான
எ கா க இ க .

( ைல ைட : 22:50 ஐ பா க )

இ ேபா , ம ெறா எ கா பா க . இ 2 ரி (string)கைள எ ஒ


(function) ஆனா ைச (design) ெச ய ப ட ஏ இவெள கிளா ெட
(Equivalence Class Test)ஆ . அதிகப ச நீளமான ரி (string) இ த இர
பரேம ட (parameter)க 20 ம 5 ஆக இ , பி ன இர டாவ பரேம ட (parameter)
த பரேம ட (parameter)வி ைண ரி (string) ஆக உ ளதா எ பைத சரிபா கிற .
எனேவ, s2 எ ப s1 இ ச - ரி (sub-string) ஆ , (function) ெபய substr-sub
string ஆ , அ s1 ம s2 ஐ இர பரேம ட (parameter)களாக பா கிற ம
சரிபா க ேவ ம s2 எ ப s1 இ ச (sub)வைக ஆ எ பைத சரிபா கிற .

இ ஏ இவெள கிளா (Equivalence Class ) எ னவாக இ ? ஒ நா


ேசனைரேயா(scenarios)கைள பா க ேவ எ நா ெச ய ேவ ய எ ப த
விஷய ம ேசனைரேயா(scenarios)யி s2 எ ப ஒ s1 இ ைண ரி (string) ஆக
உ ள , எனேவ அ ஒ ச – ரி (sub-string) எ கா பி க ப . ம ற
ேசனைரேயா(scenarios)யி s2 ரி s1 ஒ ைண ரி (string) அ ல, அ
கா பிகிற ஒ ைண ரி (string) அ ல. அ பல ேசனைரேயா(scenarios)க கா ட
ேவ எ றா , நா அ த ஒ ேசனைரேயா(scenarios)யி எ ேவ , ஆனா அ
பிர சைன( ேரா ேல ) எ ெசா லவி ைல எ ெசா ல யா . பி ன அ த விஷய
வலீ (valid) ம இ வாலி (invalid) ப றி வ கிற .

( ைல ைட : 24:48 ஐ பா க )

74
த பரேம ட (parameter) s1, இர இ வாலி ஏ இவெள கிளா (invalid
equivalence classes) உ ளன; ஒ 20 அதிகமான , பி ன இ வாலி ேகர ட(invalid
character) ஒ க ேரா ேகர டராக(control character) இ கலா . இர டாவதாக
இ வாலி இ வாலி ஏ இவெள கிளா (invalid equivalence classes) . ஒ 5
ேம ப ட , ம ெறா ஒ க ேரா ேகர ட (control character) அ ல ஒ
ேகர ட (character) அ ல. இ த கா பிேனஷ (combination) ைய நா க தி ெகா ள
ேவ ம எ களி ஏ இவெள கிளா (equivalence classes) ெட ேட(test
suite) தயா ெச ய ேவ . எனேவ, இ த ெவசா ஏ இவெள (weak equivalence) ,
ேரா ஏ இவெள (strong equivalence )ம ேராப ெட (robust test) நீ க
இைத ெச ப ேக ெகா ேவா .

( ைல ைட : 25:31 ஐ பா க )

இ ேபா , ெபஷ வ ேக ெட (special value testing)ைய பா கலா . ஏ இவெள


ெட (equivalence testing)களி நா இ ேட டா(input data) ைவ பா கிேறா ,
ேட டா(output data)ைவ பா கிேறா , நா செசநாரீ (scenarios )கைள பா கிேறா ,
பி ன நா ஏ இவெள கிளா (equivalence classes)கைள க பி க ய சி
ெச கிேறா . பல பரேம ட (parameter) க இ தா , நா ஏ இவெள கிளா (equivalence
classes)களி கா பிேனஷ (combination) பா க ேவ . உ ைமயான ெட ேக
ைச (test case design) ெச வ எளிதான எ நா ெச த பிற , ஒ ெவா வரிடமி
ஒ வ ேக(value) நா க ேத ெச கிேறா . ஏ இவெள கிளா ெட (equivalence
classes test) பி னா உ ள க எ னெவ றா , ஒ கிளா (class)உைடய
இ (input) அேத ஏ இவெள கிளா (equivalence classes)கான எ த இ (input)
ஒ பி ேபா இேதேபா ெசய ப த ப கிற . ஆனா எ பிஎரிெய ெச (experienced)
ேராகிராம (programmers)க ஒ ேரா ரா பாயி (fail) ற சில ெபஷ
வ ேக(value) கைள அவ க அறி தி கிறா க .

எனேவ, அ பாயி (fail)யைட ெபஷ வ ேக(special value)க எ ன எ பைத பா ேபா ,


ஒ ெபஷ வ ேக(special value) ஒ ெபௗ டரி (boundary) க ேவா , ம ற ெபஷ
வ ேக(special value)க உ ளன, இதி ெட ட (testers) ச ேதக வ த
ேரா ராம (programmer) அ த நிைலைமகைள க தவி ைல எ . அைவ ெபஷ

75
வ ேக(special value)க ஆ . ஒ ெட ட (testers)களா ேரா ரா (program)
பாயி (fail)யைட அ த வ ேக(value)கைள ம ேம ைழ இட தி ெதரி
ெகா வத ஒ ெட (test) ைய நா ெச ெகா கிேறா எ கிேறா . எனேவ
அ த ெபஷ வ ேக(special value) நா ந கிேரா இ க ேராகிராம (programmer)
மி ேக(mistake) ெச தா எ றா அ ஒ ெபஷ வ ேக ெட (special value testing )
எனப . இ ேபா இ த அம கைள நா க நி ேவா ம அ த அம களி
ெபஷ வ ேக (ெட special value testing ) ெதாட . ந றி.

76
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-07 – Special Value Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர - 07 ெபஷ வ ேக ெட

இ த அம வரேவ கிேறா . இ வைர ெட (testing) ப ட சில அ பைட


க கைள பா ேதா , பி ன நா பிளா பா ெட ெட நி (black-box testing
techniques)கைள பா க ஆர பி ேதா . ம நா ஒ கிய பிளா பா ெட
(black-box testing ) ரா டஜிய(strategy) பா ேதா இ ஏ இவெள கிளா
பா ஷனி (equivalence class partitioning) . ஏ இவெள கிளா
பா ஷனி (equivalence class partitioning)வி நீ க நிைனவி இ தா , நா இ
ேட டா(input data)கைள ()கிளா (class)களாகமா றி, பி ன நா க றிய ேபால ,
ஒ ெவா கிளா (class)யி இ ஒ வ ேக(value)எ ெட (test)ெச வைத விட
கிளா (class)யி ள அைன வ ேக(value) கைள ெட (test) ெச வ ந ல .

ஆனா நம ஒ ேரா ேல (problem) ேசகிரி (description ) ெகா க ப ட


ஏ இவெள கிளா (equivalence class )ைய அைடயாள கான அ பவ ம இ ஸயி
பி ( insight bit)ேவ எ றினா . நா இர ேரா ேல (problem)கைள
ய சி ேதா , பி ன ஒ னி ெட (unit test) ேபா பல பரேம ட (parameter) கைள
நா பா ேதா , பி ன நா இ த பரேம ட (parameter) க ஒ ெவா பல இ

77
ெடாைம (input domain)க மாட (model) ெச ய ேவ ; இ த பரேம ட (parameter)
க இ ெடேப ெட மாக(independent) இ தா , இர பரேம ட (parameter) க
ஏ இவெள கிளா களி (equivalence class )அைன சா தியமான
கா பிேனஷ (combinations) க தி ெகா ள ேவ .

பி ன ெவசா ஏ இவெள ெட (weak equivalence testing) , ேரா ஏ இவெள


ெட (strong equivalence testing)ம ேராப ெட (robust testing) ம
பலவ றி க கைள நா பா ேதா . இ , ெபஷ வ ேக ெட (special value
testing) என அைழ க ப இ ெனா பிளா பா ெட (black box testing)
ரா டஜிய(strategy) பா கிேறா . இ ேபா ெபஷ வ ேக ெட (special value
testing) களி ஈ ப வைத பா ேபா .

( ைல ைட : 02:08)

( ைல ைட : 02: 11)

(ெட டா ைட : 02:11)

ெட ட(tester) ஒ சா ேவ (software)ைய வழ கி ேளா எ கிறா ,


ேரா ரா (program) பாயி (fail)யைடயலா . அ இ வ ேக(input value)வா ேரா ரா
பாயி (program fail) யைட ,உ ைமயி றி பாக மிக எ பிஎரிெய ெச (experienced )
ேராகிராம க (programmers) ட ேரா ரா பாயி (program fail)யைட . ேரா ரா
பாயி (program fail) அைடய ெச சில ெபஷ வ ேக(special value)கைள அவ க
எ ப ேயா அறிவா க . ேரா ரா பாயி (program fail) ற ேவ ப ட ெபஷ வ ேக (special
value) எ ன எ பைத பா கலா . அைன ேரா ரா க (program) வ ெபா
பாயி (fail) ஆ .

ஒ ெபா ரி (risk) உ ள ; இ த ெபஷ வ ேம(special value)வி ெபய ெபௗ டரி


வ ேக(boundary value) . சில காரண க காக ேரா ரா ம (programmers) த க
ேரா ரா (program) ைய எ ைகயி , ஏ இவெள கிளா (equivalence class )களி
ெபௗ டரி(boundary) ஈ ேரா (error) ெச கிறா க . அவ க ஈ ேரா (errors) ஏ
ெச கிறா க எ பா ேபா ; பி ன எ த ேரா ரா (program) ெகா க ப டா , நா

78
ெபௗ டரி வ ேக(boundary value) ைய ெட (test) ெச ய ேவ ய அவசிய ,
ஏென றா அ ேக இ ெபரிய (bugs)க உ ளன.

ம ற ெபஷ ரி (special risk), ேரா ரா (program) யி வைகயான ெபா , அ


ேரா ேல ேசகிரி (problem description) ம பல. ேரா ராம (programmers) சில
காரிய கைள இழ க . உதாரணமாக, நா ெகா க ப ட ேததியி நா கண கிட
ேவ எ ெசா லலா . எனேவ, ேரா ரா (program)கண கிட ப கிற ேததி எ ன இ
ஒ நா கா ட ேவ . இ ேக ஒ எ பிஎரிெய ெச ேரா ராம (experienced
programmer), லீ (leap)ஆ க கண கி எ ெகா ள ப பதாக வா ,
ஏென றா இ த வைகயான ேரா ரா (program) ைய ஒ நாளி டா டா(data) ைவ ந ப ஆக
மா வத , பி ன சில அ காரித (algorithm) ல , நாெளா எ ன எ பைத
ெட (test) ெச ய ேவ எ ெட ட (testers) அறிவா . அத காக. ம இ ேக ஒ
லி ேகைல ஏ ேறா (likely error)எ லீ (leaf)ஆ க கண கி எ
ெகா ள படவி ைல. எனேவ, ஒ லீ (leaf)வ ட அட கிய ஒ ெட ேட டா(test data)
வழ வத இ ஒ ெபஷ வ ேக (special value)ஆ , ேம இ ேவைல ெச
எ பைத சரிபா க .

( ைல ைட : 04:45 ஐ பா க )

இ ேபா , எ ேலா ெபா த ய சா ேவ (software) களி ெபஷ வ ேக


ெட (special value testing), ெபௗ டரி (boundary) என அைழ க ப . எனேவ, இ ேக
ஏ இவெள கிளா (equivalence class )களி ெபௗ டரி(boundary)க இைடயி ,
ேரா ராம ஏ ேறா (program errors)கைள ெச யலா , ஏென றா
ேராகிராம (programmer) ெபா வாக ெவ ேவ ஏ இவெள கிளா (equivalence class
)க இைடேய ேவ பா கைள நி பி தா ேட ெம (statement) அ ல வி
ேட ெம (switch statement) ல ேவ ப கி றன.

அ ேக ெலாஜி க எ பிரஸி (logical Expression) ஒ ஏ ேறா (error)ைய விட ைறவாக


இ , அத ஏ வா (equal) விட ைறவாக இ , அத ஏ வா (equal) விட
அதிகமாக இ . எனேவ, நா எ கைள ெபௗ டரி(boundary)யி எ க ேவ .
எனேவ, இ த ெட (test)யி ெஜனிசி (genesis) அ ல கிய வ
எ னெவ றா , ெபஷ பிராஸி (special processing) அ ல சி ெபஷ

79
ேகா சிெடேரஷ (special consideration) , இ ேரா ராமரிட (programmers)
ஏ இவெள கிளா (equivalence class ) ெபௗ டரிகளி (boundary) ேதைவ ப கிற ,
ேம நா எ க ேவ அவ அைத கவனி வ தாரா எ பைத ெதரி ெகா ள
ேவ .

( ைல ேநர ைத பா க : 05:59)

எனேவ, எளிைமயான ெபௗ டரி வ ேக ெட (boundary value testing) றி பி வதா ,


ெவ ேவ ஏ இவெள கிளா (equivalence class )களி ெபௗ டரி ெட ேக
(boundary test case)கைள நா க ேத ெச கிேறா .

( ைல ைட : 06:14 ஐ பா க )

நா ெசா ேன ()மிக எளிைமயான , ஏென றா அ த வ ேக(value) ம ற


வ ேக(value) ைவ க தி ெகா ள ேவ , அதாவ ெபௗ டரி(boundary)
உ ளவ ேக (value). எனேவ, ஒ ர ேக ஏ இவெள கிளா (range equivalence class)
ெகா க ப டவ ேக(value) , a ம bவ ேக(value)களா வைரய க ப , நா ஒ a
ம b ஆகியவ ைற ெகா க ேவ , ேம இ a விட ேமேல ம பி விட
கீேழ இ க ேவ . உதாரணமாக, நா 3 த 10 வைரயான எ களி மதி பான ,
ைமன (minus) 3 த 10 வைர ஏ இவெள (equivalence ) இ தா , இ த ர ேகயி
(range)உ ள ஏ இவெள கிளா (equivalence class), நா ைமன (minus) 3 ஐ ேச க
ேவ , நா 10 இ த ஏ இவெள கிளா (equivalence class )யி
ெபௗ டரரி(boundary) . நா ேச ெகா ள ேவ ஒ எ அ ைற க ய
ைற த எ ணி ைகயிலான எ ைய விட அதிகமான எ ணி ைகைய ைமன (minus) 2.
இ அதிகப ச வர ைப கா ைறவாக , ேம 9 எ ப ஒ ஏ இவெள
கிளா ைய(equivalence class) கா ைறவாக இ . 0 0 அேத. எனேவ, 3, 5,
100, 102 தலியவ றி விவர கைள ெகா பி , ைற தப ச 3, அதிகப ச 102, 3
ேம 3, ம இ 102 ைறவான மதி ைப ெகா .,இ 100 ஐ ஒ
மதி 1 எ த ேவ , ம னி க நா 1 என எ த ேவ

( ைல ைட : 08:15)

80
இ ேபா , நம சில எ கா கைள எ ெகா ளலா . நா எ திய ஒ HR
அ ளிகா (application) நம உ ள . ம ஒ HR கான பாலிசி
(policy)வி ண பதார 0 த 12 வய வைர இ தா , நா க ேவைல அைழ கவி ைல;
வி ண பதார 12 த 18 வயதி உ ப டவராக இ தா , நா ஒ இ ெட (intern)
பணியாளராக ம ேம பணியா ற ; அ 18 த 65 வைர இ தா , நா ேநர
பணியாளராக எ ேபா ; ம 65 ேம , நா நியமி ப இ ைல. எனேவ,
ெபசிபிேகஷ (specification)யி ஒ ேரா ேல (problem) உ ள ; ெவளி பைடயாக, இ த
ெபசிபிேகஷ (specification) அ பைடயி எ த ப ட ேகா (code) இேத ேபா ற
ேரா ேல (problem) ெகா .ெபௗ டரி(boundary) பா க . எனேவ, 0 த 12
வைர இதி 12 ஆக , ஆனா 12 ஆக இ ைல, ம 12 ஒ இ ெட (intern)
பணியாளராக , 18 ப றி எ ன, ஒ 18 வய உ ப டவராக ,ம ஒ ேநரமாக
பணியாளராக, ம 65 எ ன ஆ . ெபௗ டரி (boundary) ேளேய
ேரா ேல (problem) உ ள .

( ைல ைட : 09:35 ஐ பா க )

நா அைத ேகா (code) ரா ல (translate) ெச தா , ெவளி பைடயாக,


ெபௗ டரியி (boundary) உ ள அேத ேரா ேல (problem) க இ . எனேவ, இ 12
பா க , இ உ ைமயாக இ தா , ேம டேடேம ைட(statement) ேம
உ ைமயா வதா ; இேதேபா , ேக (case) 18, 65 ம பல.

( ைல ைட : 09:59 ஐ பா க )

ெபசிபிேகஷ யி (specification) நா எ ன ெச தி க ேவ 0 த 11 வைர - ேவைல


ெச யாதீ க ; 12 த 17 இ ெட (intern)பணியம த ; 18 த 64 வைர பணியம த
ேநர பணியாளராக 65 த 99 ஆக பணியம தாதீ க . எனேவ,
ெபௗ டரி(boundary) ம ரா ேலஷ யி (translation) ேகாைட (code) க தி
ெகா டா , இ த ெபசிபிேகஷ (specification) ேகாைட (code) றி ஒ ேராகிராம
(programmer)ெபௗ டரி (boundary) ேரா ேல (problem) இ கா , அ ேரா ேல
(problem) இ லாவி டா , ேகா (code) மி ேக (mistake)ெச வி . இ ேக நா

81
றி பி வ எ னெவ றா இ ேக ெபௗ டரி(boundary) கைள விட அதிகமாக இ
ேததிக . ைமன (minus) 3 ப றி, எ ன 101 ப றி, எனேவ இ ெட (test) ெச ய ேவ .

( ைல ைட : 10:49 ஐ பா க )

எனேவ, சரிெச யப டா ெபசிபிேகஷ (specification) அ பைடயி இ சரிெச யப டா


ேகா (code) ஆ . எ வாறாயி , நா 11, 12, 0, ைமன (minus) 1, 17, 18, 64, 65, 99, 100
ம ெபௗ டரி(boundary)கைள சரிபா க ேவ .

( ைல ைட : 11:25 ஐ பா க )

எனேவ, இ பீ ேடாரிய லி(pictorially) கா ட; ெவ ேவ ஏ இவெள கிளா (equivalence


classes) களி ெபௗ டரி (boundary) , வலீ (valid) ம இ வாலி
(invalid)ஏ இவெள கிளா (equivalence classes)க , ெபௗ டரி (boundary) ப ட
ஒ வ ேக(value) , ெபௗ டரி (boundary) ஒ வ ேக(value) , ஏ இவெள
கிளா (equivalence classes) ஒ ெவா றி ஒ ெபௗ டரி(boundary) ெவளிேய ஒ
வ ேக(value) எ ெகா ள ேவ .

( ைல ைட : 11:53 ஐ பா க )

இ ேபா , சில உதாரண கைள எ ெகா ேவா . ஒ ெபௗ டரி(boundary) 1 த


5000 வைர இ தா , எ க 1 த 5000 வைர ஏ இவெள னசி கிளா (equivalence
classes) உ ள , எனேவ இ ெபௗ டரி வ ேக(boundary value) ெட ேக (test case)
எ னவாக இ . நா க 5000 ேச , 5000, 5001, 4999, 1, 0 ம ,2, அத
ஏ இவெள னசி கிளா (equivalence classes)) பிரதிநிதிகளாக இ 1000
வ ேக(value) ட இ க ேவ .

( ைல ைட : 12:32)

இ ேபா , ம ெறா எ கா பா கலா - ஒ பணியாளரி வய , ப ேவ ஊழிய களி


வய , ம அவ றி சராசரி வய கைள கண கி ஒ பி ஷ (function). எனேவ, இ
ப ேவ பணியாள களி வயைத ப (function) ஆ ஒ ைபைல(file)யி
ேசமி க ப , சராசரியாக வயைத கண கி கிற ம எனேவ, பீ ேடாரிய லி(pictorially)
நா ஒ ேரா ரா (program) ஒ பிளா பா யி (black box) பிரதிநிதி வ ப ேவ

82
ஊழிய க அைன வய எ ,ம சராசரி வய . ஊழிய க கான சரியான வய 1
அ ல 100 ஆக இ கலா அ ல 18, 1 த 100 வைர இ கலா என நிைன கலா .
இ ேபா இ ெபௗ டரி வ ேக ெட ேக (boundary value test case) எ ன, எ தைன
ெட ேக (test case)க ேதைவ ப ?

( ைல ைட : 13:41)

எனேவ, இ த ேக வி பதிலளி பத , நம 5 ெட ேக (test case)க ேதைவ.


ைற தப ச ஒ ெபௗ டரி(boundary) , அதிகப ச 1 ம 100, ஒ உ ேள ெசா ல
2, ஒ 100 ைறவாக ம ஒ பிரதிநிதி. இ வாலி (invalid) ஆனைத நா க
க கிேறாமா, நா 101 ம 0 ஐ பரிசீலி க ேவ ,அ 7 ஆக இ .

எனேவ, இ த ஏ இவெள னசி கிளா (equivalence classes) வலீ (valid)யாக, நா 5 ஐ


ேத ெத க ேவ , ஆனா ஒ ெபௗ டரி (boundary) ெவளிேயயான ஒ வரிைய
நா க க தி ெகா டா நா றிய ேபால ெபௗ டரி(boundary) ெநக
ெட ேக (negative test case) எனேவ, ெநக ெட ேக (negative test case) கைள
நீ க க தி ெகா டா , நா க 101 ம 0 ஆகியவ ைற க தி ெகா ள
ேவ . எனேவ, ெநக ெட ேக (negative test case) கைள நா க தி
ெகா ளவி ைல எ றா ஐ ; ெநக ெட ேக (negative test case) கைள நா க
க தி ெகா டா , இ த ேரா ேல (problem) ெபௗ டரி (boundary)வ ேக
(value)ெட (test) ஏ ெட ேக (test case)க ேதைவ ப .

( ைல ைட : 14:55 ஐ பா க )

எனேவ, இத சிலசா பி வா (sample values)கைள ெகா கிற .

( ைல ைட : 15:03 ஐ பா க )

இ ேபா இர வைரபி (variables) உ ளன எ நா றலா . ஒ க வி ம வய


ஆ க ஆ . இைவ ஒ பி ஷ (function) எ 2 பரேம ட (parameters) ; 1
த 23 வய வைரயான க வியி ஆ க ம 1 த 100 வய வைர இ .
எனேவ, ெபௗ டரி வ ேக(boundary value) எ னவாக இ ? எனேவ, நா 2
இ (input) கைள 2 இ ேட டா(input data) உ ளன ஒ க வி ஆ க ம ம ற

83
வய உ ள . நா இ ெடேப ெட சி(independency) யாக சி தி தா , நா க வியி
ஆ க 5 ம 5 வயதி ேதைவ. ஆைகயா , நம 10 ெட ேக (test case) க
ேதைவ பட ேவ , அத கான பிரதிநிதி நம ேதைவ. நா இைத ேத ெத கலா , இ
இ வ ெபா , எனேவ, இ த ஏ இவெள னசி கிளா (equivalence classes)
பிரதிநிதிைய நா க தி ெகா டா 11 ேதைவ ப .

( ைல ைட : 16:22 ஐ பா க )

ம நா அைத பீ ேடாரிய லி(pictorially) றி பி கிேறா எ றா , இ த


வாரிஅ ேள(variable) 2 ெபௗ டரிக உ ளன; ஆ க க வி ம வய உ ளன 2
ெபௗ டரீ (boundaries) . எனேவ, நா ெபௗ டரி(boundaries) உ ள
வா (values)க க தினா , நா இ ேக 5 ேதைவ ப ெபாசி ெட
ேக களாக(positive test cases ) இ கிேறா , இ 5 ேதைவ. அ ல நா ஒ ெவா
ெபௗ டரி(boundaries) n பரேம ட (parameters) க இ தா , நம ெநக
ெட ேக ( negative test cases)க இ ைல எ றா நம 4 * n + 1 ெட ேக (test case)
க ேதைவ.

( ைல ைட : 17:19 ஐ பா க )

எனேவ, இ ெடேப ெட இ (independent input) க , நம 4 * n + 1 ெட ேக


(test case)க ேதைவ. எனேவ, நா இர ெபௗ டரீ (boundary) x ம y உ ளன எ
தா பிரதிநிதி வ ; x ெபௗ டரீ (boundary) a b இைடேய y
ெபௗ டரீ (boundary) c d இைடேய ெபௗ டரீ (boundary) இ கி ற .
எனேவ, நம 2 * n + 4 ேதைவ 9 ெட ேக (test case)க , அதனா 4, 8 plus 1 - 9.

( ைல ேநர : 17:46)

ஒ அ ஸு (assumption) எ த பரேம ட (parameter) ஒ ெபௗ டரி


(boundary)ஒ ேரா ேல (problem) இ க எ பல பரேம ட (parameter) க
ெபஷ வ ேக ெட ேக (special value test case)கைள ைச (design) ெச
வித தி நா க ஒ க ைத றிேனா . ஆனா இர ெபௗ டரிக (boundary)
வ ேக(value)க ,சில றி பி ட கா பிேனஷ ைய(combination) வ ேக(value) ேபா
ஈ ேரா (error) ஏ ப ஒ சி அ (situation) உ ள , நா 2

84
பரேம ட (parameter) களி ெவ ேவ ெபஷ வ ேக(special value) க இைடயி
அைன சா தியமான கா பிேனஷ (combination) க தி ெகா ள ேவ . எனேவ 4
* n + 1 ரிச (result) உ ைமதா , ஒ பரேம ட (parameter) ஒ ெபஷ
வ ேக(special value)ைவ க தி ெகா டா , ேரா ேல (problem)கவனி க ப .
ஆனா , இ த பரேம ட (parameter) க இர ெபஷ வ ேக (special value)க சில
வ ேக(value) கைள ெகா ேபா ம ேம ேரா ேல (problem) ஏ ப கிற எ றா ,
நா அைன சா தியமான கா பிேனஷ க (combination) க தி ெகா ள ேவ ,
அதனா 4 4,இ ைல 4 பிள (plus) 4.

( ைல பா க ேநர : 19:14)

எனேவ, ெநக ெட ேக (negative test cases )கைள நா பரிசீலி க ேவ


ஏென றா , அ ெராபி ட ெட (robustness testing) என நா அைழ கிேறா . எனேவ,
இைவ ஏ இவெள கிளா (equivalence classes )க ெவளிேய வ ேக(value)க .
ம இ த விஷய தி , ஒ ெவா வ ேக(value) மான ஏ ெட ேக க (test case)
நம ேதைவ. ம ெராபி ட ெட (robustness testing), நா சரிபா கஉ ைமயி
ஒ வலீ வ ேக (valid value)யி ைல , இ வாலி வ ேக(invalid value) , அைத
ேராகிராம (programmer)ைகயா வித , ேராகிராம (programmer)வ ேக(value)க
ெகா க எ எதி பா க ப கிற , அவ இ வாலி (invalid) எ ஒ தகவ
ெச தி ெவளியி டா வலீ வ ேக(valid value) இ (input) ெச ய ேவ ,அ சில
ெரகவரி (recovery) அ ல ேராகிராம (programmer) எ லா ெசய கைள மீ ெச ய
ேவ . எனேவ லா வ ேக (last value) ற கணி க ப டா அ ல அவ திதாக
ெதாட க ேவ .

( ைல ைட : 20:15 ஐ பா க )

எனேவ, ெநக ெட ேக (negative test cases )நா க தி ெகா டா , நா 6 * n + 1 ஐ


ெகா க ேவ . எனேவ, ஒ ெவா வாரிஅ ேள (variable) எ இ
ெபௗ டரி(boundary)களி உ ள , இதனா அ 6; ஒ ெவா
ெபௗ டரி(boundary)யி , நம 6 ேதைவ. எனேவ, நம n ஏ இவெள
கிளா (equivalence classes )க இ தா , நம 6 * n + 1 ேதைவ.

85
( ைல ைட : 20:42 பா க ).

ஆனா நா லிய (Boolean) வைரபி (variables) இ தா , இ த ெபஷ வ ேக


ெட (special value testing) பய ப தி நா எ ப ைகயாள ேவ . ஒ ேவைள இ த
லிய வரிஅ ேள(Boolean variable) உேச இ ெடரபா (user interface)களி மிக
ெபா வானைவ, எ களிட ேர ேயா ப ட (radio button)க உ ளன அ ல நா அைத ேர ேயா
ப ட (radio button) எ றி கி ேறா அ ல அைத மா (unmark)கா ேவா .
ம எ ன ெச வ ஒநா - ெமரி கா (non-numerical), ெபௗ டரி(boundary)அதனா
நா ம எ ெபௗ டரிகைள(boundary))பா எ ன ஒ ரி (string) எ றா .
எனேவ, இ த விவகார கைள ப றி நா விவாதி கலா , இ த ெபஷ ேக (special
case)கைள எ வா ைகயாள ேவ ?

( ைல ைட : 21:25)

ஆனா இத நம ன ஒ சிறிய வினா விைடயாக இ கலா , இ ஒ பிளா பா


ெட (black-box test suite) ைச (design) ெச ,ஒ பி ஷ ைச (function
design) ெச ஒ இ ப சம பா ைட(quadratic equation ) ax2 + bx + c தீ க ேவ .
இ த ெபஷ வ ேக ெட ைச (special value testing) யி ைச (design) ெச ய
ேக க ேவ டா எ கவனி க, நா க ஒ பிளா பா ெட (black-box test suite)
ைச (design) ெச ய ேக கிறீ க . எனேவ, பிளா பா ெட (black-box test suite)
களி தலி நா சி தி க ேவ ய எ னெவ றா , ஏ இவெள கிளா (equivalence
classes ) ம ஒ றி பாக, நீ க விவாதி தவ ைற நீ க தி பி பா தா .
ஏ இவெள கிளா (equivalence classes ), நா ேசனரிேயா (scenarios ) க தி
ெகா ள ேவ ம அ சா தியமான ஏ இவெள கிளா (equivalence classes )க
எ னஎ ப ப றி எ க றி ைப வழ கிற .

எனேவ, இ த (function)யி நம பரேம ட (parameter) க a, b, c ஐ


எ , இ பிளா பாயி (floating point) எ களாக இ கலா , பி ன இ த
ஏ ெயா (equation) ax ஸஃயேர(square) பிள ( plus) bx பிள (plus) c ஐ
ெசா ஷ (solution) கா பி . இ வ ேக(value) எ ெகா ளலா 5.0, 7.0, 2.0,
அதனா இ த பி ஷ (function) quad solver இ (input) ஆ ; எனேவ
பி ஷ (function) ெபய quad solver, பரேம ட (parameter) க எ

86
ெசா ஷ (solution) கா பி . எனேவ இத ஏ இவெள கிளா (equivalence classes
)க எ னவாக இ ? அைத நீ க நிைன தா , நா க ேசனரிேயா (scenarios )
க வ ம ேசனரிேயா (scenarios ) எ னவாக இ எ நா க றிேனா ;
ேசனரிேயா (scenarios ) (root) ஒ ேகா ஸிெட (coincident root) எ
இ .

அைவ ஒேர (root)களா , ேம அைவ ேகா ஸிெட (coincident root) ம


ரிய (real root) கைள ெகா கலா , நா (distinct root) கைள
ெகா கலா நா இமாகினரி (imaginary root)கைள ெகா கலா . எனேவ,
b2-4 * a * c இ வ (values) கைள ெபா , நா ெவ ேவ ெசா ஷ கைள(solutions)
ெவ ேவ ேசனரிேயா களி (scenarios) ச தி க ேநரி .

ம வலீ (valid) ம இ வாலி (invalid) ப றி நா தலி வலீ (valid) ம


இ வாலி (invalid) கிளா (class) கைள பரிசீலி க ேவ எ றிேனா . எனேவ,
வலீ (valid) - இ வாலி (invalid)இ (input)எ ன? எனேவ, இ வாலி இ (invalid
input) எ னெவ றா , இ வாலி இ (invalid input) ஒ , எ (a) பி(b), சி(c) ஆகிய
இர 0, அ இ வாலி ஏ இவெள கிளா (invalid equation class) மா .அ ல
ஒ எ (a) பி(b), சி(c) ஆகியைவ ேகர ட ரி (character string)கைள ெகா கி றன,
எனேவ அ த இ வாலி ஏ இவெள கிளா (invalid equivalence class)களி
பிரதிநிதிைய நா க ய சி ெச ய ேவ .

ேம வலீ ஏ இவெள கிளா (valid equivalence classes )களிலி நம


ேவ , நா ேவகமான (root)கைள ெகா கிேறா , நம (distinct)
ம ரிய (real root) க , ம இமாஜினரி (imaginary root) க . எனேவ, நா வலீ
ஏ அஷ (valid equations )க இ வாலி ஏ இவெள (invalid equations)க
இ பதாக றி பி கிேறா . எனேவ நா ெவ ேவ ஏ இவெள கிளா ( equivalence
கிளா )க உ ளன. ஒ , a, b, c - 0 இ வாலி ஏ அஷ (invalid equations)அ ல
இ வாலி (invalid) இ வ ேக(input value)க . abc எ க . ம வலீ
ஏ அஷ க ((valid equations), நா ரிய (real) ம கா ெல (complex) ம
ரிய ேகா ஸிெட (real coincident) ம னிஃேய (unique)இ க ேவ . எனேவ,

87
இ 3 ஏ இவெள கிளா ( equivalence class)க உ ளன, அைவ கா ெல (complex) ,
ேகா ஸிெட (coincident) ம னி (unique) .

எனேவ, நா b2 - 4 * a * c, b2 - 4 * a * c வ ேக(value) ள பிரதிநிதி வ ேக (value)கைள


பிரதிநிதி வ ப த ேவ . B2 - 4 * a * c எ ப 0, ெபாசி (positive) ம
ெநக (negative) வ ேக(value)கைள ேத ெத க ேவ ..

இ வைர நா க க -பா ெட ெட நி (black-box testing techniques)


பா ேதா , ஏ இவெள ெட (equivalence testing ) ம ெபஷ வ ேக
ெட (special value testing) . எளிைமயான ேரா ேல (problem)க ,க க ேநராக
ேனா கி பய ப த படலா , ஆனா நம நிைறய ரசி (practice ) ேதைவ ப கிற .
ெவ ேவ சி அ (situations)க நீ க ெபற ய ேரா ேல (problem)க
ஏ இவெள கிளா ெட ( equivalence class testing)ம ெபஷ வ ேக
ெட (special value testing ) ைச (design)ெச வதி ேரா ேல (problem)கைள
ெச க . நா இ நி த ேவ , நா கா பிேனஷனா ெட (combinatorial
testing)ெதாட . ந றி.

88
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-08 – Combinatorial Testing

சா ேவ ​ெட (software Testing)

ேபராசிரிய ​ரஜி ​மா

கணினி ​அறிவிய ​ம ​ெபாறியிய ​ ைற

இ திய ​ெதாழி ப ​நி வன , ​கார

விரி ைர - 08 ​ெகா பினேடாரி ​ெட

இ த ​அம ​வரேவ கிேறா . ​நா க ​பிளா ​பா ​ெட ​ெட நி (black box testing
techniques) ​ப றி ​ ைதய ​அம க ​விவாதி த .

(​ ைல ைட : 00:43 ​ஐ ​பா க )

ேம ​இர ​ கிய ​பிளா ​பா ​ெட ​ெட நி (black box testing techniques) ​கைள
நா க ​பா ேதா , ​அைவ ​ஏ இவெள ​கிளா ​ெட (equivalence class testing ) ​ம
ெபஷ ​வ ேக ​ெட (special value testing) ​ஆ . ​இ ேபா ​ெகா பினேடாரி ​ெட
(Combinatorial Testing) ​ஒ ைற ​பா ேபா , ​இ ​ம ெறா ​பிளா ​பா ​ெட
ெட நி (black box testing techniques) .

(​ ைல ைட : 00:48 ​ஐ ​பா க )

தலி , ​ெகா பினேடாரி ​ெட (Combinatorial Testing) ​ ​பி னா


ேமா ேவஷ (motivation) ​பா ேபா . ​ஒ ​விஷய ​எ னெவ றா , ​இ ​ஏ இவெள
கிளா ​ெட (equivalence class testing ) ​ம ​ ெபஷ ​வ ேக ​ெட (special value

89
testing) , ​பரேம ட (parameter)​ க ​எ ​ேபா , ​நா ​ெட ​ேக (test case)​கைள
ைச (design) ​ெச வதி ​ பி ல (difficulty) ​இ . ​சில ​ேநர களி , ​நா
ரிச (result)​கைள ​பாதி ​எ விரா ெம ட ​காணபி ராஷ (environmental
configurations) ​உ ளன, ​உதாரணமாக, ​நா ​எ பிய ​ெமாேடயி (expert mode) ​ஒ
ேரா ரா (program) ​அைம க ​ேவ , ​அ ல ​ஒ ​ேநாவி (novice) ​ ைற, ​அ ல ​மா ேட
(moderate) ​ ைறயி ​எனேவ ​இ த ​எ விரா ெம ட ​காணபி ராஷ (environmental
configurations) ​உ ளன ​ ேரா ரா (program) ​வி தியாசமாக ​ெசய ப கிற .

நா ​ேவ ​ ேட (state)​வாரிஅ ேள(variable)​க ​இ கலா , ​இ ​ப ேவ


கா ேபாென (combinatorial)​ைட ​ ேரா ரா (program) ​பாதி , ​இ ​ப ேவ
கா ேபாென (combinatorial)​களி ​அவ களி ​ெபஹவிய (behavior) ​உதாரணமாக, ​ஒ
தக ​இ ​அ (issued out) ​பி ன ​ தக ​ெபஹவிய (behavior) ​ஏ கனேவ
இ ேக(issued) ​ ேரா ேற(procedure) ​ஏ கனேவ ​இ ​அ (issued out) , ​பி ன ​நா
தக ​இ ேக (issued)​ேவ , ​ தக ​இ ஸு ேக(issued) ​ெபஹவிய (behavior)
வி தியாசமாக ​இ . ​ஒ ​மிக ​ ரிவி ​ேக (trivial case) , ​ஆனா ​நா ​ெவ ேவ
கா ேபாென (combinatorial) ​இ ​சி கலான ​ ேட (state)​பிரதிநிதி வ ​ேவ .
எனேவ, ​இ த ​ேக (case) ​யி , ​பா ட (factors) ​பரேம ட (parameter)​க 3, 4 ​ ​ேம ப ட
பா ட (factors) ​இ ​ேபா , ​ஏ இவெள ​கிளா ஸ (equivalence classes)
ைச (design) ​க னமாகிற .

(​ ைல ேநர : 02:29 ​பா க )

ேம ​சில ​ேநர களி , ​நா ​பல ​ லிய ​க ஷ (Boolean conditions )​க ​இ ேக. ​ லிய
வைரபி க (Boolean variables) ​ றி பாக ​உேஷ ​இ ெட பி (user interfacing) ​ம
க ேரால ​அ ளிேகஷ (controller applications)​களி ​உ ளன, ​இைவ ​பல ​உ ளன.
உதாரணமாக, ​இ Power Point ​சா ேவ (software)​ ​ேபா ற ​ெச (setting)
அைம பா . ​இ ேக ​நா ​சிறிய ​ேக ைப(cap)​ைய, ​எ லா ​ேக ைப(cap)​கைள ,
ஏ வாலி (equalize) , ​ ேப ஸகிரி (superscript), ​ச ​ கிரி (subscript)​ேபா றவ ைற
ேத ெத பைத ​ெபா ​பா க . ​ேம ​இ ​ைச (size) , ​வா (value) , ​ேபா ற
ைட (style) , ​ெட ​ேபா (text font) ​ம ​பல ​வ ண ​ேவ பா க ​உ ளன. ​நட
ெவ ேவ ​அ (action)​கைள ​நா க ​ெகா ேளா . ​எனேவ ​ேபா (font) ​ேவ ப ட .

90
எனேவ ​இ த ​ெச (settings)​க ​ஒ ​ றி பி ட ​கா பிேனஷ ைய(combination),
ேபா (font) smudged ​அ ல ​ேபா (font) ​ேதா றா ​எ ​ெதரியா . ​உதாரணமாக,
ெட ​ேபா (text font) ​எ றா ​ேபா ய(body) , ​ம ​ேபா ​ ைட (font style)​ெர ல
(regular)​அ ல ​ேபா (bold) ​ெசா ல ​ேவ , ​பி ன ​அள 38, ​பி ன ​ேபா (font) ​நிற
சிவ , ​பி ன ​ ேப ஸகிரி ( superscript) ​மீ ​ வி ச (switched) ​ம ​அைன
ேக (caps)​க ​ வி ச ​ஒ (switch on) , ​நம ​ஒ ​ ேரா ேல (problem) . ​எனேவ, ​இ த
சி காஷ (situations) ​க , ​நா ​எ ப ​ஏ இவெள ​கிளா ​பரிஷ (equivalence
class partitions )​கைள ​ெப வ ​க ன . ​நா ​பல ​பரேம ட (parameter)​ க ​உ ளன ​எ
க பி க ​ ய சி ​எ ேக ​ெகா பினேடாரி ​ெட (combinatorial testing )
ேரா ேல (problem) ​பா கலா , ​சில ​பரேம ட (parameter)​ க ​ேநர யாக ​இ (input)
ம ​சில ​பரேம ட (parameter)​ க ​ ேட (state)​வாரிஅ ேளக (variable) ​அ ல
எ விேரா ெம ​வாரிஅ ேளக (environment variables )​உ ளன; ​ம ​அ த
பரேம ட (parameter) ​க ​ றி பி ட ​கா பிேனஷ (combination) , ​நா ​ெட (test)​ெச ய
ேவ , ​ஏெனனி ​ ேரா ேல (problem) ​இ கலா .

(​ ைல ைட : 04:34 ​பா க )

நா ​பா கலா ​ ​ெகா பினேடாரி ​ெட ​ெட நி (Combinatorial Testing


techniques) - ​ெடஸிஸி ​ேடபி -​பா ேப ​ெட (decision table-based testing) , ​கா
-​எெப ​கிராபி (cause-effect graphing) ​ம ​ைப -​வி ​ெட (pair-wise testing)

(​ ைல ைட : 04:52 ​ஐ ​பா க )

தலி , ​ெடஸிஸி ​ேடபி -​பா ேப ​ெட ​ெட நி (decision table-based testing


techniques) ​பா கலா . ​ெடஸிஸி ​ேடபி -​பா ேப ​ெட (decision table-based testing)
யி ​நா ​ ேரா ேல ​ேசகிரி தி (problem description) ​அ பைடயி ​ெடஸிஸி
ேடபி (decision table)​உ வா கலா . ​எனேவ, ​இ ​ஒ ​ ேரா ேல (problem)​ கான ​பிளா ​பா
ெபசிபிேகஷ (black box specification) ​பி ன ​அைத ​பா , ​நா க ​ெடஸிஸி
ேடபி (decision table) ​உ வா கிேறா . ​ெடஸிஸி ​ேடபி (decision table) ​யி , ​நீ க ​இ ேக
பா தா , ​ேடபி (table)​யி ​ேமேல ​காண ப ​க ஷ (conditions) ​உ ளன. ​எனேவ, ​இ த
இ ​பரேம ட (input parameter) ​க க ஷ (conditions) ​உ ளன.

91
ஏேத ​ வி ச ​ஒ (switched on) ​அ ல ​ வி ச ​ஆ (switched Off) , ​அத ட
கா பிேனஷ (combinations) ; ​பி ன ​ றி பி ட ​க ஷ (conditions) ​கைள
ைவ தி தா , ​நட கவி ​சில ​அ ஷ (actions) ​நம ​கிைட . ​எனேவ, ​இ ​ஒ
(rule) ​எ ​நா க ​அைழ கிேறா . ​க ஷ (conditions) ​அைன ைத ​க தி
ெகா ள ​ேவ ய ​க ஷ (conditions) ​ம ​அவ றி ​கா பிேனஷ
வ ேக(combination value) ​ைவ ​நா ​க தி ​ெகா ள ​ேவ . ​பி ன ​எ ன
அ க (action) ​எ க ப ​எ பைத ​நா க ​அைடயாள ​கா கிேறா . ​ஒ
ேம ப ட ​அ ஷ (actions) ​நைடெப கி றன. ​ம ​இ ேக ​இ த ​ஒ ெவா
ெகா ம (column) , ​நா ​ஒ ​ (rule)​எ ​அைழ கிேறா . ​உதாரணமாக, ​இ ேக ​ஒ
க ஷ (condition) C1 ​ம c2 ​அ ல c3 ​இ தா , c1, c2, c3 ​இ ​பரேம ட (input
parameter)​க ​உ ளன. ​ம ​நா ​இ ​பரேம ட (input parameter) C1 ​மீ ​ ​ம C2
​அ ல C3 ​ ​நா ​அ (action) A1 ​ேவ .

(​ ைல ைட : 06:41)

எனேவ, ​ஒ ​ ேரா ேல (problem) ​ெகா க ப டா , ​நம ​பரேம ட (parameter)​க ​உ ளன,


ம ​அ த ​பரேம ட (parameter)​க ​மீ ​சில ​க ஷ (conditions)​கைள ​அ பைடயாக
ெகா ​சில ​அ ஷ (actions) ​உ ளன. ​இ த ​ெடஸிஸி ​ேடபி (decision table) ​ைய
நா ​உ வா கலா . ​நி சயமாக, ​நா (​நா )​கவனமாக ​இ க ​ேவ ​அைன ​ெபா ஸி ேள
கா பிேனஷ ​ஒ பி ​க ஷ (possible combinations of conditions) ​ஆ .

(SlideTime: 07:12)

இ ேபா ​ஒ ​உதாரண ​பா கலா . ​ஒ ​ ரி கேள(triangle) ​ ​ப க கைள ​ப ​ஒ


ேரா ரா (program)​ைய ​நா க ​எ தி ேளா ​எ ​ெசா லலா . ​பி ன
ரி கேள(triangle) ​அ ல ​ ரி கேள(triangle), ​அ ​ ரி கேள(triangle) ​அ ல, ​இ ​ஒ
ரி கேள(triangle), ​அத ​ஏ யிேலற (equilateral) , ​எனேவ A5 ​ெகா க ப ட ​அேத ​ேபா
உ ள ; ​ஒ 5 ​உ ைமயி ​இ வாலி (invalid) , ​நா ​க தி ​ெகா ளலா . ​நா ​இ ேக
ெவ ேவ ​க ஷ (conditions)​கைள ​உ வா கிேறா , ​எனேவ c1 ​எ ப b ​பிள (plus) c
​ ைறவான ; ​அதனா . c ​பிள (plus) b ​ஐ ​விட ​ ைறவாக ​இ . ​ம c2 ​எ ப ​ஒ
ஏ வா (equal ) b ​ஆ ; ​சி 3, ​ஒ ​ஏ வா (equal ) ​உ ள . ​ம C 4, b ​ஏ வா (equal )

92
இ . ​எனேவ, ​இ ேக ​ றி பி ட ​கா பிேனஷ (combinations) ​ெபா , ​இ த
அ கைள(actions) ​நா க ​கா பி ேபா .

(​ ைல ைட : 08:21 ​ஐ ​பா க )

ம ​இைத ​அ பைடயாக ​ெகா , ​ஒ , ​பி, ​சி ​மதி க , ​நா ​ெட ​ேக க(test
case)​ைள ​ெகா கலா . ​ம ​ெடஸிஸி ​ேடபி (decision table)​யிலி
எதி பா க ப ​ (output)​ ​ெகா கிேறா , ​எனேவ ​ஒ ெவா ​ெரௗ (rows)
ஒ ெவா ​ஒ ​ெட ​ேக (test case) .

(​ ைல ைட : 08:44 ​ஐ ​பா க )

இ த ​ேபா (form)​யி ​எ தலா ; a ​ ​ ைறவாக b ; b ​பிள (plus) c ​ ​ ைறவான ;


ம c ​ஆன ​பிள (plus) b ​ ​ ைறவாக ​உ ள . ​அவ களி ​ஒ வ ​பா (false) ​எ றா ,
அ ​ஒ ​ ரி கேள(triangle) ​அ ல ​எ ​ெசா கிேறா . B ​இ ​ஏ வா (equal) ​இ தா , b
ஆன c ​ஐ ​ஏ வா (equal) ​வக ,c​ ​ஏ வா (equal)​வக ​இ தா , ​அைவ ​அைன
(true)​தா , ​பி ன ​நா ​அ ​ஏ யிேலற ​ ரி கேள(equilateral triangle ) ​எ தலா .

(​ ைல ைட : 09:22 ​ஐ ​பா க )

எனேவ, ​நா ​ெட ​ேக (test case)​கைள ​அவ றி ​எ பிஎசி ேட (expected)


(output) ​கைள ​ைவ தி க ​ேவ .

(SlideTime ​ஐ ​பா க : 09:29)

இ ேபா ​ம ெறா ​உதாரண ​பா கலா . ​நா ​க ஷ (condition) ​பிரி ட


ஆ ேனாசி (printer diagnosis) ​சா ேவ (software) ​ ​ெகா கிேறா , ​அ ​நட க
ேவ ய ​அ ஷ (actions) ​ (output) ​ெச கிற ​எ ​ெசா லலா . ​உதாரணமாக,
பிரி ட (printer) ​பிரி (Print) ​ெச யவி ைல ​எ றா ​சிவ ​ஒளி ​ஒளி ; ​ம ​பிரி ட
ெரக னிஸி (printer unrecognized) ​ெச ய ​ப கிற ​பி ன ​நா ​சரிபா ​அத
பதிலாக ​ரி ள ​இ (replace ink) ​ேப ப ​ஜா (paper jam)​உ ளதா ​எ ​சரிபா பா கிற .

​நா க ​ ​ேப ​இ தா , ​ஆமா , ​அ ​பிரி ட (printer) ​க ட (computer)


ேகபி (cable) ​சரிபா , ​எனேவ ​உ க ​பிரி ட (printer) ​சா ேவ (software)
இ ட ேல (installed ) ​ம ​சரிபா ​ரி ள ​இ (replace ink) . ​எனேவ, ​ றி பி ட

93
க ஷ க (conditions) ​நா ​இ ெட (enter) ​ெச ​ றி பி ட
க ஷ (conditions)​களி ​வ ேக(value)​க , ​நா ​எ ​அ (action) ​ெச ய ​ேவ
எ பைத ​ ேரா ரா (program) ​கா பி , ​பி ன ​நா ​எ லா ​சா தியமான
கா பிேனஷ (combinations) ​ ​க தி ​ெகா ள ​ேவ , ​ஏெனனி ​எ தெவா
சா தியமான ​கா பிேனஷ (combinations) ​இ ெட (enter)​ெச யலா ; ​பிரி ட (printer)
பிரி (print) ​ெச யவி ைல ​ம ​பிரி ட ​ ​ெரக னிஸி (printer unrecognized )
அ ல ​ ​ெர (return) ​ெச ​இ கலா . ​எனேவ, ​நா ​ெடஸிஸி ​ேடபி (decision
table ) ​பிரதிநிதி வ ப கிேறா , ​பி ன ​ஒ ெவா வ ​ஒ ​ (rule) ​யாக ​க கிேறா ,
இ ​எ க ​ெட ​ேக (test case) ​உ வா கிற . ​எனேவ, ​நா ​இ ​வ ேக(input value)
க ​ம ​நா ​எ ன ​அ (action) ​எதி பா க ப கிற , ​எ ன.​ஒ ​ெட ​ேக (test
case) ​ேதைவ?.

(​ ைல ைட : 11:08 ​ஐ ​பா க )

இ ேபா , ​எ க ​ஒ ​சிறிய ​வினா ​விைடயாக ​இ கலா . ​பிைல (flight) ​ ​ஒ


பாலிசி(policy) ​இ ​ஹலஃ-​பி ள(half-full) ​ேம ​இ தா , ​பிைல (flight) ​ஹலஃ-​பி ள
(half-full)​ேம ​இ , ​ம ​ ெக ​கா (ticket cost) 3000 ​ ​அதிகமா , ​அ ​ஒ
ெடாெம ​பிைல (domestic flight) ​ஆக ​இ லாவி டா ​பிரீ ​மீ (free meals) ​வழ க ப .
ெடாெம ​பிைல (domestic flight) ​எ லாகளி ​மீ (meals) ​ ​சா (charge)
விதி க ப கிற .

​ெடஸிஸி ​ேடபி (decision table) ​எ வா ​உ வா வ ? ​இ தைகய ​சி அ (situation)


ெடஸிஸி ​ேடபி (decision table)​யி ​ெட ​ேக (test case) ​ ைச (design) ​ெச ​இ க
ேவ . ​இ ேபா ​இைத ​ ய சி ​ெச க. ​பிைல ​ஹலஃ-​பி (flight full- half-) ​ேம ​இ தா ,
இ ​ஒ ​பரேம ட (parameter)​ஆக ​மா ; ​பிைல ​ஹலஃ-​பி -(flight full- half-) ​அ ல
இ ைலயா ​எ பைத. ​ ெக ​கா (ticket cost) 3000, ​அ ல 3000 ​ ​அதிகமாக ​இ ைல
எ றா , ​அ ல ​பிரீ ​மீ (free meals) ​வழ க ப ​ஒ ​ஆ ஷ (action) . ​அ ​ஒ
ெடாெம ​பிைல (domestic flights ) ​அ ல ​ம ெறா ​இ ​பரேம ட (input parameter)
அ ல. ​அைன ​ெடாெம ​பிைல (domestic flights ) ​ேச க (served) ​சா
(charge)​விதி க ப கி றன. ​எனேவ, ​ெடஸிஸி ​ேடபி (decision table) ​இத கான ​உ வா க

94
ேவ . ​தய ெச ​இைத ​ ய சி க , ​ஆனா ​இத ​ெசா ஷ (solution) ​கா பத
நா ​அ மதி கிேற , ​இதனா ​நீ க ​எ க ​பதி ட ​சரிபா க​ .

(​ ைல ைட : 12:44)

​இ ​க ஷ (input conditions) ​உ ளன ​என ​நா ​ றினா , ​ஒ


ஹலஃ-​பிலா (half-full) ​ைய ​விட , ​ ெக ​கா (ticket cost) 3000 ​ ​அதிகமா , ​இ
ெடாெம ​பிைல (domestic flights )​டா ​இ ைலயா.

(​ ைல ைட : 13:00 ​ஐ ​பா க )

எனேவ, ​அ 3000 ​ ​அதிகமான ​ெடாெம ​பிைல (domestic flights ) ​அ ல, 3000 ​


அதிகமானதாக ​இ ைல ​எ றா , ​நா க ​பிரீ ​மீ (free meals) ​ேச ேவ (serve) ​ெச ய
மா ேடா . ​இ 3000 ​ ​அதிகமானத ல ​எனி , ​நா க ​பிரீ ​மீ (free
meals)​ேச ேவ(serve) ​ெச ய ​மா ேடா . ​இ 3000 ​ ​அதிகமானதாக ​இ தா , ​அ ​ஒ
ெடாெம ​பிைல (domestic flights ) ​ஆ , ​நா க ​பிரீ ​மீ (free meals)​ேச ேவ
(Serve)​ெச ய ​இ ைல .

​அ ​ஹலஃ-​பி (half-full) ​ ​ேம ​இ ைல ​எ றா , ​அ ​ெடாெம ​பிைல (domestic


flights ) ; ​ெவளி பைடயாக, ​நா க ​பிரீ ​மீ (free meals) ​ேச ேவ (serve)​ெச யவி ைல,
ம னி க , ​நா க ​மீ ​ேச ேவ (meals serve)​ெச யவி ைல . ​ஒ ​பிரீ ​மீ (free
meals)​வழ க ப கிற , ​அ ​ஹலஃ-​பி (half-full) ​ ​அதிகமானா , 3000 ​
அதிகமான ​இ ைகக ​இ தா ​ெடாெம ​பிைல (domestic flights ) ​அ ல. ​ஆனா
மீ (meals) ​ ​ஹலஃ-​பி (half-full) ​ ​அதிகமாக ​இ ​ேபா , ​அ ​ஒ
ெடாெம ​பிைல (domestic flights ) ​அ ல, ​ம ​ ெக ​கா (ticket cost) 3000 ​
அதிகமானதாக ​இ ைல. ​ேம ​அ ​ஹலஃ-​பி (half-full) ​ேம ​இ தா , 3000 ​
ேம ப டவ க ​இ கிறா க , ​அ ​ெடாெம ​பிைல (domestic flights ) ​சா பி ட ​பிற
சா பி வ , ​ஆனா ​அ ​ஒ ​பிரீ ​மீ (free meals) ​அ ல.

பி ன ​இ த ​ஒ ெவா ​ ​ெட ​ேக (test case) ​ஆகிற . ​எனேவ, 1, 2, 3, 4, 5, 6, 7, 8


ேதைவ ப கிற , ​எனேவ n ​பரேம ட க (parameter) ​ஒ ெவா ​ஒ ​ லிய
பரேம ட (Boolean parameter)​ வாக ​இ தா , ​நம 2 n ​ெட ​ேக (test case)​க ​ேதைவ.
ஆனா ​இ த ​நா ​ஆ ைமஸி(optimize) ​ெச வ ​ஒ ​ேநா க , ​ஏெனனி ​இ த ​சில

95
உ ைமயி ​விதி ைறக ​கவைல ​இ ைல; ​ஒ ​ெடாெம ​பிைல (domestic flights ) , ​ம
அத ​ ெக ​கா (ticket cost) 3000 ​ ​ ைறவாக ​உ ள , ​அ ​ஹலஃ-​பி (half-full)
அ ல ​இ ைலயா ​எ பைத ​சரிபா க ​நா ​உ ைமயி ​கவைல பட ​ேவ யதி ைல.
இேதேபா , ​இ ேக, ​இைத ​சரிபா க , ​ஹலஃ-​பி (half-full) ​ேம , 3000 ​ ​அதிகமான,
ம ​இ ​ஒ ​ெடாெம ​பிைல (domestic flights ) ​அ ல ​இ ைலெய றா , ​நா க
ேச ேவ (serve)​ெச யமா ேடா , ​எனேவ ​இ த ​இர ​ெட ​ேக க(test case)​ைள
கா பிேன(combine) ​ெச ​சி க (single) ​ஒ ​ஆகிற .

(​ ைல ைட : 15:23)

எனேவ, ​நா ​ேற ட (redundant ) ​ெச ய ப ட ​ெட ​ேக (test case)​கைள


அக ேவாெம றா , ​இ த ​இர ைட ​கா பிேன(combine) ​ெச யலா . ​ம ​இ த
இர ​ஒேர ​அ (action) ​ெச . ​இ த ​ஒ ​ேம ப ட ​இர
ஹலஃ-​பி (half-full) ​விட ​ம 3000 ​விட ​இ ைக. ​இ ைலெயனி , ​அ ​ெடாெம
(domestic) ​அ ல ​இ ைலயா ​எ பைத, ​நா ​பிரீ ​ேமல (free meals)​அ ல ​ச ெக
மீ (charged meals) ​இ ைல. ​இேதேபா , ​இ த ​இ வ ​இ லாத ​வைர, ​இ ​ஆமா , ​அ
ெடாெம (domestic) ​அ ல ​இ ைலயா ​எ பைத ​நா க ​கவைல பட ​மா ேடா . ​இேதேபா ,
இ த ​இர ​இைடேய, ​ஹலஃ-​பி (half-full) )​ ​ேமலான , ​அ ​ஒ ​ெடாெம
பிைல (domestic flights ) ​ஆ , ​அ 3000 ​ ​அதிகமான ​இ ைக ​இ கா ​இ ைலயா
எ ற ​கவைல ​இ ைல, ​நா க ​மீ (meals) ​ேச ேவ (serve)​ெச ​ெகா கிேறா

(​ேநர :16:26).

(​ ைல ைட : 16:27 ​ஐ ​பா க )

எனேவ, ​நா ​அைத ​ஆ ைமஸி(optimize) ​ம ​நா ​நா ​ெட ​ேக (test case)​க
க பி கிேறா .

(​ ைல ைட : 16:34)

எனேவ, ​ஒ ​காரிய ைத ​நா ​நிைனவி ​ைவ தி க ​ேவ .​ ​ ற ப ட ​கா பிேனஷ


ஒ பி ​க ஷ கைள (combinations of condition) ​நா க ​க தி ​ெகா ள ​ேவ .
ஏென றா , ​பல ​பரேம ட (parameter) ​வழ க ப டா , ​சில ​கா பிேனஷ ​ஒ பி

96
க ஷ (combinations of condition) ​கைள ​நா ​இழ க ​ேநரி . ​ெடஸிஸி ​ேடபி (decision
table) ​ைய ​உ வா ​அேத ​சமய தி ​இர ​ஆ ஷ க (action) ​ஒேர
கா பிேனஷ யாக(combinations) ​இ பைத ​உ தி ​ெச ய ​ேவ , ​எனேவ ​அேத
கா பிேனஷ (combinations) ​யான ​இர ​ெவ ேவ ​ெட ​ேக (test case)​களி
ரிச (result) ​இ க , ​பி ன ​எ களி ​ெடஸிஸி ​ேடபி ைய (decision table)
வ வைம பதி ​ஏேதா ​தவ ​இ .

(​ ைல ைட : 17:15 ​பா க ).

இ ேபா , ​இ த ​ெடஸிஸி ​ேடபி (decision table) ​அ பைடயாக ​ெகா ட ​ெட (test)


வி ண பி க ய ​ ேரா ேல (problems)​க ​எ ன ​எ பைத ​இ ேபா ​பா ேபா . ​ ேரா ேல
ேட ெம (problem statement) ​யி ​ெடஸிஸி ​ேம கி (decision making)​எ
ேபா ,​இ ​க ஷ (input condition) ​சில ​கா பிேனஷ (combinations) ​ெபா
ெவ ேவ ​அ ஷ (actions)​க ​நைடெப கி றன. ​இ ​க ஷ (input conditions) ,
ெலாஜி க ​லீெட ஷி (logical leadership) ​ச ெச (subset) ​உ ளட கிய ​கண கீ , ​ம
இ (input) ​ம ​ (output) ​இைடேய ​ஒ ​கா –​எெப (cause-effect)
ெரளஷ ஷி (relationship) ​உ ள . ​எனேவ ​ (output) ​சில ​வ (values) ​ம ​இ
(input) ​ஏ ப கிற .

​ஆனா ​ெடஸிஸி ​ேடபி (decision table)​யி ​ஒ ​ பி ல (difficulty) ​எ


பரேம ட (parameter) ​க ​எ ணி ைக 3, 4, 5 ​இ தா , ​நா ​ெடஸிஸி ​ேடபி (decision
table) ​அைம க ​ . ​ஆனா ​பரேம ட (parameter)​வி ​எ ணி ைக 3​20 ​என ,
ஒ ெவா 3, 4 ​பரேம ட க (parameter)​எ ​ றலா , ​எனேவ ​ந ப ​ஒ பி ​ெகா ம
(columns ) ​எ ​ ​ஆக ​இ
ணி ைக 3 20 . 20 ​பரேம ட (parameter)​க ​அைன
சா தியமான ​கா பிேனஷ கைள (combinations ) ​நா ​க தி ​ெகா டா , ​ஒ ெவா
பரேம ட (parameter) ​ ​வ ேம(value)​க ​ஆ . ​நிைலக ​சா தியமான ​கா பிேனஷ
ஒ பி ​க ஷ ((combinations of condition) ) 3​20 ​ஆகிற ​இ ​மாணவ லி(manually)
ைகயாள ​ம ​ெட ​ேக (test case)​க ​அைம க ​ம ​பல ​ஆ ைமஸி (optimize)
உ ள . ​நா ​அைத ​ேவ ​விதமாக ​ெச ய ​ேவ .

(​ ைல ைட : 18:49 ​ஐ ​பா க )

97
இ ேக ​ம ெறா ​வினா . ​வினா ​நா ​ெசா ன ​ேபால,​ெட ​ேக (test case)​கைள
ைச (design) ​ெச வத காக ​பல ​தடைவ ​ெசா லிவி டதா , ​நம ​நிைறய
ராசி (practice) ​ேதைவ. ​சில ​ேநர களி ​தீேயாரி (theory) ​அறி தி , ​நா ​இ த
தீேயாரி(theory)​கைள ​பிரா (practice) ​ெச யாவி டா , ​நா ​உ ைமயி
ெசா ஷ (solutions) ​ெகா ​வரமா ேடா . ​எனேவ, ​ம ெறா ​ ேரா ேல (problem)​ கான
ெடஸிஸி ​ேடபி ​ெட (decision table testing)​ைய ​ ைச (design) ​ெச ய ​ ய சி கலா .
எனேவ, ​ ேரா ேல (problem) ​ஒ e- ​காம (e-commerce)​ைச (site)
ேகா (discount) ​ெதாட ​ெகா கிற ​எ ​ைவ ​ெகா ேவா . ​எனேவ,
இ-​காம (e-commerce) ​ைச (site) ​ ​ஒ ​ ேரா ரா ​ெர (program return) ​ெச
உ ள , ​இ ​ஒ ​கிசெடாெம (customer) ​ெபா ​ ேகா (discount)
கா கிற .

​ேவ ப ட ​ ேகா (discount)​க ​வழ க ப ட ​த ​அ பைடயி ​இ ேபா ​ப ேவ


கா (conditions) ​உ ளன. ​ஒ ​உ பின 2000 ​ ​ ைறவாக ​வா வத 10
சதவிகித ​ ேகா (discount) ​க ​கிைட கிற . ​ ச (purchase) 2000 ​ பா ​ேம
இ தா ​ ேடாெம (customer)​ 15 ​சதவிகித ​ ேகா (discount) ​க ​கிைட .
எ .​பி.​ஐ. ​கா (S.B.I card) ​ ல ​வா க ப டா 5 ​சதவீத ​ த ​ ேகா (discount) ​க
கிைட . 2000 ​ ​ஆ ​எ லா ​ ேகா கைள(discount) ​ ​வா கிய
பிற ,​ஷி ெம (shipment) ​இலவச . ​எனேவ ​இ ேக ​ஆ ஷ க (actions) ​உ ளன; ​ஒ ,
இ ​வ ேக(input value) ​ம ​ப ேம ​ெம ெத (payment method) ​ெபா
ேகா (discount)​க ​எ ப ​எ னெவ றா , ​இைவ ​இர ​வ ேக(value)​ க ,
ச ​அெமௗ (purchase amount) ​ம ​ப ேம ​ ைற(payment method) ​ஆ .

ஆைகயா , ​ ச ​அெமௗ (purchase amount) 2000 ​ ​ ைறவாக ​உ ளதா, ​அ ல


2000 ​ம ​அத ​அதிகமாக ​உ ளதா ​என ​இ ​க ஷ (input conditions)​களி
அ பைடயி ​இ ​இ ேக ​ெடஸிஸி ​ேடபி (decision table)​ைய ​அைம கலா . ​இ
எ .​பி.​ஐ. ​கா (S.B.I card) ​அ பைடயாக ​ெகா ட ​அெமௗ டா(amount) ​அ ல
இ ைலயா ​எ பைத . ​பி ன ​ ேகா (discount) ​அெமௗ (amount)
பய ப த ப மா ​அ ல ​இ ைலயா ​எ பைத ​ெகா , ​ேடா ட ​அெமௗ (total
amount) ​எ ன ? ​எ ப , ​இ த ​அ பைடயி , ​ ேகா (discount) ​ேர (rate)

98
எ னெவ றா , ​அ 10 ​சதவீத , 15 ​சதவீத , 5 ​சதவீத ​அ ல 0 ​சதவிகித ​ஆ . ​ேம
ஷி பி (shipping) ​இலவச . ​எனேவ, ​இத கான ​ெடஸிஸி ​ேடபி (decision table)​அைம க ,
ம ெட ​ேக (test case)​கைள ​அைம க .

(​ ைல ைட : 21:37 ​ஐ ​பா க )

ம ெறா ​ெரேல ​ெகா பினேடாரி (related combinatorial) ​ெட (testing) ​எ ப ​கா


-​எெப ​ ராபி (cause-effect graphing )​ஆ .​ கமாக ​ெசா வத கான ​கா -​எெப
ராபி (cause-effect graphing ) ​எ ப ​உ ைமயி ​ஒ ​ெடஸிஸி ​ேடபி ​ெட (decision
table testing) ​ஆ , ​ஆனா ​அ ​ஒ ​ ேரா ேல (problem) ​ ல ​ப பத ​ ல ​ றி பி ட
ெநா ேடஷ (notations) ​ெகா கிற , ​அத ​பி ன ​நா ​ஒ ​கா -​எெப
ராபி (cause-effect graphing ) ​ ைச (design)​ெச வதி ​அைத ​பிரதிநிதி வ ப தலா ,
ேம ​நா ​ஒ ​ேநராக ​சராசரி ​ ைற ​ெடஸிஸி ​ேடபி (decision table) ​ெகா ​வ ​ஒ
ேநர யான ​ ைற ​உ ள . ​எனேவ ​இைத ​சி தி க, ​கா -​எெப ​ ராபி (cause-effect graphing )
ைற ​உ ைமயி ​ெடஸிஸி ​ேடபி (decision table)​ைய ​உ வா க ​உத கிற , ​எனேவ ​இ , ​கா
-​எெப ​ ராபி (cause-effect graphing ) ​ ​ப றி ​ெசா ல ​மி த ​சி ட (succinct)
ேட ெம (statement)​யாக ​இ கலா .

ஒ ​கா -​எெப ​ ராபி (cause-effect graphing )​யி ​வ வி ​உ ள ​ ேரா ேல (problem) . ​நா


ஒ ​கா -​எெப ​ ராபி (cause-effect graphing ) ​ைய ​தயா ​ெச வி டா , ​ெடஸிஸி ​ேடபி
ெட (decision table testing)​யி ​வர ​ேநரி ​ேநர யான ​வழி ​உ ள , ​பி ன ​நா ​ெடஸிஸி
ேடபி ​ெட (decision table testing) ​ெச யலா , ​ஒ ெவா ​கா ந (column) ​ஒ ெட
ேக (test case)​ஆக ​மா . ​எனேவ, ​இ ேக ​நா ​இ ைட(input) ​ ​பா கிேறா , ​அவ ைற
கா (cause)​களாக , ​எெப (effect)​ைய ​ (output)​டாக ​அைழ கிேறா . ​பி ன ​நா
கா (cause)​க ​ம ​எெப (effect)​களி ​ப ேவ ​கா பிேனஷ (combination) ​ைய
பா க . ​இ ேக ​நா ​கா (cause) ​க ​ம ​கா பி (combine) ​ ேரா ​எெப (product
effect) ​எ த ​சா தியமான ​வழிகளி ​பா கிேறா . ​எனேவ, ​நீ க ​ ன ​ெடஸிஸி
ேடபி (decision table) ​யி ​ெடெவல ெம (development) ​ெச ேபா , ​எ லாவிதமான
கா பிேனஷ (combination)​கைள ​நா க ​உ ைமயி ​பரிசீலி க ​ேவ யதி ைல. ​எனேவ
ஒ ​ெபா ளி , ​இ ​கா பிேனஷனா(combination)​ ​எ ளஸி (explosion)
ேரா ேல (problem)​ைய ​தவி கிற .

99
(​ ைல ைட : 23:38)

பா க ​கா -​எெப ​ ராபி (causes and the effects graphing )​ைய ​ஒ ​எ கா ட


பா ேபா , ​ஏென றா ​இ ேக ​கி (crux) ​கா -​எெப ​ ராபி (causes and the effects
graphing ) ​உ வா கிற . ​நா ​ஒ ​ ைற ​கா -​எெப ​ ராபி (causes and the effects
graphing), ​அ ​அ பைடயி ​ெடஸிஸி ​ேடபிைள(decision table) ​அ பைடயிலான ​ெட
(testing)​ஆ . ​இ த ​ ேரா ேல (problem)​ைய ​ ​பா ேபா , ​பி ன ​அைத ​ஒ ​கா -​எெப
ராபி (causes and the effects graphing) ​ேபா (forms)​பிரதிநிதி வ ப த
ய சி க . ​உ ைமயி ​மிக ​எளி ​விவாதிபத தி ​இ லாம ​கா -​எெப
ராபி (causes and the effects graphing) ​ப றி ​ெசா வ , ​நா ​உ ைமயி ​இ த ​உதாரண
தீ க ​ ய சி ​ெச யலா , ​பி ன ​நீ க ​எ ன ​கா -​எெப ​ ராபி (causes and the effects
graphing)? ​ைய ​ப றி ​எ சரி ைகயாக ​இ க ​ேவ .

ேரா ேல (problem) ​ைய ​ ​பா ேபா ​ஒ ​வ கியி , ​ஒ ​வ கியி , 1 ​ல ச தி ​ ைறவான


அெமௗ (amount)​ைய ​ ரி சிபி (principle) ​ப ெடபாசி (deposit) ​ெச
ைவ பீ களானா , ​வ ​வீத 6%, 7% ​அ ல 8% ​ஆகியைவ 1 ​ஆ , 3 ​வ ட ​அ ல 5
வ ட க ​ஆ . ​ெடபாசி (deposit) 1 ​ல ச தி ​அதிகமாக ​இ தா , ​வ ​விகித 1
த 3 ​வ ட ​அ ல 3 ​வ ட ​அ ல ​அத ​ேம ​உ ளதா ​எ பைத ​ெபா , 7
சதவிகித , 8 ​சதவிகித , 9 ​சதவிகித ​ஆகியைவ. ​எனேவ ​இ த ​ ேரா ேல (problem)​ ​கா
-​எெப ​ ராபி (causes and the effects graphing )​ைய ​உ வா க ​ ய சி கலா .

(​ ைல ைட : 24:57 ​பா க )

தலி ​கா -​எெப (causes and the effects ) ​அைடயாள ​காணலா . ​ெடபாசி (deposit) 1
ஆ ​ ைறவாக ​இ தா , ​இைவ ​ெவ ேவ ​இ (input)​க ​ஆ ; ​ெடபாசி (deposit)
1 ​வ ட தி ​ ைறவாக ​உ ள ; ​ெடபாசி (deposit) 1 ​ஆ ​ம 3 ​ஆ க
இைடயி ​உ ள ; ​ெடபாசி (deposit) 3 ​வ ட தி ​அதிகமாக ​உ ள ; ​ெடபாசி (deposit) 1
ல ச தி ​ ைறவாக ​உ ள ; ​ெடபாசி (deposit)1 ​ல ச தி ​அதிகமாக ​உ ள , ​எனேவ
அைவ ​அைன ​இ ​காெஸ (input causes). ​பி ன ​எப (effects) 6 ​சதவீத , 7
சதவீத , 8 ​சதவீத , 9 ​சதவிகித .

100
இ த ​காெஸ (causes)​களி ​ றி பி ட ​கா பிேனஷ (combinations) ​எ கா
சில ​எெப (effects)​கைள ​ஏ ப , ​ெடபாசி (deposit) 1 ​வ ட தி ​ ைறவாக ,
ெடபாசி (deposit) 1 ​ல ச தி ​ ைறவாக , ​இ 6 ​சதவீத ைத ​ ேரா (produce)
ெச . ​ைவ 1 ​வ ட 3 ​வ ட ​ம ​ெடபாசி (deposit) 1 ​ல ச தி ​ ைறவாக
இ தா , ​அ 7 ​சதவீத ைத ​ ேரா (produce) ​ெச . ​ெடபாசி (deposit)1 ​வ ட தி
ைறவாக ​இ தா , ​ெடபாசி (deposit) ​அள 1 ​ல ச தி ​அதிகமாக ​இ தா , ​அ 7
சதவீத ைத ​ ேரா (produce) ​ெச .

(SlideTime ​ஐ ​பா க : 26:06)

இ ேபா , ​இ த ​ஆ ெப (aspect)​கைள ​சி தி ேபா . ​எனேவ, ​காெஸ (causes) ​ம


எப (effects) , ​இைவ ​ஒ ​சிரசி (circle)​ெகா , ​ெநா (node)​களி ​வ வ தி ​நா
றி பி கிேறா , ​அைன 5 ​கா (cause) ​கைள ​எ தி ேளா , ​பி ன ​கா (cause)​களி
கா பிேனஷ ​சில ​எப (effects)​கைள ​ஏ ப த ய , ​இ த
இ ெட ெம ேட(intermediate) ​ேநா (nodes)​க ​இ ​காண ப கி றன.

​கா ெல ​ ேரா ேல (complex problem)​பா ேபா ​பல ​இ ெட ெம ேட ​ெநா (intermediate


node)​கைள ​ெகா ​நா ​இ கலா . ​எனேவ, ​இ ேக 1 ​ஆ ​ ைறவாக ​இ தா , ​அ
1 ​ல ச தி ​ ைறவாக ​இ தா , ​இேதா ​இ ேக ​ம ​க ஷ (condition) ; ​எனேவ ​இைவ
இர ​இ தா , ​அ 6% ​வ ​விகித ைத ​ ேரா (produce)​ெச கிற .
ெடெபாசி (deposit) 1 ​ல ச தி ​அதிகமாக ​இ தா 1 ​வ ட தி ​ ைறவாக ​இ தா ,
அ 7 ​சதவீத ைத ​ ேரா (produce) ​ெச கிற . ​அ ​ ைறவாக ​இ தா ; ​எனேவ c4 ​ஐ
பா க ​ேவ , c4 ​நா ​நிைன கிேற , ​அ 1 ​ல ச தி ​ ைறவான , ​அ 1 ​ த 3
வ ட ​வைர ​ஆ , ​இ 7 ​சதவிகித ​ ேரா (produce) ​ெச கிற . ​அேதேபா ,
ெடபாசி (deposit) 1 ​ல ச தி ​அதிகமாக ​இ தா , 1 ​ஆ ​ ைறவாக ​இ தா ,
அ 7 ​சதவிகித ​ ேரா (produce) ​ெச கிற .

(SlideTime ​ஐ ​பா க : 27:54)

எனேவ, ​நம ​ஒ ைற ​இ தா , ​அ ​ெடஸிஸி ​ேடபி (decision table)​ைய


ெடெவல (develop) ​ெச வதா . ​எனேவ, ​நா ​க ஷ கைள(conditions) ​எ கிேறா ,
அத ட ​ச ப த ப ட ​அ ஷ (actions) , ​கா -​எெப ​ ராபி (causes and the effects

101
graphing ) ​ ​ேநர ​ ரா லஷ (translation) . ​ெடஸிஸி ​ேடபி ​ெட நி (decision table
techniques)​ைய ​தயா ​ெச வி டா , ​ஒ ெவா ​கா ந(column) ​ஒ ​ெட ​ேக (test
case)​எ ​ெடஸிஸி ​ேடபி ​ெட (decision table testing)​ெச யலா . ​எனேவ ​கா
-​எெப ​ ராபி (causes and the effects graphing ) ​மிக ​எளிைமயான
ெட நி (techniques) .​ெடஸிஸி ​ேடபி (decision table)​ைள ​ெகா ​வர, ​ஒ ​ெடஸிஸி
ேடபி (decision table) ​அ பைடயிலான ​ெட ​ேக (test case)​ ​க த பட ​ேவ ​எ
ெட ​ேக க (test case)​எ பிஓேன ​கா பிேனஷ (exponential combination) ​ைய
தவி கிற .

(​ ைல ைட : 28:32)

ஆனா ​பி ன ​மிக ​கா ெல ​ ேரா ேல (complex problem)​க , ​ெட ​ேக (test
case)​களி ​எ ணி ைக ​மிக ெபரியதாக ​மா . ​உதாரணமாக,​சி அ (situation)​களி
எ ேக ​க ஷ (condition) ​எ ணி ைக , ​இ ​க ஷ (input condition)​க 50 ​ம
ஒ ெவா ​ஒ ​ (true)​அ ல ​பா (false) ​எ ெகா வ ​அ ல ​பல
வ கைள(values) ​எ ப ​ேபா ற ​சி காஷ (situation) ​உ ளன. ​இ தைகய
ேரா ேல (problem) ​எழ ய ​பல ​சி காஷ (situation) , ​ றி பாக ​உ
இ ெட பி (user interfacing) ​ம ​எ ெப ேட ​க ேரால ​சா ேவ (embedded
controller software) ​க ெட (context) ​உ ளன, ​எனேவ ​இ த ​காெஸ (causes)​களி
உ ைமயி 2​50 ​ஐ ​வ வைம கிேறா , ​எனேவ ​நா 50 ​இ ​பரேம ட (input parameter)
கைள ​ ேவா , ​ஒ ெவா ​இர ​வ (value) ​எ . ​ெட (testing) ​யி
எ ணி ைக 2 ​பவ 50 ​ 2 ​எனி ​ேதைவ ப கிற .

எனேவ, ​சா தியமான ​எ லா ​கா பிேனஷ (combinations) 2 ​பவ 50 ​ ​ெட (test)


ெச ​பா க ​ ய சி ​ெச கிேறா , ​இ ​ெபரிய ​எ , ​உ ைமயிேலேய ​எ த ​நியாயமான
கால தி ​ெட (test) ​ெச ய ​ யா . ​எனேவ, ​ெட (test)​களி ​ ைற த
எ ணி ைகயிலான ​ேபா மான ​ெட (test)​கைள ​ெச வத கான ​சில ​பய ள ​வழிகைள
ெகா க ​ேவ , ​அ ​ைப --​வி ​ெட (pair-wise testing) ​ப றிய , ​இ வ
இ ​வ ேக(input value) ​களி ​அைன ​சா தியமான
கா பிேனஷ கைள (combinations) ​நா ​உ ைமயி ​க தி ​ெகா ள ​ேவ யதி ைல
ெடஸிஸி ​ேடபி (decision table) ​அ பைடயிலான ​ெட (testing) ​ம ​கா -​எெப

102
ராபி (causes and the effects graphing ) , ​நா க ​அைன ​இ ​கா பிேனஷ (input
combinations) ​ைய ​க தி ​ெகா . ​இ ​நா ​அவ கைள ​ப றி ​சி தி க ​மா ேடா .
அ த ​விரி ைரயி ​ைப -​விேஸ ​ெட (pair-wise testing) ​ப றி ​நா ​விவாதி ேபா . ​ந றி.

103
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-09–pair-wise Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர - 09 ைபர -விேச ெட

இ த அம வரேவ கிேறா . இ வைர நா பிளா பா ெட (black-box testing ) ைய


பா ெகா கிேறா , சில பிளா பா ெட (black-box testing ) ரா டஜி
(strategies)கைள கவனி தி கிேறா , ஆனா இ ஏ இவெள கிளா (equivalence
class )ெட ேகேஸ (test cases) கைள பா த . ெபஷ வ ேக ெட ேகேஸ (special
value test cases)கைள நா க பா ேளா .ேடஸிஸி ேடபி (decision table )
அ பைடயிலான ெட (testing)வ வ தி ெகா பினேடாரி ெட ெட (combinatorial
test testing ) ம காேச எபிபி கிராபி (cause effect graphing) ஏ ப ேவா .

இ ேபா , இ (input) எ ணி அள அதிகமாக இ ேபா ஒ ெகா பினேடாரி


ெட (combinatorial testing ) ட ய ம ெறா பிளா பா ெட (black-box testing )
ைய பா க ய சி ெச யலா . இ ஆ ைபர ெட (all Pair testing ) அ ல ைபர -விேச
ெட (Pair-wise testing).

(SlideTime ஐ பா க : 00:58)

ைபர -விேச ெட (Pair-wise testing). ரா டஜி (strategies)கைள பா கலா . நா பல


ைற றி பி ைகயி ,ஒ சி அ யி (situation) நம பல பரேம ட (parameter) க

104
உ ளன, ஒ ெவா பரேம ட (parameter) ஒ லிய (Boolean) அ ல பல
வா (values)கைள எ . இ த வ ேராசிேஸா (word processor) யி ேபா
ெச (font setting) ைய பா கலா .

( ைல ைட : 01:30)

இவ றி ஒ ெவா இ ெடேப ெட டலி(independently ) வி ஒன (switch ON)அ ல


வி ஆ (switch OFF) ெச , ட ரி ேக ரி ேக(double strike ) வழியாக ப
கிரி (superscript ), ச கிரி (subscript) மா ேக (small caps) ம பலவ றி
ெச யலா . எனேவ, ஏ நா இ ேக பலவ ைற ேத ெச யலா ேபா ேப ல(font type)
இ , இ ேக எ த வா (value)கைள ேத ெச யலா ேபா ைட (font style)
,ேபா ைட (font style) நீ க ெர ல (regular) , இ தாலி (italic), ேபா (bold) அ ல
ேபா இ தாலி (bold italic)ேத ெச யலா ம ேபா ைச (font size) இ பல
ைசஸி (size) 30, 40 இ கலா .

இ ேபா , ஒ ெபரிய எ ணாக இ அைன சா தியமான


கா பிேனஷ க (combinations) க தி இ தா . உதாரணமாக, நா 4, 3, 7, 3, 10 எ
ேவா . ஆைகயா , 10 இ (input) ம சில ேநர களி சில ேரா ேல (problem)கைள
ம ேம சரிபா க எ றா , இ ெடேப ெட டலி(independently) அவ ைற சரிபா ,
ஒ ப கிரி (superscript) அ ல ச கிரி (subscript) ம பல. எளிைம காக நா
சரிபா க எ எ கிேறா , இ ேக இ (input) பரேம ட (parameter) க எ த
சா தியமான கா பிேனஷ (combinations) ெகா க .

இ த அள ேதைவ ப சா தியமான ெட ேக (test case)களி எ ணி ைக, இ த


வ ேக (value) க 2 பவ (power) 10 அ ல 1024 2 ஆ , ஆனா அத ட நா
ேபா கல (font colour) க தி ெகா ள ேவ அ ல ேபா (font) ம
க தி ெகா ள ேவ .இ 10 ம இ ேக இ பதாக நா க தி ெகா ளலா ,
இ த 3 எ ப 10 வ ஒ பி ேகா (value of course) ம ேம எ பைத ெகா ளலா ,
இவ றி எளிைமயான இ ேக நம 10 ஆக கிைட . எனேவ, நா 10 பவ (power) 3 ைய
க தி ெகா ள ேவ . எனேவ, இ 1000 ஏ வா (equal) ஆக இ . எனேவ,
இ த ம இைத க தி ெகா ,இ 10 சா தியமான வ க (value) உ ளன, இ
1024 ஆக 1000 மி லிய வ ேக (value) ஆ . எனேவ, இ மிக பல சா தியமான

105
அைன கா பிேனஷ க (combinations) உ ைமயி ெட (test)ெச ய யா . 1
கிேற (screen) ைய சரிபா பத காக, இ த மி லிய அதிக சா தியமான
கா பிேனஷ (combinations) இய ெட ட (testers) களா உ ைமயி யா . எனேவ,
மா எ ன?

( ைல ைட : 04:34 ஐ பா க )

எனேவ, அ ைபர -விேச ெட (Pair-wise testing) ப றிய . நா இ (input)க ம


ஒ ெவா இ (input)ைட ெகா கா பினாேடாரி ெட (combinatorial
testing) ேரா ேல (problem) ைய ைறயாக றி பி வத சில வ க (values), சில வலீ
வ ேக(valid value) 3, சில 2 ஐ எ கலா , சில 5 சா தியமான வ ேக(value)கைள
எ ெகா ளலா , ேட (state), சி ட (system) S ெபஹேவ(behave) ெச அேத ேநர
இ த சா தியமான கா பிேனஷ க (combinations) ெகா க ப ெசய ப .

இ ைலெயனி , ேரா ேல (problem) மிக கா ெல (complex)லானாதாகிவி , ஆனா நா


தலி ெசாலேவ(solution) காண ய சி ெச ேவா ,ஆனா தலி நா ெசாலேவ(solve) எளிய
ேரா ேல (problem) ைய நா க ெட (test) ெச ைறைம ேட
இ ெடேப ெட (state independent ) ஆக இ கிற , பி ன அத வ ேக(value)களி
கா பிேனஷ (combinations) ெபா சா ேவ (software)ளி (bugs) க
இ கலா .

(SlideTime ஐ பா க : 05:44)

N இ தா 20, 30 ம பல ம கா பிேனஷ (combinations) எ ணி ைக அதிகமாக


இ அைன வ (value) ெட (test) ெச ய . எனேவ, 10, 12 அ ல 20 ெட
ேக (test case)கைள பய ப தி ெட (testing) நா எ வா ெட (test) ெச யலா ,
இ மீ ெமா ைற (bugs)கைள க பி ேபா . எனேவ, இ ெகா பினேடாரி
ெட (combinatorial testing ) ம கிய கவனி எ ப ஒ ேரா ரா (program) 30,
40 பரேம ட (parameter)க ட எ த ப ட ேபா , இ ஒ ைபர ஒ பி பரேம ட (pair of
parameter)அ ல ஒ பரேம ட (parameter) வி சில றி பி ட
கா பிேனஷ களாக(combinations) இ கலா அ ல ேரா ேல (problem) ஏ ப 3
பரேம ட க (parameter) வைர இ கலா . எனேவ, 3 பரேம ட க (parameter), எ

106
ெகா எ த 3 பரேம ட (parameter) க (அ ல ) றி பி ட பரேம ட 9parameter) அ ல
2 பரேம ட (parameter) க சில றி பி ட பரேம ட (parameter) எ ெகா ளலா அ ல
ஒ ைற பரேம ட வா(parameter)க இ கலா ,

ஒ றி பி ட பரேம ட (parameter) ெகா ம ேம ேரா ேல (problem)ஏ ப கிற .


ெறசீ ேச (researchers ) ெப மளவிலான சா ேவ (software)கைள ெட (test) ெச
தி கி ேறா ம நீ க 40 ெட இ ( test input) க இ தா , 2 ெட (test) , 2
கா பிேனஷ கைள(combinations) நா க க தி ெகா டா , கி ட த ட அைன
(bugs)க க பி க ப வைத நா க க டறி ெகா ள யா . எனேவ, நா
அைத இ கிேற .

( ைல ைட : 07:31)

எனேவ, நா இ பரேம ட (input parameter) p 1, p 2 வைர இ க ேவ p 40 ம


ஒ ெவா 1அ ல 0அ ல 1ஆ . இ ேபா , p 1 ம p 15 வ ேக(value) 1 உ ள .
எனேவ, இ த சா தியமான கா பிேனஷ (combination) p 1 ம p 15, இர
அைம ேளா . இ ேபா ற 1 ேவ கா பிேனஷ (combination) தா , இ 1ஆ ,இ 1
ஆ ,இ த1 தலிட எ த ேரா ேல (problem) இ ைல ()

இ த றி பி ட அைம ைப ெகா ேபா , ஒ விஷயேம இ ைல. இ த வைகயான


ேரா ேல (problem) கைள க டறிவத நா உ ைமயிேலேய ெட ேக (test case)கைள
உ வா க ேவ . இதி 1 15, 1, 1 15, 0 1, 1 15 அைம க ப ட 1, 1, 1, 1, 2, 0 1 1 0 ம
அத ேம அைம க . எனேவ, இ ேதைவ ப ெட ேக (test case)களி
எ ணி ைக மிக ைறவாக இ , ஏென றா 1 0 1 0 1 0 1 ேபா ற பல ெட
ேக க (test case) இ கலா . எனேவ, இ த 1 ெட ேக (test case)பல ைபர -விேஷ
வ (pair-wise value) என 1 0 0 0 1 1 0 ம பல. எனேவ, அைன சா தியமான வ
(value)க ைபர -விேஷ கா பிேனஷ (pair-wise combination) உ வா க ேதைவயான ெட
ேக க (test case) எ ணி ைக, 2 பரேம ட (parameter) க ர க லி ெல (drastically
less)ஆக இ .

எனேவ, 40 பரேம ட (parameter) க ம ஒ ெவா 2வ (values)கைள எ பத 2


பவ (power) 40 ெட ேக (test case) க ேதைவ அ ல கா பிேனஷ வ (combination

107
values) க தி ெகா ள ேவ , ஆனா நா ைபர -விேஷ வா (pair-wise values)
க தி ம இ தா , சா தியமான அைன ைபர -விேஷ வா (pair-wise values) க
பி ன ெட ேக (test case)க 10 அ ல 12 ஆக இ கலா . இ த க னமான ேரா ேல
(problem)ைய ெதரி ெகா ள எ க ெதரியா , ஆனா நம (tools)க
கிைட கி றன, நம மிக எளிைமயான சிறிய (tools)களாக இ கி றான, அவ ைற
ர (run) ப ண ,க பி க ,அ ைபர -விேஷ ெட ேக (pair-wise test case)க ஆ
ைபர ெட ேக (all pair test cases).

இ த விவர கைள பா கலா . 2 அ ல 3 வரிஅ ேளக (variable) ம ேம


வ ேக(value) ளதாக இ எனேவ, ேவ வரிஅ ேளக (variable) வ ேக(value)க
ெதாட பாக இ என நா க தினா ெகா டா , ெட ேக (test case)களி
எ ணி ைகைய ைற பதாக , அதிக அளவி சா ேவ (software) களி அைத க
பி பதி ேரா ேல (problem) இ பதாக ,அ உ ைமயி நா க 2அ ல அதிகப ச
3 கா பிேனஷ கைள(combination) க தி ெகா ேபா கி ட த ட ஒ ெவா
(bugs) க பி க ப . எனேவ, 2 ெபரியளவிலான சா ேவ க (software) ஏ கனேவ
80 சதவிகித (bugs)க கிைட தி கலா , நீ க 3 கா பிேனஷ (combination)ைய 90%
ம 4 அ ல 5 நா அைன (bugs)க கிைட தி கலா . 40 ேம ப ட 40
பரேம ட (parameter)கைள பரிேசாதி க ேவ ய அவசியமி ைல எ றா , அ ெட (test)
உ ப த ப ள .

இ த ைபர -விேஷ ெட (pair-wise testing)களி எ ன ெதாட இ கிற எ பைத நா


எ வா பா கலா , எ ப இ த ைபர -விேஷ ெட ேக (pair-wise test case)கைள
மாணவ லி(manually) ைறயாக உ வா கலா ம நி சயமாக, நீ க (tools)
இ (input)கைள எ ேக இ (input) ெச கிறீ க எ அவ க றின அ உ க
ெட ேக (test case) கைள ெகா . எனேவ, ைபர -விேஷ ெட (pair-wise
testing)ேவைல ஏ கிய காரண ஒ சில பரேம ட (parameter)
இ ெடெர ஷ (interactions) ஏ ப கிற எ ஆகிற . நீ க ஏ றியாக
இ கி றீ க எ பைத ரி ெகா ள வி பினா , ேரா ரா (program) ேகாைட (code)
நீ க பா தா , எ லா சா தியமான கா பிேனஷ (combination) க தி ெகா ளாம ,

108
ஒ ெவா றி காக ேக க (case) இ பி , நா க உ ைமயி டேடேம
(statement)சிலவ ைற ம க தி ெகா டா

( ைல ைட : 12:16)

இ ேடேற ேர (interest rate) , அெமௗ (amount) , ெமா (month) , பி ன ேடா


ெபெம (down payment) ம பண ெச த பிெர னிசி(frequency) ஆகியவ ைற இ த
உதாரண பா கலா . எனேவ, ெடௗ ப ேம (down payment) ஒ ேநர தி எ வள பண
ப ேம (payment) ெச கிறேதா, பண ெச த பிெர னிசி(frequency) எ னெவ றா ,
இ ேடேற ேர (interest rate) ெபா ேவ ப ட எ ஒ ேலா (loan) இ த ப ேவ
பரேம ட (parameter) ெகா க ப கிற . எனேவ, ப ேம (payment) ெபா தவைர,
ெமா (month)களி எ ணி ைக எ னெவனி ெடௗ ப ேம (down payment) ம
ப ேம பிெர னிசி(payment frequency) எ ன? எனேவ, இ த ப ேவ
கா பிேனஷ (combination) உ ளன ம நா ம தியி ைபர -விேஷ (pair-wise)க த
. இ ேடேற ேர (interest rate) ம ெடௗ ப ெம (download payment) , ேமா
(month) ம ப ேம பிெர னிசி (payment frequency)ேபா றைவ. நா பி ன அைன
(bugs)க க பி க ேவ .

( ைல ைட : 13:19 ஐ பா க )

ேம ேதைவயான ெற ஷ (reduction) ம ேதைவயான ெட ேக (test case)களி


எ ணி ைக உ ைமயி விய த வாக உ ள . இ ேக இ (input)களி எ ணி ைக 7
ஆ , ஒ ெவா 2 வ (value)கைள எ தா அைவ லிய (Boolean), 7 லிய
இ (Boolean input)க ஆ , பி ன கா பிேனஷ (combinations) எ ணி ைக 2
பவ (power) 7 128 ஆ , ஆனா இ ைபர -விேஷ ெட (pair-wise test)ெச (set)
வ ேக(test value) 8 ஆ . நீ க 13 இ (input)க இ தா ம ஒ ெவா
ெட (test) 3 ஆகியவ றி கா பிேனஷ (combination) எ ணி ைகயான 3 பவ (power)
13 3ஆ ,இ 1.6 இ 10 பவ (power) 6 ஆ , ஆனா ைபர -விேஷ ெட (pair-wise
test) அள 15 ஆ . ; 1.6 மி லியனாக 40 ஆக , ஒ ெவா 1 எ 3 ஆக ,
ேதைவ ப ெட ேக (test case)களி எ ணி ைக எ ன எ பைத பா க , இ த

109
ஆ வி ஒ ெவா ெட (test) ெச ய பட ேவ , 21-ஆ ைபர -விேஷ ெட
ேக (pair-wise test case)க 21 ஆ .

ஆனா , நீ க 7இ (input) ம ஒ ெவா ைற 2 எ ெகா ட .ம என


கிைட த 8 ம இ த 15, என 21 கிைட எ .என எ ப இ தஎ க
உ ைமயி நா இ த (tools) ல உ வா க ப ட ம ெவ ேவ (tool) இத
ேவ ப ட ெட ேக (test case)க உ வா க ப கிைட த .எனேவ, எ தைன ைபர -விேச
ெட ேக (pair-wise test case)க ேதைவ ப , ஒ க னமான ேரா ேல (problem) , நா
ப ேவ (tools)களா ட ேவ பா உ வா க எ அவ க
அ ேகாரித (algorithm) ெபா ெட ேக (test case) ர (run) ெச ய ப கிற ஆனா
ஹி கிளி பி (hill climbing) அ ேகாரித (algorithm) ேபா ற ெகா பினேடாரி (combinatorial)
ஆ மி (optimize) ம ெஜென அ ேகாரித (genetic algorithms) ம பல இ
ேந ஆ ம ெட ஸா (near optimal test cases).

( ைல ைட : 15:46 ஐ பா க )

இ ேபா இைத நீ - ரி (nitty-gritty) பா ேபா . எனேவ, இ t- வழி இ ெடெர ஷ


(interaction) பாஉ (faults) உ ள ேரா ரா (program) என அைழ கி ற , அ இ
வ ேக(input value)களி t இ சில கா பிேனஷ (combination)களா ஏ ப கிற . நா n
இ வ ேக(input value)க n 40 அ ல 50 இ கலா ம அத ெவளிேய 3
இ வி (input) க ெசா லலா , அைவ சில றி பி ட வ ேக(value) 1 0 1,
ேரா ேல (problem) ஏ ப ைகயி இ . எளிைமயான t- வழி பாஉ (faults) எ ப 1-வழி
பாஉ (faults) களி ஒ 1-வழி பிலா (fault) எ ப (true) அ ல பா (false)
அைம தா அ ல ஏதாவ ேரா ேல (problem) ஏ ப டா , ஒ ைபர -விேஷ ெட (pair-wise
test) பாஉ (faults) 2-வழி பாஉ (faults) க .

இ த ெசா களி அ பைடயி ஒ t- வழி பாஉ (faults) எ ப t இ இ (input)


பரேம ட (parameter) கா பிேனஷ (combination) ஏ ப கிற ம நீ க 5- ைற
பாஉ (faults) எ க தினா , அைன சா தியமான (bugs)க நைட ைற
சா ேவ (software)ளி , சா ேவ (software) களி ெப ப தி எளிைமயான ம ைபர
-விேஷ பா (pair-wise faults)கைள உ ளட கிய , மிக ெபரிய சா ேவ (software) ,
ேரா ேல (problem) ம ெபரிய சா ேவ (software) க ட ைபர -விேஷ பா (pair-wise

110
faults))கைள நா க தி ெகா டா 80-90 சதவிகித ேரா ேல (problem) அைடயாள
காண ப பா க , 3-வழி அ ல 4-வழிைய க தி ெகா க , த ேபா இ
ஒ ெவா (bugs) , ம ெட ேக (test case)களி எ ணி ைக ைற க ப .

( ைல ைட : 17:48 ஐ பா க )

இ ேபா , சி கி ெமாேட (single mode bugs) ஒ உதாரண பா கலா . ஏென றா


சி க ேமா (single mode bugs) வ , எ ேபா ஒ பரேம ட க (parameter) ஒ சில
வ ேக(value) அைம க ப டா , ம ற அைன பரேம ட க (parameter) அைம பதி
ேரா ேல (problem) உ ள .

ஒ உதாரண பா கலா எனேவ, ெல ஒ ஒ ைத(duplex options) ஒ , ரி ேடாஉ


(print out)வைக ம பிற ேத ெத க ப ட வி ப ைத ெபா ப தாம , பிரி ட டயலா
பா (printer dialog box)யி ட ஒ (double options) ேத ெச ேபா
பிரி ட (printer) எ ேபா ஒலி . எனேவ, நீ ட காலமாக நீ க இ (input) ெச த
(box)பா களி ஒ ைற ம ற அைன ைத ெட (test) ெச வத ல சரிபா காம ,
ேரா ேல (problem) ஏ ப கிற , ேம நீ க அைத சரிபா கவி ைல எ றா , நீ க இ த
ெல ஒ ஒ ைத(duplex options) அைம கவி ைல, பி ன ம ற பரேம ட க (parameter)
எ த ேரா ேல (problem) ஏ படா .

( ைல ைட : 18:51)

எனேவ, இ ஒ சி க ேமா (single mode bugs) ஆ , ஏெனனி இ ஒ சி க


பரேம ட (single parameter) வி அைம பா ஏ ப கிற , ேரா ேல (problem) ஒ ட
ேமா (double mode) பாஉ (fault) அ ல (two)ஒபிஷ ேகா ைபேன (options
combined)ஆ ேபா ஒ 2- ைற பாஉ (faults) ஏ ப கிற , எ கா டாக, இ த
பிரி ேடா (print out)களி 2 ஆன ேரா ேல (problem) ஏ ப ைகயி அ ல ேவ ஒ
கா பிேனஷ (combinations)யா , ம ேமா பாஉ (multi-mode faults) 3 அ ல
அைம களி ஏ ப , ஒ றி பி ட அைம பி ட (double)பிரி ேடா (printout) ைய
ேத ெத ேபா பிரி அ (print out) ேதா றமளி 3அ ல ைற பரேம ட க
(parameter) ேரா ேல (problem) ஏ ப தின.

111
( ைல ைட : 19:20)

இ ேபா , ஒ எ கா ேரா ரா (program) ைய நா பா ேபா

( ைல ைட : 19:24)

இ த ேரா ேல (problem) களி ெப பாலானைவ 2- ைற ேரா ேல (problem)க . எனேவ, இ


ஏேத ஒ ைற ெசய ப த ய சி ஒ ேரா ராமா (program), அ பல
பரேம ட (parameter) கைள றி கிற ம அ 3 பரேம ட (parameter) கைள ம ேம
க கிற ம x 1 ஐ x 1 ம y ஏ வா (equal) இ தா y ட ஏ வா (equal)
இ தா 2 அ f xyz ஆ . X எ றா x 2 ஏ வா (equal) இ தா y y y 1
ஏ வா (equal) இ தா (output) gxy ஆ . எனேவ, இ த க ட தி ேராகிராம
(programmer)இ த ேட ெம (statement) ேவ எைதயாவ எ த ேவ எ றா x
ஏ வா (equal) x2ம yy2 ஏ வா (equal) இ தா , x 2 x ஏ வா (equal)
இ தா x 2 y ட y y 2 பி (output) f xyz ைமன (mines) gxy ேவ (output) f
xyz பிள (plus )gxy ஆக இ க ேவ , ஏென றா இ த x x 1 ஏ வா (equal) , y y y
2 ஏ வா (equal) . எனேவ, ேரா ேல (problem) ஏ படலா . எனேவ,
ேரா ராம (programmer) கிளா (class) 1 மற க ,அ ல கிளா (class) யி எ றா
அ ல ஒ ேவைள அவ கிளா (class), ேட ெம (statement)ப தியி ஏதாவ
ேரா (wrong) எ தியி கலா . எனேவ, அ த றி பி ட ெச (settings)களி
ெகா க ப ேபா அ ேரா ேல (problem)ைய ஏ ப .

( ைல ைட : 21:11)

இ அ ரா மா ேபா (Android smart phone ) ெட (test) ெச ய பட ேவ ய


ம ெறா எ கா ஆ . ப ேவ எ விரா ெம ட (environment) ெச க
(settings)ஒெபர சி ட (operating system)ெட (test) ெச ய பட ேவ . எனேவ,
ஒெபர சி ட (operating system) ஹா ெகயேபா (hard keyboard) ேபா ற சில
எ விரா ெம ட பரேம ட (environment parameter) களா ேகாணபி ரா (configured)
ெச ய படா , அைம க ப ட அ ல க னமான ெகயேபா (keyboard) மைற க படாம
ஹி ேட (hidden) உ டபிென ெச (undefined), கிறீ லா (screen layout)
ெபரியதாகேவா அ ல சாதாரணமாகேவா அ ல ெச (set)ெச ய பட ேவ யைவ

112
சிறியதாகேவா இ கலா அ ல நா ம (normal) அ ல ஒரிஇ டஷ (orientation) இ
லா ேக (landscape )அ ல ேபா ைர (portrait )எனேவ, இ த ஒ றி பி ட ெதாைலேபசி
ெதா அ ரா (Android) கான ேகாணபி ரா (configured) ஆ .

இ ெபா , இ த வரிஅ ேள(variable)கைள ெவ ேவ வ ேக(value)கைள எ


ெகா ளலா . எனேவ, எ க 172,800 ெட ேக (test case)க உ ளன. எனேவ, பல,
ஆனா நீ க ைபர -விேஷ ெட (pair-wise testing) ய சி ெச யலா , 3-வழி
ெட (testing) , 4-வழி ெட (testing) , 5-வழி ெட (testing) ம நம ஒ ெவா
(bugs) கிைட த .

ஆனா இ ேபா வைர நா எ ன பதி ெசா லவி ைல ைபர -விேஷ ெட ேக கைள(pair-wise


test case) உ வா கினா , நா சில எளிைமயான அ ேகாரித (algorithm)கைள
ெகா , இ பரேம ட (parameter) க ம வ ேவ(value) களி ெதா இ த
பரேம ட க (parameter) எ , நா ைபர -விேஷ ெட ேக க (pair-wise test case) . ைபர
-விேஷ ெட ேக (pair-wise test case) க ()மிக அதிக எ ணி ைகயிலான ெட ேக (test
case)கைள உ வா எ நா ெசா ன ேபாலேவ மிக க னமான ேரா ேல (problem)
ம நா ஏெவா ஷனரி அ ேகாரித (evolutionary algorithms, ) , ெஜென
அ ேகாரித (genetic algorithms) ம பலவ ைற ய சி ெச யலா . ஆனா ஒ எளிய
அ ேகாரித (algorithm) பா ேபா , இ நம ைபர -விேச ெட ைய(pair-wise testing) ப றிய
பல ெட (test0கைள வழ . நா ெசா வ எ னெவ றா ஆ ம ந ப ஒ பி ைபர -விேஷ
ெட ேக க (optimal number of pair-wise test cases)

( ைல ைட : 23:20)

த விஷய எ னெவ றா வரிஅ ேள(variable)க எ ன எ பைத க டறிய, நா 2


வ ேக(value) ேபா ைர (portrait ) ம லா ேக (landscape) எ இ
பரேம ட (input parameter)வி 1 என ஒரிஇ டஷ ைய(orientation) ெகா கிேறா . 3
வ ேக(value) கைள எ ம ெறா பரேம ட வாக(parameter) கிறீ (screen)உ ள
ம ெகயேபா (key board) 2 மதி க எ ம ெறா பரேம ட (parameter)வா .
எனேவ, நா ெச ய ேவ ய த விஷய இ த ேடபி (table) ஏ பா ெச கிற , இைவ இ
பரேம ட ேடபி (input parameter table) ஆ . இ த ேடபி (table)ைய நா க தலி ஏ பா
ெச கிேறா . மிக ெபரிய வ ேவ(value) ெகா பரேமேட (parameter)ைவ தலி

113
நா க க கிேறா . இதி மிக அதிகமானைவ எைவ எைவ எ க கிறீ க எ பைத ,
அ த 1 ம அத அ த ஏ பா ெச ேவா . எனேவ, இ த ேடபி (table)ைய இ
வ ேவ(input value)க ம சீரைம கலா , ேலபி ேமா கா நயி (left most column) மிக
அதிக மதி ள வ ேவ(value)க உ ளன. எனேவ, இ ேக ஒ ைமயான ெட (test)ைய 2
ஆ 3 ெட ேக (test case) களி 2 ஆக க ப , ஆனா நா ைபர -விேஷ ெட
ேக (pair-wise test case) உ வா கி விடலா , இ மிக ைறவாக இ .

( ைல ைட : 24:43)

நா ெச த த விஷய , நா இ பரேம ட (input parameter) க , நா தலி ஏ பா


ெச ய ய அதிகப ச வ ேவ(value)களி அதிகப ச எ ணி ைகைய எ ெகா ட ,
அ த அ த பரேம ட (parameter) க ெகா ட , பி ன ஒ அ ல அத
ஏ வா (equal) எ பரேம ட (parameter) க ,ம இ ஒ ஹீ ரி (heuristic) எ
நிைனவி ம நா ம அ லி(manually) ெட ேக (test case)க ஆ ம (optimum) எ
ெட ேக ( test cases )க ெகா க ேவ ம நா ம அ லி(manually) சரிபா க
ேவ எ ய சி ெச கிேறா .

( ைல ேநர ைத றி பி க: 25:04)

ெட ேக க (test case) அைன சரியாக இ தா , இ ைலெயனி நீ க அைத


ம அ லி (manually) சரிெச ெகா ள ேவ , இ ேபா நா அ த ேட (step)ஏ பா
ெச ேளா , அதிகப ச பரேம ட (parameter)கைள எ வ ேக(value)ைவ நா க
எ ேளா , அ ம ற வா (value) 2 பரேம ட க (parameter) எ . எனேவ, நா
இ 2 லா (large) , லா (large), மா (small) , மா (small), நா ம (normal) ,
நா ம (normal) எ கைள எ தி ேள , பி ன நா எ தி ேளா
அ ெட நா ேவலி(alternatively ) ேபா ைர (portrait) , லா ேக (landscape) ,
ேபா ைர (portrait), லா ேக (landscape), ேபா ைர (portrait), லா ேக (landscape)
ஆகியவ ைற எ தி ேளா .

( ைல ைட : 25:59 ஐ பா க )

114
அ த ப யிேலேய நா றாவ பரேம ட (parameter) ைவ எ ெகா ேவா , நா
QWERTY, 12 கி(key) QWERTY, 12 கி(key) , தலியவ ைற எ ேவா , பி ன நா இ ேக அதிக
வரிஅ ேளக (variable) ேச கலா , ஆனா நா ெச ய ேவ ய உ தி.

( ைல ைட : 26:12 ஐ பா க )

நா அைன (இ ேக)சில மா ற கைள ெச யவி ைல எ றா , அைன ைபர(pair)க


ம அ லியாக(manually) இ தா . எனேவ, கிறீ (screen) ம ேக ேபாஅ (keyboard)
கிறீ (screen) ம ஒரிஇ டஷ (orientation) , ஒரிஇ டஷ (orientation) ம
ேக ேபாஅ (keyboard) இைடேய இ ஒ ெவா ைபர (pair) வ ேவ(value)க இ ைல.
இ ைலெயனி , நா இ ேக இ த வ ேவ(value)க சிறி சிறிதாக மா ேவா . எனேவ, நா
வ ேவ(value) க ைபர(pair) கிைட அ ல நா அைன கா பிேனஷ க (combination)
அைன ேச க இ ேக த ேராக (rows) ைழ க .

எனேவ, நம ெபரிய ம ேபா ைர (portrait) உ ள ம நா லா ேக (landscape)


ம ெபரிய ம நா QWERTY ம ெபரிய நா 12 கி ம ெபரிய ம நா
ேபா ைர (portrait) ம QWERTY ேவ , ஆனா லா ேக (landscape) ம
QWERTY ஆமா ப றி இ ேக நா இ ேக எ ன. எனேவ, நா இ வ ேவ(value) கைள
எ கிேறா , அேதேபா , ேவ எ த பரேம ட கைள(parameter)ேயா நா காணவி ைல எ றா ,
எ த றி பி ட கா பிேனஷ (combination) இ லாவி டா , இ ேக த
(rules)கைள ேச க ய சி கிேறா .

( ைல ைட : 00:58 ஐ பா க )

எனேவ, இ ஆ ைபர ெட (all pairs testing) க ெட ேக (test case) கைள


உ வா ஒ ம அ லி (manually)ஆ . எனேவ, நா ைபர(pair) கைள ேச பைத
ெதாட ைவ தி க , பி ன அைன சா தியமான கா பிேனஷ (combinations)
இ கி றனவா எ பைத சரிபா க .

( ைல ைட : 27:29 ஐ பா க )

115
இ தியாக, ளிேக ெட ேக (duplicate test cases) க இ கலா , நா
எ ணி ைகைய ைற க ய சி கிேறா . எனேவ, இ ெட ேக (test case) கைள
உ வா ஒ ம அ லி (manually)அ ேகாரித (algorithm) ஆ .

( ைல ைட : 27:48 ஐ பா க )

ஆனா பல சி (tools)க கிைட கி றன என றினா , அவ ைற நீ க


ட ேலா (download) ெச ம அவ ைற ர (run) ெச யலா ம இ
பரேம ட (input parameter) க ம சா தியமான வ ேவ(value)கைள வழ கலா . இ
சரியான ெட ேக (test case) கைள உ க ெகா , Google PICT இ நீ க
காண ய (tools)க வி ேடா (windows) ம லின பி டேபா (linux
platform)களி இய கி றன, ெஜ னி (jenny)இ ஓப ெசௗ சி ேரா ரா (open source C
program) . நீ க சிறிய சி ேரா ரா (c Program) 100-200 வரிக ம நீ க ெசௗ
ேகாைட(source code) ட ேலா (download) ெச அைத ர (run) ெச ேவா , பி ன
அைன ைபர(pair)க ம ெறா (tool) யா .

பல க (tools) கிைட கி றன, சிறிய (tool) க ம நீ க ெட (test) களி


எ ணி ைகைய ெகா , ேம நீ க இ பரேம ட (input parameter) வி
ெவ ேவ வ ேவ(value)க ட ய சி ெச ெம பைத , ஒ ெவா
பரேம ட (parameter)ைவ வ ேவ(value)களி எ ணி ைகைய எ எ றிேன .
இ த க (tools) ேவ ப ட ப ைறகைள பய ப தலா , ஏென றா அைவ ெவ ேவ
அ ேகாரித (algorithm) பய ப தலா .

இ த (tools)ைய ட ேலா (download) ெச அவ ைற ர (run) ெச தா எ தெவா


விஷய தி பய ள , மிக எளிதான (tool) (tool) யா . இவ றி
ெப பாலானைவ ட GUI, அ த ெட (testing) இ ெட பி (interface)
ெகா கவி ைல. எனேவ, அைத ெச க ம அ த அம களி ஹி ேட பா
ெட (white box testing) ப றி விவாதி ேபா . ந றி.

116
ெம ெபா ேசாதைன ேபராசிரிய ரஜி மா கணினி அறிவிய ம ெபாறியிய ைற இ திய
ெதாழி ப நி வன , கார விரி ைர - 10 ெவ ைள ெப ெட

இ த அம வரேவ கிேறா . நா இ வைர சில பிளா பா ெட


ெட நி கைள(Black-box testing techniques) பா ேதா . இ ெபா சில ஹி ேட -பா
ெட ெட நி கைள(White-box testing techniques) பா ேபா .

( ைல ைட : 00:40 ஐ பா க )

நா ஏ கனேவ ெசா னப ஹி ேட -பா ெட (White-box testing ) ேகா


(code) கி ேற (structure) எ சாமினி (examining ) ெச வத ல ெட ேக (test
case)கைள உ வா கிற . அவ களி ஒ டஜ (dozen) வீர கைள ப றி பல ஹி ேட -பா
ெட ெட நி (White-box testing techniques) உ ளன. நா பா கேபாேறா 6, 7 கிய
ெரகி க (strategies )ப றி ஹி ேட -பா ெட (White-box testing ). இைவ
கி றா ெட (structure testing)என அைழ க ப கி றன ஏென றா ேகா
(code) கி ேற (structure) எ சாமினி (examining ) ெச வத ல ெட ேக (test
case)கைள உ வா கப வதா

( ைல ைட : 01:23)

ெபரிய எ ணி ைகயிலான ஹி ேட -பா ெட (White-box testing)


ரா டஜி (strategies ) இ பதாக நா க றிேனா , ஆனா அைவ கவேர (coverage)
அ பைடயிலான ம பாஉ (faults) அ பைடயிலானைவகளாக வைக ப தலா .
கவேர (coverage) அ பைடயிலானைவகளி , ெட ேக க(test case)ளி சில ேரா ரா
எலிெம கைள(program elements) அைடவத ைச (design)ெச ய ப ள ; நா க
ேட ெம ைய(statement) கவ (cover) ய சி ெச யலா , நா க க ஷ
(conditions)கைள ,அ ல ெடஸிஸி (decisions )கைள எ க ய சி ெச யலா .

ெட சி கவேர (decision coverage )நிைலயி , ஒ ேட ெம (statement) ேபா ற ஒ


ெடஸிஸி எ பிரஸி (decision expression) உ ள எ பைத நிைனவி ெகா கிேறா , அேத
ேநர தி ெட ேக (test case)களி ெடஸிஸி (decisions ) (true) ம பா (false)

117
ஆனைவ என உ தி ெச ய ேவ என உ தி ப த ேவ . அதனா ேரா ரா (program)
எலிெம ெடஸிஸி (elements) ெட (testing) ல கவ (cover) ெச ய ப கிற .
பாஉ (fault) அ பைடயிலான ெட (testing) எனி , சில றி பி ட வைக பிலா (fault)கைள
க பி பத கான ெட ேக (test case)கைள நா க ைச (design)ெச கிேறா ,
உதாரணமாக, ஒ வரிஅ ேள(variable) வரிஅ ேள(variable) வைக பிலா (fault) ஆன ,இ (int)
ஐ float அ ல float ஐ இ (int) ெச ய ப கிற . எனேவ, அ த விஷய க ஒ காக
க டறிய ப டதா என சரிபா க பாஉ (fault) அ பைடயான ெட ெட நி (testing
techniques)கைள நா க பய ப கிேறா .

( ைல ைட : 02:55 ஐ பா க )

கவேர -அ பைடயிலான ெட களி (coverage-based testing), ேரா ரா எலிெம (program


element) கவ (cover) ெச வத ெட ேக (test case) கைள நா க ைச (design)
ெச கிேறா ; ஒ பாஉ (fault) அ பைடயிலான ெட (testing)யி நா றி பி ட வைக
பாஉ (fault)கைள இல காக ெகா பேதா , அ த பாஉ (fault)வைககளி
பாஉ (fault)க க டறிய ப ளதா எ பைத சரிபா க .

( ைல ைட : 03:12 ஐ பா க )

ெபரிய அளவி ஹி ேட -பா ெட ெட நி (white-box testing techniques )கைள


ெகா கிேற எ ெசா ேன . ேட ெம (statement) கவேர (coverage), பிெர
கவேர (branch coverage), பா கவேர (path coverage), மி ெள க ஷ கவேர (multiple
condition decision coverage), மி ேபச ெட (mutation testing) ம டா டா ெலா
ெட (data flow testing )ஆகியவ கான ஒ மாட (model) இ தா . எனேவ, எ க
எளிய ஒ ைற பா ேபா , இ டேடேம காேவ பா ெட (statement coverage-based
testing) ஆ .

( ைல ைட : 03:35 ஐ பா க )

ஆனா இத ன இ ப றி சரியான சில எளிய க கைள ெபற ய சி கிற . நீ க


பிளா -பா ெட (black-box testing) ேபா மான அள ெச கிறீ க எ றா ஹி ேட
பா யிட ெட (white-box testing )ேதைவ ப கிறதா எ ப ெதளிவாக இ க ேவ .
நா ஒ ைமயான பிளா -பா ெட (black-box testing) ெச தி கிேறா எ

118
ைவ ெகா ேவா , ஹி ேட பா ெட (white-box testing) தவி க படலா எ
நா க றலாமா? அ ல நா ஒ ைமயான ஹி ேட பா ெட ((white-box testing)
ெச தா , பிளா பா ெட (black-box testing) தவி க படலா எ ெசா லலாமா?
நா க இ ைல எ ெசா னா , இ வ ெச ய ேவ எ றா , நா க சரியான
காரண ைத ெகா க ேவ , நீ க பிளா -பா ெட (black-box testing) ைய
ெச யாவி டா , இ த வைகயான ேரா ேல (problem)கைள நீ க இழ க ேநரி
எ பத கான சரியான சா .

அ ல ஹி ேட பா ெட (white-box testing) ெச யாவி டா , பிளா பா


ெட (black-box testing) ெச தா , பிளா பா ெட (black-box testing) இ த
வைகயான ேரா ேல (problem)கைள க டறிய யா , நா உதாரண க ெகா க
ேவ . எனேவ இ வ ேதைவயான எ னெவ றா , ேதைவயான பிளா -பா (black-box
testing) ம ஹி ேட பா ெட ைட (white-box testing) ெச தா , நீ க பிளா -பா
ெட (black-box testing) ைய ம க டறிய யாத யி வைகயி உதாரண கைள
ெகா க ேவ , ேம உதாரணமாக ெகா ட சில வைக (bugs)க ஹி ேட பா
ெட (white-box testing) ல ம ேம க டறிய பட யாதைவ. பி ன நா ஆ எ
றலா ,இ வ அவசிய .

இ ேபா , அைத பா ேபா . எனேவ பிளா -பா ெட (black-box testing) களி , நா


உ ைமயி இ ேட டா(input data)வி ஒ மாட (model) உ வா கி, ெட ேக (test
case)கைள உ வா கிேறா . ஆனா இ சா ேவ (software) அ ல சா ேவ (software)
ெர யி ெம (requirements) அ ல ேசகிரி பி ஷனாலி ைய(description
functionality) அ பைடயாக ெகா ட , ஆனா பி ன நா ேகா (code) பா (part)ைய
ப றி எ ெதரியா , எனேவ ேரா ரா ம (programmers) சில ேகா(code)ைட எ தி ளன ,
இ உ ைமயி ெர பீெரெம (requirement) பா (part) யாக இ ைல.

எனேவ சில இ கா பிேனஷ (input combination) ெகா க ப டா ம ேம அ த


ேகா (code) அசி (active) ஆக இ ,அ ெர பீெரெம யி
(requirements) றி பிட படா , எனேவ பிளா -பா ெட (black-box testing)ைய
பய ப தி நா ெட (test) ெச ய யா . அ த இ வ (input value)க

119
எ னெவ நம ெதரியா , ஏெனனி இ வ ேக(input value)க மிக ெபரிய , சில
ேசனைரேயா(scenario )அ ல ஏேத ெர யி ெம க (requirements) ப றி எ த ப டா ,
உ ைமயி அ த இ வ ேக(input value)க ெட (test) ெச ய யா , ேம
ராஜ க (Trojans) எ வா இ பெலெம (implement) ெச யலா எ பைத
காணலா . றி பி ட இ வ ேக(input value)க ெகா க ப ட ேபா ம ேம
ேரா ரா ம (programmers) ேகாைட(code) எ ேபா அ த ேகா (code) ேவைல ெச கிற
ம சில ேட டா(data) ெவளிேய ம பலவ ைற அ ப . எனேவ, பிளா -பா
ெட (black box testing)கைள பய ப தி, ேகா (code) ேராஜா (Trojans) க உ ளதா
எ பைத சரிபா க இயலா .

நீ க ஹி ேட -பா ெட (white box testing)ைய ப றி எ னெவ உ க


ெதரி மா, ஹி ேட பா ெட (white box testing)யி ெச ய யாத பா (box) வைகயான
ஒ உதாரண ெகா க மா? இ பிளா -பா ெட (black box testing) ல ம ேம
க டறிய பட .ஒ ஹி ேட பா ெட (white box testing)யி , நா க
ேகாைட(code) பா கிேறா , நா க ெர பீெரெம டா ெம ைய(requirement
document) பா கவி ைல,ெர பீெரெம டா ெம (requirement document)
அ பைடயி ெட ேக (test case)கைள ைச (design)ெச யவி ைல, ேகா (code)
அ பைடயிலான , கி ேற(structure) அைடயாள க ெட ேக ைச (test case
design) ெச கிேறா .

ஆனா ேகா (code) சில பி ஷனாலி ைய(functionality) இழ வி டா


எ னெவ றா , இ த இ (input) கீ இ த ஆ ஷ (action)எ க பட ேவ ய
ெர பீெரெம (requirements) உ ளன, ஆனா அ த ேகாைட (code)காணவி ைல;
அத கான ேகா (code)இ ைல. ெவளி பைடயாக, ேகாைட(code) பா , சில ெசய பா
காணவி ைல எ உ க ெதரியா . எனேவ பிளா –பா (black-box) ம ஹி ேட -
பா (white box)ெட (test)க இர ேம அவசியமானைவ, ேம இைவ கா ளிெம டரி
ெட ரா டஜி (complimentary testing strategies) என அைழ க ப கி றன.

( ைல ைட : 08:04)

120
இ ேபா , கவேர -அ பைடயிலான ெட கைள (coverage-based testing)பா ேபா , ஹி ேட
பா ெட (white box testing) , கவேர -அ பைடயிலான ெட (coverage-based testing)
ம பாஉ அ பைடயிலான ெட (fault based testing) ஆகியவ றி ேம
கவனி கலா . கவேர -அ பைடயிலான ெட களி (coverage-based testing), சில ேரா ரா
எலிெம (program elements) கவ (cover) ெச ய ப எ ெட ேக (test
case)கைள எ ேவா எ றிேனா . ேபா மான காேவர (coverage)கிைட தா , அ த
வி க கைள எ கா களாக , ேட ெம கவேர (statement coverage) , பா
கவேர (path coverage) ேபா றைவ.

பாஉ அ பைடயிலான ெட யி (fault based testing) பி னணியி ,


ேராகிராம (programmer)க சாதாரணமாக ெச ய ப பாஉ (faults)கைள வைக ப தி,
அ த பாஉ (faults)உ ளதா எ ெட (test) ெச கிேறா . எனேவ, இ த ஒ உதாரண
ேடஷ ெட (mutation testing) உ ள ; அவ றி பல, கவேர -அ பைடயிலான
ெட கைள(coverage based testing) நா க பா கிேறா , ேம மி ேகச ெட
(mutation testing)யாக இ பாஉ அ பைடயிலான ெட ைய (faults based testing)
பா கிேறா .

( ைல ைட : 09:03)

ம கவேர -அ பைடயிலான ெட யி (coverage based testing) , றி பி ட ேரா ரா


எலிெம (program elements) ெபா ெவ ேவ டா ெக (target) உ ளன.
உதாரணமாக, ேட ெம காேவர (statement coverage) , ேரா ரா எலிெம (program
element) ேட ெம (statement) ; பிரா கவேர (branch coverage), இ இ ேக ெடஸிஸி
காேவர (decision coverage) என அைழ க ப கிற , ஒ ெவா ரா க ஷ (branch
condition) (true) ம பா (false) வ ேக(value)ைவ க எ பைத நா க
சரிபா கிேறா . கவேர க ஷ (coverage condition) ட ெள க ஷ
கவேர (multiple condition coverage;) என அைழ க ப கிற ; எனேவ இ ேக ஒ ெவா
கா ேபாென க ஷ (component conditions ) எனேவ ெடஸிஸி எ பிரஸி (decision
expression) கா ெபௗ க ஷ (compound conditions )c1 ம c2 அ ல c3
ேபா றைவ இ க ேவ , இ த C1, C2, C3 (true) ம பா (false) வ ேக(value)க
எ பைத எ .

121
பல க ஷ (conditions) , இ க ஷ க (input conditions) அைன சா தியமான
கா பிேனஷ க (combinations) க த ப கிற எ பைத,பா காேவர (path Coverage),
ெப ெடனசி காேவர (dependency coverage) ம பல. மா ப ட காேவர
ரா டஜிஎ (coverage strategies) டா ெக (target)எ ப ேவ ேரா ரா
எலிெம (program elements) உ ளன. இ த டா ெக ேட ெம (target statement) ,
பிரா க ஷ (branch conditions), ெள க ஷ (multiple conditions) ,
ேரா ரா (program) பா (path)க கவ (cover) ெச ய ப டதா எ பைத ேரா ரா பா
(program path)க , டா டா ெப ெடனசி(data dependency) தலியவ ைற உ ளட கியதா
எ பைத ெப ெடனசி பா (dependency path) க ல நா க ய சி ெச கிேறா . ,
எனேவ நா ஹி ேட பா பெட (white box testing) யி ெவ ேவ
ரா டஜி (strategies) ைய ேரா ரா எலிெம (program element)கைள கவ
(cover)ெச ெகா க ேவ .

( ைல ைட : 10:44 ஐ பா க )

கவேர அ பைடயிலான ெட களி (coverage-based testing ) ேரா ( stronger) ம


ெவ ேக ெட (weaker testing) ப றிய க உ ள .ஒ ரா டஜிய(strategy)
கவ (cover) ெச ய ப ட அைன ேரா ரா (program)எலிெம (elements)க ,
ம ெறா ரா டஜிய (strategy) கவ (cover)ெச ய ப ட ேரா ரா எலிெம (program
elements)கைள கவ (cover) ெச ய உ தரவாத ெச தா , இ த ேரா கவேர (stronger
coverage) ம அத ேரா (stronger ) ேரா ரா எலிெம (program elements)களி
ஒ ச ெச (subset)ம ேம உ ளட கிய , நா அைத ஒ ெவ ேக ெட (weaker testing)
எ அைழ கிேறா .

( ைல ைட : 11:28)

ம கா ளிெம டரி ெட கைள (complimentary testing, )எ அைழ கிேறா , இர


ரா டஜி (strategies) இ தா , அைவ சில ேரா ரா எலிெம (program
elements)கைள ெபா வி உ ளட கி றன, ஆனா அைவ ெவ ேவ ேரா ரா
எலிெம கைள (program elements)உ ளட கியி ..

( ைல ைட : 11:40 ஐ பா க )

122
எனேவ, இ ஒ ெவ ேக (weaker. ) ம கா ளிெம டரி (complimentary ) க .

( ைல ைட : 11:51 ஐ பா க )

இ ேபா , ஒ எளிய ெட ரா டஜிய(t testing strategy) ைய பா ேபா . அ ஒ


ேட ெம காேவர ெட (statement coverage testing) எனேவ, இ ேக கிய
ேமா (motive) , கிய ஆ ெஜ (objective) ெட ேக (test case)க எ தஉ ள .
அ தைகய ஒ ெவா ேரா ரா ேட ெம (program statement) ஒ ைற
ப யலிட ப ள .ஒ எளிய ஹி ேட பா ெட (white-box testing),காேவரா
பைடயிலான ெட (coverage-based testing) , ேட ெம கவேர (statement coverage
)பா ேபா ; இ எளிய ெட (testing) .

எ றக தி ஒ ெவா க , ேட ெம கவேர ெட (statement coverage


testing)யி எ லா ேட ெம க (statement) ெட ேக (test case)களி ெதா பா
கவ (cover) ெச ய ப இ கேவ .எ பதா , அ த ேட ெம (statement)யி
ஏ கனேவ உ ள ேரா ேல (problem) இ தா உ க ெதரியாவி டா ஒ
ேட ெம (statement) ஒ ைறயாவ ெசய ப த படாவி டா , கிய ேயாசைன இ ேக.
ஒ ேட ெம (statement) நிைறேவ ற படாவி டா , அ த ேட ெம யி (statement)
உ ள ேரா ேல (problem)இ தா , உ க ெதரியா எ பதா , ஒ ெவா
ேட ெம (statement) ெசய ப த ப அ ல ைற தப ச ஒ ைற கவ (cover)
ெச ய ப இ கேவ எ ெட ேக (test case)கைள எ கிேறா .

( ைல ைட : 13:08 ஐ பா க )

எனேவ,ெட ேக கைள(test case) வழ வத , ேட ெம (statement)


ெசய ப த ப கிறதா எ பைத க காணி கலா அ ல ேமஅ ேர(measure) ெச ய
ேவ . எ லா ேட ெம (statement) க நிைறேவ ற ப டா , 100 சதவிகித
ேட ெம (statement) கவேர (coverage) கிைட எ எ க ெதரி .

( ைல ைட : 13:31)

எனேவ, இ ஒ ெட ேக (test case)யி ைற தப ச ஒ ேக (case) ஆவ


ேட ெம (statement) சரியாக ேவைல ெச மா , அ ெசய ப மா எ ப எ க

123
ெதரியவி ைல. ேம ேட ெம காேவர (statement coverage) வி
ேரா ேல (problem) ட ஒ ேட ெம (statement) இ பைத உ தி ப வதா , ஒ
இ (input) உ தரவாத அளி கா ; ம ற இ க (input) அ ேவைல ெச , ஆனா
ைற தப ச நீ க அ த ேட ெம (statement) ைற த ஒ சில
இ க(input) ந ல ேவைல ெச .

( ைல ைட : 14:18)

இ ேக நா இ த ெம ரி (metric), சதவிகித ேட ெம (statement) கவைர


(cover)உ ளட க ப , சதவிகித ேட ெம (statement) ைய உ ளட கிய , இ
எ தைன ேட ெம (statement) ம அதி எ தைன ேட ெம (statement) க
நிைறேவ ற ப ளன. எனேவ, 80 சதவிகித ேட ெம (statement) கவேர (coverage), 90
சதவிகித டேடேம ைய(statement) உ ளட கிய . ெபா வாக நம 100 சதவிகித
ேட ெம (statement) கவேர (coverage) கிைட கவி ைல, எ க 100 சதவிகித
ேட ெம (statement) காேவர (coverage) ேதைவ.

( ைல ைட : 14:59 பா க )

இ தஎ கா ைட பா ேபா , எனேவ இ ேபம (famous) அ ேகாரித (algorithm) இ ேக


ேகா (code) I ஐ ேகா (code) எ .இ இர பரேம ட (parameter) x ம yஐ
எ கிற , x ! = y ஆக இ . X> y = x = x - y, ேவ y = y - x எ றா . இ த அ ேகாரித
(algorithm)நீ க அறி தி தா , பிரபல ஜி. . (GCD ) க அ காரித
லி (computing algorithm Euclid) ஆ .

இ 6 ேட ெம க (statement) உ ளன; ம நம ெட ேக (test case)க


ேவ அைன ெட ேக க (test case) கவ (cover) ெச ய ப . எ லா
ேட ெம க (statement) கவ (cover) ெச ய ப டதா எ பைத சரிபா க, ஒ சிறிய
(tool) ைய எ தலா , ேம (tool)க கிைட , ஜி க ேவ(g curve) ேபா ற ஓப
ெசௗ (open source tool) கைள காணலா , ஆனா எ கள ெசா த (tool)ைய
எ தலா , இ ெசய ப த ப ேட ெம யி (statement) சதவீத ைத சரிபா கலா .

124
நா எ ப ெச வ எ நா அரிய(array) ப தலா , அரிய(array) யி உ ள
எலிெம க (elements), ெட நி (techniques)களி ஒ ஏ வா (equal)
எ ணி ைகயிலான ேட ெம க (statement) உ ளன. ேட ெம (statement) கவிரா
(coverage)சரிபா க பல வழிக இ க ேவ .ம ஒ றி பி ட
ேட ெம (statement) கவ (cover)ெச ய ப ேபா ெசய ப த ப , நா இ ேக
ஒ ேட ெம (statement) ேச க ேவ அரிய(array) யி ெதாட ைடய
வரிஅ ேள(variable) அைம க ேவ .

றாவ ஒ எ றா , அத பிற நா ேட ெம (statement) ஒ ைற


ைவ தி ேபா , அ த அரிய(array) யி வரிஅ ேள(variable) அைம கலா , ஆனா ஒ
ரா க (branch) இ ைல எ றா , அைன ேட ெம க (statement) கவ (cover)
ெச ய ப . அதனா எ ப ஏபிசிஎ (efficient) (tool) எ வ ? ஒ ெதா தி
ைழகிற வைர அ ேகா (code), அ அைன ேட ெம (statement) இய க ேவ ,
எனேவ நா ம ளா (branch) றி க ேவ .இ ஒ சிறிய (tools)ைய
எ தலா , இ சதவிகித ேட ெம (statement)கவேர (coverage) சரிபா கலா , ஆனா
ஓப ெசௗ கைள (open source tools) காணலா , இ ேட ெம (statement)யி
சதவீத ைத ரி ேபா (report) ெச யலா .

( ைல ைட : 17:40 ஐ பா க )

வழ கமாக நா க அறிவி ேட ெம ைய(statement) அைடய எ க பிரச க (practical)


ெரா ரா (program)களி ெட ேக (test case)கைள ைச (design)ெச யவி ைல. நா
100 சதவிகித ேட ெம (statement) கவேரைஜ(coverage) அைட வைர நா இ
வ ேக(input value)கைள ெர ேடா (random) மாக ெகா கிேறா . ஆனா 4 ைல (line)க ,
5 ைல (line)க ேபா ற மிக சிறிய ேரா ரா க (program), 100 சதவிகித
ேட ெம (statement) கவேர (coverage)ெகா க ப வ ேக(value)க
எ னெவ பைத க பி க . இ த மிக சிறிய ேரா ரா (program) ம நா இ த
எ பிரஸி (expression) (true) எ ெதரி இர எ ட (enter) ஆகிற
(loops) .

எனேவ, நா x! = Y ஐ ெகா க ேவ , நா ெகா க ேவ யஇ (input) .


அத பி நா x> y ேபா ற இ (input)கைள ெகா க ேவ ,அ இ ேக வரலா ,

125
ேம x <= y ேபா ற இ (input)கைள ெகா க ேவ . எனேவ, மிக சிறிய
ேரா ரா (program)க ,ஒ ெட தி ேட(test suite) ைச (design) ெச ய ,
இ அைன ேட ெம (statement) கைள கவ (cover)ெச . ஆனா நா
ெசா ன ேபால ெபரிய ேரா ரா (program)க , நா உ ைமயி ேட ெம (statement)
கவேர (coverage) அைடய ெட ேக க (test case) ைச (design) ெச ய , நா ெர ேடா
இ (random input) ெகா கம எ ன ெட (testing) ைவ ெதாட கவேர
(coverage)அைடய ெச ய ேவ . ஓப ெசௗ (open source tools)அ ல எ க
ெசா த (tool) , நா க ஒ ெட ேக (test case) ெசய ப த ஒ ெவா ைற கவிரா
(coverage)அைட ெர ேடா இ (random input) வைர ெகா க ேவ எ பா க
, நா 100 சதவீத டேடேம (statement) காேவர (coverage) கிைட

( ைல ைட : 19:33)

எனேவ, நீ க ம அ லி(manually) ெட ேக (test case)கைள ைச (design) ெச வதா ,


அ த சி ேரா ரா (program), நா 100 சதவிகித ேட ெம (statement)
கவேர (coverage) எ பத ரிய வ ேக(value)க எ பா ேபா .

( ைல ைட : 19:47 பா க ).

ேட ெம (statement) காேவர (coverage) எ ப மிக எளிைமயான க தா , ஆனா


(bugs)க க டறிய ப வதி இ மிக ைறவான ெசய திற ெகா ட , ஏென றா
இ ெவ ெட (weakest testing) , ெவ ஹி ேட பா ெட (weakest white
box testing)களி ஒ றா . ேரா ஹி ேட பா ெட (stronger white box
testing)கைள பா கலா . ேரா ெட களி (strongest testing) ஒ ரா கவேர
(branch coverage)அ ல ெடஸிஸி காேவர (decision coverage) . ெடஸிஸி (decision)
எ பதி , ஒ ெவா ரா (branch) க ஷ (condition)க (true) ம பா (false)
வ ேக(value)கைள எ ெகா வைத ேபா ற ெட ேக (test case)க ைச (design)
ெச ய ப ளன. எனேவ, எ கள ெடஸிஸி காேவர (decision coverage) ெயா ைற
எ தா , ஒ ெவா ைற (true) வ ேக(value), பா வ ேக(false value)
இ மானா , 100 சதவீத ரா கவேர (branch converage) கிைட வி எ நா க
ெச கிேறா .

126
( ைல ைட : 20:51)

எனேவ, அேத ேரா ரா (program), இ இ ேக ரா க (branch) உ ளன. இ ேக, அேத


ேநர தி (true)ம பா (false) யானா சரிபா க ப டா , இ த க ஷ (condition)
இ ேக (true)யாக பா (false)யாக இ . இ த நிைல ' (true) ' ம
பா (false) ன தாக இ தா , இ த எ பிரஸி (expression) (true) யாக
பா (false)யாக இ க ேவ எ பத காக ெட ேக க (test case) ெட (test)
ெச ய பட ேவ , இ த எ பிரஸி (expression) (true)யாக பா (false) யாக
இ , பி ன ரா கவேர (branch coverage) அைடய ப எ ேவா .

( ைல ைட : 21:28)

எனேவ, மிக சிறிய ேரா ரா க (program), மீ உ வா கலா அ ல ரா


கவேர (branch coverage)அைடவத ெட ேக (test case)கைள எ தலா . எனேவ, இ த
ெதா பி வ ேகக (value) (true) ம பா (false) ஆனா இ
கா சி (condition)கைள அைம எ பைத காணலா , ஆனா ெபரிய
கா ெல (complex) ேரா ரா க (program), ரா காேவர (branch coverage)
அைடவத ெட (testing) ேநர கைள ைச (design) ெச வ மிக க ன .

ரசி (practice) , பிெர காேவர (branch coverage) அைடவத யா உ ைமயி


ெட ேக (test case)கைள ைச (design) ெச கிறா க , அவ க இ வ ேக(input
value)கைள ர ேடா (random)மாக வழ வா , ம ரா கவேர (branch coverage)
ம கவேர (coverage)கவேர (coverage) (tool)ைய ெகா கிறா க . ரா
காேவர (branch coverage) மீ ெட (test)ெச ,ஒ (tool)ைய எ எ வள
ரா கவேர (branch coverage)மிக எளிதான , ஓப ெசௗ (open source
tool) க கிைட கி றன, இ ஒ ரா கவேர (branch coverage) எ னெவ பைத
ெதரிவி க .

( ைல ைட : 22:25 ஐ பா க )

எனேவ, சதவிகித எ ப நா பிரி க ப ரா களி (branch)எ ணி ைக விெட


(divided) ய(by) ெமா த எ ணி ைகயிலான ரா களா ைய(branch) எ தலா . எனேவ,
ளி (Euclid) ஜி.சி. .(G.C.D)யி இர பிெர க ஷ (branch condition)க உ ளன,

127
எனேவ நா ரா (branch) அ காேம (outcomes) நா ெபறலா , நா சா தியமான
ரா (branch) அ காேம (outcomes) , எ தைன ேபைர ெபா எ தி கிேறா
எ பைத ெபா , எனேவ இ 4, 25 சதவீத அ ல 2 ஆ 4 ஆக இ கலா - 50
சதவிகித , அ ல 75 சதவிகித அ ல 100 சதவிகித .

( ைல ைட : 23:10 பா க )

ஆனா பி ன இர ஹி ேட பா ெட ரா டஜிஎ (white-box testing strategies


)ைய விவாதி த பிற - ேட ெம கவேர (statement coverage)ம ரா
கவேர (branch coverage), இ ேரா ெட (stronger testing) எ ெசா லலா .
ஏெனனி ேயாசைன எ ன எ றா நீ க ஒ ேரா ெட (stronger testing)
ெச கிறீ க எ றா , நா ஒ ெவசா ெட (weak testing) ெச ய ேவ யதி ைல.
ேரா ெட (strong testing) ெவசா ெட (weak testing)களா கவ (cover) ெச ய பி ட
அைன ேரா ரா எலிெம (program elements)கைள உ ளட கியி . எனேவ, நா
ஒ ேரா ெட (strong testing)ைய ேம ெகா வ வைர, பல ெவ ெட (weaker
testing)இ பதாக நா ெசா ல ேவ , நா ஒ ேரா ெட (strong testing) ேரா
ெட (strong testing) ெச கிேறா , நா அ த ெவ க ெட கைள(weak testing) ெச ய
ேவ யதி ைல, ஒ ேரா ெட (strong testing) ேபா மான . எனேவ, இ
ரா (branch) ம ேட ெம கவேர (statement coverage)இைடேய ேரா (strong)
ஆன .

நீ க ரா கவேர ேரா (coverage strong) ஆக இ பைத கா ட வி பினா , ரா


கவேர (branch coverage) ேட ெம கவேர (statement coverage)உ தரவாதமளி .
ேம அ த ேட ெம (statement) ரா கவேர (branch coverage) அைடயவி ைல
எ பைத கா ட ேவ , எனேவ ேட ெம (statement) கவ (cover) ெச ய படாத ஒேர
ஒ ரா (branch) உ ள ; இ ைலெயனி , அவ க அேத இ க ேவ . எனேவ, நா
ஒ வழிைய பா க ேவ , ரா கவேர (branch coverage) ேட ெம கவேர
(statement coverage)எ பைத கா ட ேவ ; ேம அ த ேட ெம (statement)ைய
ரா (branch) கவேர (coverage)அைடயவி ைல எ பைத நா க கா ட ேவ ;
ைற தப ச சில ரா (branch) க ேட ெம (statement)களா கவ (cover)
ெச ய படவி ைல.

128
( ைல ைட : 24:53)

இைத எ ப கா கிேறா ? எனேவ, ஒ ேரா ெட (stronger testing )யி , அ ெவ ேக


ெட (Weaker testing)களி அைன எலிெம (elements) உ ளட கிற எ
கா ட ேவ எ ஒ வாத ைத நா ெகா க , ஒ ெவா
ேட ெம (statement) சில ரா களி (branch) இ பதாக நா வாதிடலா . எனேவ,
அைன ரா க (branch)கவ (cover)ெச ய ப தா அைன ேட ெம க (
statement)கவ (cover) ெச ய ப க ேவ . ஒ ெவா ரா (branch)யி சில
ரா (branch)களி இ ஒ ெவா வாத ைத நா ம ப கிேற , எனேவ
அைன ரா க (branch) கவ (cover)ெச ய ப தா , எ லா
ேட ெம (statement)க கவ (cover) ெச ய ப க ேவ , அதனா ரா
கவேர (branch coverage) ேட ெம ட கவேர (statement coverage) அைம எ பைத
கா கிற , ஆனா அ த ேட ெம கவேர (statement coverage) எ ப அைமயவி ைல
ேட ெம கவேர (statement coverage). எனேவ, இத ஒ உதாரண ெகா கலா , ஒ
ேட ெம ைய(statement) ெகா கலா , அ நா ேட ெம யிட கவேர (statement
coverage) எ பைத கா கிேறா , ஆனா அ த ேட ெம காேவர (statement coverage)
ரா (branch)அைட ஆனா ரா கவேர (branch coverage) அைடயவி ைல எ பைத
கா பி ஆனா எ லா ேட ெம காேவர (statement coverage) ரா
கவேர (branch coverage) அைடயவி ைல.

( ைல ைட : 26:10 ஐ பா க )

எனேவ, என உ ைமயி ஒ ைல (slide) இ ைல, உதாரணமாக ைல


(slide)எ த படவி ைல, ஆனா ேட ெம கவேர (statement coverage) ெகா காத
ரா கவேர (branch coverage) ஒ எ கா ைட நீ க ேக கிறீ க .

( ைல ைட : 26:38 ஐ பா க )

ஒ எளிைமயான எ கா a ஐ விட b அதிகமாக இ தா , பிரி பி (printf) ஏதாவ


ெச யலா . எனேவ, இ ேக a ஐ விட b அதிகமாக இ தா பிரி பி (printf)
ெசய ப த ப . நீ டகாலமாக B அதிகமானைத ப றி அறிவி க ப ேட ெம
காேவர (statement coverage). எனேவ, ஏேத ஒ வ ேக(value) ெபா தவைர, இ a ஐ

129
விட பிb அதிகமாக உ ள , நா ேட ெம காேவர (statement coverage) ேவ . ஆனா
ெடஸிஸி கவேர (decision coverage)அ ல ரா கவேர (branch coverage)அைடய படா ,
ஏென றா நம ெட ேக (test case) ேதைவ எ பதா இ ஏேத ஏ வா (equal)
அ ல ைறவாக இ . எனேவ ெட ேக (test case) B ஐ விட அதிகமான ,
ேட ெம (statement coverage) அைடகிற , ஆனா ரா காேவர (branch coverage)
அைடயவி ைல, இ ேட ெம கவேர (statement coverage) ரா கவேர (branch
coverage) அைடயவி ைல எ பைத கா ஒ ந ல உதாரண . நா ெசா ேன ஓப
ெசௗ (open source tool) கைள ெகா பல (tool)க உ ளன.

( ைல ைட : 27:52)

காேவர (coverage) , டேடேம காேவர (statement coverage) , ரா கவேர (branch


coverage) ஆகியவ ைற ெகா க .இ சில ெட ேக (test case)க பிற
இ த (tool) ைய அளி கிற . இ எ த கா பிேனஷ (combination) அளி க ப கிற ,
எ வள ரா கவேர (branch coverage)அைட க ப கிற .

( ைல ைட : 28:14 ஐ பா க )

இ ம ம ல, எ த ேட ெம (statement)க ெசய ப த படவி ைல எ பைத இ


கா கிற . ஆனா , நா க ேட ெம (statement) ெச தா , ரா கவேர (branch
coverage), நா க ஏ கனேவ றி ள ேட ெம (statement)யி காேவர (coverage)
ெச ய ேவ யதி ைல. ஆனா நீ க 100% ரா (branch) கவேர (coverage)ெச
ெகா ஒ (bugs) ேரா ரா (program) இ (bugs)க இ கலா ; ம
அ த (bugs)க எ ன, நா ஒ உதாரண ெகா க ஒ (bugs) நா 100
சதவிகித ரா (branch) கவேர (coverage) டஇ . எ ப நா ஒ ஹி ேட பா
ெட ரா டஜிய (white-box test strategy) ைச (design) ெச ய ேவ ,இ அ த
(bug)க ைள சரிபா .

(SlideTime ஐ பா க : 29:03)

உதாரணமாக ஒ எ கா பா ேபா , நா இ ேக ஒ எ பிரஸி (expression) உ ள .


இ ேபா க ஷ அலி (conditionals) எ றா , இ த ஜி க (digit) ைஹ(high) ஒ
(true) எ றா ஜி க (digit) ேலா(low) பா (false) அ -1, ஜி க (digit) றி ேகா

130
எ ெசா லலா , பி ன ரா கவேர (branch coverage) அைடய . எனேவ, இதி
உ ள பரேம ட (parameter) (true) ஜி க (digit) ைஹ(high) ஒ (true) எ றா
ஜி க (digit) ேலா(low) (true) அ ல பா (false) , ஜி க (digit) ைஹ(high)
(true).நா ஜி க (digit) அைட ேபா , வ வ பா (false) , ஜி க (digit) (true)
(true) பா (false) வ ேக(value) இ த ரா (branch) (true)ம பா (False)
ஆகியவ ைற அைட வி . இ ேக அ ல ஒ எ பிரஸி (expression) உ ள , அ
பா (false)யான வைர, (true) ம பா (false) இ த எ பிரஸி (expression) ெச -
எ பிரஸி (expression)அ ல பா (false) . எனேவ, ரா கவேர (branch
coverage)எ , ஆனா எ களி (true) (true)யாக இ ேபா ம ேம ஏ ப
ஒ (bugs) இ தா . பா (false) ஜி (digit) காக , (true) ம பா (false)
ஜி (digit) ைறவாக இ பத ல ரா (branch) கவேரைன(coverage) நா க
அைடகிேறா . ஆனா , ஜி க (digit) ைஹ (high)சரியாக இ ேபா ம ேம (bugs)
ஏ ப கிற . ரா கவேர ைட (branch coverage)அைடவத ல , 100 சதவிகித ரா
கவேர (branch coverage) இ த (bugs) க பி க .

( ைல ைட : 31:03)

எனேவ, எ ன வைக ரா டஜி (strategies) , ெட ரா டஜி (testing strategies) நா


வரிைச ப த ேவ , நா க ஷ கவேர (condition coverage) ெச ய ேவ ,
ெள க ஷ கவேர (multiple condition coverage)என அைழ க ப கிற . எனேவ,
ஒ ெவா கா ெபௗ (compound)கி ஷ (condition) (true) ம பா (false)
வ ேக(value) ஆ . எனேவ, எ பிரஸி (expression) ஒேர ஒ க சி (condition)
இ தா , அேத ேநர தி ரா கவேர (branch coverage) ம க ஷ
கவேர (condition coverage), ஆனா ெள க ஷ க (multiple condition ) இ
ேபா –க ஷ (condition) எ பிரஸி (expression)ச க ஷ க (sub- condition),
ரா கவேரைன (branch coverage)அைட வி டா , அைன (bugs) க டறிய
யா . இ வி வா கா ேபாென க சி கைள(individual component conditions )
நா பரிசீலி க ேவ -ச க சி க (sub-condition) (true) ம பா (false)
வ ேக(value)க வழ க பட ேவ .

(SlideTime: 31:56)

131
c1ம c2அ ல c3ஐஒ உதாரணமாக பா கலா . எனேவ க சி கவேர (condition
coverage), நா c 1 ம c 2 ஆகிய இர ைட (true) ம பா (false) , c 2 (true)
ம பா (false) சி 3 (tru)eம பா (false) . ம ெள க ஷ
கவேர (multiple condition coverage), நீ க c 1, c 2, c 3 க ஷ (condition) க அைன
சா தியமான கா பிேனஷ (combination)க க தி ெகா ள ேவ ; (true),c 1 ம
c2அ ல c3ஐஒ உதாரணமாக பா கலா . எனேவ க சி கவேர (condition coverage) ,
(true) , (true) , (true) , (true) ,பா (false) , (true) ; (true) , பா (false) ,
பா (false) ; பா (false) , (true) , (true) ேபா றைவ நா க தி ெகா ள ேவ ய
க ஷ (condition)களி ஒ ெவா கா பிேனஷ (combination). ேம ெள
க ஷ (multiple condition )க , n கா ேபாென க ஷ (combination of the
conditions) இ தா , ஒ ெவா இர வ ேக (value)கைள (true) ம

பா (false) எ ெகா , நம 2n சா தியமான ெட ேக (test case)க ேதைவ.

( ைல ைட : 32:50 ஐ பா க )

அ பைட க ஷ ெட (condition testing) , ஒ ெவா க சி (condition)


ைற தப ச (true)ம பா (false) வ ேக(value) கைள எ தி கிறதா எ பைத
ெட (test)ெச பா ேபா , எ லா கா பிேனஷ ஒ பி க ஷ (combination of
the conditions) ெகா ள மா ேடா .

(SlideTime: 33:12)

எனேவ நா இ ேக எ ன ெசா கிேற எ றா c 1 ம c2அ ல c 3 எ றா , இ


(true) எ றா , (true) , (true) , பா (false) , பா (false) , பா (false) ம இ த
இர அ பைட க ஷ ெட (condition testing) அைடய . ஏென றா
ஒ ெவா (true)ம பா (false) வ ேக (value)கைள எ தா அ ல (true) ,
பா (false) , (true) , பா (false) , (true) , பா (false) எ ஒ ெட ேக (test case)
இ க , அதனா ஒ ெவா க ஷ (condition) (true)ம பா
(false)வ ேக(value)க ஆகியவ ைற உ திெச கிற . எனேவ, இ த க சி (condition)
வ ேக(value)க nஇ 2ஆ .இ அ பைட க சி (condition) இ தா , நா n இ
2 ஆக ேவ ம சதவிகித கவ (cover)ெச ய ப டா , அைன அ பைட

132
க சி (condition)களா எ க ப ட (true)வ ேக(value)யான விெட பய
(divided by) 2 அ பைட க சி (condition) க வ க ப .

( ைல ைட : 34:19 ஐ பா க )

ம பிெர ெட (branch testing) நா ெதாட ப தினா , பிெர ெட (branch


testing)யான உ ைமயி எளிைமயான க ஷ ெட ரா டஜிய(condition testing
strategy) ஆ ,இ தக ஷ (condition)களி ரிச (result) (true)ம
பா (false)ன எ நா க க கிேறா . எ லா கா ேபாென க ஷ (component
conditions) (true)யாக பா (false)யக எ ளன எ பைத நா க
உ தி ப தவி ைல. எனேவ, பிெர ெட (branch testing)யான எளிய ரா டஜிய
(strategy) எ ப க ஷ ரா டஜிய ( condition strategy), ம ேபசி க ஷ
ேரா (basic condition is stronger ) ரா டஜிய (strategy )பி ன பிெர ெட (branch
testing) , எ கா ட மிக எளிதாக இ .

( ைல ைட : 35:02 ஐ பா க )

எனேவ, இ ேக இ த ஹிரா சி(hierarchy) உ ள . டேடேம காேவர (Statement coverage)


ெவ (weakest) , பி ன நா இ த ெடஸிஸி (decision) அ ல ரா கவேர (branch
coverage) ைவ தி கிேறா , பி ன இ த ேபசி க ஷ கவேர (basic condition
coverage)ம ெள க ஷ கவேர (multiple condition coverage) உ ள .ேபசி
க ஷ கவேர (basic condition coverage), நா ஒ ெவா கா ேபாென க ஷ
(compound condition) (true) ம பா (false) வ ேக (value) கைள எ க ேவ .
அேதசமய , ெள க ஷ கவேர (multiple condition coverage), உ
க ஷ (condition)க இைடயி அைன சா தியமான கா பிேனஷ (combination)
உ தி ெச ய பட ேவ எ நா க ேகா கிேறா ; நீ க ெள க ஷ
கவேர (multiple condition coverage) ெச தா , இ த ேபசி க ஷ கவேரஷ (condition
coverage), ெடஸிஸி காேவர (decision coverage) அ ல ேட ெம கவேர (statement
coverage) எ ெச ய ேவ யதி ைல. நீ க ெள க ஷ கவேர (multiple
condition coverage) ெச ய டா எ வீ க .

133
ரதி டவசமாக, பல எ பிரஸி (expression)களி உ ள கா பிேனஷ (combination)களி
க ஷ (condition)களி எ ணி ைக அதிகமா ேபா , பல பய பா களி இ தைகய
எ பிரஸி (expression) ஏ ப கிற , எ கா டாக, எ ெப ேட ெகா ேறா
அ ளிேகஷ (embedded control applications) . நா 20 அ ல 25 வரிஅ ேளக
(variable)ச ப த ப ட க ஷ எ பிரஸி (condition expression) ைய ெகா கலா .
அ த ேக (case)யி , 220​ ெட ேக (test case)க மிக அதிக . எனேவ, அ த சி அ
(situation )ைய நா எ வா ைகயா வ ?

அதிேவக எ ணி ைகயிலான ேக (test case)க இ ைல, அதனா ெள க ஷ


ெடஸிஸி ேகாேவரா (multiple condition decision coverage testing) க டறிவத கான
ெள க ஷ ெடஸிஸி (multiple condition decision ) க டறிவத கான ெட (test) .
அேத ேநர தி , 100 சதவிகித எ சி சி கவேரைஜ(MCDC coverage) அைடவத ெட
ேக (test case)களி எ ணி ைக ைற க ப . எ சி சி (MCDC) மிக பிரபலமான ைவ
ேபா ெட ரா டஜிய (white-box testing strategy) எ ஆ சரிய ப வ இ ைல;
சா ேவ (software)ன அசி பி ட பிேல(acceptable) இ க ேவ எ பத காக எ சி சி
கவேரைஜ(MCDC coverage)ெச ய பட ேவ எ பல சா றித நி வன களா
க டாய ப த ப கிற . ெட ேக (test case)களி எ ணி ைகைய அதிகப சமாக
அதிகரி காம , ெள க ஷ ெடஸிஸி (multiple condition testing) ேபா ற பல
(bugs)கைள நா க டறிய கிற . எனேவ அ த அம களி , எ .சி. .சி ெட (MCDC
testing) எ ெள க ஷ ெடஸிஸி கவேர (multiple condition testing coverage)
ம அ எ னச ப த ப கிற எ பைத பா ேபா , எ ப ஒ ெட ேக (test
case) ைச (design) ெச ய ப ள ,அ அ பைட க க எ னவாக இ .

ந றி.

134
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-11- ​MC / DC ​Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 11 MC / DC ​ெட

இ த அம வரேவ கிேறா இ வைர நா ஹி ேட பா ெட (white box testing)


ம ப ேவ வைகயான கவேர (coverage)அ பைடயிலான ெட ெட நி (testing
techniques)கைள பா கிேறா . எனேவ, ஹி ேட பா ெட (white box testing) ெச ேவா .

( ைல ைட : 00:36 பா க )

கைடசி அம வி , நா க க ஷ ெட (condition test)ைட பா ெகா ேதா


ம நா நிைனவி ஒ எளிய நிைல க ஷ ெட (condition testing)ைய ெகா
இ தா , ஒ ெவா க ஷ ெட (condition test) ஒ (true) ம பா
(false) மதி க இ மா ெச ய ப கிற . எனேவ, பல வைகயான க ஷ
ெட (condition testing) கைள க டறி ேதா , அதி ஒ ேபசி க ஷ
ெட (basic condition testing) எ அைழ க ப ஒ எளிய ெட (testing)உ ள ,
இ ேக இ ேபா ற ஒ ெடஸிஸி ேட ெம எ பிரஸிய (decision statement expression)
பல அ டாமி க ஷ (atomic condition)கைள ெகா ள , உதாரணமாக, 10

135
அதிகமான , b 50 ைறவான , தலியன இ த ெட (testing) ; ேபசி க ஷ
ெட (basic condition testing) .

இ த எ பிரஸிய (expression)க ெவளி பைடயாக (true) ம பா (false) எ


மதி பி அ டாமி எ பிரஸிய (atomic expression)க ெகா ெட ேக (test
case)கைள ெகா க ேவ , உதாரணமாக, நா ஒ சமமாக இ தா 15 ம b
எ ப 30 சம எ றலா . எனேவ, இ 15 சம த ஆ டமி க ஷ (atomic
condition) (true) யாக இ க ேவ , ேம இர டாவ 50 50 ைறவாக
இ . எனேவ, இ (true) யாகிவி , இர டாவதாக a = 5 ஐ விட அதிகமாக இ .
எனேவ, இ பா (false) இ , ேம 50 ைறவான 50 ஆ . எனேவ, இ ,
அ பைட க ஷ ( condition )ைய அைடய ேவ எ பதா , இர ெட ேக (test
case) களி , (true) கைள பா (false), பா (false) ஆக எ ெகா வ , த
எ பிரஸி (true) ம பா (false) மதி ைப எ ெகா கிற . இர டாவ ெட
ேக (test case) , இர ெட ேக (test case) க ட இர டாவ எ பிரஸி (expression)
மதி ம (true) கைள எ ெகா கிற . எனேவ, நா ேபசி கா
காேவர (condition coverage) , நா ெடஸிஸி கவேர (decision coverage) அைட மா? ஆமா ,
இ த இர ெட ேக (test case)கேளா ெவ திறைன நா க ெப கிேறா ,
ஏென றா த ெட ேக (test case) இ த ைவ (true) யாக மதி பீ ெச வ ட
இர டாவ ெட ேக (test case) பா (false) ஆக மதி பீ ெச . இ த இர ேபசி
கா காேவர (basic condition coverage)ம ெடஸிஸி கவேர (decision
coverage)அைட . ஆனா ேபசி கா காேவர (condition coverage) எ ெபா
ெடஸிஸி கவேரைஜ (decision coverage) எ ெகா ள டா , உதாரணமாக, த ெட
ேக (test case) 15 ம 60 ஆ , இர டாவ ெட ேக (test case) 5 ம 30 ஆ .
எனேவ, என இர ெட ேக (test case)க , மா ெட 15 ம 60 ேக க 15
ம b 60 ஆ ம இர டாவ ெட ேக (test case) , 5 ம b 30 ஆ .இ த
ேக (case) யி , ெட ேக (test case)க பா (false) மதி பீ ைட மதி பீ ெச , எனேவ,
ெவ க ளீ பிெர எ பிரஸி (complete branch expression ) (true) ம
பா (false) மதி ைப ெபறாததா , ேபசி க சி காேவர (basic condition coverage)
பா கா ெவ ைப உ தி ெச யவி ைல. எனேவ, உ சாக உற ப றி நா எ ன ெசா ல
? ேபசி க சி காேவர (basic condition coverage) ெடஸிஸி கவேர (decision

136
coverage)? ேபசி க சி காேவர (basic condition coverage) ெவ பைத உ தி ெச ய
ேவ ய அவசிய இ ைல.

( ைல ைட : 05:11 ஐ பா க )

எனேவ, ெடஸிஸி ெட (decision test) எ ப பலவீனமான ெட (test) கான


அள ேகாலா , ேம பலவிதமான க ஷ ெட (condition test)க உ ளன. எனேவ,
நா ெச வ ெடஸிஸி ெட (decision test)ஒ தி ட தி க ஷன எ பிரஸி
(conditional expression) உ ள ; ெட ேக (test case)க (true) ம பா (false)
னைவ எ மதி பி கி றன. நா ஒ ைமயான ெட (testing) ெச யவி ைல, ேம
ைமயான பரிேசாதைனைய அைடவத க ஷ ெட (condition testing) ெச ய
ேவ ம க ஷ ெட (condition testing) பல வைககளா . நா ேபசி
க ஷ கவேர (condition coverage) பா ேதா . ேபசி க ஷ கவேர (condition
coverage) உ ள, க ஷ எ பிரஸி (condition expression) அ டாமி க ஷ (atomic
condition) (true) ம பா (false) மதி க அைடய; ெட ேக (test case)கைள
நிைறேவ வத ல (true) ம பா (false) மதி பீ கைள ஏ ெகா வத கான
க ஷ எ பிரஸி ((condition expression) அைன அ டாமி (atomic ) ழ க
ெச ய ப கி றன. ஆனா ம றக ஷ ெட ெட நி (condition testing techniques)
உ ளன. அ த ேபசி க ஷ ெட (basic condition testing) ம ேபசி க ஷ
ெட (basic condition testing) எ ப ெட (testing) விட உ ைமயி வ வான
ெட (testing) அ ல எ பா ேதா , ஏெனனி ேபசி க ஷ ெட (basic condition
testing) ெடஸி ஸி (testing) கைள உ தி ப வதி ைல. இ ேபா , ேபசி க ஷ (basic
condition) ட தீ மானி க ப ட அ த நிைல அ பைடயிலான பரிேசாதைனைய
ெச ேவா . எனேவ, ெடஸிஸி ெட (decision test) ல ேபசி க ஷ ட ய
பிரதான ேயாசைன, இ ேபசி க ஷ ெட கைள(basic condition testing)
உ தி ப கிற , ேம ெட (testing) கைள, ெடஸிஸி ெட (decision test),
ெடஸிஸி காேவர (decision coverage)கைள ெகா ள .

( ைல ைட : 07:09 ஐ பா க )

இ ேபா , ம ெறா எ கா பா க , ஏ கனேவ அ த க ஷ ெடஸிஸி கவேர


ெட ( condition decision coverage testing) நிக கைள (true) நிைல ம பா (false)

137
அ டாமி க ஷ (atomic condition) மதி பீ ைட அைம எ பைத உ தி ப திய .
எனேவ, அைன அ டாமி க ஷ (atomic condition)க ெட ேக (test case)யி
ஐேஸ (execution) களி (true) ம பா (false) மதி பி கி றன, ேம
ைமயான ெடஸிஸி (decision) ைமயான எ பிரஸி (expression) ம ெட (test)
சா சியி ேபா (true) ம பா (false) மதி பீ ெச கிற . இ ெபா , இ த
எ கா ைட எ ெகா க , 50 அதிகமாக B 30 ைறவான .
இ ேபா , நா 70 ம b 50 இ தா , 30 b எ ப 20 எ ப ேபசி க ஷ கவேர (basic
condition coverage) ஆ .இ பா (false)யான , இர டாவதாக இ பா (false)யான ,
இ (true) . த அ டாமி க ஷ (atomic condition) த ெட ேக (test case)
ம இர டாவ ெட ேக (test case)யி பா (false) மதி பி (true) யான மதி ைப
எ ெகா கிற , இர டாவ ெட ேக (test case)யி த ெட ேக (test case)யி
பா (false) மதி ைப எ , இர டாவ ெட ேக (test case)யி (true) யான மதி ைப
எ . இைவ இர (true) மதி பீ ெச கி றன, இைவ இர இ த ெட
க ஷ (test condition) களான , பிெர அ க கைள(branch out compile) (true) யாக
நிைலநி கி றன, வான ெட ேக (test case) க (true) யாக மதி பீ
ெச கிற , எனேவ, ெடஸிஸி கவேரைஜ(decision coverage) அைடவத ம ெறா ெட
ேக (test case) ேச க ேவ , 20 ஆ ,அ பா (false)யாக அைமகிற , b 50 ஆ .
எனேவ, பா (false) பா (false)னைவ. இ பா (false) வி கிற , இ இ வ
(true) யாக அைமகிற . எனேவ, ெடஸிஸி கவேர (decision coverage) ெச ய ப கிற .
க ஷ ெவ நிைலயி , ெட ேக (test case) க ஷ கவேர (condition
coverage)அைடய ேவ

( ைல ைட : 09:47 ஐ பா க )

இ ேபா , பல க ஷ கவேர (condition coverage) எ ற ம ெறா க ஷ


ெட (condition testing)ைய இ ேபா பா கலா . இ த ெட (testing)யி அைன
அ டாமி க ஷ (atomic condition) (true) யான ம பா (false) மதி கைள
எ ெகா கி றன, இைவ (true) மதி பீ களி அைன சா தியமான
ேச ைக ட இ த ெட ேக (test case)களா சா தியமான அைன ேச ைககைள
ஏ ெகா கி றன எ பதா , க ஷ எ பிரஸி (condition expression) இர

138
அ டாமி க ஷ (atomic condition)க இ தா , நம நா ெட ேக (test case)
ேவ இ (true) ம (true) , (true) ம பா (false) , பா (false)
, (true), பா (false) , பா (false) ஆகியவ ைற அைம . நா அ டாமி
க ஷ (atomic condition)கைள ெகா பி 8, 23, 8 ெட ேக (test case) க
(true) , (true) , (true) , (true) , (true) , பா (false) ேபா றைவ.

இ ேபா , ஒ ெட எ றா எ ன எ பைத பா ேபா , இ த பிெர எ பிரஸி பல


க ஷ கவேர உ ள , ெட ேக (test case) எ னெவ றா பல க ஷ கவேர
இ . எனேவ, நம 30, b 20 ஆ , அதனா பா (false) ம (true) . ஒ 30, b
40, எனேவ பா (false) ம பா (false) பி ன (true) யான ம பா (false) ம
(true) ம (true) . எனேவ, இ த அறி ைகயி பல க ஷ கவேர ெபற நா
ெட ேக (test case)க ேதைவ.

( ைல ைட : 11:39 ஐ பா க )

இைத ப றி நா சி தி தா ,மி ெள க ஷ கவேர (multiple condition


coverage)அைன தி மிக க ைமயானைவ. மி ெள க ஷ கவேர (multiple
condition coverage)உ தியாக ,க ஷ கவேர (condition coverage) ம ெடஸிஸி
கவேர (decision coverage) ம க ஷ ெடஸிஸி கவேர (condition decision coverage)
ெகா ள . எனேவ, இ வலிைமயான ெட (testing) ஆ , ஆனா இ த
க ஷ (condition)களி ைறபா க எைவ எ பைத ெட நி (techniques)கைள
ஆரா ேவா , த பிர சைன, நா பா த எளிய ைறயி க ஷ எ பிரஸி (condition
expression) மதி பா ெச ேபா , எத ல மதி பீ ெச வ எ பைத எ ன
க ஷ (condition) மதி பீ ெச வ எ பைத கா பிெள (compiler) மதி பீ
ெச யவி ைல.

சில க ஷ ( condition )களி விைளவாக ம ற நிைலைமக மதி பீ ெச ய ப வதி ைல,


பிற க ஷ ( condition )க மதி பீ ெச ய ப வதி ைல. எனேவ, ம ற க ஷ (
condition )க ப ேவ சா தியமான மதி கைள வழ வ உ ைமயி கியமி ைல.
நா ேசா சிர வி (short circuit) மதி பீ ஒ உதாரண ஆக பா கலா ம ஏ
ெள க ஷ காேவரா (multiple condition coverage) ம க ஷ ெட சி
காேவர (condition decision coverage) , நா க பா வழி மிக எளிைமயான உ ள

139
கா பிெள (compiler) உ ைமயி அ ேபா ற மதி பீ எனேவ, ேதைவ ப ெட ேக (test
case)க எ ணி ைக ைறவாக இ க ேவ ம எ க ஊக க மிக எளிய
இ தன அைத ேபால கா பிெள (compiler) மதி பீ ெச யவி ைல.

இர டாவ சி க ெப ெடனசி அேமா வைரபி (dependency among variables) , நா ஒ


ேகர ட ைய (character) சரிபா தா , அ A அ ல E எ பைத றி பி கிறதா எ பைத
சரிபா கிற எ றா , இ த எ பிரஸி (expression) எ ைத எ வ A அ ல ேகர ட
(character) E ஆ , ஆனா அத பிற பல க ஷ ( condition )க இ (true)
ஆக இ கா , ஏென றா இ மிக சிற த , (true)யாக இ க யா எ ப
உ ைமதா . எனேவ, ெப ெடனசி அேமா வைரபி (dependency among variables)
காரணமாக எ க காேவர (coverage) மீ இ கலா எ றா சில காேவரா (coverage)
க ஷ ( condition ) க அைன சா தியமான இ கலா சில க ஷ ( condition )
மதி க அைம க ப ேபா அ த மதி கைள அைம க யா .

( ைல ைட : 14:39 ஐ பா க )

இ ஒ ஷா சிர வி (short circuit) மதி பீ கான எ கா , ேம ஷா சிர வி


(short circuit)மதி பீ ெச வ சி க கைள ெகா ட இ கா பிெள ரிட (compiler)
இ கா பிெள (compiler) ேவ ப கிற , எ லா கா பிெள (compilers) ேபா ற
க ஷ ( condition )க இ த ேவ ப ட கா பிெள (compiler)ெவ ேவ விஷய கைள
ெச யலா . இ ேபா , சில உதாரண கைள பா கலா , ெபா வாக கா பிெள க (compiler)
ஷா சிர வி (short circuit) மதி பீ ெச ேவா > ஒ 30 & b <50 ஒ க ஷ
எ பிரஸி (condition expression) எ றா , த மதி பீ ைட இட ப க திலி மதி பீ
ெச வ , த மதி பீ பா (false) மதி பி ரிய , அ இர டா நிைல மதி ைப மதி பீ
ெச ய டா . எனேவ, நா (true) அ ல இர டாவ பா (false) எனி அ (true)
யாக இ கா , ஏெனனி கா பிெள (compiler)அைத சரிபா கவி ைல. இேதேபா ,
க ஷ எ பிரஸி (condition expression) ஒ > 30 அ ல b <50 எனி , இ ேக ஒ ட
(true) யாக மதி பீ ெச ய ப வதா ம ெறா சரிபா க படவி ைல சில
க ைபல (compiler) இட ப க திலி மதி பீ ெச யலா ம த க பி பதி
த ஆ டமி க ஷ (atomic condition) (true) மதி பீ . அ (true) யாகேவா பா
(false)யாகேவா இ தா , இர டாவ எ பிரஸி கா பிெள (compiler)சரிபா கா .

140
எனேவ, எ க கவேர (true) அ ல பா (false) எ இ கலா . நா இ த கா பிெள
(compiler)ெகா ெகா ச ெபா ேவ , ஏெனனி அ பய ப த யா .

( ைல ைட : 16:29 ஐ பா க )

இ ேபா , ெள க ஷ காேவரா (multiple condition coverage) வ வைத பா ேபா .


இ ஒ ெபரிய பிர சைனயா . உ ைமயி பிர சைன எ ப பல க ஷ கவேர
(condition coverage)வலிைமயான எ றா , ஆனா ெட ேக (test case)களி
எ ணி ைக அதிக அள ேதைவ ப கிற . எனேவ, நா ஒ பிெர எ பிரஸி (branch
expression)யி n ஆ டமி எ பிரஸி (atomic expression)க இ தா , நம 2n ெட
ேக (test case)க ேதைவ. எனேவ, n 10 எ றா , நம 1024 ெட ேக (test case) க
ேதைவ. இ மிக பலமான ம க பைனயாக 20 அ ல 30 ஆ டமி க ஷ
எ பிரஸி (atomic condition expression)க ஒ பிெர எ பிரஸி (branch expression) ம
அ ளிேகஷ களி (application) ேதா ம 20 அ ல 30 ஆ டமி க ஷ (atomic
condition)களி எ கா டாக, பல பரேம ட க (parameter) உணர ப ட எ ெப ேட
க ேரால அ ளிேகஷ (embedded control application) சில மாறிக ெபா சில
காரணிகைள சா சில மாறிக சில ெசய களா ப பதிைன ம இ ப மாறிக
ச ப த ப ட அவ றி க ஷ எ பிரஸி க (condition expression) மிக ெபா வானைவ.

நா அ த பய பா கைள ேசாதி க ேவ எ றா , ஒ ேரா ரா (program)யி உ ள


டஜ (dozen) கண கான எ பிரஸி (expression)க இ கலா , ஏென றா ஒ
எ பிரஸி (expression) ம ெட (test) ெச வத , பல க ஷ (condition)
க ப ட 220 ெட ேக (test case)க அ ல 230 ெட ேக (test case)க
ேதைவ ப கி றன. எனேவ, க ஷ (condition)ய ற எ பிரஸி (expression)யி 2 அ ல 3
ஆ டமி க ஷ (atomic condition)க ம ேம இ , ெள க ஷ கவேர
(multiple condition coverage)அ தமா . இ ேபா , நா எ ன ெச ய ேவ , எ ப
ெட (test) க ஷ (condition) களி ைற த எ ணி ைகயிலான ெள க ஷ
கவேரஜி (multiple condition coverage) ைமைய அைடவ எ ப நா ெட ேக (test
case)களி மி லிய கைள இய க யா , பல ஆ டமி க ஷ (atomic condition)களி
ெட (test) ேநர களி ஒ ேந ேகா எ இ க மா? ஆ டமி எ பிரஸி (atomic
expression)க எ ணி ைக நைட ைறயி இ ைல . ( ைல ைட : 18:59 ஐ பா க )

141
எனேவ, அ த உ த ட ேமா ஃைப க ஷ ெடஸிஸி காேவரா (multiple condition
decision coverage)கா ேபா . இ ேபா , இ ம ெறா எ கா , இ 5 ஆ டமி
க ஷ (atomic condition)க உ ளன. ஒ ஷா சிர இ (short circuit)மதி பீ ைட நா
எ தினா , ஷா சிர இ (short circuit) மதி பீ கைள டா (dash) எ எ தி ேளா .
எனேவ, டா (dash) எ த ப ட ஆ டமி எ பிரஸி (atomic expression) மதி ைப
ெபா ப தாம கா பிெள (compiler)மதி பீ ெச வ ஒ கவைல படாத , இ
கவைல படா . எனேவ, வழ கமாக நா இ த ேதைவ காக பல க ஷ கவேர (condition
coverage) ெபற 32 ெட ேக (test case)க ேதைவ ப , ஆனா ஷா சிர இ (short
circuit) மதி பீ ெகா , நம 13 ெட ேக (test case)க ம ேம ேதைவ. எனேவ, ம ற
19 ெட ேக (test case)கைள நா ெட (test) ெச தா ம ற 19 ெட ேக (test case)க
எ த ப டா , அைவ எ இ ைல. அ த ெட ேக (test case)க டஇ தி கா ,
ஷா சிர இ (short circuit) மதி பீ காரணமாக எ த விைளைவ ஏ ப தவி ைல. இ
ஷா சிர இ (short circuit) மதி பீ விைளவி ஒ எ கா . எனேவ, கா பிெள
(compiler)ஷா சிர இ (short circuit) மதி பீ ெட எ ணி ைகயி எ ணி ைகைய
ைற த எ ணி ைக ட ைற கிற , ஆனா எ ேபா அ ல, ஒ றி பி ட
க ைபல (compiler) ஷா சிர இ (short circuit) மதி பீ எ ன எ ப எ க
ெதரியா அ லவா? நா எ கள க ைத ெபா ைம ப த யா , ஏெனனி அ
க ைபலரிடமி (compiler) ேவ ப கி ற , அைவ பய ப றி பி ட ஷா
சிர இ (short circuit) ெட நி (techniques)கைள ெதா கி றன.

( ைல ைட : 20:57 ஐ பா க )

இ ேபா , இ த தலா , இ அதிகமான பல ேரா ரா (program)க உ ளன அைவ


க ஷ (condition)களி எ பிரஸி (expression)களி உ ள ஆ டமி க ஷ (atomic
condition)க 20, 30, ம பல. நா பல க ஷ கவேரைஜ(condition coverage) பய ப த
யா , ஆனா பல பாஉ ெட ஷ (fault detection) திறைன அைடயலா , இ ஒ ைற த
எ ணி ைகயிலான ெட ேக (test case)களி ஆ டமி க ஷ (atomic condition)களி
எ ணி ைகயி ேநராக ேந மைறயானதாக இ . இ கிய ெட சா ேவ (test
software) மாறிவி ட , றி பாக கிரி க சா ேவ (critical software)க MC / DC
கவேர (coverage) ேதைவ ப கிற . இ கிய ெட கா பிேனஷ ஒ பி க ஷ (test

142
combination of condition) ஆக மாறிவி ட , றி பாக கிரி க சா ேவ (critical
software)க MC / DC கவேர (coverage) ேதைவ ப கிற . இ ேக கிய ேயாசைன நா
க ஷ (condition)க கிய ேச ைகக ெட (test) ெச ய ேவ . நா
க ஷ (condition)களி கிய ேச ைகக ம கிய வ வா த விஷய கைள
ஒ ெவா அ பைட க ஷ (condition) ட ெட (test) ெச ய வி நிைலக
அைன ைத ய சி ெச ய நா வி பவி ைல. எனேவ, அ த ஆ டமி க ஷ (atomic
condition) ஒ ெவா நிைலயி ேம ம ற க ஷ ( condition )க டனான பிரிவி ைவ
தீ மானி கிற . எனேவ, நா எைத றி கிேறாேமா அ த ஆ டமி க ஷ (atomic
condition)ைய நா ைவ தி கிேறா . ம ற க ஷ (contion)க மாறானதாக ,
(true) யான அ ைறைய (true) யாக பா (false)யாக மா றியைம கிேறா ,
ேம பிெர க ஷ (branch condition) (true) யாக பா (false) யானா தாக
மாற ேவ . எனேவ, ஒ ெவா அ பைட நிைல மான ெட ேக (test case)க நம
ேதைவ. எனேவ, MC / DC கவேர ைட(coverage) அைடவத மிக உ தியான வைகயி இைத
ற நா க ேவ , தலி ஒ ெவா அ பைட க ஷ (condition)ையைன
(true) ம பா (false) ெச ய பட ேவ எ ற ேதைவக உ ளன. ம
பா (false) மதி க ம அைன பிற க ஷ (condition) களி மதி க
ஆகியவ ைற உ ளட கிய . நா ஒ ஆ டமி (atomic)கா சிைய பா தா , இ த அ பைட
க ஷ (condition) (true) யான பா (false) மதி பளி ேபா ம ற எ லா
ஆ டமி க ஷ (atomic condition) களி மதி ஒேர மாதிரியாக இ க ேவ , ேம
இ (true) ம பா (false) மதி ைப மதி பீ ெச ய ைமயான கா ெபௗ
க ஷ (compound condition) ேதைவ ஆ டமி க ஷ (atomic condition). இ ேபா ,
இைத கவனமாக பா ேபா , ேம பல உதாரண கைள பா கலா .

( ைல ைட : 24:06 ஐ பா க )

இத ன நா றி பி வத ன , ெள க ஷ ெடஸிஸி
காேவரா (multiple condition decision coverage) எ ப க ஷ ெடஸிஸி காேவரா
(condition decision coverage) விட வ வான பா கா எ ப ட , ெடஸிஸி கவேர (decision
coverage) பிெர க ஷ கவேர ( branch condition coverage) ம ெடஸிஸி
காேவரா (decision coverage) அறி ைகைய விட வ வான ெட (test) ஆ , இ ேக MC / DC

143
க ஷ ெடஸிஸி காேவரா (condition decision coverage) விட வ வான . எனேவ, நா
உ ைமயி இ தஅ த எ னஎ நா MC / DC ெட (test) ெச இ தா , நா ேவ
எ த நிைலயி ெட (test) ப றி கவைல பட ேவ ய அவசிய இ ைல. அ ஏ கனேவ பல
க ஷ (condition)க ப ட , இ ஒ வ வான ெட ெட னி (test techniques)
எ றா , அ ஒ வ வான ெட (test) ேதைவ, ஆனா அ ஆ டமி க ஷ (atomic
condition)களி எ ணி ைகயி பல ெட ேக (test case)கைள அதிகளவி ெகா
நைட ைற அ ல. MC / DC ேமா ஃைப க ஷ ெடஸிஸி காேவரா (multiple condition
decision coverage) , ம பரிேசாதைன ைறயி , பல ெட ஷ (detection) ெசய திற
ேபா ற க ெட ஷ (bug detection) ெசய திற , ஆனா பல க ஷ (condition)கைள
அைடவத ேதைவயான ெட ேக (test case)களி எ ணி ைக, இ த ேமா ஃைப
க ஷ ெடஸிஸி காேவரா (multiple condition decision coverage) ஆ டமி
க ஷ (atomic condition) களி எ ணி ைகயி MC / DC எ ப ேநரிய ஆ .

( ைல ைட : 25:59 ஐ பா க )

MC / DC எ ன எ பைத பா ேபா . இ ேமா ஃைப க ஷ ெடஸிஸி காேவரா (multiple


condition decision coverage) உ ள ; இ ஒ க ஷ கவேர ெட நி (condition
coverage techniques) . MC / DC இ உ ள கிய ேயாசைன, ஒ ெவா
க ஷ (condition) ேம ஒ வி ைவ தனியாக பாதி எ பைத கா கிற .
எனேவ, ெட ேக (test case)க இ க ேவ எ க ஷ எ பிரஸி (condition
expression) ஒ ெவா ஆ டமி க ஷ (atomic condition) இ ெடேப ெட ெடஸிஸி
(independent decision) விைள பாதி . ஒ ஆ டமி க ஷ (atomic condition)
(true)யாக இ ேபா ஆ டமி க ஷ (atomic condition) பா (false)தாக
இ ேபா அ பா (false) . எனேவ, ஆ டமி க ஷ (true) யாக இ பா
(false) மா ேபா ெடஸிஸி சா (decision change) எ ெசா லலா . இ
ேதைவ ப ெட (test) களி எ ணி ைக ெவளி பைடயாக , ைற தப சமாக ஆ டமி
க ஷ (atomic condition)களி எ ணி ைகைய விட இ மட அதிகமாக இ ,
எனேவ அ 2n ேபால அ ல, அ 2 * n அ ல அத அ கி இ . இ ஆ டமி
க ஷ (atomic condition) களி எ ணி ைகயி ேநராக இ . எனேவ, நா இ ேக
த ,அ த அம MC / DC ெட (test) மீ எ க விவாத ெதாட . ந றி.

144
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-12- MC / DC Testing(Contd.)

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 12 MC / DC ெட (ெதாட சி)

இ த அம வரேவ கிேறா . இ வைர, நா சில ஹி ேட பா ெட (white box testing)


ெசய தி ட கைள பா ேளா . ேட ெம காேவரா (statement coverage), பிெர
கவேர (branch coverage)ம க ஷ கவேர (condition coverage) ஆகியவ ைற நா க
பா ேதா . ேபசி க ஷ கவேர (basic condition coverage) ஒ , ஒ ெவா
கா ேபாென க ஷ (compound condition) ைய (true)யான ம
பா (false)யான மதி கைள எ ெகா ள ேவ எ நா க பா ேதா . பி ன ,
நா க ெள க ஷ கவேர (multiple condition coverage)பா ேதா ; எ லா
சா தியமான கலைவ உப உ ைம மதி க அ பைட நிைலைமகளா க த பட ேவ .
பி ன , நா க க ஷ (condition) ட ெடஸிஸி காேவரா ( condition coverage) .
க ஷ (condition) அ பைடயிலான ெட (test)யி கிய ஷா (short) ஒ ,
ெள க ஷ ெட (multiple condition testing) பல ெட ேக (test case)(test
case)கைள உ வா எ பதா , இ சா தியம ற . ம ற , ேபசி க ஷ
காேவரா (basic condition coverage) மிக பலவீனமான ெட (testing) . இ ேபா , ெட
ேக (test case)களி அதிேவக எ ணி ைக இ லாம ெள க ஷ கவேர

145
(multiple condition coverage)ெட ைய நா அைட பா கலா . எனேவ, அ எ சி சி(MC
DC) ெட (testing) ப றி. எ .சி. .சி ெட (MCDC testing)களி ஈ ப வைத பா ேபா .

( ைல ைட : 01:44 ஐ பா க )

எளிைமயான அ ல ேபசி க ஷ ெட (basic condition testing)களி , ஒ ெவா ேபசி


க ஷ (basic condition)ேயா அ ல கா ேபாென க ஷ (compound condition)கேளா
(true)ம பா (false) மதி ைப எ க ேவ எ நா க ெசா ேனா .
உதாரணமாக, இ த விஷய தி , இ த அறி ைகயி இர ேபசி க ஷ க (basic
condition) உ ளன, ஒ ெவா (true)யான ம பா (false)யான மதி கைள எ க
ேவ . எனேவ, பி வ இர இ (input) , ெட இ (test input)கைள ேபசி
க ஷ கவேர (basic condition coverage) அைடயலா , ஏெனனி தலி ஒ , a = 15, அைத
(true) ம b = 30 என அைம கலா , இ (true) ஐ அைம ,ம ஒ = 5, இ
பா (false) ஐ அைம ேபா ம b = 60, நா க அைத பா (false) யாக அைம ேபா .
ஆனா , நா ேக க வி ேக வி, ேபசி க ஷ கவேர (basic condition coverage)
,ெடஸிஸி கவேர (decision coverage)ைய விட ேம ைமயானதா ? ேபசி க ஷ
கவேர (basic condition coverage), ெடஸிஸி கவேர (decision coverage)விட வ வான
ெட (test)யா ? இத பதி ெசா ல, நீ க மிக க னமாக ேயாசி க ேவ யதி ைல.
உ ைமயி , நா எ ேபா இ த இ வ சமமாக ேத ெச யலா ; இ (true)
பா (false) , பா (false) , (true) எனேவ, ேபசி க ஷ கவேர (basic condition
coverage)அைடய ப கிற , அேதசமய ெடஸிஸி காேவரா (decision coverage)
அைடய படா . மீ நா ெசா கிேற . நா த க ஷ (true) இர டாவ
பா (false) அைம க . இர டாவ ெட ேக (test case)யி , நா இைத
பா (false)யாக இ (true)யாக இ க . எனேவ, இ த கா ேபாென
க ஷ (component condition)க இ வ (true) ம பா (false) மதி கைள
எ ளன, ஆனா ஒ ெவா ைற ெடஸிஸி (decision) பா (false) மதி ைப மதி பீ
ெச கிற . எனேவ, ெடஸிஸி கவேர (decision coverage) கிைட கவி ைல. ேபசி க ஷ
காேவரா ெடஸிஸி காேவரா ( basic condition coverage decision coverage) ைவ
ைற கா எ இ த ேக விைய எ கிற . ேவ வா ைதகளி வதானா , ேபசி
க ஷ காேவரா (basic condition coverage) மிக எளிைமயான ெட (testing)

146
எ றா , மிக எளிதி எளிைமயான ெட ெட நி (testing techniques) , ஆனா மிக
பலவீனமான ெட (testing) . ேம , ேட ெம காேவரா (statement coverage) ைய விட
பலவீனமானவ க .

( ைல ைட : 04:14 ஐ பா க )

ஆனா , நா ேபசி க ஷ கவேர (basic condition coverage) ம ேதைவ எ


வலி கிேறா . எனேவ, அ த க ஷ காேவரா (condition coverage) அ ல ெடஸிஸி
காேவரா ( decision coverage) எ அைழ க ப கிற . எனேவ, இ ேக ஒ ெவா அ டாமி
க ஷ (atomic condition)ைய (true) ம பா (false) மதி கைள
எ ெகா ள ேவ . தலாக, நா ெடஸிஸி (decision) தாேன (true)யான ம
பா (false) யான மதி க ெப கிற எ பைத உ தி ெச ய ேவ . பி ன , ெள
க ஷ காேவரா (multiple condition coverage) க , ப ேவ அ டாமி க ஷ (atomic
condition)க (true)மதி க அைன ைத ேச ெகா ள ேவ எ பைத
க ேடா .

( ைல ைட : 04:51 ஐ பா க )

நா ெள க ஷ கவேர (multiple condition coverage) ல எ ன ெசா கிேறா


எ பைத ப றி விரிவாக ெசா ல, நா ஒ உதாரணமாக இ தா , அ ல b ம c
ஆகியைவ கா ெபௗ க ஷ (compound condition) யி இ தா , இ ேக
அ டாமி க ஷ (atomic condition)க உ ளன; a, b, c. எனேவ,ேபசி க ஷ (basic
condition)களி (true)மதி க அைன ைத ெட (test)ெச ய எ ெட ேக (test
case)க ேதைவ; abc அைன (true) அைம த ; (true), (true), பா (false)
ம பல. ஆனா , பி ன கா ேபாென (compound)களி எ ணி ைக
அதிகரி ைகயி , ெள க ஷ கவேர (multiple condition coverage)அைடவத
ேதைவயான ெட ேக (test case)களி எ ணி ைக ெபரி ெப மளவி மா . எனேவ,
நா ப ேபசி க ஷ (basic condition)க இ தா , நம பல ஆயிர ெட ேக (test
case)க ேதைவ ப கிற . ேம , 20 கா ேபாென (compound)க இ தா , எ க
ஒ மி லிய ெட ேக (test case)க ேதைவ. நம 30 பி லிய இ தா , ஆனா அைவ
உ ைமயாகேவ ேக கி றனவா எ பல கா பிேனஷ (combination)க , கா ேபாென
க ஷ (compounded condition) களி உ ள க ஷ எ பிரஸி (condition

147
expression)க , அைவ ஏ ப கி றனவா? ஆ , பல பய பா களி அைவ நிக கி றன.
உதாரணமாக, க ேரா அ ளிேகஷ (control application)க . ெகா ேறா ஆ ஷ (control
action) பல க ஷ களி சா இ கலா . ம 20, 30 கா ேபாென
க ஷ (component condition) மிக ெபா வான . ேம , பல பய பா க உ ளன,
அ இ ப தி அ ல ப அ டாமி க ஷ (atomic condition)கைள
உ ளட கிய ஒ கா ெபௗ க ஷ (component condition) உ ள . எனேவ, ெள
க ஷ கவேர (multiple condition coverage)சா தியம ற . உ ைமயி ெட ேக (test
case)களி எ ணி ைகைய வீணா காம ஏேத வைகயி ெள க ஷ
காேவரா ெட (multiple condition coverage testing)களி ைமைய அைடவ அவசிய .

( ைல ைட : 07:06 ஐ பா க )

எனேவ, இ த க ஷ ெட (condition testing) ; ைறபா க சில உ ளன அைவ ெட


ேக (test case) ேர டனசி(redundancy) ஆ . எனேவ, ெட ேக (test case)க
ேர டனசி(redundancy) ெச ய ப கி றன, ஏெனனி கா பிெள (compiler)ரி ஷா
சிர இ (short circuit)மதி பீ காரணமாக, பல ெட ேக (test case)களா , அைவ உ ைமயி
அேத மதி க அ ல அேத எ பிரஸி (expression) மதி பீ , அேத க ஷ
எ பிரஸி (condition expression) மதி பீ கைள வைரபட ப கி றன. எனேவ, சில
ெட ேக (test case)க ேர டனசி (redundancy) ெச ய ப கி றன. ேம , சில கவேர
(coverage) தைடய றதாக இ கலா . சில க ஷ (condition)க ,
கா பிேனஷ (combination)க தவி க யாதைவயாக இ கலா . உதாரணமாக, இ த
எ கா ஒ ேகர ட (character) A சம அ ல ேகர ட (character) E சமமாக
இ . நா அேத ேநர தி ஒேர ேநர தி இ வ சாதி க யா . எனேவ, ெள
க ஷ கவேர (multiple condition coverage)இ த ேக (case)ைய அைடய யா .

( ைல ைட : 08:11 ஐ பா க )

ம , ஷா சிர இ (short circuit) மதி பீ எ ன எ பைத பி பத காக,


கா பிெளர(compiler)ன <b 50 ஐ மதி பீ ெச ய ேதைவயி ைல, ஒ > 30 பா (false)யான
எ ஒ ைற அறி தி க ேவ . ம , இேதேபா ஒ > 30 (true)(எ றா ,
இர டாவ க ஷ (condition) எ ன ெடஸிஸி (decision) எ தா
ெடஸிஸி (decision)யி விைள தா . இர டாவ க ஷ (condition) மதி பீ

148
ெச ய படவி ைல. த ெடஸிஸி (decision) அ பைடயி ெடஸிஸி கண கிட ப கிற .
எனேவ, இ த ஷா சிர இ (short circuit) மதி பீ ஆ ; க ைபல (compiler)களா
ஏ ெகா ள ப ட ஷா சிர இ (short circuit) மதி பீ ெட நி (techniques) சில.

( ைல ைட : 08:49 ஐ பா க )

இ ேபா , ெள க ஷ கவேர (multiple condition coverage) எ வா ந ைம


ைமயாக அைடய உத எ பைத பா ேபா ; ம னி க , MC, DC கவேர
(coverage)அைடய , ெட ேக (test case)களி ஒ அதிேவக எ ணி ைகயிலான
ேதைவ இ லாம ெள க ஷ கவேரஜி (multiple condition coverage) ைமைய
அைடவத உத .

( ைல ைட : 09:11 ஐ பா க )

எனேவ, இ ேக (5)இ ேக 5 கா ேபாென க ஷ (compound condition)க இ பைத


கா இ த ()உதாரண ம ெள க ஷ (multiple condition)க 32 ெட
ேக (test case)க ேதைவ ப கி றன. ஆனா , க ைபல (compiler)களா ஏ ெகா ள ப ட
ஷா சிர இ (short circuit) மதி பீ ெட நி (techniques)கைள பய ப தினா ,
ெவ ேவ கா பிெள (compiler)களா ஏ ெகா ள ப ட ஷா சிர இ (short circuit)
மதி பீ ேவ ப கிற . எனேவ, இ ஒ உதாரண ; ஷா சிர இ (short circuit)மதி பீ .
அ த ேக (case)யி , நா தா க ஷ கவேர (condition coverage), ெள க ஷ
கவேர (multiple condition coverage)13 ஐ ம ெகா கலா . எனேவ, ஷா சிர இ
(short circuit)மதி பீ காரணமாக 32 ஐ பய ப த ேவ டா .

( ைல ைட : 09:59 ஐ பா க )

இ ேபா , ெள க ஷ ெடஸிஸி காேவரா ( multiple condition decision coverage)


எ னெவ பா ேபா . எனேவ, இ சில கியமான கா பிேனஷ ஒ பி க ஷ கைள
ெட (combination of condition test)ெச ய ேபாகிேறா . எனேவ, ெட ேக (test case) களி
எ ணி ைக ைறவாக உ ள . உ ைமயி , ேபசி க ஷ (basic condition)களி
எ ணி ைகயி ேநரிய . ெட ேக (test case)களி அளவி அள ேகாைல நா க
தவி கிேறா . ஆனா , அேத ேநர தி ெள க ஷ காேவரா ெட (multiple
condition coverage testing) ேபா ற கி ட த ட ைமயான ெட (testing)ைய நா

149
அைடயலா . இ ேக இ த கா ெபௗ க ஷ (compound condition)யி அ டாமி
க ஷ (atomic condition)க A = 0 அ ல B> 5, C <100. அ (true)யான ம
பா (false) யான மதி கைள அைட தா , ம றவ க நிைலயான (true) மதி க
நட கிறா க . ேம ,இ த (true) ம பா (false) மதி உ ைமயி பிெர அ
க (branch out come) கைள தீ மானி கிற . நா உ தி ெச ய ேவ . எனேவ, இ எ வா
ெச ய ப கிற எ பைத பா ேபா , ேம இ ெட (testing) ைறகைள எ ப
வ வைம ப எ பைத பா ேபா .

( ைல ைட : 11:17 பா க )

நா ஹிரா சி(hierarchy) ைய பா தா , ெள க ஷ ெடஸிஸி காேவரா ( Multiple


condition decision coverage) ேட ெம (statement) , ேட ெம (statement) அ ல
பிெர கவேர , க ஷ ெடஸிஸி காேவரா ( branch coverage condition decision
coverage) ஆகிய இர ைட விட வ வான . ஆனா , அ ெள க ஷ கவேர
(multiple condition coverage)விட பலவீனமாக உ ள .

( ைல ைட : 11:44 ஐ பா க )

இ ேபா , எ .சி. .சி ெட (MC DC test)களி எ ன ெதாட இ கிற எ பைத பா ேபா ,


இத கான ெட ேக (test case)கைள வ வைம ப எ ப , எ தைன ெட ேக (test case)க
ம பல. எனேவ எ .சி. .சி.(MCDC) ேமா ஃைப க ஷ ெடஸிஸி காேவரா ( Modified
condition decision coverage) . ம , இ ேக நா பய ப வா ைத. நா ம ப ஒ
ைற ெசா கிேற . க ஷ (condition) , நா அ டாமி க ஷ (atomic condition)க
எ .ம , ெடஸிஸி (decision) ேரா ரா ெலா (program flow) ைய தீ மானி கிற எ
ஒ , ெகா ேறா ெலா (control flow)அ கா ெபௗ க ஷ (compound condition)
விைள தீ மானி கிற . எனேவ, இ த ேமா ஃைப க ஷ ெடஸிஸி காேவரா ( Modified
condition decision coverage). இ , கிய அ டாமி க ஷ (atomic condition) ஒ ெவா
அ டாமி க ஷ (atomic condition)யான (true) ம பா (false) மதி க
அைம க ப . ேம , இ (true)யான ம பா (false) யான மதி க
அைம க ப டா , ம ற ேபசி க ஷ (basic condition)க , சில அ டாமி க ஷ (atomic
condition)க சில நிைலயான மதி களி நைடெப கி றன எ பைத உ தி ெச ய ேவ .

150
ேம , இ த அ டாமி க ஷ (atomic condition), கா ெபௗ க ஷ (compound
condition) அ ல ெடஸிஸி (decision) விைளைவ தீ மானி .

( ைல ைட : 13:03 ஐ பா க )

எனேவ, இ ேதைவக உ ளன. நா ெசா த விஷய எ ேரா ரா


ெடஸிஸி (program decision) (true)யான ம பா (false)யான மதி எ க ேவ
எ . எனேவ, கா ெபௗ க ஷ (compound condition) (true)ம பா (false)
மதி ைப எ க ேவ ; ெடஸிஸி (decision) எ ஒ ெவா அ டாமி
க ஷ (atomic condition) (true) ம பா (false) மதி ைப எ க ேவ .ஒ
அ டாமி க ஷ (atomic condition) (true) ம பா (false) மதி ைப எ ேபா ,
ம ற அ டாமி க ஷ (atomic condition) (true) மதி க நிைலயானதாக இ க
ேவ . ம , இ த அ டாமி க ஷ (atomic condition) அ (true)யான ம
பா (false) யான மதி எ . ெடஸிஸி அ க (decision outcome) (true)யான
ம பா (false) யானவ கிைடயி ஒலி கிற .

( ைல ைட : 13:44 ஐ பா க )

உதாரண கைள பா ைகயி , அ ெதளிவா க பட ேவ . இ ேபா , த ேதைவைய


பா ேபா . எனேவ, த ேதைவ ெடஸிஸி (decision) அ ல கா ெபௗ
க ஷ (compound condition) க பாக (true)(true) ம பா (false) மதி . இ
கா ெபௗ க ஷ (compound condition) ம பிெர க ஷ (branch
condition)கைள இ த பிெர க ஷ (branch condition) (true)(true) ம பா (false)
மதி ைப மதி பி வைத உ தி ெச ய ேவ , இ பிெர கவேர (branch coverage)
ேபா ற .

( ைல ைட : 14:17 பா க )

இ ேபா , இர டாவ ேதைவ இ ேக உ ள ஒ ெவா அ டாமி க ஷ (atomic


condition)ைய (true) ம பா (false) மதி ைப எ க ேவ . எனேவ, த ஒ
(true)யான ம பா (false) யான மதி எ க ேவ ;ஒ a > 10 பி ன ஒ a <10.

151
இர டாவ ஒ (true) யான ம பா (false) யான மதி எ க ேவ , றாவ
ஒ (true)யான ம பா (false) யான மதி எ க ேவ .

( ைல ைட : 14:42 ஐ பா க )

இ ேபா , றாவ ேதைவ எ ப நா ேபசி க ஷ (basic condition)ைய அைம


ேபா , ெட ேக (test case) ேபசி க ஷ (basic condition)கைள (true) யான ம
பா (false) யான மதி ைப அைம கிற . ம ற ேபசி க ஷ (basic condition) சில மாறிலி
மதி பி நட த பட ேவ . ேம , ேபசி க ஷ (basic condition) ெடஸிஸி அ க
(decision outcome) பாதி க ேவ . உதாரண பா கலா . எனேவ, த ேபசி
க ஷ (basic condition) ைய பா ேபா . நா ேபசி க ஷ ைய(basic condition)
(true)யாக அைம கிேறா . பி ன , ம ற இர , நா ெசா ல, (true) ம பா (false)
நைடெப ற எ . ஆைகயா , அ டாமி (atomic) , எ பிரஸி (expression) ; இ த
க ஷ (condition) மதி பீ (true)யாகிவி .இ பா (false)யான , இ (true).
எனேவ (true) அ ல பா (false) (true). இ (true)யாக இ ேபா , விைள
(true)யாக இ . இ ேபா , இ த இர அேத, (true) ம பா (false) ைவ
அைம ப , பா (false) யான 10 ஐ விட அதிகமாக அைம . எனேவ, இ
(true)யாகிவி ,இ பா (false) யா . எனேவ, பா (false) ம (true )பா (false)
யா . ஆகேவ, இ த ேபசி க ஷ (basic condition) (true) ம பா (false) மதி ைப
எ ேபா , விைளவாக பா (false) யானதாகிவி , அேதேபா சில
க ஷ (condition)யான (true)ம ற ேபசி க ஷ (basic condition) கைள
ைவ தி பிெர அ க (branch out come) . இேதேபா , நா இர டாவ ஒ ைற
எ ெகா கிேறா . நா க ெட ேக (test case) கைள அைம கிேறா ; இ
(true)யாக பா (false) யாக அைம தி ; ஒ (true) யான ம பா (false)
யான மதி . ேம , பிெர (branch) களி ெடஸிஸி (decision) (true)(true) ம
பா (false) யானாவ இைடேய மா வைத நீ க மதி பீ ெச ய . இேதேபா ,
றாவ ஒ . றாவ ேபசி க ஷ (basic condition) ைய (true)(true)ம
பா (false) யாக அைம , இ த இ வ (true)(true) ம பா (false) ைய ைவ
ைவ தி கிேறா , ஆைகயா பிெர (branch) அ வலக வ கி ற .

( ைல ைட : 16:51 ஐ பா க )

152
இ ேபா , இ த ேடசனி (techniques) சிற பாக ரி ெகா ள ம ெறா எ கா
பா கலா . ம ெறா எ கா நா பா கலா , அ 1, 2, 3, 4, 5; 5 ெட ேக (test
case)க , ம னி க , 5 ேபசி க ஷ (basic condition) க . பி ன , நா 6 ெட
ேக (test case) க ல எ சி சி கவேர (MCDC coverage) அைடய எ பா ேபா .
எனேவ, எ வித ஆதார அளி காம , நா n + 1 ெட ேக (test case)க ேதைவ எ
ஊகி கலா , ஒ கா ெபௗ க ஷ எ பிரஸி (compound condition expression) யி
நம ேபசி க ஷ (basic condition) க இ தா ேவ வா ைதகளி க ஷ
(condition) வதானா , MCDC கவேர ைட (coverage)அைடவத ேதைவயான ெட
ேக (test case)களி எ ணி ைக அ பைட களி எ ணி ைகயி ேநராக உ ள . எனேவ,
இ ேக பா கலா . எனேவ, இ ேக ப யலிட ப ள இ தஐ க ஷ (condition)க
உ ளன. பி ன , இ ேக ப யலிட ப ள (true) மதி க உ ளன. ேம , எனேவ, ஒ a>
10 எ ப (true), அைவ பா (false) யான (true) பா (false) யானைவ. பி ன , ஒ a>
10 பா (false) யாக ம ெறா பா (false) யான (true) பா (false) யாக
இ ேபா , ைதயைத ேபா ற . பி ன , அ (output)மா கிற . இேதேபா ,
இர டாவ ேபசி க ஷ (basic condition) அ (true)யான ம பா (false)
யான மதி கைள எ ெகா கிற , மீத ள சில க ஷ (condition)யான மதி களி ,
output toggles. எனேவ இ த (true) மதி க அைம க ப ெட ேக (test case)
களான எ சி சி கவேரைஜ(MCDC coverage) அைட வி . ஆனா , நீ க எ .சி. .சி.
கவேரைஜ(MCDC coverage) எ எ த ெட ேக (test case)கைள எ ப
ெட (testing) ெச வ எ எ ப ெதரி எ ேக கலா .

( ைல ைட : 18:42 ஐ பா க )

பா க . தலாவதாக, ஒ மிக எளிய உதாரண பா கலா ; எ .சி. .சி (MCDC) ெட


ேக (test case) க எ ப வ வைம க ப கி றன. இ த உதாரண க (A )ஏ ம (B ) பி ைன
பா ேபா . எனேவ, தலி நா தி த ேடபி (truth table) , ெடஸிஸி அ க (decision
outcome) கைள உ வா ேவா . எனேவ AB (true)யாக இ ேபா ெடஸிஸி அ
க (decision outcome) (true)(true) (true). பி ன நா சரிபா கிேறா எ றா
(true) A யி (true)யான ம B ஐ ைவ தா , அ (output) (true). இ ெபா ,Aஐ
பா (false) ேபா , பா (false) ேஹா (holding) B எ ப (true) எனி , விைள

153
பா (false) . ேவ வா ைதகளி வதானா , ெட ேக (test case) ம த
ேபசி க ஷ (basic condition) களி இ ெடேப ெட (independent) மதி பீ ைட
சாதி . இ ேபா , B பி ப றி எ ன? எனேவ, A ஏ 1 ம 3 கான ெட ேக (test case)
ேஜா யாக இ தா , நா இ வ சரிபா க ேவ , த அ டாமி க ஷ (atomic
condition) A, உட ,இ ெடேப ெட (independent) மதி பீ ைட அைடய யா . A
ஏ. இ ேபா , B பி ப றி எ ன? எனேவ, நீ க B பி அைம க வி பினா (true) சமமாக
இ ம (true) சமமாக இ , விைள (true). இ ேபா , நா ஒ
(true)ம பி என பா (false) யாக ைவ தா , விைள பா (false) . எனேவ, இ வ
இைண ேபசி க ஷ (basic condition) இ ெடேப ெட (independent) மதி பீ
இர அைடகிற ; அ த B பி. எனேவ, 1 3; 1 பிள 3ம 1 பிள 2, அவ க ஒ ம B
பி இ ெடேப ெட (independent) மதி பீ அைடய.ேவ விதமாக றினா , எ க
எ சி சி(MCDC) ெட ேக (test case) 1 + 2 + 3 இ .

( ைல ைட : 20:44 ஐ பா க )

இ ேபா , ம ெறா எ கா பா கலா . எனேவ, இ ேக இ த க ஷ அ க


(condition outcome) ேபசி க ஷ (basic condition)க ச ப த ப டச சி கலான
எ கா டாக உ ள . இ ேபா , ABC கான (true) ேடபி (table) ைய நா க
உ வா கிேனா , இத விைளவாக இ ேக எ கிேறா . இ ேபா , நா தலி ெட (test)
ெச ய ேவ ய எ ன? இர ெட ேக (test case)க A .E ஏ ..யி
இ ெடேப ெட (independent) மதி பீ ைட அைடகி றன. ஒ வரிடமி , இ ேக 1 ம
கி. 1 த 1ஆ . இ ேபா கி. 11ம A0ஆ . ஆனா , இத விைளவாக 1 இ ேக
இ கிற . எனேவ, ெடஸிஸி (decision) மா வதி ைல. எனேவ, ஒ ம நா ஒ மதி பீ
அைடய யா . இ ேபா , 1 0 இ ேக உ ள . இ ேக விைள ட மா வதி ைல. ஆனா ,
இ ேக பா க . றாவ ,A ஏ 1 ம கி. . 1 ஆ . ஏழாவ ஒ ,0எ ப கி. . 0 இ
நைடெப கிற . ேம 7 விைள கைள மா கிற . ேவ வா ைதகளி வதானா , 3
ம ஏ ேபசி க ஷ (basic condition) மதி ைப அைடய . இேதேபா , நா
ேத ேவா ; நா A ம C மாறிலி ைவ B மா ேபா , ஓ (output) மா வத
ேவ . எனேவ, நா இைத க பி ேபா . நா ஏ ; எனேவ நா , B ெதா 1ம
Aம C ஆகியைவ அைம க ப ளன 0 ம B 0 அைம க ப 0ம இ 0

154
ஆ . ேம , ெடஸிஸி (decision) Togles. இேதேபா சி 1 ஆ . 2. எனேவ நம
எ சி சி(MCDC) ெட ேக (test case) 1, 2, 3, 4 ம 7ஆ . இத எ சி சி ெட
ேக (test case) கைள வ வைம க .

( ைல ைட : 22:55 ஐ பா க )

ஆனா பி ன , பல ெட ேக (test case)க இ கலா . ேம , ெட களி ைற தப ச


எ ணி ைகைய நா சரிபா க ேவ . ேம , இத மதி பீ ெச ேவா . ைதய
உதாரண கைள ேபாலேவ, டஜ (dozen) க இ ெடேப ெட சி (independency)
மதி பீ ைட ெப வைத க பி கி றன. பல டஜ (dozen) க
இ ெடேப ெட சி(independency) மதி பீ ைட அைடவைத நா காணலா . உதாரணமாக, 1
ம 5 த ேபசி க ஷ (basic condition)ைய இ ெடேப ெட சி(independency)
மதி பீ ெச . 2 ம 6, 3 ம 7, 5 ம 1, 6 ம 2, 7 ம 3; இ A. இ
இ ெடேப ெட (independency) மதி பீ 2, 4 ம 4 ம 2 ஆகியவ ைற B பி.
றாவ ஒ 3 ம 4 அ ல 4 ம 3 ஆ . இ ேபா , எ சி சி கவேரைன(MCDC
coverage) அைடவத கான ெட ேக (test case)கைள க டறி தா , அ 2, 3, 4, 6 அ ல 2,
3, 4, 7 அ ல 1, 2, 3, 4, 5. ஆைகயா , ைற தப ச ெதா ஒ ைற ேத ெச ய
வி பினா , இ த இர ைட ேத ெத கலா .

( ைல ைட : 24:13 ஐ பா க )

எனேவ, எ .சி. .சி ெட (MCDC testing) ஒ சிறிய எ ணி ைகயிலான ெட ேக (test


case)கைள ெகா ட மிக பய ள ெட ெட நி (testing techniques)மா எ
நா பா ேதா . ெட ேக (test case)களி எ ணி ைக ேபசி க ஷ (basic condition)
களி ேநரிய ஆ .

( ைல ைட : 24:35 ஐ பா க )

MCDC ஐ கமாக ெசா னா , ேதைவயான விஷய க உ ளன எ ெசா ேனா .


ஒ ெவா ேபசி க ஷ (basic condition) (true) ம பா (false) மதி ைப
அைடவத ல , பிெர கவேர (branch coverage) அைடய பட ேவ , றாவ நிைல,
ஒ ெவா க ஷ (condition) இ ெடேப ெட (independent)யாக ெடஸிஸி அ
(decision output)ைய பாதி க ேவ . ேம , ஏ கனேவ ெட (testing) ம ெட

155
ைச (test size) ஒ ந ல சமநிைலைய அ வழ கிற எ றி ேளா . எனேவ, இ
பரவலாக பய ப த ப கிற ம பல ெட டா ட (test standard)
க டாய ப த ப கிற .

( ைல ைட : 25:20 ஐ பா க )

இ ேபா , பா ெட (path testing) ெச ேவா . பா ெட (path testing) ளி , ஒ


ேரா ரா (program)யி உ ள அைன பா (path) க ட ப க ேவ . ஆனா ,
ஒ ேரா ரா (program)யி பல பா (path)க உ ளன எ பைத கா ேபா . ஆைகயா , நம
ேதைவ ஒ ேரா ரா (program)யி இ ெடேப ெட (independent) பா (path)க மைற க
ேவ .ஒ ேரா ரா (program)யி பா (path)க ஒ ேரா ரா (program)யி க ேரா
ெலா கிரா (control flow graph) ெபா வைரய க ப கி றன.

( ைல ைட : 25:47 ஐ பா க )

இ ேக, க ேரா ெலா கிரா (control flow graph) அறி தி பதா , ஒ


ேரா ரா (program)யி ெவ ேவ இ ஷ (instruction) கைள நிைறேவ வத கான
ேச (sequence)ைய அ றி கிற . அ ல ேவ வா ைதகளி வதானா ,
ேரா ரா (program)யி ல வழி க ேரா ெலா (control flow) . எனேவ, நா ஒ
கிரா (graph) யி வ வ தி பிரதிநிதி வ ப கிேறா .

( ைல ைட : 26:13 ஐ பா க )

ஆனா , பிற எ ப க ேரா ெலா கிரா (control flow graph) வைரயலா ? அைத ந
ரி ெகா டா , க ேரா ெலா கிரா (control flow graph) வைரத மிக எளிதான .
த விஷய நா ேரா ரா (program)யி அைன ேட ெம (statement) கைள
எ ணி பா கிேறா . அ த எ களி ஒ ெவா றி , நா அ த எ (edge) கைள ெவளிேய
வி கிேறா . அ த எ எ (edge) களி ஒ ெவா றி நா எ (edge) கைள வைரயலா .
பி ன , ஒ எ (edge) யிலி ம ெறா விளி பி இ கலா , ஒ
ேட ெம யி (statement) ெசய பா ைட ம ற எ (edge) யிலி க ப தலா . ஒ
ேட ெம ைய நிைறேவ றினா , ம ற எ (edge) க ேரா (control)ைய மா ற .

( ைல ைட : 26:55 ஐ பா க )

156
எனேவ, இ த ேரா ரா (program) பா கலா . இ ேக ேட ெம க (statement)
எ கி றன.

( ைல ைட : 27:03 ஐ பா க )

பி ன , எ ணிட ப ட ேட ெம (statement) ட இ ேக நா எ (edge) கைள


வைரயலா . பி ன , க ேரா எ (control edge) யிலி ம ெறா எ (edge) யிலி
மா ற மா எ பைத ெபா விளி கைள வைரயலா .

( ைல ைட : 27:19 ஐ பா க )

ஆனா , இ வைர ெகா ள சில ைறைமயான வழி ைற ேவ . ேம ,இ ஒ ெவா


ேரா ரா (program) வைக ேட ெம (statement)கைள உ ளட கிய எ பைத
உண ெகா ட ; ேச (sequence) , ெசெல ஷ (selection) ம
இ டெரஷ (integration) வைக ேட ெம (statement) . எனேவ, இ த
ேட ெம (statement)க ெதாட பான க ேரா ெலா (control flow) எ ப வைரய
ேவ எ பைத அறி தா , எ தெவா ேரா ரா (program) கான க ேரா
ெலா (control flow) மிக எளிதி இ க ; ஏெனனி இைவ அைன இ த
அ பைட வைக ேட ெம களா (statement) உ வா க ப டன, எனேவ, இ த வைக
ேட ெம (statement) க மான க ேரா ெலா எ (control flow edge) கைள நா
எ ப வைரய ேவ எ பைத ஆராய ேவ . பி ன , நா க ஒ மிக ெபரிய
ேரா ரா (program) வழ கிேனா , அத க ேரா ெலா கிரா (control flow graph)ைய
உ வா கலா . எனேவ, அ த அம நா பா ேபா . இ ேபா நா இைத க ேவ .
ந றி.

157
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-13- path testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 13 பா ெட

இ த அம வரேவ கிேறா ம நா பா ெட (path testing) ப றி விவாதி ேபா .

( ைல ைட : 00:25 ஐ பா க )

பா ெட (path testing)களி , நா க ெட ேக (test case) கைள ைச (design)ெச


கிேறா அ ல ெட ேக (test case) கைள பா காேவரா (path coverage) அைடவத
ேதைவ ப கிற .

( ைல ைட : 00:26 ஐ பா க )

ேபா ற ெட ேக (test case) கைள நா ைச (design) ெச கிேறா () பா கவேர (path


coverage)அைடய பட ேவ , ஆனா அ எ ேபா ெட (testing) ெச ய ய
சா திய கைள ைச (design) ெச ய யா (ஏ ), ஏ எ பா ேபா , ஆனா
ைற தப ச நம ெட ேக (test case) க இ க ேவ இ ெர ேடா
இ (random input) டாக இ கலா , ஆனா நம ேதைவ ப , அ த ெர ேடா
இ (random input) எ க ேதைவயான பா (path)ைய அைடகி றன. எனேவ, பா
கவேர (path coverage) வைரயைற எ ன? பா கவேர (path coverage)வைரயைறயான ,

158
ேரா ரா (program) யி உ ள அைன லிெனஅ லி இ ெடேப ெட பா (linearly
independent path) க ெசய ப த ப கி றன ம ேரா ரா (program) எ ப ஒ
னி (unit) ம ஒ னி (unit) இ ேக ஒ பி ஷ (function) ஆ . எனேவ,
பி ஷ (function) யி அைன லிெனஅ லி இ ெடேப ெட பா (linearly independent
path) க பா கவேர (path coverage)அைடய ெட ேக (test case) களா
ெசய ப த ப கிற ஆனா பி ன இ லிெனஅ லி இ ெடேப ெட பா (linearly
independent path) க எ ன? இ த ேக வி ந ைம ெகா .ஒ ேரா ரா (program) யி
க ேரா ெலா கிரா (control flow graph) யி லிெனஅ லி இ ெடேப ெட பா (linearly
independent path) கைள வைரய க ப கிற .

( ைல ைட : 01:50 ஐ பா க )

ம கைடசி கா சியி நா விவாதி ெகா க ேரா ெலா கிரா (control


flow graph) , இ ேரா ரா (program) யி ேட ெம க இ த கிரா யி ைனகளா
ேரா ரா யி கிரா பிரதிநிதி வ ஆ , ேரா ரா (program) ல க ேரா
ெலா (control flow) ஆகிற அ ல ேட ெம (statement) க நிைறேவ ற ப
ஸீ (sequence) . க ேரா ெலா (control flow ) ம ேம நட ஒ ரிவி
ேரா ரா (trivial program) , பிெர (branch) க எ இ ைல, அ ஒ லீனிய
ரா (linear graph) ஆக இ , அேதசமய தி யதா தமான நிக சிகளி அ சி கலான
ரா (graph)இ , ேம ஒ ேரா ரா (program) கான க ேரா ெலா கிரா (control
flow graph) வைரய ேவ , அதனா நா லிேன லி இ ெடேப ெட பா (linearly
independent path) க ம அவ க ேதைவயான காேவரா (coverage) வைரய க
யா .பா ெட (path testing) எ றா எ ன ?ெபா ரி ெகா ள . எனேவ,
ஒ ேரா ரா (program) கான க ேரா ெலா கிரா (control flow graph)எ ப வைரய
ேவ எ பைத பா ேபா .

( ைல ைட : 03:01 ஐ பா க ).

த விஷய எ னெவ றா , அைன ேனா (node) ைய ேரா ரா (program) யி உ ள


அைன ேட ெம (statement) ைடைய எ ணி நா ஒ ெவா ேரா ரா (program)
யி கிரா (graph) யி ஒ ேனா (node) வைரய ேவ , ேம ஒ ேனா (node)

159
யிலி ம ெறா றிலி க ேரா (control) ைறைமைய மா றினா நா ஒ எ (edge)
ைய வைரய ேவ .

( ைல ைட : 03:20 ஐ பா க )

எனேவ, இ த ேரா ரா (program) யிைன பய ப தி இைத ேபா ற ஒ கிரா (graph) ைய


ெகா ேபா , ஆனா சி ெடம ெட னி (systematic techniques) ப றி விவாதி க நா
ஒ ஆ பி டரி ேரா ரா (arbitrary program) ெகா .

( ைல ைட : 02:28 ஐ பா க )

அத காக CFG ஐ எ ப வைரய ேவ ?

( ைல ைட : 03:41 ஐ பா க )

ஒ ெவா ேட ச ேரா ரா (structure program) வைக ேட ெம (statement)


கைள உ ளட கி ள , ேச ன (sequence) ேட ெம (statement) வைககளா , இ
ஒ ேட ெம (statement) யான . அ த ேட ெம (statement) ைய இய ேபா ,
ேட ெம (statement) யி ேச ன (sequence)வைக. இ த ேட ெம (statement)
களி வைக பி வ பைவ ேவ ெசெல ஷ (selection) ேட ெம (statement) க ம
இ டெரஷ (iteration) ேட ெம (statement) ஆகியைவ ஆ . அேத ேநர தி (loop)
களி இேத ேபா றவ ைற ெச க . எனேவ, இ த வைகயான ேட ெம (statement)
க ெதாட ைடய ெலா (flow) CFG இ ேதைவ ப எ (edge) கைள வைரயலா ; இ த
வைகயான ேட ெம (statement) கைள க ேரா ெலா கிரா (control flow graph) ல
பா கலா ம ஒ ெவா ேட ெம (statement) யி , CFG ஐ வைரய க எ த
ஆ பி டரி ேரா ரா (arbitrary program) யி ெகா க ப ட எ (edge) கைள நா
வைரயலா .

( ைல ைட : 04:51 ஐ பா க )

இ ேபா , இ சீ கிர பா கலா . எனேவ, ஒ a=5அ அ த ேட ெம (statement) ைய


நிைறேவ வ உடன யாக ஒ ஸீ ேப (sequence type) ேட ெம (statement)
யா , இ எளிதான . எனேவ, விைரவி ஒ ைவ b நிைறேவ கிற . எனேவ, எ த

160
தய க இ ைல ெதளிவி ைம இ ைல நா ஒ எ (edge) 1 த 2 வைர வைரய
ேவ . இ ேபா , ெசல ஷ (selection) ட இ ேக க னமாக இ ைல.

( ைல ைட : 05:16 ஐ பா க )

b ஐ விட அதிகமாக இ தா , c 3 ேவ c=5ம இ ேத ெத க ப டைத கா


ேட ெம (statement) யி ெதாட ஸீ (sequence) வைக ஆ . எனேவ,
ஸீ (sequence) வைக 1 எ ப 2 அ ல 3 அ ல 2 அ ல 2 அ ல 3
க ேரா (control) இடமா ற களிலி மிக ேட ெம (statement) ஆ . எனேவ,
ஒ ெசல ஷ ேட ெம (selection statement) மிக இ இ (intuitive) எ நா
எளிதாக அ த CFG வைரய , ஆனா சிறி சி க அ ல ரி ெகா ள சிறி ேதைவ
இ ஒ இ டெரஷ (iteration) ஆ .

எனேவ, சில க ஷ (condition) க ம இ ேட ெம (statement) க இ


(loop) யி உ ளன, பி ன ஒ ஸீ ேட ெம (sequence statement) உ ள .
எனேவ, இ த 1, 2, 3, 4 ஆகியவ றி எ ம 1க ேரா (control) ஆகியவ றி 2, 2 த
3 வைரயாக வைரயலா . எனேவ (true) மதி பீ ெச ேபா எ பிரஸி (true
expression), அ க ேரா (control) 1 த 2, 2 த 3 , ஆனா கவனி க ேவ ய
கியமான விஷய , 3 இ இ 4க ேரா (control) வரவி ைல, இ எ பிரஸி (loop
expression) மதி பீ ெச ய ப கிற . எனேவ, 3 பிற நா இ த எ (edge) ைய
இ தி கிேறா , அதனா இ டெரஷ (iteration) யி வி எ பிரஸி (loop
expression) மதி பீ ெச ய ப கிற ம எ பிரஸி (loop expression) பா (fault)
ஆக இ தா , அ த க ேரா (control) க ேரா (control) மா றியைம கிற .
எனேவ, இ த மி ேக (mistake)பல 3 த 4 வைரயிலான க ேரா ரா ஸபி (control
transfer) வைரய கிறா க , ஆனா த நா வைரயான க ேரா
ரா ஸபி (control transfer) வர டா எ ப நட கா . எனேவ, எ ேபா இ
எ பிரஸி (loop expression) மதி பிட ப கிற ம எ பிரஸி (loop expression)
மதி பீ ைற பா (fault) எ (edge) யி மதி பீ எ றா 4 இ ேக வைரய ப ட ம ஒ
க ேரா ெலா கிரா (control flow graph) நா இ த மதி க அ ல இ த மதி பீ எ
எ த யா ஒ பா வரிைசயி நா க ெச ய ேவ ய பா (fault) மதி பி கிற ,

161
ஆனா CFG இ க ேரா (control) இ லாத ஒ ேனா (node) யிலி நா எ (edge) யி
இ கிேறா . இ ேபா , ஒ பா (path) யி வைரயைறைய பா ேபா .

( ைல ைட : 07:59 ஐ பா க )

ஒ பா ெதாட க ேனா (node) யிலி ஒ ேனா (node) ம ேனா node) கா சிைய


க ேரா ெலா கிரா (control flow graph) யி ஒ பா (path) யா . எனேவ, வ க
ேனா (node) யிலி இ தி ேனா (node) யிலி ஒ ஸீ (sequence) ேனா (node)
யிலி ெதாட ேனா (node) எ (edge) ேஜா களி ஸீ (sequence) இ ஒ
பா (path) எ அைழ க ப வேதா , ெவளிேய ம நிர தர காரணமாக ஒ
ேரா ரா (program) யி பல ெட மின (terminal)ேனா (node) க இ கலா எ பைத
நிைனவி ெகா ள .

( ைல ைட : 08:39 ஐ பா க )

எனேவ, ஒ விஷய , (loop) க னிைலயி பா (path) யி எ ணி ைக மிக


அதிகமாக ஆகிவி கிற , ஏென றா அ வ க ேனா (node) யிலி ெதாட கி ேனா
(node)யிலி நா க விவாதி த ேரா ரா (program) கான இ தி ேனா (node) ட எ த
ஸீ (sequence) ைற ஆ .

( ைல ைட : 09:03 ஐ பா க )

இ த இ டெரஷ (iteration) ைய பா ேபா . 1, 2, 3, 1, 2, 3, 4 எ ப ஒ பா (path) 1, 2, 3, 1, 2,


3, 1, 2, 3, 1, 2, 3 ம 4 ஆகியைவ ஒ பா (path) யாக இ . எனேவ, (loop) யி
ஒ ெவா இ டெரஷ (iteration) ஒ திய பா (path) ைய ெப வீ க . நீ க
(loop) உ ள அைன பா (path) கைள ேதைவ ப டா , நா க ெட (testing)
களி எ ணி ைகைய மிக சிற பாக ெச ேவா , எ த நைட ைற ேவைல தி ட தி
நா க அைன பா (path) கைள ெட (test) ெச ய யா . நைட ைற சா தியம ற ,
அதனா தா நா ஒ ேந ைமயான பா (path) யி இ த க ைத வைரய க ேவ .
எனேவ, இ அைன பா ெட (path testing) களி ெட (test) ல கி ட த ட எ
(edge)ைய அைடய , ஆனா ேமேனஜ கா ந ப (managerial number) ெட ேக
(test case)க ேதைவ ப . எனேவ, ஒ லிெனஅ லி இ ெடெப ெட (linearly independent)
அைம பான பா (path) எ ன? எ பைத இ ேபா பா ேபா , பி ன இ த லிெனஅ லி

162
இ ெடெப ெட (linearly independent) அைம பா (path) கைள நா கவர(cover)
ேவ . எனேவ, pn p1இ தா , ஒ பா (path).

( ைல ைட : 10:17 ஐ பா க )

பி நா p எ ப பா (path) p1 இ pn ஒ லீனிய கா பிேனஷ (linear combination)


யா எனி , piai pi இ ஒ லீனிய கா பிேனஷ (linear combination) ைய ஒ
எ ணாக இ தா , pi பா (path) யி p ஏ படலா அதாவ , ஒ பா (path) ெச ஒ பி
ேனா (set of node) களி ம எ (edge) ைய றி பிட ப கிற . எனேவ, ஒ பா (path)
ஒ லீனிய (linear) தலாக இ தா இர பா (path) க தலாக இ தா அ
ஒ லீனிய இ ெடெப ெட ( linear independent) அ ல. எனேவ, ெதா பி ம ற பா
(path) களி லீனிய கா பிேனஷ (linear combination) ட எ த பா (path) ைய
அைம காதப ச தி பா (path) களி ெதா பான லீனிய இ ெடெப ெட (linear
independent) உ ள . ேவ வா ைதகளி வதானா , ஒ பா (path) யி ம ற பா
(path) க ஒ லீனிய கா பிேனஷ (linear combination) ெபற யாத ைற தப ச ஒ
எ (edge) யி ஒ பா (path) யி ளஒ தனி வமான பா (path) யி ஒ ெவா பா
(path) ைய நா க கிேறா . எனேவ, பா (path) யி ம ற ப தி பா (path) க ஒ
லீனிய கா பிேனஷ (linear combination) ெபற பட யா , ேம பா (path) யி
ேச க படாத ைற தப ச ஒ எ (edge) இ . எனேவ, இ லீனிய
இ ெடெப ெட (linear independent) பா (path) களி வைரயைற ஆ . இ ேபா , ஒ
லீனிய இ ெடப ெட (linear independent) பா (path) யி உதாரண பா கலா , நா
பா (path) களி லீனிய இ ெடெப ெட (linear independent) ெதா கைள பா தா ,
இ ேக 1-4 இ தா , 1 எ ப ெதாட க ேனா ம 4 ய ேனா (node) யிலி 1-4 ஒ
பா (path) 1, 2, 3, 4 எ ப ஒ பா (path) யா , ஆனா அைவ லீனிய
இ ெடெப ெட (linear independent) பா (path) அ ல, ஏென றா இர டாவதாக ஒ
திய எ (edge) ைய அறி க ப த யா .

( ைல ைட : 12:47 ஐ பா க )

163
எனேவ, எதாவ பா (path) அறி க ப ேரா ரா வழியாக எ த பா (path) ஒ திய
எ (edge)யி ம ற இ ெடெப ெட பா (independent path) யி ேச க படவி ைல, அ
ஒ இ ெடெப ெட பா (independent path) யாக அைழ க ப .

( ைல ைட : 13:02 ஐ பா க )

இ ேபா , ஒ ேரா ரா (program) சிறியதாக ஐ ைல (line) க அ ல ஏ ைல (line)


கைள வழ கி ளதா , க ேரா ெலா கிரா (control flow graph) ஆ ெச வத ல ,
லீனிய இ ெடெப ெட பா (linear independent path) களி பா (path) கைள நா
அைடயாள காணலா , ஆனா ேரா ரா (program) 20 அ ல 30 ேனா (node) க ம 50
அதி எ (edge) க , வைரபட ைத பா க ம பா (path) களி லிேன
இ ெடெப ெட ெச (linear independent set) எ எ பைத க டறிய மிக
சி கலானதாகிவி . 20 ேரா ரா (program) க ட ஒ ேரா ரா (program) கான
பா (path) களி லிேன இ ெடெப ெட ெச (linear independent set)எ எ பைத
க டறிய 1 அ ல 2 வார கைள நீ க ெசலவழி க , எனேவ, லிேன
இ ெடெப ெட பா (linear independent path) கைள அைடயாள காண யா உ ைமயி
ய சி கவி ைல ஆனா பா ெட (path testing) ெச வதி இ த க ைத
பய ப கிேறா .

( ைல ைட : 13:54 ஐ பா க )

எனேவ, நா எ வா பா ெட (path testing) ெச கிேறா ? நா ெம ேகவி (McCabe's)


ைச ேளாமா ெம ரி (cyclomatic metric) இ த க ைத ெகா ேளா ; ைச ேளாமா
ெம ரி (cyclomatic metric) ஒ க ேரா ெலா கிரா (control flow graph) கண கிட மிக
எளிதான . கிரா (graph) கவனி பத ல ெம ரி ( metric)கண கிட அ ல
க ேரா ெலா கிரா (control flow graph)லி ெம ெகேபவி (McCabe's)
ைச ேளாமா ெம ரி (cyclomatic metric)அளைவ எளிதி கண கிட அ ல
ேரா ரா (program) ேகா ைட(code) வழ கலா , க ேரா ெலா கிரா (control flow graph)
, ெம ேகவி ெம ரி (McCabe's metric) ம க ேரா ெலா கிரா (control flow
graph) யி கா சி க காணி ல நீ க மிக எளிதாக கண கிட எ நீ க
றியைத ேபால, ெம ேக ெம ரி (McCabe's metric) எ ைண உ க கா பி க .

164
( ைல ைட : 15:33 ஐ பா க )

எனேவ, ெம ேகவி ெம ரி (McCabe's metric) உ ைமயி லீனிய இ ெடெப ெட


பா (linear independent path) களி எ ணி ைகயி பிைண ள . எனேவ, ெம ேகவி
ெம ரி (McCabe's metric) ெதரி தா , ெம ேகவி ெம ரி (McCabe's metric) 10 10
மதி பீ எனி , நா 10 அதிகமான லீனிய இ ெடெப ெட பா (linear independent
path) க இ பதாக க தினா , எ தைன பா (path) க உ ளன எ பா ேபா . எனேவ,
நா ெம ேகவி ெம ரி (McCabe's metric) கண கிட எ றா ைற த ப ச எ தைன
ெட ேக (test case)கைள பா (path) கவேர (coverage)அைடய ேவ எ நம
ெசா கிற . இ ேபா , CFG இ தா , ெம ேகவி ெம ரி (McCabe's metric) கண கி வ
எ ப எ பைத காணலா . கிரா (graph) யி எ ணி ைகைய எ 2 ம பிள -2
ஆகியவ றி எ ணி ைகைய கண கி ைகயி , நா ைசேலாம ெம ரி (cyclomatic metric)
e-n + 2 ஐ ெப ேவா , ைசேலாம ெம ரி (cyclomatic metric) . எனேவ, அ த
ேரா ரா (program) தானாகேவ லபமா வ எளிதாக இ , க ேரா ெலா
கிரா (control flow graph) எளிதாக க ப தலா ம க ேரா ெலா கிரா (control
flow graph) லி நீ க ேனா (node) க பிள 2எ றஎ ணி ைகைய கண கிட .
எனேவ, இ த கிரா பி(graph) கான ைசேலாம ெம ரி (cyclomatic metric) 7 ேனா (node)
க 6எ (edge)க உ ளன, 7 - 6 + 2 எ ப 3, ைசேலாம ெம ரி (cyclomatic metric)
கண கி வத கான ம ற வழிக உ ளன.

( ைல ைட : 16:27 ஐ பா க )

எனேவ, இ ேபா நா பா த ஆஃ ேரா (approach)e - n + 2, ஆேடாேம (automate)


லபமா வத ல ,ஒ கிரா (graph) கவனி பத ல ைசேலாம ெம ரி ( cyclomatic
metric) கண கிட வழிவைக ெச யலா . ஒ சி.எஃ .ஜி,(CFG) நீ க சாதாரணமாக
க காணி , அ எ னெவ றா , ைசேலாம ( cyclomatic) சி கலான . நா எ ப
ெச வ ? இ ேக நா கிரா (graph) ைய பா கிேறா , எ தைன எ ணி ைகயிலான
ெபௗ (bound) க உ ளன எ பைத க பி , அ எ தைன ெபௗ (bound)
ப திக உ ளன எ பிள (plus) ஒ நம ைசேலாம ெம ரி ( cyclomatic metric)
அளி ம ெபௗ (bound) ய ற ப தியி வைரயைறைய வழ கிற .

165
ஸீ (sequence) யி இ த எ சரியாக கண கிட ப டா , e - n + 2 கண கிட பட
ேவ .

( ைல ைட : 17:18 ஐ பா க )

இ ேபா , இைத பா ேபா . எனேவ, அ எ தைன ெபௗ (bounded) க உ ளன, இ ேக


ஒ ெபௗ (bounded) ஏரியா(area) உ ள , இ ேக ம ெறா ெபௗ ஏரியா(bounded
area) உ ள . எனேவ, இர ெபௗ (bounded) க உ ளன, எனேவ ெபௗ (bounded)
ப ட ஏரியா(area) களி எ ணி ைக பிள 1எ ப 3 சமமாக இ ,அ 3, 7 -6
+2 என மதி பி ள e -6 +2 சமமாக இ கிற .

( ைல ைட : 17:52 ஐ பா க )

எனேவ, எெபௗ ஏரியா(bounded area) களி எ ணி ைக 2 ஆ ,ம ைசேலாம


(cyclomatic) சி க 3 ஆ , இ ெம ேகவி ெம ரி (McCabe's metric) ெட (testing)
சிரம ம ந பக த ைம வழ கிற .

( ைல ைட : 17:58 ஐ பா க )

எனேவ, ஒ ேரா ரா (program) கான ைசேலாம ெம ரி ( cyclomatic metric) 50 எ ப


நம ெதரி தா , நம ைற தப ச 50 ெட ேக (test case) க ேதைவ எ
அறி தா , இ த ேரா ரா (program)மிக சி கலான எ பதா , 50 ெட ேக (test case)
க ேதைவ எனேவ, ேதைவயான ெட (testing) ய சி மிக அதிகமாக இ , ேம
அ 50 ெட ேக (test case) களி ெட (test)ெச ய ப ட பி ன ப (bugs) க
இ க . எனேவ, 50 ெட ேக (test case) க , 50 ெம ேகவி ெம ரி (McCabe's
metric), அ பல பிெர (branch) க உ ளன எ பைத ேகா (code) ந லத ல எ பைத
றி கிற . வழ கமாக நி வன க ேகா (code) ெம ெகபி ெம ரி (McCabe's metric) 10
ைறவானதாக இ க ேவ . எனேவ, ைசேலாம ெம ரி ( cyclomatic metric) e-n +
2 ஐ கண கி வத கான த ைறயான ஆேடாேம (automate) ந ல , இ
ைசேலாம ( cyclomatic) சி கைல e-n + 2 ல கண கிட உத ஒ சிறிய
ேரா ரா (program) எ த . எனேவ, ெட (testing) வைககளி எ ணி ைக
இ ெடெப ெட பா (independent path) களி காேவரா (coverage)உ தரவாதமளி க
ைச (design) ெச ய பட ேவ , ேம ைசேலாம ெம ரி ( cyclomatic

166
metric)நி ணயி ம ெறா வழி உ ள , ேரா ரா (program) ல பா ைவயிட CFG ஐ
ம பா ைவ வி வ லி இ ெப ேரா ரா (visually inspect program) இ ைல, பல
பிெர எ பிரஸி (branch expression) க அ பிள 1எ நீ க ைசேலாம ெம ரி (
cyclomatic metric) ெகா .

( ைல ைட : 20:01 ஐ பா க )

ேரா ரா (program) ல பா க , எ தைன பிெர எ பிரஸி (branch expression) க


உ ளன எ பைத காணலா , எ தைன ேட ெம (statement)க இ பி அேத சமய
ைச ேளாமா ெம ரி (cyclomatic metric) இ , ஆனா நா நிைனவி ைவ க ேவ ய
ஒ எ ைச ேளாமா ெம ரி (cyclomatic metric) ெதரி . எ தைன பா (path) க
உ ளன எ பைத நா எ தைன பா (path) க உ ளன எ ப நம ெதரி , ஆனா பா
(path) கைள த கைள ெதரி ெகா ளாம , ேதைவயான பா (path) களி எ ணி ைகைய
அறி த பி ன நம ெதரியா . CFG இ உ ள ேகா (codE) அ த பாக கைள
க பி க க னமாக இ , ஆனா எ க ெட (testing) அ த பா (path) ைய
க பி க ேவ ய அவசியமி ைல. ஒ பா ெட (path testing) நம அ த பா
(path)கைள க பி அைத இய க ெட ேக (test case) கைள எ த ேவ . நா
வழ கமாக ெர ேடா ெட ேக (random test case) க ட ேரா ரா (program)
ெசய ப கிேறா , ஆனா நா பிெர (branch) எ றா எ னெவ பைத நா அளவிட
ய சி ெச கிேறா , அ ட நா பா காேவரா (path coverage) பா (path)ைய ெட (test)
ெச ேளா . எனேவ, ைச ேளாமா (cyclomatic ) சி கலான மிக கியமான
எ ணி ைகயா . ேரா ரா (program) யி இ தி ந பக த ைம எ னெவ பைத இ
நம ெதரிவி கிற . இ ெவளியிட ப ட , ெட (testing) ய சி ம
ேரா ரா (program) ெட (test) ெச ய ேதைவ ப ைற தப ச ெட ேக (test case)
களி எ ணி ைக ஆ . எனேவ, ஒ நைட ைற பா ெட (path testing) ,
ெட ட (tester) அ பவ ம தீ இ ெட ேட டா(test data) இனிதி ெச (set)
ெமாழிகிற .

( ைல ைட : 21:59 ஐ பா க )

எ பைத பா க . பிற , ைடனமி ேரா ரா அனைலேச (dynamic program analyzer)


எ றைழ க ப சிறிய (tool) நம உ ள . ைடனமி ேரா ரா அனைலேச (dynamic

167
program analyzer) உ ைமயி எ தைன லீனிய இ ெடேப ெட பா (linear independent
path) க கவ (cover)ெச ய ப எ பைத கா கிற , இ ேபா ற ேரா ரா
(program) எ த க னமாக இ ைல உ ைமயி இ ஒ அைச ெம (assignment) ைடனமி
ேரா ரா அனைலேச (dynamic program analyzer) ைவ எ வத . எனேவ, ஒ சிறிய
ேகா ைட(code) உ வா கி, அத க ேரா ெலா கிரா (control flow graph)எ த ,
க ேரா ெலா கிரா (control flow graph) எ (edge) க உ ைமயி ேட ம
(statement)க , நா க ேட ெம (statement) வைக ெபா எ (edge) க
எ னெவ றா , நா CFG ேரா ரா (program) ெசய ப கிற . ெட ேக (test case) களா
எ க ப டஎ (edge) க எ னெவ பைத றி கி ேறா , ெட ேக (test case) களா
எ க ப ட எ (edge) க எ னெவ பைத ,ஒ திய பா (path) ெசய ப த ப வைத
அறி தி ஒ திய எ (edge) யி ெட ேக (test case) ெசய ப வைர நா க
எைத றி கிேறா எ பைத றி கிேறா . நீ க ஒ ேரா ரா program) ேகா ைட(code)
இல வாக ெப ெகா ள ய சி.எ.ஜி.ஜி, ெம ெகேப ெம ரி (CFC McCabe's metric) ல
ெதரி த பா (path) யி எ ணி ைகைய அறி தி கிேறா , பி ன ெட ேக (test case)
ெசய ப வதா , நா ெட ேக (test case) களா நி வகி க ப பா (path) களி
எ ணி ைகைய தீ மானி கலா , அைடய ெப ற சதவீத பா (path)ைய தீ மானி க .
ஆனா ஒ சிறிய ேரா ரா (program) க ,

(ஒ ெவா நிமிட தி எேஸ (execution) நிைறேவ வத ெட ேக (test case)


கைள தயா ெச யலா , ஆனா இ ெபரிய ேரா ரா (program) க நைட ைற அ ல.
எனேவ, சிறிய ேரா ரா (program)க கான, நா தலி ைசேலாம (Cyclomatic)
சி கலான , லீனிய இ ெடேப ெட பா (linear independent path)களி ெதா ைப
நி ணயி , ெட ேக (test case)களான ைச (design) ெச ெட ேக (test case) கைள
ெமாழிகிற , இ இ த பா (path) ைய ெசய ப . எனேவ, இ ஒ எ கா
உதாரண ஆ . பி ன இர ெடஸிஸி ேட ெம (decision statement) உ ளன, எனேவ
அ ைசேலாம (Cyclomatic) யி சி கலான 3ஆ . எனேவ, நா பா (path) க
வைர எதி பா கலா , ஆனா பி ன இர லீனிய இ ெடெப ெட பா (linear
independent path) க உ ள . 24:26)

168
எனேவ, 1, 2, 3, 5, 1, 6 ம 1, 2, 4, 5, 1, 6, எனேவ இைவ இர இ ெடேப ெட பா (
independent path) க , ேவ பா (path) க அ த இர பா (path) க . எனேவ, நா
ெட ேக (test case) க x 1 சமமாக இ க ேவ , y எ ப 1 ஆ , x சமமாக 1, y
சமமாக 2, etcetera, இ ஒ சிறிய ேரா ரா (program) , 3 ைல (line) அ ல 4 ைல
ேரா ரா (line program) .

( ைல ைட : 25:11 ஐ பா க )

நா எளிதாக CFG ஐ வைரய , ெம ெகபி ெம ரி (McCabe's metric) க பி க


, இ நம ெட ேக (test case) களி எ ணி ைகயி அ ப ெபௗ (upper
bound) ைய அளி கிற , பி ன அ த ெட ேக (test case) கைள எ கிேறா ம
பா (path) க ெசய ப கிறதா எ பைத சரிபா க . இ ேபா , ைசேலாம (cyclomatic)
சி கலான பய பா ைட பா கலா .

( ைல ைட : 25:56 ஐ பா க )

ெம ேகவி ெம ரி (McCabe's metric) ஒ ேகாடாக(code) இ பைத நா ஏ கனேவ


பா தி கிேறா . அ த ேகா (code) பிற எ தைன ப (bugs) க அ த
ஐேஸ ேட(execute) ெசய ப கி றன, அ த ேகா (code) எ தைன ப (bugs) க
இ எ றி பி கிற இ த ேகா ைட(code) ஒ றா நப எ வள
ேகாடாக(code) ரி ெகா ள ேவ எ பேத. எனேவ, ெம ேகவி ெம ரி (McCabe's
metric) எ ப ேரா ரா (program) யி பி ேசாலாஜி க (phychological)சி கலான அ ல
இ த ேரா ரா (program) யி சிரம அளவி ஒ அள .

( ைல ைட : 26:31 ஐ பா க )

எனேவ, இ த ேகா (code) வள சி ட ெதாட ப தாத இ ெடேப ெட (independent)


நப அைத அவ ெகா , ேகா ைட(code) ரி ெகா ப ேக ெகா கிறா ,
இ த ேகா ைட(code) நீ க ரி ெகா ள ேவ யி ய சியான ,
ைசேலாம (cyclomatic) சி க . ைச ேளாமா (cyclomatic) சி கலான 50 எ றா , அவ
ேகா ைட(code) ரி ெகா வதி கணிசமான ய சிைய ெசலவழி க ேவ , அ 10
அ ல 5 அ ல 1 எனி , ேகா ைட(code) ரி ெகா வதி சிறி ேநர ெசலவழி க
ேவ . அ ஏ ? ேகா (code) ஒ ப திைய ரி ெகா வத நிைறய ேநர

169
ெசலவழி க ேவ எ பதி உ ளாக எ ன காரண ? ைசேலாம
(cyclomatic)சி கலான ெபரியதாக இ தா , ேகா ைட (code) ரி ெகா வேத பதி , நா
ேகா (code) உ ள அைன லீனிய இ ெடேப ெட பா (linear independent path)
கைள க பி ேபா , ஓ (output) ைய பா கிேறா , எ த வைகயான இ (input)
க இ த தயாரி ைப அ ல பிற ஆஃ ெரா (approach) ைய நா எ வா பா கிேறா
எ பைத பா க ய சி க .இ (input)ம ேரா ரா (program) யி இ த வைகயான
ரி ண இர தயாரி க ப ஓ (output) எ ன எ பைத காண . நா க
உ ைமயி அறியாம ேரா ரா (program) யி பா (path) கைள கட ெச கிேறா . எனேவ,
ந ரி ண ேகா (code), ேரா ரா (program) யி ல அைன பா (path) கைள
கட ெச ல ேவ , ேம பா (path) க இ ஓ (output)யாக இ தா ,
ேகா (code) உ ள அைன பா (path) கைள பயணி பத கான நீ ட ேநர ெசலவிட
ேவ . எனேவ, இ த அம நா அ த அம ெதாட . ந றி.

170
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-14- Data flow and Mutation Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 14 ேட டா ெலா அ ேடஷ ெட

இ வைர ெட (testing) ப ட சில அ பைட க தா க கைள க ேடா ,


பி ன நா க பிளா பா ெட (black box testing) பா ேதா . பல பிளா பா
ெட (black box testing) ெட ணி (techniques)கைள பா ேதா , பி ன சில ஹி ேட
பா ெட ெட ணி (white box testing techniques)கைள பா ேதா , கியமாக
இர வைகயான பிளா பா ெட (black box testing) ெட ணி (techniques)க . ஒ
கவேர (coverage)அ பைடயிலான , ம ற பாஉ (fault) அ பைடயா , நா க
காேவரா (coverage) அ பைடயிலான ெட ெட ணி (testing techniques)கைள பா க
ஆர பி ேதா . காேவரா (coverage) அ பைடயிலான ெட ெட ணி (testing
techniques)களி , ேட ெம காேவரா (statement coverage)பிெர (branch) அ ல
ெடஸிஸி காேவரா (decision coverage) , ப ேவ க ஷ கவேர ெட ணி (condition
coverage techniques) கைள நா க பா ேதா , பி ன நா க பா ெட (path
testing)ெச ேதா . இ நா இ சில ஹி ேட பா ெட ெட ணி (white box
testing techniques)கைள பா ேபா . நா ெதாட ேவா , ஆனா இத ன நீ க

171
ரி ெகா , ைதய விவாத கைள ப றி சி தி பா க , சில ேக விகைள
உ களிட ேக கலா .

( ைல ைட : 01:33 ஐ பா க )

த ேக வி எ னெவ றா , ஒ கவேர (coverage) அ பைடயிலான ெட (testing) ல


நீ க எ ன ரி ெகா கிறீ க ? இ ேக காேவரா (coverage) எ ன? எ ன
கவ (covered) ? எனேவ, இ த ேக வி பதிலளி க, நீ க உ க ெசா த ரிதைல
ேசாதி க . இ த ேக வி பதிலளி பத , ஒ காேவரா (coverage)அ பைடயிலான
ெட (testing) கியமாக ெட (testing) ெசய திற சில ேரா ரா
எலிெம (program element)கைள உ ளட கிற அ ல சில ேரா ரா
எலிெம (program element)கைள இய ம நா க க கி ற ேரா ரா
எலிெம (program element) க ,க ஷ க (condition) இ க ,
எலிெம (element) நிைலைமக இ க , பா (path) க ம பல இ கலா .

இ ேபா , இ ஒ ேக விைய பா கலா . ெவ ேவ வைகயான க ஷ கவேர


(condition coverage)எ ன? நா இ வைர பா தி ப ேவ வைகயான காேவரா
ெட (coverage testing) எ ன?, இ ேக நீ க ப ேவ வைகயான காேவரா ெட ணி
(coverage techniques)கைள நிைனவி ெகா கிறீ க எ ந கிேற . பலவீனமான
ேட ெம (statement) காேவரா (coverage)ைய நா க விவாதி ேதா . பி ன , பிெர
(branch) ம ெடஸிஸி காேவரா (decision coverage)ைய நா க பா ேதா , நா க
ேபசி க ஷ கவேர (Basic condition coverage)பா ேதா , நா க ேபசி க ஷ (basic
condition) உட ெடஸிஸி காேவரா (decision coverage)ைய பா ேதா , நா க ெள
க ஷ கவேர (multiple condition coverage), எ சி சி கவேர (MCDC coverage)ம பா
(path) கவேர (coverage) எ பா ேதா . இ ேபா , அ த ேக வி எ னெவ றா , கவேர
(coverage)அ பைடயிலான ெட (testing) எ வா நட த ப கிற ? ெட ட (testers)
எ ன ெச ய ேவ ? அவ ேரா ேர (program) ெலா க ேரா கிரா (control flow
graph)யி ஒ வைரபட ைத உ வா க ேவ , பி ன ெட ேக (test case)(test case)கைள
வ வைம க ேவ . இ உ க நிைனவி கிறதா எ றா , மிக சிறிய
ேரா ரா (program) ம ேம, ேரா ரா எலிெம (program element)கைள
கவர (covered) ய ெட இ (testing input)கைள உ வா க . ஒ நைட ைற

172
ேரா ரா (program) , நா க உ ைமயி காேவரா (coverage) அ பைடயிலான ெட
(testing suites)கைள வ வைம கவி ைல. நா ெட இ (testing input)க ,
ெர ேடா ெட இ (random testing input)க ம பி ன நா கவேர
(coverage)அளவி ஒ (tool) ம நா ஒ ேதைவயான அள ெம ரி (matric) அைடய
வைர இ (input)கைள ெகா க ைவ . எ க ெம ரி (matric) 100 சதவிகித
ேட ெம (statement) கவேர (coverage), 90 சதவிகித பா (path) கவேர (coverage) ம
பல. இ ேபா , அ த ேக வி எ னெவ றா , பாஉ (fault) அ பைடயிலான ெட (testing)
ல நீ க எ ன ரி ெகா ள ேவ ? உ க நிைனவி இ தா , நா க
()அ பைடயி இர பிரி களி ஹி ேட பா ெட ெட ணி (white box testing
techniques)க இ பதாக ெசா ேனா . ஒ ேரா ரா (program)அ பைடயாக ெகா ட
ெதாழி பமான , சில ேரா ரா எலிெம (program element) கைள மைற க அ ல
ெசய ப வத ய சி ெச கிேறா , அ ம ற வைக ஹி ேட பா ெட (white box
testing)யி நா றி பி ட வைகயான பாஉ (fault)கைள அறி க ப தி ேளா , பி ன
ெட ேக (test case)க அவ ைற க டறிய மா எ பைத சரிபா க . ெட ேக (test
case)க அவ ைற க டறிய யவி ைலெயனி , ெட (testing) ைறகைள
அதிக ப வத ல அதிக ெட (testing) ைறகைள ேச ேபா . எனேவ, அ பைட
க தா க க ேக ப இ வைர எ த பாஉ (fault) அ பைடயான ெட ெட ணி
(testing techniques)கைள நா பா கவி ைல. ஒ பாஉ (fault) அ பைடயிலான
ெட (testing) இ . இ ேடஷ ெட (mutation testing)பா க ேவ . இ ேபா ,
அ த ேக வி ஒ பாஉ (fault) அ பைடயான ெட ெட ணி (testing techniques) ஒ
உதாரண ெகா கிற . இ த அைன ேக வி பதிலளி க எ நா
நிைன கிேற . பாஉ (fault) அ பைடயிலான ெட (testing)யி ஒ உதாரண தி ,
ேடஷ ெட (mutation testing) ெச ேவா எ ெசா ேனா .

( ைல ைட : 05:42 ஐ பா க )

இ ேபா , நா விவாதி த ஹி ேட பா (white box) யி அ பைடயிலான ெட


ெட ணி (testing techniques)யி கிய அ ச கைள நிைனவி ெகா ேவா . நா
நிைனவி ெகா ள ய வலிைமயான ஹி ேட பா ெட (white box testing) எ ப
அைன பா (path) காேவரா (coverage) ம அைன பா (path) கவேர (coverage)

173
ஆ ,இ ஒ ேரா ரா (program)யி உ ள எ லா பா (path)கைள உ ளட கிய , ஆனா
பி ன நா அைன பா (path) கடைன உ ைமயி மிக நைட ைற ப த யாத
அள ேகா எ றி பி ததா , (loop) க , மிக அதிக எ ணி ைகயிலான பா
(path)க இ கலா , மி லிய கண கான அ ல பி லிய பா (path)க இ க
ம ேரா ரா (program) (loop)களி , பி ன பலவீனமான ஹி ேட பா
ெட (white box testing) ேட ெம (statement) காேவரா (coverage) ம அத
பி ன , ேட ெம (statement) விட ஒ வ வான உ திைய ெகா ட பிெர (branch)
அ ல ெடஸிஸி (decision) கவேர ைட(covered) நா க பா ேதா . நா ேபசி க ஷ
கவேர (basic condition coverage)பா ேதா , ஒ ெவா கா ேபாென க ஷ (component
condition) அ ல அ டாமி க ஷ (atomic condition) (true) ம பா (false)
மதி க க தி ெச ய ப கிற . பிெர (branch) ம க ஷ கவேர (condition
coverage)அ ல நா க க ஷ ெடஸிஸி கவேர (condition decision coverage)என
றி பி ேதா . இ க ஷ கவேர (condition coverage)ம பிெர ெடஸிஸி
காேவரா (branch decision coverage) ஆகியவ ைற கா வ வான , பிெர (branch)
ம க ஷ கவேர (condition coverage) விட வ வாக இ எ சி சி கவேர (MCDC
coverage)ைய நா க பா ேதா . நா ேநர யாக பா (path) காேவரா (coverage)யாக ,
சில ேநர களி , அ லி டரா ேறயி இ ெடேப ெட பா (path)யாக அைழ க ப ,
ெள க ஷ காேவரா (multiple condition coverage)கைள கவனி தி கி ேறா
அ எ .சி. .சி கவேரைஜ(MCDC coverage) விட வ வான , எ நா க க திேனா .
ெள க ஷ கவேர (multiple condition coverage)அதிக எ ணி ைகயிலான ெட
ேக (test case)களி விைளவி .

ஒ கா ெபௗ க ஷ (component condition) அ ல ஒ ெடஸிஸி (decision)


ேட ெம (statement)யி அ டாமி க ஷ க (atomic condition) அ ல கா ேபாசி
க ஷ (composite condition)களி எ ணி ைக ெபரியதாக இ , றி பாக ப
கா ெபௗ க ஷ க இ தா , நா க பல ெட (test) கால தி 210 ெட
ேக (test case)க ேதைவ ப , 20 அ ல 30 அ டாமி க ஷ (atomic condition) உ ள
க ஷ எ பிரஸி (condition expression) இ தா , பி ன நா ஒ ெபரிய
எ ணி ைகயிலான ெட ேக (test case)க ேவ , மி லிய கண கான ம
ெள க ஷ காேவரா (multiple condition coverage) அைடவத பி லிய

174
கண கி ேக (case)க ேதைவ, எனேவ ெள க ஷ காேவரா (multiple condition
coverage) உ ைமயி ஒ நைட ைற ெட ெட ணி (testing techniques)க
க த ப கிற ம ெபா வாக, யா ஒ ேரா ரா (program) ெள க ஷ
கவேர ைட (multiple condition coverage) அைடவத ெட (testing) ெச ய பட ேவ
எ வலி கிற , ஆனா வழ கமாக கியமான எ னெவ றா , கவிரா
ெட ணி (coverage techniques) க எ சி சி கவேர (MCDC coverage) ம பா (path)
கவேர (coverage) ஆ . எனேவ, வழ கமாக ெப மளவிலான பயன க வணிக ரீதியாக
பய ப அ ல பய ப ஒ ேரா ரா (program) தி ேபா ,
ெட ட க (tester) MCDC கவேர (coverage) ம பா (path) கவேர (coverage) ம எ
காேவரா (edge coverage) ஆகிய இர ைட ச தி பத கான ேநா க ட ெட (test)
ெச ய ய சி கிறா . ேக (case)க , ம னி க கா ெளெம டரி ெட (complimentary
testing) . நா க எ ன ெச ேதா , கா ெளெம டரி ெட (complimentary testing)
எ றா எ ன அ த ? எ .சி. .சி கவேர (MCDC coverage)அைட தைத உ தி ெச யாம ,
அேதேபா , எ க ெட (testing suit) எ . . .சி கவேர (MCDC coverage)
அைட வி டா , நா க பா (path)ைய கவர (cover)ேவ எ அ தமி ைல எ
ன நா வைரய தி ேதா . எனேவ, ெப பாலான சா ேவ இ ட ரி(software
industry) ெட ணி (techniques)கைள பய ப வத பய ப ஒ
ேரா ரா (program)ைய நீ க ெட (test)ெச தா , அைவ இர கிய ெட ணி
(techniques)க ெகா இ , எ சி சி ெட (MCDC testing) ம பா ெட
(path testing)ஆகியவ ைற பய ப தி அவ க ேரா ரா (program)ைய ெட (test) ெச
பா ப ந ல . இ ேபா , ேட டா ெலா ெட (data flow testing)என அைழ க ப ஒ
கியமான ஹி ேட பா ெட ெட ணி (white box testing techniques) ைய
பா கலா .

( ைல ைட : 11:06 ஐ பா க )

இ ேட டா ெலா ெட (data flow testing)களி , கிய ேயாசைன


எ னெவ றா ,ெட ேக (test case) க வைரய க ப கி றன ம ெட (testing)
வரிஅ ெல க (variable) வைரய க ப கி றன. எனேவ, ெட ேக (test case)க
வைரய க ப கி றன அ ல பா (path) வைரயைற ெச ய ப கிற ம பயன றி பி ட

175
வரிஅ ேளக (variable) எ ன அ பைடயி ேரா ரா வழியாக பா (path) கைள அ த
வரிஅ ேளகைள(variable) வைரய கிேறா . றி பி ட வரிஅ ேளக (variable) க வைரயைற
ம பய பா ெலாேகஷ (location) வழியாக பா (path) கைள வைரய க ேவ எ
நா மீ ெசா கிேற . இ த பா (path) க ேரா ெலா (control flow) கிரா (graph)
வைரய க ப ட பா (path) க எ ேக? நீ க விவாதி தீ க எ பைத
ற கணி கவி ைல. பா (path)க ெலா கிரா (flow graph) க ேரா ெலா கிரா (control
flow graph)யி வைரய க படவி ைல, ஆனா இ ேக ேட டா ெலா (data flow) அ ல எ
ேட டா(data) வைரயைறக ம பய க எ நைடெப கி றன எ பைத நா க
அ பைடயி ெகா பா (path)ைய வைரய தி கிேறா .

( ைல ைட : 12:20 ஐ பா க )

ஒ உதாரண ெகா க , இ த சி ேரா ரா (C program) பா க , இ ேக 2


ேட ெம (statement)யி காணலா எனி , a ஐ 5 ஐ ஒ கீ ெச யலா அ ல அ த
ேட ெம (statement) 2 வரிஅ ேள a ஐ வைரய கிற , பி ன நா
ேட ெம (statement) 3 வரிஅ ேள c இ பய பா , ேட ெம (statement) 4 ஐ d இ
பய பாடாக பய ப த ப கிற . நீ க ேட ெம (statement) 5 ஐ பா கிேறா , நா
வரிஅ ேள (variable) a. எனேவ, வரிஅ ேள( variable) a இ வைரயைற, ேட ெம (statement)
2ம வரிஅ ேள(variable) a ேட ெம (statement) 5 இ பய ப த ப கிற . இ ேபா ,
ேட ெம (statement) 6 பா ேபா . ேட ெம (statement) 6 , நம இர
வரிஅ ேளக (variable) ஒ a வரிஅ ேள(variable) ம ஒ a வரிஅ ேள(variable)யி
வைரயைற உ ள . RHS இ ேதா தலாக LHS இ . இேதேபா ேட ெம (statement)
யி 8, நா மீ வரிஅ ேள(variable) a பய ப கிற .

( ைல ைட : 13:40 ஐ பா க )

எனேவ, இ ேக ஒ ெவா ேட ெம (statement) நா இர ெச (set)


வைரய கிேறா . ஒ ெச (set) DEF S. எ அைழ க ப கிற . ேட ெம (statement)
எ S எ றா , நா வைரய த DEF S, அைன வரிஅ ேள(variable) க X இ ெச
(set)டா , எ X இ வைரயைற ம ெபா வாக ஒ ேட ெம (statement) ஒ
வரிஅ ேள(variable)ைய வைரய கிற . எனேவ, ஒ ேட ெம (statement)யி
வைரயைறயி ெச (set) ெபா வாக ஒ வரிஅ ேள(variable) இ , ஆனா

176
ேட ெம (statement) S இ ெச (set)களி ெச (set) பல வரிஅ ேள(variable)களா .
ேட ெம (statement) பல வரிஅ ேள(variable) க பய ப தலா ம அ மதி அ ல
ஒ வரிஅ ேள(variable) மதி வைரய க . இ ேபா , இ த எ கா ைட
பா ேபா , b சமமாக a , இ ேக ேட ெம (statement) எ 1ஆ . எனேவ DEF ெச
(set) ேட ெம (statement)யி 1 ஐ a, ம USES ேட ெம (statement) 1 ெச (set) b
ஆ . இ ேபா , இர டாவ உதாரண பா கலா . எனேவ, ஒ ேவைள நா .எஃ .எஃ (DEF)
2 DEF 2 எ தியி கலா , ஏெனனி நா அைத 2 எ ற எ ணாக எ ெகா கிேற .
எனேவ DEF இ ேட ெம (statement) 2 எ ப a. எனேவ, இ வரிஅ ேள(variable) ஒ
வைரய கிற , ம USES ெச (set) ேட ெம (statement) 2 a ம b ஏெனனி a
ம bஇ வ பய ப த ப கிற .

( ைல ைட : 15:44 ஐ பா க )

இ ேபா , ஒ வரிஅ ேள(variable) X எ ப S1 எ ற ேட ெம (statement)யி ேநர யாக


ெசா கிற , S ஆன Sம S1 இைடயி x வைரய க ப ட வரிஅ ேள(variable) உ ள ,
எனேவ, ஒ ேட ெம (statement) S, அ த வரிஅ ேள(variable)யி இைடநிைல வைரயைற
இ ைல எ றா எ ேட ெம (statement)யி வைரய க ப ட வரிஅ ேள(variable) x
ம ெறா ேட ெம (statement)யி S1 இ ேநரைலயா .

( ைல ைட : 16:25 ஐ பா க )

இ ேபா , ஒ வரிஅ ேள(variable) ேநர அ ல இ ைலெய றா ஒ எ கா றி


பா ேபா . ஆைகயா , இ ஒ வைரயைறயா , இ ஒ USES ம ஒ
இ ெட ெவனி (intervening) வைரயைற இ ைல, எனேவ வரிஅ ேள(variable) மாதிரியி
விள க ேநர ேட ெம (statement)யி 5 ம ேட ெம (statement) 6 இ வா கிற ,
ஆனா அ இ ைல வா கி றன . 2 இ உ ள வைரயைற, ேட ெம (statement)யி 8 இ
இ ைல, ஏென றா இ ேட ெம (statement) 6 இ ம வைரய க ப ள , ஆனா 6
இ உ ள வைரயைறயான ேட ெம (statement) 8 இ ேநர யாக உ ள . எனேவ, 2 இ
இ , விள க ேட ெம (statement) 5 இ ேநர யாக உ ள .

( ைல ேநர : 17:27 ஐ பா க )

177
இ ேபா , நா எைத ப றி ேபசினா , நா ஒ DU ெசயி (chain)ைய வைரய கலா . ஒ DU
ெசயி (chain) எ ப ஒ வரிஅ ேள(variable) யி ெபயைர றி ஒ மட , இ
வைரய க ப ள ேட ெம (statement)யி , இ ேநர அறி ைகயி உ ள .
எனேவ, எ (X) .எ.எஃ (DEF) ெச (set)யி எ (s), எ (x) எ எ (USES) 1 இ
ெச (set) உ ள ம எ (s) ம எ 1 (s1)இைடேய எ (x) ம னி க S இ
கீ இ ைல. இ ஒ DU ெசயி (chain) யாக நா அைழ கிேறா .

( ைல ைட : 18:15 ஐ பா க )

எளிைமயான ேட டா ெலா ெட (data flow testing) ஒ , ேரா ரா (program)யி உ ள


அைன DU ெசயி (chain)க கவ (cover) ெச ய ப க ேவ . அதாவ ஒ
வரிஅ ேள(variable) எ ேவ மானா வைரயைற ெச யலா , அ த
வரிஅ ேள(variable)யி பய க ஒ ெட ேக (test case) ஆக இ க ேவ , அ த
இர ேட ெம (statement) கைள மைற க ேவ . எனேவ, இ த a உ ள எ
றினா , இ எளிய ேட டா ெலா ெட (Data Flow Testing) ஆ . ம ற ேட டா ெலா
ெட (data flow testing)கிரிேடரியக (criteria) உ ளன, மிக ேம ப ட அள ேகா கைள,
ஆனா நா அைத விவாதி க ேபாவதி ைல, ஆனா ேட டா ெலா ெட (data flow testing)
அ பைட க க ம DU ெசயி (chain) காேவரா (coverage) இ எளிய ேட டா
ெலா ெட (data flow testing) ெட ணி (techniques).

( ைல ைட : 19:10 ஐ பா க )

எனேவ, DU ெசயி (chain) கவேர ைட(cover) அைடவத ேதைவயான ெட ேக (test


case)க எ னெவ பா கலா . இ ேபா , இ த ேட ெம (statement)ைய நா பா ேபா ,
அ B1 ேட ெம (statement)க ஒ ெச (set) வரிஅ ேள(variable) a வைரய க ப ,
பி ன சில க ஷ க (condition) உ ளன, இைவ ேவ வரிஅ ேளக (variable)
பய ப த ப கி றன. a ம பிளா (block) B4 பய ப த ேவ டா . இ
வரிஅ ேள(variable) a. இ ேபா , ேவ வரிஅ ேள(variable) க உ ளன.

( ைல ைட : 19:54 ஐ பா க ).

இத அ பைடயி நா DU ெசயி (chain) கைள நா விவாதி கி ற உதாரணமாக கண கிட


, இ ெச (set) 1 இ வைரய க ப ட ஒ வரிஅ ேள(variable) .ெச (set) 5 இ

178
பய ப த ப , இ ஒ DU ெசயி ைய(chain) உ வா கிற . இ ேபா , எ (X) அ த
ேட ெம (statement) ப ேவ ெச (set) க பய ப த ப கிற , நம ஒ ெபரிய
ெசயி (chain) எ ேவ , ஆனா நா இ த ெசயி (chain)க கவ (cover) ெச வத
ஒ சில பா (path)க ேவ , ஏெனனி பல ெசயி (chain)க ெவ ேவ க ேரா
ெலா பா (path)க ஏ படலா . இ ேபா , ம ெறா ஹி ேட பா ெட ெட ணி
(white box testing techniques)ைய பா ேபா , இ ேடஷ ெட (mutation testing) ம
நா ேடஷ ெட (mutation testing)எ ப ஒ காேவரா ெட (coverage testing)
அ ல எ றிேனா , ஆனா அ ஒ பாஉ ேப ெட ெட ணி (fault based
testing techniques), அ நா ேரா ரா (program)யி ஒ றி பி ட வைக பாஉ (fault)
எ பைத அறி க ப கிேறா , அ த வைக பாஉ (fault)க எதிராக ெட ேக (test
case)க ெசய திற உ ளதா எ பைத சரிபா க . இ ைலெயனி , ெட ேக (test case)
ெட (testing suit) வ ப த த ெட ேக (test case)க ட
அதிகரி க ப , இதனா றி பி ட வைக பாஉ (fault) க டறிய ப . இ ேபா , இ ேக
அ பைட க ைத பா கலா .

( ைல ைட : 21:31 ஐ பா க ),

ேடஷ ெட (mutation testing) களி , தலி நா றி பி ட காேவரா ெட


ெட ணி (coverage testing techniques)கைள பய ப கிேறா . எனேவ, ஆர ப ெட
(test suit) நா க விவாதி த சில ஹி ேட பா கவேர (white box coverage
techniques)ைய பய ப தி ைச (design) ெச ய ப ள . இ ேபா , ஆர ப
ெட (testing) த ட , ஆர ப ெட (testing) mc dc ெட (testing) இ கலா
அ ல பா (path) ெட (testing) இ கலா அ ல இைத பய ப தி ெட (testing)
ெச தா , சில ெட ப (bugs)(test box) க ம ெட (testing) நா ேடஷ ெட
(mutation testing)கைள ேம ெகா கிேறா .

ேடஷ ெட (mutation testing) பி னா இ கிய ேயாசைன, நா


ேரா ரா (program)யி சிறிய மா ற கைள ெச வ ம ஒ ேரா ரா (program)
மா றியைம த ேபா , அ ஒ ப (bugs) எ அ த . எனேவ, ேராகிராமரா (programmer)
எ த ப ட அச ேரா ரா (program)யி நா சிறிய மா ற கைள ெச கிேறா .. நா ஒ
அரிதிேம ஆபேர டைர(arithmetic operator) பய ப தி பிள (plus)ஸி இ

179
ைமன (minus) வைர மா றியி கலா அ ல ஒ ேவைள வரிஅ ேள(variable) ேப (type )ைய
மாறிவி ேடா . இைவ ஒ ேரா ரா (program) சிறிய மா ற க கான சில
எ கா க ம ஒ ெவா சி மா ற உ ைமயி ஒ ப (bugs) , ஒ வைக
ப (bugs) . எனேவ, இ ேபா ஒ ப (bugs) அறி க ப தியி பைத அறி தி
ெட (testing) ைறகைள நா க ர (run) ெச கிேறா . ெட (testing) ைறகைள
மீ இய கிேறா . அதாவ , சில ெட ேக (test case)களி ஒ ப (bugs)
ேரா ரா (program) அறி க ப த ப வைத பாயி சிஃனலி (failing signaling) ெச கிற .

( ைல ைட : 23:30 ஐ பா க )

எனேவ, அ இ ேக கிய ேயாசைன. நா ஒ பாஉ (fault) ைய ேரா ரா (program)யி


இ ச (insert) ெச ேடஷ (mutated) ேரா ரா (program) உ வா கி வ கிேறா . ஒ
ேடஷ (mutated) ேரா ரா (program) ஒ எளிய ப (bugs) உ ள , இ ேபா ெட
ேக (test case) ர (run) ம ெட ேக (test case)களி இய க மிக ேநராக
ேனா கி இ கலா . ெரகா (record) ம (tool)இ தா , எ லா ெட ேக (test
case)கைள இய க ெச வேதா , எ லா ெட ேக (test case)க கட வி டதா அ ல
சில ெட ேக (test case)க பாயி (fail) யைட ததா எ பைத சரிபா க .

( ைல ைட : 24:08 ஐ பா க )

எனேவ, நா க இ ேக விவாதி த ெசா களான ேடஷ (mutated) ேரா ரா (program).


ஒ ேடஷ ேரா ரா (mutated program), நா ேவ ெம ேற சில சி பாஉ (fault)கைள
அறி க ப தி ேளா , ேம நா ேப (type )வைகயிலான மா ற ெச ேதா .நா அைத
ஒ ேடஷ (mutated) எ அைழ கிேறா .

( ைல ைட : 24:35 ஐ பா க )

இ ேபா , இ த ேடஷ ேரா ரா (mutated program) இ தா , நா ெட ேக (test


case)கைள நட ேவா , பி ன சில ெட ேக (test case)க பாயி (fail)யைட தா , எ க
ெட ேக (test case)க உ ைமயி ெட (testing) ப கி றன எ பைத அறிேவா ,
நா க அறி க ப திய பாஉ (fault) ம நா க ேடஷ ஐ ெட (mutated is dead)
எ அ த , அதாவ இ த வைக பாஉ (fault)க எ க ெட ேக (test case)கைள
க டறிய ம நா ெட (test)கைள ச தி கி ேறா எ பைத ெட (test) ெச ய

180
திய ப (bugs)க ய சி ெச யலா , ஆனா எ லா ெட ேக (test case) க கட
ெச றா , ஒ ப (bugs) அறி க ப த ப ட , எ க ெட ேக (test case)க
ேபா மானதாக இ ைல. நா க எ க ெட ேக (test case)கைள அதிகரி க ேவ ,
நா க அறி க ப திய பாஉ (fault) வைர த ெட ேக (test case)கைள ேச க
ேவ .

( ைல ைட : 25:37 ஐ பா க )

எனேவ, ெட ேக (test case)க ஒ ேடஷ ேரா ரா (mutated program) கட


ெச றா , அ த ேடஷ (mutated) உயி ட இ கிறா எ கிறா , ேம இ
ேடஷ (mutated) ெட (testing)களி பய ப த ப ெசா களா , பி ன நா க
த ெட ேக (test case) கைள வ வைம ேதா , ஒ ெட ேக (test case)
அறி க ப திய ப (bugs) பாலி (failure) ெச வைர. எனேவ, இ த ேடஷ
ெட (mutated testing) யி ஒ அ லமான ேடஷ ேரா ரா (mutated program)
ெஜெனேரஷ (generation) சிறிய சிறிய மா ற கைள உ வா ம அைன ெட
ேக (test case)கைள இய , இ வ மிக எளிதாக ஆேடாேம (automated) ம
அதனா , அதிக எ ணி ைகயிலான ேடஷ (mutated) களி அ ல பிற வா ைதக ,
ப தாயிர அ ல றாயிர கண கான ேடஷ ( mutated) நிக சிகளா
எ றா ,அ ஒ பிர சைன அ ல. நா அைத ம அ லி(manually) ெச ய ேவ யதி ைல.
நா இ த ேடஷ (mutated tool) கைள ஒ (tool)யாக உ வா க , ேம
அைன ெட ேக (test case)கைள இய க ெச ய ம இைவ பா (pass)
ஆகி றனவா அ ல பாயி (fail)லி அைடகிறதா எ பைத சரிபா ெகா ளலா , எனேவ,
ேடஷ ெட (mutation testing) ெட ணி (techniques) ஆ ேடாெம (automation)
ஏ றதாக உ ள . இ த சமய தி இ த அம கைள நா க நி ேவா , அ த
அம களி ெதாட . ந றி.

181
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-15- Mutation Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 15 ேடஷ ெட (testing) (mutation testing)

இ த அம வரேவ கிேறா . இ வைர நா க பிளா பா ெட (testing)


ெட ணி (black box testing techniques) க ம பல ஹி ேட பா ெட (testing)
ெட ணி (white box testing) கைள ப றி விவாதி தி ேதா ம கைடசி அம வி , ஒ
பாஉ (fault) ேப ெட (testing) ெட ணி (fault based testing techniques) ேடஷ
ெட (testing) (mutation testing)ப றி நா க விவாதி ேதா .

( ைல ைட : 00:58 ஐ பா க )

நா க , ேடஷ ெட (testing) (mutation testing)களி , தலி ஒ ேரா ரா (program)


யி ஏ ப ப ேவ பாஉ (fault) வைககைள அைடயாள காண ேவ , பி ன நா
ேடஷ (mutation) ேரா ரா (program)கைள உ வா ேவா , அ நா வி ஒ
றி பி ட வைக பாஉ (fault) எ அறிேவா . எ க ெட ேக (test case)க ஒ ந ல
ேவைலைய ெச கி றனவா எ பைத ெட (test) ெச ய . பி ன ெட (testing) கைள
நட தி, அறி க ப திய பாஉ (fault) ெட ேக (test case)களா பி ப டா சரிபா க .
அ பி ப டா நா எ தி ப ேடஷ ஐ ெட (mutation is dead) ம எ க ெட

182
ேக (test case)க ந லைவ எ கி றன, ஆனா ேடஷ ஐ ைல (mutation is alive)
எ றா , நா க அறி க ப திய இ த ப (bugs) பி காம ஆர ப தி வ வைம க ப ட
அைன ெட ேக (test case) கைள நா க அறிேவா . பி ன , நா ேடஷ ஐ
ைல (mutation is alive) ம நா ேடஷ ெட ( mutation testing) ெச ய எ க
ெட (testing) (suite) த ெட ேக (test case)கைள ேச க ேவ . எனேவ,
எ க ெட ேக (test case)கைள நா க பல ப கிேறா . இ ேபா , நா
ேரா ரா (program)யி அறி க ப கி ற வழ கமான ேடஷ (mutation)களி வைகக
எ ன எ பைத பா ேபா . எனேவ, ேடஷ (mutation) ஆபேர ட (operator)(operator)களி
உதாரண ஒ ேட ெம (statement) ைய நீ கிற . எனேவ, ஒ றி பி ட
ேட ெம (statement) ைய நீ ேபா , நா ஒ ேடஷ (mutation) கிைட கிற . எனேவ,
நா சரிபா க ய சி கிேறா , ஏெனனி இைவ ேராகிராமரா (programmer) ெச ய ப
வழ கமான ேரா ரா (program) ஏேரா (errors) . ஒ ேவைள அவ அவ சில
ேட ெம (statement)க எ த வி பவி ைல. எனேவ, எளிய ேரா ரா (program)
ஏேரா (errors) ப ேவ வைகயான எளிய ேரா ரா (program) ஏேரா (errors)
அறி க ப கி றன, ஒ ேரா ரா (program) எ ேபா , சில எ கா க ஒ
ேட ெம (statement)ைய நீ கி றன, ஒ கணித இய கிைய மா கிற , ஏெனனி இ
ஒ ெபா வான ேரா ரா (program) ஏேரா (errors), மி ட ேக(mistake)
ேராகிராம (programmer) ேவ ஒ ஆபேர ட (operator)(operator) எ தி, ஒ ேவைள அவ ஒ
ைமன (minus) அ ல அத ட ஏதாவ ஒ பிள (plus) பரிமா ற ெச யலா , ஒ
வரிஅ ேள(variable) மதி ைப மா றி, ஒ ேரா ரா (program) வைகைய மா றி, ஒ ரிலஷன
ஆபேர ட (relational operator) மா றி, ஒ ரிலஷன ஆபேர டரி (relational operator)
ெபௗ (bound)ைய மா றியைம கலா .

( ைல ைட : 03:25 ஐ பா க )

எனேவ, ம ெறா ேட ெம (statement) ட ஒ ேட ெம (statement)ைய மா வ ,


ஒ ஏ வா (equal) ஒ ஆபேர ட (operator) மா றாக ஏ வா (equal) விட அ ல அத
ஏ வா (equal) அளைவ விட ஆபேர ட (operator) ஏ வா (equal) ஆக உ ள . எனேவ, அ த
எ பிரஸி (expression) யான எ ேபா ேம (true) யாக மா கிற . அரி ெம
ஆபேர ட (arithmetic operator)களி மா றீ , ஒ வரிஅ ேளைய(variable) மா த ,இ ஒ

183
ெபா வான ேரா ரா (program) எ ேறா (error )யா , இ ஒ a= b + c ஐ எ வத
பதிலாக ஒ a = d + c எ திய . எனேவ, இ த ப ேவ வைகயான ேடஷ (mutation)
ஆபேர ட (operator)க ேம ெகா ள ப கி றன, இ அதிக எ ணி ைகயிலான
ேடஷ (mutation)கைள உ வா கிற .

( ைல ைட : 04:30 ஐ பா க )

இ ேபா , ஏ , ேடஷ (mutation) ெட (testing) ேவைலகைள பா ேபா . இ


ைஹ ேபாதீசி (hypothesis) க உ ைமயி ேடஷ (mutation) ெட (testing)
ெவ றிக வழிவ . ஒ த திவா த ேரா ராம (programmer)
ைஹ ேபாதீசி (hypothesis) என அைழ க ப கிற , இர டாவதாக ெகா ளி எெப
(coupling effect) என அைழ க ப கிற . த திவா த ேரா ராம (programmer)
ைஹ ேபாதீசி (hypothesis) எ பவ க , அவ க கி ட த ட சரியான
ேரா ரா (program) கைள எ கிறா க . அவ க ஜு ேட ெம ( junk statement)கைள
எ தவி ைல, ஒ அ ல இர இட கைள தவிர, அவ க சரியான அ த ள
ேரா ரா (program)கைள ெச கிறா க , அவ க சிறிய ஏேரா (errors) ெச கிறா க .
எனேவ, இ ஒ ஊக ம இர டாவ ஊக அ ல இர டாவ
ைஹ ேபாதீசி (hypothesis) எ ப , ேரா ராம (programmer) அறி க ப திய சி கலான
எ ேறா (error) ேபா ற பல எளிைமயான எ ேறா (error) அறி க ப , எளிய எ ேறா (error)
ஒ சி கலான எ ேறா (error) ஏ வா (equal) ஆக இ . எனேவ, இ த இ வ
மி ேலா(DeMillo) ெமாழிய ப ட , 1978 ம இ த இர ேடஷ (mutation)
ெட (testing) பி னா அ பைட ேகா பா . இ த இர ஊக களி அ பைடயி தா ,
ேடஷ ெட (mutation testing)ஒ (works) ெச ய ப கி றன. த தியான
ேரா ராம (programmer) ைஹ ேபாதீசி (hypothesis) . ேராகிராம (programmer) கி ட த ட
சரியான ேரா ரா (program)கைள எ கிறா . அவ க கண கான ம
ப (bugs)க ம சில ேட ெம (statement)க றி அ தம உ ளன ஜு
ேரா ரா ( junk program)க எ த ேவ டா . அவ க இ த ேரா ரா (program)கைள
எ தவி ைல. அவ க சில சிறிய சி க க தவி சரியான ெசய கைள சரியாக
எ கிறா க ம இர டாவ அ மான , ஒ ேரா ராம (programmer) எளிைமயான
ப (bugs) ெகா டஒ சி கலான ப (bugs)ைய அறி க ப தியி தா ட.

184
( ைல ைட : 06:49 ஐ பா க )

திறைமயான ேராகிராம (programmer) ைஹ ேபாதீசி (hypothesis) எ வ ேபா


ேரா ரா (program)க ட ப வி டன, அைவ சில எளிய ஏ ேறா (error) ல சரியான
ேரா ரா (program)யிலி ேவ ப கி றன.

( ைல ைட : 07:04 ஐ பா க )

ம ற ெகா ளி எெப (coupling effect) பல எளிைமயான ஏேரா (errors) காரணமாக


அைன சி கலான ஏேரா (errors) ஏ ப வதாக , எனேவ எளிய ஏேரா (errors)
சரிபா க ப டா சி கலான ஏேரா (errors) அேதேபால ேரா ரா (program)யி மிக சி கலான
ஏேரா (errors)கைள அறி க ப த ேவ யதி ைல. எ கள எளிைமயான ஏேரா (errors) ,
ஒ ேராகிரா (program) ேராகிராம (programmer) ெச ய ய சி கலான ஏேரா (errors)
பி க ேபா மானதாக இ .

( ைல ைட : 07:40 ஐ பா க )

இ ேபா , இ த வைரபட ேடஷ ெட ங) (mutation testing) ெசய ைற கா கிற .


எனேவ, நா க ேரா ரா (program) ம பி ன , நா க அ பைடயி கவிரா ேப
ெட (coverage based testing) அ பைடயி சில ஆர ப ெட ேக (test case) க
வ வைம பி ன ெட ேக (test case)களி ர ம பி ன , ெட (testing)
ச த ப களி சில ப (bugs) க பி க ப கிற எ றா , ந ேரா ரா (program) சரி
ம இ ேபா ெட ேக (test case)க எ க இல காேவரா (coverage) அள ேகாைல
தி ெச MCDC ஆக இ கலா , அைவ இ ெடேப ெட (independent)அ ல
அ பைடயிலான பா கவேர (path coverage)அ ல இர டாக இ கலா , பி ன
நா க ேடஷ ெட (mutation testing)ெசய ைறைய ெதாட ேவா . எனேவ, அதிக
எ ணி ைகயிலான ேடஷ (mutation)கைள உ வா கி, நம ெட ேக (test case)கைள
பய ப தி, ேடஷ (mutation) கைள ேசாதி ேபா , சில ெட ேக (test case)க ஒ
ேடஷ (mutation) ேரா ரா (program) காக நிர ப ப டா , நா க ேடஷ ஐ
ெட (mutation is dead) எ கிேறா , நா க வ வைம த எ க ெட ேக (test
case)க ேபா மானைவ. பி ன , எ க ெட ேக (test case)க தா க பா (pass)
ெச றா , அ த ேடஷ ஐ அலி (mutation is alive) இ பதாக நா க கிேறா , எ க

185
ெட ேக (test case)க அைத பி க ேபா மானதாக இ ைல. நா ெட ேக (test
case)கைள அதிகரி க ேவ . எனேவ, ேநர ேடஷ (mutation) உ ளன. எ க ெட
ேக (test case)களி சி க இ பதாக நா க கிேறா . அவ க ேபா மானதாக இ ைல.
நா க த ெட ேக (test case)கைள உ வா கிேனா , ேம அ ஒ ெபரிய
எ ணி ைகயிலான ேடஷ (mutation) உ வா வைர இ ெதாட கிற . அ பைடயி ,
நா க வ வைம க ப ட த ெட ேக (test case)க , ஆர ப ெட ேக (test case)க
ப ேவ வைக பாஉ (fault) க ந லதா எ பைத சரிபா அவ ைற பல ப வத
ல அவ ைற பல ப தி ெகா கிேறா , எனேவ, ேடஷ ெட (mutation testing) ெட
ேக (test case)கைள வ ப த , அதிகமான ந பக த ைமைய உ தி ெச ய
கவேர (coverage) அ பைடயிலான ெட (testing) ெட ணி க ம இ தியாக, நா
ஒ ைற ேடஷ (mutation) களி எ ணி ைகைய உ வா கி ேளா , நா க எ க
ேடஷ ெட (mutation testing) ைமயானதாக , அதி டவசமாக,
ேடஷ (mutation) களி மீ ெட ேக (test case)க இய ேடஷ (mutation) கைள
உ வா வதா ெப பா ஆேடாேம (automate) ெச ய எ கிேறா .

( ைல ைட : 10:22 ஐ பா க )

ஆனா , இ வைர நா ேடஷ ெட (mutation testing) மிக சாதகமான அ ச கைள


ம ேம பா ேதா . ேடஷ ெட ( mutation testing)யி சில பிர சிைனக உ ளன.
பிர சைன பி வ மா நா றி பிடவி ைல. ஒ பிர சைன எ வாெள ேடஷ
(equivalent mutation)என அைழ க ப கிற . இ ேக பிர சைன இ கிற , நா ஒ
ப (bugs) உ வா கிேனா , நா ஒ ேடஷ (mutation) உ வா கியி கிேறா , ஒ
வரிஅ ேளயி (variable) மதி ைப மா றிேனா அ ல இர ேட ெம (statement)க
இ ெட ச ேக(interchange) இ கலா , ஆனா பி ன இ ெட ச ேக(interchange)
ேட ெம (statement)யான உ ைமயி ஒ ப (bugs) அ ல, ஏெனனி
ேட ெம (statement)க இைடேய ெப ெடனசி(dependency) இ ைல . இ ஒ
உதாரணமாக இ கலா அ ல ஒ ஆபேர டைர (operator) கா ைறவாக ெசய ப
ஆபேர ட (operator) பதிலாக இ கலா , ஆனா அ ேக ஏதாவ ப (bugs) இ பதாக
இ கலா , ஏெனனி ேவைல ெச வத ைறவாக இ பதா . எனேவ, இைவ
எ வாெள ேடஷ (equivalent mutation) என அைழ க ப கி றன. நா ஒ

186
ேரா ரா (program) ைய மா ேபா , ஆனா அ ஒ ேரா ரா (program)ைய உ ைமயி
அறி க ப தா , பி ன ஒ சி க உ ள , ஏென றா ெட (testing) ைறகைள
இய ேவா எ நிைன ேபா , ஏெனனி எ வித ப (bugs)க இ ைல, பிர சைன.
அைன ெட ேக (test case)க பா (pass) ஆகி ெச கி றன, ம ேடஷ ஐ
ஆலி (mutation is alive) இ பதாக நா க ெசா ேவா , இ த ர பா ைட
ேடஷ (mutation) கி ெச ய ய சி பத கான ஏராளமான ெட ேக (test case)கைள
எ வத ஏ ெவ றி ெபறாம ய சி ெச யலா , ஆனா அ உ ைமயி ஒ ப (bugs)
அ ல. இ ேடஷ (mutation) யி தா ட, இ ஒ பரிணாம வள சி டனான ஒ
உ மாதிரி ஆ ,இ ஒ தி டவ டமான வ வமாக இ தா ட, எ தெவா ப (bugs)க
அறி கமானா , அ சி டசி க லி பி (syntactically bit)ேவ ப டா , தரம ற. இ
ப (bugs) ெகா ட ஒ ேரா ரா (program) அ ல, எனேவ, ேடஷ ேரா ரா (mutation
program) ம அச ேரா ரா (program) ல பிரி தறிய யாத ெட (testing) ஆக
இ .

எனேவ, நம எ வாெள ேடஷ (equivalent mutation) இ ேபா , நம


ெட (testing) ெசய ைற, ஆ ேடாேம ட (automated) ெட (testing) ெசய ைற
சி கலி இய . இ ேடஷ ஐ ஆலி (mutation is alive) ம ெட ேக (test
case)கைள அ ெம (argument) ெச வ அவசிய எ பிள ெச கிற ஆனா
அவ க ஒ பிள (flag) ைய ஆரா சி ெச ேபாெத லா , நா ஒ எ வாெள
ேடஷ (equivalent mutation) ைய ெப கிேறாமா எ பைத நா ம அ லி(manually) யாக
சரிபா க ேவ , கவைல பட ேவ டா . இ த றி பி ட வைக ப (bugs) ெட
ேக (test case)க ேபா மானதாக இ ைல எ எ க எ வாெள ேடஷ
ெட (equivalent mutation testing) ெசய ைற ல எ பிய இ த எ சரி ைகைய
ற கணி கிேறா . இ த ேக (case)யி இ ஒ உதாரண . நா i ஐ 5 இைடெவளிகைள
ஏ வா (equal) மா றிவி டா , நீ க 5 ஐ விட ஏ வா (equal) வரிஅ ேள(variable)யி தா 5
ஐ விட ஏ வா (equal) ஆக இ . இ ெபா , அைவ உ ைமயி உ ளன, ஏென றா
இ ேக ெட (testing) தா , நா இ ேக பா (pass) ெச ேவா .

( ைல ைட : 14:07 ஐ பா க )

187
எனேவ, ேடஷ ெட ( mutation testing)யா ஏ ப பிர சிைனக , ஒ ெபரிய
பிர சைன ஏ இவெள ேடஷ (equivalent mutation) . இர டாவ பிர சைன, ஒ
ெநா - ரிவி (non-Trivial) ேரா ரா (program) , நா பி லிய அ ல ரி லிய (trillions)
ேடஷ (mutation)கைள உ வா க , பி ன ெசய ைற ஆ ேடாேம ட (automated)
இ க எ றா உ ேதசி க ப ட, இ ெபரிய எ ணி ைகயிலான, ெபரிய
ேநர ைத எ ெகா வ ம பல ஈ ேரா (error) க பிள (flag) யிட ப கலா ,
அேதா ஏ இவெள ேடஷ (equivalent mutation) க ட இ கலா , ேம நா
ம எளிய ஸி கி (syntactic) பாஉ (fault) க ம சில வைக பாஉ (fault) கைள
தலா . எ கா டாக, அ ேகாரிதமி பாஉ (fault) க ம பல. நா உ ைமயி
அவ ைற அறி க ப த யா , ம அ த வைகயான பாஉ (fault) க ,
அ காரித (algorithm) ைறபா கைள ெசா லலா , அதனா , ெகா ளி எெப (coupling
effect) உ ைமயாக இ கா . எனேவ, இ பய ளதாக இ . ேரா ரா (program)
எ ேபா ேராகிராம (programmer) எளிைமயான ப (bugs) க ெச தா ,
அ காரித (algorithm) பாஉ (fault) க ெசய திற ப (bugs) க ேபா ற சி கலான
வைகயான ப (bugs) க ம ேடஷ ெட (mutation testing) களி இ மிக
பய ளதாக இ கா .

( ைல ைட : 15:42 ஐ பா க )

எனேவ, ஒ ேக விைய உ களிட ேக ேபா . பிற ெட (testing) ெட ணி (techniques)


க ட ஒ பி ைகயி , ஒ கியமான ந ைம ேடஷ ெட (mutation testing)யி
எ னவாக இ ? பதி எ னெவ றா , அ ஆ ேடாேமஷ (automation) மிக
ெபா த ய ம அ எ க ெட (testing) (suite)வ ப ஒ
ெட ணி (techniques) மா . ெட (testing) த ட , எ க ெட ேக (test
case)கைள வ ப த , ேரா ரா (program)யி ந பக த ைமைய ேம ப த ம
ஒ மிக கியமான தீைம ஏ இவெள ேடஷ (equivalent mutation) இ பைத
நா க க டறி ேதா , நா ேடஷ ெட (mutation testing) ெச ய . எனேவ,
இ ேக எ த ப ட தீ எ ப ளா பா ெட (black box testing) ம
கவேர (coverage) அ பைடயிலான ெட (testing) (suite)ம தீைமக
ஏ இவெள ேடஷ (equivalent mutation) யாக இ பைத இ ெடகிரஷ (integration)

188
ெச ய . இ ேபா , இ ெடகேரஷ ெட integration testing) கைள பா கலா .
இ வைர நா னி ெட ( unit testing) , பிளா பா (black box) ம ஹி ேட பா
ெட (white box testing) ைய பா இ கிேறா . ஒ ேரா ரா (program) னி (unit)
ெபா வாக ஒ ெசய பா ஆ .இ ஒ ெமா ேல(module) டஇ க . இ ேபா ,
எ க பி ன ஷ ெமா ேல(function module) க ெட (test) ெச தி கிேறா எ
க தி, இ ேபா இ ெடகிரஷ ெட (integration testing) கைள எ வா ேம ெகா வ
ம எம கல ைரயாடலி ெதாட க தி எ வா நா இ ெடகிரஷ ெட (integration
testing) ெச ய ேவ , ஏ னி ெட (unit testing) ெச ய ேவ , பி ன
இ ெடகிரஷ ெட (integration testing) ம பிற , சி ட ெட (system testing)
ெச க . இைவ னி ெட (unit testing) களி எ தெவா ேடபி கி (debugging) ைய
திற பட சரிெச ய உத வதாக நா க றிேனா . ேடபி கி (debug) ெசய ைறயி ேபா
ப (bugs) ைய பா க மிக ைறவான இட ைத ெகா கிேறா , எனேவ,
ேடபி கி (debugging) ைறவாக இ . னி ெட ( unit testing) கைள
தவி வி டா , மிக ைறவாக அக ற ப க யஅ தப (bugs) க , மிக ெபரிய
ெட (testing) யி ெசலவழி க ேவ , அ த ப (bugs) க அக வத கான
ெசல கைள த கிற . ெச ய ேவ ய அ த விஷய எ னெவ றா இ ெடகிரஷ
ெட (integration testing) எ ப நா ெமா ேல(module) களி ெட (testing) கைள
நட தியி கிேறா , இ ேபா ெமா ேல(module) க இ ெட பி (interfacing)
ஒ ப கிறதா என ெட ெச கிேறா . எனேவ, அ த ேட ெம (statement) ைய
நா இ ெடகிரஷ (integration) ெட (testing) ேபா ம ப ம பகி ெச ேவா . நா
னி(unit) ெட (testing) இைடெவளியி இ ெடரபா (interface) ெச ய ப ட ெவ ேவ
ெமா ேல(module)க எ பைத சரிபா கிேறா . னி ெட (unit testing) ெச வத ல ,
நா க ப (bugs) க ெப பாலானவ ைற நீ கிவி ேடா எ எ க ெதரி .
ஏற ைறய ப (bugs)க இ ைல, ஆனா பி இர ெமா ேல(module) க ஒ றாக
இைண ைகயி ,ப (bugs) க இ ெடரபா (interface)யி ேதா றலா . எனேவ, இ நம
ஒ றி ைப வழ கிற , இ இ ெடகிரஷ ெட (integration testing) ல இல காக
இ வைக ப (bugs) க . எனேவ, நா இ ெடகிரஷ ெட (integration testing) ேபா
க பி க ப டப (bugs) வைக எ ன எ ேக டா , இ த இர ெமா ேல(module)
க இைடேய இ ெடரபா (interface) ப (bugs) க உ ளன. எ ன இ ெடரபா (interface)

189
உ ள ? ஒ பி ஷ (function) தவறான பரேம ட (parameter) ட ம ெறா
பரேம ட (parameter)ைய அைழ அ ல அ ஒ பரேம ட (parameter) அைழ ,அ
பரேம ட (parameter) க அ ல அதிக எ ணி ைகயிலான பரேம ட (parameter) க
ெகா ட ஒ பி ன ஷ (function) ைய றி கிற அ ல பரேம ட (parameter) வைக
ெபா தம றதாக உ ள . பி ஷ (function) ஒ இ ேட வ ேக(integer value)
அைழ க, ஆனா அ ஒ பிளா பாயி வ ேக(floating point value) அ ல ஒ
ரி (string) ேதைவ ம அ ஒ ேகர ட (character) பா (pass) ெச ய ம பல .
எனேவ, இ த இ ெடரபா (interface) ப (bugs) க உதாரண க ம இைவ
இ ெடகிரஷ ெட (integration testing) இல ஆ .

( ைல ைட : 20:20 ஐ பா க )

இ ேபா , இ ெடகிரஷ ெட (integration testing) எ ப எ வா ெமா ேல(module)


ஒ வ ெகா வ அைழ கிறேதா, எ ப னி (unit) ஒ வைரெயா வ அைழ கிறீ க
எ பத கான ஒ எ கா டாக பிரதிநிதி வ எ வா சி ேற(structure)
ைச (design) அ த அ பைடயி , , ெமா ேல(module) ட கி ேற (structure)யி
ெமா ேல(module) க ஒ வ ெகா வ எ ப அைழ உ ள . அ த அ பைடயி நா
இ ெடகிரஷ ெட (integration testing) ப ேவ வைகயான , நா பி ேப
ஆஃ ெரா , டா ெடௗ ஆஃ ெரா , ப ேடா உ ஆஃ ெரா (big bang approach) ம
ஒ ேஸ (mixed ) ஆஃ ெரா (approach) அ ல ஒ சா வி ஆஃ ெரா (sandwich
approach) ேவ . இ ேபா , இ த ஆஃ ெரா (approach) கைள பா ேபா .

( ைல ைட : 21:05 ஐ பா க )

இ சி ேற(structure) ைச (design) ேயா அ ல ெமா ேல(module) க


ஒ வ ெகா வ எ வா அைழ க ப கி றன எ பத கான ஒ எ கா ஆ . M1,
M3 ம M4 ம M2 அைழ கைள M5, M6 ம M5 அைழ கைள M8 ம M4
அைழ கைள M7 ம M9 அைழ வி கி ற . இ ஒ ந ல ைச (design) ஆ ,இ
மாதிரிக ஒ ேலய ைச (layer design) ஏ பா ெச ய ப ெமா ேல(module) ெகா ட
ஹிரா கி(hierarchy) ைச (design) ஆ , ஆனா M8 இலி M6 அ ல M3 வைரயிலான
அைழ ெதாட ைப ெகா நிைலைய நா க ச தி க ேநரிடலா .
ைச (design) ெச ய ப ட ேரா ரா (program) இ ஒ சிற த ேரா ரா (program)

190
ைச (design) யி ஒ எ கா ஆ , அ ெமா ேல(module) க
ஒ வைரெயா வ ஹிரா கி(hierarchy) ைறயி அைழ கி றன , ஒ டா ெலவ
ெமா ேல(Top level module) ெலௗ ெலவ ெமா ேல (lower level Module) அைழ கி றன
ம ெலௗ ெலவ ெமா ேல(lower level module) டா ெலவ ெமா ேல(Top level module)
அைழ வி கா , எனேவ அத மிக ந ல ைச (design) , ஆனா நா டா ெலவ
ெமா ேல(Top level module) அைழ ஒ ெலௗ ெலவ ெமா ேல(lower level module) சில
ேக (case) க அ ைச (design) ெச ய ப கிற , ஆனா நா ெமா ேல(module)
அைழ சி ேற(structure) அ பைடயி இ ெடகிரஷ ெட (integration testing)
ெச ய ெவ ேவ வழிகளி எ ன பா கலா . இ த ெமா ேல(module) க ஒ றாக
இ ெடகிரஷ (integration) ெச ய ெச யலா , பி ன இ த ெமா ேல(module)க
சரியாக ேவைல ெச கி றனவா எ பைத ேசாதி கலா , ஆனா ஒ ெட (step)யி 4அ ல
5 ெமா ேல(module) க இ ெடகிரஷ (integration) ெச தா , மீ ஒ சி க
ஏ ப டா , ஒ ெட ேக (test case), பி ன நா பல ெமா ேல(module) க பா க
ேவ . எனேவ, ெமா ேல(module) க ெநா – ரிவிய (non-Trivia)l , நியாயமாக ெபரிய
ெமா ேல(module) க பல இ ெடரபா (interface) கைள ஆதரி கி றன எ றா , ஒ
ேநர தி நா ஒேர ஒ ெமா ேல(module) இ ெடகிரஷ (integration) ெச ய அ ஒ
த இ ெடகிரஷ (integration) ெச கிேறா .

( ைல ைட : 23:49 ஐ பா க )

த தலி இ ேக பி பா இ ெடகிரஷ ெட (big bang integration testing) ைய இ ேக


பா ேபா , அைன ெமா ேல(module) க ஒேர ஒ ெட (step)யி
இ ெடகிரஷ (integration) ெச ய ப கிற எ ெபய கிற . எனேவ, அைன
ெமா ேல(module) க லி ேக (linked ), கா பிேள (compiled ) ம பி ன , இ த ெட
ேக (test case)கைள ர ெச , ஆனா இ ேக பிர சைன பி பா ெட (big bang
testing) இர அ ல எளிய ெமா ேல(module) க இ தா ம ேம ேவைல ெச ய
. நா பல டஜ (dozen) ெமா ேல(module) க ம ஒ பி பா ெட (big bang
testing) ெச தா , பி ன தீைம எ க ெட கி ேரா (debugging process) மக தான
இ .இ மிக அதிக ெசல . எனேவ, இ ெடகிரஷ ெட (integration testing) ஒ
க ட தி ேம ெகா ள ப பி பா இ ெடகிரஷ ெட (big bang integration testing)

191
மிக ரிவிய ேரா ரா (program) க , நா இர அ ல ெமா ேல(module)க ,
எளிய ெமா ேல(module) க ெகா ட டா ேரா ரா ( Toy program) க ம ேம ெபா .

( ைல ைட : 25:04 ஐ பா க )

இ ேபா , ம ற வைக பி பா இ ெடகிரஷ (big bang integration) , ம ற வைக ெட (testing)


கைள பா ேபா . எனேவ, நா ஒ பி பா இ ெடகிரஷ ெட (big bang integration testing)
ெச தா , அ மிக க னமாகிவி எ நா க ெசா கிேறா . ெட கி அ ல
ேலா கலிஸி ஏேரா (errors) மிக க னமாகிவி கிற , எனேவ ஒ ெபரிய ெட (testing)
ய சி ேதா வி அைட தா , ேட (debug) சரியாக இ கா , எனேவ ெட கி (debugging)
ெசய ைற மிக விைல ய ததாக இ .

( ைல ைட : 25:40 ஐ பா க )

இ ேபா , ப ேடா உ இ ெடகிரஷ ெட ணி (bottom up integration testing) பா கலா .


ப ேடா உ இ ெடகிரஷ ெட (bottom up integration testing) , நா இ த
ெமா ேல(module) சி ேற(structure) அைன ெமா ேல(module) கைள ஒ அைழ
சி ேற(structure) ம ப ேடா ெலவ (bottom level) ெதாட ம நா ஒ ந
ைச ேரா ரா (design program) இ தா , பி ன ப ேடா ெலவ (bottom level) க ந
வைரய க ப பி ன , நா ப ேடா (bottom)உ ள மிக ைஹ ெலவ (high level) லி , ஒ
மாடைல இ ெடகிரஷ (integration) ெச , அைத ெகா ம ெறா ப ேடா ெலவ
ெமா ேல(bottom level module) , ஆனா பி ன நா இ த இ ெடகிரஷ (integration)
ெச , இ ப ேடா ெலவ ெமா ேல( bottom level module) ஆ , பி ன நா இ த
சா ேவ (software)கைள இய கி ைரவ (driver) க என அைழ க ப சில
சா ேவ (software)கைள ெகா க ேவ . எனேவ, இ ேக ஒ அ லம ற
ேசாதைன ெபாறியாள க சி ட ெலவ (system level) ெசய பா கைள கவனி க யா
எ தா ேபா ேடா ெலவ ெமா ேல(bottom level module) க கிற , ஆனா ஒ
ெபரிய ேக (case) இ கலா ம அவ க உ ைமயி ெபரிய ேக (case)ைய ர (run)
ெச ய யா . அவ க இ ேக சில ட மி ெட (dummy test) ேக (test case)கைள
ெட (test) ெச கிறா க , மிக எளிய ெட ேக (test case)க அ ல ேலா ெலவ
ேரா ரா (low level program) . ம னி க ேலா ெலவ ெமா ேல(low level module) க
ம நீ க ஏ கனேவ அறி தி பதா , ேலா ெலவ ெமா ேல(low level module)க

192
ெபா வாக இ (input) ஓ ெமா ேல(out put module) க ஒ பயன இ (input)
எ ஒ எளிய GUI இ கலா . இ ஒ எளிய ைப (file) ரீடராக(reader) இ கலா , இ
ஒ ைப (file) யி இ சில ேட டா(data) ைவ ப கலா அ ல ஒ ைப (file) யி சில
ேட டா(data) ைவ எ தலா அ ல பயன இ ெட பி (interface) ஏதாவ ஒ ைற
எ தலா . எனேவ, இைவ ப ேடா ஒ பி ஹிரா கி(bottom up hierarchy) ப தியி இ ேலா
ெலவ ெமா ேல( low level module) க ஆ . அவ க சில எளிய இ (input)
ஓ (output) ம ேம ெச கிறா க , எனேவ, அ த இ (input) ஓ (output)
ெசய ப கிறதா எ பைத சரி பா க ேவ . நா உ ைமயி சி ட ெலவ ெட ேக
(system level test case) கைள இய க யா .

( ைல ைட : 28:14 ஐ பா க )

ப ேடா உ ெட (bottom up testing) எ வா ெசய ப எ பைத பா கலா . எனேவ,


இ ேக ஒ ெமா ேல(module) எ , பி ன ம ெறா ெலவ (level) ட
இ ெடகிரஷ (integration) ெச யலா ,இ அேத ெலவ (level) லி எ த அள ேகா களி
ைஹ ெலவ ெமா ேல(high level module) இ ெடகிரஷ (integration) ெச ய ப ட அேத
அள ட , பி ன ம ெறா ெமா ேல(module) , இ த ெலவ (level) ம பி ன அ த
ெலவ (level) ம அ த ெலவ (level). பி ன , நா அ த ைஹ ெலவ ெமா ேல(high
level module) இ ெடகிரஷ (integration) ெச ய ம நா ெலவ ெமா ேல(route level
module) வைர. எனேவ, நா சில அ பைட இ ெடகிரஷ ெட (integration
testing) ெட ணி (techniques) கைள பா ேதா . அ த அம வி நா பா த
இ ெடகிரஷ ெட (integration testing) ெட ணி (techniques)க உ ளன. ந றி.

193
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-16- Integration Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 16 ஒ கிைண ேசாதைன

இ த அம வரேவ கிேறா . கட த அம வி , நா க இ ெடகிரஷ ெட (integration


testing) ப றி விவாதி ேதா , நா க இ ெடகிரஷ ெட (integration testing) ேபசி எ ேறா
டா ெக ( error target) (basic error target)ப றி விவாதி ேதா . இ ெடகிரஷ
ெட (integration testing) கான எ ேறா டா ெக ( error target) க இ ெட பி எ ேறா
(interference error)க ஆ ,ஒ பி ஷ (function) ம ெறா பி ஷ (function) ைய
அைழ , ம பரேம ட (parameter) க சரியானைவ அ ல எ அைழ பி சி க
உ ள . ஒ னி (unit) ேபால பி ஷ (function) கைள சரியாக ேவைல ெச தா ,
பிர சைன அைழ . ம இ ெடகிரஷ ெட (integration testing), அ தைகய
பிர சிைனகைள க டறிய ய டா ெக (target) உ ள . பி ன நா இ ெடகிரஷ
ெட (integration testing) ப ேவ வைகயான பா . நா க எளிய இ ெடகிரஷ
ெட (integration testing) பி பா ெட (big bang testing) எ றினா . பி பா
ெட (big bang testing) களி , நா அைனவ ஒேர மாதிரியி அைன
ெமா ேல(module)(module) களி னி (unit) களி அைன
ெமா ேல(module)(module) கைள இ ெடகிரஷ (integration) ெச கிேறா , ஆனா
பி வ மா றிேனா , ஒ ெநா - ரிவிய (non-Trivial) ேரா ரா (program) , யா பி

194
பா ெட (big bang testing) இ ைல, இ ப (bugs) ைய சரிெச ய மிக விைல அதிக
ஒ பி பா ெட (big bang testing). எனேவ, ெட (testing) ெசய ைற மிக
விைல ய ததாகிவி , ஆனா பிற மா க எ னவாக இ . ப ேடா உ
ெட (bottom-up testing), டா ட ெட (top-down testing)ம ஒ மி (mixer)
அ ல சா வி ெட (sandwich testing) ஆ .

( ைல ைட : 02:53 ஐ பா க )

ப ேடா உ ெட (bottom-up testing)கைள பா கலா . ப ேடா உ ெட (bottom-up


testing)களி , ைச லாய (design layer) யி ப ேடா ேமா (bottom most) யி உ ள
னி (unit) அ ல ெமா ேல(module) கைள நா க எ ெகா கிேறா . பி ன ஒேர
மாதிரியாக இ ஒ ெமா ேல(module) ட இ ெடகிரஷ (integration) ெச யலா
அ ல ஒேர ெலவ (level) விலான ெமா ேல(module) கிைட கா , அைன
ெமா ேல(module) க இ ெடகிரஷ (integration) ெச ய ப வைர அதிக அளவிலான
ெமா ேல(module) ட இ ெடகிரஷ (integration) ெச ேவா . எனேவ ஒ ேநர தி ஒேர
ஒ ெமா ேல(module) இ ெடகிரஷ (integration) ெச ய கிேறா . இ த ப ேடா -உ
ெட (bottom up testing)களி ைறபா க எ னெவ பைத நா அறி ெகா ள
ேவ . ஒ நா இ ெடகிரஷ (integration) வழி ைறகைள ெச ய ேவ எ
எ த ப ட ைரவ (driver)க ேவ , ஏெனனி நா ப ேடா ெலவ (bottom level)
ெமா ேல(module) கைள ெட (testing) ெச வ கிேறா , இ த ெமா ேல(module)கைள
அைழ க சில சா ேவ (software) எ த பட ேவ . எனேவ, இ ெடகிரஷ
ெட (integration testing) ெச ய, ெட ட (tester) க இ த ைரவ (driver) கைள எ த
ேவ . இர டாவ விஷய எ னெவ றா , ெட ட (tester)க உ ைமயிேலேய ெபரிய
அளவிலான ைறைம அளவிலான ெட ேக (test case)கைள இய க யா , அ
உ ைமயி அ த ள ெட ேக (test case)கைள ம ேம நட த யா , சில எளிய
ெட ேக (test case)க ம ேம. உதாரணமாக, ஒ பயன இ ெடரபா (interface) ேட டா
இ (data input) சரியானதா அ ல ஒ பயன இ ெடரபா (interface) எ த ப ட ேட டா
(data) சரியாக உ ளதா எ பைத , அதனா மிக எளிைமயான விஷய க ட ெட (test)
ெச ய பட ேவ .

( ைல ைட : 03:57 ஐ பா க )

195
இ த வைரபட திலி ப ேடா உ ெட (bottom-up testing) ெசய கைள காணலா .
நா க மிக ப ேடா ேமா (bottom most) ெமா ேல(module) ெதாட க; அ த
ேலயரி (layer) ேவ ெமா ேல(module) இ ைல எ றா , நா அ த ெலவ
இ ெட ரா (level integrate) ெச ய ேவ , பி ன நா ஒேர மாதிரியி ம ெறா
ெமா ேல(module) ட இைணேவா , ெமா ேல(module) க ஒ ேச . பி ன
அவ க ெவ றிகரமாக ேவைல ெச த பி ன அவ க ெட (test) ெச ய ப ம எ த
ப (bugs) க சரி, பி ன நா அேத அ மீ ஒ ெமா ேல(module) எ ,
மீ இ ெட ரா (integrate) ெச ய ம ெட (test)ெச ய , எ த ப (bugs) க சரி.
பி ன அைன மாதிரிக இ ெட ரா (integrate) ெச ய ப வைர ேம பி ன ைஹ
ெலவ (high level) ம பல எ . எனேவ, இ ப ேடா உ ெட (bottom-up testing) ,
ஆனா இ ஒ த ப ேடா உ ெட (bottom-up testing) . ம சில
ெமா ேல(module) க மிக அ பமானைவ எ றா , நா க ஒேர ஒ ரிவிய (trivial) யி
இர ெமா ேல(module) க இ ெட ரா (integrate) ெச யலா .

( ைல ைட : 05:17 ஐ பா க )

இ ப ேடா -உ ெட (bottom up testing) ஒ எ கா . எனேவ, தலி M 5 ஐ


உட M 8 ஐ இ ெட ரா (integrate) ெச கிேறா , M 5 ைரவ (driver)
எ றைழ க ப கிற , ஆனா M எ 5 என அைழ க ப கிற , M 5 ஐ அைழ கிற . M 2
ம எனேவ, நா ைரவ (driver) சா ேவ (software) எ த ேவ ,இ M5 ஐ அைழ க
ேவ , இ த ைரவ (driver) சா ேவ (software)களா , இ த இர M 5ம M8ஐ
ெட (test) ெச ேவா . M 5 உட ெவ றிகரமாக இ ெடகிரஷ (integration) ெச யத ட ,
இ ேபா நா இ ெடகிரஷ (integration) ெச கிேறா . M 6 ம M 5 உட இைண
ம M 8 உட இ ெடகிரஷ (integration) ெச ய ேவ . பிற , M 5 ம M 6 ஆகிய
இர ைரவ (driver)க ேதைவ, ஏெனனி சில சா ேவ (software) M 5 ம M6ஐ
அைழ க ேவ , நா க இ M 2 ஐ இ ெடகிரஷ (integration) ெச யவி ைல. இ ேக
ைரவ (driver)க . பி ன நா ஒ இ ெடகிரஷ (integration) ெச ய , இ ேபா நம
ைரவ (driver) க ேதைவ. பி ன நா சரியாக ெசய ப கிேறாமா எ பைத
சரிபா கிேறா ; இ ைலெயனி , நா ப (bugs) கைள சரி ெச கிேறா .

( ைல ைட : 06:42 ஐ பா க )

196
இ ேபா , டா -ெடௗ இ ெடகிரஷ ெட (top-down integration testing) கைள
பா கலா . எனேவ இ ேக ெபய றி பி வதா , மிக அதிகமான ெமா ேல(module) ட
ெதாட கிற . பி ன நா ஒ ைற த அள ெமா ேல(module) அ ல ஒ
ேபா ன (subroutine) ெமா ேல(module) எ அவ கைள இ ெடகிரஷ (integration)
ெச ய ேவ . ம ேபா ன ெமா ேல(subroutine module) மிக எளிைமயான
எ றா , ெமா ேல(module) கி ட த ட அ பமான நா ட இர ெமா ேல(module) க
ம ஒ ப எ க ேவ . பி ன நா இ த டா ெலவ (top-level) ெமா ேல(module)
ேபா ன (subroutine) இ ெடகிரஷ ெட (integration testing) ைற, ம நா
உடன யாக ேபா ன ெமா ேல(subroutine module) ேச க ேவ .

( ைல ைட : 07:25)

வைரபட கைள இ ெட ரா (integration) ெச பத கான வரிைசைய நா வைரபடமா க


வி பினா , நா மிக டா ேமா (top most) யி ெதாட கி, M 1 உட M 2 உட
இ ெட ரா (integration) ெமா ேல(module) கைள இ ெட ரா (integration) ெச பி ன
M 1 ஐ இ ெட ரா (integration) ெச ய ,M2ம M 3 ஒ றாக இ ெட ரா (integration)
ெச ய. ஆனா இ ேக நா நிைன ற ேவ . டா -ெடௗ ெட (top-down testing) ,
நா ைரவ (driver)க ேவ , டா -ெடௗ ெட (top-down testing) எ க
ட (stub) ேதைவக ேவ .M2ம M 6 ஐ அைழ கி ேறா , ஆனா M 5 ஐம M
6 ஐ இ ெட ரா (integration) ெச ய வி ைல எ பதா M5 ம M 6 ேபா ற டா சா ேவ (
toy software) எ த ேவ .அ M5ம M 6.ேபால இ . ஆனா ைற தப ச சில
ட மி (dummy) ெசய பா ஒ ேடபி (table) ைய பா கலா . M 5 ஒ ேடபி (table) யி
வ வ ைத கண கி கி ற எ னெவ பைத நா ேசமி ைவ தி கிேறா , அ த
பரேம ட (parameter) ெகா க ப டா , நா க ேடபி (table) ைய பா கிேறா , தி ப
இ ேக ட (stub) ேவைல எ வ ேக(value) . எனேவ, எ M 1 உட எ M 2 ஐ
இ ெட ரா (integration) ெச ைகயி , நம இர ட (stub) க ேதைவ. பி ன M 1
ம M 3 உட எ M 2 ஐ இ ெட ரா (integration) ெச ெட ெச ேதா , அைத
சரியாக ெச ேதா , பிற நா இ ேக இ த ெதா தி M 7 உட இ ெட ரா (integration)
ெச கிேறா , பி ன நா ட (stub)கைள அவசியமா க ேவ , ஏெனனி இ த
ெமா ேல(module) யி உ ள , எனேவ, நம ஒ ட (stub) இ ைல இ நம இ தஒ

197
ட (stub) , இ த ஒ ம இ த ஒ ட (stub) ேவ . எனேவ, நம
ட (stub) க ேதைவ. பி ன அ ததாக இ த ஒ ப திைய இ ேக எ ெகா ளலா ,
எனேவ, இர ெமா ேல(module) க ம ேம ேதைவ, அதனா ைமயான
ெமா ேல(module)க இ ெட ரா (integration) ெச ய ப .

( ைல ைட : 09:55 ஐ பா க )

எனேவ, தலி எ M 1 உட எ M 2 ஐ இ ெட ரா (integration) ெச ய கிேறா . எனேவ M 1


ம M 2 உட ட (stub) ேவ , M 3, M 4, M 5 ம M 6 ஆகியவ ைற
ெகா க ேவ . எனேவ, இ த நிைலயி எ M 2 உட M 1 ஐ
இ ெட ரா (integration) ெச ைகயி , நம நா ட (stub)க ேதைவ, ஏெனனி M 1
ேம M3ம M 4 ஐ அைழ க ேவ , ேம M2Mம M 6 ஐ அைழ க ேவ .
அ த ப யி நா M 1, M 2, M 3 ஐ இ ெட ரா (integration) ெச கிேறா ம அ த
ட (stub)களி M 1, M 2, M 3 ம M 4 ஐ இ ெட ரா (integration) ெச கிேறா .
நா ட (stub)க , M 5, M 6, M 7 ம M 8 ஆகியவ றி கான ேதைவக ேவ .
பி ன நா அ த இ த ெமா ேல(module) ம பி ன அ தஇ தஒ எ . எனேவ
இ டா -ெடௗ இ ெட ரா ெட (top-down integration testing) . டா -ெடௗ
இ ெட ரா ெட (top-down integration testing )யி ஒ ந ைம எ னெவ றா ,
ெட ேக (test case)க உ ைமயி அ த ள பய பா ேக (case)க எ பதா ,
நா க ெட (testing) (இ ேக)டா -ெலவ (top-level) ெசய பா இ இ பதா , நா க
ேம ெட (testing) ெமா ேல(module) கைள ம பரிசீலைன ெச ேபா ேம
மீ ெமா ேல(module) கைள இ ெட ரா (integration) ெச கிேறா . எனேவ, ைதய
டா ெலவ (top-level) கைள நா க ெட (test) ெச கிேறா எ பைத நிைனவி ைவ
ெகா ேவா , இைவ ேவைல ெச கி றனவா எ பைத சரிபா க ப ேவ வைகயான ெட ேக
(test case)க ேதைவ ப கி றன, ஆனா இ ேக அேத ெட ேக (test case)யி நா திய
ெமா ேல(module) க ேச ேபா இய நிைலயி உ ேளா , ேவைல, அதனா
டா -ெடௗ ெட (top-down testing) சாதகமாக உ ள .

( ைல ைட : 11:56 ஐ பா க )

எனேவ, இ ெடகிரஷ (integration) பிற ெட ேக (test case)க மீ


பய ப த ப கி றன. ப (bugs) க டா ெலவ (top-level) ெமா ேல(module) களி

198
இ தா , எ ப டா ெலவ (top-level) இ ெடகிரஷ ெட (integration testing)
சாதகமானதாக இ , ஏென றா ப (bugs) க ப ேடா –ெலவ (bottom-level)
ெமா ேல(module) அதிகமானா , நா ேநர ைத ஒ றாக இ ெடகிரஷ (integration) பல
ெமா ேல(module) க இ ெடகிரஷ (integration) ெச ய ேவ , ப (bugs) .
ப (bugs) க ைற த அள ெமா ேல(module) களி இ தா , பி ன ப ேடா
–உ (bottom-up) இ ெடகிரஷ ெட (integration testing) சா தியமானதாக இ கலா .
ைற த அளவிலான ெமா ேல(module) க I / O ம நா ஆர ப தி அைத
இ ெடகிரஷ (integration) ெச ய யா எ பதா , அ த ள அைம ெசய பா கைள
கவனி ெதாட க ம ைச (design) ஒ பிர சைன த க எ தீைமயாக
உ ள . ஏெனனி ஒ ெநா - ரிவிய ேரா ரா (non-trivial program) , நா டா -ெலவ
ெமா ேல(top-level module) க ெட (test) ெச ேபா , அ த வழி ெடௗ ட ( down
stub) க க னமாக இ

( ைல ைட : 13:28 ஐ பா க )

ம ெறா மா எ ப ஒ மிேஸ இ ெடகிரஷ ெட (integration testing) , இ


ச வி இ ெடகிரஷ ெட (integration testing) எ அைழ க ப கிற . எனேவ,
இ ேக அ எ க ெபா தமாக இ டா -ெடௗ (top-down) ம ப ேடா
–உ (bottom-up) இர அ ைறகைள பய ப த (suites) எ அ த மிக
ெநகி வான உ ள . நா வழ கமாக எ ேவா , நா ெபா வாக இ ெடகிரஷ (integrate)
ெச தி , இ அவ றி ைறவான எ ணி ைகயான ேட (stubs)க ம
ைரவ (driver) க ேதைவ ப கிற , எனேவ மிேஸ இ ெடகிரஷ ெட (integration
testing) மிக பிரபலமான .

( ைல ைட : 14:00 ஐ பா க )

இ த ச டவி ெட (sandwich testing) அ ல மிேஸ (mixed)இ ெடகிரஷ


ெட (integration testing) எ ப ெசய ப கிற எ பைத பா ேபா . எனேவ, நா இ த
இ ெடகிரஷ (integration) ெச ய ேவ , பி ன நா இ த
இ ெடகிரஷ (integration) ெச ய , எனேவ சில ேலா ெலவ (low level) சில ைஹ
ெலவ (high level) ம நா ஒ றாக இ ெடகிரஷ (integration) ெச யேவ . எனேவ,
ட (stub) ம ைரவ (driver) களி எ ணி ைக எ த பட ேவ ய ,

199
ச டவி (sandwich) இ ெடகிரஷ ெட (integration testing) ெட ணி (techniques) யி
ல கணிசமாக ைற க படலா .

( ைல ைட : 14:37 பா க )

எனேவ, நா கவனி க ேவ ய இ ெனா ளி, நா ஒ டா -ெடௗ ஆஃ ெரா (top-


down approach)ைய ெச கிேறாமா எ றா , ெப பாலான ெமா ேல(module) கைள தயா
ெச வைர நா இ ெடகிரஷ ெட (integration testing)கைள ெட (test) ெச ய
யா . எனேவ, ஒ றி , டா -ெடௗ ஆஃ ெரா (top-down approach) எ க
ெட (testing) ைஹ ெலவ ெமா ேல(high level module) க தயாராக இ வைர
கா தி க ேவ , ேலா ெலவ (low level) க கிைட கி றன எ றா , நா ஒ ய டா
-ெடௗ ெட (top-down testing) ெச ய . இேதேபா , ஒ ப ேடா -உ
ஆஃ ெரா (bottom-up approach)யி , அைன இ ெடகிரஷ ெட (integration
testing)க ெதாட வத பாக அைன ப ேடா -ெலவ ெமா ேல(bottom-level
module)க தயா ெச ய படா , அதனா மிேஸ இ ெடகிரஷ (mixed integration) அ ல
ச டவி இ ெடகிரஷ (sandwich integration) ம ெறா ந ைம இ கிற , சில
ெமா ேல(module) கிைட தா ட நீ க ெட (testing) ெச யலா .

( ைல ைட : 15:39 ஐ பா க )

இ ேபா , சி ட ெட (system testing) கைள பா கலா . ெதாட க தி இ ேத சி ட


ெட (system testing) ஒ வலிடேடச ெட ணி (validation techniques) எ றினா ;
ம ற வைகயான ெட (testing) உ ைமயி ெவரிஃபிேகஷ ெட ணி (verification
techniques) க ஆ . எனேவ, இ ேக சி ட ெட (system testing) களி , அத
ேதைவக எதிராக ைமயாக இ ெடகிரஷ (integration) ெச ய ப ட, ைமயாக
வள த சி ட (system) ைய நா க சரிபா கிேறா . எனேவ, ெட ேக (test case)கைள
ெர பீெரெம டா ெம (requirement document) பா எ த ப ட பி ன அவ க
உ வா கிய சா ேவ (software) இ த சா ேவ (software) ேதைவ எ ன எ சரிபா க
ைமயாக ேவைல சா ேவ (software) ெட (testing).

( ைல ைட : 16:33 ஐ பா க )

200
பிரதான வைக சி ட ெட (system testing) க உ ளன; ஒ ஆ பா
ெட (alpha testing) , ம ற பீ டா ெட (beta testing), ம றாவ அசிஎ ன
ெட (acceptance testing) ஆ . ைற சி ட ெட (system testing) , ஆனா
ெட (testing) அ ல யா ெட (testing) அ பைடயி , நா க அைத ஆ பா
ெட (alpha testing) , பீ டா ெட (beta testing) அ ல அசிஎ ன ெட (acceptance
testing) என அைழ கிேறா . வள வ அைம பி ல , ெட (test) அ ல
ெடெவலபி (developing team)யினா சி ட ெட (system testing) ேம ெகா ள ப டா ,
நா க அைத ஆ பா ெட (alpha testing) எ அைழ கிேறா . ஒ ந அைம பா
ெட (testing) ேம ெகா ள ப டா , பீ டா ெட (beta testing) யாக அைழ க ப
ஏேத சி க க இ தா , அவ ைற ெட (test) ெச ய , அறி ைகயிட ேக
ெகா ள ப . அசிஎ ன ெட (acceptance testing) ஒ சி ட ெட (system testing)
எ பதா , வா ைகயாள சி ட சா ேவ ( system software) கைள அசிஎ ன (acceptance)
ெச கிறாரா அ ல ரிெஜ (reject) ெச கிறாரா எ பைத தீ மானி கிறா . எனேவ, இ த
ைற சி ட ெட (system testing) ம ெட (testing) ேம ெகா யா
ெபா , ஆ பா ெட (alpha testing) , ம ற பீ டா ெட (beta testing), அ ல றாவ
அசிஎ ன ெட (acceptance testing) என அைழ கிேறா .

( ைல ைட : 18:00 ஐ பா க )

ஆ ஃபா ெட (alpha test) , வள நி வன தி ேளேய ெட (testing)


ெச ய ப கிற , ஆனா பி ன ெட ேக (test case)க ெப பா SRS
டா ெம (document) யி அ பைடயி ைச (design) ெச ய ப கி றன, ஏெனனி இ
ஒ சி ட ெட (system testing) ஆ .

( ைல ைட : 18:13 ஐ பா க )

பீ டா ெட (beta testing) யி , ேத ெத த வா ைகயாள களி ஒ (team) னா இ


ெட (testing) ெச ய ப கிற ; எனேவ சா ேவ (software) வா ைகயாள க
வழ க ப வத ன ஏேத சி க உ ளதா எ பைத ெட (test) ெச ய ஒ ந
அைம களி ெதா வழ க ப கிற .
( ைல ைட : 18:36 பா க )

201
பி ன இ தியான அசிஎ ன ெட (acceptance testing) யா , வா ைகயாள
சா ேவ (software) வழ கி ளேதா வா ைகயாள சி ட ெட (system testing) கைள
ேம ெகா , சா ேவ (software) அசிஎ ன (accept) ெச கிறாரா அ ல ரிெஜ (reject)
ெச கிறாரா எ பைத தீ மானி கிறா . ம சி ட ெட (system testing) ஆ ஃபா
ெட (alpha testing) , பீ டா ெட (beta testing) ம அசிஎ ன ெட (acceptance
testing) வைககளி , ெட ேக (test case)க ேதைவக டா ெம (document)
அ பைடயி ைச (design) ெச ய ப ள எ நிைனவி ெகா க . ெபா வாக, சி ட
ெட (system testing) னா ெசௗ ேகா (source code) பா க ேவ டா .

( ைல ைட : 19:17 ஐ பா க )

இ ேபா , அ த ேக வி எ னெவ றா , சி ட ெட (system testing) ெச ய


ேவ யி தா , எ ன ெட (testing) ெச ய ேவ . ெட (testing) க இர
கிய வைகக உ ளன; ஒ ப ஷனாலி ெட (functionality testing) என
அைழ க ப கிற ம பிற ெபரேபா ம ெட (performance testing) என
அைழ க ப கிற . எனேவ இ த அைன ெட (testing) க
ப ஷனாலி (functionality) ம ெபரேபா ம (performance) ெட (testing)
ெர பீெரெம டா ெம (requirement document) அ பைடயி ைச (design)
ெச ய ப ள . பி ஷனாலி ெட (functionality testing)
பி ஷனாலி (functionality) ெர பீெரெம (requirement) அ பைடயி
ெச ய ப கி றன, எனேவ ைஹ -ெலவ பி ஷனாலி (high level functionality)கைள எ
அ ல ஹ ேக (huge case) க ம ேசனரிேயா (scenarios) க ஆகியவ ைற
க டறி , பி நா பி ஷனாலி ெட (functionality testing) அ பைடயி
ெசய ப கிேறா , அைவ அ பைடயி ளா -பா ெட ேக (black box test case)க ,
ஏென றா சி ட ெட (system testing) ேபா ல ெசௗர ேகா (source code) இ ைல.
பல ளா -பா ெட ெட ணி (black box testing techniques)கைள நா பா ேதா –

ஏ இவெள (equivalence) , பா ஷனி (partitioning) , ெபௗ டரி வ ேக(boundary value) ,


ெராபி ட ெட (robustness testing) ம பல. எனேவ, இ த சி ட ெட (system
testing) ேபா ெச ய ப ப ேவ பி ஷனாலி (functionality) ெட (testing)க
உ ளன. சா ேவ (software) பி ஷனாலி (functionality) ைய ெவ றிகரமாக கட

202
ெச ற ட , சா ேவ (software) பி ஷனாலி (functionality) ரீதியாக சரியான எ
ெசா கிேறா . பி ன நா பி ஷனாலி (functionality) ெட (testing) க ென க
ேவ . பி ஷனாலி (functionality) ெட (testing) க ெர பீெரெம
டா ெம (requirement document) யி ெநா பி ஷனா
ெர பீெரெம (requirement document) டா ெம (document) அ பைடயி
ைச (design) ெச ய ப ளன. ஒ ெர யி ெம டா ெம (requirement document)
யி ஏ கனேவ இர கிய பிரி க உ ளன எ நீ க அறி தி கலா ; ப ேவ
பி ஷனா (functional) ெர பீெரெம (requirement) கைள ைகயா வ , ெநா
பி ஷனா ெர பீெரெம (non- functional requirements) க ஆகியவ ைற
ெகா . பி ஷனா ெர பீெரெம (functional requirements)உ ைமயி
ெசய படாதைவ, ஆனா டா ெம ஐ ட (document items) யி ந பக த ைம எ னவாக
இ க ேவ ,ஒ பவ ைப ேர (power failure) ஏ ப டா எ ன நட , எ ன ேட டா
ஐ ட இ (data item input) ஆக இ ம கைள அ சரி கலா , ெர பா
ைட (response time)ம பல. எனேவ, அ த ெசய திற அ ச க .

( ைல ைட : 21:57 ஐ பா க )

-எனேவ, எ ஆ எ (SRS) டா ெம (document) யி இ லாத பி ஷனா


ெர பீெரெம (functional requirements) கைள ெபா , நா அதிக எ ணி ைகயிலான
ேபரஃஒ ம ெட ேக (performance test case)கைள ெகா கலா . நா க
ெட ட (tester) க , ட ெட ட (stress testing), ெவா ேம ெட ட (volume testing) ,
காணபி ரா ெட ட (configuration testing), கா ெப பிலி ெட ட (compatibility tests),
ெச ரி ெட ட (security tests), ேலா ெட ட (load tests), ெரகவரி ெட ட (recovery
test), ைம ெடன ெட ட (maintenance tests), டா ெம டஷ
ெட ட (documentation tests) சபிலி ெட ட (usability tests) ம எ விரா ெம ட
ெட ட (environmental tests) ஆகியவ ைற ெகா கலா . இ த ப ேவ வைகயான
ெபரேபா ம ெட (performance testing) க எ னெவ பைத இ ேபா பா கலா . ட
ெட (stress testing) யி அ த எ னெவ றா ,அ எ ப ேலா ெட (load testing)
ேவ ப ட , அ ஒ ெவா ேம ெட (volume tests) யிலி ேவ ப ட , ெரகவரி
ெட (recovery testing) யி ேபா நா எ ன ெச வ ம அைதேய ெச வ .

203
( ைல ைட : 22:51 ஐ பா க )

ெர ெட (stress testing) எ ப எ ற ெட (endurance testing) என


அைழ க ப கிற . எனேவ, இ ேக எ ஆ எ (SRS) டா ெம (document) யி
றி பிட படாத ழ களா சா ேவ (software) கைள ேசாதி கிேறா . SRS
டா ெம (document) றி பி டா 5 பயன க தி திகரமாக உபேயாகி க எ
றி பி இ தா , 6 பயன க இ ேபா எ ன நட கிற எ பைத சரிபா க ,
சா ேவ (software) கிரா (crash) ஆ அ ல அைத கிரெசபிஉ லி ெட ரா (gracefully
degrades) ? அ ெம வாக 6 பயன க ட ைற வி டா , அ பரவாயி ைல, அ ேட
ெட (stress testing) ெச கிற ; ஆனா அ கிரா (crash) ஆகிவி டா அ
சரியாகா . இேதேபா , ஜா ைச (job size)ஏேத றி பிட ப தா , ச ெபரிய ஜா
ைச (job size) ெகா க ப டா , சா ேவ (software) மிக
ேகா சிலி(discontinuously) ெச ய ப , இ கி ட த ட வி அ ல
இைத லி ஒ பி ெமமரி(utilization of memory) ெச கிற , மிக ெம வாக தீவிரமான
ஜா (job) ெகா ேபா , எ ன நட கிற , அ தி ெர ஹா (hung) ஆகிறதா,கிரா
(crash)ஆகிறதா அ ல ெபரேபா ம ெட ராேட(performance degrade) ெச வி . நா
இ ேக ெகா கிேறா எ பைத நிைனவி ெகா க , SRS டா ெம (document)யி
றி பிட ப ளைத தவிர இ த ெட (testing)களி நா க ஷ (condition) கைள
உ வா கிேறா .

( ைல ைட : 24:30 ஐ பா க )

எனேவ, இ ேக ெப பாலான ெட ட (tests) ைட (time) அ ல எலிெம ைச (element


size) ைய உ ளட கியி கி றன, எ வள விைரவாக நா இ (input) கைள ெகா கிேறா
அ ல இ ைச (input size) எ ன, ஒ னி (unit) ைட (time) ரா ஸபி (transfer)
ெச ய ப ெரகா (record) எ வள , அதிகப ச எ த ேநர தி ெசயலி உ ள
பயன களி எ ணி ைக, இ ேட டா ைச (input data size) ேபா றைவ. எ க ெநா
-பி ஷனா ெர பீெரெம ெபசிபிேகஷ (non-functional requirement specification) ,
இைத ப றி எைத ேம ெசா லவி ைல எ றா , ெர ெட (stress testing) ெபா தா .
இ எ தைன பயன கைள ப றி ெசா லவி ைலெயனி , அ ேட டா(data) ைவ
ரா ஸபி (transfer) ெச ய ேவ ய வீத எ ன, எ ன ஜா ைச (job size) , ேட டா

204
ைச (data size) ம அ வா இ க ேவ , பிற ெர ெட (stress testing)
ெபா தா .

( ைல ைட : 25:24 ஐ பா க )

எனேவ, இ () ெர ெட (stress testing) ஒ உதாரண . எனேவ, ஒ ஒெபர


சி ட (operating system) 15 ம ேராகிரா ஜா (multiprogramming job) களி
ெப பாலானவ ைற ைகயாள எ ெசா லலா . இ ேபா 16 ஜா (job) க
வழ க ப டா , ஒெபர சி ட (operating system) எ னவா , அ ஹா (hung)
ெச ய அ ல 16 ஜா (job) க ைகயாள யாவி டா அ ல அ 1 ஜா (job) ம
ெம வாக ேக உ (queue up) ெபரேபா ம (performance) 16 ஜா (job)ஆ , அதனா
நா இ ேக எ ன பா க . ம ரிய -ைட (real time) ைறைம காக,
ெபரேபா ம (performance) , ைட ெபரேபா ம (time performance) எ ன எ பைத
ெட (test) ெச ய . எனேவ, ைஹ பிரியரி இ ெட (high priority interrupts) க
இ தா , ஒேர ைட (time) யி ைஹ பிரியரி இ ெட (high priority interrupts) ஏ ப
எ ன நட கிற ,ெட ைல (dead line) தவறான . ெபா வாக, அதிக எ ணி ைகயிலான ைஹ
பிரியரி ஜா (high priority job) க வர டா ; எ ஆ எ (SRS) டா ெம (document)
ஒ 3வ வி எ றலா , ஆனா 4வ வி டா , சி ட (system)ெம வாக அைத
ைகயா மா அ ல அைத கிரா (crash) ெச வேதா அ ல அ அபேனாரம லி(up normally)
நட ெகா , எனேவ நா இ ேக சரிபா க ேவ .

( ைல ைட : 26:55 ஐ பா க )

ம ெறா ெபரேபா ம ெட (performance testing) எ ப ேலா ெட (load


testing)ஆ . ேலா ெட (load testing) களி , ெவ ேவ றி பி ட ேலா (load) களி
கீ ெபரேபா ம (performance) ஏ க த கதா எ பைத சரிபா க ேவ , எனேவ
ெர ெட (stress testing) ம ேலா ெட (load testing)ேவ ப கி ற ஒ
ளியாக இ உ ள . ேலா ெட (load testing)களி , ெர பீெரெம
டா ெம (requirement document) யி றி பி ள றி பி ட க ஷ (condition)
களி கீ சி ட ெபரேபா ம (system performance) நா க சரிபா கிேறா . ஆனா
ெர ெட (stress testing) களி , ெர பீெரெம ெபசிபிேகஷ (requirement
specification) யி றி பிட படாத க ஷ (condition) கைளேயா அ ல ெர பீெரெம

205
ெபசிபிேகஷ (requirement specification) யி றி பிட ப ளவ றி
அ பா ப டவ ைறேயா சா ேவ (software) ெட (testing) ெச கிேறா , நா க ெர
ெட (stress testing)எ சா ேவ (software) ெட (testing) ெச கிேறா .ேலா
ெட (load testing) களி , சா ேவ (software) யான தி திகரமாக ெசய ப கிற ேவ ப ட
ேலா (load) எ பைத நா க சரிபா கிேறா . உதாரணமாக, ஒ ெவ (web) அ பைடயிலான
பய பா , ெர யி ெம ெபசிபிேகஷ (requirement specification) சி ட (system) யி
100 சிமி டேன கிளி கி (simultaneous clicks) அ ல ெவ றி ஏ ப , ஒ விநா
ைறவான பதிைல ெகா க ேவ எ நா க ேவா . எனேவ, ேலா ெட
(load testing) உ ள, நா உ ைமயி அைத ெச ேவா . நா க ெவ (web) யி உ வா க ப ட
100 சிமி டேன (simultaneous )ேநர தி ெவ றி அ ல 90 ஹி (hits) உ வா க ப ட
ம நா எ ப சி ட (system)ெச கிற எ பைத ேசாதி க ேவ . சிமி டேன
(simultaneous) ெச ய பல (tool) க கிைட கி றன; ஒ மிக பிரபலமான (tool) ஓப
ெசௗ (open source tool) ேஜ மீ ட (j meter), இ எளிதாக நி வ ம அ பா சி
ெவ (apache web) தள இ கிைட ெட (testing) . இ த க ட தி நா க
நி த ேவ ,அ த அம ெதாட ேவா . ந றி.

206
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-17- system Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 17 சி ட ெட (testing)

இ த அம வரேவ கிேறா . இ வைர, ெட (testing) களி அ பைட க கைள நா


பா ேதா . பி ன நா னி (unit) ெட (testing) , பிளா பா (black box) ம
ஹி ேட பா (white box) ெட (testing) இர ைட பா ேதா . ம , கிய
ேநா க ஒ னி (unit) இ தவைர பாஉ (faults) கைள நீ க ேவ . ேம ,
ஒ னி (unit) வைரயிலான வைரயைற மா ப வதாக நா க றிேனா ; அ ஒ
பி ஷ (function) அ ல ஒ ெமா ேல (module) ஆக இ க .ஒ னி (unit)
ஒ ைற, அைன னி (unit) க ைமயாக ெட (test) ெச ய ப டன, நா
இ ெடகிரஷ ெட (integration testing) ெச கிேறா . ம , இ ெடகிரஷ
ெட (integration testing) பி னா கிய ேநா க ப ேவ னி (unit) க
இ ெட பாஸி (interface) க உ ள பாஉ (faults) கைள நீ க உ ள . இ ெடகிரஷ
ெட (integration testing) வி டபி , ைமயான சி ட (system) வ
ெட (test) ெச ய ப ைறைம ெட (testing) ேம ெகா ள ப கிற . ம , இ ேக
ெட (testing) ெச ய ப கிற , SRS டா ெம (document) . இ வைர, இர னி

207
(unit) ம இ ெடகிரஷ ெட (integration testing) ;இைவ ைச டா ெம (design
document) ப ைச ெட (design testing) , னி (unit) ம இ ெடகிரஷ
ெட (integration testing) எ பைத சரிபா கிற . எனேவ, னி (unit) ம
இ ெடகிரஷ ெட (integration testing) ெவரிபிேகஷ ெட நி (verification techniques)
க என அைழ க ப கி றன. வா ைகயாள வழ க ப இ தி
சா ேவ (software)யான , SRS டா ெம (document) எதிராக ெட (test) ெச ய
ப வதா , சி ட ெட (system testing) என அறிய ப வ சி ட ெட (system testing)
. இ ேபா , சி ட ெட (system testing) களி எ ன ெதாட இ கிற எ பைத
பா ேபா .

( ைல ைட : 02:11 ஐ பா க )

உ ைமயி , நா க இ வைர றியி தப , கட த அம வி யா ெட (testing) கைள


ேம ெகா கிறா க எ பைத ெபா வைக ெட (testing) ைற இ கிற .இ
வா ைகயாள தள தி ெச ய ப கிற எ றா , அ ஆ பா ெட (alpha testing) என
அைழ க ப கிற . ம னி க , இ ெடெவல ப (developer) தள தினா ெச ய ப டா ,
அ ஆ பா ெட (alpha testing) எ அறிய ப கிற ; இ சில ந வா ைகயாள களா
ெச ய ப டா , அ பீ டா ெட (beta testing) என அறிய ப கிற ம வா ைகயாள
த ைன அ ல த ைன ெச தா , அ அசி ன ெட (acceptance testing) யாக
அறிய ப கிற . எனேவ, அைன சி ட ெட (system testing) களி ேம ெகா ள ப
ெட (testing) களி அ பைடயி இர வைகக உ ளன.
பி ஷனாலி (functionality) ; SRS டா ெம (document) யி றி பி ளப
பி ஷனாலி (functionality) ெட (test) ெச ய ப கிற . ேம ,
பி ஷனாலி (functionality) கைள பிளா -பா ெட (black box testing) என
ெட (test) ெச ய ப கிற , ஏெனனி இைவ பி ஷன (functionality) யி
ெபசிபிேகஷ (specification) ஆ . ேம , ஒ பி ஷன (functionality) காக பிளா
-பா ெட (black box testing) ைய எ ப ைச (design) ெச வ எ ப எ க
ெதரி . பிளா -பா ெட (black box testing) பல ெட நி (techniques) கைள
நா க விவாதி ேதா . ேம , இ த ைறைமக அைன ஒ பி ஷன
ெட (functionality testing) ெபா . இ வைர ெட (testing) ெச ய படாத

208
ெட (test) களி வைக, னி (unit) அ ல இ ெடகிரஷ ெட (integration
testing)களி பி ஷன ெட (functionality testing) க இ ைல. SRS
டா ெம (document) யி டா ெம (document) ெச ய ப ள ப சி ட (system)
அ லாத பி ஷன (functionality) ெர பீெரெம கைள ெட (test) ெச ய
பி ஷன (functionality) ெட (testing) க ைச (design) ெச ய ப ளன.
எனேவ, ெச ய ப பி ஷன (functionality) ெட (testing) ப ேவ பிரி களி எ ன
எ பைத பா ேபா ; பிளா -பா பி ஷன (black box functionality) ெட (testing)
நா இ வைர ஆழமாக விவாதி ேதா . ம , அேத விஷய க இ ேக ெபா எ பதா ,
பிளா -பா ெட ேக (black box test case) க சி ட ெட (system testing)
ைச (design) ெச ய பட ேவ எ பைத நா க தனி தனியாக விவாதி க
ேவ யதி ைல. சி ட ெட (system testing) ப றிய ெபரேபா ம ெட (performance
testing) கைள ப றி, சி ட ெட (system testing) ப றி இ ேக பா கலா .

( ைல ைட : 04:34 ஐ பா க )

ஒ சி ட (system) யி ேம ெகா ள ய பலவிதமான ேபரஃஓ ம ெட (performance


testing) க உ ளன. ஆனா , அவ க அைனவ ேம ேம ெகா ள பட ேவ யதி ைல. இ
சா ேவ (software) ெநா -பி ஷனா ெர பீெரெம (non-functional
requirements) எ ன எ பைத ெபா த . எனேவ, நா ெநா -பி ஷனா
ெர பீெரெம (non-functional requirements) கைள கவனி கிேறா . ேம ,
சி ட (system) எ ன ற ப கிற எ பைத அ பைடயாக ெகா , இ த ப ேவ
ேபரஃஓ ம ெட (performance testing) களி சில அ ல எ லாவ ைற ெச ய
ேவ .

( ைல ைட : 05:14 ஐ பா க )

ெர ெட (stress testing) ; ெர ெட (stress testing)க ட எ ற


ெட (endurance testing) எ அைழ க ப கிற . இ ேக, சா ேவ (software) திறைன
வலி தி அபிேநா ம இ க (up normal input) ெகா கிேறா . அபிேநா ம இ (up
normal input) னா , எ ஆ எ (SRS) டா ெம (document) யி றி பிட ப ளைத
தவி நா அ த ெகா கிேறா . இ ஒ மிக கியமான ேட ெம (statement)
எ பதா இைத மீ ெச ேவா . ெர ெட (stress testing) களி , SRS டா ெம

209
(document)யி றி பிட ப ளைத தவி சா ேவ இ (software input) கைள
நா க வழ கிேறா . எ கா , றி பி ட ேட டா ைச (data size) ,
றி பிட ப டைத விட ஒ சா ேவ ேட டா(software data) தள தி அளைவ வழ கலா .
, ஆயிர ெரகா ட (record) க றி பிட ப தா நா , இ ப ஆயிர
ெரகா ட (record) க ெகா கலா . இ ேட டா(input data) விகித ; எனேவ,
சா ேவ (software) ைகயாள ேவ யி ேட டா(data) விகித வினா 100 கிேலா
ைப (byte)க இ தா , வினா 110 கிேலா ைப (byte)க ல ெட (test)
ெச யலா , சி ட (system) யா எ த அபிேநா ம (up normal) ரியா ஷ (reaction) ைய
ெட (test) ெச ய ேவ .இ றி பி ட ேட டா(data) வீத ைத விட அதிகமாக இ தா ,
சி ட (system) கிரா (crash) ஆகிறதா? இ மிக ஏ ெகா ள யாத வைகயி
நட ெகா வதா , நா றி பிட ப டைத தவி இ (input) ெகா கிறீ களானா ,
சி ட (system) ஒ ெட ராெட (degrade) ேபரஃஓ ம (performance) ைய கா பி
எ எதி பா க ப கிற . ஆனா , அ கிரா (crash) ெச ய அ ல ஹா (hang) ேபா ற
ேபரஃஓ ம (performance) ஒ ேபரஃஓ ம (performance) விட, ஒ பிராஸி
ைட (processing time) இ க ேவ . பிராஸி ைட (processing time) ; பிராஸி
ைட (processing time) சில மி லி வினா ேதைவ ப டா , அைதவிட ச ேற
அதிகமானவ ைற ெகா கலா ,ெமமரி(memory) யி பய பா , தலியைவ. எனேவ, இ த
ைச (design) ெச ய ப ட திறைன தா ெட (test) ெச ய ப கி றன. எனேவ, ெர
ெட (stress testing) எ ஆ எ (SRS) டா ெம (document) யி றி பிட ப டைத
தா இ (input) ெகா கிற , சி ட (system) ெம வாக ைறகிற எ சரிபா க.
றி பி ட திறைன தா இ (input) ெகா கிேறா எ றா . ேம , கிர (crash)
அ ல அைம ேபா ற ஹ (hang) எ இ ைல.

( ைல ைட : 08:22 ஐ பா க )

எனேவ, ெர ெட (stress testing) எ ப ெபா வாக ைட (time) அ ல ைச (size)


யி ஒ எலிெம (element) . உதாரணமாக, ஒ னி (unit) ைட ெரகா (record)
ெச ய ப ெரகா (record) க எ ணி ைக, எ த ைட (time) யி ெசயலி உ ள
அதிகப ச பயன க . உதாரணமாக, ஒ ைற ப ெசயலி பயன கைள எ த ேநர தி
ஆதரி க ைச (design) ெச ய படலா . இ ேபா , ெர ெட (stress testing) ேபா நா

210
பதிேனா ெசயலி பயன க இ தா சரிபா க ேவ . ச ெட ராெட (degrade)
ைறயி இ தா இ த அைம இ ெசய ப கிறதா அ ல கிரா (crash) அ ல
ஹா (hang) ெச கிறதா? பதிெனா பயனாள ட ெச தா , பயன க றி பி ட
எ ணி ைகயிலான பயன க , ச ேற ெட ராெட (degrade) ைறயி , அத ெர
ெட (stress testing) கைள கட ெச ேபா . இேதேபா , றி பிட ப டைத விட ச ேற
ெபரிய ேட டா ைச (data size)சரிபா கிேறா . ேம , பல அைம க , ெர
ெட (stress testing) ெபா தா எ ெதளிவாக இ க ேவ .

( ைல ைட : 09:32 ஐ பா க )

ெர ெட (stress testing) கான சில உதாரண கைள பா கலா . ஒ ஒெபர


சி ட (operating system) ைமைய நா பரிேசாதி வ கிேறா , இ அதிகப சமாக பதிைன
ம ேரா ரா (multi program) ஜா (job) கைள ேம ெகா ள . எனேவ, ெர
ெட (stress testing) , நா ெகா க; ஒேர ேநர தி ஆர பி க ப ட பதிைன ஜா (job)
க இ தா , ஒெபர சி ட (operating system) கான பதி எ ன? இேதேபா ,
சி ட (system) ஒ ஊக ெச கிற எ றா ஒ உ ைமயான ேநர அைம பி , நா பல ைஹ
ரியரி (high priority) இ ெட (interface) க வ ைகைய ேசாதி க ேவ . அேத
ேநர தி , சி ட (system) எ த ேநர தி ஒ ைஹ ரியரி (high priority)
இ ெட (interface) ம ேம வர அ ல இர ரியரி (priority)
இ ெட (interface) வர எ ச ேற அதிக எ ெகா ட ெர ெட (stress
testing) ெச ய ஒ ேநர தி அதிக ரியரி இ ெட (priority interface) வ

( ைல ைட : 10:35 ஐ பா க )

ம ெறா வைக சி ட ெட (system testing) ேலா ெட (load testing) ஆ . ேலா


ெட (testing) களி , ப ேவ ேலா க ஷ (condition)ளி கீ அைம பி
ேபரஃஓ ம (performance) அசி (accept) ெச கிறதா எ பைத தீ மானி க ப கிற .
எனேவ, ெர ெட (stress testing) ம ேலா ெட (load testing) இைடேய
ெதளிவான ேவ பா உ ள . ெர ெட (stress testing) யி , எ ஆ எ (SRS)
டா ெம (document) யி றி பிட ப டைத தவி அைம பி இ (input)
ெகா கிேறா . அேதசமய தி , ேலா ெட (load testing) களி , றி பி ட றி பி ட
ேலா (load) களி சி ட (system) யி ேபரஃஓ ம (performance) ைய ேசாதி கிேறா .

211
உதாரணமாக, ஒ ெவ (web) அ பைடயிலான பய பா ைன ெகா பி ,
சி ட (system) 100 வினா க ஹி (hit)யாக றி பிட ப டா , ெர பா (response) 1
வினா ேம இ க ேவ . வினா 90 ஹி (hits) களி , 100 வினா க
விைடயளி கிேறா . எனேவ, அைன றி பி ட இ (input) க உ ள, ம
ெட (testing) அத ெர பீெரெம (requirements) ப நட அைம . ேம , பல ேலா
ெட (load testing) க உ ளன; மிக பிரபலமான ஒ , ஓப ெசௗ (open source
tool) ஆ , இ ேஜ மீ ட (J meter) ஆ ; jakarta dot apache dot org / j meter, இ
ெவ (web) அ பைடயிலான பய பா களி ேலா ெட (load testing)
பய ப த ப கிற .

( ைல ைட : 12:16 ஐ பா க )

ம ெறா ேபரஃஓ ம ெட (performance testing) ெவா ேம ெட (volume testing)


யா . ெவா ேம ெட (volume testing) யி , SRS டா ெம (document) யி
ெரகா (record) ெச ய ப ளப றி பி ட சி ட (system) எ ைல மீ
ெபௗ (bounds) ைய ெட (test) ெச ய ப கிற . உதாரணமாக, ேட டா ைச (data size) ,
அதாவ , ேக ைச (queue size) 100 எ றா , அ 99 அ ல 100 ேக ைச (queue
size) இ ேபா எைத ைகயா ? இேதேபா , SRS டா ெம (document)யி
றி பி ளப சா தியமான ழ கைள க ப த ேபா மான அள அரிய(array) க ,
ேட (stack), தலியைவ. எனேவ, ப ேவ அள க ; உதாரணமாக, பிஎ (fields) ,
ெரகா (record) , ைப ைச (file size) , தலியன. இைவ அைன றி பி ட ேட டா
ெவா ேம(data volume) கைள இடமா ற மா எ பைத சரிபா க வலி த ப கிற .
எனேவ, இ இ ேக கிய ; றி பி ட ேட டா ெவா ேம(data volume) க . எனேவ, ெவா ேம
ெட (volume testing) ; றி பி ட ேட டா ைச (data size) அ பா ெட (test) ெச ய
ேவ டா . நா றி பி கிேறா ; எ ஆ எ (SRS) டா ெம (document)யி றி பி ள
ேட டா ெவா ேம(data volume) க சரியாக சா ேவ (software) ல ைகயாள ப கி றனவா
எ பைத ேசாதி கிேறா .

( ைல ைட : 13:50 ஐ பா க )

ம ெறா வைக சி ட ெட (system testing) காணபி ரா ெட (configuration


testing) ஆ . காணபி ரா ெட (configuration testing) ஒ றி பி ட

212
சா ேவ (software) ெபா கிற ,எ ப ேவ காணபி ரா (configuration) களி
ைண ரிகிற ? உதாரணமாக, ஒ றி பி ட பயன அைத பய ப த ய
சா ேவ (software) க ைற தப ச காணபி ரா (configuration) இ க
அ ல பல பயன க அைத பய ப த ய ஒ காணபி ரா (configuration)
இ க அ ல றி பி ட ேட டாேப (database) பய ப த ய ஒ
காணபி ரா (configuration) இ க . எனேவ, இ த ெட (testing)
ேநா க தி காக, காணபி ரா ெட (configuration testing) சா ேவ (software) க
ப ேவ றி பி ட காணபி ரா (configuration) கைள தி தி ப கிற .

( ைல ைட : 14:44 ஐ பா க )

ம ெறா வைக சி ட ெட (system testing) கா ெப பிலி ெட (configuration testing)


ஆ . SRS டா ெம (document) யி றி பிட ப ளப ம ற சா ேவ (software) ம
ஹா வ (hardware) ,சா ேவ (software) இ ெட பி (interface) க தி திகரமாக
இ கிறதா எ பைத ெட (test) ெச வைகயி ெட (testing) க ைச (design)
ெச ய ப ளன. உதாரணமாக, நா ஒ ெவ (web) அ பைடயிலான பய பா ேவ ,
ம அ ப ேவ ெவ பிெரௗச (web browser) களி ேவைல ெச ய ேவ . எனேவ,
கா ெப பிலி ெட (compatibility testing) ேபா சா ேவ (software) ெம ஸிலா
பய பா (Mozilla Firefox), ைம ேராசா எ ேளார (Microsoft Explorer) ம பல ேபா ற
பல ெவ பிெரௗச (web browser) களி ேவைல ெச கிற எ பைத சரிபா கிேறா .

( ைல ைட : 15:30 ஐ பா க )

கா ெப பிலி compatibility) யி ெட (testing) ம ெறா எ கா


எ னெவ றா , இ ேபா மஷ (information) மீ ெட க ஒ ெபரிய ேட டா ேப (data base)
சி ட (system) ட ஒ சி ட (system) க னிேக (communicate) ெகா ள ேவ
எ றா , ஆதரி க ேவ ய பல ெபரிய ேட டாேப (database) கைள நா க சரிபா கிேறா .
பி ன , நா பீ (speed) ம அ ரசி (accuracy) சரிபா க.

( ைல ைட : 15:52 ஐ பா க )

ம ெறா வைக சி ட ெட (system testing) ெரகவரி ெட (recovery testing) ஆ .


எனேவ, ெரகவரி ெட ( recovery testing)களி , சா ேவ (software) யான ந றாக ேவைல

213
ெச கிற எ பைத சரிபா ெகா ளலா , சில பவ (power) ,ேட டா(data) , ேடவி (device)
()ேபா றவ றி லா (loss ) ஏ ப டா . உதாரணமாக, சில சா ேவ (software) க கான ெப
ைரைவ(pen drive) பய ப ேவா . பி ன , தி ெர யாேரா ெப ைர (pen
drive)அக ற ப ட , எனேவ சா ேவ (software) ஹா (hang) யா கிறதா அ ல மீ ெப
ைர (pen drive) ைவ க சா ேவ (software) ேவ மா எ ெசா கிறதா? அ ல , பவ
பாலி (power failure) ைய சகி ெகா ள சா ேவ (software) றி பிட ப தா , பவ
பாலி (power failure) ஏ ப டா ?, அ ேட டா(data) அைன ைத லா (loss) ெச கிறதா
அ ல பவ பாலி (power failure) ஏ ப வத ன ேட டா(data) கைள
ேசமி கவி ைலயா? பி ன , பவ (power) மீ ெகா க ப டா , அ த அைம சரியாக
ஒ ைக ெரகவரி(recovery) ெச கிறதா?

( ைல ைட : 16:58 ஐ பா க )

ம ெறா வைக ைற ெட (testing) ைம ெடன ெட (maintenance testing) ஆ .


ஒ ெவா சா ேவ (software) க பலவிதமான ைம ெடன (maintenance)
ேதைவ ப கிற , ஏெனனி இ நீ ட காலமாக பய ப த ப கிற . உதாரணமாக,
ஒ ெவா சா ேவ (software) களி சில யா ேனா ேரா ரா (diagnostic program) க
இ கலா . ஏதாவ சரியாக இய கவி ைலெயனி , பீ ெட ரா (speed degrade) அ ல
ெச ைட ஆ ஷ (certain action) கைள ேம ெகா ள யா , பி ன சா ேவ (software)
ெபா வாக இய நிைல காணபி ராஷ (configuration) கைள வழ க ேவ , அ
யாேர சா ேவ (software) கைள இய நிைல காணபி ராஷ (configuration) யி
ைவ கலா . ேம , இய நிைல காணபி ராஷ (configuration), யா ேனா ேரா ரா
diagnostic program) க ம ர ஒ பி ரா ஸா ஷ (traces of transaction) , ெவ ேவ
ெமா ேல(module) க இைண ெதாட பான ெசமா (schematic) வைரபட க , ம ற
சா ேவ (software) ம ஹா வ (hardware) ஆகியவ ட இைண க பட ேவ ய
வழி ைறயி சரியாக இய கிறதா எ பைத சரிபா கலா . எனேவ, இைவ ைவ தி
ப ேவ ைம ெடன (maintenance) ெட (testing) களா . ேம , இ த
பி ஷ (function) ஒ காக வழ க ப டதா, இ ைலயா எ பைத சரியாக ெசா னாரா?

( ைல ைட : 18:11 ஐ பா க )

214
ேம ஒ வைக சி ட ெட (system testing) டா ெம டஷ ெட (documentation
testing) ஆ . எனேவ, இ ேக இ த வைக ெட (testing) களி வழ க ப ட அைன
டா ெம (document) க சீரானைவ எ பைத அைவ வழ க ப ளனவா
எ பைத சரிபா க ேவ ; பயன ெட (testing) , அசி ன ெட (acceptance
testing) ெச ேபா பயன , பயன வழிகா க , ைம ெடன (maintenance)
வழிகா க , ெட ணிக (technical) டா ெம (document) க , தலியன எ பைத
உ தி ப த ேவ ய டா ெம ெட (document testing) ெச ய ேவ ய அவசிய .
சில ேநர களி சில சா ேவ (software) க , அைவ ப ேவ வைகயான பயன கைள
ஆதரி க ேவ . உதாரணமாக, மிக ைமயான பயன க , அ பவ வா த பயன க
ம பல . ேம பயன களி அ த வைக வழ க ப ட டா ெம (document) க ,
அ த வைக பயன களி ேதைவ ேக ப உ ளனவா எ பைத றி பி கி றன .

( ைல ைட : 19:16 ஐ பா க )

ேம ஒ ைற சி ட ெட (system testing) உசபிலி ெட (usability testing) ஆ .


எனேவ, இ ேக இல பயன இ ெட பி ெட (interface testing) உ ள ; ப ேவ
பிேல ஷகிரீ (display screen) , ெமேச (massage) , ரி ேபா ேபா ம (report formats)
ம பல. அைவ பரவாயி ைல எ பைத சரிபா , பயன இ ெட பி (interface) களி
வழிெச த ;அ ,அ தி திகரமாக ேவைல, ெம ெசேல (Menu selection) ம பல
உ ள .ெமௗ கிளி (Mouse click); இைவ சரியாக ெரகா (record) ெச ய ப
ைகயாள ப கி றன.

( ைல ைட : 19:54 ஐ பா க )

எ விரா ெம ட ெட (Environmental testing) இ ஒ வைக ெட (testing) ; இ


ெபா சா ேவ (software) க ெபா தா . ப ேவ கிைளமா க ஷ (climatic
condition) களி ேவைல ெச ய ய ெடவி (device) களி ேவைல ெச ய ேவ ய
சா ேவ (software) க ெபா த யதாக இ கலா . உதாரணமாக, எ ெப ெட
சி ட (embedded system). எனேவ, இ ேக ஒ எ ெப ெட ெடவி க ேரால (embedded
device controller) உட ய சா ேவ (software) யான , ப ேவ ஹீ (heat) ,
ஹுமி (humidity) , ெகமி க ெரெச (chemical presence) , ேபா டபிலி
க ஷ (portability condition) க , எல ரி (electric) , ேம ென பிஎ ட (magnetic

215
condition) , பி ஒ பி பவ (disruption of power) , தலியன ேபா றவ றி மீ
ேவைலெச கிறதா எ பைத சரிபா கிற .

( ைல ைட : 20:35 ஐ பா க ).

இ ேபா , அைன ெட (testing) க த , சி ட ெட ட (system testing) . எனேவ,


இ ெடெவல ெம (development team) அ ல பிரிஎ லி(friendly) ெச ஒ பி (set of
team)களி நடமா ட தா நட த ப ட ெட (testing) ஆ , இ பீ டா ெட (beta
testing) அ ல வா ைகயாள ெட (testing), இ அசிஎ ன ெட (acceptance
testing) யா .ஒ ெட ச மரி ரி ேபா (test summary report) யி எ த ப ட க காணி
ரி ேபா (report) க எ த பட ேவ . எனேவ, நா ெட (testing) ச மரி
ரி ேபா (summary report) யி எ ன எ கிேறா ? ெட (testing) யி ச மரி
ரி ேபா (summary report) யி , சா ேவ (software) க ெட (test) ெச ய ப ட
அைன ெட (test) களி ச மரி(summary) எ த ேவ .

( ைல ைட : 21:16 ஐ பா க )

எனேவ, பி ஷனா ெட (functional testing) ம ெபரேபா ம


ெட (performance testing) ஆகிய இர . எ தைன ெட (test) க
பய ப த ப டன?, எ தைன ெட (test) க ெவ றிகரமாக இ தன?, எ தைன ெட (test)
க ெவ றிகரமாக தன? ம அைவ ேதா வி அைட தன. அ உஷாபிலி
ெட (usability testing) , சில ைறகளி , நீ க இர ைற ெமௗ கிளி (menu click)
ேவ . எனேவ, இ ஒ சிறிய பிர சைனயா அ ல அ கிரா (crash) ஆகி வி ட .
எனேவ, இ த ெட (testing) பாலியேர அைட ததா அ ல சில சிறிய எதி பாராத களா
எ பைத ெபா த , தலியைவ ம ேம கவனி க ப டன. எனேவ, இ ெட ச மரி
ரி ேபா (test summary report) யி உ ளட க களாக இ க ேவ .

( ைல ைட : 22:00 ஐ பா க ).

இ ேபா , ஒ ெவா ெடவல ப (developer), ஒ ெவா ெட ட (tester) , ஒ ெவா


பயன பயனளி ஒ சி கைல பா ேபா . சா ேவ (software) களி எ தைன
லாெட ப (latent bugs) க உ ளன . எனேவ சா ேவ (software) களான ஒ மி லிய
ைல ேகா (line code) உ வா க ப ட எ ெசா கிற . ெடவல ப (developer)க நிைறய

216
ேவைல பிற , அ ெட (testing) . இ ேபா , யாேர ஒ வ சா ேவ (software) களி
இ ப (bug) க அ ல பாஉ (fault) களி எ ணி ைக எ ன? இ த கவனமான
ேம ெகா ள ப ட ெடெவல ெம (development) கைள ெட (testing) க , ஒ
எ ைண எ ப ெகா கிேறா , ராெஜ ேமேனஜ (project manager) எ ப எ தைன ேப
ப (bugs) க இ இ கி றனவா? எனேவ, அைத தீ மானி க ஒ வழி எ ேறா
ஷீ (error seeding) எ அைழ க ப கிற . எனேவ, நா எ ப எ ேறா ஷீ (error
seeding) ெச வ ம சா ேவ (software) களி ப (bugs) யி எ ணி ைகைய
தீ மானி க உத வ எ ப ? இ ேக, கிய ெட (testing) ெதாட , ராெஜ
ேமேனஜ (project manager) அ ல ஒ சீனிய ெப ேஸா (senior person) சா ேவ (software)
களி அ பிசியா ப (artificially) க அறி க ப கிற . எனேவ, சா ேவ (software)
களி சில மா ற கைள ஏ ப கிற , இ அவ க காணி கிற . அவ அறி க ப திய
ப (bugs) க எ ன வைக எ அவ ெரகா (record) ெச தி கிறா . சில இட களி அவ
ஒ பிலி ேப ஆபேர ட (flipped operator), பிள ஆபேர ட (plus operator) ஒ ைமன
ஆபேர ட (minus operator) அ ல எ காவ க ஷன ேட ெம (conditional
statement) யி , ஒ ஆபேர டைர(operator) கா ைறவாக விட அ ல எ காவ
இ கலா a + b +c ேக , அவ a + b ம நீ க ப ட C ம பலவ ைற எ தியி கலா .
எனேவ, இ த ேமேனஜ (manager) ரி ஸீ (seed) கைள சில ப (bugs) க . பி ன ,
ெட (testing) வி அவ எ ப இ த ஸீ ப (seed bugs) க க பி க ப ட
க பி கிற . அவ ப (bugs) க இ ப (bugs) க , ஸீ (seed) எ றா ,
அவர ஸீ ப (seed bugs) க எ தைன க பி க ?

( ைல ைட : 24:24 ஐ பா க )

ேம , இ த சா ேவ (software) யி இ ப (bugs) க எ ெசா லலா . பி ன ,


ேமேனஜ (manager) சா ேவ (software) யி சில ப (bugs) க ஸீ (seed) ெச தா . எனேவ,
ஆர ப தி இ த ப (bugs)க , இ லதனமாக இ கிற எ ேவா . இ ேபா
ேமேனஜ (manager) அ ஒ ப (bugs) ைய ெச தா ; த னி ைசயான மா ற கைள
ெச தா . ம , சிறிய; ம ஸீ ப (seed bugs) க . எனேவ, பல ஸீ (seed) கைள அவ
ஸீ (seed) ெச தா . பி ன ெட (testing) நட த ப ட . ெட (testing) யி வி
அ க பி க ப ட ; ெட (testing) யி ேபா சிறிய எ ணி ைகயிலான ஸீ

217
ப (seed bugs) க க பி க ப டன ம சிறிய எ ணி ைகயிலான ப (bugs) க
இ தன, இைவ இ தன, இைவ ெட (testing) ல க டறிய ப டன. எனேவ, இைவ
க பி க ப ட ப (bugs) க ; ஸீ ப (seed bugs) க ம ஸீ (unseeded)
ப (bugs) க .

( ைல ைட : 25:35 ஐ பா க )

பி ன , நா ஒ எளிய க ைத உ வா கிவி டா , த ேபா ள சிறிய எ ணி ைகயிலான


ப (bugs) க க பி க ப டா , இ s/s சமமாக இ க ேவ . எனேவ, இ ேக
நா றி வ கிேறா அ ல இ ேக ெட (testing) பிரா திய ப (bugs) க ம ஸீ
ப (seed bugs) க இ வ ஒேர விகித தி ப (bugs) க அைடயாள
காண ப கிற . ம , இ த எ பிரஸி (expression) யி இ மீத ளப (bugs) க N-
n=n*

((க - க )/ க ) கிைட . எனேவ, இ சா ேவ (software) களி சரிெச ப (bugs)


களி எ ணி ைகயி மிக க னமான ேதாராய ைத த கிற . எனேவ, எ ேறா ஸீ (seed)
ஒ கியமான ெட நி (techniques) , கவனமாக அபிவி தி ெச ைமயான
ெட (testing) ைய ேம ெகா டபி , சா ேவ (software) களி பி த கியி
ப (bugs) க எ தைன எ பைத க பி ப ?. எனேவ, இ த அம வி இ த அம ைவ
நி தி அ த அம அ த க ட தி ெதாடர . ந றி.

218
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-18- regression Testing

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 18 ெரஃ ெர ஸி ெட

இ த அம வரேவ கிேறா . இ வைர, நா க ெட (testing) சில அ பைட


க க பா பி ன , பி ன நா பிளா பா ெட ெட நி (black box testing
techniques) கைள பா , எ ப பிளா பா ெட ேக (black box test case)க
ைச (design) ெச ய ம ப ேவ வைகயான பிளா பா ெட (black box testing).
பி ன , நா க ஹி ேட பா ெட (white box testing), கவேர (coverage)
அ பைடயிலான ம பாஉ (fault) அ பைடயான ெட ெட நி (testing techniques)
கைள பா ேதா ; நா க இ ெடகிரஷ (integration) ம சி ட ெட (system testing)
கைள பா ேதா . இ , நா ெரஃ ெர ஸி ெட (regression testing) பா கிேறா .
ெரஃ ெர ஸி ெட (regression testing)எ ப உ ைமயி ெட (testing) யி ேவ ப ட
ைடெம ஷ (dimension) , இ அைன வைக ெட (testing) , னி (unit) , இ ெடகிரஷ
(integration) ம சி ட ெட (system testing) ெபா . ெரஃ ெர ஸி ெட
(regression testing)களி எ ன ெதாட இ கிற எ பைத பா ேபா .

( ைல ைட : 01:08 ஐ பா க )

219
பா க

( ைல ைட : 01:16 ஐ பா க )

நா ெரஃ ெர ஸி ெட (regression testing)ைய ெதாட , கைடசி ட தி


நா க எைத ப றி விவாதி ேதா எ பைத ெகா ச ரிகா (recall ) ெச ேவா . கட த
அம களி , நீ க நிைனவி ைவ ளீ க எ றா , ேமேனஜ (manager) மதி பி வ ,
கவனமாக ெடெவல ெம (development) , அ ேட ெட (adequate testing)ம
பலவ ைற உ ளட கிய , அவ ெச ய ய எ லாவ றி பி ன , இ ன ேகா (code)
வி உ ள ப (bugs) களி எ ணி ைகைய மதி பீ ெச கிற . எ லாவ ைற மீறி
இ தா , சில ப (bugs) க இ ன ெரஃ ெர ஸி (regression).ஒ
ேமேனஜ (manager) இய ைகயாகேவ ெதரி ெகா ள வி கிறா , சா ேவ (software) களி
எ தைன ப (bugs) க உ ளன. கண கானதா? ஆயிர கண காேனா அ ல
ப லாயிர கண கான ப (bugs) க உ ளதா? எனேவ, எ ேறா (error) ஸீ ெட நி (seed
techniques) ைய நா க பா ேதா , சா ேவ (software) களி ப (bugs) க எ ணி ைக
மதி பிட ஒ சா தியமான ெட நி (techniques) மா . உ க நிைனவி கிறதா
எ றா , ெட (testing) பாக ேமேனஜ வழ கமாக சி ட ெட (system testing)
ெதாட ைகயி , ேரா ரா (program) யி பல ஆ பி டரி(arbitrary) மா ற கைள
உ வா கிறா எ றிேனா . மா ற க ஒ அரி ேம ஆபேர டைர(arithmetic
operator) மா வ வ தி இ கலா .

எ கா டாக, பிள ைமன (plus to mines) அ ல ேகா (code) 2


ேட ெம (statement) கேளா இ ெட ேக(interchange) ெச யலா அ ல
வரிஅ ேள(variable) ேபஇ (dependent) யிலி பிளா ட(flot) ையமா றி
இ கலா , எ பிரஸி (expression) யி இ கலா , வரிஅ ேள(variable) பி (b )லி ேவ
வரிஅ ேள(variable) d அ ல ஏேதா வரிஅ ேள(variable) மா ; இைவ வழ கமான
ேரா ரா (program)மி எ ேறா (error) க . எனேவ, ேமேனஜ (manager) இ த பல ப (bugs)
க ெகா ட ேகா (code) ைட ஸீ (seed) ெச ளா , ேம அ த ேகா (code) எ தைன
ப (bugs) க அவ ஸீ (seed) ெச கிறா எ பைத றி பி கிறா . பி ன ,
ெட (testing) ெதாட கிற . ெட ட (tester) க ஸீ ப (seed bugs) க எ ன
எ ெதரியா , பி ன அவ க ெட ேக (test case) கைள நட கிறா க .

220
பாலி (failure) க க டறிய ப , பி ன , அைவ ேடபிஜிேக (debug) ெச ய ப , சில ஸீ
ப (seed bugs) க ேதா றியி கி றன எ ேமேனஜ (manager)க பி வி டா ,
அவ அைத கவனி கிறா .

( ைல ைட : 03:50 ஐ பா க )

எனேவ, இ த சா ேவ (software) களி மீத ளப (bugs) க கண கிட ப வத நா


எ எ பிரஸி (expression) விள கிற . இ த ெர டா ேல(blue rectangle)
ேரா ரா (program) ம ெர பாயி (red point) கைள ேகா (code) ைவ ேளா , இ
அைன கவனமான ைச (design) , ேகா (coding), ெட (testing) , ெநா ெட (not
testing) , ைச (design) ம ேகா (coding) யி உ ள ; இைவ மீத ளப (bugs) க .
இ ேபா , சா ேவ (software) வா ைகயாள அ ப ப ேபா எ தைன ப (bugs)
க இ பைத மதி பீ ெச ய ேமேனஜ (manager) , இ த வயல ேடா (violate dots) க ல
றி பிட ப ட ப (bugs) க பலவ ைற ஸீ (seed)ெச கிறா . வ க சா ேவ (software)
களா இ தப (bugs) க இ த ெர ேடா (red dots) கைள அ மதி க ேவ ,இ
ேக பிட (capital) N ம ேமேனஜ (manager) ஸீ (seed) க பல ப (bugs) க ,
ேக பிட (capital) S பல ப (bugs) க . ெட (testing) ெதாட , ஒ சி ட
ெட (system testing) ; பி ன சி ட ெட (system testing) ேம ெகா ள ப ைகயி
ப (bugs) க க டறிய ப .

( ைல ைட : 05:40 ஐ பா க )

ம சிறிய எ ணி ைகயிலான ஸீ (seed) ப (bugs) க க டறிய ப , ேகா (code)


உ ள அச ப (bugs) க சிறிய எ ணி ைகைய க டறியலா . பி ன , விைரவான
ேதாராயமாக, நா N / N ஐ s / s ஏ வா (equal) ஆக எ தலா , ஆனா இ த எ பிரஸி
(expression) ைய எ த, நா ஒ ெதளிவான க ைத உ வா கி ேளா . இ ேக எ பிரஸி
(expression) யான அ மான எ னெவ றா , இ இ த எ பிரஸி (expression)
ெடெவல (develop) ெச வதி உ ளதா? இ ளிஸி (implicit) அ மான எ ப , அச ப
(bugs) க க டறிய ப கிற விகித ஸீ ப (bugs) க க டறிய ப ட விகித தி ஒ
தா ; அ ல ேவ விதமாக றினா , ஸீ (seed) ப (bugs) க மிக எளிதான ப (bugs)
, மிக எ பிரஸி (expression) யான ப (bugs) க அ ல, அைவ ெட (testing)
ெதாட கிற ; அ ல இைவ மிக நயமான அ ல மிக சி கலான ப (bugs) க

221
வைகயா , அைவ ெட (testing) ல க டறிய படாம , ேகா (code) இ . எனேவ,
இ ளிஸி (implicit) அ மான ைத நா ெசா லலா , இ ேகா (code) வைககளி இ
ப (bugs) க , ஸீ (seed) ெச ய ப ப (bugs) க வைக ட ; ப (bugs) க வைக,
ஆனா அவ களி பிெர னிசி(frequency) ம . எனேவ, அரி ேம (arithmetic)எ பிரஸி
(expression) இ ெட ேக(interchange) எ ப ஒ வைக ப (bugs) யாக இ தா , அத
நிக தக 5 சதவிகித ஆ , ஸீ (seed) ப (bugs) க அரி ேம (arithmetic) எ பிரஸி
(expression) இ ெட ேக(interchange) 5 சதவிகித இ . ேம , அ
ம ம ல,ேகா யி (code) உ ள, எ த ப (bugs) ஏ ப டா , றி பி ட
கா ேபாென (components) க , இ கிய ; ஏெனனி , சில
கா ேபாென (components) க மிக அதிக அளவி பய ப த ப கி றன ம சில
கா ேபாென க மிக ைறவாக பய ப த ப கி றன. எனேவ, ப (bugs) க
வைக, பிெர னிசி(frequency) ம , ஆனா ேகா (code) த க ெலாேகஷ (location) யி
ேதாராயமாக ெபா த ேவ , இ த எ பிரஸி (expression) நட த. இ ேபா , எ ப ேயா,
ேமேனஜ (manager) ப (bugs) க , அவ றி பிெர னிசி(frequency) ம அவ றி
ெலாேகஷ (location) ஆகியவ ைற அறிய ஒ வழிைய ெகா கிறா , ேம அத ேக ப
ப (bugs) ைய ஸீ (seed) ெச கிறா எ நா நிைன கலா . இ த ேக யி இ த
எ பிரஸி (expression) ைய எளிதா கலா ம ெட (testing) மீத ளப
(bugs) க க டறியலா ; ேக பிட (capital) N ேக பிட (capital) S * n / s; ஆனா பி ன ,
அவ களி சிறியவ க ெட (testing) ேபா க பி க ப ட . எனேவ, ெட (testing)
பி இ ப (bugs) க N - N; அ ல நா இ த எ பிரஸி (expression) யி
மா ற , n *(S-s)/s(க )க / க எ த ; இ தா ேகா (code) இ ப
(bugs) களி எ ணி ைக.

( ைல ைட : 09:22 ஐ பா க )

இ ேபா , இ த க ைத அ பைடயாக ெகா , ஒ சிறிய (quiz) எ ேவா .


சி ட (system) ஒ ேமேனஜ (manager) , ேகா (code) 100 ப (bugs) க
அறி க ப த ப , ெட ட (tester) க ெடவல ப (developer) க ெதரியா
எ நிைன கிேற . அவ அ ெச மா ற கைள ெச தா , 100 ப (bugs) க
அறி க ப தினா . பி ன , சி ட ெட (system testing) ெதாட கிய ம சி ட

222
ெட (system testing) ேபா , ஸீ (seed) ப (bugs) க 90 க பி க ப ட ; ஆனா ,
சி ட ெட (system testing) ெசய பா , 50 பிற ப (bugs) க காண ப டன, இைவ
ேமேனஜ (manager) களா ஸீ (seed) ெச ய படவி ைல. எனேவ, ேகா (code) ப (bugs)
மதி பீ ைட க டறிய . எனேவ, இத ெபா எ னெவ றா , எ தைன அச ப (bugs)
க சி ட ெட (system testing) பி ன ேகா (code) ெதாட இ . எனேவ,
இைத எ ப ெச வ ? நா ெபற ப ட எ பிரஸி (expression) ைய பய ப தலா , n / n = s /
S; ம அ இ , நா ெபற ப ட, n * (S - s )/s க . பிற , பிர சிைன மிக எளி ; நா
எ பிரஸி (expression) மதி க மதி பிட ேவ . எனேவ, இ மா 50 *(100- 90)/ 90
ஆ , இ ேதாராயமாக 6. எனேவ, இ த ேக (case) யி , ேதாராயமாக 6 ப (bugs) க
ேகா (code) இ பதாக மதி பிட ப ள , இ வ த த க , வைக
பிெர னிசி(frequency) ம ஸீ (seed) ப (bugs) களி ெலாேகஷ (location) அச ப
(bugs) க ேதாராயமாக ெபா .

( ைல ைட : 11:26 ஐ பா க )

ஆனா , நா ெசா வ ேபால, n / N எ ற ெசா லி எ பிரஸி (expression) , s / S


ஏ வா (equal) ஆக இ , இ வைக, பிெர னிசி (frequency)ம ஸீ (seed) ப
(bugs) களி பிெர னிசி(frequency) , ேகா (code) உ ள இ ப (bugs) க . ஆனா ,
அ ெதரியாத ப (bugs) க எ னெவ ேமேனஜ (manager) அறி தி கவி ைல.
இ ைலெய றா , ெட (testing) எ ேதைவயி ைல; அவ அைத அறியவி ைல. எனேவ,
அவ வைக, பிெர னிசி(frequency) ம ப (bugs) க ெலாேகஷ (location) கி ட த ட
ெபா இ ப (bugs) க ஸீ (seed) ெச வ ப றி ெச கிற ? ெபா வாக, எ ன
நட கிற எ ப , ஒ பணி தீ , ேமேனஜ (manager) ேட டா(data) ைவ பா ேபா ,
ெதாட ைடய சா ேவ (software) ெதாட பான ப (bugs) ேட டா ; இேத சா ேவ (software) ;
அவ க பி கிறா , மீத ளப (bugs) களி வைகக எ னெவ வா ைகயாள
ெதரிவி தா க ; அவ றி பிெர னிசி (frequency) ம அவ றி ெலாேகஷ (location)
எ னவாக இ தன. அத ேக ப ேமேனஜ (manager) ஸீ (seed) க . எனேவ, இ த எ பிரஸி
(expression) ெச ப யா ெசய திற தீ வா .இ இ ஒ யி (quiz) உ ள .

( ைல ைட : 12:15 ஐ பா க )

223
( ைல ைட : 12:59 ஐ பா க )

சி ட ெட (system testing) ெதாட வத , ேமேனஜ (manager) 100 ப (bugs)


க சா ேவ (software) களி அறி க ப தினா . இ ேபா , சி ட ெட (system testing)
ேபா , இ த ஸீ (seed)ப (bugs) க 60 க டறிய ப ட . 150 பிற ப (bugs) க
க டறிய ப டன. எனேவ, சா ேவ (software)களி எ சியி ப (bugs) க எ தைன
ேமேனஜ (manager) ரி மதி பீடாக இ ? தய ெச இ த சி கைல சரிெச ய .
நீ க எ பிரஸி (expression) ைய ரி ெகா டா , அைத நீ க ெச ய ; ஒ
எளிய சி க , எ பிரஸி (expression) ெபா தமான எ கைள மா க .

( ைல ைட : 13:54 ஐ பா க )

இ ேபா , ெரஃ ெர ஸி ெட (regression testing)கைள பா ேபா . சி ட அ ேட (system


update) திய ப (bugs) க ஏ படா அ ல ைதயைத சரிெச த ப (bugs) கைள
மீ அறி க ப தா எ பைத சரிபா க ெரஃ ெர ஸி ெட (regression
testing)ெச ய ப கிற . எனேவ, இ ெரஃ ெர ஸி ெட (regression testing)களி
வைரயைற ஆ . அ உ ைமயி எ னெவ றா , நீ க சா ேவ (software) கைள
ெப றி தா , அத ஏராளமான மா ற க ெச க ; அ சாதாரண விஷய ;
ெடெவல ெம (development) சா ேவ (software) க நிைறய மா ற க ஏ ப கி றன.
உதாரணமாக, ப (bugs) க க டறிய ப , அைவ சரிெச ய ப கி றன; அ ஒ மா ற ;
அ ல இ கலா , சில திய அ ச ேச க ப கலா அ ல இ கலா , சில அ ச
மா ற ெச ய ப வி ட . எனேவ, ஒ ெவா ைற சா ேவ (software) ஒ மா ற
உ ள ,சா ேவ (software)களி ெப ப தி மாறவி ைல. எனேவ, சரியா? சா ேவ
(software)களி மா றியைம க ப ட ப திைய ெட (test) ெச வி மாறாத ப திைய
ெட (test) ெச ய வி ைலயா? இ ைல, எ த மா ற சிறிய மா ற சா ேவ (software) களி
மாறாத ப தியி ளப (bugs) ைய வி எ பதா இைத ெச ய யா . இ ஏ ,
ேட டா ஷாரி (data sharing) ம ேட டா ெப ெட சி(data dependency) இ பதா
மா ற க சில மா பா கைள ெவ ேவ மதி க எ க தி ெகா கி றன, அைவ
ேகா (code) மாறாத ப தியா பய ப த ப கி றன. பி ன , அ த நிர ப ெதாட ;
ேகா (code) மாறாத ப தியாக இ கலா , அைன ெட (testing) க பா (pass) ஆன ,
சரியாக ேவைல ெச ய ப ட , ஆனா பி ன , ஒ சிறிய மா ற எ காவ சா ேவ (software)

224
ம ற ப தியி பல பாலி (failure) கைள கா டலா எ மா ற , அ வரிஅ ேள(variable) மதி
மாறிய ம அ த மதி ம ற ப திகளா பய ப த ப ட ;ம பாலி (failure) கைள
கா டலா . எனேவ, அ த ேகா (code) மா றமி லாத ப தி ெரஃ ெர ஸி ெட
(regression testing)கைள ெச ய ேவ ய அவசிய எ னெவ றா , ஏதாவ மா ற க
ஏ ப டா அ ல , ேவ வா ைதகளி ெசா னா , நா ேகா (code) சில ப திைய ஏ கனேவ
கட வ த ெட ேக (test case) கைள மீளைம க ேவ , அ த ப தி மாறவி ைல
எ றா , மீ அ த ெட ேக (test case) கைள ம ப ெரஃ ெர ஸி ெட
(regression testing)எ அைழ கிேறா

( ைல ைட : 16:39 ஐ பா க )

இ ேபா , ஒ சிறிய அனிேமஷ (animation) எ கா ட ெரஃ ெர ஸி ெட


(regression testing) பி னா உ ள க ைத ரி ெகா ள ய சி கலா . இ த
கிள (blue cloud) ஒ ேரா ரா (program) எ நா க ேவா , பல ெட ேக (test
case)கைள ெகா ேரா ரா (program) ெட (testing) ெச ய ப ட ; அவ க
அைனவ கட ெச றன . இ சரியாக எ னெவ றா நா ெரஃ ெர ஸி ெட
(regression testing) ல எ ன அ த எ பைத விள ஒ உதாரண . எனேவ, T 1
நிைறேவ ற ப ட ; நா அைத ரீ (green) கா ேளா ; T 2 ேம கட , ரீ (green)
அைத கா ய ; T 3 நிைறேவ ற ப ட ; ெட T 3, இ ரீ (green) ம ெட T4
கட வி ட , அ ரீ (green) ; ஆனா , நா க T 5 ஓ ய ேபா , அ பாலி (failure)
யைட த , ெர (red) ல கா ட ப ட . எனேவ, T 5 ஒ பாலி (failure) யாக ,ஒ ெட
ேக (test case) பாலி (failure) ற , ெடவல ப க (developer) ேகா ைட(code) சரிெச ,
சி கலி ஆதார ைத க பி பி ன ப (bugs) கைள சரிெச வத ேகா ைட(code)
மா ற . எனேவ, இ த ேக (case) யி , ெடவல ப (developer)பணி ரி தா , பி ன இ த
ேட ெம (statement) ைய அறி க ப தியத ல இ த பிர சைனைய அக ற
எ க பி க ப ட . B = b + 5. ேம ேகா ைட(code) மா றிய , பாலி (failure) அைட த
ேக (case) யி உ ைமயி கட வி ட . எனேவ, T 5 எ ப ரீ (green) நிறமா ; ெட
ேக (test case)நிைறேவ ற ப ட . ஆனா , நா க ம ற ெட ேக (test case) கைள
இய ேபா , உ ைமயி மா ற படாத பாக க , ெட (testing) , ம ற ெட ேக (test
case) க , அவ க ர (run); அவ க மாறாத ேட ெம (statement) கைள

225
நிைறேவ கி றன . ஆனா இ , 3 பாலி (failure) ; ஏ ? ஏென றா , இ மாறி b ஐ
பய ப திய ; a = a * b. எனேவ, T 3 மாறி B பி பய ப கிற . இ ேபா , நா மதி Bஐ
மா றி ேளா . எனேவ T 3 சரியாக ேவைல ெச யவி ைல, T 3 இ ேகா (code) எ த
மா ற மாறாம இ தா பாலி (failure) யைட த . ஆைகயா , அ த எ னெவ றா ,
தி த சரியான அ ல. இ , b = b * a அ ல இ ேக ஏேதா ேபா ற ேவ ஏேதா இ க
ேவ ; ம b = b +5 இ த ெட ேக (test case) பா (pass) ெச கிற , ஆனா
ெரஃ ெர ஸி (regression) ெட ேக க (test case) பாயி (fail) யைட .

( ைல ைட : 19:42 பா க )

எனேவ, சா ேவ (software) ழ சிகளி , நிைறய மா ற க ேகா (code) ஏ ப கி றன.


இ த மா ற க கெர (corrective) மா ற க , அடா (adaptive) மா ற க ம
ெபரபி (perfect) மா ற க ஆகியவ ைற வைக ப தலா . சில மா ற கைள சரிெச ய
ேகாடாக(code) ெச ய ப மா ற க , அடா (adaptive) மா ற க . ேவ ஏேத
பணி ரி சா ேவ (software) கைள மா றியைம க சில பிற ைல ரரி (Libraries) அ ல ேவ
சா ேவ (software)களான அ ல ஹா வ (hardware) ல ேவைல ெச வத ஏ ப
மா ற க ெச ய ப கி றன. ம ைமயான மா ற க , நா க சா ேவ (software)
மிக சரியான ெச ய திய அ ச கைள ேச க அ ல நா ேகா (code)சில ப திகளி
மா வத ல சா ேவ (software) ெபரேபா ம (performance) ேம ப தஅ உ ளன.
எனேவ, இைவ 3 பிரதான வைக மா ற க . ஒ ெவா ைற நா ேகா ைட(code) மா றி
ெகா கிேறா , மா றியைம க ப ட ேகா (code) வழிைய வழ க ேபா ெட (test) ெச ய
ேவ , ஆனா சா ேவ (software) மாறாத ப தியி ள ெரஃ ெர ஸி ெட
(regression testing)கைள ேம ெகா ள ேவ . மா றமி லாத அ ச க ெம ைமயாக ேவைல
ெச மா உ தி ப த, சா ேவ (software) களி மாறாத ப தியி ள ஒ ெவா
மா றீ ெரஃ ெர ஸி ெட (regression testing) ேதைவ ப கிற .

( ைல ைட : 21:26 ஐ பா க )

ஒ ெட ேக (test case) ெச (set) க இ தி தா இ வைர பய ப த ப , T ஆன ,


பி ன , இ த ெட ேக (test case) கைள ேதாராயமாக, ேற ட (redundant) ம
ெரஃ ெர ஸி ெட (regression testing)கைள ேதாராயமாக பிரி கலா . அச ெட
ேக (test case) களி சில ஒபிேசாேல (obsolete) ேபாகி றன; அவ க இனிேம பய ப த

226
யா . அைவ இ வாலி (invalid). அவ க எறிய பட ேவ . காரண எ ன? ஏென றா ,
இ த ெட ேக (test case) களி ேகா (code) மா ற ப ட ப திைய ெசய ப கிற ,
ேம அைவ ெகா இ வ ேக(input value) க ேபா மானதாக இ ைல. அவ க 2
வ ேக(value) கைள இ (input) ெச ளன , ஆனா , உ ைமயி எ ன, 2 இ ட
வ ேக(int value) ம ஒ பிேலா வ ேக(float value) ம பல ேதைவ ப கிற .
எனேவ, மா ற தி பிற சில ெட ேக (test case)க பய ப த படா . இைவ வழ க
அ ல தவறான ெட ேக (test case) களாக அைழ க ப கி றன. சில ெட ேக (test
case)க ெற ட (redundant) ெச ய ப கி றன. நா ேகா (code) சில ப திைய
மா ேபா , மா றமி லாத ேகா (code) சில ப தி பாதி க ப அைவ ம பரிசீலைன
ெச ய பட ேவ . ஆனா , சில ப திகளா பாதி க படவி ைல. ஷாரி ஒ பி
வரிஅ ேள(sharing of variable) இ ைல, மா ற ப ட ப தி அைம க ப ட வரிஅ ேள(variable)
க ட எ தவித சா இ ைல, எனேவ 100 சதவிகித உ தி ப த படலா , இைவ மா ற ப ட
ப திைய ெபா ேகா (code) உ ைமயான ப தியா , நா ெட (testing) ெச ய
டா . எனேவ, அைவ ெற ட (redundant) ெட ேக (test case) களாக
அைழ க ப கி றன. அைவ தவறான ெட ேக (test case) களாக இ தா ட, அவ ைற
இய க ெச ய ேவ ய அவசியமி ைல, ஏென றா அைவ எ த ப (bugs) க டறி
ய சா திய . அைவ சா ேவ (software) களி இ ெடெப ெட (independent )ப திைய
ம ேம ெசய ப கி றன. பி ன , மீத ள ப தி ெரஃ ெர ஸி (regression)ெட
ேக (test case) களா . ெரஃ ெர ஸி ெட ேக (regression test case) க , அைவ
மா ற படாத ேரா ரா (program) அ த ப திகைள நிைறேவ , மாறாத ப தி ட சில
ெப ெட (dependent ) ேரா ரா (program) யி மா றமி லாத ப தி; ெசா ல ேபானா ,
சில இ ெடேப ெட சி பா (independent part) க மாறிவி ட ப திக ம பலவ றி
ஒ க ப ள சில வரிஅ ேள(variable) மதி க ஆ . எனேவ, இ த ெரஃ ெர ஸி
ெட (regression testing), மிக அதிகமாக இ கலா , ெபரிய சா ேவ (software) க கான
ஆயிர கண கான ெரஃ ெர ஸி ெட (regression testing)அைடயாள காண படலா ,
ஒ ெவா மா ற தி கான ெரஃ ெர ஸி ெட (regression testing)இய கலா , ஆயிர
எ க க னமாக இ கலா . ெரஃ ெர ஸி ெட (regression testing) ைமயான
ெதா ைப இய க ெச வ ேபா ற மிக பான ெரஃ ெர ஸி ெட களிலி ,
ஆ ைமஸி (optimize) ெரஃ ெர ஸி ெட (regression testing), ஆ ைமஸி (optimize)

227
ெரஃ ெர ஸி ெட (regression testing)க பி க . ஆனா இ த அம வி ேபா ,
இ தஆ ைமஸி (optimize) ெரஃ ெர ஸி ெட (regression testing)நிக கைள எ வா
ெபறலா , வழி ைறக , உ திக , தலியைவ, ஆ ைமஸி ெரஃ ெர ஸி ெட
(regression testing)நிக கைள தீ மானி க, ஆனா ெரஃ ெர ஸி ெட (regression
testing)க எ வா அைடயாள கா ப எ பைத பா ேபா .

( ைல ைட : 25:01 ஐ பா க )

ஆனா , ெரஃ ெர ஸி ெட ேக (regression test case) ேநர களி , ேகா (code)


ஒ ெவா மா றீ பி மீ மீ இய ெட ேக (test case) கைள
நிைனவி ைவ ெகா ள ேவ ய ஒ . எனேவ, இ நட , ெட (testing)
ெச ய ப ட ஒ ைற, ஒ ைற, ைச (design) ெச ய ப ட ம ெசய ப த ப ,
கண கான அ ல ஆயிர கண கான ைற ெசய ப த பட ேவ . ம
சா ேவ (software) ஒ வா நா வ அ ல ஆயிர கண கான ைற ஒ
ெரஃ ெர ஸி ெட (regression testing) ேபா , ஒ ெவா மா ற ஒ ைற ஏ ப
பி ன , அ ெமாெனாேடாேனா (monotonous )ஏ ேறா (error) யாக உ ள . எனேவ
ஆ ேடாேமஷ (automation) மிக கியமான . அதி டவசமாக, நா க விவாதி த
(tool) களி ைக ப ற ம பிரதி வைகக இ ேக ஒ சரியான ெபா தமாக
ேதா கி றன. ஏென றா , த ைறயாக ெட (testing) நைடெப ேபா ,
இ (input) ைட ைக ப ஆ ேடாெம (automate tool) களி ேக ேற (capture )
ம ரிபிேல (replay ) வைக, அைவ ஒ பா (pass) எ க த ப ஓ (output) ைட
ைக ப றின. பிற , எ ேபா ேவ மானா நா வி ைச(switch) அ தினா , அ
ெரகா (record) ெச ய ப ட அைன ெட ேக (test case) கைள மீ
ெரகா (record) ெச ,ெரகா (record) ெச த ைவ ெபா கைள சரிபா ,எ த
பாலி (failure) ற ெட ேக (test case) க இ தா , பிளா (flag )ைய ெகாண .
மிக ந றாக ேதா , ஆனா பி ன , சில ேக (catch)க உ ளன. ேக கைள(catch)
நா ெதரி ெகா ேவா , அைவ எ வா கட க ப கி றன எ பைத பா ேபா . பி களி
ஒ , ேக ேற (capture ) ம ரிபிேல (replay ) வைக க வியி , ெட ேக (test case) களி
ைம ைட (maintain) எ ப , ஒ மாதிரியாக மா ற ப ட ேகா ட (code) இ ேபா
இய க யஒ ெட ேக (test case) எ ெசா வத ெபரிய சி கலாக இ கிற ,

228
த பரேம ட (parameter) க ெகா க ப ட. இ த ேக (case) , நா க ெட
ேக (test case)நிராகரி க ேவ ம அைத ரி ெரகா (rerecord ) ெச ய ேவ .
ெட ேக (test case) நா ைம ைட (maintain) ெச ய யா . ேம , இ ெனா விஷய
எ னெவ றா , ெட ேக (test case)க சில காரண க காக பாலி (failure) யைட ,
இ ேததிட ஒ பிடலா . எனேவ, ெட ேக (test case) சில ேததிகளி இய க ப
ேததிைய பய ப திய ம அ த ேததி அ த இ (input) மதி பி
பய ப த ப ட , ஆனா சில ேததி அ ல ேநர தி இ கலா ; அ மாறியி கலா ,
ஏெனனி இ ெரகா (record) ெச ய ப ள . சில கிரி (scripting) அ பைடயிலான
ெட (testing) இ தா , இ த சி கைல நா க ைம ைட (maintain) ெச யலா ; நீ க
கிரி (script) சிறி மா ற ம அைத ைம ைட (maintain) ெச ய . இேதேபா ,
எ ேவ மானா ேதைவ ப ேததி ம பலவ ைற பய ப தலா .

( ைல ைட : 28:17 ஐ பா க )

எனேவ, ெவ ேவ ெரஃ ெர ஸி ெட (regression testing) பணிகைள எைவ? ஒ ெட


ேவலீட (test validation) , ெட ெசெல ஷ (test selection) , ெட மினிமி (test
minimization) ம ெட பிரியரி (test prioritization) உ ள . எனேவ, இ த அம
வி தா இ கிேறா . நா இ நி த ேவ , அ த க ட தி , இ த
க ட திலி ெதாட .

229
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-19- testing object oriented programs

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 19 ெட ஆ ெஜ ஓரிய ேட ேரா ரா மி

இ த அம வரேவ கிேறா . கட த அம வி , நா க ெரஃ ெர ஸி ெட (regression


testing) ப றி விவாதி ேதா . ெரஃ ெர ஸி ெட (regression testing) எ ப ஒ
கியமான வைக ெட (testing) எ பைத நா க க ேடா . ஒ ெவா மா ற தி
பிற சா ேவ (software) மாறாத ப திைய ெட (test) ெச ய ேவ . சில ைல ஒ
ேகா க (line of code) ம சில ப தாயிர கண கான ைல ஒ ேகா (line of code) க
அ ல ைல ஒ ேகா (line of code)களி றாயிர கண கான வரிகைள மா றியைம க
யா . ஆனா , அைவ ன பா (pass) ஆகி இ த ேபாதி , அைவ அைன
மா ற படாத ப திகைள மீ ெட க ேவ . காரண ெப ெட சி(dependency) ,
வரிஅ ேள(variable) மாறிய மதி பிர சார தி காரணமாக ஒ மா ற ைத மா றியைம கலா ,
சில ேகா களி (code) மா ற தி ேபா மா ற ெச ய ப சில மா ற க
சா ேவ (software) ம ச பா எ ப (surface edge bugs) க மா றமி லாத ப தி ,
பி ன நா அவ ைற நிராகரி க ேவ இ ஒபிேசாேல (obsolete)அ ல
இ வாலிேட(invalid) ெட ேக (test case) களி பகி ெச ய .

230
சா ேவ (software) கைள ெட (test) ெச ய பய ப ெட ேக (test case)க அைம க
பா ேத . பி ன நா மிக அதிகமாக இய காத ேதைவய ற ெட ேக (test case) கைள
ெகா கிேறா , ஏென றா அைவ மா ற ைத உ ைமயிேலேய
ெப ெட சி(dependency) அ ச கைள ெட (test) ெச ப யான ஒ ப (bugs)
க டறிவத கான ஸிேரா (zero ) வா ள . பி ன நா மா ற கைள சா ேவ (software)
களி ெபா தி சில ெப ெட சி(dependency) சா ேவ (software) அ த ப திகளி ெட
(test)ெச ய இ ெரஃ ெர ஸி ெட ேக (regression test case) க உ ளன.

( ைல ைட : 02:45 ஐ பா க )

இ ெபா , பி வ பைவ நா ெரஃ ெர ஸி ெட ேக (regression test case) கைள ேத


ெச வத ல ப ேவ ப நிைலக எ ன எ பைத பா ேபா , எனேவ கிய
ெரஃ ெர ஸி ெட (regression testing) பணிக ெரஃ ெர ஸி ெட (regression
testing) கைள ேத ெத பத கான வழி ைறக ஆ ; தலாவதாக, சரியான ெட
ேக (test case) கைள அைடயாள க ெகா வ ஏென றா , ஒ ெவா மா ற தி பிற
சில ெட ேக (test case) க ெச லாததாகிவி டன, அைவ நிராகரி க பட ேவ . எனேவ,
சரியான ெட ேக (test case) க ம சரியான ெட ேக (test case) களிலி நா
தலி ெற ெட ெட ேக (redundant test case)கைள அைடயாள காண ேவ ,
அதிகமான ெட ேக (test case)கைள அைடயாள காண , ற கணி க ேவ ,இ
ந ைம ெரஃ ெர ஸி ெட ேக (regression test case) க ட வி வி கிற , இ
ெரஃ ெர ஸி ெட (regression testing) ெசேல ேரா ேல (selection problem) எ
அைழ க ப கிற . ெரஃ ெர ஸி ெட ேக (regression test case) க பல ஆயிர எ றா ,
நா ைற தப ச ெச ய ேவ ,அ நீ க உ ைமயி அவ க நக வைககைள நீ க
ம அவ க உ ைமயி த ப (bugs) க க டறிய யா . ெட ேக (test case)
க எ ேக நீ க ேவ ? எனேவ, ைற த ெச ஒ பி ெட ேக (set of test case) களி
ைமயான ெரஃ ெர ஸி ெட (regression testing) கைள இய ேபா ந ல , ேம
ேத ெத க ப ட ெரஃ ெர ஸி ெட ேக (regression test case) களி இ நா க
ெரஃ ெர ஸி ெட (regression testing) ரிைமைய ெச யலா . நா ப (bugs) க
க டறி அதிகப ச நிக தக ெகா ெரஃ ெர ஸி ெட (regression testing)
க ெகா க ப ட மிக உய த பிரியரி ஸி(priority) ெகா ட 1, 2, 3, 4 பிரியரி ஸி (priority)

231
அவ ைற. ஏ பிரியரி ஸி (priority) ேவ ? நா க பிரியரி ஸி(priority) ெகா க
ேவ , ஏெனனி ெட (testing) ைதய கால தி நீ க
ெரஃ ெர ஸி (regression) ப (bugs) க க டறிய மானா , ெடெவல ெம
(development team) ைய ெதாட கலா , அ எ க ெடலிவரி(delivery) ேநர ைத ைற .
நா கண கான ெரஃ ெர ஸி ெட ேக (regression test case) க இ கலா
ம அைவ அைன ைத இய க ஒ வார ஆகலா ம நா த நாளி அ த
ப (bugs) க க டறிய மா எ றா , நா ெடெவல ெம (development team) வி
ெட (testing) ைய ெதாட கலா .

( ைல ைட : 05:06 ஐ பா க )

எனேவ, இ ெரஃ ெர ஸி ெட (regression testing) பிரியரி (prioritization) ைய


பி த . ஒ ெசமா அ ரா (schematic diagram)வ வி நா
பிரதிநிதி வ ப தினா , நா தலி மா ற அனாலிசி (analysis ) ெச , மா ற தி
ப தியி ப திைய பாதி கி ேறா எ பைத க டறி , மா றமி லாத ேகா (code) ப தி
பாதி க ப , எ த ப தியாக ெப ெட சி(dependency) ம அ பைடயிலான எ த ப தி
பாதி க ப ட ேகாடாக (code), பாதி க ப ட ேகா ைட(code) ர (run) ெச அ ல
நிைறேவ ெட ேக (test case) களி , ெரஃ ெர ஸி ெட ெசெல ஷ (regression
test selection) நா க ெச கிேறா , பி நா க ெரஃ ெர ஸி ெட (regression testing)
நட கிேறா , ரி ேபா (report) ம ரிெட ரிச (retest result) கைள எ கிேறா .

( ைல ைட : 05:54 ஐ பா க )

இ ேபா , ம ெறா கிய ெட (testing) தைல ஆ ெஜ ஓரிய ேட ெரா ரா


ெட (object oriented program testing) ெச ேவா . னதாக, அ த ஆ ெஜ ஓரிய ேட
ெரா ரா (object oriented program) அறி க ப தி ேளா . நா க ந ல
ேரா ரா மி (programing) நைட ைறகைள பி ப றினா , ப (bugs) க இ வா க
ைறவாக இ , உதாரணமாக, இ ேஹரி ட (integration)
இ காபி ல (encapsulation) ம பல. ஆ ெஜ ஓரிய ேட ெரா ரா (object oriented
program) யி ப ேவ அ ச க , அைவ மிக ச ேரா ரா மி (programming)
கா ெச (concepts) களாக அறிய ப கி றன, ேம அைவ ப (bugs) ரி (reuse ) யி
வா கைள ைற கி றன, ெடெவல ெம எபிேபா (development effort) க

232
ைற க படலா ம அேத ேநர தி அைவ ப (bugs) யி வா கைள ைற க
எதி பா க ப கி றன, ஆனா நா உ ைமயி ெட (testing) ைய சமாளி க இ ேபா
க ெகா ள ஆ சரியமாக இ கிற . அைவ திய வைக ப (bugs) ைய அறி க ப தின,
அைவ ேரா றா ேகா 9procedural code) நீ க அறி தி கவி ைல, எனேவ,
ஆ ெஜ ஓரிய ேட ேகா (object oriented code) ேவ ெட (testing) ேதைவ.
ஆ ெஜ ஓரிய ேட ேகா (object oriented code)களி ேரா றா
ேரா ரா மி (programing) காக நா க பய ப திய அேத ெட நி (techniques) கைள
பய ப த யா , நம ேவ ெட ரா டஜி (testing strategies) ேதைவ.

( ைல ைட : 07:26 ஐ பா க )

இைத பா ேபா , ஆனா இத ன நா விவாதி த ெரஃ ெர ஸி ெட (regression


testing) ஒ சிறிய யி (quiz) ைய ெகா வ ேவா . எனேவ, ேக வி எ னெவ றா
ெரஃ ெர ஸி ெட (regression testing) எ ப னி (unit), இ ெடகிரஷ (integration)
அ ல சி ட ெட (system testing) ெபா மா?ெரஃ ெர ஸி ெட (regression
testing) எ ப னி ெட (unit testing) , இ ெடகிரஷ ெட (integration testing)
அ ல சி ட ெட (system testing) ெபா த ய ,இ ெட (testing) னி
ெட (unit testing) இ ெடகேரஷ ெட (integration testing) கான இ த
ெலவ (level) க ெபா . ம உ ைமயி ெரஃ ெர ஸி ெட (regression
testing) ஒ மா ப ட பரிமாண ைத ெகா ட ம எனேவ ெட (testing) , நா
ெரஃ ெர ஸி ெட (regression testing) ஒேர ஒ ெலவ (level) எ ெசா ல யா .
எனேவ, ெலவ (level) ஒ பரிமாண ம ெரஃ ெர ஸி ெட (regression testing)
ேவ ப ட பரிமாணமா ம அ ெட (testing) அைன ெலவ (level) களி
ெபா .

( ைல ைட : 08:24 ஐ பா க )

இ ேபா ெட (testing) ெச ேவா , ெட (testing) ஆ ெஜ ஓரிய ேட


சா ேவ (object oriented software) கைள எ வா ெட (test) ெச ேவா ? தயாரி க ப ட
ேட டா(data) ைய நீ க பா தா ; ஒ ெபா வான நி வன ெடெவல ெம (development)
அைம பி ெட (testing) ய சியி 50 சதவீத ைத பரிேசாதி , மீத ள 50 சதவீத
ெபசிபிேகஷ ைச (specification design), ேகா (coding) , ேகா க ஷ (coding

233
condition) ம ெட (testing) ேபா ற ெபரிய ய சி ெசலவழி பத கான கிய காரண
சா ேவ (software) களி தர ெட (testing) களி திறைம ஒ ெபரிய அள ஆ .
இ ேபா வா ைகயாள க மிக தர வா தவ களாக உ ளன . எனேவ, ஒ நி வன
ப (bugs) க நிைற த சா ேவ (software) கைள ெவளியி டா , வா ைகயாள கைள ம
அ த தயாரி நிராகரி க ேவ , ஆனா அ த நி வன திலி ெபா கைள வா க
மா டா க . எனேவ, ஒ ெவா அைம ெட (testing) கணிசமான ய சிைய
ெசலவழி கிற , அ த ழலி , ஆ ெஜ ஒரிஇ டஷ (object oriented) ெமாழிய ப ட .
ஆ ெஜ ஒரிஇ டஷ (object oriented) ஒ வரேவ க த க மா றமாக இ த . ஆர ப
ஆ களி அ ெட (testing) ய சிைய கணிசமாக ைற எ
எதி பா க ப கிற , ெசலவழி க ப 50 சதவிகித ய சிக 20-30 சதவிகித
எதி பா ைற க படலா , ஆனா பி ன நா யமாக க பி ஆ ெஜ (object)
, அ த ஆ ெஜ ஒரிஇ டஷ (object oriented) உ ைமயி சி கலா கிற ேம
ய சிைய ைற பைத விட அதிக ய சி ேதைவ படலா . நைட ைற ேரா ரா (program)
களி இ லாத ஆ ெஜ ஒரிஇ டஷ ெரா ரா (object oriented program) கைள ெட
(testing)ெச வத கான சவா க எ ன எ பைத பா ேபா . எனேவ, இ ேக திய சி க க ,
திய வைகயான ப (bugs) க ம பல .எனேவ, ேரா றா ேரா ரா மி
ெட (procedural program testing) களி இ லாத ஆ ெஜ ஒரிஇ டஷ
ேரா ரா (object oriented program) கைள ெட (testing) ெச வதி மிக க னமான
சவா க உ ளன.ெட (testing)யி னி (unit) எ ன எ ப த சவாலாக உ ள .
ேரா றா ேரா ரா மி (procedural program) களி க ெட (context)நீ க
நிைனவி ைவ தி தா , ஒ னி (unit) ஒ பி ஷ (function)அ ல ஒ
ெமா ேல(module) எ ெசா லியி ேதா .

( ைல ைட : 11:02 ஐ பா க )

எனேவ, ேரா றா ெரா ரா (procedural program) க , னி (unit)க ெட ெச ,


னி (unit) க ைமயாக ெட (testing)ெச ய ப வைர, இ ெடகிரஷ
ெட (integration testing) ல இ ெட பி எ ேறா (interface error) கைள நீ கி
இ ெடகிரஷ ெட (integration testing)g கவன ெச கிேறா . சி ட
ெட (system testing) ெச க , ஆனா ஒ ேரா ேற(procedure) யி அனாலஜி

234
(analogy ) ம ஒ ஆ ெஜ ேரா ரா (object program) ைய நீ க பா தா , னி (unit)
ேரா றா ேரா ரா மி (procedural program) யி ஒ பி ஷ (function) இ தா ,
ஆ ெஜ ஓரிய ேட ேரா ரா (object oriented program)களி ஒ னி ெட (unit
testing) ஒ ெம ெத (methods) யாக இ கலா , ஏெனனி ெம ெத (method) க
ெசய ப வத ஒ ததாக இ , ஆனா நா க பி ப ேபால, இ ைல, அ
சரியானத ல. ஆ ெஜ ஓரிய ேட (object oriented) , இ காபி ல (encapsulation) ,
இ ேஹரி ட (inheritance) , பாலிமா பிச (polymorphism), ைடனமி ைப (dynamic
binding) ஆகியவ றி ந ல அ ச கைள ஆரா வ , ெட (testing) களி உத கிற ,
ெட (testing) ய சியி அைவ ைற கி றன அ ல அைவ மிக சி கலானதாக
ஆ கி ெகா ள ேவ , ேம அதிக ய சி எ க ேவ ய ெட (testing) . அ த
விவகார ைத விசாரி ேபா , பி ன திய ெட (testing) ேப(debug) கைள ேட ேப
ெட (state based testing) ேதைவ எ ஆரா ேவா . பி ன , ெட காேவரா
அனாலிசி க ெட (test coverage analysis context) , ஆ ெஜ ஒரிஇ ெட
ேரா ரா மி (object oriented programing) க ெட (context)லி , ேம நா
கல ைரயா றிய இ ெடகிரஷ ரா டஜி (integration strategies) களி க எ ன
எ பைத பா ேபா . நைட ைற ேரா ரா மி க ெட (programing context)லி டா
ெடௗ (top-down) ம ப ேடா உ (bottom up) , இ த உ ைமயி ஹிரா சிக
(hierarchical) ைச (design) கைள ெதளிவான ைச (design)கைள இ ைல, ஏெனனி இ த
உ ைமயி ஆ ெஜ இ ெடெர ஷ (object orientation) கைள ம ஒ வ ெகா வ
உ ளன. எனேவ, நா ெவ ேவ இ ெடகிரஷ ரா டஜி (integration strategies) க
ேவ .

( ைல ைட : 13:09 ஐ பா க )

தலி இ ஒ மிக அ பைட ேக வியா .எ சரியான ஆ ெஜ ஒரிஇ ெட


ெரா ரா (object oriented program) ஆன னி ெட (unit testing)?ஏென றா எ ன
ெட (testing) அ பைட னி ெலவ ெட (unit level testing) ெச ய ேவ .
எனேவ, எ த னி (unit) அ ல சா ேவ (software) எம இ ெடேப ெட சி
(independency)ைய ெட (test) ெச ய ேவ ம பி ன வழ கமான நைட ைற
ேரா ரா (program) களி இ ெடகிரஷ ெட (integration testing) ெச ய ேவ .

235
னி (unit) ஒ பி ஷ (function) , ஆனா நா இ ேபா பா ேபா ,உ ைமயி
ெட (testing) அ பைட னி (unit) அ ல ஆ ெஜ ஒரிஇ ெட ெரா ரா (object
oriented program) க . அ ஸிேயா (axioms), ஆ ெஜ ஒரிஇ ெட ெரா ரா (object
oriented program) யி னி ெட (unit testing) ைறயி ெசய ப வ மிக சரியான
அ ல, இ த ைற அ பைடயாக ெகா ட எ ன எ பைத பா ேபா . உ ைமயி , இ த
ைற ெச வத கான அ பைடயான ைவ கரி (weyukar) எதி மைறயான
அ ஸிேயா (axioms) காரண எ கிற , இ தனி ப ட ைறகைள பரிேசாதி
எ தெவா அளவி ஒ கிளா (class)தி திகரமாக ெட (testing) ெச ய ப ட
எ பைத உ தி ெச ய யா எ கிற .

( ைல ைட : 14:48 ஐ பா க )

இ உ ைமயி எ னெவ பா ேபா . ஆைகயா , இ ேவய க (weyukar), ஆ ெஜ


ஒரிஇ ெட ெரா ரா (object oriented program) கான ெபா தமான னி கிளா (unit
class), நா அைன கிளா (class) கைள தனிைம ப தி ெட (testing) ெச பி ன
இ தியாக, அ த கிளா (class) கைள இ ெட ரா (integrate)ெச ய ேவ . எனேவ, ஏ
கிளா (class) க ெட (testing)ெச ய ேவ ம ெட (testing) கைள ஒ ந ல
னி (unit) ம பி ன இ ெடகிரஷ (integration) ெச ேவைல இ ைல? எனேவ பதி ,
நா ெவ மேன ைறக ேசாதி க எ றா , நா பல விஷய கைள சரியாக ெச யவி ைல .
ஒ , நா ப ேவ வைக ைறக இைடயி பகி ெகா இ த கிளா
(class)ப கைள ெகா ட . ைறகைள ேசாதி பத ல , கிளா (class) க ெபா வாக
ேட ெமாேட (state models) க இ பத லமாக ெட (test) ெச பா கவி ைல,
ஏென றா ஒ ெவா கிளா ேட டா(class data) கிளா (class) க ேட டா (data)ைவ
ேசமி ைவ கி றன. ஒ றி பி ட ேட ெமாேட (state model) யான , ஒ கிளா (class)
அ ல ஒ ஆ ெஜ (object)பல ேட (state) களி நில வதாக ,ஒ ேட (state) யி
ஒ ைறைய நா ெட (test) ெச பா தா , அ ஒ ேட (state)யி சரியாக ேவைல
ெச யலா , ஆனா கிளா (class) இ ேபா அ ேவைல ெச யா ேவ சில ேட (state)
க . எனேவ, நா கிளா (class) யி ேட ெமாேட (state models) க தி ெகா ள
ேவ ம ஆ ெஜ (object) கைள ப ேவ ேட (state) கைள எ வா க கிற
ம பி ன நா அ ைறக ெட (test) ெச ய ேவ . எனேவ, கிளா (class)

236
வரிஅ ேள(variable) க ல ைற இ ெடெர ஷ (integration) கைள ெட (test)ெச வ
ம ம லாம , கிளா (class) ெவ ேவ ேட (state)களி உ ள வழி ைறகைள ெட (test)
ெச பா க ேவ .

( ைல ைட : 17:04 ஐ பா க )

ெவயிக (Weyukar) அ கா ேபாசிஷ அ ஸிேயா இ (Anticomposition axiom) இ த


ேல மா (land mark) விைளவாக 1986 மீ சா ேவ (software) ெபாறியிய மீ IEEE
ரா ஸா ஷ ( Transaction) களி ேதா றினா . அவர அ ஸிேயா (axioms)
ேட ெம (statement) ஒ ெவா தனி ப ட ேரா ரா
(program)கா ேபாென (components) க ேபா மான ெட (testing) இ ைல
ேரா ரா (program) ெட (testing) ேபா மானதாக இ ைல. எனேவ, அவ
ேரா ரா (program) ேவைல ெச எ உ ைமயி உ தரவாத இ ைல எ தனி ப ட
கா ேபாென ெட (component testing) எ றா , எ கிறா . P ம q எ ப
கா ேபாென (components) க எ றா , p ஆன , மிக சி கலான ைறயி q இ
க ெட (context) ைய மா வத கான ஒ வா பாக இ தா , டபி (stub) உ ள
கா ேபாென (components) கைள ெட (test)ெச வத ல , அைவ p ம q உட
ெதாட ெகா ள வைர அவ கைள ஒ றாக ெட (test) ெச ய . எனேவ,
ஆ ெஜ ஒரிஇ ெட ெரா ரா (object oriented program) க கான இ த
இ ெட ெர ஒ பி அ ஸிேயா (interpretation of axioms) , ைறக
பரிேசாதி க ப வதா , அவ ைற இ ெடகிரஷ (integration) ெச வ எ ப சரியானதாக
இ கா எ பதா , நா கிளா (class)கைள னி ெலவ (unit level)ெட (test) ெச
கிளா (class) கைள இ ெடகிரஷ (integration) ெச ய ேவ .

( ைல ைட : 18:28 ஐ பா க )

எனேவ, ஆ ெஜ ஒரிஇ ெட ெரா ரா (object oriented program) க கிளா (class)


யி அ பைட னி கிளா (unit class) எ ப த கியமான . இ ேபா , ஆ ெஜ
ஒரிஇ ெட (object oriented)அ ச களி சில கியமான அ ச கைள கவனி ேபா , அைவ
ெட (testing) களி உதவ மா எ பைத காணலா அ ல சி க கைள உ வா கலா ,
இ ெட ெட ( hinder testing) கைள த கி றன. த நா
எஙேக ேலஷ (encapsulation) ெச ய ப வைத பா ேபா . நா அறி தி ப , ஒ றாக உ ள

237
ைறகளி ேட டா (data)ைவ ெகா ப . உ ைமயி இ ெடகிரஷ (integration)
ெச ய ப த ப (bugs) க ஒ ஆதாரமாக இ ைல, ஆனா அ ெட (testing) ஒ
தைடயாக இ கிற , ஏென றா அ , ஏெனனி , ஒ கிளா (class)யி தனி ப ட
வரிஅ ேள(variable) க ேநர யாக அ க யா , எனேவ ஒ ேடபிஜிேக (Debugger) அ
வ ேக(value) க க பி க க னமாகிவி பிைரேவ வைரபி (private variable) க
வ கி றன எ பதா , எ தெவா ைறக இ பி , இ த பிைரேவ வரிஅ ேள(private
variable) க அ கைல அ வத கான வழிக இ ைல எ பதா , ேநர யாக அ க
யா , எனேவ சி கலானதாகிற . எனேவ, இ த சி கைல எ வா கட க பல தீ க
சா திய , ஒ ேட ரி ேபா (state reporting) ைறக .

( ைல ைட : 19:59 ஐ பா க )

எனேவ, இ த பிைரேவ வைரபி (private variable) க ைறவான அளவிலான ஆ களி


மதி ைப ைக ைறயாக ஆ ெஜ அ ரி (object attributes) ஆ ெச ய அ ல ேரா ஒ பி
கெர ன (proof of corrections) சரியான ெட நி (techniques) கைள ப றிய உ ைமயி
வரிஅ ேள(variable)க கவனி காத ஒ கிளா (class) த ைறக இ கலா
கெர ன ெட நி (correctness techniques) ஆதார .

( ைல ைட : 20:36 ஐ பா க )

ஆனா மிக உ திெமாழி ைறயி ேட ரி ேபா ெம ெத (state reporting method) க


ம வழ கமாக இ எ சபி ல (encapsulation) ெச ய ப வ ெட ட (tester) களா
ைகயாள ப கிற , அைவ ேட ரி ேபா (state reporting) ைறகைள ெகா கி றன,
ேம அைவ சி க சி கைல தா , பிைரேவ வைரபி (private variables) .

( ைல ைட : 20:47 ஐ பா க )

இ ேபா , ஆ ெஜ ஒரிஇ ெட ெரா ரா (object oriented program) றி ேகா சா த


ம ெறா கிய அ ச ைத பா கலா . இ ேஹரி ட (inheritance), நா
இ ேஹரி ட (inheritance) கிய ந ைம ஒ எ ஒ கிளா (class)ெட (test)
ெச ய ப எ அத ச கிளா (sub class) திய அ ச கைள ேச க . எனேவ,
நா ேவைல ேகா (code) ரி (reuse)ேகா (code) எ அைன எ த ேவ
ெட (testing) ம எ த ப ட ேகா (code) . நா கிளா (class) வரிஅ ேள(variable) க

238
சில ைறகைள ேச கிேறா , ஆனா பி ன ேக வி இ உ ள , ஒ ைற ெடரிேவ
கிளா (derived class) ம இ ேஹரி ட கிளா (inheritance class) களி இ பல
வழி ைறகைள அ ெச ட கிளா (ancestor class) ெப ற ெடரிேவ கிளா (derived class) யி
ெட (test) ெச ய பட ேவ . அதி டவசமாக ம ரதி டவசமாக, இ ேஹரி ட
இ ேஹரிேட ெம ெத (inheritance inherited methods) கைள ரி ெட (re
testing)இ ேஹரிேட ெம ெத (inheritance method) ெச வ க டாயமா , விதிவில காக
அ ல. ஏென றா , அ பைட கிளா (class) யி ெட (test) ெச பா ைறக இைவ
தா , ஏென றா அைவ ேப கிளா (base class) யி அவ க இ ேஹரி ட
(inheritance) அளி தி கி றன, அைவ எ வா ெடரிேவ கிளா (derived class) யி மீ
மீ ெட (test) ெச ய ேவ ? அ த சி கைல ஆராயலா . எனேவ, இ ஒ ேப
கிளா ைல ரரி (base class library) அ க தின ம கிளா (class) க ம பல
ஹிரா சி (hierarchies)க ம வழி ைறக , அ ரி க (attribute) ஆகியவ ைற
மாணவ களிடமி ெப ெகா ளலா , பி ன மாணவ க ேம அ ரி (attribute)
ம ைறக ஆகியவ ைற ெபறலா . எனேவ, இ த சி ேற கிளா (children class) க
ம அதனா அ ரி (attribute) அைன . ரி ெட (re testing) அவசிய ஏென றா ச
கிளா (sub class) யி பய பா திய க ெட (context) காரணமாக, உ ைமயி
ஓ ெபற ேவ . எனேவ, அ த அ பைடயி ஆ கா ேபாசிஷ அ ஸிேயா (anti
composition axioms) , மீ .

( ைல ைட : 22:59 ஐ பா க )

திய உதாரண ல நா எ ன ெசா கிேறா எ பைத சில எ கா க ல பா ேபா .


ஆனா , ஒ ைற அ ப ெலவ (upper level) யிேலேய ஒ ப த ப பைத நீ க
க டா ேலாய ெலவ (lower level) யி நட ெகா வா க .

( ைல ைட : 23:30 ஐ பா க )

சில உதாரண கைள பா கலா . கிளா (class) ஒ ேகாடாக(code) இ த ேகா (code)


வ க ப கிற , இ த வரிஅ ேள(variable) x இ மதி ைப ெகா ட 200 ம
இ வ ட (invariant) அ ல ெர பீெரெம (requirement)வரிஅ ேள(variable) x
எ ெபா 100 ஐ விட அதிகமாக இ க ேவ , பி ன நா இ ேக பல ைறகைள
ெகா ேதா , கிளா ைச (class design) ெச ய ப ட வழி ம அவ க சரியாக

239
ேவைல ெச தி தா , அவ க அைனவ இ த மா ற ைத த க ைவ
ெகா டன , ஆனா பி ன சில ேராகிராம (programmer) அவ க கிளா (class) A ஏ
நீ ய ட , ேகா ைட(code) உ ைமயி அவ பா கவி ைல ேம இ அவ த
ைறைய அறி க ப தினா அவ m 1 ேதைவ, அ அவ வரிஅ ேள(variable) x யிலி
1 ஐ அைம கிறா . இ ேபா , B ஐ A எ ெட (extends) ப தா , ன
ேவைலெச கி ற த ைமயான , இ ேக. எனேவ, இ ஒ எளிய எ கா . ம ெறா
எ கா ைட நா பா கலா , ஒ கிளா (class) A இ ஒ ைற M 1ஆன ம ெறா
ைற m 2 ம m 2 கிளா (class) A. இ வ க ப கிற , எனேவ m 1 ம m 2 கிளா
(class) A ம m2இ வைரய க ப கிற mஎ அைழ க ப கிற . இ ேபா , கிளா
(class)B எ ெட (extends) A ஐ நீ கிற , ஆனா அ ைற B ஐ எ ெட
(extends) ள , இ ேபா m கிளா (class) B இ கிளா (class) க ெட (context)
அைழ க ப கிற

( ைல ைட : 25:30 ஐ பா க )

பி ன m இ இ ேஹ ெட (inherited) ெபற ப கிற , m ஐ அைழ கிேறா , கிளா (class)


பி(B ) கிளா (class) B இ ஆ ெஜ (object)கைள ெட (test)ெச ேபா இ
ெட (test) ெச ய ப ட , கிளா (class) B இ க ெட (context) அ கிளா
(class)எ அைழ க ப கிற . எனேவ, பாலிமா பிஸ (polymorphism) காரணமாக இ ேபா
அைழ க ப அைழ , ஒ டா (dot) பதிலாக B டா (dot) M 2 ஐ அைழ காம , m 2,
எனேவ m 2 உட ந றாக ேவைலெச த , ஆனா இ ேபா அேத m இ B டா (dot) m 2 ஐ
அைழ கிேறா , எனேவ அ பாலி (failure) யைட ம நி சயமாக, நா ைறயி ேபா
ஒ ைறைய வ றி (overriding) ஒ ைறைய வ றி ேப கிளா (overriding base class)
ேமல எ தி ேளா நி சயமாக ெவளி பைடயாக, நா ெட (test) ெச ய ேவ .
எனேவ, நா ெட (testing) ெச ய ேவ ம நா ெட (testing) ேவ .
வரரிட ேத ெம ெத (overridden method) இ ேஹரிேட ெம ெத (inherited method) க
ேவ .

( ைல ைட : 26:22 ஐ பா க )

எனேவ, ேப கிளா (base class) களி ெம ெத (method) க ெட


(testing)ெச ய ப வி டன எ ற உ ைமயான ந பி ைகயா ெடரிேவ கிளா (derived class)

240
யி ெட (test) ெச ய பட ேவ யதி ைல. ேப கிளா (base class) லி ெபற ப ட
அைன இ ேஹரிேட (inherited)கைள நா உ ைமயி ெட (test) ெச ய ேவ .
நா இ த அம வி ேநர ைத ஓ ெகா ேட இ கிேறா , அ த அம வி ஒ ஆ ெஜ
ஒரிஇ ெட ேரா ரா (object oriented program) எ வா ெட (test) ெச கிேறா எ பைத
ப றி ெதாட கல ைரயா ேவா . ந றி.

241
Software Testing

Dr.RAJIB MALL

Department of Computer Science and Engineering

IIT Kharagpur

Lectur-20- testing object oriented programs(cont)

சா ேவ ெட (software Testing)

ேபராசிரிய ரஜி மா

கணினி அறிவிய ம ெபாறியிய ைற

இ திய ெதாழி ப நி வன , கார

விரி ைர – 20 ெட ஆ ெஜ ஓரிய ேட ேரா ரா மி (ெதாட சி)

கட த அம களி , ஆ ெஜ ஒரிஇ ெட ெரா ரா ெட யி பல எதி பா க


உ ளன எ நிைன ேதா ,ஆ ெஜ ஒரிஇ ெட பார க யான மிக எளிைமயான
ெட ஆளாகிவி எ பதா , ஆ ெஜ ஒரிஇ டஷ மிக ந றாக அைம த
ரி சிபி களி காண ப கிற .

( ைல ைட : 00:40 ஐ பா க )

ஆனா ஆ ெஜ ஒரிஇ ெட ெச ய ப ட ேரா ரா களி அறி க ப த ப ட ப ேவ


அ ச கைள உ ைமயி க னமான தா வைத பா ப அ ல அவ க () திய

ெட ப க ப ேவ ெட ெட நி கைள ேகா கிற எ பைத நா க


க ேடா .

( ைல ைட : 01:28 ஐ பா க )

கைடசியாக நா எ ேப கிேறா எ பதிலி ெதாடரலா . இ ேஹரி ட ஆ ெஜ


ஒரிஇ ெட பார க ஒ தாரண தி கிய அ சமா , ேம ெடரிேவ கிளா
ேகா மீ பய ப த உத கிற . ேப கிளா ேகா தி பிய ட , ேகா ைட ெடரிேவ

242
கிளா களி மீ பய ப த ப கிற . எனேவ,()ேக வி எ னெவ றா ேப கிளா யி
ெம ெத ெட ெச ய ப தா எ ன ? எனேவ, அவ க மீ ெட ெச ய பட
ேவ எ றா , ெடரிேவ கிளா யி இ ேஹரிேட ம ப ெட ெச ய ெப றி க
ேவ .

( ைல ைட : 03:58 ஐ பா க )

கட த அம களி நா ெப ற இ ேஹரிேட ெம ெத கைள மீ ெட ப விதிவில காக


அ ல. எனேவ,ேப கிளா யி ந றாக ேவைல ெச தா , இ ேஹரிேட ெம ெத களி
சரியாக ேவைல ெச யா எ பதா உ தரவாதமளி க ப ட ெம ெத யிலி ெடரிேவ
கிளா க அைன ைத ெப றி க ேவ . எனேவ, இ உ க கிளா ஹிரா சி
எ றா , ஒ ேப கிளா உ ள , பி ன த நிைல ெடரிேவ கிளா களி திய ேட டா
ம ெம ெத க அறி க ப த ப பி ன இ த ைறகளி இர டா ெலவ
ெடரிேவ கிளா க ம பிற இ ேஹரிேட கிளா க இ தஅ பைட ம ட கிளா க ; லீ
ெலவ கிளா க அைன ைத மீ ெட க ேவ . ( ைல ைட : 03:13 ஐ பா க )

நீ க நிைனவி ைவ தி தா , ரி ெட (retesting )ேதைவ ப கிற எ பதா , திய


க ெட (context )யி பய பா ேதைவ ப கிற . திய கால க ெட (context ) யி , நா
எைத றி கி ேறா எ ப , ெடரிேவ கிளா (derived class )யி அறி க ப த ப திய
கிளா (class )வரிஅ ேள (variable )க இ கலா . ெடரிேவ கிளா (derived class )யி திய
ைறக இ கலா , ேம இ இ ேஹரி ேட (inherited )கைள பய ப திய
க ெட (context ) யா , எனேவ அைவ ெட (test ) ெச ய பட ேவ ம இ
ேவ கரி (weyukar 's )எதி மைற ஒ தியலிலி பி வ மா உ ள . எனேவ, அ ப ெலவ
(upper level )லி ஒ ைறயி சரியான நட ைத ைற ைற த ம ட தி ெசய ப எ
உ தரவாத இ ைல. நா ஒ உதாரண ைத காணலா , ஒ ேப கிளா (base Class )A எ ப
ஒ கிளா வரிஅ ேள (class variable ) x 100 மதி ஒ க ப , பி ன நா x இ
மதி ைப ைகயாள ய ைற m ஐ ெகா கிேறா , ஆனா மதி எ ேபா 100
அதிகமாக ைறைம சரியாக ேவைல ெச ேபா , அ எ ேபா 100 ஆக இ க
ேவ , ஆனா அ பி ன ஒ கிளா (class ) B நீ க ப டேபா , ஒ திய ைற
M1 அறி க ப த ப ட , ஆனா இ ேக ேரா ராம கிளா (class ) A ஐ கிளா (class ) B
நீ ய x எ ப 100 ஆக இ .. ஆைகயா , அவ x 1 எ ப 1 சமமாக

243
இ கிற , எனேவ m ஐ ஒ ைற சரியாக பணி ரி தா , அ பாயி (fail )யைட . எனேவ, m
1 ஐ இய கினா mஇ உ ளஒ ப (bug )ஏ ப கிற . எனேவ, எ ெட ெட (extended
)கிளா (class ) B இ இ ேக நா m ஐ ெட (test ) ெச யாவி டா , அ த ப (bug
)க பி க யா . இ ேக ம ெறா எ கா , இ ேக நா ஒ கிளா (class )ஏ(A )
ெகா ட , இ இர ைறக m1 ம m2 ம m, m2 ைறைய அைழ கிற
ம கிளா (class ) B எ ெட (extends ) A ஓேவரி (overrides )m2 ைற ஆ .

( ைல ைட : 05:46 ஐ பா க )

எனேவ, இ ேபா m ஆன கிளா (class) B இ க ெட (context)யி ஒ ைடனமி


ைப (dynamic binding) காரணமாக அைழ க ப வதா கிளா (class) B இ m2
அைழ க ப . கிளா (class) க ெட (context) A யி , m கிளா (class) B, m ஆ
இ ேஹரிேட (inherited) ெச ய ப டா , m , ஆனா m 2 கிளா (class) B இ m 2 உட
ைப (bind) ெச ய ப , எனேவ m கிளா (class) B. எனேவ, நா பல அ தள கைள
உ வா க , அதனா ேப கிளா (base class) யி சரியாக ேவைல ெச ைறயான
ெடரிேவ கிளா (derived class)யி சரியாக ேவைல ெச ய பாயி (fail) ஆகிற . ேப
கிளா (base class) யி ஒ ைற சரியாக ேவைல ெச கிறீ க , ஆனா பி ன எ ேடெட
ெடரிேவ (extended derived) ம ைற பாயி (fail) யைட தா சில ைறக நீ கேள
க டைம க ேவ ெமன நா உ கைள ேக ெகா கிேற , எனேவ, ைறக எ வா
ம பரிசீலைன ெச வ எ ப உ க ரி . தய ெச ய சி ெச க , நி சயமாக,
ஒ ெடரிேவ கிளா (derived class) யி ஒ ஓெவ றிடேட (overridden) ைற இ தா
ெவளி பைடயாக, ஓெவ றிடேட (overridden) ைற ெட ெச ய பட ேவ .

( ைல ைட : 07:27 ஐ பா க )

ெடரிேவ (derived)ம ஓெவ றிடேட (overridden) ைறயா அறி க ப திய சிறிய


மா ற க இ பி . எனேவ, நா ெடரிேவ கிளா (derived class) யி அைத பா தா , நா
அைன திய வழி ைறகைள ெட (test) ெச பா ப அவசிய . ஏென றா , இைவ
த ைறயாக ரி ெட ெட (re tested) ெச ய ப , ேம அைன இ ேஹரி ேட
ெம ெத (inherited method) க ெட (test) ெச ய பட ேவ , ஏெனனி இ த

244
இ ேஹரி ேட ெம ெத (inherited method)க , ெடரிேவ கிளா (derived class) யி
பய ப கிற .

( ைல ைட : 07:53 ஐ பா க )

ேம அைன ஓெவ றிடேட (overridden) ைறக , ரி ேடபிேன (redefined) ைறக


ெட (test) ெச ய பட ேவ . எனேவ, உ ைமயி எ னெவ றா , ஒ ெடரிேவ
கிளா (derived class) யி அைன ைறக ெட (test) ெச ய பட ேவ எ பதா .
எனேவ, ஆ ெஜ ஒரிஇ ெட (object oriented) , இ ஒ ெட (test) ைய ேநா வதா ,
இ ேஹரி ட (inheritance) ச ப த ப ட ெட (testing) யி ெட (test) ய சிைய
ைற பதி எ த பய இ ைல. இ ேபா , ெரஃ ெர ஸி ெட (regression test) எ ன?

( ைல ைட : 08:27 ஐ பா க )

ஒ கிளா ஹிரா கி(class hierarchy) யி இ தா , நா ஒ ைஹ ெலவ கிளா (high level


class) யி ஒ ைறைய மா றினா , நீ க ம ற கிளா (class) களி எ ன ெச ய ேவ ,
ைஹ ெலவ கிளா (high level class) ம அைத வி ெவளிேயற அ ல கிளா
ஹிரா கி(class hierarchy) ரிய கிளா (class)யி ஒ ெவா கிளா (class) யி அைன
கிளா ஹிரா கி(class hierarchy) ைறயி இேத ைறைய ெட (test) ெச ய ேவ ?
எனேவ, ரதி டவசமாக நா ஒ சிறிய மா ற ைத ெச தா , ஷா-அ ர (show address)
()எ ப இ த கிளா (class) களி இ ேஹரிேட (inherited) யாக ெகா ேப
கிளா (base class) யி ஒ ைற ஆ . இ ேபா , நா ஒ வி ண ப ைத உ வா கிய பி
கிேற , ேப கிளா (base class)யி இ த ைறைய நா மா ேவா . எனேவ, ேப
கிளா (base class) யி ந றாக ெட (test) ெச அைத அ ேகேய வி வி கிேறாமா?
இ ைல, ஹிரா கி(hierarchy) யி ஒ ெவா கிளா (class) யி இேத ைறைய நா
ெட (test) ெச ய ேவ .

( ைல ைட : 09:42 ஐ பா க )

ஒ ஆழமான கிளா ஹிரா கி(class hierarchy) ைற இ தா , நா நிைறய ெட


(testing)கைள ெச யலா . நா ெடரிேவ கிளா (derived class) யி நா ஒ ைற அ ல
இர ைறக அ ல சில ேட டா வரிஅ ேள(data variable) கைள ேச கலா , ஆனா
எ லா இ ேஹரிேட (inheritance) ைறக மீ ெட (test) ெச ய பட ேவ , ேம

245
பல பாஉ (faults) க ஒ ெகா அ க ஒ ேளாப வரிஅ ேள(global variable) க ,
இ ஒ நைட ைற ேரா ரா (program) ேபா ற , அதி நா ேளாப வரிஅ ேள(global
variable) க ம அைன ைறக அைவ ல ெதாட ெகா கி றன. ஆ த
ஹிரா கி(hierarchy) யி விஷய தி , இ காபி ல (Encapsulation) பலவீனமைடகிற . நா
ஒ ஆழமான கிளா ஹிரா கி(class hierarchy) ைறயாக இ தா தீ எ ன, ஒ
விஷய , ஆழமான கிளா ஹிரா கி (class hierarchy) ப க அறி க ப தலா ,
சா ேவ (software) ைற த ெரலியாபிலி (reliability) விைளவாக, ெட டபிளி (test ability)
ைற க ெச கிற ஏெனனி ெட (testing) பல ெட (test) பரிசீலி மிக உ ள
இ டலி (initialization) ம மற க ப ட ைறகைள விைளவி கலா . எனேவ, ஒ
வா நா கிளா ஹிரா கி(class hierarchy) தைரம டமா கலா , ஆனா அ அத
ெசா த பிர சைன உ ள . எனேவ, ஒ ஆழமான கிளா ஹிரா கி(class hierarchy) ைற
ந லத ல, ேம C ++ ேபா ற ெமாழியி மி ெள இ ேஹரி ட (multiple inheritance)
கைள ெகா தா , ெட (test) ெச ய பல க ெட (context) க இ கலா .

( ைல ைட : 11:53 ஐ பா க )

இ ேபா , அ ர (abstract)ம ெஜனிரி கிளா (generic class) க எ றா எ ன?


ேகா (code) ைறைய அதிகரி க உத வத காக ஆ ெஜ ஒரிஇ ெட ேரா ரா (object
oriented programming) களி வழ க ப ட அ ர கிளா (abstract class) க , ஆனா
பி ன நா பல வழிகளி அ ர கிளா (abstract class)ைய நீ க , எனேவ, ஒ
அ ர கிளா (abstract class) ைமயாக ெட (test) ெச ய பட இ ைல. எனேவ, நா
இ ைல, ஏெனனி அ ர கிளா (abstract class) ேநர யாக ெட (test) ெச ய பட
யாததா , அ உடன யாக தீ க பட யா , அத ெடரிேவ கிளா (derived class)
களா ம ேம நா ெட (test) ெச கிேறா , ஒ ெவா ைற நா ெடரிேவ
கிளா (derived class) ஒ ைற ெட (test) ெச வத கான ஒ ேக (case) உ ள . இ ேபா ,
பாலிமா பிைஸ (polymorphism)எ றா எ ன? இ ஆ ெஜ ஒரிஇ ெட
ேரா ரா மி (object oriented programming) யி ம ெறா கிய அ சமா . எனேவ,
பாலிமா பிஸ (polymorphism)

()எ ப ஆ ெஜ ஒரிஇ ெட ேரா ரா மி (object oriented programming) யி டா


ைப (static binding) அ ல ஒ ைடனமி ைப (dynamic binding) ஆ . எனேவ,

246
ஒ ெவா ேக (case) தனி ெட (testing)ேதைவ. ைற தப ச டா ைப (static
binding) ேதைவ.

( ைல ைட : 13:05 ஐ பா க )

அைத நா ெப (bind) ெச ய ய வழி ைறக எ னஎ நம ெதரி மா ? ஆனா ,


ைடனமி ைப (dynamic binding) விஷய தி பல கிளா (class) க ைறைய
பய ப தலா , பல கிளா (class)களி இ மா ேபா ைப (bind) ெச ய படலா , எனேவ
அைன ைப (bind)க க னமாக இ கலா , ஏெனனி கிளா (class)க ேம ப ேவ
ேராகிராம (programmer) களா நீ க படலா .

( ைல ைட : 13:41 ஐ பா க )

இ தஎ கா ைட பா க , கிளா (class) c S1, S2 ம S3 ைறக ஏ றஒ


ைற உ ள . எனேவ, நா S2, S3 ம S1 ெட (testing) ம இ ெடகிரஷ (integration)
இ தா , இ ெடகிரஷ (integration) ெட (testing) க னமாக உ ள . எனேவ, நா
ைடனமி ைப (dynamic binding) ைய ெட (test)ெச ய யா . எனேவ, நிைறய
கிளா (class)க கிளா (class) C, C வா ைகயாள க கான கிளா (class) ைய
வழ கிற , அைவ ெட (test) ெச ய ப இ ெட ரா (integrate) ெச ய படாவி டா , நா
ெட (testing) ெச ய யா . ஏென றா நம ெதரியாததா , ைப (binding)க
எ ன நட ? உதாரணமாக ஒ ேரா ரா (program) யி நிகழ ய அைன
ெப ெட சி(dependency) கைள க பி க ேகா அனாலிசி (code analysis)
டா அனாலிசி (static analysis) ம பய ப த யா .

( ைல ைட : 14:47 ஐ பா க )

பா க ெசா க , நா ஒ கிளா ெம ெப (class member) ராக இ கிேறா , பி ன


இ ேக ஒ ைறைய ைவ தி கிேறா , லிய (Boolean) க டண ெச வதாக
ெசா லலா . எனேவ, ெம ெப (member) ஒ இ திய கண , இ கிலா கண ,
ஐேரா பிய னிய கண அ ல ஜ பானிய கண அ ல ஏேத ேவ கண ைக
ெகா கலா , நா க ஒ விசா(visa) அ ைட, அெமரி க எ பிர கா (express card)
அ ல ெடபி கா (debit card) ல பண ெச தலா . ைறைம ேவலிேட (validate) ைற
()என அைழ க ப வ , தலி ெம ெப (member) க ெடரிேவ ெம ெப (derived member)

247
க ேகா ெம ெப (gold member) க , சி வ ெம ெப (silver member) ம சாதாரண
ெம ெப (member) ஆகியவ ட ெதாட ெகா ளலா எ பதா . எனேவ, தலி
ெம ெப (member) ெபா ேபா ெதாட ைடய ைப (binding) ஆ . இ ேபா , நா
பி ஷ ெம ெப (function member) டா (top) பண ெச தைல ேவலிேட (validate)
ைறயா . ெச ப யா க டண அ ைட உ ள கண கி இ த எ த க ட ப .
இ ேக 3 உ ளன ம இ ேக 5 உ ளன, பி ன 3 இ ேக உ ளன. எனேவ, நா ெட (test)
ெச ய 45 சா தியமான கா பிேனஷ (combination) ெட (test) ம நா இ ேக இ
பரேம ட (parameter) க ேவ ம அ ெட ேக (test case) க எ ணி ைக
தக .ஒ வா நா ேஜா வாரியாக ெட (testing) ய சி எ ஆகிற .

( ைல ைட : 16:16 ஐ பா க )

எனேவ, ைப -விேஸ ெட (pair-wise testing) காக நா இ வைரபட ைத எ தா .


எனேவ, இ ேபா ற ஒ கிளா ஹிரா கி(class hierarchy) இ தா , ஆ ெஜ (object) m
இ த இட தி ெபா தலா . எனேவ, அவ க க டாயமாக இ க , இ த ைறைய
எ தெவா ைறயி க ப த . எனேவ, எ ப ைப -விேஸ(pair-wise) யாக ெட
ேக (test case) க ெபற ? எனேவ, அைத ப றி சி தி பா க , ைப
-விேஸ(pair-wise) யான சில கால தி ேப ெட (test) ெச ய ப ட ப றி நா க
விவாதி ேதா , அேத ழைல பய ப த , நா இ அேத க ைத தா
கிேற , ைப -விேஸ(pair-wise) யான ெட ேக (test case) கைள ெப கிேற . ேவ
சி கலான , அ ரி (attribute) கைள நிர தரமாக ேசமி ைவ காத ெசய பா கைள
ேபால லா , கிளா அ ரி (class attribute) கைள நிர தரமாக ேசமி ைவ கிற , எனேவ
கிளா (class) கைள ஒ ேட (state)ஆக ெகா பைத க தி ெகா ளலா .

( ைல ைட : 17:10 ஐ பா க )

பா க . ஒ கிளா (class) யி ேட ெபஹவிேயா (state behavior) யி ேட


மாட (state model) ைய ஒ ேரா ல ேரா ரா (procedural program) றி க .
பி ஷனா (functional) அைழ அ ல ஒ ெசய பா ைட அைழ பத ல எ லா
அைழ ெசய ப ேவா , அைவ இ ெடகிரஷ (integration) கைள ெட (test)ெச யலா ,
ஆனா இ தலி , ஒ கிளா ெட (class test) களி ஒ னி (unit) ஆ , ேம ஒ
ைறைய ேவ ஒ ைறைய ெட (test) ெச வத ம ெறா ைறைய ெபற யாத எ லா

248
வழிகைள ெட (test) ெச பா க ேவ . கிளா (class)யி ெவ ேவ ேட (state)
களி இைத ெட (test) ெச ய ேவ , கிளா (class) யி ேட (state)க ஒ ேட
மாட (state model) களா ெகா க ப கி றன, இ ைறயான அைழ ைறகளி
எ வா ஆ ெஜ ேட (object state) மா கிற எ பைத றி பி கிற .

( ைல ைட : 18:34 ஐ பா க )

ஒ ைறைய ஒ ஆ ெஜ (object) றி ேபா , சில அ ரி (attribute)


மா ற படலா , ஆைகயா அ த ஆ ெஜ (object) அத ேட (state) ைய மா றலா ,
ஆைகயா , தலி நா ஒ கிளா (class) யி ேட மாட (state model) ம ேட
மாட (state model) ைய உ வா க ேவ எனேவ ெவ ேவ ேட (state) கைள
ஏ இவெள கிளா (equivalence class) ல உ வா க இ ட
வரிஅ ேள(instance variable) க மீ வைரய க ப கிற . எனேவ, ஒ ஆ ெஜ (object)
களி இ ட வரிஅ ேள (instance variable) க அைவ உ ைமயி ேட (state) கைள
வைரய கி றன ம நம ஒ இ ட வரிஅ ேள(instance variable) மதி 1, 2, 3 ஐ
எ ெகா ளலா எ வேதா , அ த ேக (case) யி நா ேட (state) க
இ ட வரிஅ ேள (instance variable) மதி 1அ ல 2அ ல 3ஆ . ஆைகயா , நா
ஏ இவெள கிளா கைள வ அேத நிைலயி இ ஏ களி வரிஅ ேள
க , ஏ இவெள கிளா (equivalence class) கைள வைரய கலா . எனேவ, நா
ஏ இவெள கிளா (equivalence class) கைள வைரய க ,அ கிளா (class) யி
ேட (state)கைள நி ணயி க உத கிற . ஒ ைற ேட மாட (state model) களி
ேஜ க ஸனி (Jacobson's) ஆ ெஜ ஒரிஇ ெட சா ேவ (object oriented software)
இ ஜினியரி அ ெவாேக (engineering advocate) க இ கிறா க , நா அைன ேட
ரா சிஷ (state transitions) கைள மைற க ேவ , ஒ ெவா ேட (state) யி
அைன ைறக ெட (test) ெச ய ேவ . எனேவ, ஒ ைற ைறகைள ெட
(test)ெச வ ேபாதா , எ லா ேட (state) க ட ப கி றன, ைச ெட
ேக (design test case) க அைன ேட ரா சிஷ (state transitions)
மைற கி றன, ஒ ெவா ேட (state)யி நா ைறக ெட (test) ெச ய ேவ .

( ைல ைட : 20:43 ஐ பா க )

249
எனேவ, இ ஒ ேட மாட (state model) யி ஒ எ கா . ெவ ேவ ேட (state)
கைள மா வத ல ேவ ேட (state) கைள ெபா வ அவசிய , பி ன ஒ ெவா
ேட (state)யி உ ள ைறகைள ைமயாக ெட (test) ெச ய ேவ . , ஆனா பி
ெள கிளா (multiple class) க ெட (test) ெச ய பட ேவ யி தா , ஒ ெவா
அத ெசா த ேட (state) மா .

( ைல ைட : 20:49 ஐ பா க )

ஒ ெவா கிளா (class) ைய எ வா ெச வ ? ப ேவ ேட (state) களி ெவ ேவ


ேட (state) களி ெவ ேவ சி க கைள ெகா ப மிக க னமான சி கலாக
உ ள , ஏென றா ஒ ெவா பிரிவி தனி ப ட ைறயி ஒ ெவா கிளா (class)
எ த விதமான வழி ைறக இ ைல. ெள கிளா (multiple class) க உ ளன நா ஒ
கிளா (class) ைறைய பய ப தி ம பிற ைறக தானாகேவ ெசய ப த ப கிற .
எனேவ, நா சா தியமானதாக இ க யா , அ த ேக (case) யி அைன சா தியமான
ேட (state)கைள றிவைள ப எளித ல. எனேவ, ேட க ேரா (state control) யி
இ பிட ஆ ெஜ ஒரிஇ ெட (object oriented)பய பா மீ
விநிேயாகி க ப கிற , ஒ ெவா கிளா (class) ெசா த ேட மாட (state model) யாக
உ ள , ஆனா ஒ கிளா (class) யி ைறைய நா க அைழ கிேறா , எனேவ அைன
கிளா (class) களி அைன ேட (state) கைள உ ளட கிய க ன .

( ைல ைட : 22:04 ஐ பா க )

ஆனா எ னெவ ப நா க டறி த ெட (test)கவேர அனாலிசி (coverage analysis) ,


ேரா றா ேரா ரா (procedural program) களி க ெட ெட (context test) கவேர
அனாலிசி (coverage analysis) ேட ெம கவேர (statement coverage) , க ஷ
கவேர (condition coverage) , பிெர கவேர (branch coverage), பா கவேர (path coverage)
ம பலவ றி ெதாட கி ெட (testing) கவேர (coverage) பல ச த ப க
அனாலிசி (analysis) கைள நா க க கிேறா .

( ைல ைட : 22:19 ஐ பா க )

ஆனா , ஆ ெஜ ஒரிஇ ெட ெரா ரா (object oriented program) களி விஷய தி அ த


ெட கவேர (test coverage) ெம ரி (metrics) இ பதா? எனேவ, இ ெட காேவரா

250
(testing coverage) ெம ரி (metric)அ த அளவீ ைட கண கி வத ல எ வா
ெட (testing) ெச ேளா எ பைத ெட (test) ெச பா பத நம உத கிற .
எனேவ, ெட கவேர (test coverage) ெம ரி (metric) எ ப ெபா வாக எ தைன எலிெம
ஒ பி இ ெடெர (element of interest) வைரய க ப கி றன எ பத அ பைடயி
வைரய க ப கிற , இ ெடெர எலிெம (interest element) ேட ெம
(statement)க இ கலா , பி ன நா க ேட ெம காேவரா (statement coverage)
ைவ தி கலா , இ ேடேற எலிெம (interest element) ஒ பிெர (branch) ஆக
இ கலா , பி நம பிெர கவேர (branch coverage)உ ள . ெவளி பைடயாக அைத நா
க தினா , ஆ ெஜ ஒரிஇ ெட ேரா ரா (object oriented program) கான ெம ரி (metric)
ஒ றி பி ட அளவிலான ெம ரி (metric) அ ல, ஏென றா ஒ ேட ெம (statement)
ஏ கனேவ அ பைட ெகா ைகயி க ெட (context) யி ஒ ைற ட ப தா ,
பி ன ெடரிேவ கிளா க ெட (derived class context) .

( ைல ைட : 23:36 ஐ பா க )

அைத மீ ெட (test) ெச ய ேவ . எனேவ, இ த ேட ெம (statement) ைய


உ ளட கிய , ேபாதிய ஆதாரம ற , ஏெனனி இ ேஹரி ட ஹிரா கி(inheritance
hierarchy) , ஹிரா கி (hierarchy)ெச ய பட ேவ ய ரிெட (retest) கைள
ெப றி பதா , ஒ ெவா ேட ெம (statement) ைய நிைறேவ ற ப வத ல
ஒ ைற ேட ெம (statement) ைய காேவரா (coverage), ேப கிளா (base class) யி
க ெட (context) ெபற ப ட கிளா (class) யி சரியாக ேவைல ெச
ேட ெம (statement) யி உ தரவாத இ ைல. இ மீ ெடரிேவ கிளா (derived
class) யி ெசய ப த பட ேவ , எனேவ, எளிய அறிவி உ ளட க ()ஆ ெஜ
ஒரிஇ ெட ேரா ரா (object oriented program) களி பி னணியி அ தம றதா .

( ைல ைட : 24:33 ஐ பா க )

எனேவ, ()ஆ ெஜ ஒரிஇ ெட ேரா ரா (object oriented program)களி


க ெட (context) யி சரியான அள ேகா எ ன? இைவ இ ஆரா சி களி பல
ப திக ெவளிேய வ கி றன, ஆனா பி னா ஆ ெஜ ஒரிஇ ெட ேரா ரா (object
oriented program)க கான ெபா தமான ெட கவேர ெம ரி (test coverage metric)
இ க எ பைத ப றிய நம ெசா த அ மான ைத நா க ெச ய . இ ேபா ,

251
ெட ேரா ரா டஜி(testing process strategies) எ ன ? ஆ ெஜ ஒரிஇ ெட
ேரா ரா (object oriented program)களி , ைறக மிக கியதாக இ , ஏெனனி
அைவ ஆ ெஜ ஒரிஇ ெட ேரா ரா (object oriented program)களி சிற பிய , நா
மிக கிய ைறகைள எ கிேறா , பி ன இ த இ ேஹரி ட (integrates) , பி ன
ெவ ேவ கிளா (class) களி ைற ஒ ைழ ம அேத கிளா (class) யி ைறக
கிய ம சி கலான ெட (testing) ைறகைள கிளா (class) அ ல
ரில (relation) க மா றியைம கிற , ஏென றா ைறக சி , சிறிய ைறக ,
ப (bugs) க கிளா ரில (class relation) களி அேஸாஸிேயஷ (association) ,
அஃகிேரக (aggregation) , இ ேஹரி ட (inheritance) ம பலவ றி ப (bugs) க
இ க வா அதிக இ ைல. இ த க ெட (context) யி நா ஒ ைச மாட (design
model) அத ைச மாட (design model) ைய ெட (test) ெச ய ேவ எ பதா ,
கிளா ரில (class relation) க ம பலவ ைற ைச மாட (design model) ைய
பய ப தி பிரதிநிதி வ ப த ப கி றன, எனேவ இ ேஹரி ட ேகா (inheritance
code) அ பைடயிலான ெட (testing) , ஹி ேட பா ெட (white box testing)
,ஆ ெஜ ஒரிஇ ெட ேரா ரா (object oriented program) க காக ைறவாக
றி பிட த க , மிக கியமான , ைச (design) அ பைடயிலான ெட (testing)
யான , ராய பா ெட (gray box testing) என அைழ க ப வ ஆ ெஜ ஒரிஇ ெட
ேரா ரா (object oriented program)மிக கியமான எ பதா , ப (bugs)க கிளா
ரில (class relation) களி இ பைத கா மிக அதிகமாக இ பதா , இ மாதிரி
பா ய(body) . இ ெடகிரஷ ெட (integration testing) எ றா எ ன? நீ க ஒ
ேரா றா ேரா ரா (Procedural program) நிைனவி இ தா , ைச ஹிரா கி (design
hierarchy) இ த , ெமா ேல(module) த ேபா ஹிரா கி(hierarchy) உ ளன ம நா
மிேஸ இ ெட ராஷ (mixed integration) ேடஜி (strategies)க டா ெடௗ ப ேடா (top
down bottom)அ பைடயாக ெகா டைவ.

( ைல ைட : 26:47 ஐ பா க )

ஆனா , ரதி டவசமாக, ஒ ஆ ெஜ ஒரிஇ ெட ேரா ரா (object oriented program)


ைச ஹிரா கி(design hierarchy) அ ல. ஆ ெஜ (object) கைள மிக
ஆ பி டரி(arbitrary) வழிகளி ெதாட ெகா கி றன. இ ெடகிரஷ ெட

252
டெரஜி (integration testing strategies) க நா திேர (thread) அ பைடயிலான
இ ெடகிரஷ (integration) ேவ ப ட . எனேவ, ஒ நிக வி பதிலளி க ேவ ய
கிளா (class) கைள நா க இ ெடகிரஷ (integration) ெச கிேறா . ஒ ைற ஒ
கிளா (class) யி அைழ க ப வேதா பிற கிளா (class) ைறக அைழ க பட ேவ .
எனேவ, நா அவ கைள இ ெட ரா (integrate) ெச ய ேவ , இ தேர
(thread)அ பைடயிலான ெட (testing) என அைழ க ப கிற அ ல பய பா
அ பைடயிலான ெட (testing) என ப ைற பய ப த ப கிற ைறகளி எ ன
கிளா (class)க ப ேக க ேவ எ நா கிளா (class) க இ ெடகிரஷ (integration)
ெச ய ேவ பி ன அ த கிள ட ெட (cluster testing) . எனேவ, ஒ ைழ
ப ேவ கிளா (class) க தலி இ ெடகிறேத(integrate) ெச ய ப கி றன, இ
இ ெடகிரஷ ட ேடஜி (integration strategies) க ட நைட ைற ேரா ரா (program)
களி இ ேவ ப டைவ. எனேவ, நா இ ேகேய நி தி வி ேவா . ந றி.

253
SOFTWARE TESTING
Tamil

Translated by
Name Institute

Dr.E.Golden Julie Regional campus,Anna University,Tirunelveli

swayam.gov.in/NPTEL nptel.ac.in

You might also like