Mastering Continuous Testing
A Q&A with Perfecto Founder and CTO
February 11, 2019

Eran Kinsbruner
Perfecto

In today's world, our lives very much revolve around digital technologies. Consumers rely on their devices and apps for everything from transferring money to checking in with friends to recording updates about their health. With so many people relying so heavily on apps, it is critical for developers to assure continuous quality throughout the entire software development life cycle (SDLC). And it all starts with testing.

It's no secret that the majority of organizations struggle with implementing continuous testing (CT) strategies. In fact, one of the biggest stumbling blocks for implementing DevOps is the lack of CT. To help organizations harness the power of CT, I recently sat down with Perfecto's Founder and CTO, Yoram Mizrachi, to discuss the benefits of CT, the roadblocks teams need to overcome and what is ahead for the future of testing and software development.

Q: How do you define continuous testing?

Continuous testing (CT) is the ability to embed testing as part of the normal DevOps process and, at a minimum, it should happen daily. Non-CT means there are different rhythms for development and testing, which creates conflicts, sync errors and could result in wasted resources and time.

If you have a business case for DevOps in your organization, CT is a must-have and not a nice to have. CT is an enabler for DevOps practices and in today's testing landscape, you can't really run an Agile/DevOps practice if your testing is not continuous.

Q: What is driving the adoption of CT?

Like any other element in the DevOps cycle, everything should be automated and non-attended. DevOps is built on the practice that the machine and processes are keeping the rhythm. This means that, at any moment in time, teams have full visibility into where they are in the process. Day 1 of the sprint is no different than day n-1 of the sprint. The process of automated continuous integration/testing/delivery ensures this is the case.

Q: Who benefits the most from CT?

In DevOps practices, testing is fully owned by the feature team. This team is developing, building, testing and releasing continuously. There are teams that assign testing to developers while others are assigning testing to testers. Both are valid practices and result in the feature team leader being able to avoid surprises and make informed decisions based on facts.

Group leaders, dev leaders and business groups managers also benefit from CT and should actively promote the use of it since it aligns the overall goals for DevOps practices. CT gives these groups much better visibility into the development status during the cycle rather than at the end of the cycle.

Q: What roadblocks are associated with the adoption of DevOps and CT?

 

The biggest roadblock to CT is establishing trust. For decades, automated testing suffered from a lack of trust as part of the process. This stemmed from the reliability of test results, flakiness and ongoing maintenance. Getting to a point where red means red and green means green is essential for fully adopting – and embracing – CT.

In addition, teams will also need to overcome some of the initial challenges that come with automation. For example, selecting what to automate, which platforms to automate against and how to sustain automation as the market shifts and the product evolves.

Q: What advice would you give to organizations who think they can't engage in continuous testing?

DevOps isn't for every team – it's dependent on skillset, organizational structure and business demands. That being said, DevOps practices are becoming a prominent trend in development, and businesses that do not adopt and practice DevOps will likely fall behind competition in regards to people, skillset and business goals. Unless organizations have really specific or unique needs, there is no such thing as "can't engage." Today, when it comes to CT, it's a question of "how" and not "if."

Q: Where should organizations start when it comes to continuous testing?

Start small and focus on building a working practice that you can trust. Organizations who are starting out with CT will not see success if they create hundreds of scripts and dozens of platforms from the get-go. Instead, they should start with 20-25 scripts, about 4-5 platforms nightly and scale slowly from there.

Q: What is ahead for the future of testing and software development?

Cloud-based testing labs will become a standard practice, just like Amazon Web Services (AWS), Azure and GCP are standard for IT. The movement in code to higher level building blocks – from native to HTML to react – will also affect testing and we will see more packaged testing infrastructure that supports easier building of testing.

Because of the nature of applications, we will also see artificial intelligence (AI) being used more frequently in testing as teams work to overcome unknowns and unexpected elements during the testing period.

Finally, we will see more supporting analysis frameworks, likely based on AI/machine learning, which will guide developers and testers on what should be fixed first.

Eran Kinsbruner is Chief Evangelist at Perfecto
Share this

Industry News

May 28, 2020

Docker has extended its strategic collaboration with Microsoft to simplify code to cloud application development for developers and development teams by more closely integrating with Azure Container Instances (ACI).

May 28, 2020

Eggplant announced updates to its Digital Automation Intelligence (DAI) platform.

May 28, 2020

Aptum launched its Managed DevOps Service in partnership with CloudOps, a cloud consulting and professional services company specializing in DevOps.

May 27, 2020

Red Hat announced an expansion of its application services portfolio with the addition of Quarkus as a fully supported framework in Red Hat Runtimes.

May 27, 2020

Couchbase has completed a $105 million all-equity Series G round of fundraising.

May 27, 2020

Aqua Security closed a Series D round of $30M led by Greenspring Associates.

May 26, 2020

GitLab is releasing 13.0 of its DevSecOps platform to enable organizations to efficiently adapt and respond to new and dynamic business challenges.

May 26, 2020

Solo.io announced the availability of the Istio Developer Portal to streamline the developer onboarding process for improved developer experience and increased productivity with added security features.

May 26, 2020

WhiteHat Security will offer free application scanning services to any education institution to support secure online learning.

May 21, 2020

Exadel announced the Grand Prize winner of the “Appery.io COVID-19 Virtual Hackathon.”

May 21, 2020

CloudBees announced significant advances for its Software Delivery Management (SDM) platform – integrations with additional continuous integration and continuous delivery (CI/CD) engines, including Google Cloud Build and Tekton, and extension of the availability of CloudBees’ SDM Preview Program.

May 21, 2020

OutSystems is announcing over 70 development accelerators that ensure web and mobile applications created on the OutSystems low-code development platform can comply with the highest accessibility standards and regulations.

May 20, 2020

Styra announced that Styra Declarative Authorization Service (DAS) now supports microservices and extends context-based authorization to the service mesh.

May 20, 2020

Optimizely announced that its free feature flagging plan for development teams, Rollouts, now also includes A/B testing and feature configuration.

May 20, 2020

StackRox announced new runtime security features in the latest release of the StackRox Kubernetes Security Platform.