Automation — A marathon, not a sprint

Are you a recent graduate or someone looking to change careers to software testing? Are you trying to find an excellent route to becoming a great software tester? I hope this article will help you along your journey and set you up for success.

The internet is an excellent place for information, but it’s also easy to get lost or be misinformed by trends and buzzwords. Take googling “software testing trends in 2022,” for example. I clicked on the first result that showed up; after the ads — Top Software Testing Trends to Follow in 2022. Of the seven trends listed, three have the word automation; the rest involve programming or software tools to help with the process. Are these trends wrong? Not necessarily, but knowing your experience level should determine how much you read into this.

Let’s dive into some ways to build a solid software testing background to help you become an excellent automation software tester.

“Automation does not do what testers used to do, unless one ignores most things a tester really does. Automated testing is useful for extending the reach of the testers work, not to replace it.” — James Bach

Build a solid testing foundation

Without a solid foundation in testing concepts and principles, how can we write proper automation scripts that test what they’re supposed to? With the big push to automate everything, a common issue I see is that the automated tests aren’t good at all.

The ISTQB (ASTQB) provides a free downloadable syllabus for the Certified Tester Foundation Level certification that covers the basics of software testing. The syllabus is a great place to start your journey to becoming a software tester. Some important topics covered are:

  • Testing Principles
  • Types of Testing
  • Testing Techniques
  • Test / Defect Management

Documentation

Documenting how to perform tests or reproduce a defect is a large part of software testing. Also, having the ability to provide feedback in a constructive non-intrusive manner goes a long way.

Test case

  • Test title/scenario — description and to the point.
  • Document any pre-conditions
  • Write out each step individually (make no assumptions) with the expected outcome
  • Document any post-conditions

Defect Documentation includes:

  • Defect title — descriptive and to the point
  • Environment the defect was found on (Dev, Staging, Production)
  • User / permission level
  • Browser, Operating System used while testing
  • Log the version of the code.
  • Steps to reproduce the defect — I tend to write these out to a 3rd-grade reading level — this helps remove assumptions I may have made so the person reading can replicate easily.
  • Actual outcome versus expected outcome.
  • Screenshots / Videos go a long way.

Practice manual testing

The best way to learn is by practicing. I’d recommend testing random websites or finding a GitHub project to try on. These are great ways to polish your testing skills and attention to detail.

What to test?

  • Different elements (textboxes, checkboxes, radio buttons, modals, iFrame, etc.)
  • Positive tests — tests with valid inputs that verify the expected outcome is correct.
  • Negative tests — tests a system’s response to invalid inputs such as an error message or making a button unclickable.

Once you’ve gotten a grasp on manual testing, then I’d recommend practicing automating. But, as the saying goes, you must learn to walk before running. I wish everyone the best of luck and happy testing!

--

--

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
Ryan Craven

Ryan Craven

Software testing advocate. Check out my website for more information and ways to contact me https://ryancraven.tech/