Organised by 31Media, Leaders in Tech is an initiative showcasing some of the brightest minds in the industry, offering exclusive insights into the future of software testing. This initiative is in collaboration with the upcoming National Software Testing Conference in London on July 23rd 2024.
In this interview, we spoke with Robert Salesas, CTO at Leapwork. As an experienced CTO, Robert has helped numerous businesses develop cutting-edge software and hardware solutions. Currently he is driving the AI-driven visual test automation space at Leapwork and he is deeply passionate about all things DevOps, SaaS, and AI.
Once the decision to implement test automation is made, the next question arises: “How will you achieve this?”. In IT, there are two options: You can either bypass a few days of planning and face weeks of complications, or you can invest in developing a robust strategy that saves invaluable time during sprints and improves long-term productivity. The choice is yours.
Here are Robert’s top tips for developing a comprehensive testing strategy:
- Define the project scope: Clearly defining the project scope from an automation perspective involves setting timelines and milestones for each project sprint. Identify which tests to automate and which to perform manually, as not all test cases are suitable for automation. Apply the 80/20 rule to prioritise tests, focusing on repetitive and mission-critical scenarios to maximise efficiency. The rule is as follows: Select 80% of the test cases that, if automated, would reduce the risk of errors happening during regression testing to an acceptable level. The remaining 20% can then be left for manual testing or not considered part of the current regression suite.
- Choosing a test automation approach: There are three areas you have to think about when picking a test automation approach. The first is processes. You have to develop procedures for creating, maintaining, and analysing automated test cases. The next concern is the technology itself. You have to choose tools and technologies that align with the applications being automated. Lastly, you need to define roles and responsibilities within the team, such as Automation Lead, Automation Engineer, and Automation Architect, to ensure clarity and accountability.
- Set clear objectives: Establish clear objectives that align with your business goals to measure the success of test automation. Objectives should be ambitious but realistic. Common goals include reducing execution time, increasing throughput, improving test coverage, minimising bugs in production, enhancing customer satisfaction, and boosting ROI.
- Conduct risk analysis and establish a test automation environment: Risk analysis is a critical aspect of project planning. Create a list of identifiable risks, detailing their description, severity, probability, mitigation strategies, and cost estimates. This helps you understand the potential impact of each risk and plan accordingly to minimise disruptions. A stable and predictable test environment is essential for reliable automation results. Ensure that your test environment closely mirrors the production environment to reflect real user experiences. Consider where to store test data, whether production data can be used (and masked if necessary), and whether test cases should clean up data after use.
- Develop an execution plan, implement a test naming convention and manage release control
- Execution plan: Outline day-to-day tasks and procedures related to automation in your execution plan. Select test cases for automation based on predefined criteria, and ensure they are run and verified multiple times before adding them to your regression suite. This helps avoid time-consuming false failures and ensures that test cases are robust and reliable.
- Test naming convention: A consistent test naming convention simplifies the testing framework and improves organisation. Each test name should include:
- Test case number/ID
- Feature/module
- A brief description of what the test case verifies
- Release control: In a release pipeline, a combination of automated and manual decision-making determines whether to release a build. Establish clear criteria for passing, such as the successful completion of all automated regression tests and the evaluation of application test logs. Clearly define these criteria to ensure a smooth release process.
- Plan for failure analysis and emphasise review and feedback
- Failure analysis: Having a plan for analysing failing test cases and taking necessary actions is crucial. Define a process for quickly addressing failures, from notification to backlog inclusion, to save time and reduce frustration. A well-defined process for failure analysis can significantly enhance team efficiency.
- Review and feedback: Review and approve your test automation strategy with relevant stakeholders in the development team. Foster a culture of continuous learning and improvement by embracing feedback from stakeholders, peers, and team members. Document lessons learned and continuously enhance your strategy based on these insights. Adopting a comprehensive test automation strategy involves more than just integrating new tools or processes; it requires embracing a mindset that emphasises efficiency, quality, and collaboration. By comprehending the what, why, and how of test automation strategies, organisations can align their QA efforts with their broader software development goals, optimising overall performance.
To learn more about the use of AI in software testing, attend the National Software Testing Conference in London on 23rd of July.
Edited by: Vaishnavi Nashte
For media enquiries, please contact vaishnavi.nashte@31media.co.uk