There is a constant battle in software testing between automated and manual testing. To demystify this futile battle, we explain how automation should be used by a skilled software tester. The post is based on a remarkable book written by Chad Fowler, The Passionate Programmer.
Automation is the usage of any tool or framework that helps software tester in the testing activity.
Writing selenium scripts is only one way of automation. For example, when you submit a software bug, you do not write a bug report on a piece of paper and then send that paper via slow mail to developers. You probably use a tool for that activity. The tool gives you the ability to automate communication between developer and tester, when the developer requires more information on bug and when you add additional information.
If you use any tool in software testing, you have automation skills. That skill could be elevated if you know how to program in that tool or a programming framework. Writing Groovy scripts in SOAPUI or in Watir is a plus. Github recently released Github Actions.
GitHub Actions make it easy to automate all your software workflows, now with world-class CI/CD. Build, test, and deploy your code right from GitHub. Make code reviews, branch management, and issue triaging work the way you want [Feature • GitHub Actions. https://github.com/features/actions].
I also hear a lot of wrong critics for Selenium IDE. But if you plan to add 100 items through UI to prepare for the testing charter that has precondition of 100 users, go for it. And DELETE that script when you are done.
Its new technology and it is a perfect candidate to start with automation. What you learn here could be applied to other DevOps tools or frameworks.
Or in Ruby on Rails or Phoenix framework, ask the developer to show you how to write seed files for preparing test data. You will learn limited features in Ruby or Elixir, but those are real programming languages!
And the final argument to learn automation. Let’s measure software tester productivity as:
Productivity = number of projects / (number of programmers x hourly rate)
“More cheap testers”
Productivity = 5 / (20 x 12 us$) = 0.02
“One tester with basic automation skill”
Productivity = 5 / (1 x 80 us$) = 0.06
Who is more productive?