Title: Unit Tests drive code quality;
1????
2??
- ????
- ??
- ??
- ??????
- ????
- ????
- ??????
- ????
- ????
- ??????
- ??????
3Unit Tests drive code quality Clover drives unit
test quality.
4????
- ??
- ??
- ????????????????????,????????
- ???????????????
- C??????????????
- C???????
- ????
- ???????,?????????(??????????),??????????????
- ???????????,???????????????????
- ????????,????????????????????
- ?????????????,???????
5????
- ??
- 1?????????????
- ??????????
- 2???????
- Microsoft applications
- 10-20 defects/KLOC during unit testing
- 0.5 defects/KLOC after release
- ?????
6??
- ????
- ??
- ??
- ??????
- ????
- ????
- ??????
- ????
- ????
- ??????
- ??????
7????
- ??1???????
- ?????????????
- Checklist
- ?????????????????
- ????????
- ????????/??????????
- ???????,????????????
- ???????,??????????????
- ????????????
- ??
8????
- ??2???????????
- ???????????????
- Checklist
- ?????????
- ???????????????
- ???????
- ???????
- ????
- ????
- ???????????
- ??????????
- ??
9????
- ??3?????????
- ????????????
- Checklist
- ????????????
- ????????????
- ?????????(??)????????
- ?????????(??)????????
- ??
10????
- ??4?????????(??)??
- ??????????????????????????
- Checklist
- ???
- ????????
- ????
- ??????
- ????
- ?????????
- gt?gt??!
- ?????????
- ????
- ??
11????
- ??5???????????
- ??????????????
- Checklist
- ????????
- ??????
- ????????
- ????,????????
- ????
- ????
- ????
- ????????
- ????????
- ????????????
- ??
12??
- ????
- ??
- ??
- ??????
- ????
- ????
- ??????
- ????
- ????
- ??????
- ??????
13??????
- ????
- ??
- ???????,??????????????????????????????????????????
- ??
- ??WalkThrough
- ??Inspection
- ??Review
Michael Fagan IBM(1976)
14??????
- ????-??
- ??
- ????????,??????????????????????????
- ??
- ??
- ????
- ????
- ?????????
- ???????????
- ???????
- ????????????????????
- ??????
- ????
- ????
- ????/??/??
15??????
- ????-??
- ??
- ????????,??????????Checklist??????????????????????
???????? - ??
- ??????,????????????,????????
- ????
- ?????????
- ???????????
- ???????
- ??????????????????????Checklist???????????????????
?? - ??????
- ????
- ????
- ????/??/??
16??????
- ????-??
- ??
- ????????????(QA??????)?????,??????????Checklist???
??????????????????????????? - ??
- ??????,????????????,????????????????????????
- ????
- ?????????
- ???????????
- ????????
- ??????????????????????Checklist???????????????????
?? - ??????
- ????
- ????
- ????/??/??
- ??????????
17??
- ????
- ??
- ??
- ??????
- ????
- ????
- ??????
- ????
- ????
- ??????
- ??????
18 ??
??????(??????)???????
??
??????(??????)
??
????(????????)
??
??????
??????????????
??
19??????
- ????
- ??
- ???????????,???????????????????????????(??????)?
- ?????
- ?????????????
- ?????????????????
20??????
- ????
- ??
- ?????????,??????????
- ??????????,??????
- ??
- 1????????
- ?????????????????????
- 2?????????????true?false
- 3????????????????????
- 4?????????????????
21??????
22??????
- ????
- ????????
- 1?????
- ?????????,?????????????????????
- 2?????
- ?????????,????????????????????(???switch-case??)??
?????????????????? - 3?????
- ?????????,?????????????????????????????????
23??????
- ????
- ????????
- 1?????
- 2?????
- 3?????
- 4???/????
- ?????????,????????????????
- 5???????
- ?????????,??????????????????????????????????????
- 6?????
- ?????????,?????????????????????
24????????????
25??????????
26??????????
????????,??????,????
1)????????????????????
A2 B0 X3
??????????, ??????
a c e
272)???????????????????? ???????(??????)
A2 B0 X3
A1 B0 X1
a c e
a b d
?
?
A3 B0 X3
A2 B1 X1
a c d
a b e
?
283)???????????????????? ??????
?1 ?2 ?3 ?4
T1 T2 T3 T4
Agt1 B0 A2 Xgt1
?????
????
????
A B X ?? ???? ????
2 0 3 1 0 1 2 1 1 a c e a b d a b e c e b d b e T1 T2 T3 T4 ?1 T2 ?3 ?4 T1 ?2 T3 ?4
???
A B X ?? ???? ????
1 0 3 2 1 1 a b e a b e b e b e ?1 T2 ?3 T4 T1 ?2 T3 ?4
294)??/????????????????????? ???,??????????????
??????4????8???
? A gt 1, B 0 T1 T2
? A 2 X gt 1 T3 T4
? A gt 1, B?0 T1 ?2
? A 2 X1 T3 ?4
? A1, B 0 ?1 T2
? A?2 Xgt1 ?3 T4
? A1, B?0 ?1 ?2
? A?2 X1 ?3 ?4
A B X ???? ?? ????
2 0 3 2 1 1 1 0 2 1 1 1 ? ? ? ? ? ? ? ? a c e a c e a b e a b d T1 T2 T3 T4 T1 ?2 T3 ?4 ?1 T2 ?3 T4 ?1 ?2 ?3 ?4
(???3???,?????)
305)?????????????????
A B X ????
2 0 3 1 0 1 2 1 1 3 0 1 a c e L1 a b d L2 a b e L3 a c d L4
31L3
L4
L1
L2
a
b
c
d
e
32??
- ????
- ??
- ??
- ??????
- ????
- ????
- ??????
- ????
- ????
- ??????
- ??????
33??????
??????,???????????????????????
??????,??????,?????????????????????(??????)?
??????,??????,??????????????
??????,????????????????
??????,???????????,????????
????????????????
???????????,???????????,????????????
??????????????,?????????
34??
- ????
- ??
- ??
- ??????
- ????
- ????
- ??????
- ????
- ????
- ??????
- ??????
35??????
??????
??????
??????
??????
??????
36??????
- ????
- ??
- ?ut-tp0016
- ??
- ???????.???.MarchCalculator
- ???
- ?V1.0
- ????
- ????
- ????
- ?2003?7?1?????/????
- ????
- ?????
- ????
- ???1????????xxx??2????????xxx
- ??????(??)
- ?ut-tc00021/ut-tc00031/ut-tc00035
- ?????????
- ?tag1/layout/marchCal.cpp
37??????
- ????
- ??
- ?ut-tc00016
- ??
- ?????????.???.MarchCalculator
- ???
- ?V1.3
- ????
- ?????
- ????
- ?2003?7?2?????/????
- ????
- ???????????????X??/??????/??XX
- ????
- ????????
- ????
- ?ut-tcc00021(??)/ut-tcc00035(??)
- ????
- ?????(?????????)????(??????????)
38??????
- ????
- ??
- ?ut-tr00016
- ??
- ???????????.???.MarchCalculator??
- ????
- ?2003?7?2???????
- ??????
- ?ut-tc0016
- ????
- ????????
- ????
- ??/???????
39??????
- ??????
- ??
- ?ut-dt00016
- ??
- ???????.???.MarchCalculator????
- ???
- ?V1.3
- ????
- ???/??/??/??/??/????/????/????/??
- ????
- ?2003?7?2?????/????
- ????????????????
- ???????????
- ??????
- ?????????????????
- ??
- ??????
- ??????????????/??
- ??????????????/??
40??????
- ??????
- ??
- ?ut-tr00016
- ??
- ???????.???.MarchCalculator????????
- ???
- ?V1.5
- ????
- ?????
- ????
- ?2003?7?3?????/????
- ??????
- ??????
- ????(????/?????)????????
- ??????
- ????????
41??????
- ??????????????????
- ???????????????
- ?????????????????????
- ?????????,??????
42????
- ????
- ????
- ????
- ????
- ??????
43??????-??
- ?????????????,?????????,?????????????
- ???????????????,??????????????????,????
- ?????????????????
- ?????????????????????????????????????????????????
????????????? - ???????
- ???????????,????,?????
44??????-??
- ??????????????
- ????????????????????????????????????????????????
??? - ????????????????? ?????????????????????????
45??????-??
- ??
- ???????????????????
- ????????????????????
- ?????????????????
- ??????????????????
- ?????????????????
- ????
- ????
46??????????
1 ???? 10????
2 ???? 11????
3 ???? 12?????
4 ???? 13????
5 ???? 14?????
6 ???? 15????
7 ???? 16????
8 ???? 17????
9 ???? 18????
47????Defect??
- ?????(Critical)
- ????,????????????????
- ???????(Serious)
- ?????????????????????????,???????
- ?????(Moderate)
- ????????????
- ?????(Suggestion,Cosmetic)
- ????????????????????
48??????????
49????????
1 ??????ID? 2 ???????
3 ????? 4 ??? ???????????
5 ??????? 6 ????????
7 ????????? 8 ?????????
9 ?????? 10 ??????
11 ???????? 12?????????????????
13 ??????? 14 ??
50????????????
1 ????? 6 ?????????????
2 ??? 7 ??????????
3 ??? 8 ???????
4 ????????? 9 ????
5 ????????????? 10 ????
51??????????
- ?????
- ?????
- ?????????
- ????????
- ??????????
52??????
- ??????????
- ??????????????????
- ????????????
- ??????????????????
- ????????????????
53??????
- ?????????????
- ???????????????
54??????
1 ?????? 6 ????
2 ?????? 7 ????
3 ???????? 8 ????
4 ???? 9 ??
5 ???????? 10 ????
55???????
- ????(????,?????)
- ????????
- ?????????,???????????
- ??????
- ??/??/??????????
- ????????????
- Beta?Alpha?????
56??
- ????
- ??
- ??
- ??????
- ????
- ????
- ??????
- ????
- ????
- ??????
- ??????