1 / 13

Balancing Test Automation Techniques

Agenda Two distinctly different pieces of test automation , both from the same project. What makes them different ? Why have both?. Balancing Test Automation Techniques. Matt Archer @ MattArcherUk {{{

neola
Download Presentation

Balancing Test Automation Techniques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agenda Two distinctly different pieces of test automation, both from the same project. What makes them different? Why have both? Balancing Test Automation Techniques Matt Archer @MattArcherUk {{{ matt.archer@expresssoftware.co.uk http://mattarcherblog.wordpress.com

  2. Behaviour Driven Development (BDD) User Centric Unmanned Key Scenario Coverage

  3. A Specification and an example (bond naming) • Html file containing both specification and example Specification: Bond Naming Conventions The summary name for a bond should be a combination of the issuer, coupon and maturity date in the following format; issuer + coupon (as %) + maturity date.That said, if the bond is perpetual, the maturity date should be replaced by the word "perpetual". Some examples are shown below.

  4. An Automated test / a fixture (bond naming) • Class file to connect the example to the software to test publicclassCheckBondNames : ColumnFixture { publicstring Issuer; publicstring Coupon; publicstringMaturityDate; publicBooleanisPerpetual; publicstring Name() { Bondbond = newBond(); bond.Issuer= this.Issuer; bond.Coupon = this.Coupon; bond.MaturityDate = this.MaturityDate; bond.isPerpetual = this.isPerpetual; NamingServicenamingService = newNamingService(); String name = namingService.getName(bond); returnname; } }

  5. Test results (bond naming) DEMO • Test Results are added to a copy of the original html file

  6. Semi-automated Data Regression Testing Self-Generated Expected Results Focused, But Thorough No Pass / Fail Result

  7. Testing a release for regressions in data validity Release Candidate Current Live Release Oops… A regression bug!

  8. The “compare” routine Highlighted Release Release Candidate Compare String Live_Url String Test_Url String Save_Location Current live Release Void Compare() Void Highlight() Selenium Executed once… For every widget (~10) On every screen (~25) For every client configuration (~12) = (approx. 3000 data tables to compare)

  9. Manual analysis of results What is a bug? What is a deliberate change?

  10. Oracles / reqs are rubbish, get over it • Picture

  11. Test automation polarities Inspired by James Bach’s Exploratory Testing Polarities www.satisfice.com/articles/et-dynamics.pdf

  12. Matt Archer @MattArcherUk matt.archer@expresssoftware.co.uk http://mattarcherblog.wordpress.com Intuition Any Questions? • Picture • (Pulling a loose thread)

More Related