oucc 2015 inspiring innovation presentation: innovation with automation facilitating rapid software...

Download OUCC 2015 Inspiring Innovation Presentation: Innovation with Automation Facilitating Rapid Software Delivery @ Ryerson Presenter: Matt Joste Date: May

If you can't read please download the document

Upload: elisabeth-willis

Post on 26-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

  • Slide 1
  • OUCC 2015 Inspiring Innovation Presentation: Innovation with Automation Facilitating Rapid Software Delivery @ Ryerson Presenter: Matt Joste Date: May 4 th 2015
  • Slide 2
  • - Software > 15 years - Industries: Banking, Finance, Software Security, Media - Mostly QA, apart from a stint as a Scrum Master - Currently QA & Testing Specialist @ Ryerson
  • Slide 3
  • Software Test Automation In software testing, test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomessoftware testingsoftware Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. p. 74. ISBN 0-470-04212-5.ISBN0-470-04212-5
  • Slide 4
  • Why Automate? Half the labor expended to develop a working program is typically spent on testing activities- (Boris Beizer, Software Testing Techniques,1990. + IDT Survey responses) Automation can increase the depth and breadth of testing. Specific benefits include:* Improved build verification testing(smoke testing) Improved regression testing Multiplatform compatibility and configuration testing Improved execution of mundane tests Improved focus on advanced test issues Testing beyond manual: e.g. security or memory leak testing Ability to reproduce defects consistently Extending the hours of operation *Automated Software Testing(Dustin et al)
  • Slide 5
  • Agile Software Development Agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self- organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to changesoftware development methodscross-functional teams "What is Agile Software Development?". Agile Alliance. 8 June 2013
  • Slide 6
  • Benefits of Agile Software Development Benefits Obtained from Implementing Agile -VersionOne State of Agile Summary 2011
  • Slide 7
  • Agile Adoption 2014 Product Development Methodology Adoption Rates http://www.actuationconsulting.com/product-development-methods-popular/http://www.actuationconsulting.com/product-development-methods-popular/>
  • Slide 8
  • Types of Automation a. Code-Driven, Data-driven, keyword-driven b. Unit-testing, Test-driven, Acceptance Tests c. Testing Tasks i. Mobile 1) Web, Native, Hybrid ii. Load iii. Functionality iv. GUI Testing v. Security vi. Accessibility vii. Test Execution
  • Slide 9
  • Automation Tools Overview Open Source vs Proprietary 1.Support levels Varied, but depends on tool(o) vs Guaranteed(for a price) 2.Cost of tools Free vs hundreds to thousands 3.Cost of personnel Open Source/in house could be much more expensive 4.Vendor lock-in Systems and 'Vendorscript' *Lessons learned in Software Testing(Kaner et al)
  • Slide 10
  • Available Automation Tools(selection)
  • Slide 11
  • Cloud-based Services Browserstack Sauce Labs Browserstack Keynote DeviceAnywhere Appthwack BrowserSwarm
  • Slide 12
  • Automation Frameworks Create Structure for Automation Efforts(format, execution, reporting) Allow for Abstraction of Test Cases( e.g. Keyword-driven Testing) Facilitate Growth of Test Repositories Enable Many Contributors Should Support Integration of Multiple Tools Should Support Testing without having to install Framework on Every Computer
  • Slide 13
  • Pros and Cons of Automation Pros Repeatable, consistent Fast(once implemented) Possible(e.g. Load tests) Vital to realize Agile and Continuous Delivery Less tedious Cons Time consuming(3-10 times manual testing) More skills required Expensive tools or personnel or both Maintenance Slower to start Doesn't fully replace manual testing
  • Slide 14
  • How We Automate @ Ryerson Open Source Small QA team Leverage developers Build toward Agililty
  • Slide 15
  • The Ryerson CCS Automation Framework https://prezi.com/o5nphf_atgx8/ccs-automation-framework/?utm_campaign=share&utm_medium=copy
  • Slide 16
  • Robot Framework Test Example RF Test Case Folder
  • Slide 17
  • OUCC 2015 Inspiring Innovation Thanks for watching! https://www.linkedin.com/pub/matt-joste/6/abb/b89 Mjoste(at)ryerson.ca