Overview - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Overview

Description:

... languages Good programming practice Coding standards Module reuse Module test case selection Black-box module-testing ... SQA , ... CASE tools ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 45
Provided by: Mav63
Category:

less

Transcript and Presenter's Notes

Title: Overview


1
?? ??
2
Overview
  • Choice of programming language
  • Fourth generation languages
  • Good programming practice
  • Coding standards
  • Module reuse
  • Module test case selection
  • Black-box module-testing techniques
  • Glass-box module-testing techniques
  • Code walkthroughs and inspections
  • Comparison of module-testing techniques
  • Cleanroom
  • Potential problems when testing objects
  • Management aspects of module testing
  • When to rewrite rather than debug a module
  • CASE tools for the implementation phase
  • Air Gourmet Case Study Black-box test cases
  • Challenges of the implementation phase

3
13.0 ?? ?? ??
  • ??(implementation)
  • ?? ??? ??? ???? ????
  • ????
  • ????? ?? ????? ??? ?? ?? ??
  • programming-in the many?? ??

4
11.1 ????? ??? ??
  • ??-?? ??? ???? ??
  • ?? ??? ?? ???? ??? ?? ?? ??? ?? ??? ??? ?? ??
  • ??? ??? ??? ?? ???? ??? ???? ?????? ??? ?? ?? ??
    ??
  • ????? ???? ????? ???? C,JAVA ??? ??.
  • C? ??? ????? ????, C, JAVA? ???? ?????
    ????
  • ???? ??? ???? ??? ???? ??
  • ????? ????? ???? ????? ?? ?? ??
  • JAVA ?????? ???? ???? ???? ??
  • 4?????? ???? ??? ?????? ????? ??

5
13.2 4GL
  • 1?? ??(first generation language)
  • ??? ??? ??
  • 2?? ??(second generation language)
  • Assembler
  • 3?? ??(third generation language)
  • ? ??? 510?? Assembler ?? ??
  • FORTRAN, ALGOL 60 ?? COBOL ?
  • ???? ??
  • ?? ??
  • ????? ?? ?? ??

6
4GL
  • 4?? ??(fourth generation language)
  • 4GL ??? 3050?? ?? ?? ???? ??
  • FOCUS? Natural? ?? 4GL? ??? ????? ??? ??? ??? ??
  • ???? ??
  • ????? ?? ??
  • 4GL?? ????(nonprocedural) ??
  • ??? ??
  • ??? ??

7
4GL
  • 4GL ??? ??? ??
  • ??? 4GL? ?? ????? ???
  • ?? 4GL? ??? CASE ????? ??? ??? ??
  • 4GL? ??? 4GL? ???? ??? CASE ?? ??
  • ??? ??
  • 4GL ?? ??
  • end-user programming
  • ??
  • ??-?? ?????? ??? ? ??
  • ??????? ?????? 4GL ????? ???? ?? ???? ?? ??????
    ??? ?? ??????? ????
  • 4GL? ?? ??? ??? ??

8
13.3 ??? ????? ??
  • ?? ????? ?? ????
  • 1. ???? ?? ?? ???? ??
  • ????? ???? ?? ??(meaningful)??? ??? ??? ?????
    ???? ????? ????? ?? ????? ??
  • ???? ????? ??? ?
  • ???? ?? ? ?? ??
  • ???? ?????? ??

9
Good Programming Practice
  • 2. ?? ??? ??? ??
  • ?? ?????? ?? ?? ??? ?? SQA ??, ? ?? ???? ????????
    ??? ?? ?? ??? ??
  • ??? ???? ??? ?? ?? ?????? ?????? ??
  • ????? ???(Prologue Comment)? ?? ??? ???
  • ??? ???? ????? ?? ?? ??
  • ?? ??
  • ??? ??? ???? ?? ??
  • ????? ??
  • ??? ??? ?? ??? ??? ??? ??? ??
  • ?? ???
  • ?????? ??? ???? ??? ??
  • ??? ???
  • ??? ?? ??? ??? ?

10
Good Programming Practice
  • 3. ????? ??
  • ??? ?? ?? ????? ??? ??? ??? ???.?? ?? ???? ?? ???
    ??.
  • ??? ?? ?? ?? ?? ??
  • public static final float salesTaxRate
    (float) 6.0
  • ? ? ??? ??? ?? ??? ??? ?? 6.0? ???? ?? ??
    salesTacRate ??

11
Good Programming Practice
  • 4. ??? ??? ?? ?? ??
  • ??? ?? ?? ??? ?
  • ? ??? ? ??
  • ????? ???? ????? ??? ??
  • ???? ?? ??

12
Good Programming Practice
  • 5. ??? if?
  • If- if??? ???? ??? ??? ???? ??? ??? ??.? ???
    if-if??
  • ifltcondition1gt
  • ifltcondition2gt
  • ? ??? ?????? ??? ??.
  • ifltcondition1gt and ifltcondition2gt

13
Good Programming Practice
14
Good Programming Practice
15
13.4 ?? ??
  • ?? ??(coding standard)? ???? ??? ??
  • ?? ??? 3550? ??? ?? ??? ???? ??
  • ???
  • ?? ???? ??? ? ?? ?? ??? ??
  • ?? ??? ??? ?? ??? ? ??? SQA ??? ??? ?? ?????
    ?????? SQA ??? ?? ?? ???? ??.??? ?? ??? ????.?
  • 1) if?? ?? 3?? ?? ???? ???? ?.
  • 2) ??? 3050?? ??? ????? ?.
  • 3) goto ?? ?? ???? ?.??? ? ??? ??? ??? ?????
    ?? ????.
  • ??? ??? ??? ??? ?? ???? ????? ???? ??? ???.
  • ?? ??? ???????? ?? ??? ??? ?? ??.
  • ?? ?? ??? ????? ???? ??? ??.
  • ? ???? ????.

16
13.5 ?? ? ??
  • Reuse? ???? ??? ???? ???? ??.
  • ?????? ?? ???? ????? ?????? ??, ??, ??, ??, ???
    ?? ?? ? ???? ??? ??

17
13.6 ?? ??? ?? ??
  • ????? ??? ? ?? ?? ??
  • ??? ?? ??? ???? ???-?? ???
  • ??? ??? ??? ??? ???? ??-?? ???
  • ??? ????? ?? ??
  • ??? ??? ??? ??
  • ??? ???? ??? ????? ??

18
?? ??? ?? ??
  • ?? ??? ??? ?? ? ??
  • ?? ???
  • ?? ??(block-box), ???(structural), ???
    ??(data-driven), ???(functional), ??/??
    ??(input/output-driven) ?????? ??
  • ?? ??? ???? ??? ??? ????? ???? ??? ?? ??
  • ?? ???
  • ??? ??? ??? ? ?? ??? ??
  • ??? ??(glass-box), ??? ??(white-box),
    ??(behavioral), ?? ??(logic-driven), ?? ??
    ??(path-oriented) ?????? ??

19
?? ??? ?? ??
  • ??? ?? ???? ???
  • ??
  • ?? ??? ???? ????? ??? ???? 5?? ??? ??? 7?? ???
    ????? ?? ?? ???? ??? ????
  • ???? ??? ??? ?? ??? ?? ???
  • 35?? ??? ?? ??
  • ?? ? ?? ??? ??
  • ???? ???? ?? 5??? 7?? ?
  • ?? 20?? ??? ?? ?? ?? 4?? ?? ?? ????, ?? 420??
    1.11012?? ??? ?? ??

20
?? ??? ?? ??
  • ?? ???? ???
  • ??? ????? ???? ??? ??? ??? ? ??? ??? ?? ?? ?? ??
  • ?? 13.6 ???
  • ??? ??? ?? 6?? ?? ??? ?? 5?? ??? ??? ??. ??? ????
    ?? ??? ??? ??? ??? ??
  • 51 52 53 518 4.77 1012
  • ??? ???? ?? ??? ??? ???? ??? ? ??? ???? ??? ??? ??

21
?? ??? ?? ??
  • ?? ???? ???
  • ??? ???? ????? ?? ?? ?? ??
  • ?? ???
  • ??? ??
  • ?? 13.7 ?? ?????(code fragment)? ??? ??
  • If ((xyz) /3 x)
  • System.out.println(x,y,z are in value)
  • Else
  • System.out.println(x,y,z are Unequal)
  • Test case 1 x 1, y 2, z 3
  • Test case 2 x y z 2
  • ?? 13.7 ? ?? ??? ??? ??? ??? ?? ??? ???? ???? ??
    ?????

22
?? ??? ?? ??
  • ?? ???? ???
  • ? ?? ??? ??
  • ???? 6/3 ?? 2??? 1? ??
  • ????? ???? ????? x,y,z? ?? ??? ??
  • ? ?? ??? ??
  • ?? x,y,z? ?? 2? ???? ????? 2? ?? ?? ??
  • x?? ??? ????? ???? ? ?? ??? ??

23
?? ??? ?? ??
  • ?? ???? ???
  • ??? ??? ???? ???
  • ?? 13.8(a) ?? ?????
  • d0 d?0? ???? ? ?? ? ?? ?? ??
  • ?? 13.8(b)
  • ???? ??? ?????? ???? d0? ???? ?? ?????, ? ??????
    ???? ??? ???? ?? d0? ??? ?????? ??? ???? ???? ??
  • If (d 0)
  • zeroDivisionRoutine()
  • Else
  • X n / d
  • (a)
  • X n / d
  • (b)
  • ?? 13.8 ?? ???? ???
  • ?? ?????

24
?? ??? ?? ??
  • ?? ???? ???
  • ??? ??? ?? ??? ??? ?? ??? ???? ??? ?? ??? ????
    ??? ?? ???
  • ???? ??? ? ?? ??? ??? ? ?? ?? ??
  • ?? ??
  • ??-?? ??? ??(??? ?? ???)
  • ???-??(??? ?? ???) ???? ?? ??? ?? ??

25
13.7 ??-?? ?? ??? ??
  • ???? ??? ??? ??? ??? ??????? ? ? ??? ??? ??? ??
    ??? ?? ?? ??? ?????? ?? ?? ???? ?? ??? ?? ???
    ???? ?
  • ??-?? ??
  • ??? ??(boundary value anaylsis)? ???? ??
    ???(equivalence testing)?

26
??-?? ?? ??? ??
  • ?? ???? ??? ??
  • ?? ???(equivalence class)
  • ???? ?? ????? ? ? ?????, ?????? ??? ????? ??? ???
    ? ?? ?? ???? ??? ? ??? ??
  • ?? ??? 1 1?? ????? ??
  • ?? ??? 2 1????? 16,383??? ??
  • ?? ??? 3 16,383????? ??

27
??-?? ?? ??? ??
  • ?? ???? ??? ??? ?????? ???
  • ?? ?? ?????? ??? ??? ??? ???? ?? ??
  • ???? ??? ??? ??? ???? ?? ??? ???? ?.
  • ??? ???? ??? ????? ?? high-payoff ??? ???
    ??(boundary value analysis)?.
  • ??? ??? ?????? ???? ??? ????? ?? ??? ??? ??? ????
    ???? ?? ???.
  • ?? ???? ??? ????? ???? ??? ????? ??? ??? ??? ??
    ?? ?? ??

28
??-?? ?? ??? ??
  • ?? ???
  • ??-?? ??? ??? ??? ???? ?? ??? ???? ??? ?? ??.
  • ?? ???(functional testing)?? ??? ??? ????? ??? ?
    ??? ????? ?.
  • ??? ?? ??? ??? ?, ??? ???? ? ??? ????? ????? ??
    ??
  • ?? ??-?? ??? ??? ???? ??????
  • lt??-?? ??gt iflt???gt
  • lt??-?? ?? 1gt
  • else
  • lt??-?? ?? 2gt

29
??-?? ?? ??? ??
  • ?? lt???gt, lt??-?? ?? 1gt, ??? lt??-?? ?? 2gt? ?? ????
    ????? lt??-?? ??gt? ???-?? ??? ?? ??? ???? ??? ??
  • ??-?? ??
  • ??-?? ?? ???? ???
  • ??-?? ??
  • ???-?? ?? ???? ???

30
13.8 ???-?? ?? ??? ??
  • Glass-box technique?? ??? ??? ????? ?? ??? ????
    ??
  • ???-?? ???? ?(statement),??(branch),????(path
    coverage)? ???? ?? ?? ??? ??.
  • 13.8.1 ??? ????,??,????
  • Statement coverage ???-?? ???? ?? ??? ???,?? ??
    ??? ??? ???? ??? ??? ??? ??? ?? ?. CASE?? ? ??
    ??? ???????? ??.
  • Branch coverage???? ?? ????? ?? ??? ??? ???
    ?????? ??? ???? ????? ??.?? ??? ???????? ????????
    ????? ??? ?.
  • ?????????? ?? ??? ??? ???(structural test)?? ??.
  • path coverage??? ???? ?? ??? ??.?? ??? ????.
  • All-definition-use-path coverage ???? ??? ??
    ?????? ? ?? ?? ?.?? ??? ??? ??? ??? ?? ??? ????
    ??? ??? ???.??? ???? ??? 2d? ?? ???.d? ??????
    ?? ?(branch)?? ?.
  • ????? ???? ???? ???? ?? ?,??,??? ???? ??? ???
    ???? ?? ??? ???? ??.

31
??? ???
  • ? ??(statement coverage)
  • ?? ???? ??? ???? ??? CASE ?? ? ?? ??? ???? ??? ??
    ????? ??
  • ??? ??
  • ??? ?? ??? ???? ???? ??? ? ??
  • ?? 13.9? ??
  • ?????? ???? s gt 1 t 0? s gt 1 t 0? ??
    ??? ? ? ??. ???? ??? ???? ?? ?? ?? ? x 9? ????
  • ???
  • ?? ??(branch coverage)
  • ?? ??? ??? ??? ?????? ???? ??? ??? ??? ??

32
??? ???
  • ??? ?? ??? ?? ??
  • ??? ??
  • ?? ??(path coverage)
  • ?? ??? ???
  • ??? ???? ? ?? ??? ?? ??? ????? ?? ??? ??? ??
  • ?? ??? ??
  • L? ??? ???? L??? ??? ??
  • ?? ?? ???? ?? ?? ?? ??? ??? ? ??? ????

33
??? ??? ?, ??, ?? ??
  • All-definition-use-path coverage
  • ??? ??? ??? ??? ?? ??? ????? ??? ??? ??
  • ???? ??? ?? ??
  • ?? ??????? ??? 2d? ???? ?? ??? ?? ?? d? ??
  • ???? ????? ??? ?? ??? ??? ?? ?? ??
  • ???? ????? ?? ??
  • ??
  • ???? ??? 2d(d branch? ?)

34
13.8.2 ??? ???
  • ?? ?? ??? ???-?? ??? ?? ???? ??
  • ??? ?? ???? ??? ???
  • ?? ???
  • ??? ?
  • ????? ????? ??? ??? ??? ?? ??

35
??? ???
  • ?? ???? ??? ?? ??? ???? ??? ??? ?? ?? ????? ??? ?
    ??. ??? ??? ??? ???? ??? ??
  • ??? ???
  • ???? ???? ?? ??? ?? ?? ??? ??
  • McCabe? ?? ???
  • ??? ???? ?? ??
  • M?? ??? ??? ??? ??? ??? ??
  • Halstead? ????? ?? ???? ?? ??? ??
  • JAVA? C ?? ??? ??? ??? ?? ?? ??

36
??? ???
  • Halstead? Software science(????? ??)?? ?? ???
    ??,?? ? ?? ?? ??(Halstead ??,77)?
  • ? ??? ?? ?? ???? n1? ???? ? n2
  • ???? ??? , , if, goto? ??
  • ???? ??? ?? ??? ??
  • ? ?? ?? ??
  • ???? ?? N1? ????? ?? N2
  • ? ?? ?? ??? ?? ?? ???? ???? ??

37
Problem with These Metrics
  • Both Software Science, cyclomatic complexity
  • Strong theoretical challenges
  • Strong experimental challenges
  • High correlation with LOC
  • Thus we are measuring LOC, not complexity
  • Apparent contradiction
  • LOC is a poor metric for predicting productivity
  • No contradiction-LOC is used here to predict
    fault rates, not productivity

38
13.9 ?? ???????
  • ?? ??? ??? ???? ??? 95?? ??
  • ?? ?? ???? ??
  • ??? ??-?? ???(??? ??)? ? ?? ???? ??? ?? ??
  • ?? ??
  • ??? ??-?? ????? ????? ??? ?? ??? ??
  • ??? ?? ?? ??? ?? ?? ???? ??
  • NASA Apollo Program? ????? ?? ? 80? ???? ?????

39
13.10 ????? ???? ??
  • Myers? ??-?? ???, ??-??? ???-?? ???? ??, ??? 3?
    ?? ???? ??
  • ??-?????? ?? ????? ?? ??? ?? ??? ?? ??
  • Hwang? ??-?? ???, ???-?? ???, ??? ? ??? ?? ?? ??
  • ? ???? ???? ??? ???? ??? ???

40
?? ??? ???? ??
  • ?? ??? Basili? Selbi? ??
  • ??-?? ???, ???-?? ???, ??? ? ??? ?? ????
  • ??? ??(fractional factorial) ??? ????? ?? ?????
    ?? ???? ??????? ??? ????? ??
  • ? ???? ??? ????? ? ?? ??? ???? ???
  • ?? ??? ??? ???-??? ??-?? ???? ?? ?? ???? ???
    ????? ? ?? ??
  • ? ??? ? ???? ?? ?? ??? ???(Cleanroom) ????? ?? ??

41
13.11 Cleanroom
  • Cleanroom ??
  • ??? ???? ??, ??? ??? ?? ?? ??, ??? ?? ?? ?? ??
    ???-?? ?? ??? ??, ?? ????? ??? ?? ?? ????? ??
    ???? ???
  • ??? ???-?? ???? ????? ??? ??? ???
  • ?? ???? ??-?? ???? ??? ?? ??
  • Cleanroom? ??? ? ???? ??? ??? ??? ??? ?? ??
    ???-?? ??? ????? ??? ??
  • ??? ????? ??? ?? ??

42
13.12 ??? ???? ? ??? ???
  • ????? ??-?? ???? ???? ?? ???
  • ??? ?? ???-?? ???? ??
  • ????? ?? ???? ????? ? ??? ??
  • ??? ??? ??? ??
  • ???? ???? ????? ??? ?? ??? ????? ?? ?? ??
  • ?? ?? ????(displayNodeContents? PrintRoutine)?
    ????? ?? ??
  • ?? ????? ??? ? ?? ??

43
13.13 ?? ???? ?? ??
  • ?? ??? ??? ??? ?? ??
  • ?? ?? ???? ??? ?? ??? ????, ??? ??? ???? ??
  • ??-?? ??? ??? ?? ??
  • ??? ??(reliability analysis) ??
  • ??? ??? ?? ??? ?????? ???? ??? ???? ?? ??

44
13.14 ??? ????? ???? ??
  • ??? ?? ??? ??? ??? ???? ??
Write a Comment
User Comments (0)
About PowerShow.com