Beruflich Dokumente
Kultur Dokumente
n e s ti T
www.TestingCircus.com
FromtheKeyboardofEditorinChief
Welcome to the new issue of Testing Circus.Inthelastfewissueswehave introducedfewmorenewregularfea tures. Learning automation tool step bystepandtesteventsaretwoamong them.Wehavestartedtopublisharti cles on Sahi from the last issue. Narayan Raman will continue to writeonSahitoolinTestingCircus future issues. I hope readers will get benefitedfromhisstepbystepdemon strationofpowerfulSahifeatures. ganization.Wehavepublishedthelist of TCRs in this issue of magazine (page40).Wewouldalsoliketopub lishthephotosofourreaders.Wehave publishedtwophotosofreadersinthis issue(page11).
From this issue onwards we have changed the questions asked in the interviewwithtesterssection.Markus answers few interesting questions in this issue of Testing Circus. Also in thenewssectionwehavetriedtocap OneofourobjectivesatTestingCir turenewsandeventsrelatedtoSoft cushasbeentopublisharticlesofnew wareTesting.ThankstoBharathand writers,helpandencouragethemwith Parimalaforsendingthereportstous. oureditorialteamsguidanceinshap ing the articles. We have received Enjoy Testing Circus and send us many articles from new writers and feedbacks. we are working on those articles and AjoyKumarSingha we would publish them regularly in ourmagazine. editor@testingcircus.com http://twitter.com/ajoysingha
Vol 2 - Issue 6
We would like to thank our Testing CircusRepresentativesforhelpingus promoting the magazine in their or
www.TestingCircus.com
June 2011
Testing Circus
-2-
Corruption has been a buzz word aroundtheworldinlastfewmonths. In our regular column Fake Testers Diary we have tried to capture the corruption culture in Software Test ingpractices.
Testing Circus
Vol 2 - Issue 6
In this issue
Topic Editorial TestingQuote LetterstotheEditor AFakeTestersJourney ATestMatrixApproachforOrganizingTesting SoftwareTestingNews PromotingSoftwareTestinginYourOrganization CrackTheCode TestersatTwitter QTPCodeCorner CrossBrowserCompatibilityTesting LearnSAHIstepbystep TestEventsforJuly2011 Agileislessefficient InterviewwithMarkusGrtner
www.TestingCircus.com
June 2011
-3-
Testing Circus
TestingQuote
Vol 2 - Issue 6
Testing is an infinite process of comparing the invisible to the ambiguous in order to avoid the unthinkablehappeningtotheanonymous.
JamesBach
LetterstotheEditor
HiAjoy, Iamavidreaderoftestingcircus,IwouldliketothankTestingCircusteamforprovidingalotof informationthroughthemagazine. IwantyoutoincludeafewtopicsontestingSAPapplicationsinfuture. Thanks, Rajeshwari Thanksforappreciatingourwork.Wewilltrytopublishtopicsofyouchoiceinourfutureeditions. Editor. Dearsir, IreadyourmagazineandIreallyappreciateyoureffort.Ihaverecommendedthismagazineto manyofmyfriends. Regards, AjayRawat WearehappythatyoulikedTestingCircusMagazine.KeepspreadingthewordaboutTesting CircustoyourfriendscircleandQAfolks. Editor IlikedthetestingpuzzleandinterviewsectionofMayTestingCircusissue.Wouldyoupublish alistofrecommendedlistofwebsitesandblogsonsoftwaretestinginyourmagazine? Regards, NickReinis Wehavepublishedalistoftop100softwaretestingblogsinourOctober/November2010issue. KeepreadingTestingCircusforotherinterestingtopics. Editor
editor@testingcircus.com
http://twitter.com/testingcircus
http://facebook.com/testingcircus
Testing Circus
Write to editor@testingcircus.com
www.TestingCircus.com
Vol 2 - Issue 6
June 2011
-5-
Part 6
CorruptionSeason1
ByFakeSoftwareTester
I loved it when it happened. My boss Delspe was miffed that his H1B Work permit was rejected. I celebrated in silence!Hewentabouttellingeveryonethathecouldabout howunfairlifewastohim.Betweenyouandme,Ithinkhis VISA application was rejected since hes a manager. Have you ever seen a manager who works? And do they really expecttheUSgovt.togivemanagersaworkpermit?he he...ButdonttellhimthatItoldyoutheabove,ok? AndaveryupsetDelspespiedmetakingacoffeebreakand taggedhimselfalongwithme.Thatshiswayofconnecting withtheteamtoimproveteammorale.Ihateitwhenmyboss inviteshimselftohavelunchorcoffeewithme.Well,dontI deserve at least some time alone? And over coffee, he was tellingmethathewouldhavetakenupagovernmentjobin India,ifnotforthecorruptionfactor.Andthismonthsstory isaboutcorruptioninIT.Well,doescorruptionexistinIT? Hmm...thebelowswhathappenedtomeandIleaveittoyou folkstotellmeifcorruptionexistsinsoftware.
assistanttestmanager,assistanttestmanager,seniorassist anttestmanager,juniorassociatetestmanager,associatetest manager,seniorassociatetestmanager,juniortestmanager, testmanager,seniortestmanager..andsoon. WhenwejoinedEleInfoSystems,weweretoldthatifwe work hard enough we could get a promotion. But with so many designations, promotions and level changes are very periodicoverhere.Theyhappenalmostonceayeartoevery one.
Thisisa3partepisode.Ihaveencountereddifferentstories ofcorruptionandwilltrytowriteabouteachoneoverthe Well, coming back to the story, we were just 3 days away next3monthsAndheregoes fromcompletingtheproject.Andasusual,Ihadtosacrifice allmydaylightandnightlighthoursfortheproject.Ieven TheOnsitemanagerthatbribedthetester missedtheIPLfinals.AndthatswhenIfoundtheproblem. IknowitAllwasthenameofmyonsitemanager.Ifyoulook Ifoundthatiftheapplicationweretobedeployed,itwould at the designations in Ele Info Systems, they start from break at least 45 downstream systems, which can bring JuniorITEngineer,ITEngineer,SeniorITEngineer,andgo businesstoahalt.Thisoccurredbecausenobodycaredtogive ontoJuniorSQATester,SQATester,SeniorSQATester, enough thought of testing outside the scope of the project. JuniorSoftwareTester,Tester,SeniorSoftwareTester,Jun Justbecausethescopewasclearlydocumented,allofushad ior Module Tester, Module Tester, Senior Module Tester, conveniently ignored this partof testing the criticaldown JuniorFeatureTester,FeatureTester,SeniorFeatureTester, streamsystemsafteroursystemsgoliveintoproduction.I Junior Lead Tester, Lead tester, Senior lead tester, Junior would have logged a defect, but we had clear instructions
www.TestingCircus.com
June 2011
-6-
fromDelspeandIknowitalltocallthemwhenwefind tions. And I am still here, writing this note to you, since anyhighprioritydefects.Theclienthadaccesstoourdefect thatsallthatIcoulddo!!! logsandwhowantstobetruthfultotheclient? Howmuchmorecorruptcanlifeget?Lookoutforournext Anyways, I decided to call Iknowitall and talk to him. I issueofTestingCircus. ignoredDelspesincehewouldnotunderstandmuchabout this,anyways.AndwhenItalkedwithIknowitall,Ireal izedthathedmissedincludingthisinourplans.Apparent ly,theclienthadclearlycalledoutaboutthisandthiswasa missfromhisend. Iknowitallwaslookingforapromotionandheunderstood thatthiswouldputhiminjeopardy.Thatswhenhemadethe suggestion. He told me, Dont talk about this. I asked Why?HesaidWell,youknow,itsbestforyouandme thatwedontdiscussthisatall.Whenitgoestoproduction, Illtalkaboutthisandconvince thesepeople thatits their goofup.ItoldhimItsnotfair.Whatsbestisthatweboth sittogethertotryandfixthis.HesaidItstoolatetofixit. Letsjustignoreit.andthecallwentonforhalfanhour. Andthenithappened. Iknowitall said, If you promise not to talk about it, a rewardwouldbeawaiting.Iwasflabbergasted.Whatre ward? Letssaythatyoucanmaybegetatripoverhereforsome time.Letsjustignorethatyoufoundouttheentirethingand goonwithlife.Revealingthisdefectnowmeansthatwed havetoansweralotofquestionstoalotofpeople.Andthe companymightlosethecontract. Andthenext30minuteswentonhimconvincingmetotake upthisoffer.Irefused.Irefusedtobeapartofthismockery!!! And do you know what happened next? Well, I got reas signed to a different module that was tested a 1000 times beforeandmyfriendIhavenobrainswasassignedthispiece oftestingforthenextweek.Thebugwasnotfixed,itwentto productionanditbombed. Ihavenobrains was made the scapegoat in front of the clientsandIknowitallshoutedathiminfrontoftheclients. Apparently,theclientswerenottooconcernedsincesomeof thedownstreamsystemswerenotinuseanymoreandthat helped bring down the criticality of the issue. The team workedoverthenext72hoursandgotasolutioninthenext 3daysandIknowitallreapedtherewardsandthepromo
AfakeTestersDiarywasfirstpublishedinTesting CircusJanuaryissue.NewReadersareencouraged toreadouroldissuesatwww.testingcircus.com tounderstandthejourneyofafakesoftwaretester. Keep reading future issues of Testing Circus to know more!!! Do you have anything to say about faketestingpractices? Writetous.faketester@testingcircus.com Bytheway,haveyouseentheblogonfakesoftware testing?Hereitis http://fakesoftwaretester.blogspot.com Editor
www.TestingCircus.com
June 2011
-7-
www.TestingCircus.com
June 2011
-8-
testingareas.Thisapproachreducesthetimetocreateandupdatethetestingmatrixthroughconsolidatingthefeatures optionsacrosstestingareas.Thetestercanbundlemultipletestsintoonetestscenarioorshecantestthemindividuallybased uponhertestideas,experiencelevelintesting,andknowledgeofthefeature.Thisallowshertochangeherapproachwhen retestingafeatureandallowsothertesterstotakedifferenttestingpathsprovidingbetteroveralltestingcoverage. CreatingaTestMatrix If you are testing your application in a webbased environment and you need to test the ability to print a report using differentbrowsers,yourtestingmatrixmaylookasfollows: Theabovematrixprovidesinitialguidelinesontestingcoverageandthesupportedwebbrowsers.Withthisinformation coupled with knowledge of the application and history of fixed bugs, testing ideas can be generated. This matrix can be customizedtoincludeasectiontodocumentthetestingideasandadditionalcolumnscanbeaddedsuchasnotes.Atesting matrixshouldbecreatedbasedupontheneedsofthefeaturesbeingtested,therisklevel,andhowmuchdocumentationis helpful. VariationofaTestMatrix Theabovetestmatrixexampledefinesspecificfeatureoptionstobetestedallowingthetestertogeneratetheirtestideas. Anothervariationwouldallowthetestertodocumenttheirtestingideas.Yourtestingmatrixmaylookasfollows:
BenefitsofThisApproach Thisapproachcanbehelpfulwhenthereareadefinitesetoffeaturesthatmustbetestedsuchasinregressiontestingorwhen thesamesetofoptionsaretestedacrossmultiplebrowsersortestingareas.Whilethetesterisexecutingtheirtestingideas, thisapproachcanhelpthemorganizetheirtestsanddocumentwhattheyhavetestedallowingthemtoreviewtheirprogress. Becauseitisnotalwayspossibletorunalltestideasacrossallwebbrowsersortestingareas,atestmatrixallowsthetester toassesshowmuchtestingtoperform.Thisinformationcanbereviewedwithstakeholdersorothertesterstodiscusstest coverage. DisadvantagesofthisApproach Thereisacostassociatedwithcreatingthetestmatrixbyensuringthecorrectinformationiscapturedandmaintainingitif the featureschange. Thereis the risk that atesterwill testonly withintheconstraintsof thisstructure andcould miss
www.TestingCircus.com
June 2011
-9-
Bernice Niel Ruhland is a Software Test ing Manager with more than 20yearsexperi ence in testing strategies and execution, de velopingtestingframeworks,performingdatavali dation, and financial programming. She devotes many hours to reading testing approaches adopted by other testers to challenge her own testing skills andapproaches. Whennot exploringthetestingworld,Berniceen joys cooking and spending time with her husband livingahealthconsciouslifestyle.Theopinionsof this article are her own and not reflective of the companysheisemployed.Berniceenjoysinteracting withothertestingprofessionalsandcanbereached at: http://www.linkedin.com/in/bernicenielruhland andhttp://twitter.com/bruhland2000.
Conclusion Whateverapproachisusedtoorganizetesting,itisimportant thatthetestingisnotlimitedbytheapproach.Thegoalofthe testmatrixistoprovideorganizationandnotbecomeacheck listthatisblindlyfollowed.Thevalueofcreatingatestmatrix must outweigh the time to create and maintain if it is to be reused.Atestmatrixcanbebeneficialforregressiontesting andwhentestingafeatureacrossmultiplebrowsersortesting areas. In the end, how a tester organizes her tests can be a personalpreferenceorcompanydrivenespeciallyinregulated environments.
www.TestingCircus.com
June 2011
- 10 -
MaikNogens
The first presentation was given by Praveen Srinivas from Virtusa who spoke on the topic Understanding Restful ServicesandTesting.Thissessionwasveryinteractivefrom the very beginning and everyone felt they gained a lot of information from this session. Praveen gave information AftermanylongthreadsofemailsbetweenMohnesh,Mura aboutSOS,SOAPandvariousotheropensourceandcom li,Sathishandme(Bharath),wehadthingsreadyfortheITB mercialservicesthatcanbeusedforwebtesting. ChennaiTestersMonthlyMeet2.Theeventhappenedon May21st2011inVirtusa.Thebestpartwasthattheevent After the first presentation, the participants were briefed aboutProblemonthetablewhichtheyfeltexcitedabout wasfullybookedtwoweeksbeforetheactualdate. andpeoplewereaskedtosubmittheirticketforRafflesin Afteratightsecuritycheck,peoplewereallowedinsidethe whichRIARUIpromisedtogive3BugdeBugTshirtsfor venueandVirtusawaskindenoughtoprovideeveryonewith theluckywinners. anotepadandapen.Theeventstartedwithanintroduction aboutITBandRIARUIwhichisthesupportingpartnerfor ThenextpresentationwasonthetopicAgileinActionby Anvesh from Collabnet. Anvesh compared the traditional waterfallandtheagileprocessandbriefedabouttheadvan tagesanddisadvantagesineachofthem.Discussiononthis topic post presentation was really good where the partici pants spoke on how agile process is more beneficial in a productbasedcompanythanaservicebasedcompanyasthe service based organization has to show the client a lot of differentinformationinordertopleasetheclientandhence hastoinvolveinmanyreportsanddocumentation. ChennaiTestersMonthlyMeet2 ThenextpresentationwasbyKrishnavenifromVirtusaon thetopicTestersandNetworking.Afterthispresentation, many came to know about the existence of Chennai testers group and Weekend testing which provided a learning ground for many testers and also an opportunity to meet ITB Chennai.The welcome speech was given by Mr.Suresh renowned testers across the globe. Participants were open Srinivas,TestingHeadofVirtusa.Heenlightenedthepartic enough to admit that they thought testing was only what ipants on the mindset of testers and the current trend in theyhadbeendoingintheofficedayindayout. testingandalsohowtestersshouldequipthemselvestobein All the participants appreciated the initiative by ITB and demandinthetestingmarket. thanked the organizers for conducting such an event in
*NewsinHindiScript.
www.TestingCircus.com
June 2011
- 12 -
BangaloreTestersMonthlyMeet2
Bangalore Testers Monthly Meet2kick ThenextwasthemostawaitedandinterestingProblemon started with the table session where four problems where posted. The Rahul problemswhere: Vermas Introductory Speech. He spoke about different meet up models in the past and why they succeeded or failed. He 1.Toolsusefulformobiletesting mentionedhowBLRTMMfollowsapeermodelwherepeople 2.AtechnicalissueinQTP from different backgrounds can come together to learn and 3.HowtosayNOtoyoursuperiors havefunbothatsametime. 4.AboutTestingCertifications Rahul emphasized the need for DeveloperTester friendship and stay united instead of fighting with each other. World wouldbealotbetterplaceifbothbelievethattheybelongtothe sameside.Healsorequestedthatmanypeopleintheaudience testersanddevelopersshouldstartpresentingatthemonthly meetsinsteadofjustsittingastheaudience.Thereissomuch ofgreatworkdonebypeopleoutthere,thatitshouldnotgo unrecognised Introductory speech was followed by Welcome Note from PankajKSinghofIBM.Pankajspokeabouthowemphasison quality has grown over the years and how its even more importanttodaytodelivergoodqualitysoftware.Healsospoke aboutIBMsviewofqualityandthestepstheyaretakingto adheretoqualityvalues.
Alltheparticipantsmanagedtohelpeachotherandtriedto ThefirsttechnicalsessionforthedaywaspresentedonIBM solvetheproblems.Thosewhowerenotabletosolvetheissue Rational Quality Manager by Vaibhav Srivastava of IBM. whereaskedtopostthesameontheChennaiTestingGroup. Herantheaudiencethoughdifferentfeaturestopiqueaudi enceinterest.Thereweremanyquestionsthankstotheaudi The session ended with distributing Parker Beta pens to the ence,buthadtobecutshortbyRahulVermakeepingrestof participantswhopresentedtheirproblemsintheProblemon the sessions in mind. Vaibhav promised to stay back for the thetablesession.Thismethodofawardingtheparticipants Problem on the Table (POT) session to answer impending who came forward to share their issues during this session questionsfromtheaudience. encouragedotherparticipantstotakeparttoo. Aftertheclosingceremonyalltheparticipantstookthisoppor tunity to network and know each other and share as much informationaspossible.Thisexcitingeventshowedhowim portant networking was for every profession and showed a betterpathforlearningmoreefficiently.Alltheparticipants leftthevenuepromisingtoreturnbackwiththeircolleagues forthenextevent. Therewasashortteabreakallowingpeopletonetworkandtalk toeachother.Ifsmartlyused,breaksduringmeets,workshops andconferencesaremostproductiveasitllhelptheaudience connectwiththespeakersandviceversa.Thatisexactlywhat happenedatBLRTMM2.Itwasinterestingtoseefewnon smokersfollowafewothersrightintothesmokingareafora valuablechat! ThesecondpresentationforthedaywasfromAvnishTyagiof McAfee who knew Rahuls strict time guidelines. He was
[***ReportedbyBharathSfromChennai www.riarui.org]
www.TestingCircus.com
June 2011
- 13 -
readywithhispresentationevenbeforeteabreakended.His topicwasBrowserExtensionsonWebSecurityTesting.He talkedaboutafewtoolslikeTamperIEandTamperDatauseful for Web Security Testing. He even demonstrated a couple whichmadeitthemostinterestingpartofthesession.Healso presentedafewothertoolsthatcouldbeexploredinsecurity testing arena. Audience was very participative and added a fewmoretothepresentedtoollist.Avnishhopedthatifanyone foundevenasinglebugbasedonthesetoolsattheirdailyjobs, hewouldthinkhispresentationwassuccessful.Iamhopeful hiseffortisindeedsuccessful.Manytesterstooknoteoftools andpromisedtoaddthemtotheirsecuritytestingchecklistin theirdailyjob. Sometimes, some speakers tend to think how the audience doesntknowaboutsuchbasictools.Therealproblemisthere arenotmanyplatformswherepeopleshareknowledgeoftheir skills,tools,productsandothersonaregularbasis.Thisisone main reason why more and more testers should attend such meetsatregularintervalsoftime.
suming. This question triggered many subquestions: Why write test cases in clients English, Why write detailed test cases, Why write test cases in the first place, Why not use videorecordingsorchecklistsetc.Rahulintervenedandhelped diverttheaudiencetoSunilsproblem.Afewsuggestionswere thrownopenintheairandfinallyconcludedbyAnanda,one oftheQAmanagersatIBM. A couple others also presented their problems which were addressedbysomeofthemintheaudience.Oneofthemwas relatedtoperformancetesting.Rahulbeingaproansweredit withdifferentdimensions. Problem on the Table was the most hilarious session for the day.WehadPradeepSoundararajan,NarayanRaman,San thosh Tuppad, Dhanasekar S, Rahul Verma, Ananda and others(obviously,Ihavemissedtheirnames)whoproactively participated in the discussions and argued to the core about whattheybelievein. OneofthemostwonderfulthingsontheIndianTestingscene isthisWehavepeoplewithdiverseviewsoncertifications, test maturity models, test case writing to write or not to writeandmanymore.However,whentimecomestotalkabout these,noneofthembackoutfromtheirbeliefssimplybecause themajorityofpeoplethinkdifferently.Theyargue,counter argue,fight,yell,screamanddowhattheycanonthestageto trytoconvincepeople.Attheendofthesession,alltheydois exchangeHighFiveswitheachotherandsay,Hey,Ienjoyed thediscussion.
RightafterAvnishTyagi,NarayanRamanpresentedonTest Automation.Hestartedwithaquestion,Howmanypeople thinkRecordandPlaybackisbad.Hewentontosayhowthat is a first good step towards check automation. There were many queries in Selenium vs. Sahi style which Narayan answeredgenerously.Histalkwasfollowedbyasmalldemo onSahiandhowscriptswritteninSahiareeasilyreadable.It appearsthatsupportofferedforpeoplewhouseSahiisamaz ing.ThefolksatSahiwontspurnitoffsaying,Thatisnot Sahi problem. Theyll see if they can address it even if it is nonSahiproblem[ThinkaboutallthoseguyswhosayHey, The end result of discussions should not be hatred towards thisisaMicrosoftproblem].Thisaspect,Ithinkwillbringin differentschoolsofthought. Itshould beaboutbeingableto convince others what one thinks is right and in the most morecustomersforthemintimestocome. righteousway.Intheworstcase,itsaboutbeingabletogreet Keynotessessionallowedpeopleintheaudiencetoparticipate to that person in the hallway when our paths cross again. and share good practices that have helped in the past. Dha BLRTMM2concludedwiththislesson. nasekar spoke about the importance of having dedicated test SincereThankstoIBM,Bangaloreforkindsponsorshipofthe environmentsfortesting.Heillustratedafewexamplesfrom venueoveraweekend.SpecialThankstoRahulVermaandthe his experience inthepast.NikhilBhandarispoke abouthow TMMteamfortheirhardworkandtimetomakethiseventa theirteamapproachedtheAgilepractices.Acoupleothersalso successfulone. talkedabouttheirexperiencesintestingingeneral.Itwasfun [***ReportedbyParimalaShankaraiahfromBangalore] toseepeoplesharegoodpracticescontrarytobestpractices. ProblemontheTablestartedwithSunilKumaraskingwhy some clients emphasize on good English writing skills for writingtestcases.Hesaidhewasfindingithardbecausetest casewritingitselfisboring.Overthat,iftestersareaskedto writeasperclientsEnglishvocabulary,itisverytimecon
www.TestingCircus.com
i Test
ng
e us R Circ
a ul
t ea
ur
RobvanSteenbergen
www.TestingCircus.com
June 2011
- 15 -
Test Promotional Tip 12: Publish in the tohim,beentohistrainingorwatchedhispresentation. Near future: Maybe youll be introducing usability organizationsmagazineabouttesting. Ihadwrittenalistoftipsforpromotingsoftwaretesting. testingorreleaseanewproductthatyouvebeentesting One of those was: Publish in the organizations withsuccess. magazineaboutsoftwaretesting. Testing(oranyothersubject)isgenerallytakenmore seriouslywhenanarticleappearsinprintinamagazine. Ifitisprinted,thearticlehasmorevalueforpeoplein common. So publishing articles about testing in your organizationsmagazineisagoodwaytopromotetest awareness. Iveusedtheformulasmentionedbelowmyself,andso farwithsuccess.Soletstalkaboutsomecommunication andmarketingmagic. There are two formulas that almost sound like magic spells:NIDIAandAIDA Importance:Somethingisnewstomanypeoplewhen thereissomethingatstake. Examples: A lot of bugs are in the product that is released by you or another company, a competitive companyhasreleasedacomparableproduct(isitbetter?)
Deviation: Unusual news standing out of the way thingsgonormally Examples: Someone has won a prize with testing, or strangethingshappenedwhenyouweretesting.
NIDIA: News, Importance, Deviation, Interest, Interest: A development or event which the readers Authority themselvesareaffectedby. AIDA:Attention,Interest,DesireandAction Examples: Testing this way, will change the way we workinthecompany,notonlyforIT,butforallother NIDIA departments. Do a calculation of costs of defects that If you want to write an article and want to get it couldhavebeenfoundintesting,insteadofproduction. published, the chance of getting it published will not Time to market is improved by testing early in the alwaysbea100%.Youcanincreaseyourchancesfor process. Most people will always care for money and publishingbysettingupyourarticleasrealnews.The timewastedorsaved. NIDIA formula is used by journalists to determine: Whatisnews. News:Thearticleyouwriteisrelevantandhappening Authority:Informationthatcomesfromamajorsource atthismoment.Orithasjusthappenedorisaboutto getslotsofpeopleattention.Thiscouldbeapersonor anorganization. happeninthenearfuture. Examples:Youtestedsomethingwithgreatresults,or Examples: The test guru I mentioned before, you atestguruhasvisitedyourcountryandyouvetalked interviewedhim.Orthenewscomesfromahighlevel www.TestingCircus.com June 2011 - 16 -
manager or the government or another well known ortheprosandconsofautomatedtesting,modelbased company. testing,exploratorytesting,etcetera.Thereadershould Doesyourtopic/articlerelatetothepointsabove(orat really want to have the product (or at least get very leastone)?Thiswillincreaseyourchancestogetyour interestedinyourwork)afterreadingthisparagraph. Dontleavethedetails,intheinterestpartyoushould articlepublished. stayawayfromdetails,butmoredetailedinformation canbewritteninthispartofyourarticle.Bewareoftoo AIDA For the structure of your article and the purpose of muchdetailifthatisnotthestyleofthemagazine.Think promoting the testing profession you will have to aboutthepeoplewhoarereadingthemagazine.What thinkabouthowthestructureofyourarticleshouldbe. personsarethey?Whatistheirlevelofknowledgeabout Awaytodoitiswriteitasanadvertisement.The IT? AIDAmodelisamarketingmodel,whichincorporates four important steps in an advertisement (and thus Action usableforanyarticle)tobecovered.Seethefoursteps In the last part of your article you can try to raise questionsinthereader.Providemoreinformationabout asfourpartsofyourarticle. yourtopicandgivethereaderthesenseheorshecando somethingwiththisinformation.Ifyouweresellinga Attention First,youneedtheattentionofthereadertopullhimor product,yourintentioninthisparagraphwouldbethat herinyourarticle.Thiscanbeacatchyheadline,ora thereaderwouldgototheshopandbuyyourproduct. specialfontorcolor.Checkthemagazineinwhichyou Maybeyouwanttheinterestedreadertocontactyou. wantyourarticlepublished.Ifthemagazinehasalotof And then indicate that you are always available for bluecolorinit,takealookifyoucancolortheheadline questionsonyourtelephonenumberandemailaddress. inanothercolor(orthecompletefirstparagraph).Find Beopentoquestionsandletthatbeshiningthroughin somepositivecolorsandfonts.Nounreadablefontona thispartofthearticle. Articleready?Think,read,modifyandreview! Oftenwewritesomethingbeautifulandthenthinkitis ready.Wehavesentthearticletothepublisherand. WeforgotsomethingYourereadthearticlelaterand seemistakesyourenotsohappyabout...Thatislearning towritefrompureexperience(thusmakingmistakes).I Interest Thiswouldbethesecondpart/paragraphofyourarticle. havethefollowingtipsthatwillmaybehelpyouabit. Trytotransformtheattentionofthereaderintogenuine Thesearepersonalwaysofwritingforme,somaybeit interest.Hereyoucantrytoreachtheemotionsofthe willworkforyouornot,butyoucouldtrythese: reader.Writeaparagraphwithverypositiveinformation First think about what you want to write and about testing. Promise a saving on the cost, speed of write the article only when you have a good goingtoproductionorevenbugfreeproducts.Thisis detailed idea in your head. Dont just start like the Interest from the NIDIA magic spell. Be writingwithoutanidea. carefulnottopromisetoomuch,youstillwanttohave Whenyouhavewrittenyourarticle,letitrest somecredibilityinyourcareeratyourcompany. forafewdays.Sleeponit.Inthemeantime,think Desire Nowyoucangodeeperintothesubjectandforexample listthebenefitsoftestingcomparedtonottestingatall, aboutyourtext.Afterafewdays,readitagain andwriteyournewideasdownwhilereading. blacksurface,thatsdepressing(atleasthereinEurope, in other countries and cultures color has different meaning). Make your opening sentences something specialthatattractsattention.Itshouldmakethereader wantingtocontinuereading.
www.TestingCircus.com
June 2011
- 17 -
Afterreadingthearticleonthescreen,printit. Oftenyouwillfindmoreerrorswhenyouread itonpaper. When rereading your article, make long sentences shorter; make two sentences if a sentencefeelstoolongwhenreading. Whoarethereaders(thetargetofthemagazine)? Adjust the language to the target, use professional idiom very limited if it is for a general public. Explain something like performance testing instead of assuming everybodyknowswhatthatmeans. Let a few colleagues or friends read it and let themcommentonyourarticle.Inthiswayyou always will get some good feedback and even spelling and grammar mistakes are found this way. Goodluckwithyourarticleandletmeknowifyoucould use these tips. When you got other tips for writing, pleaseletmeknowtoo.
InthenextissueRobwillwritemoreonhowtopromote testinginanorganization.KeepreadingTestingCircus. Editor
Rob van Steenbergenis anindependentsoftware testconsultantfromTheNetherlands. In the last 5 years he has been involved in infrastructure projects and is now working at Leaseweb. He is working in agile projects, infrastructuralandsoftwareproducts,coachingnew testersandhelpingwithsettingupandimproving thetestprocessesforthiscompany. Formoreinformationvisitwww.chickenwings.nl Robcanbereachedat http://twitter.com/rvansteenbergen Email:rob@chickenwings.nl
Programmerproducescodehebelievesisbugfree
1.Programmerproducescodehebelievesisbugfree. 2.Productistested.20bugsarefound. 3.Programmerfixes10ofthebugsandexplainstothetestingdepartmentthattheother10arentreallybugs. 4.Testingdepartmentfindsthatfiveofthefixesdidntworkanddiscovers15newbugs. 5.Repeatthreetimessteps3and4. 6.Duetomarketingpressureandanextremelyprematureproductannouncementbasedonoverlyoptimistic programmingschedule,theproductisreleased. 7.Usersfind137newbugs. 8.Originalprogrammer,havingcashedhisroyaltycheck,isnowheretobefound. 9.Newlyassembledprogrammingteamfixesalmostallofthe137bugs,butintroduces456newones. 10.OriginalprogrammersendsunderpaidtestingdepartmentapostcardfromFiji.Entiretestingdepartmentquits. 11.Companyisboughtinahostiletakeoverbycompetitorusingprofitsfromtheirlatestrelease,whichhad783 bugs. 12.NewCEOisbroughtinbyboardofdirectors.Hehiresaprogrammertoredoprogramfromscratch. 13.Programmerproducescodehebelievesisbugfree....
www.TestingCircus.com
June 2011
- 18 -
Thereisavalidationdeviceforcardsthatismadefrom two checkpoints. Each checkpoint has three sub checkpoints that can be selected by the user. These subcheckpoints can return the values: True(for Card Valid),False(forCardInvalid)andRandom(anyvalue nondependent on the validity of the card). The user doesnt know in the beginning what of the three checkpoints returns what(for neither of the main checkpoints). The validation device returns at the end thevaluesfromthetwocheckpointsusingAND(logical) operator. Namesofpuzzlesolverwillbe publishedinthenextissueof TestingCircus. Example: Card goes into the device: user selects one subcheckpointforeachofthetwocheckpoints.Theuser is not aware of the internal functioning but what happensisthattheCardisValid,heselectedtheTrue subcheckpoint at checkpoint one, the False sub checkpointinsecondandattheendhewasabletosee onlyresultFalse.HedoesntknowiftheCardisvalid orwhatcheckpointsheselectedblindly.Onlyendresult. The user can try unlimited number of times the validating machine, but he is only giving one card to findoutthevalidity.Howmanytestsdoeshehaveto takeandwhicharethoseinordertofindoutthevalidity ofthecard? Sendyouranswersdirectlyto BlinduEusebiu testalways@testingcircus.com
BlinduEusebiuis a tester for more than5years.Heis currently hosting EuropeanWeekend Testing. He considers himself a context driven follower and he is a fan of exploratorytesting. He tweets as @testalways. You can find more interactive testing puzzles on his websitehttp://www.testalways.com Sendyouranswersto testalways@testingcircus.com
www.TestingCircus.com
June 2011
- 19 -
i Test
ng
e us R Circ
gu
r la
t ea
ur
Testers at Twitter
JanetGregory
Agilecoach/Processconsultant http://www.janetgregory.ca 294Following 792Followers 105Listed http://twitter.com/janetgregoryca
AdamYuret
Enthusiastic contextdriven tester. Employed as Omega Tester withVolunteermatch.orghttp://contextdrivenagility.com 277Following 325Followers 27Listed http://twitter.com/AdamYuret
SanthoshTuppad
Passionatetester,blogger,testingenthusiast,friendly&funlov ing.DirectoratMoolyaSoftwareTestingPrivateLimited. http://www.tuppad.com/blog/ 253Following 340Followers 33Listed http://twitter.com/santhoshst
STAGSoftware
ZealousSoftwareTestEngineers.InnovatorofHypothesisBased Testing powered by STEM that guarantees Clean Software. http://www.stagsoftware.com/blog 33Following 129Followers 7Listed http://twitter.com/STAGSoft
http://Twitter.com/TestingCircus
www.TestingCircus.com June 2011 - 20 -
e st i T
t sof on ing. e zin st aga arete m ly tw nth sof mo ctson a sis bje ircu ussu m gC ario s.co tin Tes shesv Circu li ng pub //Testi g : in s http ollow s rcu r gC i 37F llowe 3 stin Fo /Te 493 sted om i er.c 34L //twitt : http
cu s Cir ng
l lo Fo
h tt
u w
tT sa
t er it w
s ircu i ng C
www.TestingCircus.com
June 2011
- 21 -
Problem:HowtowritetextinNOTEPADfile.
Solution:
ConstForReading=1,ForWriting=2 Set JP=CreateObject(Scripting.FileSystem Object) Sheetname=DataTable.GlobalSheet.N ame filename=E:\jaijeet.txt DataTable.ImportSheetE:\Order Book.xls,Sheet1,Sheetname Seta= JP.OpenTextFile(filename,ForWriting,T rue) sum=0 j=1 DataTable.SetCurrentRow(j) party=DataTable(Party,global) DowhileNot DataTable(Party,global)=theend CallHeader k=1 Dowhile party=DataTable(Party,global) sl=FindSpace(len(k)) qty=trim(DataTable(Qty,global)) sp_qty=FindSpace(len(qty)) desc=DataTable(Description,Global) sp_desc=20len(desc)
i Test
s ircu gC
Re
gu
r la
Fe
u at
re
www.TestingCircus.com
June 2011
- 22 -
mrp=DataTable(Mrp,global) sp_mrp=FindSpace(len(mrp)) sal=DataTable(Sale_Amt,global) sp_sal=FindSpace(len(sal)) rate=round(sal/qty,1) sp_rate=FindSpace1(len(rate)) a.WriteLine()&space(sl)&k&space(sp_qty)&qty&&desc&space(sp_desc)&space(sp_mrp)&mrp& &space(sp_rate)&rate&&space(sp_sal)&sal sum=sum+sal j=j+1 DataTable.SetCurrentRow(j) k=k+1 Loop charge=round(sum*3/100) net_amt=sum+charge sp_sum=FindSpace1(len(sum)) sp_net_amt=FindSpace1(len(net_amt)) sp_charge=FindSpace1(len(charge)) party=DataTable(Party,global) CallFooter sum=0 Loop Fucntions FunctionFindSpace(a) Ifa=1Then FindSpace=3 else Ifa=2Then FindSpace=2 else Ifa=3Then FindSpace=1 else FindSpace=0 EndIf EndIf EndIf EndFunction
www.TestingCircus.com
June 2011
- 23 -
FunctionFindSpace1(a) Ifa=1Then FindSpace1=5 else Ifa=2Then FindSpace1=4 else Ifa=3Then FindSpace1=3 else Ifa=4Then FindSpace1=2 else Ifa=5Then FindSpace1=1 else FindSpace1=0 EndIf EndIf EndIf EndIf EndIf EndFunction FunctionFooter() a.WriteLine() a.WriteLine(TOTAL:)&space(sp_sum)&sum a.WriteLine(HANDCHAR.:+ )&space(sp_charge)&charge a.WriteLine() a.WriteLine(NETAMOUNT: )&space(sp_net_amt)&net_amt a.WriteLine() EndFunction FunctionHeader() a.WriteBlankLines(2) a.WriteLine(ROUGHESTIMATE) a.Write(DATE:) a.Write()&DataTable(Date,Global) a.Write() a.WriteLine()&DataTable(Party,global)&Medimics a.WriteLine() a.WriteLine(SLQTYDESCRIPTIONMRPRATEAMT) a.WriteLine() EndFunction
JaijeetPandeyhasover5andhalf years of experience in Application Development, Maintenance and Testing.Frommorethanlast4years heisinvolvedinautomationtesting with QTP and Load Runner tools. Heisassociatedwithvarioustesting initiatives in NCR region of India. He teaches QTP on weekends. Jaijeet writes his blog at http://jaijeetpandey.blogspot.com He is currently employed with Birlasoft,Noida.Hecanbereached athttp://twitter.com/jaijeetpandey
www.TestingCircus.com
June 2011
- 24 -
Noteveryoneusesthesamebrowser,similartohoweveryone DifferentBrowserVersionsInternetExplorer(6,7,8), isrunningonadifferentoperatingsystem;youcantexpect Firefox(6.2,7.0),etc allpeopletobeusingthesamewebbrowsingtool. DifferentComputerPlatformsWindows,Mac,Linux,etc So what are the options? The data about current browser usagevariesdependingonthesourceandtheregion,butin general, Internet Explorer, Firefox, Chrome, Safari, and Opera makes up most of the market share, with Firefox dominatingthemarket.Firefoxhasover42.9%marketshare, InternetExplorer8has24.3%andChromehaving25.6%. DifferentScreenSizesFrom800x600pixelsto1024x768 pixels DifferentFontSizes HTMLErrorsMistakesthatbreakyourpages BrowserBugsLittleknownerrorscausebigproblems
When there are so many different options out there, each Cross browser compatibility is widely recognized as an runningtheirownrenderingengine,howdoyouensurethat important issue among web developers but hardly ever yourwebdesignorapplicationwillholdupineachofthem? addresseddirectlyduringthesoftwaredevelopmentprocess. Successfullyleveragingtheabilityofthewebtoreachawide Typicallywebapplicationsaredevelopedwithasingletarget audience is complicated by the varied webclient clientsideconfigurationinviewandmanuallytestedfora configurationsusedtointeractwithwebcontent.Thatswhy fewmore,asanafterthought. wehaveascopetogoforBrowserCompatibilityTestingand
www.TestingCircus.com
June 2011
- 25 -
BrowserStatisticsW3CSchools,April2011
Asmentionedintheabovestatistics,theincreaseddiversity ofwebclientplatformconfigurationscausesexecutionofweb applications to vary unpredictably, creating a myriad of challenges for Quality Assurance during development. So thatidentifyingandfixingsuchkindofbrowsercompatible issueswillhelptoensurethatthewebsitesconformstoits specificstandards,makingitmorelikelytobecompatiblewith anygivenwebclientplatformconfigurations.
BrowserCompatibilityTestingMethodology Some of the most popular Browser Compatibility testing methodologiesare, ManualExecutionTechniques OSStatisticsW3CSchools,April2011 AutomatedExecutionTechniques OrthogonalStaticTechniques CombinatorialTechniques
ManualExecutionTechniques: The most popular approach to evaluate a web application across multiple webclient configurations is to launch the applicationinseveral<browser,browserversion,operating system>permutationsandanalyzetheresult.Verificationof webapplicationcorrectness,usingthisstrategy,isessentially a qualitative comparison between expected and observed presentation/functionality. To verify the web application correctness,theapplicationmustbemanuallyloadedandif atargetenvironmentisunavailable,subsequentanalysisis infeasible. In addition, the time and effort required to effectively assess web applications in this manner can also impedethedepthofthewebapplicationevaluated.
ScreenResolutionsW3CSchools,April2011
AutomatedExecutionTechniques: Tools such as BrowserShots partially automate the above approachbyloadingspecificwebpagesinapredefinedsetof browsing environments and mailing screenshots of the resultsbacktotheuser.Theuserthenmanuallydetermines thecorrectnessoftheWAbyexaminingthescreenshots.If a visible error is discovered, the user manually determines thecauseoftheproblem.Whilethisapproachautomatesthe process of loading web applications, it is still resource intensive,nondiagnostic,andlimitedtoasmall,fixedsetof clientconfigurations.Inaddition,itcanonlybeusedtodetect failuresevidentfromvisualinspection.
Note:StatisticsarecollectedfromW3Schoolslogfiles
www.TestingCircus.com
June 2011
- 26 -
clientside platform combinations of specific browsers, An orthogonal, static approach shifts the basis of Quality operatingsystemandscreenresolutions. Analysisfromacomparisonbetweenactualandexpectedweb Ex:BrowserShots,BrowserCam page appearance to a comparison between the HTML tags 2. Toolsprovidingemulationsoftware:Itallowstheuserto usedtostructurewebpagesandthesupportprovidedforeach interactwithaparticularwebapplicationasifitwerebeing intargetenvironments.Ingeneral,thebasisofmoststatic served on a particular webclient platform (Browser & evaluations is recognition of code patterns consistently OperatingSystemcombination). associated with erroneous behavior. Evaluating the correctnessofawebapplicationwithinaclientconfiguration Ex:AdobeBrowserLab,BrowserSeal inthiscontextinvolvesidentifyingunsupportedHTMLtags in the underlying source code. Hence, the strength of this analysisdependsonthequalityandcompletenessofthetag supportruleset.
OrthogonalStaticTechniques:
CombinatorialTechniques: The testing and fault diagnosis for Web application compatibilityareconcernedwithmultiplekindsofwebclient configurations <browser, operating systems, screen resolution>andthecombinationofalltheparameters.The combinatorial design approach for browser compatibility testingisaveryimportantmethodandhasbeenstudiedand appliedsincealongtimeduetoitseffectivenesswithasmall testsuit.Howtotestandfindfaultsefficientlyandquickly isadifficultandimportanttasktocomplete.Thetesterfirst identifiestheparametersthatdefinethespaceofpossibletest scenarios for the web application under test. The configuration parameters may be different browsers, operating systems, screen resolution, etc. The web compatibility issues may be caused by a parameter or interactionofsomeparameters.Combinedwiththecharacters of the Web application compatibility testing and the combinatorialmethod,weobtainedacceptablenumberoftest casesforthecompatibilitytesting.Afterexecutingthetest cases,weanalyzedtheresultssoastofindthefaultfactors bythepropertiesofcombinatorialmethod.
AdobeBrowserLab AdobeBrowserLabisanonlineservicethathelpsensure yourwebcontentdisplaysasintended.Accuratelypreview webpagesacrossmultiplebrowsersandoperatingsystems, navigatelinks,andusediagnostictoolstooptimizewebsites efficiently. It will accurately pinpoint the browser compatibility issues, compare web pages, and preview full screenshotswithmultipleviewoptionsandcustomizabletest settings. Fordetails:https://browserlab.adobe.com
BrowserCompatibilityTestingTools Currently there are several tools and services, both open sourceandcommercial,thatclaimtoaddresstheproblemof Browsershots cross browser compatibility checking. They fall under two Browsershots makes screenshots of your web design in broadcategories,namely: differentoperatingsystemsandbrowsers.Itisafreeopen 1. Tools capturing screenshots: These web services can source online web application providing developers a captureandprovidescreenshotsofhowaparticularURL, convenientwaytotesttheirwebsitesbrowsercompatibility specified by the user, would be rendered, under various inoneplace.Whenyousubmityourwebaddress,itwillbe addedtothejobqueue.Anumberofdistributedcomputers
www.TestingCircus.com
June 2011
- 27 -
willopenyourwebsiteintheirbrowser.Thentheywillmake GoogleChrome,Opera(8,9and10)andSafari(3and4).It screenshotsanduploadthemtoourcentraldedicatedservers isheavilyoptimizedforspeed,whichisespeciallyevidenton largewebpageswithscrollbars.BrowserSealisnotjusta foryourreview. screenshotapplication,itcomeswithstandaloneversionsof Fordetails:http://browsershots.org all major browsers, including Opera Mini, allowing the developer not only to verify the web site layout under all browsers,butalsotroubleshottheissueincaseofanyproblem. BrowserSealistheonlytoolthatallowstorunOperaMini onaPC. Fordetails:http://www.browserseal.com/
Conclusion BrowserCam BrowserCam creates screen captures of your pages in the operatingsystemsandbrowsersyouselected.Itseasytosee howyourdesignswilllooktoyourvisitorsacrossdifferent browsersandondifferentoperatingsystems.BrowserCams Screen Capture Service lets you submit single or multiple URLschoosethebrowsersandoperatingsystemsyouwant tosee,andscreencapturesofyourwebpageareloadedinthe different browsers and operating systems you selected. BrowserCamsDeviceCaptureserviceusedtoseehowyour websiteswilllookondifferentPDAdeviceslikeBlackberry, Apple,etc. Fordetails:http://www.browsercam.com/ Nowadayswebbasedapplicationbecomesmoreandmore popularbecauseofitsrichcontent,commercialityandease accessacross the globe. Buttesting theweb applicationis challengingbecauseofitsincreasedcomplexityinwebclient configurations,hencenewmethodologies&algorithmshave been evolved day by day with the implementation of new technologyarena,ArtificialIntelligence&Neuralnetwork fordoingbetterandqualityassuredBrowserCompatibility Testing.
BrowserSeal BrowserSealisafastandeasytousecrossbrowsertesting andscreenshottool.Itallowsyoutocaptureanimageofyour web site under multiple browsers with a single click of a mouse and instantly inspect the differences. It supports InternetExplorer(IE6,IE7andIE8),Firefox(3.0and3.5),
Venkatesh Ramasamy is currently working as a Senior Test Analyst in Cognizant Technology Solutions. He has an excellent experience in managingenterpriseITprojectlifecyclethroughall thetestingphases.Hehasdevelopedmanysoftware products for doing endtoend Test Management activities which optimizes the testing costs and improvesthequality.Hehaspublishedabook,titled Ahandbookon1000SoftwareTestingToolswhich gives detailed information about 1000 software testingtools.Hehaspresentedaround14research papers in various technologies like Embedded Systems, Micro Electronics, Communication, InformationTechnology,etc.
www.TestingCircus.com
June 2011
- 28 -
Part2
NarayanRaman
Narayan Raman is the founder, CEO of Tyto Software Pvt. Ltd., a Bengaluru based software products company specializing is software automationproducts.NarayanistheauthorofSahi, anawardwinningopensourcewebtestautomation tool. He has over 10 years of experience in the industry and holds a B. Tech degree in Chemical Engineering from IIT Bombay. Tyto Software, started in 2008, helps organizations simplify and achieve success in their test automation process. Tytoisnowasmall,successfullygrowingcompany. Narayancanbereachedat http://twitter.com/narayanraman
www.TestingCircus.com
June 2011
- 29 -
4) Enter http://sahi.co.in/demo/training/ asthestartURLandclickGo 5) Enter test as username and secretaspasswordandlogin 6) Addbooksindifferentquantities (say3,1,2)andclickAdd 7) Onclickingadd,thebottomportionispopulatedandthetotalis visible
8)
overthetotaltextfield
www.TestingCircus.com
June 2011
- 30 -
9)
OncetheAccessorfieldispopulated,ClickonAssert.
TheEvaluateexpressionboxgetspopulatedwithpossibleassertions.Letusselectthe_assertEqualstatement, whichassertsthatthetotalis1800.
Clicking on Test > prints the output of the selected ex pressioninthebottombox. Add this assertion to recorded script by clicking on Append toScript. 10)Click the Logout button on theapplicationtologout. Ifallwentwell,weshouldhaveascriptwhichlookslikethis:
_navigateTo("http://sahi.co.in/demo/training/"); _setValue(_textbox("user"), "test"); _setValue(_password("password"), "secret"); _click(_submit("Login")); _setValue(_textbox("q"), "3"); _setValue(_textbox("q[1]"), "1"); _setValue(_textbox("q[2]"), "2"); _click(_button("Add")); _assertEqual("1800", _getValue(_textbox("total"))); _click(_button("Logout"));
TIP:Toopenthescriptforediting,clickontheScriptslinkonthedashboard,andthenopenthe.sahfileinatexteditor likeNotepad++ Afewpointstonoteaboutthescript: 1) Thescriptdoesnothaveanywaits 2) ThescriptisfairlyreadableexceptforthesetValuestatementsafterlogin Nowletuscomparethescripttoourinitialgoalstatements.Onedifferencetonoteisthatthegoaltalksaboutfunctionality ofabookstoreapplication.Thescript,ontheotherhand,showsstepsatamorebasiclevel.Thescriptonlycommunicates howauserinteractedwiththesystem,withoutcommunicatingtheintention.Atestscriptwhichdoesnotcommunicate theintentionismuchmoredifficulttounderstandandmaintainlater. Letusnowmodifythescripttoexpressourintentiontoo.Creatingfunctionsoutofgroupsoffunctionality,wearriveat:
function login($username, $password){ _setValue(_textbox("user"), $username); _setValue(_password("password"), $password); _click(_submit("Login")); } function addBooks($numJava, $numRuby, $numPython){ _setValue(_textbox("q"), $numJava); _setValue(_textbox("q[1]"), $numRuby); _setValue(_textbox("q[2]"), $numPython); _click(_button("Add")); }
www.TestingCircus.com
June 2011
- 31 -
function verifyTotal($total){ _assertEqual($total, _textbox("total").value); } function logout(){ _click(_button("Logout")); } login("test", "secret"); addBooks(3, 1, 2); verifyTotal(1800); logout();
Noticehowvariousstepsaregroupedlogicallyintofunctionstoexpressintention.Ifwelookatthelast4statements,
login("test", "secret"); addBooks(3, 1, 2); verifyTotal(1800); logout();
library_functions.sah
function login($username, $password){ _setValue(_textbox("user"), $username); _setValue(_password("password"), $password); _click(_submit("Login")); } function addBooks($numJava, $numRuby, $numPython){ _setValue(_textbox("q"), $numJava); _setValue(_textbox("q[1]"), $numRuby); _setValue(_textbox("q[2]"), $numPython); _click(_button("Add")); } function verifyTotal($total){ _assertEqual($total, _textbox("total").value); } function logout(){ _click(_button("Logout")); }
verify_total.sah
www.TestingCircus.com
June 2011
- 32 -
We see here that the 3 textboxes on the webpage are identified as _textbox("q"), _textbox("q[1]"), _textbox("q[2]"). Allthesetextboxeshavethesamenameqwhichisnotanuncommonscenarioinadynamic application.Sahitriesitsbesttouniquelyidentifytheelementsbyaddinganindex,butthatisnotenough.Supposeanother bookisaddedtothelistortheorderofthebookschanges,thisscriptisgoingtofail.TofixthiswewilluseSahis_nearAPI toassociateatextboxwiththenameofthebookinsteadoftheindex.Hereisthemodifiedcode:
function addBooks($numJava, _setValue(_textbox("q", _setValue(_textbox("q", _setValue(_textbox("q", _click(_button("Add")); } $numRuby, $numPython){ _near(_cell("Core Java"))), $numJava); _near(_cell("Ruby for Rails"))), $numRuby); _near(_cell("Python Cookbook"))), $numPython);
www.TestingCircus.com
June 2011
- 33 -
We need people from all over the world. Become a Testing Circus Representative (TCR)
www.TestingCircus.com
June 2011
- 34 -
Testing Circus is subscribed and read by software testers in 71 countries. We are growing every month.
www.TestingCircus.com
June 2011
- 36 -
Markus Grtner
OrganisationitagileGmbH Role/DesignationTestingConsultant LocationHamburg,Germany
MarkusGrtnerstudiedcomputersciencesuntil2005.Hepublishedhisdiplomathesis onhandgesturedetectionin2007asabook.In2010hejoineditagileGmbH,Hamburg, Germany, after having been a testing group leader for three years at Orga Systems GmbH. Markus is the cofounder of the European chapter in Weekend Testing, a blackbelt instructor in the MiagiDo school of Software Testing, contributes to the ATDDPatternswritingcommunityaswellastheSoftwareCraftsmanshipmovement. MarkusregularlypresentsatAgileandtestingconferences,aswellasdedicatinghimself towritingabouttesting,foremostinanAgilecontext.
ng e s ti T
e us R Circ
gu
r la
t ea
ur
e
and got onto the first project within the next month. 3. Whyareyoupassionateabouttestingandwhat keepsthatpassionburning? All my life I had been a tester. This lesson I realized when digging deeper into software testing. It seemed to natural to me, that it actually didnt feel like work. I loved testing software,findingallthesebugs,andinforming othersaboutthecriticalityofthesoftware.Ifyou feelthetestingattitude,yourpassionfortesting keepsonburningonitsown. 4. You are very much involved in the agile communitywhatisitaboutagilethatexcites you? In2007Iwasfacedwiththeproblem,thatwe hadatestautomationsolutioninplacethatwas grownoverthepastyear.We maintained that beast with a group of twelve testers and test automatorsoverthatyear,butwerenowgoing to have just five tester spending their time on that. Early on, I knew, I had to do something aboutit.Istartedtodigdeepertofindoutabout June 2011 - 38 -
1. How long have you been involved in software testing? Untilnowithasbeenfiveyear.ThefirstjobI gotafterfinishingmyuniversitystudieswasa jobasasoftwaretester.Oneandahalfyearlater I found myself as a software testing group leader. Three more years later I started as a consultantinAgileTesting. 2. Howdidyoubecomeasoftwaretester? Iappliedforajobpositionasareleasemanager. Igotinvitedtoajobinterview,andwithinthe first ten minutes I was told that I was interviewing for a different position. I eventually got the job, found myself in a software testing position. Not having learned anything abouttestinginuniversity,Istarted my path as a software tester by heavily self educating myself about the theories behind it,
www.TestingCircus.com
designforsoftwaretestautomation.Ireadabout Design Patterns, RUP, and XP. Ever since I wondered how testers could keep up the pace with the fast development cycles of Agile development. In February 2008 I saw there was a book upcoming written by Lisa Crispin and Janet Gregoryonthattopic.Sincetheyputupsomeof theirdraftchaptersonlineforotherstoreview,I startedtoread,andprovidethemmyfeedback. After finishing that, I felt like I exactly knew whattodo. After getting back to work, we decided about how to replace our test automation beast. Within 18 weeks we completely rewrote everything,andsucceededgreatlywithit.When I left the company last September most of the codewasstillinplace.SincewelivedtheAgile valueswithinthose18weeks,Igotconvincedby thembyactuallyseeingthemhelpus.Eversince thenIstartedtodigmyselfdeeperintoit. 5. What advice would you have for people who wanttojointheITindustryassoftwaretesters? Never stop to learn about testing. Every other week there is a new topic coming up. I love readingandlearningaboutevernewaspectsof software testing. Especially if you join the IT industryasanewsoftwaretester,keepcritical with the curriculum you might be faced with, with your work as a software tester, and with yourcareerpath.WhereIcould,Ispentmuchof myleisuretimeonselfeducatingmeevenmore. TherearestillsomethingsleftwhichIwantto digdeeperinto.Neverstopthelearning.Asmy fatherusedtosay:Onceoutofapprenticeship orhighschool,yourlearningjuststarted. 6. WheredoyouseeSoftwareTestinginnextfive years? Iambadatlookingintothefuture.Someofthe clues I see currently happening tell me that
withinthenextfiveyearswewillprobablyseea twofolded development. Traditional testers eventuallybecomemoregeneralizedduetothe ever increasing influence that Agile software developmenthasonthemarket.Yet,therewill bemoreandmoretestersevenspecializingmore into the topic of software testing. I especially look forward to see more and more context driventesterscomingoutofthis. One of the hopes I have is that current certification programs get replaced by other programswhichactuallymeansomethingonce you really earned yourself a good name as a software tester. Maybe we can then start to improveourcraftassoftwaretesters,finally. 7. YouareaMiagiDoblackbelttesterWhatis MiagiDo and how has it shaped your testing philosophy? The MiagiDo school of software testing is an inventionbyMattHeusser.Afterhavingbeen approached from several sides about software testingtraining,hecreatedafilterforstudents which actually wanted to followup on it, and theoneswhowouldnotdoso.Inthatsense,he putupablackbelttestingchallengeonhisblog inearly2009,andIrepliedtothat.Aftergoing throughsomemorequestions,Igottherankofa blackbelt tester based on my knowledge about testingthatIhadshown. Over the next few months I had several exchangeswithMattonSkype.Heworkedvery closely with me as my mentor. From time to timeheprovidedmeinsights,gavemepointers, andwasagreatpeertohaveexchangeswith.I alsohelpedhimwithonewritingortheotherat that time, and found myself able to take on additional responsibility as a blackbelt instructorinlate2009. TheMiagiDoschoolisaschoolofeagersoftware testers working on their skills. Everyone who June 2011 - 39 -
www.TestingCircus.com
tookanexammeantitseriouslyatthetime,and wantedtodigdeeper.Wearehandpickedand showedexpertiseinthefieldofsoftwaretesting. Ratherthantakingonameaninglesscertification test,weactuallyhavetoproveourselvesinthe craft. If you want to learn from us, the first challengeforyouwillbetofindusmaybenot afterpublishingthis. 8. You are also an author What has been your favouritepieceofwritingandwhy?Howhasit influencedyourcareer? My favorite paper was Agile practices in a traditionalenvironment (http://www.shino.de/publications/Agile_practi ces_in_a_traditional_environment.pdf), accompaning my first conference presentation ever.Oneofthereviewers,BrettSchuchert,told melastyearthathehassharedthisstorywith manyclients.Theyalllovedthisstory,andgot convincedbyAgilesoftwaredevelopmentfrom it. Both, the conference presentation and the paper,eventuallybecamealifechangerformeas IappliedforanewjobtheoneIcurrentlyhave. 9. Yourfavouritemovieofalltimeis? Matrix.Iwatcheditmorethan50times,Ithink. ItwasthefirstmovieIwatchedinEnglish,and cannownearlyspeakitbytheletter.Eversince IlovewatchingmoviesinEnglish. 10.Please finish the sentence, I use twitter because ...after signing up for it in late 2009, I got addicted to it. I share some of my war stories there, and eventually rant over weird stuff I comeacross. Thankyou! EmailIDmarkus.gaertner@itagile.de Blog/Sitehttp://www.shino.de/blog TwitterUrl@mgaertne
ArunVenkatachalamEffindiTechnologies AshwiniB.BavikarYureekahSoftware AsikAliPSHCLTechnologies,Chennai BhawinJoshiSatvikINC. BhumikaSanghviIndusaInfotechServices ChandanKumarSunquestInformations ChethanaRaoOracleIndiaPvtLtd DarshanDilipDeshmukhXentoSystems DeepikaMuthusamyUHG,Hyderabad HiteshGandhiInfosysLtd K.J.DineshBabuWinsysComputech MaikNogensCCSGmbH MdMashhoodAliVEmpowerSolutions NamrathaPrabhuIBMIndiaSoftwareLabs NikaKhaladkarXpanxion PatilISZeOmegaInfotechPvtLtd RajasekaranDEffindiTechnologies ReenaSahajwaniTCS RichaVermaVedicInfoSystem SathyakhalaAnantharajanRevolutionIT SaurabhKumarSinhaNetcarrotsLoyaltySrvices SawanyaThipsuwanVervata ShajiNairAllscripts SmitaHaartyhanks SubramanyaThomsonReuters SumanSachdevaSrijanTechnologyPvtLtd VasanthAspireSystems
www.TestingCircus.com
June 2011
- 40 -
www.TestingCircus.com
June 2011
- 41 -
Testing Circus
We are on facebook. Join Testing Circus Fan Club Get updates and messages directly on your wall.
http://www.facebook.com/TestingCircus
www.TestingCircus.com
June 2011
- 42 -
founding partner
partners
sponsors
exhibitors
Bob van de Burgt - Chairman -, Testadvisor, former president of TestNet, Programme Chair EuroSTAR 2008 and author. Scott Barber, CTO PerfTestPlus, Co-Founder of Workshop On Performance and Reliability. Mark Fewster, independent consultant specialising in software testing, Co-Author of the book Software, Test Automation. Martin Gijsen, Test Automation Architect & Coach, deAnalist.nl. Arie van Deursen, Professor in Software Engineering, Delft University of Technology.
Register now and explore the next generation test tools on Test Automation Day 2011! Participation fee for readers of Testing Circus is only E195,-! Registration: www.testautomationday.nl Discountcode: TAD2011_TECI See you on June 23rd!
Congresorganisatie
JUNE 16TH 2011 WORLD TRADE CENTER ROTTERDAM, NETHERLANDS
195
for r
Parti
TestingCircus.PublishedfromNewDelhi/India.Copyright20102011
www.TestingCircus.com June 2011 - 44 -