testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

download testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

of 57

Transcript of testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    1/57

    Testing SAP:

    Modern TestingMethodologiesEthan Jewett

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    2/57

    But frst!

    Whats the problem

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    3/57

    Enterprise" pro#e$t trade%o&s

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    4/57

    So'tware de(elopmenttrade%o&s

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    5/57

    )lient re*uests

    Build Faster

    And produ$e more ValueCheaper

    with less Risk

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    6/57

    +emember,

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    7/57

    Are there hiddenassumptions

    -es.

    Methodolog/

    People and )ulture

    Te$hnolog/

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    8/57

    An/ other assumptions

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    9/57

    The topi$

    0(er the ne1t hour and a hal'2 well tal3about how testing methodologies2te$hni*ues2 and te$hnologies $an help us

    Change theseunderlying assumptions.

    Enable modern project methodologies.

    Control the basic project trade-of.

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    10/57

    The 'o$us

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    11/57

    The goal

    More value

    Fasterith less risk

    4and more 'un5

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    12/57

    6or e1ample

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    13/57

    7%Model methodolog/

    http:88en.wi3ipedia.org8wi3i86ile:7%model.J

    http://en.wikipedia.org/wiki/File:V-model.JPGhttp://en.wikipedia.org/wiki/File:V-model.JPG
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    14/57

    More parallel2 less repetition

    http:88en.wi3ipedia.org8wi3i86ile:7%model.J

    http://en.wikipedia.org/wiki/File:V-model.JPGhttp://en.wikipedia.org/wiki/File:V-model.JPG
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    15/57

    6aster

    http:88en.wi3ipedia.org8wi3i86ile:7%model.J

    http://en.wikipedia.org/wiki/File:V-model.JPGhttp://en.wikipedia.org/wiki/File:V-model.JPG
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    16/57

    More iterati(e

    http:88en.wi3ipedia.org8wi3i86ile:7%model.J

    http://en.wikipedia.org/wiki/File:V-model.JPGhttp://en.wikipedia.org/wiki/File:V-model.JPG
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    17/57

    ow do we get there

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    18/57

    Modern methodolog/

    Modern *ualit/ assuran$e and testing !eading practice in custom

    development" open source" and agile

    projectsTest dri(en de(elopment 4T

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    19/57

    >eading Pra$ti$e

    )onte1t

    ?uestions and problems

    Approa$hes Tools

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    20/57

    >eading Pra$ti$e

    Conte#t

    ?uestions and problems

    Approa$hes Tools

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    21/57

    )onte1t

    The $onte1t o' modern so'twarede(elopment is abo(e all open"agile and decentrali$ed.

    0pen sour$e pro#e$ts are usuall/ the'urthest along this path2 and as su$h

    these pro#e$ts use 4or are 'or$ed toin(ent5 tools that ft their pro$esses.

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    22/57

    0penness

    +e*uirements2 spe$if$ations2 issuesreports2 test $ases2 sour$e $ode2 andpro#e$t tools and metri$s are readil/

    open and a(ailable to all parti$ipantsin the pro#e$t.

    4@ot ne$essaril/ the same as opensour$e".5

    %pen Collaboration &ithin Corporations 'sing (o)t&are Forges%http:88www.riehle.org8publi$ations8C8open%$ollaboration%within%$orporations%using

    http://www.riehle.org/publications/2009/open-collaboration-within-corporations-using-software-forgeshttp://www.riehle.org/publications/2009/open-collaboration-within-corporations-using-software-forgeshttp://www.riehle.org/publications/2009/open-collaboration-within-corporations-using-software-forges
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    23/57

    Agilit/

    The (alues o' the Agile Mani'esto: Dndi(iduals and intera$tions o(er

    pro$esses and tools

    Wor3ing so'tware o(er $omprehensi(edo$umentation

    )ustomer $ollaboration o(er $ontra$t

    negotiation +esponding to $hange o(er 'ollowing a

    plan

    http:88agilemani'esto.org8

    http://agilemanifesto.org/http://agilemanifesto.org/
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    24/57

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    25/57

    >eading Pra$ti$e

    )onte1t

    *uestions and problems

    Approa$hes Tools

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    26/57

    Manual orautomati$

    testing

    ow do we ensurethat the build

    $omplies with thetests

    ow doestesting

    integrate with

    issuetra$3ing

    ?uestions and problems

    ow do ween'or$e

    dis$iplinedtesting

    ow do we tra$3Fs or Fs o'bugs 4in$luding

    dupli$ates5

    ow do wedetermine the$ause o' test

    'ailure

    ow do we

    ma3e testsrele(ant

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    27/57

    >eading Pra$ti$e

    )onte1t

    ?uestions and problems

    +pproaches Tools

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    28/57

    Approa$hes

    Test )o(erage

    Test Automation

    Test

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    29/57

    Test $o(erage

    The per$entage o' $ode orde(elopment that is tested.

    Dn $ode2 this might be measured b/determining i' e(er/ bran$h o' $ode$an result in a 'ailing test $ondition

    4Bran$h $o(erage"5

    ikipedia -http,en.&ikipedia.org&ikiCodecoverage

    http://en.wikipedia.org/wiki/Code_coveragehttp://en.wikipedia.org/wiki/Code_coverage
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    30/57

    Test automation

    A$$epted as gospel modern de($ommunities +egardless o' how goodthe/ are at

    testing2 a$$ept that the/ shouldautomate as mu$h as possible

    )an lead to ignoring non%automatable

    testing Dn the SAP world we ha(ent e(en

    a$$epted that 'ull test $o(erage isdesirable2 mu$h less automation

    /est automation pushback -http,railspikes.com0112344testing-is-overratedhttp,michael)eathers.typepad.commichael)eathersblog011215the-6a&ed-theo.html

    +utomated testing story on (78 9never completed: -https,&&&.sdn.sap.comirjscn&eblogs;blog

    http://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.htmlhttp://railspikes.com/2008/7/11/testing-is-overratedhttp://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.htmlhttp://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.htmlhttps://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/4103https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/4103http://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.htmlhttp://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.htmlhttp://railspikes.com/2008/7/11/testing-is-overrated
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    31/57

    A note on the 'ollowingslides

    Dm using bowling as an e1ample be$auseDm $op/ing 'rom the internet. D dont3now mu$h about bowling2 so the

    e1amples are probabl/ wrong. M/assumption is that a game is usuall/ F'rames o' two balls per 'rame. D' the last'rame is a spare or a stri3e2 /ou get at

    most two additional 'rames.

    0r something li3e that.

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    32/57

    Test

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    33/57

    T

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    34/57

    Beha(ior

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    35/57

    B

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    36/57

    Spe$ as Test" O or writing 'eatures

    +e$entl/2 the +ub/ $ommunit/ hasbegun de(eloping testing 'ramewor3sthat are e(en $loser to natural

    language. )u$umber

    These 'ramewor3s wrap T

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    37/57

    6eature e1ample

    Feature 9visible to the user:

    S$enario: 9utter game 9i(en D ha(e bowled balls and D ha(e 3no$3ed o(er pins per ball When D $he$3 the s$ore

    Then D should ha(e points

    ?mplementation 9not visible to user:

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    38/57

    6eature e1ample $ont.

    @ote that we $an now implementman/ more tests with no more$ode8implementation:S$enario: Per'e$t game

    9i(en D ha(e bowled F balls and D ha(e 3no$3ed o(er F pins per ball When D $he$3 the s$ore Then D should ha(e points

    S$enario: Bad game

    9i(en D ha(e bowled balls and D ha(e 3no$3ed o(er pins per ball When D $he$3 the s$ore Then D should ha(e U points

    S$enario: >ots o' spares

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    39/57

    Side%b/%side

    /77 @77 (pec as /estre*uire Gtest8unitre*uire Gtest8unit8assertionsre*uire Gbowling

    $lass T)HBowling ITest::nit::Test)ase

    de' setup bowling K Bowling.new end

    de' gutterHgame .times L bowling.hit45 assert bowling.s$ore KK endend

    re*uire Gspe$8e1pe$tationsre*uire Gbowling

    des$ribe Bowling do

    it Nshould s$ore 'or guttergameN do

    bowling K Bowling.new .times L bowling.hit45 bowling.s$ore.should KK

    endend

    S$enario: 9utter game

    9i(en D ha(e bowled balls and D ha(e 3no$3ed o(er pinsper ball

    When D (iew the s$ore

    Then D should ha(e points

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    40/57

    T

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    41/57

    E1plorator/ Testing

    The pra$ti$e o' tr/ing to brea3 things )areer se$urit/ 'or 3lutes

    E1plorator/ testing appears in'ormal2but $an be stru$tured and is a (er/important aspe$t o' so'tware testing. Probabl/ the most negle$ted 'orm o'

    testing in open sour$e pro#e$ts

    http,&&&.kohl.cablogarchives11142A.htmlhttp,&&&.kohl.caarticlesE#ploratory/estingMusico)

    http://www.kohl.ca/blog/archives/000185.htmlhttp://www.kohl.ca/articles/ExploratoryTesting_MusicofInvestigation.pdfhttp://www.kohl.ca/articles/ExploratoryTesting_MusicofInvestigation.pdfhttp://www.kohl.ca/articles/ExploratoryTesting_MusicofInvestigation.pdfhttp://www.kohl.ca/blog/archives/000185.html
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    42/57

    )ontinuous Dntegration

    The pra$ti$e o' automating not onl//our tests but /our 'ull $ommit%build%test $/$le

    F. A $ommit new or $hanged $ode

    . Triggers a 'ull s/stem build

    . And an e1e$ution o' the entire test

    suite

    Cruisecontrol.rb %http,ruby)orge.orgprojectscruisecontrolrbhttp,cruisecontrolrb.thought&orks.com

    Budson -https,hudson.dev.java.net

    http,&&&.so)t&arebloat.com0112444continuous-integration-blueprints-ho&-to-build-an-army-o)-killer-robots-&ith-hudso

    http://rubyforge.org/projects/cruisecontrolrbhttp://cruisecontrolrb.thoughtworks.com/https://hudson.dev.java.net/http://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of-killer-robots-with-hudson-and-cucumberhttp://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of-killer-robots-with-hudson-and-cucumberhttp://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of-killer-robots-with-hudson-and-cucumberhttp://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of-killer-robots-with-hudson-and-cucumberhttp://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of-killer-robots-with-hudson-and-cucumberhttps://hudson.dev.java.net/http://cruisecontrolrb.thoughtworks.com/http://rubyforge.org/projects/cruisecontrolrb
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    43/57

    >eading Pra$ti$e

    )onte1t

    ?uestions and problems

    Approa$hes /ools

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    44/57

    Tools

    (ource version control 4s(n2 git5

    /esting libraries 4rspe$2 $u$umber2#unit2 ABAPunit2 #spe$5

    Continuous ?ntegration tools4$ruise$ontrol.rb2 udson5

    ?ssue tracking4Sour$e'orge2 tra$2>ighthouse2 9oogle )ode5

    +gile methodologies4S$rum2 P2et$.5

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    45/57

    Modern methodolog/

    Modern *ualit/ assuran$e and testing >eading pra$ti$e in $ustom de(elopment2

    open sour$e2 and agile pro#e$ts

    Test dri(en de(elopment 4T

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    46/57

    The SAP World

    Manual

    nit testing ABAP nit

    Ja(a

    6un$tional testing e)ATT

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    47/57

    ABAP nit

    Modeled on Ja(a nit

    E1$ellent 4i' a bit unwield/5 'ortraditional unit test automation or

    $lasses Wor3s well 'or T

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    48/57

    @on%SAP

    We $an use #ust about an/thing (ia+6)s

    6or Web

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    49/57

    Modern methodolog/

    Modern *ualit/ assuran$e and testing >eading pra$ti$e in $ustom de(elopment2

    open sour$e2 and agile pro#e$ts

    Test dri(en de(elopment 4T

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    50/57

    The +oad to the 6uture

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    51/57

    Start with this

    http:88en.wi3ipedia.org8wi3i86ile:7%model.J

    9et more parallel less

    http://en.wikipedia.org/wiki/File:V-model.JPGhttp://en.wikipedia.org/wiki/File:V-model.JPG
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    52/57

    9et more parallel2 lessrepetiti(e

    http:88en.wi3ipedia.org8wi3i86ile:7%model.J

    Spe$ K Test

    http://en.wikipedia.org/wiki/File:V-model.JPGhttp://en.wikipedia.org/wiki/File:V-model.JPG
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    53/57

    9et 'aster

    http:88en.wi3ipedia.org8wi3i86ile:7%model.J

    TestAutomati

    on

    http://en.wikipedia.org/wiki/File:V-model.JPGhttp://en.wikipedia.org/wiki/File:V-model.JPG
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    54/57

    9et iterati(e

    http:88en.wi3ipedia.org8wi3i86ile:7%model.J

    )ontinuous

    Dntegrati

    on

    A d d h

    http://en.wikipedia.org/wiki/File:V-model.JPGhttp://en.wikipedia.org/wiki/File:V-model.JPG
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    55/57

    And end up here4or somewhere similar5

    http:88en.wi3ipedia.org8wi3i86ile:S$rumHpro

    http://en.wikipedia.org/wiki/File:Scrum_process.svghttp://en.wikipedia.org/wiki/File:Scrum_process.svg
  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    56/57

    Than3s

    9eneral re'eren$es 'or

  • 7/25/2019 testingsap-modernmethodology-forpublicdistribution-090427112037-phpapp01.pptx

    57/57

    9eneral re'eren$es 'orin$lusion

    %pen Collaboration &ithin Corporations 'sing (o)t&are Forges % http:88www.riehle.org8publi$ations8C8open%$ollaboration%within%$orporations%using%so'tware%'orges8 Continuous integration tools

    http,ruby)orge.orgprojectscruisecontrolrb-http,cruisecontrolrb.thought&orks.com

    https,hudson.dev.java.net

    http,&&&.so)t&arebloat.com0112444continuous-integration-blueprints-ho&-to-build-an-army-o)-killer-robots-&ith-hudson-and-cucumber

    E#ploratory testing http,&&&.kohl.cablogarchives11142A.html

    http,&&&.kohl.caarticlesE#ploratory/estingMusico)?nvestigation.pd)

    /he ongoing revolution in so)t&are testing http,&&&.kaner.compd)s/he%ngoingRevolution.pd)

    +@+D 'nit (potlight on +@+D 'nit Dart 4 - https,&&&.sdn.sap.comirjscn&eblogs;blog.html +utomated testing story on (78 - https,&&&.sdn.sap.comirjscn&eblogs;blog

    'nit - http,&&&.junit.org

    %pen (ource http,&&&.paulgraham.comopensource.html 9hat business can learn )rom open source:

    atir http,&tr.ruby)orge.org

    (pec as test Cucumber -http,cukes.in)o

    Rspec -http,rspec.in)o

    http,&&&.pragprog.comtitlesachbdthe-rspec-book

    (+D testing http,&&&.beteoblog.combeteo-alm-miniguidesso)t&are-Huality

    http,raa.ruby-lang.orgprojectsapr)c

    ?ntegration /ests in +@+D 7evelopment und /ool (upport -https,&&&.sdn.sap.comirjscn&eblogs;blog4

    I(!/ -https,&&&.sdn.sap.comirjscn&eblogs;blog

    /est automation as panacea 9not: http,railspikes.com0112344testing-is-overrated

    http,michael)eathers.typepad.commichael)eathersblog011215the-6a&ed-theo.html

    @77 - http,behaviour-driven.org

    @lue Ruby - https,sap.na.pgiconnect.comp45=3>0 -http,&&&.slideshare.netschmerdyblue-ruby-sdn-&ebinar-4051424-https,&&&.sdn.sap.comirjscngoportalprtrootdocslibraryuuid=12aa>b-1>)-0b41-b0c-)1a>>3=b4d2

    http://www.riehle.org/publications/2009/open-collaboration-within-corporations-using-software-forges/http://rubyforge.org/projects/cruisecontrolrbhttp://rubyforge.org/projects/cruisecontrolrbhttp://cruisecontrolrb.thoughtworks.com/http://cruisecontrolrb.thoughtworks.com/http://cruisecontrolrb.thoughtworks.com/https://hudson.dev.java.net/http://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of-killer-robots-with-hudson-and-cucumberhttp://www.kohl.ca/blog/archives/000185.htmlhttp://www.kohl.ca/articles/ExploratoryTesting_MusicofInvestigation.pdfhttp://www.kaner.com/pdfs/TheOngoingRevolution.pdfhttps://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/1088http://dannorth.net/2007/02/monkey-business-valuehttp://www.joelonsoftware.com/articles/fog0000000043.htmlhttps://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/4103http://www.junit.org/http://www.junit.org/http://www.paulgraham.com/opensource.htmlhttp://wtr.rubyforge.org/http://cukes.info/http://cukes.info/http://rspec.info/http://rspec.info/http://rspec.info/http://www.pragprog.com/titles/achbd/the-rspec-bookhttp://www.beteoblog.com/beteo-alm-miniguides/software-quality/http://raa.ruby-lang.org/project/saprfc/https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/7131https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/7131https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/7131https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12173https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12173http://railspikes.com/2008/7/11/testing-is-overratedhttp://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.htmlhttp://behaviour-driven.org/https://sap.na.pgiconnect.com/p16473929/http://www.slideshare.net/schmerdy/blue-ruby-sdn-webinar-1260181http://www.slideshare.net/schmerdy/blue-ruby-sdn-webinar-1260181https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/408a9a3b-03f9-2b10-b29c-f0a3374b19d8https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/408a9a3b-03f9-2b10-b29c-f0a3374b19d8https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/408a9a3b-03f9-2b10-b29c-f0a3374b19d8http://www.slideshare.net/schmerdy/blue-ruby-sdn-webinar-1260181https://sap.na.pgiconnect.com/p16473929/http://behaviour-driven.org/http://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.htmlhttp://railspikes.com/2008/7/11/testing-is-overratedhttps://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12173https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/7131http://raa.ruby-lang.org/project/saprfc/http://www.beteoblog.com/beteo-alm-miniguides/software-quality/http://www.pragprog.com/titles/achbd/the-rspec-bookhttp://rspec.info/http://cukes.info/http://wtr.rubyforge.org/http://www.paulgraham.com/opensource.htmlhttp://www.junit.org/https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/4103http://www.joelonsoftware.com/articles/fog0000000043.htmlhttp://dannorth.net/2007/02/monkey-business-valuehttps://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/1088http://www.kaner.com/pdfs/TheOngoingRevolution.pdfhttp://www.kohl.ca/articles/ExploratoryTesting_MusicofInvestigation.pdfhttp://www.kohl.ca/blog/archives/000185.htmlhttp://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of-killer-robots-with-hudson-and-cucumberhttps://hudson.dev.java.net/http://cruisecontrolrb.thoughtworks.com/http://rubyforge.org/projects/cruisecontrolrbhttp://www.riehle.org/publications/2009/open-collaboration-within-corporations-using-software-forges/