My Article Series

Table of Contents:
· Quick Guide
· How to do X in Selenium WebDriver?
· Functional Test Refactoring
· Optimize Selenium WebDriver Automated Test Scripts
· Why Do Most UI Test Automation Fail?
· Benefits of Continuous Testing
· IT Terminology Clarified
· Software Design Pattern by Example
· Programming Language Advice
· Be aware of Fake Test Automation/DevOps Engineers
· IT Job Interviews
· Bad Test Automation Frameworks/Tools
· My Innovative Solution to …
· Chinese Idiom Stories for Software Professionals

Quick Guide

How to do X in Selenium WebDriver?

Functional Test Refactoring

Automated test scripts are often poorly designed, inefficient, and hard to understand and maintain, i.e., the same issues we found in code. Functional Test Refactoring is a process of enhancing the quality of automated functional test scripts.

  1. Functional Test Refactoring: Introduction
  2. Functional Test Refactoring: Extract Function
  3. Functional Test Refactoring: Move to Helper
  4. Functional Test Refactoring: Move
  5. Functional Test Refactoring: Extract to Page Function
  6. Functional Test Refactoring: Introduce to Page Object
  7. Functional Test Refactoring: Rename

Optimize Selenium WebDriver Automated Test Scripts

Working automated test scripts is only the first test step to successful test automation. As automated tests are executed often and the application changes frequently too, it is important that test scripts need to be fast, easy to maintain and read.

Why Do Most UI Test Automation Fail?

FACT: not many software engineers (in Test) received proper education or training in test automation, which is unfortunate. Considering this: 30–40% of staff in a software team are usually testers. Programmers and business analysts spend a lot of time performing functional testing as well. However, there are few dedicated Functional Testing courses offered at universities to my knowledge. Therefore, it is not surprising that many wrong decisions on test automation are made due to a lack of knowledge.

(Technical)

  1. Wrong choice of automation framework
  2. Wrong choice of test syntax framework
  3. Wrong test scripting language
  4. Wrong choice of test automation tool
  5. Don’t know how to design easy-to-maintain test scripts
  6. Lack of Efficiency
  7. Lack of experience in executing a medium-size regression suite of automated UI tests

(Human)

  1. Management under-estimate the effort, especially on test maintenance
  2. Tech leads over-estimate their capability in test automation
  3. Tech leads are fixated with a particular wrong technologies
  4. No access to a real Test Automation Coach

Benefits of Continuous Testing

Continuous Testing (enables software teams to push software updates to production daily, not fake CI/CD talks. Check out “Continuous Integration at Facebook” and AgileWay Continuous Testing Grading) is the heart of the software development process. It benefits all stakeholders of a software project.

1. Part 1: to Wise Executives
2. Part 2: to Wise Managers
3. Part 3: to Wise Business Analysts
4. Part 4: to Wise Developers
5. Part 5: to Wise Testers
6. Part 6: to Happy Customers

IT Terminology Clarified

In software development, particularly in software testing, there are many terminologies that are used wrongly by IT professionals.

  1. Unit Testing Clarified
  2. User Story Card Clarified
  3. Regression Testing Clarified
  4. Cross Browser Testing Clarified
  5. Headless Browser Testing Clarified
  6. ‘Data-Driven Testing’ Clarified
  7. ‘Shift Left Testing’ Clarified
  8. Continuous Testing Clarified
  9. Full-Stack Software Engineer Clarified
  10. Testing Pyramid Clarified
  11. BDD Clarified: BDD ≠ “Given-When-Then” (Gherkin)
  12. Codeless Test Automation is Irrational
  13. “Done, Done” in Agile
  14. Fake End-to-End Test Automation Clarified
  15. In-Sprint Test Automation Clarified
  16. CI/CD (Pipeline) Clarified
  17. DevOps Clarified
  18. Test Automation Clarified
  19. User Acceptance Testing Clarified

Software Design Pattern by Example

Design Patterns are good practices of Object-Oriented (OO) Software Design. Applying appropriate design patterns will help to design your software better. However, design patterns are not easy to master, it was the case for me, and my daughter as well when she started an IT degree at Uni. I wrote a series of articles to help her learn Design Patterns quickly. My approach is to use easy-to-understand exercises, which I believe is an easier way to master design patterns.

Programming Language Advice

Be aware of Fake Test Automation/DevOps Engineers

IT Job Interviews

Bad Test Automation Frameworks/Tools

My Innovative Solution to …

Chinese Idiom Stories for Software Professionals

Using Chinese idioms to explain some of the problems I have witnessed in the software industry (in particular, test automation and continuous testing) ”. Chinese idioms are insightful and often with interesting stories. Human nature has changed little, and these Chinese idioms stand the test of time (over 1000 years).

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Zhimin Zhan

Zhimin Zhan

Test automation & CT coach, author, speaker and award-winning software developer. Help teams succeed with Agile/DevOps by implementing real Continuous Testing.