DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
View Events Video Library
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Integrating PostgreSQL Databases with ANF: Join this workshop to learn how to create a PostgreSQL server using Instaclustr’s managed service

Mobile Database Essentials: Assess data needs, storage requirements, and more when leveraging databases for cloud and edge applications.

Monitoring and Observability for LLMs: Datadog and Google Cloud discuss how to achieve optimal AI model performance.

Automated Testing: The latest on architecture, TDD, and the benefits of AI and low-code tools.

Related

  • How To Start a Successful Career in DevOps
  • Automated Testing: The Missing Piece of Your CI/CD Puzzle
  • AI Prowess: Harnessing Docker for Streamlined Deployment and Scalability of Machine Learning Applications
  • Continuous Integration for iOS and macOS

Trending

  • Extracting Maximum Value From Logs
  • Distributed Tracing Best Practices
  • CI/CD Docker: How To Create a CI/CD Pipeline With Jenkins, Containers, and Amazon ECS
  • Micro Frontends for Quarkus Microservices
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. You Can't Do CI/CD Without Automated Testing

You Can't Do CI/CD Without Automated Testing

Learn why automated testing is so important to continuous integration and delivery, and how to integrate automated testing tools into the pipeline.

Chris Tozzi user avatar by
Chris Tozzi
·
Jul. 27, 17 · Opinion
Like (4)
Save
Tweet
Share
7.59K Views

Join the DZone community and get the full member experience.

Join For Free

If you ask most DevOps experts what goes into a Continuous Integration or Continuous Delivery chain, they’ll mention components like CI servers and code repositories. They’re less likely to discuss automated testing tools, despite the fact that automated testing is just as crucial in order to achieve complete CI/CD.

Below, I explain just how important automated testing is for a CI/CD workflow and discuss examples of release automation toolchains that incorporate automated testing effectively.

Automated Testing Gets Short Shrift

Automated testing does not always feature prominently in discussions about CI/CD chains. DevOps engineers tend instead to focus on the integration and deployment parts of the process.

Perhaps this is because DevOps itself gives short shrift to the role of testing and quality assurance. The very term DevOps emphasizes development and IT Ops, and leaves QA out of the picture.

Or maybe it’s because DevOps engineers assume that manual or ad hoc testing is still sufficient. You can’t fault them too much for that. Manual testing was sufficient in most cases before the advent of fully continuous delivery chains.

Why Automated Testing is Essential for CI/CD

The fact is that you can’t do CI or CD today without automated testing.

Why? Consider the following reasons why automated testing is key to enabling successful CI/CD:

  • Automated tests mean faster tests. Automation leads to faster results than a human could produce manually. Automation also makes it possible to test in parallel, which speeds the testing process even more. Speed and the avoidance of delays are essential in order to deliver software continuously.
  • Automated testing is more consistent. An effective CI/CD pipeline should include as few variables and eccentricities as possible. Consistency is the key to ensuring that software behaves as expected at all stages of the delivery chain. Test automation helps to achieve consistency by mitigating the chance of human error when performing tests.
  • Automated testing enables agility. In a healthy CI/CD pipeline, it should be possible to adjust tools and frameworks quickly when needs change or better technology appears. This is part of what it means to be agile. With manual testing, being agile is difficult because test suites have to be rewritten or reconfigured whenever the CI/CD toolchain is updated. For example, if you switch to a new CI server platform, you have to update your manual tests. When you have automated tests, however, most of the configuration is done automatically. As a result, you can migrate to new technologies easily.
  • Automated testing helps you get the most out of your team. Your DevOps team’s time is valuable (not to mention expensive—these people don’t work for free, after all). You should make sure that they can spend their time and energy focused on doing things that only humans can do, rather than performing tedious tasks that could be automated, like testing.
  • Automated testing works well with small-scale changes. It often makes sense to perform certain types of manual testing (such as usability testing) periodically when a major update is made to an application (such as the release of a new interface). But in a CI/CD pipeline, most updates are small. Manually testing every small-scale update entails a great deal of tedium. Automated testing removes that tedium and allows your team to push out small changes on a continuous basis.

Bricking Automated Testing into CI/CD Toolsets

I noted above that automated testing has not traditionally been a major part of the conversation surrounding CI/CD best practices. There are signs that that is now changing, however. A look at some of the latest commercial CI/CD toolsets and release automation products shows that vendors are now building automated testing into the workflows that they provide to users.

Examples include:

  • Bluemix Continuous Delivery, which became generally available late last year.
  • Accenture Touchless Testing Platform, which was released in April 2017.
  • CD Director, CA Technologies’ CI/CD delivery platform.

For DevOps teams, products like these are a healthy sign. They show that automated testing is now being integrated into enterprise-grade CI/CD tool sets. Vendors are finally realizing that DevOps is about more than just development and deployment. They’re recognizing automated testing as the glue that holds the rest of the DevOps workflow together.

Continuous Integration/Deployment

Published at DZone with permission of Chris Tozzi. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • How To Start a Successful Career in DevOps
  • Automated Testing: The Missing Piece of Your CI/CD Puzzle
  • AI Prowess: Harnessing Docker for Streamlined Deployment and Scalability of Machine Learning Applications
  • Continuous Integration for iOS and macOS

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: