Lead a cross-organizational test automation project without fear!
Last year Imperva launched a cross-organizational software project focused on building a new management console and I had the privilege of leading its test automation effort. In this blog, I will explain the challenges we faced as technical leaders in the execution of the project and reveal the solutions we have developed to complete this test automation project.
Since Imperva’s mission is to protect customer data and all the paths that lead to it, we started this project because we believe it is essential to offer our full suite of cybersecurity services through a unified management console. . The success of this project enables Imperva to provide cutting-edge cybersecurity technology and to offer our customers significant advantages in UX and SW architecture.
The general objectives of the project were to:
- Create a unified management console delivering the entire portfolio of Imperva cloud services through enhanced UX
- Redesign of the user interface of part of our cybersecurity services
- Benefit from a rich library of services for authentication, authorization, API security, user interface enhancements, and more.
Project constraints and challenges
Of course, a strategic test automation project that has a cross-impact on product development has constraints. As a leader in test automation, I needed to maximize test coverage and get the earliest feedback while avoiding interruptions to other projects.
A large-scale software project that modifies both the existing architecture and the UX brings technological challenges. Here are some of the notable challenges we faced during the project development cycle:
- The UX changes “broke” our E2E user interface tests which were coded to test the old management console, which reduced our test coverage of our full suite of cybersecurity services that we offer.
- We had to test the new software architecture and the new UX first as single, stand-alone systems and then later with the whole system.
- We had to execute the project in harmony with the other projects, making sure to take into account other project commitments and ad hoc obligations.
- We had to involve the test engineering teams in the project plan so that we could reduce their learning curve and optimize their efforts invested in the project.
- We had to manage continuous changes in project content and dates and deal with delays in project milestones
- We had to ensure efficient execution of the project during the changes in working environment and the uncertainty brought about by the COVID-19 pandemic
Technical considerations relating to the project
We determined that allowing test engineers to correct their own tests was not an efficient use of project resources. This approach can lead to a decrease in quality and overall commitments. We also discovered that the new UX we developed only changed the navigation to our cloud services. We had to design a “hack” of the UX to get to the “correct” menu item or URL. Once we discovered the ‘hack’, we were able to get our test coverage and test engineers back on track and start making good project decisions. These decisions included involving test engineers early in the project to produce effective communication, developing an application infrastructure to ‘record’ existing E2E user interface tests, and maintaining the same test coverage, sharing an inter-organizational test automation project plan and defining clear roles and responsibilities.
Good decisions translate into good solutions
Once we overcame the initial challenges and determined the most appropriate course of action, we began to develop the solutions that would make the project a success. These included:
- Recording of E2E user interface tests. Once we developed an application infra that allowed our existing E2E UI tests to adapt to the new UX changes, we saved them. In addition, we have developed tools and training materials to facilitate the creation and analysis of test samples and we have defined specific score results as criteria for deployment.
- A productive test plan. We have designed tests to verify our new system. We set milestones based on selected test samples and our growing coverage capacity. We allowed developers to roll out gradually in a test environment and made the new UX testable through Selenium.
- Creation of new construction mental health smoke tests. In addition, we have also increased the regression coverage of the tests to obtain better quality feedback.
Collaboration and project monitoring
From the start, we shared our high level plan with all the R&D level managers and asked them to assign a technical test engineer as a reference person with whom we would work on an ongoing basis. We also made sure that the test engineers were ‘shifted to the left’ meaning that they were involved in the project from the design stage so that they could provide feedback early in the process. And once the development path of the project was clear, we designed and conducted training and update sessions throughout. Along the way, we were able to track project progress, get feedback, raise red flags, suggest solutions, and update the project plan as needed.
Four lessons to take away
While I have described a specific test automation software development project in this article, there are lessons for anyone who needs to optimize the way they run projects. Here are four things to consider and consider the next time you develop a test automation project plan:
- Get feedback early and avoid disrupting other projects. This can be accomplished more effectively when you have a “point of contact” from other stakeholder groups that you can communicate with to avoid getting involved in other projects.
- Establish the best way forward first, then run the project. It sounds simple enough, but not planning the basic challenges and technical considerations early on will likely affect the quality of your project decisions.
- Unroll gradually. Empower your team to deploy projects in a thoughtful way so that they can solve problems in a smaller, less critical environment. The time you spend will probably save you from a bigger headache later on.
- Collaborate and communicate. Get as much feedback and input as possible from stakeholders early on in the project. Make sure your project is not a “black box” and that everyone who wants and needs to know is in the know and can help keep it on track.
In the end, we succeeded in creating a unified management console offering the entire portfolio of Imperva cloud services through enhanced UX. Good luck with your next project!
The Position Lead an inter-organizational test automation project without fear! appeared first on Blog.
*** This is a syndicated Security Bloggers Network Blog blog written by Dan Weinrauch. Read the original post at: https://www.imperva.com/blog/lead-a-cross-organization-test-automation-project-fearlessly/