Wednesday, November 8, 2023

On the history of test automation...

I was watching a fabulous video on test automation and "flows" here: https://www.youtube.com/watch?v=706G6v2kMzQ

But his notion of history is a bit out of sync. This is my reply:

An interesting point, you say the page objects, UI objects and intermediate layers were build from early 2000s to 2015... 

SilkTest is a Windows automated testing product. It was shipped in beta form in 1991 by Segue software (Marsten Parker and Dave Laroche). It had page objects, page object methods, and control objects. These features, to one extent or another, were common in commercial tools for the Windows platform by 2000. 

I myself was adding an abstraction layer between pages and tests to isolate the tests from the UI in 1991. At that time I was abstracting features, but in 2015, I switched to user role centric flows. Much easier to teach my team to think in terms of designing tests for flows rather than features. :)

I had a conversation with whoever was leading Mozilla's efforts in 2010 about bringing all this to Selenium back then. I build it in 2015, and there's a newer version here: https://github.com/akienm/swadl which also supports engine driven testing, where the page objects describe what needs to be tested about each control, and a single call does it all.  https://testautomationarchitecture.blogspot.com/2021/10/engine-driven-gui-testing-design-pattern.html