Oleksandr Maidaniuk, Global Solutions Leader, Quality Engineering Director at Ciklum. Master of Computer Science, Applied Mathematics. Quality Engineering and DevOps Evangelist, Founder of tech communities, and Consultant.
Liudmyla Suslova, Test Automation Engineer with the experience in Web, Mobile (Android/iOS), API test automation. Passionate about absorbing new ideas, adopting new tools and technologies for better product quality.
Whether you’ve just decided to embark on a journey of test automation or your company has already taken the first steps along the way, your team must understand where the process is going and how to craft a robust framework.
What’s the most critical perspective? Realise that challenges are inevitable along this path. Once you and your team understand what those challenges look like and how they impact the test automation project, you’ll be equipped to answer each challenge with an actionable, robust strategy.
Ciklum recently conducted a LinkedIn survey to answer the following question: What challenges in adopting test automation hold you off implementing test automation on your projects? The responses were:
Clearly, these challenges depict a journey that could easily fork two ways — chaotic failure or realistic success. How your team approaches each challenge will determine your path. Here’s a dynamic, evidence-based roadmap to overcome each of them.
Challenge 1: Lack of clear vision and strategy
As the survey shows, a lack of clear vision and strategy causes the greatest amount of concern for companies engaged in test automation. It’s natural to feel overwhelmed when you have neither a clear vision nor an understanding of the necessary steps needed for success.
Often, companies find themselves flailing at the start of the process:
As you proceed, ask yourself these probing questions:
- Do I understand the product and its needs?
- Do I already have the test infrastructure in place?
- What is the problem I’m trying to solve with Test Automation?
- Can I foresee future test automation needs?
Communication is the key to shaping the vision. Keep your entire team constantly updated and informed about the best way forward. Don’t leave anyone in the dark!
Once you’ve established and maintained clear communication lines, it’s wise to consider your vision and strategy from various perspectives — from the application perspective, from the test automation framework perspective, from the test infrastructure perspective, and from QA process perspective. Once you’ve taken all perspectives into account, consider the following strategies used by top companies:
- Determine the scope of test automation. Be sure to set specific test automation goals that are able to be tracked throughout the process.
- Identify ideal product areas for test automation. Determine whether test automation solutions can be deployed to mission-critical features, data-intensive tasks, or other scenarios that may require a high degree of technical complexity.
- Conduct small, incremental tests. Begin by covering the critical functionality that makes it possible to reach the smoke test suite. Next, move onto the regression test suite. Save the expansion of test coverage for later in the process.
- Setup the dedicated test/test automation environment. First, select the intended hardware and operating systems, or consider using cloud-based services such as AWS. Next, configure the environment and network, and begin inserting test data into the testing environment. To ensure that the environment is able to accommodate different testing scenarios, be sure to choose an environment that is both independent and flexible. Finally, be sure to incorporate the ability to reset the testing infrastructure to an initial state.
- Conduct refinement sessions with the manual team to determine automatable test scenarios. Collaborating throughout the refinement phase can identify additional opportunities for test automation.
- Work in cooperation with dev/DevOps teams. Since DevOps is a highly collaborative practice, ensure that any test automation strategies are fully integrated into the organization’s service lifecycle.
Challenge 2: Fast-changing requirements
We’ve all been in this situation: we’ve defined our vision and strategy only to discover midstream that requirements have evolved.
Requirements can include analysis, design, implementation, testing, deployment, and maintenance.
It’s important to continuously refine the testing automation process to constantly uncover the most effective and efficient solutions in terms of software. It’s just as important to ensure you have set up robust QA processes, approaches, frameworks, and tools. Here are a few questions to ask:
- Have I gathered Test Automation metrics?
- Are the Test Automation reports and Test Automation execution results visible and used by the whole team?
Your team can stay on top of the turbulence that comes from fast-changing requirements by staying focused on such key tactics as:
When it comes to facing nimble changes in requirements, it’s vital to gather a team that can handle the challenge. This journey starts with skilled TA engineers. That means engineers who can successfully develop a competent TAF core, implement vital integrations. In addition, these engineers must be able to constantly support test scripts, updating the scripts whenever requirement changes arise.
A quality TA engineer will empower the team to stay on the same page so that automation can always be adjusted on the fly. In addition, the TA team must be able to quickly understand test automation objectives and definitions. In short, everyone should know what “done” means when it comes to project completion. Two other aspects are worth mentioning — always maintain robust lines of communication and always allocate sufficient time spans for the inevitable waiting period for stabilisation.
Challenge 3: Diverse apps and platforms
Over the past few decades, the concept of the platform has evolved to embrace emerging tech such as mobile and IoT. This game-changing shift travels parallel to the emergence of the many apps across such platforms.
Obviously, your testing automation process must take this level of diversity into account (which in turn increases complexity). You’ll need to engage test suites that query by attributes and are based on changes in the app or platform.
Your team must stay on top of the latest testing reports to identify any conflicts among platforms and apps. Remember, you will be dealing with a variety of tools and frameworks (DI frameworks, Selenium WebDriver, Appium, HTTP clients, etc.), as well as a wide range of integrations (Amazon services, Jenkins CI, Docker, TestRail, etc.).
Here are a few tactics in dealing with this vast diversity:
As you navigate this process, ensure you keep the TAF as flexible as possible. In addition, always decompose when possible – don’t create one TAF for every aspect.
Challenge 4: Lack of time and skills
Every single person planet earth is given the same 86,400 seconds to spend every day. Why spend those precious seconds spinning your wheels “reinventing the wheel” of software testing. Partnering with a solid test-automation firm with years of combined experience saves time, money and stress. As you navigate the journey, there are powerful “pre-steps” you can take.
For example, implement test automation iteratively – define small goals, focus on skills over money investment and (most importantly) urge your team to always be learning and improving their skill sets.
The Ciklum Difference
At Ciklum, we offer a variety of solutions to address all four challenges. Founded in 2002, Ciklum deploys more than 3,500 “rock-star” engineers to meet your automated engineering and testing needs:
Ready to learn more? Check out our Test Automation health check and watch the recording of our Test Automation workshop:
Contact Ciklum today – it’s time to take on test automation challenges with the right tools and the right team – the Ciklum team.