Professional Documents
Culture Documents
Software Testing Tamil
Software Testing Tamil
Week 1
1 அறி க 3
3 அ பைட ேசாதைனக 26
5 னி ெட 52
Week 2
8 கா பிேனஷனா ெட 89
9 ேப ைவ ெட 104
10 ெவ ைள ெப ெட 117
Week 3
11 MC / DC ெட 135
13 பா ெட 158
Week 4
17 சி ட ெட (testing) 207
18 ெரஃகெறஷ ெட 219
1
20 ெட ஆ ெஜ ஓரிய ேட ேரா ரா மி (ப தி 2) 242
2
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
Lectur-01 -Introduction
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
விரி ைர - 01 அறி க
( ைல ைட : 00:26 ஐ பா க )
(SlideTime ஐ பா க : 00:51)
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)
( ைல ைட : 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) ஆகா .
( ைல ைட : 06:27 ஐ பா க )
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)
6
( ைல ைட : 09:39 ஐ பா க )
( ைல ைட : 11:42)
7
ேரா ரா (program) ஓ (output)அவர எதி பா ெபா தவி ைல எ றா ,
ேரா ரா (program) ெபலி (faliures)எ நிைன ெகா கிேறா
( ைல ைட : 12:57 ஐ பா க )
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) தலியன அேத ேநர தி ேவைல ெச ய நிைறய
ெதாட சியான நடவ ைகக ல நப களி எ ணி ைக க ப த ப ள ,
9
( ைல ேநர ைத பா க : 18:13)
( ைல ைட : 19:42)
10
பி ன மாதிரியி வா ட பா மாட (water fall model) ைல ைச கி (life cycle) ப
ஆர ப தி ெச கிறா க .ஆனா பி ைதய ெடெவல ெம (development) ைறக ,
உதாரணமாக னிஃைப மாட (unified model), அ ல அகி மாட (agile model),
ெடெவல ெம ைச கி (development cycle) அைன ேம பர கிற , ேம வள சியி
பைழய V மாட (model)) யான ட ைல ைச கி (life cycle)ைய பரவலா கிற . எனேவ,
ெட (testing)க ைல ைச கி (life cycle) களா வைரய க ப வத ல ,
ஏதாவ ெவா அ ல ம றவ ட பிஸியாக(busy) இ பேதா சா ேவ
(software) ேப அ பல ப த ப கி ற .
( ைல ைட : 22:45 பா க )
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 ஐ பா க )
12
ஆ , ஆனா சரிபா மாறாக, ெவரிபிேகஷ (verification)எ ப சா ேவ
(software)ேதைவைய ைமயான ெர றிெயெம டா ெம ( requirement
document)உ தி ப கிறதா எ பைத தீ மானி ெசய ஆ .
( ைல ைட : 26:16 ஐ பா க )
13
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
( ைல ைட : 00:35 ஐ பா க )
( ைல ைட : 00:48 ஐ பா க )
( ைல ைட : 01:11 ஐ பா க )
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)
15
ெச தா , ெவ ேவ னி (unit) கைள, இ ெட ராஷ (integration) ெச ேபா
அைவ அைன சரியானதாக இ கா . உதாரணமாக,
()
16
பாயி (fail) ஆ ம இைவ ைப ேர(failure) ைய ரி ேரஷ ப (regression bugs)
ஆ .
( ைல ைட : 06:21 ஐ பா க )
( ைல ைட : 07:32)
17
ேம ெகா ள ப கிற . அேதசமய ேகா (code) அ பைடயி , னி ெட (unit testing)
ேம ெகா ள ப கிற . ம ைம ெடன (maintenance) ேபா ெரஃ ெர ஸி
ெட (regression testing) ேம ெகா ள ப கிற . இ ேவ ேசாதைனகளி ப ேவ
நிைலக .
( ைல ைட : 08:27)
( ைல ைட : 09:47 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 16:27)
20
இ ேபா னி ெட (unit testing), ேம விவர கைள நி சயமாக பி ன பா கலா ,
ஆனா ப ேவ ெதா திகலி எைவெய லா னி ெட (unit test) ெச ய ப டனேவா
அைவ இ ெடகேரஷ (integration) ெச ய ப டன, பிற ம ப
இ ெடகேரஷ (integration), னி (unit) ெதாட ெசய ப கிறதா இ ைலயா என
ேசாதி பா க ப கிற . நீ க ேபா , இ ெட பி (interface bugs) க
காரணமாக அைவ ேவைல ெச யா , பி ன நா ஒஇ ெடகேரஷ (integration)
தி ட கைள ப றி விவாதி ேபா , அேதா , எ த ெமா (modules)
இ ெடகேரஷ (integration) ெச யபடேவ எ ெச ேவா .
( ைல ைட : 17:15)
21
உ வா க க ெச தா , , இ தியி ேசாதைனயி நா ெபரிய பிர சைனகைள ச தி ேபா ,
().
19:27 ஐ பா க )
( ைல ைட : 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 ஐ பா க )
( ைல ைட : 22:20 ஐ பா க )
23
உ அபிலி ைய(usability) ெச கி றன . ேம அவ களி சில பீ டா ெட (beta test)
ேபா ெவா களாக(volunteer) இ கலா .
( ைல ைட : 23:1(tester)6)
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 அ பைட ேசாதைனக
( ைல ைட : 00:46 ஐ பா க )
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 )சி ெவ ேவ வைக என க தி ெகா ளலா
( ைல ைட : 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)
( ைல ைட : 05:57 ஐ பா க )
28
ெர பீெரெம (requirement) , ைச (design) ம ேகா (coding) ேபா
ெவரிஃபிேகஷ (verification) நைடெப . அைன பா (phases)களி
ெவரிஃபிேகஷ (verification) ெச ய ைதய நிைல ஒ ேபாகலாமா எ ற ஆ க
ேம ெகா ள ப கி றன.
( ைல ைட : 06:25 ஐ பா க )
(SlideTime: 07:46)
( ைல ைட : 07:57)
29
ெட பிளா (development test plan) ெச உ ள . ெட ேக (test cases)க
ெடெவல ெம (development) ைச (design) பரல (parallel)ெச யப ளன.
( ைல ைட : 08:42 ஐ பா க )
( ைல ைட : 09:56 ஐ பா க )
( ைல ைட : 10:11 ஐ பா க )
30
வலிட தி (validation)காக தி டமி வைத ஏ கனேவ வலி தி ேளா . ெட
அசி வி (testing activities) , அதாவ ; பிளானி (planning) ம ெட (testing)ைல
ைச கி ( life cycle) வ பர . ஒ ெவா ெடலிவரி ெட (delivery testing)
ெச ய ப கிற ; அ இ இ (intuitive) ம பய ப த எளிதான .
( ைல ைட : 10:48 ஐ பா க )
31
( ைல ைட : 12:49)
(SlideTime ஐ பா க : 14:05)
( ைல ைட : 14:18)
32
()அத
( ைல ைட : 16:22)
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)
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 ஐ பா க )
( ைல ைட : 24:21)
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 ஐ பா க )
37
ேரா ரா (program) எலிெம (elements) இய கிய அறி ைகயாக இ கலா , இ
ெபசிபி க ஷ (specific condition) அ ல றி பி ட நிைலயி இ கலா அ ல
ேதா றமளி அ ல இ கலா , அதனா ஒ ெட சிறிெதரி (testing criterion)
சரிபா க , ஒ அறி ைகயிைன சரிபா , அத ேக ப இ கலா . ேம ,
ேரா ரா (program) எலிெம (element) ெர யி ெம (requirement) வைகக கவ (cover)
ெச ய ப இ கி றனவா எ பைத நா க சரிபா கிேறா . எனேவ இ நம ெட
க ஷ (testing condition)ைய றி கிற , நா கி ற எ லா
ேட ெம ேயா(statement) அ ல க ஷ ேயா(conditions) கவ (cover) ெச வ நா
இல எ பைத சரிபா கிேறா . ஆனா ஒ சில பாஉ (faults) அ பைடயிலான ெட நி
(techniques) இ பைத நா றி பி ேள . எனேவ, இ த அம ைவ நி திவி ,அ த
விவாத தி நா க விவாத ைத ெதாடர ேவா . ந றி.
38
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
( ைல ைட : 00:53 ஐ பா க )
39
அளவி கிேறா , ெர பீெர எலிெம (requirement elements) ேதைவயான
எ ணி ைகைய கவ (cover)ெச உ ளதா எ பைத சரிபா க . எனேவ, இைவகாேவர
ேப ெட (coverage based testing) என அைழ க ப கி றன, என டா ெக
எலிெம (target elements) கவ (cover) ெச யப கி றன எ பைத உ தி ப த ய சி
ெச கிேறா . ம ற , நா க சில பாஉ (faults) அ பைடயிலான ெட (test) கைள
ைவ தி கிேறா , அ நா க உ ைமயிேலேய கவேர (coverage) ெச யவி ைல, ஆனா
இைவகளா சில வைகயான (bugs)க ெட (test)ெச ய ப நீ க ப டன எ பைத
அ பல ப த ய சி கி றன.
( ைல ைட : 01:58 ஐ பா க )
( ைல ைட : 03:07 ஐ பா க )
40
எ ப இ (input) ெச ய ேவ ய சா ேவ (software) ேட (state) ; ம ஓ(o)
எதி பா க ப கிற ஓ (output) .
( ைல ைட : 03:29 ஐ பா க )
( ைல ைட : 04:56 ஐ பா க )
41
(படவி ைலேநர ைத பா க : 05:29)
( ைல ைட : 06:52 ஐ பா க )
42
ெடவல ப (developer) வழ க ப கிற ; அவ க அைத பி (fix) ெச ய ய சி பா க ,
ேம அவ க பி ேட ட (fix status) ைய எ வா க .
( ைல ைட : 08:06)
43
( ைல ைட : 10:02 ஐ பா க )
( ைல ைட : 11:05 ஐ பா க )
( ைல ைட : 11:24)
( ைல ைட : 11:34 ஐ பா க )
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)
45
)யி எ ேமஷ (estimation) உ ள ம ெட (testing)எ தைன நா க நைடெப
எ எதி பா க ப கிற எ பைத நி பி க . எனேவ, இ ெட (testing) ெதாட
உ வா க ப ஒ ெபா வான ெட பிளா(test plan) ஆ .
( ைல ைட : 14:43)
46
பிெர னிசி(features)யி பய ப கிறா க எ பைத ெபா ெட (test) ெச கிேறா .
உ ைமயி , உேஷ (users) அைத பய ப வத ஒ பி ேற (features)ைய அதிக
எபிேபா (effort) ெச வ ந ல .
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)
48
நா ெட ெட நி (testing techniques two) ேநர ெகா க ேவ ம
இ தியாக,ெட ெட நி ரீ((testing techniques three) மிக ைற த ேநர ேநர
ெசலவிட ேவ .
( ைல ைட : 20:50 ஐ பா க )
49
ேநர ைத அ த மா ேல (module)ெட (test) ெச ய ேவ , நா அைன
ெமா (module)கைள ஒேர மாதிரி ேநர தி ெட (test) ெச ய ேநர ெசலவிட டா .
( ைல ைட : 23:36 ஐ பா க )
( ைல ைட : 23:52)
50
ெசலவழி கவி ைல, நா ஒ ைமயான சி ட ெட (system testing) ெச கிேறா .
ஒ ெவா , நா ஒ ெட (test) ெச கிேறா , ஒ ைப ேர (failure) க டறி , பி ன
பாலி (failure)ஏ ப கி ற சில (bugs)க உ ளன. இ ெபா ,இ த விஷய ைத
பா க, ேகா (code) ப லாயிர கண கான அ ல ஐ ப ஆயிர ேகா க (code) வரிக
இ கலா , ேம அ த வழியாக நா எ காவ (bugs) உ ளதா என க பி க
ய சி கிேறாேமா எ பா க ேவ ..
( ைல ைடைவ கா க: 25:11)
51
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
விரி ைர - 05 னி ெட
( ைல ைட : 00:29)
( ைல ைட : 00:48 ஐ பா க )
52
பி(stub) , அ (function) உைடய ெபஹவிேயாைர(behavior) சி ேல(simulate)
ெச கிற எ ப இ எ த படவி ைல ல கிைட கவி ைல.
( ைல ைட : 02:09 ஐ பா க )
( ைல ைட : 02:58 ஐ பா க )
53
அசி வி யா(verification activity),அத பதி , உநி ெட (unit testing) அ ல ஒ
ெவரிஃபிேகஷ அசி வி (verification activity) இ ; அ ஒ வலிட தி
அசி வி (validation activity) அ ல, ஏெனனி வலிட தி (validation) எ ப ைமயான
சி ட (system) பணி கைள நா க ெட (test) ெச வ கிேறா . அேத சமய
ெரயிெறெம ெபசிபிேகஷ (requirement specification) , உநி ெட (unit testing)களி ,
ைச காக(design), (function)கைள அ ல னி (unit)ஒ ைற ம ேம நா க
ெட (testing) ெச கிேறா .
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 ஐ பா க )
( ைல ைட : 07:01)
55
டா டா ெடாைம (data domain). எனேவ, ேட டா ெடாைம (data domain)யி அைன
எலிெம க (element)ட ெட (test) , மிக க னமாக இ ; அ ம ம லாம ,
அ எ ெகா , னி (unit) ெள பரேம ட (multiple parameter) எ கலா ,
ஒ ெவா பரேம ட (parameter) அத டா டா ைப (data space) ெகா ; ேம ,
நா பரிேசாதி ேபா , ஒ ெவா பரேம ட (parameter)வி எ க ப ட டா டா
வ க (data values) ம பரிசீலி க ேவ , ஆனா , ெவ ேவ பரேம ட (parameter)
களி ெவ ேவ கா பிேனஷ (combinations)கைள சரிபா க ேவ .
( ைல ைட : 09:00 ஐ பா க )
56
இ த ேட டா வ ேக(data value) , 2128 ஐ ெட (test) ெச தா , எ வள ேநர எ
எ பைத எ கள ஆ வ தி காக சரிபா கேபா . 10 வினா க எ தா , அ மிக ேவகமாக,
ஒ ெவா வ ேக(value) , பயி ஒ பி வ ேக(pair of value) , அைத அைன
வ (value)கைள உ ளிட பி லிய ஆ க எ .
( ைல ைட : 11:42)
57
ெச கிேறா . எனேவ, இ ேக கிய ேயாசைன. இ ேபா , அைத அ பைடயாக ெகா ,
எ ப ெட ேக (test case)ைய ைச (design) ெச வ எ பைத பா கலா .
( ைல ேநர : 12:39)
( ைல ைட : 13:02)
( ைல ைட : 13:14 ஐ பா க )
58
காேச-எபிபி ெட (Cause-effect testing), கா பிேனஷனா ெட (Combinatorial testing)
ஆ ேதாகன ஆரா ெட (orthogonal array testing )ம பல. இ த
ெட நி (techniques) ைய பா கலா .
( ைல ைட : 14:19 ஐ பா க )
( ைல ைட : 14:26)
59
யவி ைல. எனேவ, அ யாவி டா , அ உ ைமயி ேவ விஷய , ேவ யாராவ
ேரெச ேவ(reserve) ெச ய ப தா அைத ெச ய யா . எனேவ, அ ஒ
ேசனைரேயா(scenario ) ஆ .
(SlideTime ஐ பா க : 17:56)
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)
( ைல ைட : 20:19)
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)
62
ஐேஸா ெல (isosceles), காலீ (scalene) ம ஏ யிேலற (equilateral), ஒ
ேகாண அ ல. எனேவ, எ ப ெட ேக ைச (test case design) ெச ய ேவ ?
( ைல ைட : 23:21 ஐ பா க )
( ைல ைட : 24:29)
( ைல ைட : 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
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
( ைல ைட : 00:29)
( ைல ைட : 00:50)
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)
( ைல ைட : 02:09 ஐ பா க )
66
class) ெகா ; ஒ அ ஒ (odd )எ ேனா அ ஈெவ (even) எ ேனா
எ ப .
( ைல ைட : 03:26)
( ைல ைட : 03:51)
( ைல ைட : 04:21 ஐ பா க )
67
ம ஒ ைற ெவா ேம(volume) இ எ க ஏ இவெள கிளா (equivalence class)
களாக உ ளன..
(SlideTime ஐ பா க : 05:37)
68
ப தி ேகா (code) ம ஒ பி (suffix) வழ க ப கிற . ப தி ேகா (code) 11 த 999
வைர, ம பி (suffix) எ த 6 ஜி க (digit). எனேவ, இவளி ஏ இவெள
கிளா (invalid equivalence class) எ னவாக இ ? பி ன இவளி ஏ இவெள
கிளா களி (invalid equivalence class) ெதா எ ன? ஏெனனி இ த ெவ ேவ வைகயான
இ வாலி ஏ இவெள கிளா (invalid equivalence class )க உ ளன.
( ைல ைட : 08:37)
(இ ேபா ைல ைட : 09:27)
69
பரேம ட (parameter) வய ம க வி ஆ க எ ஒ (function)
நம உ ள . எனேவ, க வியி ஆ க , நா இ த பரேம ட (parameter)
ஏ வாள கிளா (equivalence class)இ பைத அைடயாள கா ேவா ; க வி
ஆ களி ப ளி, ஜி(UG), பி.ஜி(PG) அ ல ஏேதா ப ளி ட இ ைல பி.ஜி(PG) இ ைல இ
ஒ உ ள . எனேவ, அவ ப ளியி த தி வா த ஜி(UG), அ ல பி.ஜி(PG) த தி
உ ளதா எ பைத கா பி ப , ம ற ஆ ஸி(axis) 5 த 30 வைரயிலான வய ைடயவராக
இ பவ , அ த நப 5 த 30 வய வைர அ ல 30 அதிகமானவராக இ பாரா
எ பைத கா கிற . இ த இர பரேம ட க (parameter) ெவ ேவ ஏ வாள
கிளா (equivalence class) .
( ைல ைட : 12:25 ஐ பா க )
70
( ைல ைட : 13:00 பா க )
( ைல ைட : 13:42)
71
வா , எனேவ ஒ ெவா ஒ ஏ இவெள கிளா (equivalence classes) மா . எனேவ, 0
த 15 நா க , 15 த 180 நா க , 180 த 1ஆ ம 1வ ட ,3ஆ க
ைறவாக, 3 ஆ க ம அத ேம . ஒ ெவா ேசனைரேயா(scenario) ம
ஒ ெவா ேநராக ேனா கி ஏ இவெள கிளா (equivalence classes) மா .
( ைல ைட : 16:12 ஐ பா க )
72
robust ) ம ேரா ஏ இவெள கிளா ெட (strong equivalence class test)
ெச கிேறாமா எ பைத ஏ இவெள கிளா ெட ( equivalence class tests)ெபா
இ . நா ம ெச ய ேவ எனி அ ல நா ெவசா ஏ இவெள கிளா
ெட (weak equivalence class test)ெச ய வி பினா ம ேம, இ த பிரி சிபா (principal) 1
ல ச ம 2 ல ச க விகைள க தி ெகா ேவா , பி ன இ த இர செசநாரீ (
scenarios)1 த 3ஆ ம 3ஆ க ம ேமேல.
73
ம பல இ க . பி ன அ த கா பிேனஷ (combinations) நா பரிசீலி க
ேவ , பிரி சிபா (principal) ம ெடபாசி (deposit) ெதாைக கான
பிரி சிபா (principal) ம ெநக வ ேக(negative value) ெடபாசி (deposit) கால ம
ெநக வ ேக(negative value) ஒ ெநக பிரி சிபா (negative principal) ன 1வ ட
ம அத அ ததாக இ . இேதேபா , ஒ நா இ ேட வ ேக(integer value) ;
எனேவ, இர பரேம ட (parameter) க எளிய விஷய தி ேரா ஏ இவெள கிளா
ெட (strong equivalence classes test) இ , ஆனா நா மிக சி கலான
எ கா க இ க .
( ைல ைட : 22:50 ஐ பா க )
( ைல ைட : 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 ஐ பா க )
75
வ ேக(special value)க ஆ . ஒ ெட ட (testers)களா ேரா ரா (program)
பாயி (fail)யைட அ த வ ேக(value)கைள ம ேம ைழ இட தி ெதரி
ெகா வத ஒ ெட (test) ைய நா ெச ெகா கிேறா எ கிேறா . எனேவ
அ த ெபஷ வ ேக(special value) நா ந கிேரா இ க ேராகிராம (programmer)
மி ேக(mistake) ெச தா எ றா அ ஒ ெபஷ வ ேக ெட (special value testing )
எனப . இ ேபா இ த அம கைள நா க நி ேவா ம அ த அம களி
ெபஷ வ ேக (ெட special value testing ) ெதாட . ந றி.
76
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
விரி ைர - 07 ெபஷ வ ேக ெட
77
ெடாைம (input domain)க மாட (model) ெச ய ேவ ; இ த பரேம ட (parameter)
க இ ெடேப ெட மாக(independent) இ தா , இர பரேம ட (parameter) க
ஏ இவெள கிளா களி (equivalence class )அைன சா தியமான
கா பிேனஷ (combinations) க தி ெகா ள ேவ .
( ைல ைட : 02:08)
( ைல ைட : 02: 11)
(ெட டா ைட : 02:11)
78
ெபௗ டரி வ ேக(boundary value) ைய ெட (test) ெச ய ேவ ய அவசிய ,
ஏென றா அ ேக இ ெபரிய (bugs)க உ ளன.
( ைல ைட : 04:45 ஐ பா க )
79
ேகா சிெடேரஷ (special consideration) , இ ேரா ராமரிட (programmers)
ஏ இவெள கிளா (equivalence class ) ெபௗ டரிகளி (boundary) ேதைவ ப கிற ,
ேம நா எ க ேவ அவ அைத கவனி வ தாரா எ பைத ெதரி ெகா ள
ேவ .
( ைல ேநர ைத பா க : 05:59)
( ைல ைட : 06:14 ஐ பா க )
( ைல ைட : 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 ஐ பா க )
( ைல ைட : 09:59 ஐ பா க )
81
றி பி வ எ னெவ றா இ ேக ெபௗ டரி(boundary) கைள விட அதிகமாக இ
ேததிக . ைமன (minus) 3 ப றி, எ ன 101 ப றி, எனேவ இ ெட (test) ெச ய ேவ .
( ைல ைட : 10:49 ஐ பா க )
( ைல ைட : 11:25 ஐ பா க )
( ைல ைட : 11:53 ஐ பா க )
( ைல ைட : 12:32)
82
ஊழிய க அைன வய எ ,ம சராசரி வய . ஊழிய க கான சரியான வய 1
அ ல 100 ஆக இ கலா அ ல 18, 1 த 100 வைர இ கலா என நிைன கலா .
இ ேபா இ ெபௗ டரி வ ேக ெட ேக (boundary value test case) எ ன, எ தைன
ெட ேக (test case)க ேதைவ ப ?
( ைல ைட : 13:41)
( ைல ைட : 14:55 ஐ பா க )
( ைல ைட : 15:03 ஐ பா க )
83
வய உ ள . நா இ ெடேப ெட சி(independency) யாக சி தி தா , நா க வியி
ஆ க 5 ம 5 வயதி ேதைவ. ஆைகயா , நம 10 ெட ேக (test case) க
ேதைவ பட ேவ , அத கான பிரதிநிதி நம ேதைவ. நா இைத ேத ெத கலா , இ
இ வ ெபா , எனேவ, இ த ஏ இவெள னசி கிளா (equivalence classes)
பிரதிநிதிைய நா க தி ெகா டா 11 ேதைவ ப .
( ைல ைட : 16:22 ஐ பா க )
( ைல ைட : 17:19 ஐ பா க )
( ைல ேநர : 17:46)
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)
( ைல ைட : 20:15 ஐ பா க )
85
( ைல ைட : 20:42 பா க ).
( ைல ைட : 21:25)
86
ெசா ஷ (solution) கா பி . எனேவ இத ஏ இவெள கிளா (equivalence classes
)க எ னவாக இ ? அைத நீ க நிைன தா , நா க ேசனரிேயா (scenarios )
க வ ம ேசனரிேயா (scenarios ) எ னவாக இ எ நா க றிேனா ;
ேசனரிேயா (scenarios ) (root) ஒ ேகா ஸிெட (coincident root) எ
இ .
87
இ 3 ஏ இவெள கிளா ( equivalence class)க உ ளன, அைவ கா ெல (complex) ,
ேகா ஸிெட (coincident) ம னி (unique) .
88
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
இ த அம வரேவ கிேறா . நா க பிளா பா ெட ெட நி (black box testing
techniques) ப றி ைதய அம க விவாதி த .
( ைல ைட : 00:43 ஐ பா க )
ேம இர கிய பிளா பா ெட ெட நி (black box testing techniques) கைள
நா க பா ேதா , அைவ ஏ இவெள கிளா ெட (equivalence class testing ) ம
ெபஷ வ ேக ெட (special value testing) ஆ . இ ேபா ெகா பினேடாரி ெட
(Combinatorial Testing) ஒ ைற பா ேபா , இ ம ெறா பிளா பா ெட
ெட நி (black box testing techniques) .
( ைல ைட : 00:48 ஐ பா க )
89
testing) , பரேம ட (parameter) க எ ேபா , நா ெட ேக (test case)கைள
ைச (design) ெச வதி பி ல (difficulty) இ . சில ேநர களி , நா
ரிச (result)கைள பாதி எ விரா ெம ட காணபி ராஷ (environmental
configurations) உ ளன, உதாரணமாக, நா எ பிய ெமாேடயி (expert mode) ஒ
ேரா ரா (program) அைம க ேவ , அ ல ஒ ேநாவி (novice) ைற, அ ல மா ேட
(moderate) ைறயி எனேவ இ த எ விரா ெம ட காணபி ராஷ (environmental
configurations) உ ளன ேரா ரா (program) வி தியாசமாக ெசய ப கிற .
ேம சில ேநர களி , நா பல லிய க ஷ (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 பா க )
( ைல ைட : 04:52 ஐ பா க )
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)
(SlideTime: 07:12)
92
இ . எனேவ, இ ேக றி பி ட கா பிேனஷ (combinations) ெபா , இ த
அ கைள(actions) நா க கா பி ேபா .
( ைல ைட : 08:21 ஐ பா க )
ம இைத அ பைடயாக ெகா , ஒ , பி, சி மதி க , நா ெட ேக க(test
case)ைள ெகா கலா . ம ெடஸிஸி ேடபி (decision table)யிலி
எதி பா க ப (output) ெகா கிேறா , எனேவ ஒ ெவா ெரௗ (rows)
ஒ ெவா ஒ ெட ேக (test case) .
( ைல ைட : 08:44 ஐ பா க )
( ைல ைட : 09:22 ஐ பா க )
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 ஐ பா க )
94
ேவ . தய ெச இைத ய சி க , ஆனா இத ெசா ஷ (solution) கா பத
நா அ மதி கிேற , இதனா நீ க எ க பதி ட சரிபா க .
( ைல ைட : 12:44)
( ைல ைட : 13:00 ஐ பா க )
95
உ ைமயி விதி ைறக கவைல இ ைல; ஒ ெடாெம பிைல (domestic flights ) , ம
அத ெக கா (ticket cost) 3000 ைறவாக உ ள , அ ஹலஃ-பி (half-full)
அ ல இ ைலயா எ பைத சரிபா க நா உ ைமயி கவைல பட ேவ யதி ைல.
இேதேபா , இ ேக, இைத சரிபா க , ஹலஃ-பி (half-full) ேம , 3000 அதிகமான,
ம இ ஒ ெடாெம பிைல (domestic flights ) அ ல இ ைலெய றா , நா க
ேச ேவ (serve)ெச யமா ேடா , எனேவ இ த இர ெட ேக க(test case)ைள
கா பிேன(combine) ெச சி க (single) ஒ ஆகிற .
( ைல ைட : 15:23)
(ேநர :16:26).
( ைல ைட : 16:27 ஐ பா க )
எனேவ, நா அைத ஆ ைமஸி(optimize) ம நா நா ெட ேக (test case)க
க பி கிேறா .
( ைல ைட : 16:34)
96
க ஷ (combinations of condition) கைள நா இழ க ேநரி . ெடஸிஸி ேடபி (decision
table) ைய உ வா அேத சமய தி இர ஆ ஷ க (action) ஒேர
கா பிேனஷ யாக(combinations) இ பைத உ தி ெச ய ேவ , எனேவ அேத
கா பிேனஷ (combinations) யான இர ெவ ேவ ெட ேக (test case)களி
ரிச (result) இ க , பி ன எ களி ெடஸிஸி ேடபி ைய (decision table)
வ வைம பதி ஏேதா தவ இ .
( ைல ைட : 17:15 பா க ).
( ைல ைட : 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)
கா கிற .
98
எ னெவ றா , அ 10 சதவீத , 15 சதவீத , 5 சதவீத அ ல 0 சதவிகித ஆ . ேம
ஷி பி (shipping) இலவச . எனேவ, இத கான ெடஸிஸி ேடபி (decision table)அைம க ,
ம ெட ேக (test case)கைள அைம க .
( ைல ைட : 21:37 ஐ பா க )
99
( ைல ைட : 23:38)
( ைல ைட : 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) ெச .
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)களி
உ ைமயி 250 ஐ வ வைம கிேறா , எனேவ நா 50 இ பரேம ட (input parameter)
கைள ேவா , ஒ ெவா இர வ (value) எ . ெட (testing) யி
எ ணி ைக 2 பவ 50 2 எனி ேதைவ ப கிற .
102
ராபி (causes and the effects graphing ) , நா க அைன இ கா பிேனஷ (input
combinations) ைய க தி ெகா . இ நா அவ கைள ப றி சி தி க மா ேடா .
அ த விரி ைரயி ைப -விேஸ ெட (pair-wise testing) ப றி நா விவாதி ேபா . ந றி.
103
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
Lectur-09–pair-wise Testing
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
(SlideTime ஐ பா க : 00:58)
104
உ ளன, ஒ ெவா பரேம ட (parameter) ஒ லிய (Boolean) அ ல பல
வா (values)கைள எ . இ த வ ேராசிேஸா (word processor) யி ேபா
ெச (font setting) ைய பா கலா .
( ைல ைட : 01:30)
105
அைன கா பிேனஷ க (combinations) உ ைமயி ெட (test)ெச ய யா . 1
கிேற (screen) ைய சரிபா பத காக, இ த மி லிய அதிக சா தியமான
கா பிேனஷ (combinations) இய ெட ட (testers) களா உ ைமயி யா . எனேவ,
மா எ ன?
( ைல ைட : 04:34 ஐ பா க )
(SlideTime ஐ பா க : 05:44)
106
ெகா எ த 3 பரேம ட (parameter) க (அ ல ) றி பி ட பரேம ட 9parameter) அ ல
2 பரேம ட (parameter) க சில றி பி ட பரேம ட (parameter) எ ெகா ளலா அ ல
ஒ ைற பரேம ட வா(parameter)க இ கலா ,
( ைல ைட : 07:31)
107
values) க தி ெகா ள ேவ , ஆனா நா ைபர -விேஷ வா (pair-wise values)
க தி ம இ தா , சா தியமான அைன ைபர -விேஷ வா (pair-wise values) க
பி ன ெட ேக (test case)க 10 அ ல 12 ஆக இ கலா . இ த க னமான ேரா ேல
(problem)ைய ெதரி ெகா ள எ க ெதரியா , ஆனா நம (tools)க
கிைட கி றன, நம மிக எளிைமயான சிறிய (tools)களாக இ கி றான, அவ ைற
ர (run) ப ண ,க பி க ,அ ைபர -விேஷ ெட ேக (pair-wise test case)க ஆ
ைபர ெட ேக (all pair test cases).
108
ஒ ெவா றி காக ேக க (case) இ பி , நா க உ ைமயி டேடேம
(statement)சிலவ ைற ம க தி ெகா டா
( ைல ைட : 12:16)
( ைல ைட : 13:19 ஐ பா க )
109
ஆ வி ஒ ெவா ெட (test) ெச ய பட ேவ , 21-ஆ ைபர -விேஷ ெட
ேக (pair-wise test case)க 21 ஆ .
( ைல ைட : 15:46 ஐ பா க )
110
faults))கைள நா க தி ெகா டா 80-90 சதவிகித ேரா ேல (problem) அைடயாள
காண ப பா க , 3-வழி அ ல 4-வழிைய க தி ெகா க , த ேபா இ
ஒ ெவா (bugs) , ம ெட ேக (test case)களி எ ணி ைக ைற க ப .
( ைல ைட : 17:48 ஐ பா க )
( ைல ைட : 18:51)
111
( ைல ைட : 19:20)
( ைல ைட : 19:24)
( ைல ைட : 21:11)
112
சிறியதாகேவா இ கலா அ ல நா ம (normal) அ ல ஒரிஇ டஷ (orientation) இ
லா ேக (landscape )அ ல ேபா ைர (portrait )எனேவ, இ த ஒ றி பி ட ெதாைலேபசி
ெதா அ ரா (Android) கான ேகாணபி ரா (configured) ஆ .
( ைல ைட : 23:20)
113
நா க க கிேறா . இதி மிக அதிகமானைவ எைவ எைவ எ க கிறீ க எ பைத ,
அ த 1 ம அத அ த ஏ பா ெச ேவா . எனேவ, இ த ேடபி (table)ைய இ
வ ேவ(input value)க ம சீரைம கலா , ேலபி ேமா கா நயி (left most column) மிக
அதிக மதி ள வ ேவ(value)க உ ளன. எனேவ, இ ேக ஒ ைமயான ெட (test)ைய 2
ஆ 3 ெட ேக (test case) களி 2 ஆக க ப , ஆனா நா ைபர -விேஷ ெட
ேக (pair-wise test case) உ வா கி விடலா , இ மிக ைறவாக இ .
( ைல ைட : 24:43)
( ைல ேநர ைத றி பி க: 25:04)
( ைல ைட : 25:59 ஐ பா க )
114
அ த ப யிேலேய நா றாவ பரேம ட (parameter) ைவ எ ெகா ேவா , நா
QWERTY, 12 கி(key) QWERTY, 12 கி(key) , தலியவ ைற எ ேவா , பி ன நா இ ேக அதிக
வரிஅ ேளக (variable) ேச கலா , ஆனா நா ெச ய ேவ ய உ தி.
( ைல ைட : 26:12 ஐ பா க )
( ைல ைட : 00:58 ஐ பா க )
( ைல ைட : 27:29 ஐ பா க )
115
இ தியாக, ளிேக ெட ேக (duplicate test cases) க இ கலா , நா
எ ணி ைகைய ைற க ய சி கிேறா . எனேவ, இ ெட ேக (test case) கைள
உ வா ஒ ம அ லி (manually)அ ேகாரித (algorithm) ஆ .
( ைல ைட : 27:48 ஐ பா க )
116
ெம ெபா ேசாதைன ேபராசிரிய ரஜி மா கணினி அறிவிய ம ெபாறியிய ைற இ திய
ெதாழி ப நி வன , கார விரி ைர - 10 ெவ ைள ெப ெட
( ைல ைட : 00:40 ஐ பா க )
( ைல ைட : 01:23)
117
ஆனைவ என உ தி ெச ய ேவ என உ தி ப த ேவ . அதனா ேரா ரா (program)
எலிெம ெடஸிஸி (elements) ெட (testing) ல கவ (cover) ெச ய ப கிற .
பாஉ (fault) அ பைடயிலான ெட (testing) எனி , சில றி பி ட வைக பிலா (fault)கைள
க பி பத கான ெட ேக (test case)கைள நா க ைச (design)ெச கிேறா ,
உதாரணமாக, ஒ வரிஅ ேள(variable) வரிஅ ேள(variable) வைக பிலா (fault) ஆன ,இ (int)
ஐ float அ ல float ஐ இ (int) ெச ய ப கிற . எனேவ, அ த விஷய க ஒ காக
க டறிய ப டதா என சரிபா க பாஉ (fault) அ பைடயான ெட ெட நி (testing
techniques)கைள நா க பய ப கிேறா .
( ைல ைட : 02:55 ஐ பா க )
( ைல ைட : 03:12 ஐ பா க )
( ைல ைட : 03:35 ஐ பா க )
118
ைவ ெகா ேவா , ஹி ேட பா ெட (white-box testing) தவி க படலா எ
நா க றலாமா? அ ல நா ஒ ைமயான ஹி ேட பா ெட ((white-box testing)
ெச தா , பிளா பா ெட (black-box testing) தவி க படலா எ ெசா லலாமா?
நா க இ ைல எ ெசா னா , இ வ ெச ய ேவ எ றா , நா க சரியான
காரண ைத ெகா க ேவ , நீ க பிளா -பா ெட (black-box testing) ைய
ெச யாவி டா , இ த வைகயான ேரா ேல (problem)கைள நீ க இழ க ேநரி
எ பத கான சரியான சா .
119
எ னெவ நம ெதரியா , ஏெனனி இ வ ேக(input value)க மிக ெபரிய , சில
ேசனைரேயா(scenario )அ ல ஏேத ெர யி ெம க (requirements) ப றி எ த ப டா ,
உ ைமயி அ த இ வ ேக(input value)க ெட (test) ெச ய யா , ேம
ராஜ க (Trojans) எ வா இ பெலெம (implement) ெச யலா எ பைத
காணலா . றி பி ட இ வ ேக(input value)க ெகா க ப ட ேபா ம ேம
ேரா ரா ம (programmers) ேகாைட(code) எ ேபா அ த ேகா (code) ேவைல ெச கிற
ம சில ேட டா(data) ெவளிேய ம பலவ ைற அ ப . எனேவ, பிளா -பா
ெட (black box testing)கைள பய ப தி, ேகா (code) ேராஜா (Trojans) க உ ளதா
எ பைத சரிபா க இயலா .
( ைல ைட : 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) ேபா றைவ.
( ைல ைட : 09:03)
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 ஐ பா க )
( ைல ைட : 11:28)
( ைல ைட : 11:40 ஐ பா க )
122
எனேவ, இ ஒ ெவ ேக (weaker. ) ம கா ளிெம டரி (complimentary ) க .
( ைல ைட : 11:51 ஐ பா க )
( ைல ைட : 13:08 ஐ பா க )
( ைல ைட : 13:31)
123
ெதரியவி ைல. ேம ேட ெம காேவர (statement coverage) வி
ேரா ேல (problem) ட ஒ ேட ெம (statement) இ பைத உ தி ப வதா , ஒ
இ (input) உ தரவாத அளி கா ; ம ற இ க (input) அ ேவைல ெச , ஆனா
ைற தப ச நீ க அ த ேட ெம (statement) ைற த ஒ சில
இ க(input) ந ல ேவைல ெச .
( ைல ைட : 14:18)
( ைல ைட : 14:59 பா க )
124
நா எ ப ெச வ எ நா அரிய(array) ப தலா , அரிய(array) யி உ ள
எலிெம க (elements), ெட நி (techniques)களி ஒ ஏ வா (equal)
எ ணி ைகயிலான ேட ெம க (statement) உ ளன. ேட ெம (statement) கவிரா
(coverage)சரிபா க பல வழிக இ க ேவ .ம ஒ றி பி ட
ேட ெம (statement) கவ (cover)ெச ய ப ேபா ெசய ப த ப , நா இ ேக
ஒ ேட ெம (statement) ேச க ேவ அரிய(array) யி ெதாட ைடய
வரிஅ ேள(variable) அைம க ேவ .
( ைல ைட : 17:40 ஐ பா க )
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)
( ைல ைட : 19:47 பா க ).
126
( ைல ைட : 20:51)
( ைல ைட : 21:28)
( ைல ைட : 22:25 ஐ பா க )
127
எனேவ நா ரா (branch) அ காேம (outcomes) நா ெபறலா , நா சா தியமான
ரா (branch) அ காேம (outcomes) , எ தைன ேபைர ெபா எ தி கிேறா
எ பைத ெபா , எனேவ இ 4, 25 சதவீத அ ல 2 ஆ 4 ஆக இ கலா - 50
சதவிகித , அ ல 75 சதவிகித அ ல 100 சதவிகித .
( ைல ைட : 23:10 பா க )
128
( ைல ைட : 24:53)
( ைல ைட : 26:10 ஐ பா க )
( ைல ைட : 26:38 ஐ பா க )
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)
( ைல ைட : 28:14 ஐ பா க )
(SlideTime ஐ பா க : 29:03)
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)
(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 ஐ பா க )
(SlideTime: 33:12)
132
க சி (condition)களா எ க ப ட (true)வ ேக(value)யான விெட பய
(divided by) 2 அ பைட க சி (condition) க வ க ப .
( ைல ைட : 34:19 ஐ பா க )
( ைல ைட : 35:02 ஐ பா க )
133
ரதி டவசமாக, பல எ பிரஸி (expression)களி உ ள கா பிேனஷ (combination)களி
க ஷ (condition)களி எ ணி ைக அதிகமா ேபா , பல பய பா களி இ தைகய
எ பிரஸி (expression) ஏ ப கிற , எ கா டாக, எ ெப ேட ெகா ேறா
அ ளிேகஷ (embedded control applications) . நா 20 அ ல 25 வரிஅ ேளக
(variable)ச ப த ப ட க ஷ எ பிரஸி (condition expression) ைய ெகா கலா .
அ த ேக (case)யி , 220 ெட ேக (test case)க மிக அதிக . எனேவ, அ த சி அ
(situation )ைய நா எ வா ைகயா வ ?
ந றி.
134
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
விரி ைர – 11 MC / DC ெட
( ைல ைட : 00:36 பா க )
135
அதிகமான , b 50 ைறவான , தலியன இ த ெட (testing) ; ேபசி க ஷ
ெட (basic condition testing) .
136
coverage)? ேபசி க சி காேவர (basic condition coverage) ெவ பைத உ தி ெச ய
ேவ ய அவசிய இ ைல.
( ைல ைட : 05:11 ஐ பா க )
( ைல ைட : 07:09 ஐ பா க )
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 ஐ பா க )
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) ேபா றைவ.
( ைல ைட : 11:39 ஐ பா க )
139
கா பிெள (compiler) உ ைமயி அ ேபா ற மதி பீ எனேவ, ேதைவ ப ெட ேக (test
case)க எ ணி ைக ைறவாக இ க ேவ ம எ க ஊக க மிக எளிய
இ தன அைத ேபால கா பிெள (compiler) மதி பீ ெச யவி ைல.
( ைல ைட : 14:39 ஐ பா க )
140
எனேவ, எ க கவேர (true) அ ல பா (false) எ இ கலா . நா இ த கா பிெள
(compiler)ெகா ெகா ச ெபா ேவ , ஏெனனி அ பய ப த யா .
( ைல ைட : 16:29 ஐ பா க )
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 ஐ பா க )
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 ஐ பா க )
144
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
Lectur-12- MC / DC Testing(Contd.)
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
145
(multiple condition coverage)ெட ைய நா அைட பா கலா . எனேவ, அ எ சி சி(MC
DC) ெட (testing) ப றி. எ .சி. .சி ெட (MCDC testing)களி ஈ ப வைத பா ேபா .
( ைல ைட : 01:44 ஐ பா க )
146
எ றா , மிக எளிதி எளிைமயான ெட ெட நி (testing techniques) , ஆனா மிக
பலவீனமான ெட (testing) . ேம , ேட ெம காேவரா (statement coverage) ைய விட
பலவீனமானவ க .
( ைல ைட : 04:14 ஐ பா க )
( ைல ைட : 04:51 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 08:11 ஐ பா க )
148
ெச ய படவி ைல. த ெடஸிஸி (decision) அ பைடயி ெடஸிஸி கண கிட ப கிற .
எனேவ, இ த ஷா சிர இ (short circuit) மதி பீ ஆ ; க ைபல (compiler)களா
ஏ ெகா ள ப ட ஷா சிர இ (short circuit) மதி பீ ெட நி (techniques) சில.
( ைல ைட : 08:49 ஐ பா க )
( ைல ைட : 09:11 ஐ பா க )
( ைல ைட : 09:59 ஐ பா க )
149
அைடயலா . இ ேக இ த கா ெபௗ க ஷ (compound condition)யி அ டாமி
க ஷ (atomic condition)க A = 0 அ ல B> 5, C <100. அ (true)யான ம
பா (false) யான மதி கைள அைட தா , ம றவ க நிைலயான (true) மதி க
நட கிறா க . ேம ,இ த (true) ம பா (false) மதி உ ைமயி பிெர அ
க (branch out come) கைள தீ மானி கிற . நா உ தி ெச ய ேவ . எனேவ, இ எ வா
ெச ய ப கிற எ பைத பா ேபா , ேம இ ெட (testing) ைறகைள எ ப
வ வைம ப எ பைத பா ேபா .
( ைல ைட : 11:17 பா க )
( ைல ைட : 11:44 ஐ பா க )
150
ேம , இ த அ டாமி க ஷ (atomic condition), கா ெபௗ க ஷ (compound
condition) அ ல ெடஸிஸி (decision) விைளைவ தீ மானி .
( ைல ைட : 13:03 ஐ பா க )
( ைல ைட : 13:44 ஐ பா க )
( ைல ைட : 14:17 பா க )
151
இர டாவ ஒ (true) யான ம பா (false) யான மதி எ க ேவ , றாவ
ஒ (true)யான ம பா (false) யான மதி எ க ேவ .
( ைல ைட : 14:42 ஐ பா க )
( ைல ைட : 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 ஐ பா க )
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 ஐ பா க )
154
ஆ . ேம , ெடஸிஸி (decision) Togles. இேதேபா சி 1 ஆ . 2. எனேவ நம
எ சி சி(MCDC) ெட ேக (test case) 1, 2, 3, 4 ம 7ஆ . இத எ சி சி ெட
ேக (test case) கைள வ வைம க .
( ைல ைட : 22:55 ஐ பா க )
( ைல ைட : 24:13 ஐ பா க )
( ைல ைட : 24:35 ஐ பா க )
155
ைச (test size) ஒ ந ல சமநிைலைய அ வழ கிற எ றி ேளா . எனேவ, இ
பரவலாக பய ப த ப கிற ம பல ெட டா ட (test standard)
க டாய ப த ப கிற .
( ைல ைட : 25:20 ஐ பா க )
( ைல ைட : 25:47 ஐ பா க )
( ைல ைட : 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 ஐ பா க )
( ைல ைட : 27:19 ஐ பா க )
157
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
விரி ைர – 13 பா ெட
( ைல ைட : 00:25 ஐ பா க )
( ைல ைட : 00:26 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 03:01 ஐ பா க ).
159
யிலி ம ெறா றிலி க ேரா (control) ைறைமைய மா றினா நா ஒ எ (edge)
ைய வைரய ேவ .
( ைல ைட : 03:20 ஐ பா க )
( ைல ைட : 02:28 ஐ பா க )
( ைல ைட : 03:41 ஐ பா க )
( ைல ைட : 04:51 ஐ பா க )
160
தய க இ ைல ெதளிவி ைம இ ைல நா ஒ எ (edge) 1 த 2 வைர வைரய
ேவ . இ ேபா , ெசல ஷ (selection) ட இ ேக க னமாக இ ைல.
( ைல ைட : 05:16 ஐ பா க )
161
ஆனா CFG இ க ேரா (control) இ லாத ஒ ேனா (node) யிலி நா எ (edge) யி
இ கிேறா . இ ேபா , ஒ பா (path) யி வைரயைறைய பா ேபா .
( ைல ைட : 07:59 ஐ பா க )
( ைல ைட : 08:39 ஐ பா க )
( ைல ைட : 09:03 ஐ பா க )
162
இ ெடெப ெட (linearly independent) அைம பா (path) கைள நா கவர(cover)
ேவ . எனேவ, pn p1இ தா , ஒ பா (path).
( ைல ைட : 10:17 ஐ பா க )
( ைல ைட : 12:47 ஐ பா க )
163
எனேவ, எதாவ பா (path) அறி க ப ேரா ரா வழியாக எ த பா (path) ஒ திய
எ (edge)யி ம ற இ ெடெப ெட பா (independent path) யி ேச க படவி ைல, அ
ஒ இ ெடெப ெட பா (independent path) யாக அைழ க ப .
( ைல ைட : 13:02 ஐ பா க )
( ைல ைட : 13:54 ஐ பா க )
164
( ைல ைட : 15:33 ஐ பா க )
( ைல ைட : 16:27 ஐ பா க )
165
ஸீ (sequence) யி இ த எ சரியாக கண கிட ப டா , e - n + 2 கண கிட பட
ேவ .
( ைல ைட : 17:18 ஐ பா க )
( ைல ைட : 17:52 ஐ பா க )
( ைல ைட : 17:58 ஐ பா க )
166
metric)நி ணயி ம ெறா வழி உ ள , ேரா ரா (program) ல பா ைவயிட CFG ஐ
ம பா ைவ வி வ லி இ ெப ேரா ரா (visually inspect program) இ ைல, பல
பிெர எ பிரஸி (branch expression) க அ பிள 1எ நீ க ைசேலாம ெம ரி (
cyclomatic metric) ெகா .
( ைல ைட : 20:01 ஐ பா க )
( ைல ைட : 21:59 ஐ பா க )
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) க ,
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 ஐ பா க )
( ைல ைட : 25:56 ஐ பா க )
( ைல ைட : 26:31 ஐ பா க )
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
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
171
ரி ெகா , ைதய விவாத கைள ப றி சி தி பா க , சில ேக விகைள
உ களிட ேக கலா .
( ைல ைட : 01:33 ஐ பா க )
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 ஐ பா க )
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)களி விைளவி .
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 ஐ பா க )
175
வரிஅ ேளக (variable) எ ன அ பைடயி ேரா ரா வழியாக பா (path) கைள அ த
வரிஅ ேளகைள(variable) வைரய கிேறா . றி பி ட வரிஅ ேளக (variable) க வைரயைற
ம பய பா ெலாேகஷ (location) வழியாக பா (path) கைள வைரய க ேவ எ
நா மீ ெசா கிேற . இ த பா (path) க ேரா ெலா (control flow) கிரா (graph)
வைரய க ப ட பா (path) க எ ேக? நீ க விவாதி தீ க எ பைத
ற கணி கவி ைல. பா (path)க ெலா கிரா (flow graph) க ேரா ெலா கிரா (control
flow graph)யி வைரய க படவி ைல, ஆனா இ ேக ேட டா ெலா (data flow) அ ல எ
ேட டா(data) வைரயைறக ம பய க எ நைடெப கி றன எ பைத நா க
அ பைடயி ெகா பா (path)ைய வைரய தி கிேறா .
( ைல ைட : 12:20 ஐ பா க )
( ைல ைட : 13:40 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 16:25 ஐ பா க )
( ைல ேநர : 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 ஐ பா க )
( ைல ைட : 19:10 ஐ பா க )
( ைல ைட : 19:54 ஐ பா க ).
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 ஐ பா க ),
179
ைமன (minus) வைர மா றியி கலா அ ல ஒ ேவைள வரிஅ ேள(variable) ேப (type )ைய
மாறிவி ேடா . இைவ ஒ ேரா ரா (program) சிறிய மா ற க கான சில
எ கா க ம ஒ ெவா சி மா ற உ ைமயி ஒ ப (bugs) , ஒ வைக
ப (bugs) . எனேவ, இ ேபா ஒ ப (bugs) அறி க ப தியி பைத அறி தி
ெட (testing) ைறகைள நா க ர (run) ெச கிேறா . ெட (testing) ைறகைள
மீ இய கிேறா . அதாவ , சில ெட ேக (test case)களி ஒ ப (bugs)
ேரா ரா (program) அறி க ப த ப வைத பாயி சிஃனலி (failing signaling) ெச கிற .
( ைல ைட : 23:30 ஐ பா க )
( ைல ைட : 24:08 ஐ பா க )
( ைல ைட : 24:35 ஐ பா க )
180
திய ப (bugs)க ய சி ெச யலா , ஆனா எ லா ெட ேக (test case) க கட
ெச றா , ஒ ப (bugs) அறி க ப த ப ட , எ க ெட ேக (test case)க
ேபா மானதாக இ ைல. நா க எ க ெட ேக (test case)கைள அதிகரி க ேவ ,
நா க அறி க ப திய பாஉ (fault) வைர த ெட ேக (test case)கைள ேச க
ேவ .
( ைல ைட : 25:37 ஐ பா க )
181
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
( ைல ைட : 00:58 ஐ பா க )
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 ஐ பா க )
183
ெபா வான ேரா ரா (program) எ ேறா (error )யா , இ ஒ a= b + c ஐ எ வத
பதிலாக ஒ a = d + c எ திய . எனேவ, இ த ப ேவ வைகயான ேடஷ (mutation)
ஆபேர ட (operator)க ேம ெகா ள ப கி றன, இ அதிக எ ணி ைகயிலான
ேடஷ (mutation)கைள உ வா கிற .
( ைல ைட : 04:30 ஐ பா க )
184
( ைல ைட : 06:49 ஐ பா க )
( ைல ைட : 07:04 ஐ பா க )
( ைல ைட : 07:40 ஐ பா க )
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 ஐ பா க )
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) ஆக
இ .
( ைல ைட : 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 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 21:05 ஐ பா க )
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 ஐ பா க )
191
மிக ரிவிய ேரா ரா (program) க , நா இர அ ல ெமா ேல(module)க ,
எளிய ெமா ேல(module) க ெகா ட டா ேரா ரா ( Toy program) க ம ேம ெபா .
( ைல ைட : 25:04 ஐ பா க )
( ைல ைட : 25:40 ஐ பா க )
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 ஐ பா க )
193
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
194
பா ெட (big bang testing) இ ைல, இ ப (bugs) ைய சரிெச ய மிக விைல அதிக
ஒ பி பா ெட (big bang testing). எனேவ, ெட (testing) ெசய ைற மிக
விைல ய ததாகிவி , ஆனா பிற மா க எ னவாக இ . ப ேடா உ
ெட (bottom-up testing), டா ட ெட (top-down testing)ம ஒ மி (mixer)
அ ல சா வி ெட (sandwich testing) ஆ .
( ைல ைட : 02:53 ஐ பா க )
( ைல ைட : 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 ஐ பா க )
( ைல ைட : 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)
197
ட (stub) , இ த ஒ ம இ த ஒ ட (stub) ேவ . எனேவ, நம
ட (stub) க ேதைவ. பி ன அ ததாக இ த ஒ ப திைய இ ேக எ ெகா ளலா ,
எனேவ, இர ெமா ேல(module) க ம ேம ேதைவ, அதனா ைமயான
ெமா ேல(module)க இ ெட ரா (integration) ெச ய ப .
( ைல ைட : 09:55 ஐ பா க )
( ைல ைட : 11:56 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 14:00 ஐ பா க )
199
ச டவி (sandwich) இ ெடகிரஷ ெட (integration testing) ெட ணி (techniques) யி
ல கணிசமாக ைற க படலா .
( ைல ைட : 14:37 பா க )
( ைல ைட : 15:39 ஐ பா க )
( ைல ைட : 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 ஐ பா க )
( ைல ைட : 18:13 ஐ பா க )
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 ஐ பா க )
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 ஐ பா க )
203
( ைல ைட : 22:51 ஐ பா க )
( ைல ைட : 24:30 ஐ பா க )
204
ைச (data size) ம அ வா இ க ேவ , பிற ெர ெட (stress testing)
ெபா தா .
( ைல ைட : 25:24 ஐ பா க )
( ைல ைட : 26:55 ஐ பா க )
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
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
விரி ைர – 17 சி ட ெட (testing)
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 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 05:14 ஐ பா க )
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 ஐ பா க )
210
பதிேனா ெசயலி பயன க இ தா சரிபா க ேவ . ச ெட ராெட (degrade)
ைறயி இ தா இ த அைம இ ெசய ப கிறதா அ ல கிரா (crash) அ ல
ஹா (hang) ெச கிறதா? பதிெனா பயனாள ட ெச தா , பயன க றி பி ட
எ ணி ைகயிலான பயன க , ச ேற ெட ராெட (degrade) ைறயி , அத ெர
ெட (stress testing) கைள கட ெச ேபா . இேதேபா , றி பிட ப டைத விட ச ேற
ெபரிய ேட டா ைச (data size)சரிபா கிேறா . ேம , பல அைம க , ெர
ெட (stress testing) ெபா தா எ ெதளிவாக இ க ேவ .
( ைல ைட : 09:32 ஐ பா க )
( ைல ைட : 10:35 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 13:50 ஐ பா க )
212
சா ேவ (software) ெபா கிற ,எ ப ேவ காணபி ரா (configuration) களி
ைண ரிகிற ? உதாரணமாக, ஒ றி பி ட பயன அைத பய ப த ய
சா ேவ (software) க ைற தப ச காணபி ரா (configuration) இ க
அ ல பல பயன க அைத பய ப த ய ஒ காணபி ரா (configuration)
இ க அ ல றி பி ட ேட டாேப (database) பய ப த ய ஒ
காணபி ரா (configuration) இ க . எனேவ, இ த ெட (testing)
ேநா க தி காக, காணபி ரா ெட (configuration testing) சா ேவ (software) க
ப ேவ றி பி ட காணபி ரா (configuration) கைள தி தி ப கிற .
( ைல ைட : 14:44 ஐ பா க )
( ைல ைட : 15:30 ஐ பா க )
( ைல ைட : 15:52 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 18:11 ஐ பா க )
214
ேம ஒ வைக சி ட ெட (system testing) டா ெம டஷ ெட (documentation
testing) ஆ . எனேவ, இ ேக இ த வைக ெட (testing) களி வழ க ப ட அைன
டா ெம (document) க சீரானைவ எ பைத அைவ வழ க ப ளனவா
எ பைத சரிபா க ேவ ; பயன ெட (testing) , அசி ன ெட (acceptance
testing) ெச ேபா பயன , பயன வழிகா க , ைம ெடன (maintenance)
வழிகா க , ெட ணிக (technical) டா ெம (document) க , தலியன எ பைத
உ தி ப த ேவ ய டா ெம ெட (document testing) ெச ய ேவ ய அவசிய .
சில ேநர களி சில சா ேவ (software) க , அைவ ப ேவ வைகயான பயன கைள
ஆதரி க ேவ . உதாரணமாக, மிக ைமயான பயன க , அ பவ வா த பயன க
ம பல . ேம பயன களி அ த வைக வழ க ப ட டா ெம (document) க ,
அ த வைக பயன களி ேதைவ ேக ப உ ளனவா எ பைத றி பி கி றன .
( ைல ைட : 19:16 ஐ பா க )
( ைல ைட : 19:54 ஐ பா க )
215
condition) , பி ஒ பி பவ (disruption of power) , தலியன ேபா றவ றி மீ
ேவைலெச கிறதா எ பைத சரிபா கிற .
( ைல ைட : 20:35 ஐ பா க ).
( ைல ைட : 21:16 ஐ பா க )
( ைல ைட : 22:00 ஐ பா க ).
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 ஐ பா க )
217
ப (seed bugs) க க பி க ப டன ம சிறிய எ ணி ைகயிலான ப (bugs) க
இ தன, இைவ இ தன, இைவ ெட (testing) ல க டறிய ப டன. எனேவ, இைவ
க பி க ப ட ப (bugs) க ; ஸீ ப (seed bugs) க ம ஸீ (unseeded)
ப (bugs) க .
( ைல ைட : 25:35 ஐ பா க )
218
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
விரி ைர – 18 ெரஃ ெர ஸி ெட
( ைல ைட : 01:08 ஐ பா க )
219
பா க
( ைல ைட : 01:16 ஐ பா க )
220
பாலி (failure) க க டறிய ப , பி ன , அைவ ேடபிஜிேக (debug) ெச ய ப , சில ஸீ
ப (seed bugs) க ேதா றியி கி றன எ ேமேனஜ (manager)க பி வி டா ,
அவ அைத கவனி கிறா .
( ைல ைட : 03:50 ஐ பா க )
( ைல ைட : 05:40 ஐ பா க )
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 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 12:15 ஐ பா க )
223
( ைல ைட : 12:59 ஐ பா க )
( ைல ைட : 13:54 ஐ பா க )
224
ம ற ப தியி பல பாலி (failure) கைள கா டலா எ மா ற , அ வரிஅ ேள(variable) மதி
மாறிய ம அ த மதி ம ற ப திகளா பய ப த ப ட ;ம பாலி (failure) கைள
கா டலா . எனேவ, அ த ேகா (code) மா றமி லாத ப தி ெரஃ ெர ஸி ெட
(regression testing)கைள ெச ய ேவ ய அவசிய எ னெவ றா , ஏதாவ மா ற க
ஏ ப டா அ ல , ேவ வா ைதகளி ெசா னா , நா ேகா (code) சில ப திைய ஏ கனேவ
கட வ த ெட ேக (test case) கைள மீளைம க ேவ , அ த ப தி மாறவி ைல
எ றா , மீ அ த ெட ேக (test case) கைள ம ப ெரஃ ெர ஸி ெட
(regression testing)எ அைழ கிேறா
( ைல ைட : 16:39 ஐ பா க )
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 பா க )
( ைல ைட : 21:26 ஐ பா க )
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 ஐ பா க )
228
த பரேம ட (parameter) க ெகா க ப ட. இ த ேக (case) , நா க ெட
ேக (test case)நிராகரி க ேவ ம அைத ரி ெரகா (rerecord ) ெச ய ேவ .
ெட ேக (test case) நா ைம ைட (maintain) ெச ய யா . ேம , இ ெனா விஷய
எ னெவ றா , ெட ேக (test case)க சில காரண க காக பாலி (failure) யைட ,
இ ேததிட ஒ பிடலா . எனேவ, ெட ேக (test case) சில ேததிகளி இய க ப
ேததிைய பய ப திய ம அ த ேததி அ த இ (input) மதி பி
பய ப த ப ட , ஆனா சில ேததி அ ல ேநர தி இ கலா ; அ மாறியி கலா ,
ஏெனனி இ ெரகா (record) ெச ய ப ள . சில கிரி (scripting) அ பைடயிலான
ெட (testing) இ தா , இ த சி கைல நா க ைம ைட (maintain) ெச யலா ; நீ க
கிரி (script) சிறி மா ற ம அைத ைம ைட (maintain) ெச ய . இேதேபா ,
எ ேவ மானா ேதைவ ப ேததி ம பலவ ைற பய ப தலா .
( ைல ைட : 28:17 ஐ பா க )
229
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
230
சா ேவ (software) கைள ெட (test) ெச ய பய ப ெட ேக (test case)க அைம க
பா ேத . பி ன நா மிக அதிகமாக இய காத ேதைவய ற ெட ேக (test case) கைள
ெகா கிேறா , ஏென றா அைவ மா ற ைத உ ைமயிேலேய
ெப ெட சி(dependency) அ ச கைள ெட (test) ெச ப யான ஒ ப (bugs)
க டறிவத கான ஸிேரா (zero ) வா ள . பி ன நா மா ற கைள சா ேவ (software)
களி ெபா தி சில ெப ெட சி(dependency) சா ேவ (software) அ த ப திகளி ெட
(test)ெச ய இ ெரஃ ெர ஸி ெட ேக (regression test case) க உ ளன.
( ைல ைட : 02:45 ஐ பா க )
231
அவ ைற. ஏ பிரியரி ஸி (priority) ேவ ? நா க பிரியரி ஸி(priority) ெகா க
ேவ , ஏெனனி ெட (testing) ைதய கால தி நீ க
ெரஃ ெர ஸி (regression) ப (bugs) க க டறிய மானா , ெடெவல ெம
(development team) ைய ெதாட கலா , அ எ க ெடலிவரி(delivery) ேநர ைத ைற .
நா கண கான ெரஃ ெர ஸி ெட ேக (regression test case) க இ கலா
ம அைவ அைன ைத இய க ஒ வார ஆகலா ம நா த நாளி அ த
ப (bugs) க க டறிய மா எ றா , நா ெடெவல ெம (development team) வி
ெட (testing) ைய ெதாட கலா .
( ைல ைட : 05:06 ஐ பா க )
( ைல ைட : 05:54 ஐ பா க )
232
ைற க படலா ம அேத ேநர தி அைவ ப (bugs) யி வா கைள ைற க
எதி பா க ப கி றன, ஆனா நா உ ைமயி ெட (testing) ைய சமாளி க இ ேபா
க ெகா ள ஆ சரியமாக இ கிற . அைவ திய வைக ப (bugs) ைய அறி க ப தின,
அைவ ேரா றா ேகா 9procedural code) நீ க அறி தி கவி ைல, எனேவ,
ஆ ெஜ ஓரிய ேட ேகா (object oriented code) ேவ ெட (testing) ேதைவ.
ஆ ெஜ ஓரிய ேட ேகா (object oriented code)களி ேரா றா
ேரா ரா மி (programing) காக நா க பய ப திய அேத ெட நி (techniques) கைள
பய ப த யா , நம ேவ ெட ரா டஜி (testing strategies) ேதைவ.
( ைல ைட : 07:26 ஐ பா க )
( ைல ைட : 08:24 ஐ பா க )
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 ஐ பா க )
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 ஐ பா க )
235
னி (unit) ஒ பி ஷ (function) , ஆனா நா இ ேபா பா ேபா ,உ ைமயி
ெட (testing) அ பைட னி (unit) அ ல ஆ ெஜ ஒரிஇ ெட ெரா ரா (object
oriented program) க . அ ஸிேயா (axioms), ஆ ெஜ ஒரிஇ ெட ெரா ரா (object
oriented program) யி னி ெட (unit testing) ைறயி ெசய ப வ மிக சரியான
அ ல, இ த ைற அ பைடயாக ெகா ட எ ன எ பைத பா ேபா . உ ைமயி , இ த
ைற ெச வத கான அ பைடயான ைவ கரி (weyukar) எதி மைறயான
அ ஸிேயா (axioms) காரண எ கிற , இ தனி ப ட ைறகைள பரிேசாதி
எ தெவா அளவி ஒ கிளா (class)தி திகரமாக ெட (testing) ெச ய ப ட
எ பைத உ தி ெச ய யா எ கிற .
( ைல ைட : 14:48 ஐ பா க )
236
வரிஅ ேள(variable) க ல ைற இ ெடெர ஷ (integration) கைள ெட (test)ெச வ
ம ம லாம , கிளா (class) ெவ ேவ ேட (state)களி உ ள வழி ைறகைள ெட (test)
ெச பா க ேவ .
( ைல ைட : 17:04 ஐ பா க )
( ைல ைட : 18:28 ஐ பா க )
237
ைறகளி ேட டா (data)ைவ ெகா ப . உ ைமயி இ ெடகிரஷ (integration)
ெச ய ப த ப (bugs) க ஒ ஆதாரமாக இ ைல, ஆனா அ ெட (testing) ஒ
தைடயாக இ கிற , ஏென றா அ , ஏெனனி , ஒ கிளா (class)யி தனி ப ட
வரிஅ ேள(variable) க ேநர யாக அ க யா , எனேவ ஒ ேடபிஜிேக (Debugger) அ
வ ேக(value) க க பி க க னமாகிவி பிைரேவ வைரபி (private variable) க
வ கி றன எ பதா , எ தெவா ைறக இ பி , இ த பிைரேவ வரிஅ ேள(private
variable) க அ கைல அ வத கான வழிக இ ைல எ பதா , ேநர யாக அ க
யா , எனேவ சி கலானதாகிற . எனேவ, இ த சி கைல எ வா கட க பல தீ க
சா திய , ஒ ேட ரி ேபா (state reporting) ைறக .
( ைல ைட : 19:59 ஐ பா க )
( ைல ைட : 20:36 ஐ பா க )
( ைல ைட : 20:47 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 23:30 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 26:22 ஐ பா க )
240
யி ெட (test) ெச ய பட ேவ யதி ைல. ேப கிளா (base class) லி ெபற ப ட
அைன இ ேஹரிேட (inherited)கைள நா உ ைமயி ெட (test) ெச ய ேவ .
நா இ த அம வி ேநர ைத ஓ ெகா ேட இ கிேறா , அ த அம வி ஒ ஆ ெஜ
ஒரிஇ ெட ேரா ரா (object oriented program) எ வா ெட (test) ெச கிேறா எ பைத
ப றி ெதாட கல ைரயா ேவா . ந றி.
241
Software Testing
Dr.RAJIB MALL
IIT Kharagpur
சா ேவ ெட (software Testing)
ேபராசிரிய ரஜி மா
( ைல ைட : 00:40 ஐ பா க )
( ைல ைட : 01:28 ஐ பா க )
242
கிளா களி மீ பய ப த ப கிற . எனேவ,()ேக வி எ னெவ றா ேப கிளா யி
ெம ெத ெட ெச ய ப தா எ ன ? எனேவ, அவ க மீ ெட ெச ய பட
ேவ எ றா , ெடரிேவ கிளா யி இ ேஹரிேட ம ப ெட ெச ய ெப றி க
ேவ .
( ைல ைட : 03:58 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 07:27 ஐ பா க )
244
இ ேஹரி ேட ெம ெத (inherited method)க , ெடரிேவ கிளா (derived class) யி
பய ப கிற .
( ைல ைட : 07:53 ஐ பா க )
( ைல ைட : 08:27 ஐ பா க )
( ைல ைட : 09:42 ஐ பா க )
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 ஐ பா க )
246
ஒ ெவா ேக (case) தனி ெட (testing)ேதைவ. ைற தப ச டா ைப (static
binding) ேதைவ.
( ைல ைட : 13:05 ஐ பா க )
( ைல ைட : 13:41 ஐ பா க )
( ைல ைட : 14:47 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 17:10 ஐ பா க )
248
வழிகைள ெட (test) ெச பா க ேவ . கிளா (class)யி ெவ ேவ ேட (state)
களி இைத ெட (test) ெச ய ேவ , கிளா (class) யி ேட (state)க ஒ ேட
மாட (state model) களா ெகா க ப கி றன, இ ைறயான அைழ ைறகளி
எ வா ஆ ெஜ ேட (object state) மா கிற எ பைத றி பி கிற .
( ைல ைட : 18:34 ஐ பா க )
( ைல ைட : 20:43 ஐ பா க )
249
எனேவ, இ ஒ ேட மாட (state model) யி ஒ எ கா . ெவ ேவ ேட (state)
கைள மா வத ல ேவ ேட (state) கைள ெபா வ அவசிய , பி ன ஒ ெவா
ேட (state)யி உ ள ைறகைள ைமயாக ெட (test) ெச ய ேவ . , ஆனா பி
ெள கிளா (multiple class) க ெட (test) ெச ய பட ேவ யி தா , ஒ ெவா
அத ெசா த ேட (state) மா .
( ைல ைட : 20:49 ஐ பா க )
( ைல ைட : 22:04 ஐ பா க )
( ைல ைட : 22:19 ஐ பா க )
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 ஐ பா க )
( ைல ைட : 24:33 ஐ பா க )
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 ஐ பா க )
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
swayam.gov.in/NPTEL nptel.ac.in