Sie sind auf Seite 1von 44

Testing Circus

Volume 2 - Issue 6 - June 2011


TheOnsiteManagerwhobribedtheTester LearnSAHIstepbystep ATestMatrixApproachforOrganizingTesting TestingCircusRepresentatives SoftwareTestingNews CrossBrowserCompatibilityTesting PromotingSoftwareTestinginYourOrganization CrackTheCode TestersatTwitter QTPCodeCorner InterviewwithMarkusGrtner Agileislessefficient
e us R Circ gu r la F t ea ur e

n e s ti T

YOUR MONTHLY MAGAZINE ON SOFTWARE TESTING

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

Volume 2 - Issue 6 - June 2011


Author AjoyKumarSingha PageNumber 2 3 5 AFakeTester BerniceNielRuhland 6 8 12 RobvanSteenbergen BlinduEusebiu 15 19 20 JaijeetPandey VenkateshRamasamy NarayanRaman Testevents.com 22 25 29 36 37 BrianOsman 38

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

Sourcehttp://www.satisfice.com/presentations/bste.pdf QuotecollectedbyJaswinderKaurNagi http://twitter.com/jassi10 www.TestingCircus.com June 2011 -4-

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-

A Fake Testers Diary


in Test g
e us R Circ g a ul r F t ea ur e

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

A platform for software testers to collaborate, test variouskindsofsoftware,fosterhope,gainpeerrecog nition,andbeofvaluetothecommunity. http://weekendtesting.com

www.TestingCircus.com

June 2011

-7-

A Test Matrix Approach for Organizing Your Testing


BerniceNielRuhland
Inpreparationfortesting,sometesterswilltranslatetherequirementstotestcasesdocumentingtheinputandexpected outputinordertocoverpositive,negative,andboundarytesting.Testcasescanbetimeconsumingtowriteandmaintain and will not always allow the flexibility to introduce different testing scenarios. Over time the test cases can provide diminishing returns since the testers may be retesting the same keystrokes on a mature piece of code whereas exploring differenttestingpathswillidentifynewbugs. Testerscanchoosedifferenttestingoptionssuchasexploratorytestingallowingthemtoexploreareasoftheapplicationthey feelmaybevulnerable.Attimesamorestructuredapproachisneededtohelpthetesterorganizetheirtestingtoensurethey adequatelycoverthefeatureswhileallowingthemtheflexibilityofexploratorytesting. WhatisaTestMatrix? Atestingmatrixcanbecreatedforfeaturesthatundergoregulartesting(ie.,regressiontesting)orfornewfeaturesthat requiremultipleroundsoftesting.Thegoalistoreducetheneedtogatherthisinformationeachtimethefeatureistested allowingthefocusongeneratingtestideasandperformingtesting.Thisapproachisalsohelpfulforfeaturesthataretested acrossmultiplebrowsersormoduleswithintheapplication. Atestingmatrixcanbecreatedusingaspreadsheetortableformattotakeadvantageoftherowandcolumnrelationship providingawaytokeeptrackofcompletedtesting.Therowsdefinethefeaturesoptionsandthecolumnsrepresentthe

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-

importanttests.Trainingneedstooccurtoensuretestersuse thetestingmatrixasawaytoorganizetheirtestingandnot constrainthetesting.

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

We Love Testing Circus. It Rocks!


HCLGurgaonTeam

SendusyourphotowithasmallposterdisplayingWeLoveTesting Circus.ItRocks.Wewillprintthephotoinourmagazine.Sendthe photowithnameandlocationtoeditor@testingcircus.com


www.TestingCircus.com June 2011 - 11 -

Software Testing News


i Test n s ircu gC
Re gu r la Fe u at re

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 -

Chennaiandshowedtheirwillingnesstoparticipateinallthe ITBChennaiTestersMeetgoingforward.Allthespeakersin thiseventweregiftedwithaParkerBetabyITBasatokenof gratitudeforshowingtheirinteresttoparticipateintheevent. AspromisedRIARUIgaveawaythreeBugdebugTshirtsfor thethreerafflewinners.

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

WanttopublishnewsandreportsinTesting Circus?Sendyourentriesalongwithphotos toeditor@testingcircus.com


June 2011 - 14 -

www.TestingCircus.com

Promoting Software Testing in Your Organization

i Test

ng

e us R Circ

a ul

t ea

ur

RobvanSteenbergen

www.TestingCircus.com

June 2011

- 15 -

How to promote Testing in Your Organization

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 -

Crack The Code!


BlinduEusebiu

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

ng. esti et war

e zin aga m The

l lo Fo
h tt

u w

tT sa

t er it w
s ircu i ng C

Test / com tter. i /Tw p:/

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 -

Cross-Browser Compatibility Testing


VenkateshRamasamy
The term CrossBrowser refers to the ability for a website, webapplicationoraHTMLconstructtosupportalltheweb browsers. It is a support that allows a website or web application to be properly rendered by all browsers. The uniquechallengeofachievingthisgoalliesinthenatureof themediumitself.Basically,BrowserCompatibilityTesting can be verified for the following areas, Page Layout, Navigation,Color&Graphics,Multimedia(Audio&Video), ContentPresentation,FunctionalityandAccessibility. NeedforBCT provide the solutions for the webclient configuration compatibilityissues. CausesBrowserCompatibilityIssues TheCrossBrowserCompatibilityproblemisalmostasoldas the web browser itself. There are several reasons for its genesis and growth in recent years. The major causes for browsercompatibilityissuesare, Multiple Browsers Internet Explorer, Opera, Firefox, Safari

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 -

Learn Sahi Step by Step


i Test ng
e us R Circ g a ul r F t ea ur e

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 -

Open Source Test Automation Tool - Sahi


(Writing Maintainable Scripts)
NarayanRaman
InthepreviouseditionofTestingCircus,AkankshaTalwarshowedushowtorecordandplaybackasimpletestscriptin Sahi.Inthisarticle,wewillexplorefurtheronwritinggoodmaintainableSahiscripts.Wewillbeusingthesampleapplication availableathttp://sahi.co.in/demo/training/ GOAL:Toautomateascenariointhesampleapplication,whichisasimplebookstore.Weshallperformthefollowingactions 1) Login 2) Adddifferentquantitiesofbookstoashoppingcart 3) Onadditionofbooks,theapplicationdisplaysthetotalamounttobepaid.Wewillverifythetotal. 4) Logout First,letusrecordthesequence 1) OpenabrowserfromtheSahiDashboard. 2) BringuptheController(ALTDoubleClickonthepage) 3) Startrecordingascript.Giveit anameof1_raw_recording.sah

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)

Press the CTRL key and hover

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();

Itcommunicatestheintentionofthescriptverywell. SIDENOTE:SahiscriptislikeJavascript.Functions,parameters,variables,conditions,loopsetc.areallavailableand followtheconstructsofJavascript.Onesignificantdifferenceisthatallvariablesstartwitha$inSahiscript.(Sahiscript isparsedbySahitoproducepureJavascriptcode) Theaboveisasignificantimprovementoverouroriginalrecordedscript.Butwestillseesomeclutterwithallthefunction definitionsatthetop.Soletusmovethemoffintoanewfileandseparatethefunctiondefinitionsfromthecalls.

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

_include("library_functions.sah"); login("test", "secret"); addBooks(3, 1, 2); verifyTotal(1800); logout();

www.TestingCircus.com

June 2011

- 32 -

Wemoveallthefunctiondefinitionsintolibrary_functions.sahandthenjustincludeitinverify_total.sahusingthe_include APIofSahi.Nowverify_total.sahcommunicatesveryclearlywhattheintentionofthetestscriptis. Apartfrommakingtheintentionclear,functionsallowreuseoffunctionality.Ifweweretocreateanothertestcasewhich needsloginandlogout,wejustincludelibrary_functions.sahandcalllogin()andlogout()functions.

SIDENOTE:Inourtrainings,weseethat,testerswhoarejuststartingautomationdonotgraspthedifferencebetween afunctiondefinitionandafunctioncall. Thisisafunctiondefinition:


function logout(){ _click(_button("Logout")); }

Thisdoesnotgetexecutedunlesswecallitusing logout(); Wedefineafunctiononceinascript,butcancallthefunctionlogout()anynumberoftimes.

NOTE:Recordersareasteppingstonetoautomation.Weshouldusethemonlyascodegenerationtools.Weshouldconvert recordedscriptsintofunctions,attheearliest,sothattheybecomereusable.Thereisalotofnegativityaroundrecordersin theautomationworld.Theyareduetoinferiorrecordingtechnologiesratherthantheconceptofrecordingitself.TheSahi recorderisverysimpleandsmartandgeneratescodewhichisveryusable.Sojustgoaheadandrecordyourscripts. Letusexamineourscriptoncemore.LookataddBooksfunction


function addBooks($numJava, $numRuby, $numPython){ _setValue(_textbox("q"), $numJava); _setValue(_textbox("q[1]"), $numRuby); _setValue(_textbox("q[2]"), $numPython); _click(_button("Add")); }

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);

Now,evenifthebookmovesupordownintheorder,thetestwillstillpass.Understanding_near,_inand_underAPIs inSahiisinstrumentalinachievingsuccesswithautomation.WewilldiscusstheseandotherSahiAPIsinthenextarticle. Tillthen,happytesting! InformationonSahi: Website:http://sahi.co.in/ Forums:http://sahi.co.in/forums Twitter:_sahi

www.TestingCircus.com

June 2011

- 33 -

We need people from all over the world. Become a Testing Circus Representative (TCR)

Visit our web site for more information. http://www.TestingCircus.com/tcr.aspx

List of Testing Circus Representatives on Page No 40 of this issue.

www.TestingCircus.com

June 2011

- 34 -

Testing Circus is subscribed and read by software testers in 71 countries. We are growing every month.

Advertise with us.


***Advertisement rate starting $25/per month. Write to us at ads@testingcircus.com OR visit our website www.testingcircus.com www.TestingCircus.com June 2011 - 35 -

www.TestingCircus.com

June 2011

- 36 -

Agile is less efficient than Waterfall!


Postedintwitterby@TotherAlistair
www.TestingCircus.com June 2011 - 37 -

Markus Grtner
OrganisationitagileGmbH Role/DesignationTestingConsultant LocationHamburg,Germany

Interview with Testers

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

Testing Circus Representatives

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 -

Want to write for us?


See our article submission guidelines.

Article submission guidelines


Subject of article can be based on any area of Software Testing. If you want to publish your article on theme based subject please read our announcement of monthly theme published in our site. Article can be submitted without any theme based subject. There is no minimum and maximum length of article. If you feel the article is lengthy, please divide the article into logically separated parts so that we can print them in a monthly series. Give a meaningful title to the article. If you want a sub-title as well , then add that in a different line. Add images/pictures if necessary. If you are using any image/picture which is not yours own work, please include the source. Take care of copyrighted materials. Send us the article in MS word (doc/docx) format only. Pdf files are not accepted. Write a short write up on the author(s). Usually 7/8 liners in 3rd person descriptive language. Include photograph of author(s). Preferred in high resolution .jpeg format. Ideal size would be 50mmX 50mm. Mention theme and month of article if applicable. Send in your article to editor@testingcircus.com with a subject line Article for Testing Circus Author Name Title of the article If you think you can write a column in Testing Circus for at least 6 months, please submit 3 articles in advance. We are open to any idea that may improve the user experience of Testing Circus. http://testingcircus.com/ArticleGuidelines.aspx

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 -

Thursday June 23rd 2011 Conference Center Figi Zeist

founding partner

Optimize the prots of the next generation Test Tools


It is a great pleasure to welcome you to Test Automation Day 2011 in the Netherlands! The conference committee has organized an exciting collection of keynote sessions, business cases and workshops presented by national & international thought leaders and experts.
Keynote speakers are

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 with the special discountcode!


with contribution of

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

Test eaders of ing C ircus

195
for r

Parti

cipat ion f ee only

Innovate IT 2011: Innovation through Cloud Applications


Visit the Innovate IT Conference on June 16th and receive a E 100,- discount! Including leading experts such as Peter van Eijk (Computable), Matt Wood (Amazon Web Services) and Hans Appel (Hanze University, Groningen). Registration: www.innovate-it-conference.com. Discount code: TECI-100. Admission is FREE for every 2nd person of the same organization. More information: www.innovate-it-conference.com

Testing Circus Team


Founder&EditorinChiefAjoyKumarSingha
AssistantEditors BrianOsman(Wellington/NewZealand) AshikElahi(Dhaka/Bangladesh) SelimMia(Tokyo/Japan) AjaySharma(NewDelhi/India) GaganTalwar(Mumbai/India) RiyajShaikh(Pune/India) AsifIquebalSarkar(Bhubaneswar/India) CoreTeamJaijeetPandey,NareshBisht,KumarGaurav,SunilGodiyal PublicityTeamMaheepatiTyagi,AmitAgnihotri,AnujBatta OnlineCollaboration&AdvertisementBharatiSingha TechnicalTeamDebasishNath,NasimAhmed,RajatVerma
Volume2Issue6June2011 Thecontentspublishedinthismagazinearecopyrightmaterialofrespectiveauthors.TestingCircusdoesnotholdanyrightonthe material.Torepublishanypartofthemagazinepermissionneedtobeobtainedfromrespectiveauthors.

TestingCircus.PublishedfromNewDelhi/India.Copyright20102011
www.TestingCircus.com June 2011 - 44 -

Das könnte Ihnen auch gefallen