| | | |

?

û'õ????????????¹?????????ô?1983IEEE?'????????L?????U??????

???L??(µ[6])??µ???ÿh??l???????l?????????????????j?'??J??h????g???????l???l????????á????????j??eL???????ð?e????????????K?ù????

???????????g???û????'û??????û??????h?g?l?

??ÿ??ÿL????e?Lh¡?????????k??

????h?????????

?µ[6]?L???????L??????????????S???????S???????????????g?????i?????h?????????

h?µ????'õ??S?õ????i???Z'õI???ãh????????ÿL????????????ôi??J??g?????k???û?????

1982????????????'?õ??h???????g?K?????????J?'ô??????'?????J?????

?????
y=Function(x);
??hFunction()?????ò????Base::Function()????Derived::Function()?

L???Lg??h???????g?h??k???????g?ÿ??????,?ù?L??L???g??á????hµ?g?

hg(Object-Orient Test Model)

?g????g??OOA?OOD?OOP???ß?????h?????????g?L?i???ûi??g?????L?Lh????g?'?e??j????????h?g??

0
OOA Test:? OOD Test:??
OOP Test:??? OO Unit Test:?
OO Integrate Test:????OO System Test:??

OOA TestOOD Test ?????????i?j?L???OOP Test?????????????????????hLg??C++?????????????L????????????ã???????????µOODOOD Test????????e???û????OOAOOA Test

?e??h?õ???????k?LOOAOODOOP??????????

OOAOOPOOD???g???????????µ[1]

?(OOA Test)

??h??L?jh?????L?l???L???h????ô??????????OOA"E-R?g???????h??k"µ[1]??õ???

OOA?????L??????????????C++?K?öL??????????????h?????L???g???g????OOAL?????????????OOA????L?????h?K???????L?KOOA????

OOA?h??????k?[2]CoadOOA???OOA?e????
?K?
?L??
??
????
?k??
???OOA??ãµ?

1 ?K??

OOA?K???L????¼?????????µ[2]???·??

1.1 ?K???????????
1.2 ?K????h?K?????K
1.3 ???h????g?L??
1.4 ???h?????kU????K??ü??
1.5 ??û??'??????õk?K???
1.6 ?K?þ??á

2 ?L??

Coad??L???????????????L?????????hL??????L?

2.1 ?k????·?

2.1.1 ???h????K?????h??h
2.1.2 ???h???h?K????h?
2.1.3 ?K????K
2.1.4 ?K??²L
2.1.5 ?K?????

2.2 ?????·?
2.2.1 ??????????L?
2.2.2 ??????????á
2.2.3 ??©???õ???
2.2.4 ????µ????

3 ??

???L?h???OOA????¶??????ÿ·?

3.1 ?George Miller "7+2"???µ[3]7??????

3.2 ?h??????

3.3 ????????OOA?ò????OOA ?

3.4 ????K????

4 ????

???????????????·??

4.1 ??K??ÿ??á
4.2 ?????
4.3 ?????
4.4 ????
4.5 ???????L???
4.6 ?ÿ?
4.7 ???
4.8 ??????1-?-?

5 ?k??

k???ÿh?????????tOOA ?????µ[3]?k???·?

5.1 ?????????k
5.2 ??k?????
5.3 ??k???
5.4 ????????
5.5 k????õk

??(OOD Test)

?L??õ"??????h???????L?k???L??e"µ[1]

?OOD"?L?"OOA????h?????OOD ?????????k???OODOOA?h???J????OOALh?????OODOOA L???gOOD???j?????????????ú??û??OOD??L?????OOA???
??
????
???

1 ??

OOD?OOA?K???k?????????þ?u?á?[4][5]h??????

1.1 ???OOA?K
1.2 ?OOA??
1.3 ??OOA?k
1.4 ??h??
1.5 ?????
1.6 ?kC++???;

2 ????

???l???OOD???OOA?k????h??????µ[1]?j????????????L????·?

2.1 ???????
2.2 ?OOA?
2.3 ??OOA?
2.4 ??û??
2.5 L??????

3 ???

??????????á???j????????????[9]???£

3.1 h????????L????
3.2 ?C++?????J??[5]??30?
3.3 ????????

g??(OOP Test)

????????'ô????i??????????????l????????????????'ô????'?????'ô?h????J???µ???'??J???'ó"?h"???ò??;??J??

j?????????????????L????J????h???OOP?S?????????????????'C++?

??????
???L

1 ??????

??????l????????????????jã??á???i??L????K?????K?????????k???
class Hiden
{private:
int a=1;
char *p= "hiden";}
class Visible
{public:
int b=2;
char *s= "visible";}
..
..
Hiden pp;
Visible *qq=(Visible *)&pp;
??pp???qq?

2 ???L

??L???????L?????????????lû??????j?'õkj?'á??j???????????L?L?ú?k????g??l????l????L????????L??OOD???L?????????OOD??j??òOOAL????

?j?(OO Unit Test)

?j??l??h???õ???????h????j??'á???????·???l??µ[6]?h???g

???????????????????g????????K???????100%?????????

1. ???h?h?????????ü??µ[6]??j???

2. ???h????????????????????????????gIP??
?????hl??h???J?

if (-1==write (fid, buffer, amount)) error_out();
û?write()k???????û?????

?'ústrrchr()????strchr()'????h??

?if (strncmp(str1,str2,strlen(str1)))?
if (strncmp(str1,str2,strlen(str2)))'õstr1str2h?

?????????L?????????

?'ö?????????l_???????'???????d?[7]?Brian Marick ???


1. ?????????

[7]???????²?a?????Kb??K?????

?Bass?Inherited()Redefined()Derived?Redefined()?KDerived::Redefined()??²?Derived::Inherited()?Redefined()(?x=x/Redefined()),?²?????

2. ??????

?l?Base::Redefined()Derived::Redefined()???????k??????ö Derived::Redefined()²??l?'?? Base::Redefined()????Derived::Redfined()µ?????

Base::Redefined()
If (value<0) message ("less");
else if (value==0) message ("equal");
else message ("more");
Derived::Redfined()??
If (value<0) message ("less");
else if (value==0) message ("It is equal");
else
{message ("more");
if (value==88)message("luck");}

????Derived::Redfined()??¸Kvalue==0??Kvalue==88??

???????????????l???????µ????????'????????k????????????????????j????[10]?dMtSS??

l?(OO Integrate Test)

?l?????Lg??h???½??õL?????????????????????????????????????l???????????????????l??

l???j?????ZJ??????????i??????L???ál?????????????

???L??????h??h??"?"L???õ????ù??International Software Automation ?Panorama-2 for Windows95Rational?Rose C++ Analyzer?"?"õLOODL???????????OOP???

?????L?ý????????????????Z??'ý????h??????????k??h????????h????h??????'?h??õ????

?????
1. ???OOD?????????L??
2. ???
3. ý?????
4. ?K?'?ô???'k?ô??


???????????h???????????????k???l???????g

???(OO System Test)

????????L???????û???'»???????????????'??h??????i??????L??ZXM10????????????E1????????

???þ?û?'û?????ñ?????û???????g??????ò?OOAL?K????????""????????h??????

????????l?

????????L??û??õ?????ú?????????

????????h?????h?J?????????

????????????????????J?l?¼l?????????

???????i??????'?????š???h?????I?????????©

????'?'ã??L?????????ò??????

??û??'á?????û??õ?

?/???install/uninstall test??

???????

  <>

? | ? | | ? | ? | | | ? | ? | ??

Copyright® 2003 Test Engineer, Inc. All rights reserved.

 

| | | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ?? | ?? | ?? | ?? | ?? | ArrayArrayArrayArrayPauschalurlaub - Partner Links Directory - Moscow News - Karratha HotelArrayArrayArrayArray