~ mannual testing

Upload: ankit-prince

Post on 06-Jul-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 ~ Mannual Testing

    1/150

    SDLC :- Software Development Life Cycle

    It is a procedure to develop the software.

    It is a process of creating or altering systems and the models and methodologies that peopluse to develop these systems.

    Any SDLC should result in a high quality system that meets or exceeds customer expectationreaches completion within time and cost estimates, wors e!ectively and e"ciently and

    inexpensive to maintain and cost e!ective to enhance.

    Di!erent procedures # models are availa$le to develop a software namely,

    1) Waterfall model

    It is a traditional model

    It is a sequential design process, often used in SDLC, in which the progress is seen as %owinsteadily downwards & lie a waterfall ', through the di!erent phases as shown in the (gure,

    Requirements Collection :-

    ) * + a g

    -/I-0-12S C3LL-C2I31

    4-ASI5ILI26 S2/D6 # A1AL6SIS

    D-SI71

      C3DI17 # +37A00I17

     2-S2I17

    I1S2ALLA2I31

      0AI12AI1-1C-

  • 8/17/2019 ~ Mannual Testing

    2/150

    8 done $y 5usiness Analysts and +roduct Analysts

    8 gathering requirements

    8 translates $usiness language into software language

    For e! let us consider the example of a $aning software.

    Feasi"ility Study :-

    8 done $y software team consisting of pro9ect managers, $usiness analysts, architects, (nance:, developers $ut not testers

    8 architect ; is the person who tells whether the product can $e developed and if yes, thewhich technology is $est suited to develop it.

    8 here we chec for,

    8 technical feasi$ility

    8 (nancial feasi$ility

    8 resource feasi$ility

    Desi#n :-

     2here are < stages in design,

    :LD ; :igh Level Design

    LLD ; Low Level Design

    :LD ; gives the architecture of the software product to $e developed and is done $y architectand senior developers

    LLD ; done $y senior developers. It descri$es how each and every feature in the produc

    should wor and how every component should wor. :ere, only the design will $e there annot the code.

    For e! let us consider the example of $uilding a house.

    Codin# $ %ro#rammin# :-

    8 done $y all developers ; seniors, 9uniors, freshers

    8 this is the process where we start $uilding the software and start writing the code for thproduct.

    &estin# :-

    8 done $y test engineers

    8 it is the process of checing for all defects and rectifying it.

    'nstallation :-

    < * + a g

  • 8/17/2019 ~ Mannual Testing

    3/150

    8 done $y installation engineers

    8 to install the product at a client=s place for using after the software has $een developed antested.

    For e! consider the example of a software to $e developed and installed at eliance petro$un.

    (aintenance :-

    8 here as the customer uses the product, he (nds certain $ugs and defects and sends thproduct $ac for error correction and $ug (xing.

    8 $ug (xing taes place

    8 minor changes lie adding, deleting or modifying any small feature in the software product

    )>> ? testing is not possi$le ; $ecause, the way testers test the product is di!erent from thway customers use the product.

    Service "ased companies and %roduct "ased companies

    Service "ased companies : -

     2hey provide service and develop software for other companies

     2hey provide software which is and speci(ed as per the client company=s requirement annever eep the code of the developed product and does not provide the software to any othecompany other than the client company.

    -x ; @ipro, Infosys, 2CS, Accenture

    %roduct "ased companies :-

     2he develop software products and sell it to many companies which may need the softwar

    and mae pro(ts for themselves

     2hey are the sole owners of the product they develop and the code used and sell it to othecompanies which may need the software.

    -x ; 3racle, 0icrosoft

    Draw"ac*s of Waterfall (odel :-

    In waterfall model, $actracing is not possi$le i.e, we cannot $ac and change requirementonce the design stage is reached. 2hus the requirements are freeed once the design of thsoftware product is started. Change in requirements ; leads to change in design ; thus $ugenter the design ; which leads to change in code which results in more $ugs. 2hus th

    requirements are freeed once the design of the product is started.

    Advantage of requirements freeing is we get a sta$le product $ecause there is no change design and code.

    Draw$ac of requirements freeing ; the customer may not $e satis(ed if the changes hrequires is not incorporated in the product. 2he end result of waterfall model is not a %exi$lproduct.

    B * + a g

  • 8/17/2019 ~ Mannual Testing

    4/150

    0a9or draw$ac of waterfall model ; testing is a small phase which is done after codingequirement is not tested, design is not tested, if there is a $ug in the requirement, it goes otill the end and leads to lot of re8wor.

    +dvanta#es of waterfall model ; requirements do not change nor does design and code, swe get a sta$le product.

    +pplications of waterfall model 8

    /sed in ; developing a simple application

      8 for short term pro9ects

      8 whenever we are sure that the requirements will not change

    For e! waterfall model can $e used in developing a simple calculator as the functions oaddition, su$traction etc and the num$ers will not change for a long time.

    , ) S%'R+L (D.L

     2he spiral model is shown in the (gure in the next page.

    a8 requirements analysis of module A. Similarly with $, c, d.

    Da ; design of module A. Similarly with D$, Dc, Dd

    Ca ; coding of module A. Similarly with C$, Cc, Cd

     2a ; testing of module A. Similarly with 2$, 2c, 2d

    In Spiral model, the software product is developed in small modules. Let us consider the (gurshown $elow in developing a s#w product . is $uilt $y integrating A,5,C and D.

     2he module A ; requirements of the module is collected (rst and then the module is designed 2he coding of module A is done after which it is tested for defects and $ugs.

     2he module 5 ; once module A has $een $uilt, we start the same process for module 5. 5uwhile testing module 5, we test for B conditions ; a'test module 5 $'test integration of modu5 with A c'test module A.

     2he module C ; after $uilding module A,5, we start the same process for module C. :ere wtest for the following conditions ; )' test module c, $, a

  • 8/17/2019 ~ Mannual Testing

    5/150

      a $ c

    Dc D$ Dd

      Cc C$ Ca 2a 2$ 2c

    CD'0/ &.S&'0/

    4or spiral model, the $est example that we can consider is the 0S8-xcel application.

     2he 0S8-xcel sheet consists of a num$er of cells that are the components of -xcel sheet.

    :ere we have to create the cells (rst &module A'. 2hen we can do operations on the cells limerge cells into two , split cell into half &module 5 '. 2hen we can draw graphs on the excesheet &module C'.

    F * + a g

  • 8/17/2019 ~ Mannual Testing

    6/150

  • 8/17/2019 ~ Mannual Testing

    7/150

  • 8/17/2019 ~ Mannual Testing

    8/150

    D.8.L%.RS &.S& .0/'0..RS

    &.S&'0/

    &estin#

    team tests

    te

    4nised

    product

  • 8/17/2019 ~ Mannual Testing

    9/150

    1)  2esting starts in very early stages of product development which avoids downward %ow o

    defects which in turn reduces lot of rewor

    ,) 2esting is involved in every stage of product development

    7) Delivera$les are parallel#simultaneous ; as developers are $uilding SS, testers are testin

    CS and also writing A2+ and A2C and so on. 2hus as the developers give the (nished produc

    to testing team, the testing team is ready with all the test plans and test cases and thus th

    pro9ect is completed fast.

    ;) 2otal investment is less ; as there is no downward %ow of defects. 2hus there is less or n

    re8wor

    Draw"ac*s of 898 model

    1) Initial investment is more ; $ecause right from the $eginning testing team is needed

    ,) 0ore documentation wor ; $ecause of the test plans and test cases and all othe

    documents

    +pplications of 898 model

    @e go for GHG model in the following cases,

    1) for long term pro9ects

    ,) for complex applications

    7) when customer is expecting a very high quality product within stipulated time fram

    $ecause every stage is tested and developers H testing team are woring in parallel

    ;) %R&&=%. D.8.L%(.0& (D.L

     2he requirements are collected from the client in a textual format. 2he prototype of the s#

    product is developed. 2he prototype is 9ust an image # picture of the required s#w product. 2h

    customer can loo at the prototype and if he is not satis(ed, then he can request mor

    changes in the requirements.

    +rototype testing means developers# testers are checing if all the components mentioned ar

    existing.

     2he di!erence $#w prototype testing and actual testing ; in +22, we are checing if all th

    components are existing, whereas, in A22 we chec if all components are woring.

    * + a g

    R.2'R.(.0&S CLL.C&'0

    D.S'/0 +0D D.8.L%(.0& F%R&=%. &.S&'0/C2S&(.R R.8'.WD.S'/0CD'0/&.S&'0/'0S&+LL+&'0(+'0&+'0.0C.

    D.F.C&S +0D

    C

  • 8/17/2019 ~ Mannual Testing

    10/150

    +%%R8+L

    4rom M-/I-0-12 C3LL-C2I31N to MC/S230- -GI-@N, textual format has $ee

    converted to image format. It is simply extended requirement collection stage. Actual desig

    starts from MD-SI71N stage.

    )> * + a g

  • 8/17/2019 ~ Mannual Testing

    11/150

  • 8/17/2019 ~ Mannual Testing

    12/150

     

    We #o for tis model wen!

    1) @henever there is dependency, we go for this hy$rid model

    ,) @hen the customer gives requirement in stages, we develop the product in stages usin

    this hy$rid model.

    7) @hen the customer is new to the s#w domain

    ;) @hen developers are new to the domain

    )< * + a g

  • 8/17/2019 ~ Mannual Testing

    13/150

    ?) @hen customer is not clear a$out his own requirements

  • 8/17/2019 ~ Mannual Testing

    14/150

    +nddefects

    D.8.L%.RS &.S&.RS

    )E * + a g

    '0&.R8'.W 2.S&'0S

    1 ) What is SDLC ?

    2) What are the different models available ?

     ANS) Tell the 1st  6 models and 7)R! " Rational nified !ro#ess $odel %) A&ile $odel 

    ') RAD " Ra(id A((li#ation Develo(ment 

    ) Advanta&es* Disadvanta&es and A((li#ations of ea#h model 

    +) A model for ever, (ro-e#t in o.r res.me /0 for (ro-e#ts e do* be (re(ared to tell hi#h

    model e .sed for ea#h (ro-e#t and h, e .sed that (arti#.lar model onl, The most #ommon

    anser e #an tell " e .sed a h,brid of 3so and so4 model for the reasons s.#h as " #lient as

    not s.re of his re5.irements* et#

  • 8/17/2019 ~ Mannual Testing

    15/150

    De4nition of Software &estin#

    It is a process of (nding or identifying defects in s#w is called s#w testing. It is verifying thfunctionality&$ehavior' of the application&s#w' against requirements speci(cation. It is thexecution of the s#w with the intention of (nding defects. It is checing whether the s#w woraccording to the requirements.

    &ere are 7 types of s$w testin#! namely!

    1) Wite "o testin#  ; also called unit testin#  or structural testin#  or #lass "otestin# or transparent testin# or open-"o testin#

    ,) /rey "o testin#7) 5lac* "o testin# also called as functional testin# or "eavioral testin#

    W

  • 8/17/2019 ~ Mannual Testing

    16/150

    -ntire @52 is done $y developers. It is the testing of each and every line of code in thprogram. Developers do @52, sends the s#w to testing team. 2he testing team does $lac $otesting and checs the s#w against requirements and (nds any defects and sends it to thdeveloper. 2he developers (xes the defect and does @52 and sends it to the testing team4ixing defect means the defect is removed and the feature is woring (ne.

    &est en#ineers sould not "e involved in 4in# te "u# "ecause!

    )' if they spend time in (xing the $ug, they lose time to catch some more other defects in th

    s#w

  • 8/17/2019 ~ Mannual Testing

    17/150

    66

    E

     2he program should wor correctly for $oth conditions i.e, if condition is true, then else shou$e false and vice8versa

    c) Loop testin#

     2est the loops&for, while, do8while, etc' for all the cycles and also chec for terminatincondition if woring properly and if the sie of the condition is su"cient enough.

    4or ex, let us consider a program where in the developer has given a$out )lah loops.

    Wile 3 1!! )

    6

    6

    E

    @e cannot test this manually for all )lah cycles. So we write a small program,

    &est +

    E

    @hich checs for all )lah loops. 2his 2est A is nown as unit test. 2he test program is writtein the same language as the source code program. Developers only write the test program.

    )J * + a g

    R.2'R.(.0&

    +

    R.2'R.(.0&

    5

    R.2'R.(.0&

    C

    R.2'R.(.0&

    D

    %R/R+(

    +

    %R/R+(

    5

    %R/R+(

    C

    %R/R+(

    D

    %R/R+(

    .

  • 8/17/2019 ~ Mannual Testing

    18/150

    Let us consider the a$ove case as shown in the (gure. Suppose the pro9ect consists o

    equirement A,5,C,D,-. 2hen the developer writes the Codes A,5,C,D,- for the correspondinrequirements. 2he program consists of )>>s of lines of code.

    As developers do @52, they test the F programs line $y line of code for defects. If in any th

    program, there is a defect, the developers identify the defect and recti(es it, and they agai

    have to test the program and all the programs again. 2his involves a lot of time and e!ort an

    slows down the pro9ect completion time.

    Let us consider another case. Suppose the client ass for requirement changes, then th

    developers have to do the necessary changes and test the entire F programs again. 2his agai

    involves a lot of time and e!ort.

    &is draw"ac* can "e corrected in te followin# manner6

    @e write a test program for the corresponding program. 2he developers write these tes

    programs in the same language as the source code. 2he developers then run these tes

    programs also called as unit test programs. 2hese test programs connect to the ma

    programs and run as the programs. 2hus if there is any requirement change or defects in th

    program, then the developers simply mae the changes either in the test program # ma

    program and run the test program as a whole.

    R20

    )K * + a g

    R.2'R.(.0& +

    R.2'R.(.0& 5

    R.2'R.(.0& C

    R.2'R.(.0& D

    R.2'R.(.0& .

    %R/R+( +

    %R/R+( 5

    %R/R+( C

    %R/R+( D

    %R/R+( .

    &.S& +

    &.S& 5

    &.S& C

    &.S& D

    &.S& .

  • 8/17/2019 ~ Mannual Testing

    19/150

  • 8/17/2019 ~ Mannual Testing

    20/150

  • 8/17/2019 ~ Mannual Testing

    21/150

    @e have a tool $y name Rational %urify

    +rograms A, 5, and C is given as input to D. D goes into the programs and checs for unusevaria$les. It then gives the result. 2he developer can then clic on the various results and caor delete the unused varia$les and functions.

     2his tool is speci(c only for C, C languages. 4or other languages, we have other similatools.

    iv ) 2he developer doesn=t use already existing in$uilt functions and sits and writes the entir

    function using his logic. 2hus leads to waste of time and also delays.

    Let us consider there is an already in$uilt function sort 3 ). Instead the developer sits anwrites his own program mysort 3 ). 2his leads to waste of time and e!ort. Instead he coulhave used a single function call sort 3 )6

    e ) &est for response time$ speed$ performance of te pro#ram

     2he reasons for slow performance could $e,

    i ' Logic used

    ii ' Switch case ; Do not use nested if! instead use switc case

    iii ' Also there must $e appropriate use of MorN and MandH for conditional cases. 

    R+&'0+L 2+0&'F= R.S2L

    S

  • 8/17/2019 ~ Mannual Testing

    22/150

    As the developer is doing @52, he sees that the program is running slow or the performancof the program is slow. 2he developer cannot go manually through the code and chec whicline of the code is slowing the program.

    @e have a tool $y name Rational uantify to do this 9o$ automatically. As soon as all thprograms are ready. 2his tool will go into the program and runs all the programs. 2he result shown in the result sheet in the form of thic and thin lines. 2hic lines indicate that the piecof code is taing longer time to run. @hen we dou$le8clic on the thic line, then the tooautomatically taes us to the line#piece of code which is also colored di!erently. @e can modifthat code and again use rational quantify. @hen the sequence of lines are all thin, we nothat the performance of the program has improved.

    Developers do a lot of @52 automatically rather than manually $ecause it saves time.

    DiIerence "etween Wite 5o &estin# and 5lac* 5o testin#

    1) Wite 5o &estin# ,) 5lac* 5o &estin#

    a) 1) Done $y developers

      ,) Done $y test engineers

    ") 1) Loo into the source code and test the logic of the code

      ,) Gerifying the functionality of the application against requirement speci(cations

    c) 1) Should have nowledge of internal design of the code

      ,) 1o need to have nowledge of internal design of the code

    d) 1) Should have nowledge of programming

      ,) 1o need to have nowledge of programming

  • 8/17/2019 ~ Mannual Testing

    23/150

    5L+CB 5> &.S&'0/

    It is verifying the functionality & $ehavior ' against requirement speci(cations.

    &ypes of 5lac* 5o &estin#

    1) F20C&'0+L &.S&'0/

    Also called component testing. 2esting each and every component thoroughly &rigorously

    against requirement speci(cations is nown as functional testing.

    For e! let us consider that Citi$an wants a s#w for $aning purpose and it ass the companI%ex to develop this s#w. 2he s#w is something as shown $elow. @hen the user clics his valiuser name and enters his password, then he is taen into the homepage. 3nce inside thhomepage, he clics on amount transfer and the $elow page is displayed. :e enters his valiaccount num$er and then the account num$er to which the money is to $e transferred. :then enters the necessary amount and clics on transfer. 2he amount must $e transferred tthe other account num$er.

    1ow in $lac $ox testing, the test engineer tests the s#w against requirements and checs the s#w is woring correctly as per requirements.

    &is is ow te requirements #iven "y te client loo*s li*e 3(gure $elow'. It is usually word document (le. Let us consider that Citi$an gives a K>pg SS in 0S8@3D format. 2htest engineer then loos at the requirements and correspondingly checs the s#w.

    1ow the test engineer does all possi$le tests on the < account num$ers. 1ow, he proceedwith the testing of Amount transfer. 2hese are the following tests he conducts for testing thamount (eld,

    :e enters the following data in the amount (eld,

  • 8/17/2019 ~ Mannual Testing

    24/150

    a' ; )>> > $' )>>V > c')>>.F> >

    d' :undred rupees only > e' )>> $lan space > >

    f' )>> g'>.>>) >

    4or all the a$ove cases except for f) , it should throw an error message. If it doesn=t throwthen there is a $ug in the s#w and the s#w must $e sent to the development team to repair thdefect.

      SCRLL

    8digit integerA6,6, Should accept only those accounts created $y

    managerA67 +mount &et4eld

    A6761 Should accept only positive integersA676, Should not accept more than $alance

    6 6 6 6 6 6 6 66 6 66 6 6 6 6 6 6 6 66 66 6 6 6 6 6 6 6 6 6 6

  • 8/17/2019 ~ Mannual Testing

    25/150

    &us! durin# testin#! we must remem"er te followin# points!

    a' @e must always start testing the application with the valid data. In the a$ove example fo

    amount transfer, we see that we have entered the valid data )>> only in the

    th

      test. 2hshould not $e done, $ecause if the valid data itself is not taen correctly, then we need nohave to waste our time checing for the invalid data

    $' If the application wors for valid data, only then we must start testing for invalid data

    c' If the application is not woring for ) of the invalid values, then we can continue testing foall the other invalid values and then su$mit the test report of all the defects for invalid values

    d' In testing, we should not assume or propose requirement. If we have any queries, tal tthe one who nows the requirements very well and clarify the queries.

    e' @e must not do over-testin#  & testing for all possi$le 9un values ' or under-testin

    & testing for only ) or < values '. @e must only try and do optimi@e testin# &testing for onthe necessary values8 $oth invalid and valid data'.

    f' @e must do $oth positive testin# &testing for valid data' and ne#ative testin# &testinfor invalid data'.

    &e caracterstics of a #ood requirement are!

    1) 2nitary 3 coesive ) the requirement addresses ) and only ) thing

    ,) Complete  the requirement is fully stated in ) place with no missing information

    7) Consistent the requirement does not contradict any other requirement and is full

    consistent with all authoritative external documentation

    ;) 0on-ConJu#ated 3 +tomic ) the requirement is atomic i.e, it does not contain certacon9unctions. -x ; Mthe postal code (eld must validate American and Canadian postal codesshould $e written as two separate requirements )' M2he postal code (eld must validatAmerican +ostal codesN and

  • 8/17/2019 ~ Mannual Testing

    26/150

    A) Current the requirement has not $een made o$solete $y the passage of time

    K) 2nam"i#uous the requirement is concisely stated without recourse to technical 9argonacronyms etc. it expresses o$9ective facts, not su$9ective opinions. It is su$9ective to one anonly one interpretation.

    ) (andatory the requirement represents a staeholder de(ned characterstic the a$sencof which will result in a de(ciency that cannot $e ameliorated

    M) 8eri4a"le the implementation of the requirement can $e determined through one of possi$le methods ; inspection, demonstration, test or analysis.

    ,) '0&./R+&'0 &.S&'0/

     2esting the data %ow or interface $etween two features is nown as integration testing.

     2ae < features A H 5. Send some data from A to 5. Chec if A is sending data and also checif 5 is receiving data.

    1ow let us consider the example of $aning s#w as shown in the (gure a$ove & amountransfer '.

    Scenario 1 Login as A to amount transfer ; send )>>rs amount ; message should $displayed saying Wamount transfer successful= ; now logout as A and login as 5 ; go to amoun$alance and chec $alance ; $alance is increased $y )>>rs ; thus integration test

    successful.

    Scenario , also we chec if amount $alance has decreased $y )>>rs in A

    Scenario 7 clic on transactions ; in A and 5, message should $e displayed regarding thdata and time of amount transfer

    &us in 'nte#ration &estin#! we must remem"er te followin# points!

  • 8/17/2019 ~ Mannual Testing

    27/150

    1) /nderstand the application thoroughly i.e, understand how each and every feature worsAlso understand how each and every feature are related or lined to each other.

    ,) Identify all possi$le scenarios

    7) +rioritie all the scenarios for execution

    ;) 2est all the scenarios

    ?) If you (nd defects, communicate defect report to developers

    A) Do positive and negative integration testing. %ositive if there is total $alance of )>,>>>send )>>>rs and see if amount transfer wors (ne ; if it does, then test is pass. 0e#ative there is total $alance of )>,>>> ; send )F>>>rs and see if amount transfer happens ; if doesn=t happen, test is pass ; if it happens, then there is a $ug in the program and send it tdevelopment team for repairing defects.

     

    C(%S.(+'L

    S.0& '&.(S

    &R+S<

    S%+(

    C0&+C&S

    FLD.RS

    L/2&

    &.>& F'.LD

    S.0D C+0C.L

  • 8/17/2019 ~ Mannual Testing

    28/150

    Let us consider gmail software as shown $elow. @e (rst do functional testin# for usernam

    and password and su$mit and cancel $utton. 2hen we do inte#ration testing for the a$ov

     2he following scenarios can $e considered,

    Scenario 1 Login as A and clic on compose mail6 @e then do functional testin# for th

    individual (elds. 1ow we clic on send and also chec for save drafts6 After we send mail t

    5, we should chec in the sent items folder of A to see if the sent mail is there. 1ow w

    logout as A and login as 5. 7o to in"o and chec if the mail has arrived.

    Scenario , we also do inte#ration testin# for spam folders. If the particular contact ha

    $een mared as spam, then any mail sent $y that user should go to spam folder and not t

    the in"o6 

    @e also do functional testin# for each and every feature lie ; in"o!sent items etc 6

    Let us consider the (gure shown a$ove.

  • 8/17/2019 ~ Mannual Testing

    29/150

    @e (rst do functional testin# for all the text (elds and each and every feature. 2hen we dinte#ration testin# for the related features. @e (rst test for add user and list user andelete user and ten edit user and also searc user6

    %oints to remem"er!

    1)  2here are features we might $e doing only doing functional testing and there are featurewe might $e doing $oth integration and functional testing. It depends on features.

    ,) +rioritiing is very important and we should do it at all the stages which means ; open thapplication and decide which feature to $e tested (rst. 7o to that feature and decide whiccomponent must $e tested (rst. 7o to that component and decide what value to $e entere(rst. Don=t apply same rule everywhereXX. 2esting logic changes from feature to feature.

    7) 4ocus is important i.e, completely test ) feature and then only move onto another feature.

    ;) 5etween < features, we might $e doing only positive integration testing or we might $doing $oth positive and negative integration testing. It depends on the feature.

     2here are two types of inte#ration testin#!

    'nte#ration testin#

    'ncremental 'nte#ration &estin# 0on-'ncremental 'nte#ratio&estin#

    &op-down 'nte#ration &estin# 5ottom-up 'nte#ration &estin#

    'ncremental 'nte#ration &estin# :

     2ae two modules. Chec if data %ow $etween the two

    woring

    (ne. If it is, then add one more module and test agai

    Continue lie

    this. Incrementally add the modules and test the data %o

    $etween

    the modules.

     2here are two ways,

    a' 2op8down Incremental Integration 2esting

    $' 5ottom ; up Incremental Integration 2esting

  • 8/17/2019 ~ Mannual Testing

    30/150

    &op-down 'nte#ration &estin# :

    Incrementally add the modules and test the data %o

    $etween the

    modules. 0ae sure that the module that we are adding

    child of

    previous one.

    ChildB is child of child< and so on.

    %+R.0&

    C * + a g

  • 8/17/2019 ~ Mannual Testing

    31/150

    C

  • 8/17/2019 ~ Mannual Testing

    32/150

    (+0+/.R

    In the a$ove example. 2he development team develops the s#w and send it to the C-3 of thtesting team. 2he C-3 then logs onto the s#w and creates the username and password ansend a mail to a manager and tells him to start testing the s#w. 2he manager then edits thusername and password and creates an username and password and send it to the engineefor testing. 2his hierarchy from C-3 to 2esting -ngineer is top-down increment

    inte#ration testin#6

    Similarly, the testing engineer once he (nishes testing sends a report to the manager, whthen sends a report to the C-3. 2his is nown as "ottom-up incremental inte#ratiotestin#6

    .ample for non-incremental 'nte#ration testin#

     2he a$ove example displays a homepage of a gmail in$ox. @hen we clic on in$ox lin, we artransferred to the in$ox page. :ere we have to do non-incremental inte#ration testin$ecause there is no parent and child process here.

    Stu" and Driver

    B< * + a g

      CR.+&..0/'0..R

    Y.

    Y.Y.

    (+0+/.R ,Create -ngineer-dit -ngineer

    Y.Y..

    '05>

    6

    '05>

    C(%S. (+'L

    S.0& '&.(S

    DR+F&S

    S&+RR.D

    FLD.R

    &R+S<666666

    D.L.&. FRW+RD (8.

  • 8/17/2019 ~ Mannual Testing

    33/150

      R.+L +

     

    DR'8.R

    S&25 3 Dummy 5 )

    Stu$ is a dummy module which 9ust receives data and generates a whole lot of expected data$ut it $ehaves lie a real module. @hen a data is sent from real module A to stu$ 5, then  9ust accepts the data without validating and verifying the data and it generates expecteresults for the given data.

     2he function of a driver is it checs the data from A and sends it to stu$ and also checs thexpected data from stu$ and sends it to A. Driver is one which sets up the test environmenand taes care of communications, analyses results and sends the report. @e never use stu$and drivers in testing.

    In W5&! "ottom-up inte#ration testin# is preferred $ecause writing drivers is easy. "lac*-"o testin#! no preference and depends on the application.

    7) S=S&.( &.S&'0/

    It is end-to-end testin#  wherein testin# environment is similar to te productio

    environment6

    .nd to end testin#

    BB * + a g

    (NT'$)('W T(*% and +#'%T("N%

    1) n intervie* the,ll as8 " Whi#h is the most (referred method of testin& and &ive +o(tions "

    a) 9.n#tional Testin& b) White/bo: testin& #) To(/don inte&ration testin&

    d) ;ottom " .( nte&ration testin& 

     Ans) Ala,s rite ;ottom/.( testin& " .nless as8ed s(e#ifi#all, for an,thin& else

    2) n intervie* the,ll as8 " When does testin& start ? Ans) ala,s tell* testin& starts as soon as the re5.irements are handed over " #o< the intervieers

    ala,s have =>= model in mind " if an, s(e#ified model is as8ed* then anser a##ordin& to that

    model

    ) n intervie* the,ll as8 " have 2mod.les A and ; " A has been b.ilt* ; is ,et to be b.ilt " b.t i 

    need to test ;* ho #an do nte&ration Testin& for A and ; ?

     Ans) e #reate a d.mm, mod.le ; also 8non as St.b* and then tell abo.t st.bs f the, as8 have

     ,o. ever ritten a st.b " then tell " st.bs are ver, rarel, .sed and that ,o. -.st 8no abo.t the

    #on#e(t thro.&h the internet

  • 8/17/2019 ~ Mannual Testing

    34/150

    :ere, we navigate through all the features of th

    software and

    test if the end $usiness # end feature wors. @e 9us

    test the

    end feature and don=t chec for data %ow or d

    functional

    testing and all.

    Let us consider an eample to eplain System &estin#6

    Let us consider Citi$an wants a software for overdraft feature. It ass I4lex company tdevelop the software and it provides CS to develop the feature. 2he CS contains how thoverdraft feature wors,

     2he di!erence $etween personal loan and overdrafts is ; personal loans, loans can $provided upto times more than the monthly income and also taes a long time to approv$y the manager for personal loan. @hereas, in 3verdraft, the loan amount is twice thmonthly income and taes hardly a day to $e approved $y the manager. 4or ex, if a customeof Citi$an wants a overdraft loan of s ,>>> over his monthly income of s )>,>>>. 2hmanager approves the loan. Let us say that the interest rate is

  • 8/17/2019 ~ Mannual Testing

    35/150

    C2S&(.R

    BF * + a g

    YY..

    YY

    YY..

    8.RDR+F&

    NO +pply for verDraft

    NO verDraft 5alance

    NO Repay verDraft

    +%%L= FR 8.RDR+F&S

      +(20&

     

    8.RDR+F& 5+L+0C.

     

    5+L+0C.

    R.%+= 8.RDR+F&S

      +(20&S2CC.SSF2LL= 

    R.%+=.D

      S2CC.SSF2LL= 

      +%%L'.D

    +CC20& 5+L+0C.

    +(20&&R+0SF.R

    L+0S

    8.RDR+F&S

    '0S2R+0C.

    L/2&

    YY

    YY.

    YY

    YY

    Y..

    YY

    YY.

    YY+%%L= C+0C.L

    Y..

    YY

    YY

    YY

    YY

    YY

    YY

    YY

    YY.

    R.%+= C+0C.L

    YY

    YY.

    YY

  • 8/17/2019 ~ Mannual Testing

    36/150

     2he development team develops the required software as shown a$ove. 2he (rst (gurepresents the software that can $e accessed $y the manager only. 2he < nd (gure representhe software that can $e accessed $y the $an=s customers.

    Let us consider system testing now. @e test for interest calculation when the customer tae

    overdrafts for the )st

     time and when he taes overdrafts for the <nd

     time.Scenario 1

    )' Login as A ; Apply for 3D s >>> ; Clic on Apply ; Logout

    >> should $e deposited ; Logout

    E' Change the server date to next B>days

    F' Login as A ; Chec 3D 5alance ; >>> E>> O F> ; Logout

    ' Login as manager ; clic on Deposit ; Deposit s F> ; Logout

    J' Login as A ; epay 3D amount ; Chec 3D $alance ; s >

    K' Login as manager ; Clic on Deposit ; Deposit s >>> to A=s account 8 logout

    ' Login as A ; Apply for 3D s >>> ; Clic on Apply ; Logout

    )>' Login as manager ; Approve 3D of A ; Logout

    ))' Login as A ; Chec 3D 5alance ; s >>> should $e deposited ; Logout

    )>> E>> O E>> ; Logout

    )E' Login as manager ; Deposit E>> ; logout

    )F' Login as A ; repay 3D amount ; Chec 3D $alance ; s >

    Scenario , now we test another scenario where in ; let us consider that the $an gives ao!er that states that ; a customer who taes s F>>>> as 3D for the (rst time will not $

    B * + a g

  • 8/17/2019 ~ Mannual Testing

    37/150

    charged activation fee and activation fee will not $e refunded when he taes another 3D fothe Brd time ; we have to test for Btest scenarios ; wherein we have to tae 3D of s F>>>> fothe (rst time and chec for 3D epay 5alance after applying for another 3D for B rd time.

    Scenario 7 now we tae in other scenario ; let us consider that the software is $eing usenormally $y all customers ; suddenly Citi$an decides to lower the Activation fee to s )> a

    3D with the existing Activation 4ee for s . 5efore the manager is yet to approve it, th$an lowers the activation fee to s )

  • 8/17/2019 ~ Mannual Testing

    38/150

    IID )>> s )>,>>>

     2he a$ove s#w wors in this way. @hen the insurance agent logs in to the home page, he clic

    on 1ew Insurance and creates a new insurance policy for the new customer and (lls up all th

    details and the new customer is assigned a IID &Insurance ID' )>>. :e then pays the insuranc

    amount s)>,>>>. After )year, when the time has come for renewal, then the agent logs i

    and clics on enew Insurance and enters the IID and renews insurance for s )>,>>>. 2h

    di!erent test scenarios for the a$ove are,

    Scenario 1 :1) Login as Agent ; clic on 1ew Insurance ; Create IID )>> and Amount s)>>>>,) Change server date $y )year7) Login as agent ; Clic on enew Insurance ; and pay amount s )>,>>>;) Change server date to )year?) Login as Agent ; enew Insurance ; IID )>> ; Insurance Amount must $e s KF>> since nclaim has $een made ; thus the test is pass

    Scenario , :Same as 1) ! ,) ! 7);) 5efore you renew for the Brd year, Claim Insurance ; Change server date to )year

    ?) Login as Agent ; enew IID )>> ; s )>>>> ; 1o discount should $e made $ecause of thclaim made a$ove.

    Scenario 7 :Same as 1)! ,)! 7) and ;) of 1st scenario?) 5efore you renew Brd time, 8 Clic on Claim IID )>> , s )F,>>> ; 2ry to claim the amount @e shouldn=t $e a$le to claim this $ecause the insurance has expired.

    Let us consider another eample +dvertisements on te 'nternet

    @hen we open a we$site, say www6yaoo6com , we see an ad posted on the a$ove ; top o

    the homepage ; it remains there for a few seconds $efore it disappears ; this management o

    ads is done $y something nown as A0S ; Advertisement 0anagement System. 1ow we ds#w testing for this domain.

     2he $elow s#w wors in the following way ; let=s say that 1oia wants to showcase an ad o4e$ )Eth at exactly >>A0 on 6ahoomail=s homepage for the whole of Asia region. 2he salemanager logs into the we$site and maes a request for an ad dated for the a$ove day. :attaches a (le & prefera$ly a video or image (le of the Ad ' and su$mits the application. 2hfollowing day A0S manager &Advertisement 0anagement System ' of 6ahoomail logs on an

    BK * + a g

    http://www.yahoo.com/http://www.yahoo.com/

  • 8/17/2019 ~ Mannual Testing

    39/150

    checs the pending ad requests. :e checs the 1oia ad and checs if the space is availa$lfor the concerned day and time. If yes, then he estimates the cost of putting up the ad ; a)>V per second, the ad cost estimates upto )>>V for )>seconds. :e then clics on paymenrequest and sends the estimate cost along with the request for payment to the 1omanager. 2he 1oia manager logs onto Ad status ; and checs the payment request and hmaes the payment as per all the details and clics on Su$mit and +ay. As soon as 6ahoo=A0S manager receives the payment, he deploys the Ad at the concerned date and time o 6ahoomail=s :omepage.

    B * + a g

    %.0D'0/ +ds

      0+(. S&+&2SS.L.C&

      6 6

      6

     

    66

    6

      0o*ia %endin#

    Coca Cola %endin#

    S.& R+&.S

    R./'0

    %+/.

    D2R+&'0

    +(20&

     

    R.2.S& FR +Ds

      %RD2C&

    %+/.

    S.0& '&.(SC(%S. (+'LL/2&

      R./'0

    .2R%.2S++2S&R+L'+

      D2R+&'0

      D+&.

     

    0+(. S&+&2S &&+L+(20&

    0B'+ +vaila"le1 P

    CC+ CL+ +vaila"le ? P

    6

    6

    CR.D'& C+RD 02(5.R

    666666

    %.0D'0/ +ds

    6

    S.& R+&.S

    6

    6

    66

    Y.

    Y.

    Y.

    Y

    Request For

    +Ds

    +D Status

    C

    +S'+

    1 Seconds

    1;t F.5R2+R= M: +(+&&+C< +D8.R&'S.(.0&

    38ideo! 'ma#e! +udio! &et)S25('& C+0C.L

  • 8/17/2019 ~ Mannual Testing

    40/150

     2he various test scenarios are,

    Scenario 1 : the (rst case is the normal scenario as explained a$ove. 2he test engineer doeend8to8end testing for the normal scenario. @herein the 1oia manager maes the request fothe Ad and the Ad is deployed at the concerned date and time.

    Scenario , : let us consider a scenario where8in the 1oia manager feels that the Ad space too costly and cancels the request. At the same time, Coca8Cola maes a request for the Aspace on 4e$ )Eth at A0. Since the request of 1oia has $een cancelled, thus Coca8Cola=s A

    must $e deployed 3n 4e$ )Eth

     at A0 after all the request and the payment has $een made1ow, if there is a change in heart from 1oia and they feel that they are ready to mae thpayment for 4e$ )Eth at A0 ; that slot should not $e given $ecause Coca8Cola has alreadutilied that space. 2hus , an alternative calendar must open up for 1oia to mae the$ooing.

    Scenario 7 : Login as A0S manager ; Clic on Set ates ; and set the rate for Ad space ologout page to FV per second. Login as 1oia manager ; and choose the date and time to puup an Ad on the logout page. 2he payment should $e F>V for )>seconds for an Ad o 6ahoomail=s Logout page.

    &estin# .nvironment and Wy it sould "e similar to %roduction .nvironment Q

    After the requirements have $een collected and the design of the s#w has $een developed, thCS is then given to the development team for coding and $uilding of the modules and ths#w. the development team stores all the modules and the code it $uilds in a developmenserver which they name it - &any name can $e given to the server'.

     2he development team $uilds module A of the s#w ; does @52 ; installs the s#w ahttp##qa.citi$an.com 8 ips the code of module A and stores it in - ; the team lead of thdevelopment team then emails the ip (le of module A to the test lead and tells him that thmodule A has $een $uilt and @52 has $een performed and that they can start testing thmodule A ; the test lead (rst unips the module A and installs it in the testing team servenamed A 8 the test lead then calls in the test engineers in his team and assigns themdi!erent parts of the module A for testing ; this is the 4rst cycle ; the testing team dfunctional testing on A ; let=s say the testing team (nds )>>$ugs in module A ; for each $u

    E> * + a g

    &us! te actual de4nition of .nd-to-.nd testin# can "e #iven as  2ae allpossi$le end8to8end $usiness %ows and chec whether in the software, all the

    scenarios are woring or not. If it is woring, then the product is ready to $e

    launched.

    http://qa.citibank.com/http://qa.citibank.com/

  • 8/17/2019 ~ Mannual Testing

    41/150

    found, the testing team prepares a report on the $ug in a @ord document (le and each $ug assigned a num$er ; lie this, the testing team (nds )>>$ugs in the s#w ; each test engineewhen he (nds a $ug, he immediately emails $ug report to the development team for defecrepair ; the testing team tae Fdays to test module A. 2he developers are reading the defect reports, goes through the code, (xes the pro$lem when testing team is testing s#w, the developers are (xing defects and also preparing anothemodule and also doing @52 for the repaired program ; now the developers (x ma9ority of thdefects&say J>' and also $uild module 5 ; now the team lead of the development team instalthe s#w at the a$ove we$site, ips the code of the module 5 and sends a mail to the test leacontaining the code ; the test lead (rst uninstalls the old s#w and installs the new oncontaining module 5 and also repaired module A ; and sends a mail to the test engineers his team containing the new module and repaired module ;D.8.L%(.0& S.R8.R 3 R.> ) &.S&'0/ S.R8.R 3 + ) %RD2C&'0 S.R8.R

    'FL.>

    E) * + a g

    D : "uild1sw6@ipD : "uild,sw6@ipD : "uild7sw6@ipD : "uild;sw6@ipD : "uild,sw6@ip

      un@ip C%2 1

    C%2 ,

    C%2 7

    C%2 3n)

    +

    5

    C

    DY

    L+

    5

    C

    D

    L

    1 &5

    &era"yte

  • 8/17/2019 ~ Mannual Testing

    42/150

    C'&'5+0B 

    Wenever a new "uild comes in! te testin# team concentrates on testin# te newfeature 4rst "ecause te pro"a"ility of 4ndin# te "u#s is more! we epect mornum"er of "u#s in te new feature as soon as new "uild comes in!a' test new features $' Do integration testingc' retest all the (xed defects d' test unchanged&old' feature to mae sure that it is n$roene' in the new $uild, we retest only (xed defects f' each test engineer retests only his $ugwhich are (xed, he is not responsi$le for other $ugs found $y other test engineers.We 4nd new "u#s in old feature "ecause a' (xing the $ugs may lead to other $ugs$' adding new features &modules' c' might have missed it in the earlier test cycleIn the second cycle ; we do $oth functional and integration testing for A and 5 ; we (nd K

    $ugs ; each $ug is sent in a report of @ord format ; the developers repair a$out E>$ugs analso repair F$ugs of the remaining B>$ugs in the (rst test cycle.Lie this we carry on, and do a$out cycles and reach a stage wherein the developers ardeveloping the th $uild, say module L ; now the testing team gets a server which is similato the production server &real ;time server on which the s#w will run at the client=s place' ; aninstall the s#w there ; and they start o! with system testing.We start System &estin# a' when the minimum num$er of features are ready $' $asfunctionality of all the modules must $e woring c' testing environment should $e similto production environmentWe say tat te product is ready for release wen!a' all the features requested $y customer are ready$' when all the functionality, integration and end8to8end scenarios are woring (ne

    c' when there are no critical $ugsd' $ugs are there, $ut all are minor and less num$er of $ugse' $y this time, we would have met the deadline or release date is very near.&e entire period ri#t from collectin# requirements to deliverin# te s$w to tclient is *nown as release6 .ac time a new module is "uilt and old module is testeis *nown as 5uild testin#6 .ac "uild ta*es a"out ?days or more or less6

    &e testin# environment sould "e similar to production environment means!

    1) &e ardware sould "e similar to production a) 2he mae & manufactured $yshould $e similar to production server & for e! if the production server is :+, then test serveshould also $e :+ server ' ") con(guration and mae must $e similar, $ut di!erencapacities i.e, num$er of C+/s '.

    ,) &e software sould "e similar to production a)  2he 3S should $e similar "Application server should $e similar c) @e$ server should $e similar d) Data$ase serveshould $e similar

    E< * + a g

    'n interview! wen tey as* ow many "uilds ave u tested optimumanswer would "e ,A 7 "uilds6

  • 8/17/2019 ~ Mannual Testing

    43/150

  • 8/17/2019 ~ Mannual Testing

    44/150

    Developers 2esting team

    :ere, the developers once they get the requirements, they start developing the software. A

    each feature is $uilt, the code is compiled, compressed and stored in a compressed format. the a$ove example, the (rst $uild is shown. As soon as the (rst $uild is ready, thdevelopment lead sends a mail to the test lead saying that the (rst $uild is ready and they castart testing it. :e also gives the name of the server and the (le in which the (rst $uild stored. 2he test engineer then goes to the development server named ex, and copies the (to the testing server. :e then unips the (le, installs the s#w in the testing team server anallots the various features of the (rst $uild to $e tested to the testing team.

    C+S. , : Develop is installin# te software@hen the developer is installing the s#w in the testing environment, and test engineer teamshould open the $rowser, copy the /L that is sent $y the developer and paste it in th$rowser. If the developer installs, they=ll give username and password. 2he test lead then log

    in using the given the username and password, and creates his own username and passworthrough which the testing team will log in and start testing the software.

    C+S. 7 : Release en#ineer $ 5uild .n#ineerRelease en#ineer is the one who manages the source code. If the developers are woring adi!erent location, the release engineer (rst installs a GC2 & Gersion Control 2ool ' lie CGS, GSSClear Case and creates a folder in the tool. 2he developers should copy and paste thprograms into that folder. 3nce the folder is loced, the developers can=t send their programwhen the folder is loced. 1ow, release engineer will compile, compress and then $uild a s#w1ow he will only install the s#w inside the test environment &testing server' and sends a mato the testing team. 2he testing team then start testing the s#w. If they (nd $ugs, they report to the developers. 3nce the developers (x these $ugs and creates a new modu

    simultaneously, the folder will $e unloced and once again the developers send the programinto that folder which is loced after a new $uild has $een developed.

    &estin# &eam $ Server

    Release &e folder will "e loc*ed and released later

    EE * + a g

    D : $$ 5uild $ 51 $ 16@ip

    Compress

      Compiled "yRelease

    .n#ineer

    &e release en#ineer will copyand paste te "uild or te s$w

    and install te s$w inside te&est .nvironment6

  • 8/17/2019 ~ Mannual Testing

    45/150

  • 8/17/2019 ~ Mannual Testing

    46/150

    @hen the (rst $uild comes in, immediately we (nd a $ug and send it immediately to thdevelopment team. 2hus, immediately we (nd a $ug within a cycle. If another $uild comewithin a cycle where the $ug is (xed, then we call it respin6 We 4nd respin when the test engineer (nds $locer defects # critical defects. For e! if thlogin feature itself is not woring in gmail, then the test engineer cannot continue with htesting and it has to $e (xed immediately ; thus respin comes into picture. In$ox, Composmail, Sent items are not $locer defects.(ore num"er of respin in a cycle means the developer has not $uilt the product properly.@henever the developer writes so many programs and sends the module for testing. 2he tesengineer (nds $ugs and reports it to the developers. 3nce the developer comes to now th$ug, he will loo into the source code, if the pro$lem is with only ) program and that too ona few lines ; he will (x the $ug. :e &the developer' will tae the modi(ed program, compile and compress it into installa$le & format ' and sends a mail to the test engineer that a patc4le has $een sent. 3nce the test engineer starts installing this patc 4le, the program whichad defect will $e replaced $y the corrected program.

    %atc is a piece of software which has only modi(ed programs.

    D-G-L3+0-12 S-G- 2-S2I17 S-G-

     2he a$ove (gure shows how a patch (le is installed. Let us consider that the testing teamhave installed the $uild and started testing the s#w. they (nd $ugs and report it to thdevelopment team. 2he $loc &shaded' is the defect program. 2he developer loos at thdefect program and sees that it 9ust needs a few minor changes. :e maes the necessarchanges, compiles it and compress it and creates an installa$le & patch ' and goes to thtesting server and 9ust installs the patch (le which has the modi(ed program. 2he testinteam need not have to uninstall and install the $uild again.

    E * + a g

    (NT'$)('W Tips +uestions

    1) What is ;.ild ?

     Ans ) Anser is in the notes

    2) n hat format ill ,o. &et b.ilds ?

     Ans ) in #om(ressed format li8e a

  • 8/17/2019 ~ Mannual Testing

    47/150

    @hen we get a 9o$, we will "e wor*in# on 7 types of proJects,• Stand-alone application ; software installed in one computer and used $y only on

    person. For e Installing s#w of a Calculator, Ado$e +hotoshop, 0S 3"ce, AutoCad• We" +pplication ; any application software accessed through $rowser is called we

    application. For e yahoo.com, gmail.com• Client Server application ; here, we are installing $oth client and server software t

    access the application.

    &estin# W.5 +%%L'C+&'0D.8.L%(.0& S.R8.R - R.>

    D.8.L%.RS

    R.2'R.(.0&S

     2he customer sends the requirements to $oth development team and testing team. 1ow, thtest lead will understand the requirements and logically assign the wor to other teammem$ers.

    EJ * + a g

    Compose mailfeature Gava compile pro#ram compress it store it

    Calendar feature

  • 8/17/2019 ~ Mannual Testing

    48/150

     2he developers write the programs to $uild the features. 2hey have to $uild the varioufeatures given $y the requirements of the customers. 2he developer uses diferent languageand compiles and compresses the programs. 2he developer compiles the Tava program and then compresses it to 6Gar (le. 2he developer compiles the TS+ program and then compresses it to 6Gar (le. 2he developer will compile the data$ase and then compress it to 6&ar (le. 2he developers will not compile the :20L directly and compress it to 6War (le.1ow again he will compress all the compressed (le into 6tar and puts it into ) (le and stores in D: drive as, D : $$ 5uilds $ 51 @apa*mail 6 tar and sends a mail to the testing team

    In the test environment )st he will install the 3S, @e$ Server, Application Server, Data$aseServer. 2his is done $efore installing the product software. After installing, he will copy fromD : drive and paste the &ar $uild. :e will then untar! then we get 6Jar! 6tar! 6war! 6Jar (les.All TS+s and @e$ :20L programs should $e moved into @e$Server. All Tava +rograms should$e moved into ApplicationServer and all Data5ase programs goes to Data5aseServer. +ll tisis illustrated in te 4#ure "elow!

    &.S&'0/ S.R8.R peratin# System

    4or @e$ Application, the @e$Server, ApplicationServer, Data$aseServer should $e installed3nce the application is ready for testing, the test lead will send a mail to his team with thfollowing 2RL!

    ttp : $$ +6@apa*mail6comwith all the a$ove required features lie ; compose mail, in$ox, sent items etc. 2he test engineer will open the $rowser and copies the url sent to him along with thusername and password.

    @henever new $uild comes,

    •  2est Lead removes all programs in @e$, Application and Data$ase Servers

    EK * + a g

    apa*mail 6 tar

    nce 2ntarred

  • 8/17/2019 ~ Mannual Testing

    49/150

  • 8/17/2019 ~ Mannual Testing

    50/150

    D.8.L%(.0& S.R8.R - Re

    &.S&'0/ &.+(

    3nce the developer writes the program for 6ahoo0essenger and server, he compiles ancompresses,

    • Server s#w will $e named as yms.tar

    • Client s#w will $e named as ym.exe

    F> * + a g

     =aoo (sn#r

    Local Computer to

    cec* weter te

     =aoo messen#er

    is wor*in# or not6

    't will "e present

    in te &estin#

  • 8/17/2019 ~ Mannual Testing

    51/150

  • 8/17/2019 ~ Mannual Testing

    52/150

  • 8/17/2019 ~ Mannual Testing

    53/150

    4ed8ex with its requirements ass @ipro to develop the s#w and @ipro agrees to give the s#w < releases lie $elow,

    ,?crores 1crores Gan ,1 Sept ,1 Sept ,1 Fe" ,11

    3n Septem$er Kth, test manager tells the pro9ect manager that there is a critical $ug in thapplication which will tae another Fdays to (x it.5ut the pro9ect manager says you 9ust deliver the application and $y the time they implemenin 4ed8ex, it taes another

  • 8/17/2019 ~ Mannual Testing

    54/150

    In the a$ove example, after the product is given to 4ed8-x 2est -ngineers, they do testing an

    they now after the application has $een (lled a$ove, it should produce an message sayinM+arcel ) Docet ID +roducedN. If this is not happening, they give $ac the application fo(xing $ugs. 1ow, the 4ed8-x checs whether this feature is there or not in the requirement. it is there and @ipro have not done (x it, then +enalty Counts for @ipro from that daywhereas the 2- at @ipro will not $e nowing this and thus arises the di!erence in testing a@ipro and 4ed8-x. 2hus, the 2- $ecome -1D8/S-S here and this testing is nown as Acceptance 2esting.

    C+S. , :- In this case, we see how the employees are $ecoming end8users and do acceptance testing.

    'f 5u# is tere! send it "ac* to Wipro .mployeesdoin# dummy

    implementation or&estin#

    S$w #iven to Fed-.

     2he s#w is developed and tested at @ipro=s place and then sent to 4ed8ex. At 4ed8-x, thehave less 2-s and so it is not possi$le for them to do Acceptance testing. So, out of E>employees of 4ed8ex, 4ed8ex gives the s#w to E> employees and installs the product at thesystems and ass them to start using the s#w and come up with $ugs or issues.1ow, the E> employees, they do dummy implementation &i.e, they implement the data intthe application and also have the data written manually'. 1ow, the employee here $ecomethe end8users and come up with $ugs and issues when using the s#w. 2hese issues are veri(ed against requirements and now penalty is charged for @ipr& sometimes, penalty is charged on an hourly $asis '.If the $ug found is not as per requirement, then 4ed8-x can go for C or 4-.

    FE * + a g

  • 8/17/2019 ~ Mannual Testing

    55/150

    C ; Change equest ; i.e, if the requirement has not $een speci(ed properly, then 4ed8-gives the correct requirement and requests for change.4- ; equest 4or -nhancement ; if 4ed8-x feels that a particular module can $e enhanceand developed in a $etter way, then they can send the CS as 4- and @ipro goes on to mathe necessary changes.

     2hus, +cceptance &estin# can also "e de4ned as endtoend testing done engineers sitting in customers place. 4ere, the2 ta5e real time scenarios and checwhether the s/w wor5s or not. 4ere also, we are ale to ta5e real time usinesscenarios ecause the endusers 5now how the usiness fow wor5s.

    We are #ettin# more and more "uilds for +cceptance &estin# means!

    •  2he product quality which is delivered to customers is not good. Development antesting $oth are not good.

    • After receiving the s#w, customer is getting more and more ideas, so he is asing fomore and more changes

    •  2he requirement which was given in the $eginning is not clear.

    C+S. 7 :-:ere, the 4ed8ex customers $ecome the end users.

    :ere, the s#w is developed and tested and implemented at 4ed8ex production servers anthousands of users start using the s#w. 2his comprises the 1st release6 @hen using the s#w4ed8ex comes up with more num$er of features and enhancements and sends the CS t@ipro who mae the additional changes and modules and give it to 4ed8ex. 2hus, what is happening here is ; the requirements are collected $y 4ed8ex from customeand end8users and then the s#w is developed.

    &e num"er of cycles depends on!

    • 1um$er of features

    • Complexity of features

    • :ow new features a!ect old features

    come out and out of B> 2-s, around B come out ; they develop and test the s#w ; cliendoes ) short round of Acceptance testing ; $efore adding it to the production environment this interim could tae 9ust around )Fdays to )month.

    S(B. &.S&'0/ or S+0'&= &.S&'0/ or DR= R20 or SB'( &.S&'0/ or 52'L8.R'F'C+&'0 &.S&'0/  &Very very important interview question)

    &estin# te "asic or critical features of an application "efore doin# torou# testinor ri#orous testin# is called as smo*e testin#6

    FF * + a g

  • 8/17/2019 ~ Mannual Testing

    56/150

  • 8/17/2019 ~ Mannual Testing

    57/150

    CR'&'C+L 52/ Send it to developer Fi it in 7days

    then proceed for deep testing. 2he scenario will $e lie this as shown in the (gure $elow,

      Smo*e &estin# for F& Smo*e &estin# for '& Smo*e &estin# for System &estin#

    Cec* for "asic 3R) critical features 3S(B. &.S&'0/) Find critical "u#

    Development team

    Fi te "u# 3 so tat te release date willnot "e

    stretced )

    uestion arises ; how do we now which is the critical featureZ ; we will come to now whicis the critical feature or $asic feature when we proceed with the testing.

    Smo*e &estin# in +cceptance &estin#

    Copy te 4le from &estin# server to .nd-2ser server

    FJ * + a g

    Developers develop

    te application andsend it to testin#team

    Functional &estin# 'nte#ration &estin#System

    &estin#

    System&estin#

    +cceptance&estin#

  • 8/17/2019 ~ Mannual Testing

    58/150

     Smo*e testin# ere involves weter te entire product wor*s 4nand #oes for +cceptance &estin#

    Let us now consider 7cases where in which we see where we do smoe testing in di!ereninds of testing.

    -%' 1

    W5&

    /'8. FR &.S&'0/ Smo*e &estin# (aJor 5u#

    5ac* to development team to 4 te "u#

    0a9or $ug in the initial stages is an insult to the developer.Sometimes, the $elow procedure is also followed,

    W5& Smo*e &estin# in W5& &estin# &eam

    If this is done, then the testing team need not do smoe testing as the $ugs are already (xein @52. 5ut depending upon the pro9ect or the organiation, normally this is not followed.

    -%' +roduction 2eam

    FK * + a g

    CD'0/ F& '& S&

    CD'0/

    +cceptance  &estin#

  • 8/17/2019 ~ Mannual Testing

    59/150

    S(B. &.S&'0/ Weter 'nstallation is wor*in# 4ne or not

    In the a$ove scenario, smoe testing in production team means after we do Acceptanc 2esting, Smoe 2esting involves whether the s#w developed is installed (ne or not.

    'mportant %oints to Remem"er

    • @hen we are doing smoe testing, we do only positive testing &only valid data entered'

    • :ere, we test only $asic or critical features

    • :ere, we tae $asic features and test for important scenarios

    • @henever the $uild comes to the customer, $efore the customer # client doeAcceptance 2esting, he also does Smoe 2esting $efore doing Acceptance 2esting

    • @hen the product is installed in production, we do quic smoe testing to ensur

    product is installed properly.

    Wy we do Smo*e testin# Q

    •  Tust to ensure that product is testa$le

    • Do smoe testing in the $eginning ; catch $ugs in $asic features ; send it tdevelopment team so that development team will have su"cient time to (x it.

    •  Tust to ensure that product is installed properly.

    In early stages of product development, doing smoe testing fetches more num$er of $ug5ut, in later stages of product development, if you do smoe testing ; the num$er of $ugs thayou are going to catch in smoe testing will $e very less. 2hus, gradually the e!ort spent o

    smoe testing is less.

    0ote :- only or inormation purpose (NOT OR !T"#$%N&)Smoe testing is classi(ed into two types,

    • &ormal %mo5e Testing ; the development team sends the s#w to the test lead. 2htest lead then instructs the testing team to do smoe testing and send report aftesmoe testing. 3nce, the testing team is done with smoe testing, they send the smotesting report to the 2est lead.

    • (normal %mo5e Testing ; here, the test lead says the product is ready and to sta

    testing. :e does not specify to do smoe testing. 5ut, still the testing team start testinthe product $y doing smoe testing.

    F * + a g

    '0&.R8'.W 2.S&'0S

    1) Differen#e beteen Smo8e Testin& and Sanit, Testin& and Dr, R.n

     Ans) Sanit, Testin&

    •  Narro and dee( testin& ns#ri(ted

    • Ta8e some ver, ver, im(ortant feat.res and do dee( testin& 

    •  t is man.all, done

      Smo8e Testin& •  S#ri(ted Shallo and ide testin& 

    • Ta8e all im(ortant feat.res and do hi&h/level testin& 

    •  ;.ild #omes " rite a.tomation s#ri(ts and r.n the s#ri(t Th.s test done a.tomati#all,

     Dr, R.n / A dr, r.n is a testin& (ro#ess here the effe#ts of a (ossible fail.re are intentionall,

    miti&ated 9or e:am(le* an aeros(a#e #om(an, ma, #ond.#t a dr, r.n of a ta8eoff .sin& a ne

    air#raft on a r.na, before the first test fli&ht

     f he still e:(e#ts more differen#es " then -.st tell " 3 for study purposes, i had visited wikipedia

    website and also www.allinterview.com . So, i know this answer. Can u please tell me which

    website i should visit to get to know the exact answer. That’s how i could answer this question .

  • 8/17/2019 ~ Mannual Testing

    60/150

  • 8/17/2019 ~ Mannual Testing

    61/150

    5L+0B %+/.

    In the a$ove (gure, after we have tested the application for 42, I2 and S2 ; if we clic on somfeature instead of going to homepage &or' sometimes datapage, if it goes to $lan page then will $e a $ug. In order to avoid these ind of scenarios, we do Ad8hoc testing.

    ,) Development team loos at the requirements and $uild the product. 2esting 2eam also loo

    at the requirements and do the testing. 5y this method, 2esting 2eam may not catch man$ugs. 2hey thin everything wors (ne. In order to avoid this, we do random testing $ehavinlie end8users.

    7) Ad8hoc is a testing where we don=t follow the requirements &we 9ust randomly chec thapplication'. Since we don=t follow requirements, we don=t write test cases.

    Requirement says to test li*e "elow 3 1 -O , -O 7 -O ; )

    5ut! we randomly #o directly to ; 3 tis is called +d-oc testin# )

    .amples of +d-

  • 8/17/2019 ~ Mannual Testing

    62/150

    @hen we clic on the 5loc* +ccount lin* , we are transferred to the 5loc Account pagwhere we (nd several features in that. -nter the data and clic on 5loc Account, then thaaccount has to $e $loced.1ow, we will see how we can do +d-oc testin# on tis application61) Login as 5an 0anager and enter the Account 1um$er and clic 5loc and see whether it

    $loced or not.

    ,) 5efore $locing the Account, 7o and Delete the person whose account is to $e $loced anagain Login and chec whether it is $loced or not. As we clic the 5loc it should throw message saying customer not availa$le as an error message. :ere, we randomly chec thapplication and nothing is mentioned in the requirements. 2hus here we do Ad8hoc testing.

    7) Suppose some /ser 5 transfers money to A whose account is $loced. In this case also, wshould get a message saying Account&of A' is $loced [ i.e, $y the time 5 transfers moneymanager $locs A=s account\.Actually the requirement does not say chec for money transfer from other account and dtesting. 5ut this testing is done $y 2- not against the requirement. -ven sometimes withou

    throwing message that Account is $loced the money gets transferred. In this case also, th 2- checs for it and thus it $ecomes Ad8hoc 2esting.

    N"T'

    • Ad8hoc testing is $asically negative testing $ecause we are testing againrequirements & out of requirements '.

    • :ere, the o$9ective is to somehow $rea the product.

    Wen to do +d-

  • 8/17/2019 ~ Mannual Testing

    63/150

  • 8/17/2019 ~ Mannual Testing

    64/150

    U i 6e! contents which are stored

    property(le are piced up and displayedV

    @rite a common program in -nglish for all languages and have di!erent property (les fodi!erent languages. Suppose, if we have )> di!erent languages, then we should have )di!erent property (les. We see ow te a"ove request wor*s! Clic on the $rowser, it taes a request to the server saying the following ; need @elcompage, trigger the language code -1

    It taes to the program where the language is executed and taes the property (le o-17LIS:.1ow, the -nglish property (le is selected and the next coding in the program connects to itrespective lins. For eample! if the next set of coding is for Login ; it connects to Lin )pics up the data stored there and displays it in -nglish. Same procedure followed for othelins also & lie sales, forum and products '.Again, the same procedure followed for other languages also.

    *ho writes these property +les )st, the developers writes a property (le in -nglish. Language experts taes this and manualwrite the property (le and gives it to developers.1ow, the developers place this property (le as shown $elow in the server.

    E * + a g

    L/'0 3 %roperty Files) S+L.S 3 %roperty Files )

    .0 .n#lisC0 CineseFR Frenc

     G% Gapanese

    FR2( 3 %roperty Files ) %RD2C&S 3 %roperty Files )

    .0 C0 FR G%

    .0 C0 FR G%

    .0 C0 FR G%

    .0 C0 FR G%

  • 8/17/2019 ~ Mannual Testing

    65/150

    Let us see how we will translate into Chinese language and test for it.Same procedure lie a$oveClic on $rowser. Select for language Chinese $efore you clic.After clicing, it taes it to @elcome page with a trigger language code C1So, it taes to the C1 property (le and display the contents &Chinese' stored in the (leaccording to the lin it gets connected & for e! LI1] ) to Login display the contents of L37I1Similarly for other lie Sales, 4orum, +roduct also '.

    S.R8.R

     =+

  • 8/17/2019 ~ Mannual Testing

    66/150

    1ow, we have changed the language from -nglish to Chinese. 1ow, how do we test whether is in -hinese displayed or some other language  7o to Chinese property (le and change the contents in the (le. For e! see $elow (gure,

    7o to C1 Change contents in +ropertyproperty (le for testing(le

    Cec* weter sam  contents are

    displayed

    D'S%L+=.D &estin# is 4ne0& D'S%L+=.D /o for can#es

    &ese lin*s are called B.=WRDS

    After we do changes in property (le, we once again select the Chinese language and seewhether the change we have made in the content is displayed as same. If it is displayed, thentesting is (ne.As a 2-, we must do can#es in property 4le! and not in te pro#ram&actual program'.If it is not displayed, catch the $ugs and the $ugs are to $e (xed only in the program.

    &us! we do '10 testin# for te followin#!• Chec whether content is in right language

    • Chec whether right content is in right place

    0ow! let us see te possi"le "u#s in '10 testin# :-

    1) If I select -nglish ; displayed in -nglishIf I select Chinese ; displayed in ChineseIf I select Tapanese ; displayed in Chinese

    @hy does this happen Z ; o"serve,

    52/

    * + a g

    L'0B 1 NϑΓΗϑϑϑ

    L'0B , NΗΦΗΓΚ

    L'0B 7 N YRTY

    L'0B ; N ∗ ≅ΙΛ

    C0

    L'0B 1 N L/'0

    L'0B , N C'0.(+

    L'0B 7 N CS&

    L'0B ; N D.L'8.R= 

    C0

    L'0B 1 N L/'0

    L'0B , N C'0.(+

    L'0B 7 N CS&

    L'0B ; N D.L'8.R= 

    www6 aoo6com

    W.LC(.6GS%'f lan#ua#e N .0

    Connect to en6pf 

    'f lan#ua#e N C0Connect to cn6pf 

    Lan#ua#e

    C

  • 8/17/2019 ~ Mannual Testing

    67/150

    Display content in Chinese

    @hy if I select Tapanese, it is displaying in Chinese ZDevelopers they do copy and paste the coding and forget to change the respective propert(le lie for Tapanese ; instead of connect to .p/p  , they forget to change it and it still remainin the connect to cn/p  and thus displays the contents in Chinese language

    ,) Chec for reverse direction language i.e, how the $rea wors. 2here are < types olanguages ; /ni8directional language and 5i8directional language. /ni ;directional languagstarts either from the left or right. 5i8directional language can start either from right or left. Swe have to chec if the text is displayed properly as per the language7) Alignment +ro$lem 8 @e have to chec whether the alignment speci(cation for di!erenlanguages is followed properly. ight alignment or left alignment.

    1ow, let us do gloali

  • 8/17/2019 ~ Mannual Testing

    68/150

    :ow do we connect it to other languages and test it Z ; go to respective property (les change the contents and test it. If all the content is in right language, then I)K1 testing successful.

    Locali@ation &estin# 3 L10 testin# )

    4ormat testing is nothing $ut Localiation testing &3' 2esting done for format speci(catioaccording to region#country is called L)>1 testing.

    @et us see the diAerent ormat testing we do in @10N testing,a) -urrency ormat testing:ere, we do not worry a$out the functionality of the format & lie V is converted to s or not @e only test whether the V should $e in the (rst or the last.-x )>>V, V)>>, s)>>. 2he standard should $e as per country standards.

    ") #ate ormat testing:ere, chec whether the date format is according to its country format. 2his is also L)>testing.-x in /S, date format is 00 ; DD ; 66

    in India, date format is DD ; 00 ; 6666

    c) 0in-ode ormat testing 2here are countries having +incode with characters lie A5)>>. :ere,Checing for the format in pincode is L)>1 testing.

    K * + a g

    (( DD ====  

    52= 0W C+0C.L

  • 8/17/2019 ~ Mannual Testing

    69/150

    Checing whether A5 is translated to Chinese is I)K1 testing.

    Date formatCurrency format L10 testin#+incode format

    d) %mage ormat testingIn image ; only name on the image can $e changed ; the image cannot $e changed. 2hus wmust have multiple images depending on the country. @hen we clic on /raine, it goes t/raine server, taes the contents and also selects /rainian image and thus contents ardisplayed in /raine. 2his is shown $elow,

    4or I)K1 testing ; no images with text is allowed. In case, we want to have images ; then wmust have di!erent images for di!erent languages.If we do any color change, then it is called as L)>1 testing &lie national %ag where the color speci(c to its country'.&ool tip  AL2 2A5 ; move the mouse on the image ; eep for )second ; we get a small $o

    explaining the image ; the tool tip must $e changed to the corresponding language ; if it doenot, then it is a $ug.

    1ow, we see a person from India sitting in China and wants to $rowse in -nglish.In this case, we have to go and change the locale which is availa$le lie $elow,

    ttp : $$ p6cpm $ sales6tml locale N en2SLanguage code 8^ en_/S 8^country code

      fr_4  de_D-  en_D-

     2o $e there in selected language ; 7o to Control +anel ; change to language ; come to $rowse

    ; ctrlshift &or' alt Shift ; change the text to that language.

    C(%+&'5'L'&= &.S&'0/ 3C&) 2esting the functionality of an application in di!erent software and hardware environment called Compati$ility testing.

    Consider an eample "elow!

    * + a g+2&C+D33peratingsystem ;@I1>>'

    W'0,

    >%

    0&

    W'0,W'0

    M

  • 8/17/2019 ~ Mannual Testing

    70/150

    +pplication tested on Win , platform

    Customers use diIerent S for sameapplication

    AutoCad with @in>> was tested on @in>> platform. 3nce it is tested, the product is sol$ut the customer who $uys it uses in di!erent platforms lie +, 12, @in>>, @inK etc.Customer therefore &or' -nd8users therefore $lame the s#w, they don=t thin a$out the 3S the

    are using $ecause the application was tested on @in>> and the user may $e using it in +. 2hus in order to overcome the a$ove scenario, we do test the application in all platforms anthen sell the product.In the a$ove example, we run the application in di!erent platforms and if we (nd a $ug in anof the platforms we have tested &say, @indows K', then the s#w is given $ac to thdeveloper for (xing the $ug.3nce, the $ugs are (xed, then we have to continue testing not only on the platform which ha$ug, $ut also once again for all the platforms $ecause (ne tuning may cause a change in otheplatforms. 2hus, may$e we may use one of the following scenarios after (xing the $ug,a' if we are sure of the area of the $ug, then test only that area.$' if we are not sure of the $ug ; then go for testing all the platforms.

    1ow, the question arises do compati$ility testing is done for all platforms Z ; 13. 3$serve hoit is tested,Suppose only K 2-s are present for testing, in this case ;we don=t have su"cient people fotesting on all platforms. So do we stop testing Z ; 13. 2hen how will we test ; see $elow,1ow the 2- will see for maximum use of platform $y customers and do test for only thosplatforms.

    In this example, 2-s they loo for most widely used platform i.e, this case

    +, @in >>, 12, etc and do testing for all the a$ove saplatforms and

    do not test for the minimum used platform. If we are not testin

    other platforms doesn=t mean it will not wor. It will wor on otheplatforms also, $ut if any $ugs or issues arises ; we are not (xing and noresponsi$le for it. 4or this scenario to $e avoided, sometimes in the produthey mention for which 3S it supports.

    1ow, we can thin where we can do Compati$ility testing Z ; whewe cannot force the users to use an application, then we go for C2.

    J> * + a g

    %L+&FR(

    >% K X

    Win, , X

    Windows 0& K X

    Windows M 1 X

    Windows (. 1 X

  • 8/17/2019 ~ Mannual Testing

    71/150

    1ow, let us consider an example $elow to see where and how we do C2. &4igure in the nexpage'If we tae :+, I50, S/1 ; these are h#w companies ; they manufacture servers, when thewant to sell the product ; they can=t sell the product only ; therefore these companies havtheir own servers.S3LAIS and /1I can $e tested $y using 3penSource Internet -xplorer & I- '5y default, I- comes with 3S. I- is always tightly em$edded with 3S, so we cannot remove 3from I- [if we try remove, may $e the application may not wor\.I- generates lots of revenue to the company as it is ro$ust and has got loops of security in it.3pera claims it is the fastest $rowser. I- is not 0icrosoft original product [it is actually got ancom$ined with other applications\

    Developer $uilds www.shaadi.com and installs it in the testing server.4or the a$ove application, &shaadi.com' ; E 2est -ngineers are given Fdays for testing. 2htesting is as follows $y ) engineer which is the same for the rest of the testing team,) 2- opens 3S ; @I1 K ; 2est for I- F.>3pens 3S ; @in K ; 2est for I- F.F3pens 3S ; @I1 K ; 2est for I- .> 2hus for E 2- to test ) 3S and K$rowsers within Fdays, it taes E>days to test in ) 3S.So far all 3S to test E>` O , it taes days for the 2- to test the application.Lie this list of all %avours of platform are availa$le, $ut we have to test for the 3S as $rowsewhich is in maximum use. 2hus for @indows, we do test for @I1 >> and @indows + whicis widely used

    J) * + a g

    +%%L'C+&'0 -  uto-ad / www.shaadi.com

    % > ,7

  • 8/17/2019 ~ Mannual Testing

    72/150

    D'FF.R.0& 8.RS'0S F +LL & ; we do C2

    11 ; for .> and J.> ; we do C2 and also for 0oilla 4irefox we do C2So, we always thin a$out 3I &eturn on Investment' and do the testing and also follow thcriteria $elow,

    • 1um$er of users are less ; we don=t prefer C2

    • 1um$er of users are more ; we prefer C2

    @I1D3@S >> +rofessional ; normally corporate companies

    1ow, let us see te set-up of te environment for +utoCad testin# wit SInstall @in >> in your machine and start testing for C2 &) of the platforms'Similarly test for the next platform ; I- &I- F.F and .>'. open the I- F.> and test for it.In this window, allow only )instance of I- i.e, ) st we should test for I- F.F, remove and the

    allow many instances &i.e, to have $oth F.F and .> at the same time'After we (nish testing for the < availa$le most widely used platform, we move on to the nexplatform 11 .> and J.> ; open 11 .>. here, the window allows and J.> at the same time.

  • 8/17/2019 ~ Mannual Testing

    73/150

    It is also possi$le to have di!erent platforms in the same machine. 4or this, each platform&3Sshould $e in di!erent drive lie $elow. @e can run B3S in same m#c in di!erent drives ; C@indows K, D +,- @indows >>

    4ardware -ompatiilit2 Test

    •  2est on di!erent processors,

    •  2est on di!erent A0

     2est on di!erent 0other$oard•  2est on di!erent G7A cards

    In 2est on di!erent processors ; we test for ma*e Intel, A0D processor and also test fospeed ; B.)7:,

  • 8/17/2019 ~ Mannual Testing

    74/150

  • 8/17/2019 ~ Mannual Testing

    75/150

    &.S& C+S.S

    SRS

    JF * + a g

    +(20& &R+0SF.R

      From +ccount 0um"er

    3F+0)

      &o +ccount 0um"er

    3&+0)

      +mount

     

    Y.

    Y..

    Y..

    Y..

    Y..

    &R+0SF.R C+0C.L

    C5 nline 3Citi5an* nline)

    1) Welcome %a#e161) Lo# in

    16161) 2sername tet 4eld souldaccept only A- caracters

    1616,) %assword tet 4eld sould acceptonly ;-K caracters

    ,) Loans6 6 6 6 66 6 6 6 66 6 6 6 6

    6 6 6 6 6 6 66 6 6 6 6 6 6 66 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6

    K) +mount &ransferK61) F+0 &et4eld

    K6161) Sould accept only 1 di#itinte#er

    K616,) Sould accept only toseaccount num"ers #enerated "y (ana#er

    K6,) &+0 &et4eldK6,61) Sould accept only 1 di#it

    inte#erK6,6,) Sould accept only tose

    account num"ers #enerated "y (ana#er

    K67) +mount &et4eldK6761) Sould accept only te inte#ers

    "etween 1 ?K676,) Sould not accept more tan

    "alance

    6 6 6 6 6 6 6 6 6 6 6 66 6 6 6 6 6

     

  • 8/17/2019 ~ Mannual Testing

    76/150

     2he testing quality depends on,• 0ood of the 2-

    •  2esting is not consistent

    • Garies from person to personSo, we write test cases.

    Test case is a document which co:ers all possile scenarios to test all theature7s8.It is a set of input parameters for which the s#w will $e tested. 2he SS are num$ered so thadevelopers and testing team will not miss out on any feature.

    When do we write test casesBCustomer gives requirements ; developer start developing and they say they need a$out

    months to develop this product ; during this time, testing team start writing test cases ; oncit is done, they send it to test lead who reviews it and adds some more scenarios ; develope(nish developing the product and the product is given for testing ; the test engineer theloos at the test cases and starts testing the product ; the 2- never loos at the requiremenwhile testing the product ; thus testing is consistent and does not depend on the mood anquality of the test engineer.

    The list o :alues deri:ed to test the mount teCt eld is D ;lan5, 100, hundred100, 6000, $s100, ?100, ?EB, 0100, ;lan5space100, 100.F0, 0, G0@hen writing test cases, actual result should never $e written as the product is still $eindeveloped. 3nly after execution of test cases should the actual result $e written.

    Wh2 we write test casesB• &o ave "etter test covera#e ; cover all possi$le scenarios and document it, so tha

    we need not remem$er all the scenarios• &o ave consistency in test case eecution ; seeing the test case and testing th

    product• &o avoid trainin# every new en#ineer on te product ; when an engineer leave

    he leaves with lot of nowledge and scenarios. 2hose scenarios should $e documentedso that new engineer can test with the given scenarios and also write new scenarios.

    • &o depend on process rater tan on a person

    Let=s say a test engineer has tested a product during ) st release,

  • 8/17/2019 ~ Mannual Testing

    77/150

    &est Case Desi#n &ecniques are!

    • -rror 7uessing

    • -quivalence +artitioning

    • 5oundary Galue Analysis &5GA'

    'rror Huessing 7uessing the error. If the Amount text (eld ass for only integers, we enter all other valueslie ; decimal, special character, negative etc. Chec for all the values mentioned a$ove.

    'qui:alence *artitioning

    *ressman *ractice &what we really do'

     ccording to *ressman,)' If the input is a range of values, then design the test cases for )valid and > ; valid

    >Invalid

    >>>

  • 8/17/2019 ~ Mannual Testing

    78/150

    (n *$-T(-', we do the ollowing,

     2esting the application $y deriving the $elow values,

    > )>> )>>> >> B>>> E>>> F>>> >>>

    Lets see a program. /nderstand the logic and analyse why we use +ractice method,

    % (amount 2344 or 56444)7

    8rror message9% (amount 'etween 344 : ;444)7

    #educt ;<9% (amount 5 ;444)7

    #educt =<9

    @hen +ressman techniques are used, the (rst < programs are tested, $ut if +ractice method used, all these are covered.It is not necessary that for all applications, practice methodology needs to $e usedSometimes, +ressman is also (ne.5ut, if the application has any deviation, splits or precision ; then we go for +ractice method.If +ractice methodology has to $e used, it should $e ; a) Case speci(c ") +roduct speci(cc) 1um$er of divisions depends on the precision &

  • 8/17/2019 ~ Mannual Testing

    79/150

    :ere, +ressman technique is enough to test for Age text (eld &) valid and > 'P

     2hrow errorQIf & Amount ^ O F>>> 'P

    Y..Q

    If Wequals= is there, then even )>> value is expected.

    @hen comparing -quivalence +artitioning and 5GA, testing values are repeated ; if that is thcase, we can neglect -quivalence +artitioning and perform only 5GA as it covers all the values

    J * + a g

    (NT'$)('W +#'%T("N%

    18 What are test #ase desi&n te#hni5.es ? Ans) :(lain abo.t rror B.essin&* 5.ivalen#e !artitionin& E !ressman onl, ) and ;=A

     f the, as8 more* onl, then tal8 abo.t !ra#ti#e method 

    2) What are Testin& te#hni5.es ;la#8 ;o: te#hni5.es Testin& methodolo&ies Testin& t,(es ?

     Ans) 9irst tal8 abo.t W;T and ;;T

     f the intervieer is not satisfied ith the anser* then immediatel, start anserin& abo.t test #ase

    desi&n te#hni5.es

    )

     @o do ,o. test the above field ?

     Ans) se test #ase desi&n te#hni5.es and derive the val.es

     ll test the te:t field b, .sin& these test #ase desi&n te#hni5.es " rror B.essin&* 5.ivalen#e

     !artitionin& and ;o.ndar, =al.e Anal,sis

    +/.

    S25('& C+0C.L

  • 8/17/2019 ~ Mannual Testing

    80/150

    K> * + a g

    (nter:iew +uestions 7continued8

    +)

     @o do ,o. test the above fields ? Ans) 9or an, a((li#ation li8e this* e m.st ala,s start testin& ith end/to/end s#enarios

    •  nter valid .sername and (assord " &oes to inbo:? " lo&o.t 

    •  nter valid .sername and (assord " remember (assord " &oes to inbo: " lo&o.t 

    • (en &mail in the broser " .sername and (assord sho.ld ala,s be there " #li#8 on lo&in

    b.tton " &oes to home(a&e

    • Chan&e (assord " no lo&o.t and o(en &mail in the broser " old (assord sho.ld be there " 

    sho.ld not lo&in " remove remember (assord " t,(e in ne (assord " lo&in

    • (en &mail " t,(e in ne (assord " remember it

    • Tr, and o(en in both nternet :(lorer and $o

  • 8/17/2019 ~ Mannual Testing

    81/150

    N-T("N@ Test -ases@e have already shown the template for writing test cases. 2he main intention of a 2- is to write test cases e!ectively and also e"ciently.:ere, the actual result is written after execution of the test cases and most of the time would $e the same as the expected result. It will $e di!erent if only the test step is failed. Soactual result (eld can $e sipped, and we can ela$orate a$out the $ug in comments (eld.Also, the input (eld can $e removed and these details can $e added in description (eld.

    Its not that the a$ove mentioned template is a standard one, the template can vary in eaccompany and also with each application depends on 2- and 2est Lead. 5ut, for test