Paul Grossman BPT

176: How to Decompose Tests for Automation with Paul Grossman


In this episode, we’ll be test talking with dark arts wizard Paul Grossman. Paul will share his six-step process for decomposing tests that can translate into an automation framework. So get ready to discover how to create a reusable, maintainable BPT automation framework and how to avoid some classic test automation mistakes.

About Paul Grossman

Paul Grossman has been delivering hybrid Test Automation framework solutions for nearly two decades in ALM, BPT and TAO. He has beta-tested many releases of HP QTP / UFT and in 2009 was a runner-up in HP’s Test Automation White Paper competition. He is a five-time HP Discover/Mercury World Conference Speaker and has spoken at Maryland’s QAAM and Chicago’s QAI QUEST and CQAA, always with a live demo. He freely shares his real-world technical experience. His framework designs focus on speed, accuracy, and scalability. Paul is currently investigating LeanFT/UFT Pro along with Gallop's QuickLean for UFT to LeanFT script conversion.

Quotes & Insights from this Test Talk


Paul shares a six step processes for decomposing tests, that translate into an automation framework. We will talk briefly about Boris' CandyMapper app for an example. The app itself is ridiculously fictional, but I own the “promo” website and it sells absolutely nothing. It is just for testing how well UFT 14.01, and other tools, work with GoDaddy's website design tool.


The breakdown of a manual test to an automated framework consists of these two areas:

1) Launch/Login/Navigation

2) Submission/Verification Pairs

Three single functions to Launch/Login/Navigation 

Launch – Handing changing URLs with new test version releases.

Login – Handling Username and passwords with User Roles
Navigation – From the Home state to get to areas of the application


Multiple Function Pairs for Submission and Validation


Every page has individual Submission and Validation functions. Objects in the repository


Page/Object Submission


+ Populate all appropriate objects.
+ Negative Test Switch Track option:
1. Happy Path: Click the submission button then, verify a success message or event
2.Switch Track: Just click the submission button. No success verification
The Page/Object Validation verify all expected errors
+ Capture reusable data


Page/Object Validation

Property verification of all page objects

Takeaways. One submission function may represent the whole page, but in large object count situations, it should represent one of a several page sections.

Internally the functions load/reference Excel data-tables for source data.
So any changes, like adding new objects on a page don't require adding new parameters to the function, only supporting code.


Simplicity Rule

Keep functions simple – Three parameters is optimal. Four is fine. Five is rare.
If you think you need six or more parameters, take a break and think more about it.
(I'll have a section about two four/five parameter functions in the Automation Guild Tips and Tricks, so this might be intentionally thin)

Utilities


Single object interaction & validation.

Objects on the fly,

Click a single named class: Click (“OK”, “Button”)

Verify a single named object

Validations should be easy. {Property} = {Value}. “Text = Paul” Verify (“Submit”, “Button”, “Enabled = False”, “Submit is disabled until required fields are populated”) Verify (“Completed”, “Text”, “Exists”, “Submit is disabled until required fields are populated”)

Takeaways: Use Plain English – assume your user references terms like “Field” “Button” and “List”.


Don't force them to use object classes terms (WebEdits, WebButtons and WebList) But if, as is often the case, the automation engineer also becomes the engineer, support the class name terms. Case statements can take multiple matches

Resources

Connect with Paul Grossman

May I Ask You For a Favor?

Thanks again for listening to the show. If it has helped you in any way, shape or form, please share it using the social media buttons you see on the page.

Additionally, reviews for the podcast on iTunes are extremely helpful and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.

SponsoredBySauceLabs

Test Talks is sponsored by the fantastic folks at Sauce Labs. Try it for free today!