You are a QA professional working for your dream startup company. You jump into the mix, working with your engineering team to develop the initial test cases and test suites to validate your prototype web application. In the beginning, you are able to write your test scripts and manually execute them quickly for your first proof of concept releases. All is well until the company gets funding, and then you need to scale fast.
How many of you have experienced this scenario? I have in all 3 of the startups where I was a founding team member. As soon as the money comes, you need to ramp up your product development and crank out your releases. How does QA keep up with this increased production? That’s right, automation!
- Quickly test releases so the product can go to market.
- Simulate real-world scenarios with how their end-users will interact with the software.
- Be able to add the new product feature functionality tests to their suites for each release.
- Be able to quickly start and finish their test suites after every feature change.
- Make sure they provide adequate test coverage or their entire application.
Now that we know a set of conditions for building out a functional automated QA test plan, we will investigate regression and how I introduced automated testing to see better results.
Regression testing is a collection of tests we execute whenever our codebase has changed. Some organizations I have worked with considered a batch of code changes the trigger point for starting a full regression of test cases; others set any individual check-in of code as the trigger point. What this means is when the code changes, we want to execute a robust library of tests against our entire application. Regression testing allows you to measure if you have removed all known defects and introduced any new defects.
Automated testing saves the day in this scenario. Early in my career, automation tools were not affordable for testing in our small organization. A team of manual testers would constantly execute our library of test cases manually. We were always running behind in testing, and new code check-ins would pile in on top of us. We had to decide as a team when we would have a code complete test candidate to begin our regression testing. This would lead to more time lost as we waited for development to finish their coding.
Our first attempt at automation for a gaming platform had the regression testing framework built into the application. The design of our application allowed for external code bots to access defined functionality with the application code itself. This enabled the QA engineers to program these bots to follow a set of rules by clicking functional application areas and entering data.
With this automation, we freed up QA testers from manually executing each test case in the library. We set up our tests to be run with a script, thus saving thousands of person-hours in repetitive testing. We also achieved around 90% testing coverage on our games.
With the time savings from automation, our QA team had time to learn new technology so we could automate our web-based player portal and back office. Without automated tests, we would have never delivered a solid product.
The Why Nots
- We do not have the time to learn new technology. We are already underwater.
- The setup and maintenance time is expensive.
- The existing systems in the marketplace are too brittle and break too often to see any value.
- My QA team thinks they will become obsolete if we automate a good portion of their job and lose value in the organization.
- We don’t have a budget to implement expensive frameworks and platforms.
If you don’t have time, make time! In the long run, automating your tests will free up substantial amounts of time for your QA. This will lead to them doing more meaningful work that is more impactful for your product. Additionally, they will have more time to learn new technologies that can be employed to improve automation coverage for your application further. In fact, almost all tools in the marketplace today have a free trial and tutorials to help you get up and running quickly. Linkedin learning is a great place to learn how to install a new tool and start using it within an hour. As you progress, learn more and automate more.
You no longer have to build your automation framework from scratch as there are many off-the-shelf tools available today. You need to find the right fit for the testing area you need to automate. Perhaps you’ve only tried 1 or 2 testing systems that were not the right fit for your testing area? Before you take someone’s word for implementing automation, fully understand the testing area you want to automate, then match it with the correct testing tool. One tool may not do it all.
If your QA team thinks they will be obsolete, think again. Growing your QA team to add skills and tools to their resume is what kept me at most of the organizations I have worked for. Make sure you mentor your QA team for internal growth and personal development in their QA discipline. Adding automation to a manual QA’s skillset adds value to their earning power in the marketplace. We all want that.
Finally, the management argument: “We can’t afford it.” As I mentioned earlier, there are free trials for most frameworks and systems in the marketplace. Start a small pilot project on the most accessible test area you can find and show immediate value savings to your management. Show time you have saved and value earned. Be clear to articulate the long-term impact of automation on your product and organization. The marketplace is a battleground, and test automation companies are fighting for your business.
Let’s tie this all together and list why you want to automate your tests.
- Automated tests run faster than any manual tests. In the long run, you will free up and save enormous amounts of time. Saved time can be used to investigate new areas to test.
- With time savings will come financial savings. You are going to be trading QA person-hours for automation hours. In today’s scale-as-you-go SaaS model, you can pay for server-based testing hours only when you need them.
- You are eliminating user error in manual testing. The only human error you have is setting up the tests and interpreting the results. Once you set up solid tests, they should run without issue forever.
- Your life will be easier because you will be eliminating hours of tedious manual testing. You have a brain, and you want to use it. Now you can use more of it to look into additional areas and expand your testing.
- Test coverage. You will be able to cover a greater area of your whole application with automation. People do not scale as well as processing power. However, the processing is only as good as the instructions your QA team creates. Mentor your team to see the value they add as automation professionals instead of point-and-click robots.
A recent study I read stated: “By 2024, Gartner reports that 3 in 4 large enterprises will be using end-to-end test automation to drive faster software releases and de-risk the DevOps lifecycle.” Knowing this is where we are going, be assured that any partner companies you work with are going to want the confidence you are employing industry-standard practices in the software and systems you deliver. If you are building the next killer app, you want to make sure you are using best-of-breed techniques to give you that market edge. Get ahead of the game and automate today.