• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Starwest 2011
 

Starwest 2011

on

  • 822 views

Software Test Conference in Anaheim, LA

Software Test Conference in Anaheim, LA

Statistics

Views

Total Views
822
Views on SlideShare
813
Embed Views
9

Actions

Likes
0
Downloads
6
Comments
0

2 Embeds 9

http://www.linkedin.com 8
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Starwest 2011 Starwest 2011 Presentation Transcript

    • Alexander Andelkovic, Spotify STARWEST 2011
    • IntroductionBackgroundChallengesSuccess factorsPitfallsToolExamplesSummaryQuestions
    • Lives in Stockholm, Sweden15 years testing experienceTest engineer at SpotifyPassionate about advanced test techniques
    • Our reality:- Testing in an agile developing cycle- Commited to feature testing (Stories)Problem:Less time for story testing as stories accumulatesSolution:Automate regression test, manual testers can focus on story testingand rely on automation testing take the bulk of regression tests
    • Model-Based Testing (MBT) is the automatic generation of test procedures/vectors using modelsof system requirementsSpecific activities of the practice are: 1. Design models 2. Code test automation 3. Run tests+ Easier to maintain test automation+ Find bugs+ Hire developers to work with testing- Learning curve to get started- Cost to setup test infrastructure
    • - MBT needs a different mindset- Introducing test automation as a criteria for definition as done- Test design (modelling) is done by testers- Programmers do the automation- Integrate test automation with nightly builds- Tool chain- Start with too complex modelling
    • GraphWalker is an Open Source Model-Based Testing Tool written in Java for generating offline and online test sequences from Finite State Machines and Extended Finite State MachinesThe main features of GraphWalker are: No UML: Uses GraphML, easier to get started with than UML No exit/stop points: - Long, unpredictable test sequences - Does not want to walk the same path every time we execute a test - Variation spiced with randomness. better test coverage - Stop generating test sequences are done by Stop Criterias Online: Path walked through the model is decided at runtime (Web service) Event-driven: Possibility to switch model caused by an event ModelHandler: Re-use of models
    • yEd is a powerful diagram editor that can be usedto generate high-quality drawings of diagramsyEd is free and runs on all major platforms:Windows, Unix/Linux, and Mac OSSupports .graphml format readable by GraphwalkerGraphML is a XML-based file format for graphs
    • Sikuli is a visual technology to automate and test graphicaluser interfaces (GUI) using images (screenshots)Sikuli includes Sikuli Script and Sikuli IDE, for writing visual scripts withscreenshots easilySikuli Script automates anything you see on the screenwithout internal APIs support. Uses OCR and image recognitionYou can programmatically control a web page, a desktop application, oreven a smartphone application running in a simulator or via VNCAccess through Java API supported
    • Graphical editor for classification treesTop features of CTE XL:- Systematic and common classification tree method- Automated test case generation- Methodical linking with test automation tools
    • Problem: Many combinations Generate: Testsequence file (embedded code) Execute: CTEXL testcase model
    • Finite State Machine: Extended Finite State Machine:
    • Path walked through the model is decided runtimeAn example of a script in QTP, executing a test using graphwalker1. $> java -jar graphwalker.jar soap -f xml/login.xmlNow running as a SOAP server. For the WSDL file, see: http://myComputerName:9090/graphwalker-services?WSDL2. WebService("SoapServicesService").SetTOProperty "WSDL", http://myComputerName:9090/graphwalker-services?WSDL3. Do until not WebService("SoapServicesService").HasNextStep()4. action = WebService("SoapServicesService").GetNextStep()5. Loop6. Reporter.ReportEvent micDone, "MBT Statistics", WebService("SoapServicesService").GetStatistics()
    • Mother model Sub model Merged model (uses same data domain)
    • Purpose to reuse code and models (uses separate data domains) 3 9 11 15 1 13 7 10 16 4 WhatsNew 17 5 2 8 12 18 6 14 SendSongs CheckInbox CleanInbox FreeUser PremiumUser
    • Switch model caused by an event
    • - Mindset- Verifies functionality and finds bugs- Test automation as a criteria of definition of done- Testers to model- Developers for test automation- Integrate with nightly builds
    • E-mail: alex@spotify.comGraphwalker: http://graphwalker.org/yED: http://www.yworks.com/en/products_yed_about.htmlSikuli: http://sikuli.org/CTE XL: http://www.berner-mattner.com/en/ berner-mattner-home/products/cte-xl/index.html