Geeks logo

A Story: Principal Software Engineer Undermines E2E Test Automation

Not everyone likes to see the success of E2E Test Automation.

By Zhimin ZhanPublished 10 months ago Updated 10 months ago 3 min read
2

A few years ago, within the first week of onboarding at a large financial company, my End-to-End test automation scripts (driving the app in Chrome browser) showed great help to the project team. Business Analysts and Manual Testers used automation (either requested me or self-help, I built an interface for them) to create test data scenarios (cutting time from a typical workflow operation from 40 to 6 minutes).

Someone up in the mangement noticed that. A 3-month Proof of Concept (POC) was created for me to implement an already defined set of E2E Tests. I implemented them in 3 days, yes, 3 days instead of 3 months, using my typical tech stack (Selenium WebDriver + RSpec, run in a BuildWise CT Server).

Before I left work, I sent the POC daily update and the URL to test execution reports on my BuildWise Server. On the second day, in the email response from the principal software engineer, he advised me to "slow down, for quality". My reply: "I have always been working this way, never compromising on quality (of automated test scripts)"

Anyway, after three days, the principal software engineer wanted me to implement the whole test suite in Java. I completed the task in 2 days, by converting Selenium + RSpec to Selenium + Junit.

Readers might ask “How could accomplish the task (Java version) so quickly?”

Firstly, it is converting (from Selenium Ruby) rather than scripting new from scratch.

I wrote the test scripts in the same style, Maintainable Automated Test Design. If you check out this article, Page Object Model is universally applicable in web test automation, you will see that the top-tier test scripts are virtually identical, regardless of language.

Also, I wrote a Ruby script to do the conversion (Ruby is a great text manipulation language), which saved a lot of time. So, during that two days, maybe 50% were still scripting Ruby, the other day to make sure the converted Java script working, using IntelliJ IDEA (Java IDE).

It turned out (later I knew) that it was this principal software engineer who failed the last test automation attempt, a big failure, using Java + Concordian. I heard about this embrassing failure from a friend who worked here, "the company spent 3 time of development effort trying to maintain the Gherkin E2E suite, but failed".

I read his code, not good; as E2E test scripts, quite bad. I created the Selenium Ruby tests based on reading the existing & no-longer-working test scripts in Java. He did not provide any help or documentation (later, he said "I was busy, I should have ..., but good, you figured out yourself")

What the principal software engineer (Java) did not know I am a much better Java programmer than him (I was regarded as a 10X developer back in 2006).

Then, the principal software engineer wanted to re-implement the suite in TestCafe (JS). He even sent me a spreadsheet, there is Puppeteer and another (forgot the name) after that.

Clearly, he was sabotaging.

I realized it was silly. Because I just finished converting Selenium Ruby tests to Java, why again to JS? Above all, if others want to achieve my productivity, they need to do Selenium Ruby first anyway.

I expressed my concern to a senior manager who was overseeing the POC. He agreed that this indeed does not make sense, and would talk to the principal software engineer. In the afternoon, this manager called me, saying, after talking to the principal software engineer and another tech lead (also in the POC team, by the way, I was the only one who did the work), they insisted on preferring Java or JavaScript, not Ruby.

I declined the renewal offer and left. Not long after, there is a job ad for a Senior Test Automation Engineer for this financial company, one criterion got my attention: “Demonstrated expertise in scripting automated tests using Java, C#, Python, and JavaScript”. The Ruby language, the one used in the only successful test automation in the history of this bank (someone told me), was excluded, which seemed to me, purposely.

---

Advice to CIO/CTOs, for E2E test Automation, if seeing a good sign, you need to get involved personally, just like LinkedIn Co-Founder (check out this article, “The Software Revolution Behind LinkedIn’s Gushing Profits”). Most middle managers and senior tech leads are in “Another Day, Another Dollar” mode. If you don’t care, how should they?

Related reading:

humanity
2

About the Creator

Zhimin Zhan

Test automation & CT coach, author, speaker and award-winning software developer.

A top writer on Test Automation, with 150+ articles featured in leading software testing newsletters.

My Most Viewed Articles on Vocal.

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights

Comments

There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2024 Creatd, Inc. All Rights Reserved.