5 considerations when adopting automated testing
Post on 07-Jul-2015
77 Views
Preview:
DESCRIPTION
TRANSCRIPT
5 Considerations When Adopting Automated Testing
By
Bhupesh Dahal
Columbus ATDD11/06/2014
Who am I ?&
Why am I here?
Agenda
• Background- Why test automation ?
• Define Problem
- Issues most organizations face with test automation
• Fixing the above issues, things to keep in mind if you are just starting test automation
• Review
Why Test Automation?
Dev Team’s Perspective
• Increase effectiveness, efficiency, and coverage of software testing.
• For regression testing
• Improve quality
Boss’s Perspective
• Reduce operational cost
• Increase revenue
Blessings from boss to start UI test automation
What’s the problem eh ?
• Test execution is slow
• Maintenance takes way too much time
• Tests are fragile
• Tests are not reusable
• Needs more infrastructure
• Needs more skilled resources
Test automation gone wild, boss not happy!
Framework Design
• Do basic meta-programming and start automation—don’t design the entire framework right away
• Re-factor often
• Understand the business before designing the framework
• Abstraction
• Have multiple branches
• Review test automation architecture regularly
• Have a designated Test Automation Architect
Find a balance between Unit, API Layer and GUI tests
• Prioritize Unit and API/Service test automation
• Limit the number of GUI tests, have a fixed number of stable end-to-end tests
• It’s ok to use multiple technologies
• It’s ok to use Record/Play tools like Selenium IDE for throwaway tests
• It is better to have 50 stable test cases than 500 fragile ones that breaks regularly
Reporting/Visibility
• Report results from day 1
• Integrate smoke tests with CI build
• Run entire suite daily
• Store results on a common location that everyone can access
• Email results to the entire team-automate email feature
• Use tags and map test case/requirements that have been automated
• Implement code review
Cross-Functional Team Involvement
• Request BA’s and product owners to review your automated gherkin often
• Time box and rotate maintenance tasks with developers and manual testers
• Pair up with manual testers when writing different scenarios
Treating Test Automation as a Product
• Test automation will have bugs
• Refactor often
• Work on tech debt cards regularly in smaller chunks
• Make it part of development and definition of done
Review
• Framework
• Finding balance between unit, API and GUI tests
• Reporting/visibility
• Cross-team involvement
• Treating test automation as a product
You need each of these for test automation project to succeed. Missing one would be like loosing a limb.
Stay connected
www.linkedin.com/in/bhupeshdahal/
Thank you!
top related