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