Test Automation

Today, on just about any agile project, you will hear Automation Testing and Test Automation thrown around often under a similar meaning. Typically, Automation Testing will refer to the automated execution of a series of tests performed via automation (tools) rather than manual involvement while Test Automation will involve the automation process for triggering test execution, tracking, managing and defects management. So, do you want your CICD (continuous integration and continuous development) projects to focus on Automation Testing or Test Automation? From a practical perspective, as we drive our projects further down the path of CICD, the answer is, “Yes and Yes.” To realize the full value of CICD, we mean both. We pursue both practices because, without them, both project quality will suffer and ultimately lead to bottleneck for project success.

The SIMPLE Experience

Continuous Testing

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.

Tooling Around

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.