The concept behind continuous testing doesn’t involve one specific type of test or a single set of team members. For continuous testing to work, it requires the whole team to verify all aspects of a deployment pipeline and project quality. The eSimplicity approach to continuous testing includes much more than the traditional user story breakdown. We test code quality via automated tests from bottom to top: unit, API and UI (user interface) levels. Our automated code quality/security tests will include scanning tools and custom tests designed to test all code execution pathways at each level of system interaction. We don’t stop there. A mature CICD pipeline means that we also trigger these tests throughout the pipeline appropriately. Lastly, we verify the application, container and environment configurations ensuring quality and security.
The Automation Unicorn
Who hasn’t dreamed of an automated project where we hit the “easy” button, and our project is just simplified? Well, the reality is automation doesn’t give you back an abundance of excess free-time. There is a shift in work as a result of the automation investment. That “shift” of work priorities is realized as automation creation/maintenance and freedom to work project priorities. Keep in mind; your project can benefit from manual tests; sometimes, that is the right path for specific scenarios. However, an investment in automation means that your work will shift from manual execution, recording, and tracking to automated test case creation and maintenance. Ensuring those tests are useful requires an investment in maintenance and sometimes even refactoring. Secondly, your time will be available to prioritize work on future features or customer feedback, further propelling your project onto the next release.
Investing in automation can seem cost-prohibitive at the beginning. How much do you spend? You can never get back time lost on a project not to mention the world operates around constraints on time and money (project capacity). We are continually looking for opportunities to help with both of these. We prefer to leverage a few strategically placed automation tools that provide a TCO advantage over other approaches. We find tools like Cucumber, SonarQube, and Selenium to be quite helpful. Additionally, we also look for open source packages that accelerate project efforts to address code coverage verification, testing execution (API & unit), and defect management.