software testing automation

Upload: manny54321

Post on 04-Jun-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Software Testing Automation

    1/47

    !!"! $%&

    '()*+,- .-/012 +13

    41+56/7/

    8-9:;,-

  • 8/14/2019 Software Testing Automation

    2/47

    .(3+6

    .-/: 4;:(>+0(1 ?@17: A-31-/3+6B 1( 95+// C:,;:D +13 ,-9(19757+0(1

    9(>>7//7(1 -E-1:F

    G

  • 8/14/2019 Software Testing Automation

    3/47

    .-/: 4;:(>+0(1

    !"# %&' ((#)' *(+,'

    -./01' 2342' 56607' 8.9

    H

  • 8/14/2019 Software Testing Automation

    4/47

    I+1;+5 J-,/;/ 4;:(>+:-3 .-/012

    !"#$"% '()*#+

    "5-E-, :-/: 9+/- 3-/721 K1:-,+90(1 *7:D /6/:->

    71/L7,+0(1 M(, 1-* :-/:/ N;>+1 (,+95- '7125- :-/: 9+/-

    -O-9;0(1

    87>7:-3 3+:+

    ,$-./"-(0 '()*#+

    "5-E-, :-/: 9+/- 3-/721 'L-9/P >(3-5/P Q 9(3- ;/-3

    :( 3-,7E- :-/: 9+/-/ 4;:(>+:-3 (,+95- 1--3-3 .-/: -O-9;0(1 -+/756

    ,-L-+:+R5-

    I+//7E- 71L;: 3+:+ L(//7R5-

    $

  • 8/14/2019 Software Testing Automation

    5/47

    '()*+,- !E(5;0(1

    S:00 68;?@/27 2"52 /4 /9239131 2;

  • 8/14/2019 Software Testing Automation

    6/47

    &

    8+*/ (M '()*+,- !E(5;0(1

    T-5+36 Q 8-D>+1P %UV&W

    !"# %& '%()(*+(, '-"(,.

    4 /6/:-> :D+: 7/ ;/-3 ;13-,2(-/ 9(101;7129D+12- ;105 7: R-9(>-/ >(,- -9(1(>79+5 :(

    ,-L5+9- 7: R6 + 1-* (, ,-/:,;9:;,-3 /6/:->

    !"# %& /(01."2+(, 3(41%56 .D- -1:,(L6 (M + /6/:-> 719,-+/-/ *7:D 0>-

    ;15-// /L-97X9 *(,Y 7/ -O-9;:-3 :( >+71:+71 (,

    ,-3;9- 7:1

    Success

    !

    Evolution

  • 8/14/2019 Software Testing Automation

    7/47

    V

    I+1+2712 !E(5;0(1 R6

    4;:(>+012 .-/: JK3>.?;9

    L34/

  • 8/14/2019 Software Testing Automation

    8/47

    .((5/ :D+: D-5L ;/ :( +;:(>+:-

    J-,/7(1 "(1:,(5 '6/:->/ ]7:

    T;753 ^,(9-//

    I+E-1 @17: .-/012 _,+>-*(,Y/

    ?@17:

    "(101;(;/ K1:-2,+0(1 C"KF ?-1Y71/

    `

  • 8/14/2019 Software Testing Automation

    9/47

    U

    a-L(

    C,->(:-F

    a-L(

    C5+L:(L %F

    "D-9Y(;:

    +33P

    9(>>7:

    a-L(

    C5+L:(L GF

    "D-9Y(;:

    +33P

    9(>>7:

    L;/D

    L;55

    L;/D

    L;55

  • 8/14/2019 Software Testing Automation

    10/47

    % /(;,9- :( -O-9;:+R5- +133-L5(6>-1:W

    .6L79+5 R;753 L,(9-//-/B 9(>L75-P 71/:+55P 8.9 500 23424P 2-1-,+:-

    3(9/P L-,M(,> +;:(>+:-3 /:+09 +1+56/7/P b

    I(/: :+/Y/ 9+1 R- 71E(Y-3 M,(> Kc!W H363525N03 N./01 68;>344 O37 2; P.50/27Q R8383P./4/23 C;8 5.2;=5231 234?9

  • 8/14/2019 Software Testing Automation

    11/47

    AD79D T;753 /6/:->/ 3( 6(; Y1(*e

    ;/-d

    %%

  • 8/14/2019 Software Testing Automation

    12/47

    %G

    T;753712 ;/712 '9,7L:/

    javac .\AanbiederSubsysteem\*.java

    javac .\BeheerderSubsysteem\*.java

    javac .\DonateurSubsysteem\*.javajavac .\DbSubsysteem\*.java

    javac .\GUISubsysteem\*.java

    javac .\LoginSubsysteem\*.java

    javac Server.java

    +55"5+//-/WR+:

    f+E+3(9 4+1R7-3-,';R/6/:--> T-D--,3-,';R/6/:--> cR';R/6/:--> g

    c(1+:-;,';R/6/:--> ]@K';R/6/:--> 8(271';R/6/:--> g

    [3 Wg'!f+E+3(9 [571Y DhLBeef+E+W/;1W9(>efG/-e%W$W%e3(9/e+L7

    f+E+3(9/WR+:111

    (:D-,WR+:

  • 8/14/2019 Software Testing Automation

    13/47

    %H

    C]i@F I+Y-j '7>L5- ]i@ >+Y-X5- W

    j .6L- k2>+Y- 9D-9Yk :( 9(>L75- +55 f+E+ X5-/ +13 ,;1 +55 :-/:/W

    [email protected]?4a m noNpI!qeLY2/ef;17:HWVef;17:Wf+,

    "^ m [email protected]?4aFBnC"84''^4.NF

    ?4J4l_K8!'mnC*7539+,3 rWf+E+F

    "84''l_K8!'mnCL+:/;R/: sWf+E+PsW95+//PnC?4J4l_K8!'FF

    +55B nC"84''l_K8!'F

    sW95+//B sWf+E+f+E+9 t9L nC"^F nu

    9D-9YB nC"84''l_K8!'F

    f+E+ [9L f;17:W:-O:;7W.-/:a;11-, .-/:455

  • 8/14/2019 Software Testing Automation

    14/47

    %$

    4i.B 4 ?+E+[T+/-3 T;753 .((5

    ],(;L +90(1/ 71:( 258+Y- ;/- (M 254O4

    a79D /-: (M L,-3-X1-3 :+/Y/ .+75(,-3 :(*+,3/ ?+E+ 3-E-5(L>-1:W !13 ;/-,/ 9+1 9,-+:- /L-97+5 :+/Y/P R6

    7>L5->-1012 :D- S54O71:-,M+9-W

    http://ant.apache.org

  • 8/14/2019 Software Testing Automation

    15/47

    A build tool

    A documentation toolA dependency management tool

    4L+9D- I+E-1

  • 8/14/2019 Software Testing Automation

    16/47

    4L+9D- I+E-1

    I+1+2- L,(f-9:v/ T;753 c-L-13-197-/ c(9;>-1:+0(1

    ^,-3-X1-3 L,(f-9:M(,>+: +13 L,(9-//

    '09Y :( :D- ,;5-/ Q 6(;v55R- D+LL6

    c-E7+:- +13 6(;v,- 3-+3

    'L-97M6 71 ^pIWO>5 ^,(f-9: pRf-9: I(3-5

    c-95+,+0E- i+>-/ w E-,/7(1/ (M f+,/

    1--3-3

    %&

  • 8/14/2019 Software Testing Automation

    17/47

    %V

  • 8/14/2019 Software Testing Automation

    18/47

    I+E-1 c->(

    %`

  • 8/14/2019 Software Testing Automation

    19/47

    %U

  • 8/14/2019 Software Testing Automation

    20/47

    G+E-1 /:--,-3 R6 L5;2[71/B95-+1P +//->R56P

    GG

  • 8/14/2019 Software Testing Automation

    23/47

    I+E-1 a-L(/7:(,7-/

    GH

    0

  • 8/14/2019 Software Testing Automation

    24/47

    ArtifactRepository

    (Local)Build CArtifact

    Repositories

    (Remote)

    Look for A & B

    Look for A & B

    com.example

    B

    [1.0,)

    compile

    Any Version After 1.0

    2(3(#0(#45 !"#"+(/(#-

  • 8/14/2019 Software Testing Automation

    25/47

    I+E-1 ^5;2[71/

    T;753 R-D+E7(, 3-X1-3 R6 L5;2[71/

    IE1 9(>>+13/B "5-+1P 9(>L75-P :-/:P 71/:+55P 3-L5(6P f+E+3(9P

    -957L/-B-957L/-P b

    x(; 9+1 3-X1- 6(;, (*1 L5;271/G=

  • 8/14/2019 Software Testing Automation

    26/47

    G&

    "(101;(;/ K1:-2,+0(1B

    .D- c+756 T;753

    416 >(37X9+0(1 >+6 9(,,;L: R;753 "(>L75+0(1 L,(R5->/P :-/:/ 3(1v: ,;1P WWW

    !1/;,- >0359 N./01-E-,6 172D: "D-9Y (;: M,(> E-,/7(1 >+1+2->-1: /6/:-> !O-9;:- 95-+1 9(>L75- e 9D-9Y :+,2-:/P WWW

    '%()(*%*2 /(4.,1")%(T \-6 L,+909- (M 3K283=3 68;

  • 8/14/2019 Software Testing Automation

    27/47

    GV

  • 8/14/2019 Software Testing Automation

    28/47

    G`

  • 8/14/2019 Software Testing Automation

    29/47

    .D- i--3 M(, I(9Y/

    .( Y--L :-/: /7>L5- .( 7>L,(E- 9(1:,(55+R757:6

    a-L5+9- -O:-,1+5 95+//-/ *7:D (1-/ /D(*712/L-97X9 R-D+E7(,

    .( 7>L,(E- (R/-,E+R757:6 .( >(17:(, 71:-,+90(1/ *7:D -O:-,1+5 C>(9Y-3F

    (Rf-9:/

    .( R,-+Y 3-L-13-197-/GU

  • 8/14/2019 Software Testing Automation

    30/47

    ",-+012 I(9Y pRf-9:/ *7:D I(9Y7:(

    @/- yI(9Y :( :;,1 (Rf-9:/ 71:( >(9Y/ 8-: :D- M,+>-*(,Y 2-1-,+:- :D- >(9Y/ KM 1--3-3P +33 /(>- R-D+E7(, :( :D- >(9Y/ !O-9;:- 6(;, :-/: 9+/-/ +/ 1(,>+556 U38/C771:-,+90(1/ *7:D :D- >(9YW

    HL5-B J-,7M6

    @RunWith( MockitoJUnitRunner.class )

    public class GameTest{

    ...

    @Mock Observer mockedObserver

    ...

    @Testpublic void testObserver {

    makePlay("P #");

    theGame.addObserver(mockedObserver);

    theGame.movePlayer(Direction.RIGHT);

    verify(mockedObserver,

    times(1)).update((Observable) anyObject(),

    anyObject());

    }

    }

  • 8/14/2019 Software Testing Automation

    32/47

    HG

    !O+>L5-B ':;RR712 T-D+E7(,

    LinkedList mockedList = mock(LinkedList.class);

    //stubbing

    when(mockedList.get(0)).thenReturn("first");

    when(mockedList.get(1)).thenThrow(new RuntimeException());

    //following prints "first"

    System.out.println(mockedList.get(0));

    //following throws runtime exception

    System.out.println(mockedList.get(1));

    //following prints "null:get(999) was not stubbed

    System.out.println(mockedList.get(999));

  • 8/14/2019 Software Testing Automation

    33/47

    .-/:+R757:6

    .-/: 9+/- >;/: R- +R5- :( S71f-9:z >(9Y/ +:L,(L-, L5+9-/W

    4{-9:/ 3-/721 "5+//79+5B

    "(1/:,;9:(,/P /-h-,/P +R/:,+9: M+9:(,7-/ 45:-,1+0E-56B

    c-L-13-196 71f-90(1 M,+>-*(,Y ]((25- 2;79-B 8-: yK1f-9: 2-1-,+:- |1-*v 9+55/W

    HH

  • 8/14/2019 Software Testing Automation

    34/47

    ':+09 41+56/7/

    "(3712 /:+13+,3/ 87/: (M ,;5-/ a-E7-*712 *+,1712/ _+5/- L(/70E-/ V43 2;;04 :O42703#K=0H$

  • 8/14/2019 Software Testing Automation

    35/47

    .-/: 4;:(>+0(1 M(, x(;d ^,(/e"(1/d

    67.

    _+9757:+:-/ 9(101;(;/,-2,-//7(1 :-/012

    I(,- :-/: 9+/-/ I(,- +3E+19-3 :-/:

    9+/-/

    a-L-+:+R5- :-/: /;7:-/

    8.#

    "(/: (M /-}12 ;L :-/:71M,+/:,;9:;,-

    I+71:-1+19- 9(/: (M:-/: /;7:-/

    H=

    K1 L,+909-B I7O (M >+1;+5 +13

    +;:(>+:-3 :-/012

  • 8/14/2019 Software Testing Automation

    36/47

    .-/: 4;:(>+0(1 "(19-L:/ CKF

    97"4%( :'()*+,- :D+: +LL57-/ + L+//eM+75 9,7:-,7(1 :( +

    L,(2,+> -O-9;0(1 7/ 9+55-3 + *2342, ;85>03D#

    4LL,(+9D-/

    %W J+5;- 9(>L+,7/(1GW '-5M 9D-9Y/HW J-,/7(1 9(>L+,7/(1/

    H&

    17.5

  • 8/14/2019 Software Testing Automation

    37/47

    HV

    .-/: 4;:(>+0(1 "(19-L:/ CKKF

    ;4"(7? K1E(Y- e +90E+:- /()*+,- e M;190(1+57:6W '-5-17;> e A-Rc,7E-,

    .-/: @"7#())? >7>79 L+,: (M :D- -1E7,(1>-1: C71L;:/P

    9(1X2/P -:9F

    17.3/4

  • 8/14/2019 Software Testing Automation

    38/47

    ~;-/0(1/d

    H`

  • 8/14/2019 Software Testing Automation

    39/47

    @17: .-/012 *7:D ?@17:

    HU

  • 8/14/2019 Software Testing Automation

    40/47

    $+1

    4,9D7:-9:;,-

    "(1:,(55-,

  • 8/14/2019 Software Testing Automation

    44/47

    $$

    ^+9>+1 _;190(1+57:6

    ^5+6-3 (1 R(+,3 9(1/7/012 (M Z [ E05-/W .75- 9+1 9(1:+71 + L5+6-,P + *+55 -5->-1:P M((3P (, + 2D(/:W ]D(/:/ +/ *-55 +/ L5+6-,/ 9+1 >(E- 71 D(,7(1:+5 (, E-,09+5

    37,-90(1/P (1- /:-L +: + 0>-W

    AD-1 :D- L5+6-, D7:/ + 2D(/: (, E79- E-,/+P :D- 2+>- 7/ (E-,W AD-1 :D- L5+6-, E7/7:/ + 9-55 9(1:+71712 M((3 D7/ L(71:/ 2-:

    719,->-1:-3 R6 (1-W

    AD-1 +55 M((3 7/ -+:-1 R6 :D- L5+6-,P + 1-* 5-E-5 7/ -1:-,-3W

  • 8/14/2019 Software Testing Automation

    45/47

    I(3-5 "5+// c7+2,+>

    T(+,3'L,7:- -

    8(+3-,

  • 8/14/2019 Software Testing Automation

    46/47

    $&

    .D- ^+9>+1 .-/012 '9+{(53/

    ?@17: :-/: /;7:- >0544.-/:B ;17: :-/:/ M(, S>0544zfL+9>+1W.-/:455B 9(55-9:/ +55 :-/: 9+/-/fL+9>+1W^+9>+1.-/:B +99-L:+19- :-/: /;7:-

    ]+>-.-/:"+/-B ?@17: :-/: 95+// 7195;3712 +1 -O+>L5- R(+,3 ;/-M;5

    M(, :-/012 L;,L(/-/

    _;55 ^+9>+1B /(;,9- 9(3- HV=< 5(9P :-/:/ G

  • 8/14/2019 Software Testing Automation

    47/47

    ?^+9>+1 e .cc 71 490(1d

    _a%B:11 >;.9238 C;8 9.=N38 ;C =;@34 =513T

    !E-,6 0>- :D- L5+6-, >(E-/P :D- >(E- 9(;1:-, 7/;L3+:-3W

    KM :D- 2+>- ,-/:+,:/P :D- 9(;1:-, 7/ ,-/-: :( -,(W ]@KB .D- 9(;1:-, 7/ 37/L5+6-3 +13 ;L3+:-3 ;L(1 -E-,6

    >(E-W @L(1 @icp :D- >(E- 9(;1:-, /D(;53 3-9,-+/-