<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Testing &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/software-testing/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Wed, 14 Oct 2026 10:26:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Parasoft 2020.1 Release Strengthens DevOps Team Collaboration with Enhanced Testing and Service Virtualization</title>
		<link>https://www.bestdevops.com/latest-parasoft-software-testing-suite-release-strengthens-devops-team-collaboration-2/</link>
					<comments>https://www.bestdevops.com/latest-parasoft-software-testing-suite-release-strengthens-devops-team-collaboration-2/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 09 May 2020 06:01:49 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[IT-Teams]]></category>
		<category><![CDATA[Jira]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Web UI testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12309</guid>

					<description><![CDATA[Parasoft's 2020.1 releases of SOAtest, Virtualize, and Continuous Testing Platform introduce new features for remote DevOps teams, including intelligent virtual service creation, work item traceability, and improved CI/CD integration.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Originally reported by <a href="https://aithority.com" rel="noopener">AIthority.com</a>. Parasoft announced these capabilities at the STAREAST Virtual Conference 2020.</em></p>



<h2 class="wp-block-heading">Overview</h2>



<p class="wp-block-paragraph">Parasoft, a vendor in automated software testing with over 30 years of industry presence, announced the <strong>2020.1 releases</strong> of three enterprise products: <strong>SOAtest</strong>, <strong>Virtualize</strong>, and the <strong>Continuous Testing Platform (CTP)</strong>. The update was showcased at the STAREAST Virtual Conference 2020 and targets DevOps and Agile teams that need to collaborate and execute test automation remotely.</p>



<h2 class="wp-block-heading">Key New Features in the 2020.1 Release</h2>



<p class="wp-block-paragraph">The release focuses on two broad themes: simplifying virtual service management and improving traceability across distributed teams. Specific capabilities introduced include:</p>



<ul class="wp-block-list">
<li><strong>Intelligent virtual service creation wizards</strong> – Guided workflows that lower the barrier to adopting service virtualization, enabling testers without deep technical expertise to create and manage virtual services.</li>
<li><strong>Sequence recording and playback</strong> – Teams can record interaction sequences and replay them as virtual services, reducing manual configuration effort.</li>
<li><strong>Remote performance monitoring of virtual services</strong> – Distributed team members can view and track performance characteristics of virtual services through shared dashboards, without needing local access to the test environment.</li>
<li><strong>Work item traceability</strong> – Pre-configured integrations allow teams to associate test cases directly with work items in popular project management tools, including <strong>Jira</strong>, <strong>Xray</strong>, and <strong>VersionOne</strong>.</li>
<li><strong>Enhanced testing and virtual service dashboards</strong> – Updated dashboard views expand visibility across the test environment and give teams a consolidated picture of test coverage and service health.</li>
</ul>



<h2 class="wp-block-heading">Why This Matters for DevOps Teams</h2>



<p class="wp-block-paragraph">As organizations accelerate digital transformation, the ability for Agile teams to collaborate asynchronously and remotely inside a testing ecosystem becomes critical. Service virtualization—simulating dependent services that are unavailable, unstable, or costly to access—is a well-established practice for unblocking CI/CD pipelines. The 2020.1 release aims to make that practice accessible to a broader set of team members, including non-technical testers and QA analysts.</p>



<p class="wp-block-paragraph">Work item traceability is particularly valuable in regulated industries and for teams practicing behavior-driven development (BDD) or requirements-based testing, where linking test execution results back to stories or requirements in tools like Jira is a compliance or governance requirement.</p>



<h2 class="wp-block-heading">Coverage Across the Testing Stack</h2>



<p class="wp-block-paragraph">According to Parasoft VP of Products Mark Lambert, the suite provides coverage across the full testing pyramid—from <strong>unit testing</strong> through <strong>API testing</strong> to <strong>Web UI testing</strong>—within a single, organically built toolchain:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;With the current state of the world, it&#8217;s more important than ever for organizations to embrace digital transformation and for Agile teams to be able to collaborate remotely within their testing ecosystem. In this release, we focused on making that collaboration easier with preconfigured work item traceability for systems such as Jira, Xray, and VersionOne and enhancements to our testing and virtual service dashboards. With Parasoft, we&#8217;ve got you covered from Unit to API and Web UI testing. And, because all these technologies were built by the Parasoft team, and not assembled through acquisition, they integrate seamlessly so there&#8217;s no need for you to stitch disparate tools together to achieve a consistent workflow.&#8221;</p><cite>— Mark Lambert, VP of Products, Parasoft</cite></blockquote>



<p class="wp-block-paragraph">This distinction—a natively integrated suite versus a collection of acquired tools—is positioned as a differentiator for teams that have experienced integration friction when combining point solutions from different vendors.</p>



<h2 class="wp-block-heading">CI/CD Integration and Continuous Testing</h2>



<p class="wp-block-paragraph">The 2020.1 release continues Parasoft&#8217;s focus on embedding test automation into CI/CD workflows. The Continuous Testing Platform (CTP) is designed to orchestrate testing activities across environments, making it easier to trigger, monitor, and report on automated tests as part of pipeline execution. By tightening the feedback loop between code change and test result, teams can identify and remove defects earlier in the development cycle.</p>



<h2 class="wp-block-heading">Products in the Release</h2>



<figure class="wp-block-table"><table><thead><tr><th>Product</th><th>Primary Use Case</th></tr></thead><tbody><tr><td>SOAtest</td><td>API and web service test automation</td></tr><tr><td>Virtualize</td><td>Service virtualization for test environment simulation</td></tr><tr><td>Continuous Testing Platform (CTP)</td><td>Test environment and lab management for CI/CD pipelines</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Further Reading</h2>



<p class="wp-block-paragraph">For more information on Parasoft&#8217;s automated software testing tools, visit the <a href="https://www.parasoft.com" rel="noopener">Parasoft website</a>. Details on service virtualization concepts and CI/CD testing practices can help teams evaluate whether this suite fits their pipeline requirements.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/latest-parasoft-software-testing-suite-release-strengthens-devops-team-collaboration-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Checkmarx Scores Highest for DevOps/DevSecOps Use Case in 2020 Gartner Critical Capabilities for Application Security Testing Report</title>
		<link>https://www.bestdevops.com/checkmarx-scores-highest-for-devops-devsecops-use-case-in-2020-gartner-critical-capabilities-for-application-security-testing-report/</link>
					<comments>https://www.bestdevops.com/checkmarx-scores-highest-for-devops-devsecops-use-case-in-2020-gartner-critical-capabilities-for-application-security-testing-report/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 08 May 2020 05:58:28 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[IT security]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12297</guid>

					<description><![CDATA[Checkmarx ranked highest for the DevOps/DevSecOps use case in the 2020 Gartner Critical Capabilities for Application Security Testing report, reinforcing its position as a leading AST platform for modern software development pipelines.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Source: <a href="https://www.businesswire.com" rel="noopener">businesswire.com</a> | Originally published: May 8, 2020</em></p>



<h2 class="wp-block-heading">Checkmarx Tops the DevOps/DevSecOps Use Case in Gartner&#8217;s 2020 Critical Capabilities Report</h2>



<p class="wp-block-paragraph">Checkmarx announced in May 2020 that it ranked highest for the DevOps/DevSecOps use case in the <strong>2020 Gartner Critical Capabilities for Application Security Testing</strong> report. The company also held a Leader position in the 2020 Gartner Magic Quadrant for Application Security Testing, and had previously been named a 2019 Gartner Peer Insights Customers&#8217; Choice for Application Security Testing based on verified customer reviews.</p>



<h2 class="wp-block-heading">What Are Gartner Critical Capabilities?</h2>



<p class="wp-block-paragraph">Gartner describes Critical Capabilities as attributes that differentiate products and services within a category based on quality and performance. Gartner recommends that buyers treat these capabilities as among the most important criteria when making acquisition decisions.</p>



<p class="wp-block-paragraph">In the Magic Quadrant for Application Security Testing (April 2020), Gartner noted that the major driver behind AST market evolution is the need to support enterprise DevOps initiatives. Buyers expect solutions that deliver high-assurance, high-value findings without unnecessarily slowing down development pipelines — and that integrate earlier in the SDLC, with testing increasingly driven by developers rather than dedicated security specialists.</p>



<h2 class="wp-block-heading">Why DevSecOps Fit Matters for AST Tools</h2>



<p class="wp-block-paragraph">Traditional application security testing was often a gate at the end of the development cycle, handled by a separate security team. Modern DevOps practices demand a different model: security scanning must be fast, automated, and embedded directly into the developer workflow — in IDEs, pull requests, and CI/CD pipelines — without becoming a bottleneck.</p>



<p class="wp-block-paragraph">This shift toward <strong>shift-left security</strong> means AST vendors must provide:</p>



<ul class="wp-block-list">
<li>Low-friction integrations with source control systems (GitHub, GitLab, Bitbucket, Azure Repos)</li>
<li>Native plugins or APIs for CI/CD platforms (Jenkins, Azure DevOps, CircleCI, GitHub Actions)</li>
<li>Scan times and result noise levels that developers can realistically act on within a sprint</li>
<li>Developer-friendly remediation guidance, not just raw vulnerability reports</li>
<li>Consolidated coverage across SAST, DAST, IAST, and SCA from a single platform where possible</li>
</ul>



<h2 class="wp-block-heading">The Checkmarx Software Security Platform</h2>



<p class="wp-block-paragraph">Checkmarx&#8217;s platform as described in 2020 combined several testing disciplines into a unified offering:</p>



<ul class="wp-block-list">
<li><strong>SAST (Static Application Security Testing):</strong> Analyzes source code for vulnerabilities without executing the application.</li>
<li><strong>IAST (Interactive Application Security Testing):</strong> Instruments running applications to detect vulnerabilities during functional testing.</li>
<li><strong>SCA (Software Composition Analysis):</strong> Identifies known vulnerabilities in open-source and third-party dependencies.</li>
<li><strong>AppSec Awareness and Training:</strong> Developer-facing educational content to reduce vulnerability introduction at the source.</li>
</ul>



<p class="wp-block-paragraph">The platform was available for on-premises deployment, cloud-hosted environments, and hybrid configurations, addressing the range of enterprise infrastructure patterns common in large organizations.</p>



<h2 class="wp-block-heading">CxFlow: End-to-End AST Orchestration for DevOps</h2>



<p class="wp-block-paragraph">A notable product introduced around this period was <strong>CxFlow</strong>, an orchestration module for the Checkmarx platform. CxFlow was designed to automate the handoff between security scanning and development workflows, addressing one of the common friction points in DevSecOps adoption: the gap between detecting a vulnerability and getting it tracked and remediated.</p>



<p class="wp-block-paragraph">Key capabilities described for CxFlow included:</p>



<ul class="wp-block-list">
<li>Integration with source control management systems to trigger scans automatically on code events (pushes, pull requests, merges)</li>
<li>Integration with CI/CD pipelines for build-time scanning</li>
<li>Automated ticket creation in issue trackers (such as Jira) based on scan results, enabling developers to work vulnerabilities directly from their existing task management tools</li>
<li>End-to-end automation from scan initiation through to defect ticketing — positioning it as a differentiator among AST vendors at the time</li>
</ul>



<h2 class="wp-block-heading">Executive Perspective</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Supporting the needs of enterprise DevOps and DevSecOps has always been a key focus for Checkmarx, and achieving the number-one ranking in this use case is a formidable vote of confidence for our approach to application security testing. Checkmarx is committed to delivering rapid and accurate software security testing solutions that are increasingly integrated and automated throughout the SDLC to support modern software development.&#8221;</p><cite>— Emmanuel Benzaquen, CEO, Checkmarx (May 2020)</cite></blockquote>



<h2 class="wp-block-heading">About Checkmarx</h2>



<p class="wp-block-paragraph">As of 2020, Checkmarx described itself as trusted by more than 40 of the Fortune 100 companies and half of the Fortune 50, with customers including SAP, Samsung, and Salesforce. The company is headquartered in Ramat Gan, Israel, with offices in New York and other locations globally.</p>



<h2 class="wp-block-heading">Gartner Disclaimers</h2>



<p class="wp-block-paragraph">Gartner Peer Insights Customers&#8217; Choice designations represent the subjective opinions of individual end-user reviews, ratings, and data applied against a documented methodology. They do not represent the views of, nor constitute an endorsement by, Gartner or its affiliates.</p>



<p class="wp-block-paragraph">Gartner does not endorse any vendor, product, or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner&#8217;s research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.</p>



<h2 class="wp-block-heading">Report References</h2>



<ul class="wp-block-list">
<li>Gartner, <em>Critical Capabilities for Application Security Testing</em>, Dale Gardner, Dionisio Zumerle, Mark Horvath, 27 April 2020</li>
<li>Gartner, <em>Magic Quadrant for Application Security Testing</em>, Mark Horvath, Dionisio Zumerle, Dale Gardner, 29 April 2020</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/checkmarx-scores-highest-for-devops-devsecops-use-case-in-2020-gartner-critical-capabilities-for-application-security-testing-report/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Latest Parasoft Software Testing Suite Release Strengthens DevOps Team Collaboration</title>
		<link>https://www.bestdevops.com/latest-parasoft-software-testing-suite-release-strengthens-devops-team-collaboration/</link>
					<comments>https://www.bestdevops.com/latest-parasoft-software-testing-suite-release-strengthens-devops-team-collaboration/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 07 May 2020 07:02:46 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[Cybersecurity]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[IoT markets]]></category>
		<category><![CDATA[IT Monitoring]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12270</guid>

					<description><![CDATA[Source:-wfmz.com Parasoft Showcases New Product Capabilities for DevOps and Remote Work Team Initiatives at STAREAST Virtual Conference 2020 MONROVIA, Calif., [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-wfmz.com</p>
<p>Parasoft Showcases New Product Capabilities for DevOps and Remote Work Team Initiatives at STAREAST Virtual Conference 2020</p>
<p>MONROVIA, Calif., May 5, 2020 /PRNewswire/ &#8212; Parasoft, a global leader in automated software testing for over 30 years, today announced the 2020.1 releases of Parasoft&#8217;s enterprise solutions: SOAtest, Virtualize, and Continuous Testing Platform (CTP). The new features in the product suite strengthen DevOps team collaboration, making it simple for customers to manage virtual services more effectively as part of the test environment.</p>
<p>Parasoft added key capabilities to enable remote work teams to plan, collaborate, and execute their test automation. With intelligent virtual service creation, wizards simplify the process and lower the barriers to adoption. Teams can remotely view and track performance characteristics of virtual services. They can also easily create virtual services with sequence recording and playback. Additionally, the new features include the ability to quickly associate work items with test cases in the systems of record. Together, these capabilities expand visibility and coverage across the test environment and improve team productivity.</p>
<p>To learn more about Parasoft&#8217;s latest automated software testing tool releases, register for our webinar, Strengthen DevOps Team Collaboration for Better Test Automation, on May 19, 2020 at 2 p.m. ET and May 20, 2020 at 11 a.m. CET.</p>
<p>&#8220;With the current state of the world, it&#8217;s more important than ever for organizations to embrace digital transformation and for Agile teams to be able to collaborate remotely within their testing ecosystem. In this release, we focused on making that collaboration easier with preconfigured work item traceability for systems such as Jira, Xray, and VersionOne and enhancements to our testing and virtual service dashboards. With Parasoft, we&#8217;ve got you covered from Unit to API and Web UI testing. And, because all these technologies were built by the Parasoft team, and not assembled through acquisition, they integrate seamlessly so there&#8217;s no need for you to stitch disparate tools together to achieve a consistent workflow.&#8221; – Mark Lambert, VP of Products at Parasoft</p>
<p>This release demonstrates Parasoft&#8217;s commitment to assist Agile and DevOps teams with integrating test automation throughout their CI/CD workflows and makes it easier for non-technical testers to participate in identifying and removing software defects. Our technical expertise and customer feedback continues to help us achieve a consistent approach to continuous automated testing.</p>
<p>Learn more about Parasoft solutions during the annual STAREAST Virtual conference May 6 – 7, 2020. Visit Parasoft&#8217;s virtual booth and attend their sessions during the conference:</p>
<p>Optimize Performance Testing With a Shift-Left Approach (ITP12)<br />
Wed, May 6, 2:45 p.m. ET<br />
Implement Traceability to Optimize Continuous Testing (B2)<br />
Thurs, May 7, 12:30 p.m. ET<br />
About Parasoft</p>
<p>Parasoft continuously delivers quality software with its market-proven, integrated suite of automated software testing tools. Parasoft supports software organizations as they develop and deploy applications for the embedded, enterprise, and IoT markets. Parasoft&#8217;s technologies reduce the time, effort, and cost of delivering secure, reliable, and compliant software by integrating static and runtime analysis; unit, functional, and API testing; and service virtualization. With our developer testing tools, manager reporting/analytics, and executive dashboarding, Parasoft enables organizations to succeed in today&#8217;s most strategic ecosystems and development initiatives—real-time, safety-critical, cybersecure, agile, continuous testing, and DevOps.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/latest-parasoft-software-testing-suite-release-strengthens-devops-team-collaboration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The major hybrid cloud options compared: AWS Outposts vs Azure Stack vs Google Anthos</title>
		<link>https://www.bestdevops.com/the-major-hybrid-cloud-options-compared-aws-outposts-vs-azure-stack-vs-google-anthos/</link>
					<comments>https://www.bestdevops.com/the-major-hybrid-cloud-options-compared-aws-outposts-vs-azure-stack-vs-google-anthos/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 12 Nov 2019 05:36:33 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Datadog]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9206</guid>

					<description><![CDATA[Source:-arnnet.com.au Now that all of the major public cloud providers have a clearly defined hybrid cloud solution on the market [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Source:-arnnet.com.au<br></p>



<p class="wp-block-paragraph">Now that all of the major public cloud providers have a clearly defined hybrid cloud solution on the market we can start to compare the different approaches from Amazon Web Services (AWS), Microsoft Azure and Google Cloud.</p>



<p class="wp-block-paragraph">Hybrid cloud is an enterprise IT strategy that involves operating certain workloads across different infrastructure environments, be it one of&nbsp;the major public cloud providers, a private cloud, or on-premise, typically with a homegrown orchestration layer on top. Multi-cloud is a similar idea but tends to not involve private cloud or on-premise infrastructure.</p>



<p class="wp-block-paragraph">This approach is particularly important to organisations with certain applications that will need to remain on-premise for the time being, such as low-latency applications on a factory floor, or those with data residency concerns.<a href="https://www.computerworlduk.com/it-vendors/microsoft-azure-vs-aws-vs-google-cloud-public-cloud-comparison-which-cloud-is-best-for-enterprise-3624848/"></a></p>



<p class="wp-block-paragraph">According to the RightScale<em> State of the Cloud</em> report 2019, hybrid cloud is the dominant enterprise strategy, with 58 per cent of respondents stating that is their preferred approach, with 17 per cent opting for multiple public clouds and just 10 per cent opting for a single public cloud provider.</p>



<p class="wp-block-paragraph">The advantages of hybrid cloud include the ability to diversify spend and skills, build resiliency and cherry pick features and capabilities depending on where they see a vendor&#8217;s strengths, all while&nbsp;avoiding that dreaded vendor lock-in.</p>



<p class="wp-block-paragraph">It is in the public cloud vendor&#8217;s best interests that customers run everything in the public cloud, but they are increasingly aware that customers don&#8217;t necessarily want to work this way and are providing more flexible options to accommodate for that fact.</p>



<p class="wp-block-paragraph">As DataStax CEO Billy Bosworth told Computerworld UK: &#8220;It really has only been, I would say, the last 12 to 18 months, where I feel like the market has hit that decided tipping point, that multi-cloud is not an option, it&#8217;s a reality.&#8221;</p>



<p class="wp-block-paragraph">Taking them one by one, here are the major vendor&#8217;s options for running hybrid.</p>



<p class="wp-block-paragraph"><strong>Microsoft Azure Stack</strong></p>



<p class="wp-block-paragraph">Microsoft has long been the go-to option for hybrid deployments amongst the big three with its well established Azure Stack, which was available in technical preview as long ago as January 2016.</p>



<p class="wp-block-paragraph">It allows customers to leverage various Azure cloud services from their own data centre and, in theory, eases the transition to the cloud for highly regulated or more cautious organisations. Applications can be built for the Azure cloud and deployed either on Microsoft cloud infrastructure or within the confines of their own datacentre without rewriting any code.</p>



<p class="wp-block-paragraph">Then,&nbsp;at the&nbsp;<em>Ignite</em>&nbsp;conference in November 2019, Microsoft announced the technical preview of Azure Arc, a multi-cloud management layer which essentially extends Azure Stack to other public cloud platforms, including AWS and GCP. The idea is to give customers a single view of all of their apps and services regardless of where they sit.</p>



<p class="wp-block-paragraph">“Enterprises rely on a hybrid technology approach to take advantage of their on-premises investment and, at the same time, utilise cloud innovation,” Azure corporate vice president Julia White wrote in a blog post.</p>



<p class="wp-block-paragraph">“As more business operations and applications expand to include edge devices and multiple clouds, hybrid capabilities must enable apps to run seamlessly across on-premises, multi-cloud, and edge devices while providing consistent management and security across all distributed locations.”</p>



<p class="wp-block-paragraph">Nick McQuire, vice president of enterprise research at CCS Insight, said at the time: “With Azure Arc, and with it, the arrival of multi-cloud management in Azure, we are now seeing perhaps the biggest shift yet in Azure’s strategic evolution.”</p>



<p class="wp-block-paragraph">Under the covers Azure Stack – now referred to as Azure Stack Hub by the vendor – brings a set of core services to customers&#8217; own data centres, such as virtual machines, storage, networking, VPN gateway and load balancing, as well as platform services like functions, containers and database, and identity services like active directory.</p>



<p class="wp-block-paragraph">The Azure Stack can be run on hardware from a variety of partner vendors, such as HPE, Dell EMC, Cisco, Huawei and Lenovo.</p>



<p class="wp-block-paragraph">It is priced in the same flexible manner as Azure public cloud, so you pay for what you use, starting at $0.008 per virtual CPU per hour, but you will be contracted for software support with Microsoft and hardware support with the chosen vendor.</p>



<p class="wp-block-paragraph"><em>For a more detailed breakdown of Azure Stack, our friends over at Network World have gone under the covers.</em></p>



<p class="wp-block-paragraph"><strong>AWS Outposts</strong></p>



<p class="wp-block-paragraph">AWS signalled its first serious move into hybrid deployments at its re:Invent conference in 2018 with the launch of Outposts, a fully managed service where AWS delivers pre-configured hardware and software to the customer&#8217;s on-premise data centre or co-location space to run applications in a cloud-native manner, without having to operate out of AWS data centres.</p>



<p class="wp-block-paragraph">&#8220;Customers will order racks with the same hardware AWS uses in all of our regions, with software with AWS services on it &#8211; like compute and storage &#8211; and then you can work in two variants,&#8221; AWS CEO Andy Jassy said at the time.</p>



<p class="wp-block-paragraph">Those two flavours are: run VMware Cloud on AWS, or run compute and storage on-premises using the same native AWS APIs used in the AWS cloud.</p>



<p class="wp-block-paragraph">&#8220;Symbolically, Outposts is another acknowledgement by AWS that most enterprises want or need to split workloads and data between on-premise systems and public cloud services,&#8221; Kurt Marko, an independent technology analyst, told&nbsp;<em>Computerworld&nbsp;</em>at the time.</p>



<p class="wp-block-paragraph">Currently customers can configure their outpost with a variety of EC2 instances and EBS volumes for storage.</p>



<p class="wp-block-paragraph">Then, once the service is made generally available in late 2019, Outposts will locally support Amazon ECS and Amazon EKS clusters for container-based applications, Amazon EMR clusters for data analytics, and Amazon RDS instances for relational database services; with the machine learning toolkit SageMaker and Amazon MSK for streaming data applications promised after launch.</p>



<p class="wp-block-paragraph">In a blog post published in September 2019, Matt Garman, VP of AWS compute services, added some more detail around the project and highlighted some common use cases they are seeing so far, including interest from customers in the manufacturing, healthcare, financial services, media and entertainment, and telecom industries.</p>



<p class="wp-block-paragraph">&#8220;One of the most common scenarios is applications that need single-digit millisecond latency to end-users or onsite equipment,&#8221; Garman wrote. &#8220;Customers may need to run compute-intensive workloads on their manufacturing factory floors with precision and quality.</p>



<p class="wp-block-paragraph">&#8220;Others have graphics-intensive applications such as image analysis that need low-latency access to end-users or storage-intensive workloads that collect and process hundreds of TBs of data a day.&#8221;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/the-major-hybrid-cloud-options-compared-aws-outposts-vs-azure-stack-vs-google-anthos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zero-Coding Machine Learning: A Practical Introduction to Google Cloud AutoML Services</title>
		<link>https://www.bestdevops.com/your-crash-course-on-zero-coding-ml-an-introduction-to-google-cloud-and-its-automl-services/</link>
					<comments>https://www.bestdevops.com/your-crash-course-on-zero-coding-ml-an-introduction-to-google-cloud-and-its-automl-services/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 07 Nov 2019 05:26:38 +0000</pubDate>
				<category><![CDATA[Google Cloud]]></category>
		<category><![CDATA[app developers]]></category>
		<category><![CDATA[Data-center]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9099</guid>

					<description><![CDATA[Explore how Google Cloud AutoML lets developers and non-data-scientists build machine learning models without writing ML code — and why Google's infrastructure makes it possible.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a masterclass delivered by KC Ayyagari, Startup Ecosystem Manager – India, Google Cloud for Startups, at TechSparks 2019 (10th edition), hosted by YourStory. Original source: yourstory.com.</em></p>



<h2 class="wp-block-heading">Why Google&#8217;s Infrastructure Is the Foundation for Everything</h2>



<p class="wp-block-paragraph">When YouTube loads instantly for hundreds of millions of users simultaneously, most people don&#8217;t think about the underlying infrastructure making that possible. According to KC Ayyagari, this is by design. Google has spent roughly 18 years building its own hardware, software, data centers, and networking stack — all tuned for speed, reliability, and scale. That same infrastructure is now exposed to developers and businesses as Google Cloud managed services.</p>



<h3 class="wp-block-heading">Google&#8217;s Network Scale</h3>



<p class="wp-block-paragraph">During the masterclass, Ayyagari cited that Google carries approximately 25 percent of the world&#8217;s internet traffic. He explained a key differentiator in how Google routes that traffic: while most cloud and network providers use a <strong>hot potato architecture</strong> — handing packets off to the nearest external node as quickly as possible — Google uses a <strong>cold potato architecture</strong>. This means Google retains packets within its own faster private network for as long as possible before handing them off to the nearest ISP, reducing latency and improving reliability.</p>



<h3 class="wp-block-heading">Machine Learning Applied to Data Center Cooling</h3>



<p class="wp-block-paragraph">Google also shared a concrete example of using its own ML capabilities internally: managing data center cooling. By training a model on data center telemetry to predict and control optimal temperatures, Google reportedly reduced cooling-related energy costs by 40 percent. This is a practical illustration of applied ML — not a research project, but a production system managing real infrastructure at scale.</p>



<h2 class="wp-block-heading">Google Cloud: 100+ Products Across Key Domains</h2>



<p class="wp-block-paragraph">Google Cloud (<a href="https://cloud.google.com" rel="noopener noreferrer" target="_blank">cloud.google.com</a>) provides over 100 products spanning:</p>



<ul class="wp-block-list">
<li><strong>Machine Learning &amp; AI</strong> — AutoML, AI Platform, pre-built APIs</li>
<li><strong>Big Data</strong> — BigQuery, Dataflow, Pub/Sub</li>
<li><strong>Compute</strong> — Compute Engine, Kubernetes Engine (GKE)</li>
<li><strong>Networking</strong> — Cloud CDN, VPC, Cloud Interconnect</li>
<li><strong>Databases</strong> — Cloud Spanner, Cloud SQL, Firestore</li>
</ul>



<p class="wp-block-paragraph">Ayyagari described the portfolio as &#8220;Lego pieces&#8221; — modular services that developers assemble based on what they&#8217;re building. The platform doesn&#8217;t prescribe a single architecture; instead it offers components that can be composed to build anything from a simple web app to a globally distributed ML pipeline.</p>



<h2 class="wp-block-heading">Google&#8217;s ML Ecosystem: Something for Every Role</h2>



<p class="wp-block-paragraph">One of the clearest takeaways from the session was that Google has segmented its ML offering by user persona, not just by use case:</p>



<figure class="wp-block-table"><table><thead><tr><th>Audience</th><th>Google Cloud ML Product</th><th>Description</th></tr></thead><tbody><tr><td>Data Engineers / Data Scientists</td><td>AI Platform (formerly Cloud ML Engine)</td><td>Train, deploy, and manage custom ML models at scale</td></tr><tr><td>Researchers</td><td>TensorFlow</td><td>Open-source framework for custom model architecture research</td></tr><tr><td>App Developers (no ML background)</td><td>Perception APIs (Vision, NLP, Translation, etc.)</td><td>Pre-trained, ready-to-call REST APIs for common ML tasks</td></tr><tr><td>Everyone (custom data, no ML expertise)</td><td>AutoML</td><td>Train custom models on your data without writing ML code</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">What Is Google Cloud AutoML?</h2>



<p class="wp-block-paragraph">AutoML sits in a useful middle ground: you bring your own labeled data, but you don&#8217;t need to design or tune a neural network architecture. Google handles model selection, hyperparameter tuning, and training on its infrastructure, using techniques like <strong>transfer learning</strong> — starting from a pre-trained model and fine-tuning it on your specific dataset.</p>



<p class="wp-block-paragraph">The typical AutoML workflow still follows the general ML lifecycle:</p>



<ol class="wp-block-list">
<li><strong>Data acquisition</strong> — Collect relevant labeled examples</li>
<li><strong>Data exploration</strong> — Understand distributions, class balance, quality</li>
<li><strong>Data preparation</strong> — Clean, format, and split data</li>
<li><strong>Feature engineering</strong> — Select or transform input variables (partially automated in AutoML)</li>
<li><strong>Model selection &amp; training</strong> — Handled automatically by AutoML</li>
<li><strong>Prediction / serving</strong> — Deploy the trained model to an endpoint</li>
</ol>



<p class="wp-block-paragraph">The key advantage AutoML offers is compressing steps 4 and 5. You don&#8217;t need to choose between ResNet, EfficientNet, or BERT — AutoML runs a neural architecture search or applies transfer learning from appropriate base models and returns a trained, deployable model.</p>



<h2 class="wp-block-heading">Google Cloud AutoML Services: An Overview</h2>



<p class="wp-block-paragraph">At the time of the masterclass (late 2019), Google&#8217;s AutoML portfolio covered four primary domains:</p>



<h3 class="wp-block-heading">AutoML Vision</h3>



<p class="wp-block-paragraph">Train custom image classification or object detection models. Upload labeled images, trigger a training job, and receive a model that can classify new images into your custom categories — without writing any training code.</p>



<h3 class="wp-block-heading">AutoML Video Intelligence</h3>



<p class="wp-block-paragraph">Extend image-based concepts to video — classify video segments or track objects across frames using custom training data.</p>



<h3 class="wp-block-heading">AutoML Natural Language</h3>



<p class="wp-block-paragraph">Build custom text classification models. Useful for sentiment analysis, content tagging, or routing — on domain-specific text that generic APIs don&#8217;t handle accurately.</p>



<h3 class="wp-block-heading">AutoML Translation</h3>



<p class="wp-block-paragraph">Customize Google&#8217;s translation models using your own bilingual sentence pairs — especially valuable for industry-specific or technical terminology where generic models underperform.</p>



<h3 class="wp-block-heading">AutoML Tables</h3>



<p class="wp-block-paragraph">Apply AutoML to structured (tabular) data — the most common data type in enterprise workflows. Upload a CSV or connect a BigQuery table, select the target column, and AutoML Tables trains and evaluates multiple model types to find the best performer for regression or classification tasks.</p>



<h2 class="wp-block-heading">The Role of BigQuery in the ML Pipeline</h2>



<p class="wp-block-paragraph">Ayyagari also touched on BigQuery — Google&#8217;s serverless, highly scalable data warehouse — as a core part of the data pipeline feeding AutoML and other ML workflows. BigQuery allows teams to run SQL queries across petabyte-scale datasets in seconds, making it a practical starting point for data exploration and preparation before training begins. AutoML Tables integrates directly with BigQuery, allowing you to train a model from a BigQuery table without exporting data.</p>



<h2 class="wp-block-heading">Why AutoML Matters for Speed-to-Market</h2>



<p class="wp-block-paragraph">A recurring theme in Ayyagari&#8217;s session was time. ML model development typically involves expensive iteration cycles: collect data, engineer features, train, evaluate, adjust, repeat. For startups and product teams without dedicated ML engineers, this loop is prohibitively slow.</p>



<p class="wp-block-paragraph">AutoML accelerates the experimentation cycle. Teams can validate whether a custom ML model improves their product — using real business data — before committing to a full ML engineering investment. The tradeoff is reduced control over model internals, which may matter less at early stages than shipping something that works.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Machine Learning is all about experimentation. The moment you do any experimentation, you have to come to the market quickly. If you keep wasting your resources on training, the data, it&#8217;s of no use. And this is the problem we are trying to solve with AutoML.&#8221;</p><cite>— KC Ayyagari, Startup Ecosystem Manager – India, Google Cloud for Startups (TechSparks 2019)</cite></blockquote>



<h2 class="wp-block-heading">Key Takeaways</h2>



<ul class="wp-block-list">
<li>Google Cloud exposes the same infrastructure Google uses internally as managed services with SLAs.</li>
<li>Google&#8217;s cold potato network architecture prioritizes retaining traffic within its own low-latency network before handing off to external ISPs.</li>
<li>The Google Cloud ML portfolio spans the full spectrum from pre-built APIs to custom model training, covering every technical persona from app developer to ML researcher.</li>
<li>AutoML uses transfer learning to train custom models on your data without requiring ML coding expertise.</li>
<li>AutoML services cover vision, video intelligence, natural language, translation, and tabular data.</li>
<li>BigQuery serves as a natural data source for AutoML Tables and structured ML workflows.</li>
<li>The primary value proposition of AutoML for engineering teams is dramatically reducing the time required to validate and ship ML-powered features.</li>
</ul>



<p class="wp-block-paragraph"><em>Note: Google&#8217;s AutoML product portfolio and naming conventions have continued to evolve since 2019 under the Vertex AI umbrella. Check the <a href="https://cloud.google.com/vertex-ai" rel="noopener noreferrer" target="_blank">official Vertex AI documentation</a> for current product names, capabilities, and pricing.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/your-crash-course-on-zero-coding-ml-an-introduction-to-google-cloud-and-its-automl-services/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GitLab vs. GitHub: When Should You Choose GitLab?</title>
		<link>https://www.bestdevops.com/when-to-choose-gitlab-instead-of-github/</link>
					<comments>https://www.bestdevops.com/when-to-choose-gitlab-instead-of-github/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 28 Oct 2019 05:54:51 +0000</pubDate>
				<category><![CDATA[GitHub]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[GitLab]]></category>
		<category><![CDATA[network automation]]></category>
		<category><![CDATA[Open-Source Projects]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8876</guid>

					<description><![CDATA[GitHub and GitLab both build on Git, but they serve different workflows. This guide breaks down the key differences to help DevOps teams decide which platform fits their needs.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Git is a distributed version control system that tracks source code changes across the full history of a project. Unlike centralized client-server systems, every Git repository is self-contained—it stores the complete history locally and does not require constant network access to a central server.</p>



<p class="wp-block-paragraph">Two of the most widely used platforms built on top of Git are <strong>GitHub</strong> and <strong>GitLab</strong>. Both host repositories, manage pull/merge requests, and support team collaboration. However, they differ significantly in their approach to the broader software delivery lifecycle—particularly around CI/CD, deployment, and self-hosting. This article explains those differences so you can make an informed choice for your team.</p>



<h2 class="wp-block-heading">GitHub: The Social Coding Platform</h2>



<p class="wp-block-paragraph">GitHub was launched in 2008, co-founded by Tom Preston-Werner, PJ Hyett, and Chris Wanstrath. It is a Git-based repository hosting service that has grown into one of the largest communities for open-source software in the world.</p>



<p class="wp-block-paragraph">Key characteristics of GitHub include:</p>



<ul class="wp-block-list">
<li><strong>Open-source community hub:</strong> Public repositories are free, making GitHub the default home for most open-source projects. Discoverability, forking, and community contributions are first-class features.</li>
<li><strong>GitHub Actions (CI/CD):</strong> GitHub&#8217;s built-in automation platform lets you define workflows in YAML to build, test, and deploy code. It became generally available in 2019 and has expanded significantly since.</li>
<li><strong>Access control and project management:</strong> GitHub provides issue tracking, project boards, milestones, and wikis alongside repository hosting.</li>
<li><strong>Large marketplace:</strong> A rich ecosystem of third-party Actions and integrations covers most CI/CD, security, and deployment scenarios.</li>
<li><strong>Microsoft ownership:</strong> Microsoft acquired GitHub in 2018, which has accelerated enterprise integration (Azure DevOps, VS Code, Copilot).</li>
</ul>



<p class="wp-block-paragraph">GitHub does not natively bundle deployment orchestration or application monitoring tools. Teams that need automated deployments typically integrate external services such as AWS CodeDeploy, Heroku, or Kubernetes operators via Actions workflows.</p>



<h2 class="wp-block-heading">GitLab: The Integrated DevOps Platform</h2>



<p class="wp-block-paragraph">GitLab is also a Git-based repository manager, but its design philosophy is different: it aims to be a single application covering the <em>entire</em> DevOps lifecycle—from planning and source control through CI/CD, security scanning, deployment, and monitoring.</p>



<p class="wp-block-paragraph">Key characteristics of GitLab include:</p>



<ul class="wp-block-list">
<li><strong>Built-in CI/CD with GitLab Pipelines:</strong> GitLab CI/CD is deeply integrated and has been a core feature since 2012—predating GitHub Actions. Pipelines are defined in a <code>.gitlab-ci.yml</code> file at the repository root.</li>
<li><strong>Self-managed option:</strong> GitLab can be installed on your own infrastructure (Community Edition is open-source; Enterprise Edition is commercial). This is a critical differentiator for organisations with strict data-residency or air-gapped requirements.</li>
<li><strong>Kubernetes integration:</strong> GitLab provides native integration with Kubernetes clusters, enabling automated container deployment, scaling, and environment management directly from the platform.</li>
<li><strong>Security and compliance tooling:</strong> GitLab&#8217;s higher-tier plans include SAST, DAST, container scanning, dependency scanning, and license compliance—all surfaced inside merge request pipelines.</li>
<li><strong>Innersourcing support:</strong> GitLab supports internal visibility levels that let teams share repositories across an organisation without making them fully public—useful for enterprise innersourcing strategies.</li>
<li><strong>Application performance monitoring:</strong> GitLab integrates with monitoring tools to surface performance data alongside deployment activity.</li>
</ul>



<h2 class="wp-block-heading">Side-by-Side Feature Comparison</h2>



<p class="wp-block-paragraph">The table below summarises the most practically relevant differences for DevOps teams.</p>



<figure class="wp-block-table"><table><thead><tr><th>Feature</th><th>GitHub</th><th>GitLab</th></tr></thead><tbody><tr><td>Repository hosting</td><td>✅</td><td>✅</td></tr><tr><td>Built-in CI/CD</td><td>✅ GitHub Actions</td><td>✅ GitLab Pipelines</td></tr><tr><td>Self-managed / on-premises</td><td>✅ GitHub Enterprise Server</td><td>✅ Community &amp; Enterprise editions</td></tr><tr><td>Shared CI runners (free tier)</td><td>✅ (limited minutes)</td><td>✅ (limited minutes)</td></tr><tr><td>Self-hosted runners</td><td>✅ Self-hosted runners</td><td>✅ GitLab Runners</td></tr><tr><td>Native Kubernetes deployment</td><td>Via Actions / third-party</td><td>✅ Native integration</td></tr><tr><td>Built-in SAST / DAST</td><td>Via Actions / third-party</td><td>✅ (paid tiers)</td></tr><tr><td>Innersourcing visibility level</td><td>❌</td><td>✅ Internal visibility</td></tr><tr><td>Time tracking</td><td>❌ native</td><td>✅</td></tr><tr><td>Cycle analytics</td><td>❌ native</td><td>✅</td></tr><tr><td>Open-source community reach</td><td>Very large</td><td>Moderate</td></tr><tr><td>Marketplace / integrations</td><td>Very large (Actions Marketplace)</td><td>Moderate</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">CI/CD: A Closer Look</h2>



<p class="wp-block-paragraph">CI/CD is often the deciding factor in the GitLab vs. GitHub decision.</p>



<h3 class="wp-block-heading">GitLab Pipelines</h3>



<p class="wp-block-paragraph">GitLab&#8217;s pipeline system is mature and feature-rich. A minimal <code>.gitlab-ci.yml</code> looks like this:</p>


<pre class="wp-block-code"><span><code class="hljs language-php">stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - <span class="hljs-keyword">echo</span> <span class="hljs-string">"Compiling the application..."</span>

test-job:
  stage: test
  script:
    - <span class="hljs-keyword">echo</span> <span class="hljs-string">"Running unit tests..."</span>

deploy-job:
  stage: deploy
  script:
    - <span class="hljs-keyword">echo</span> <span class="hljs-string">"Deploying to production..."</span>
  environment:
    name: production</code></span></pre>


<p class="wp-block-paragraph">GitLab provides shared runners on its SaaS offering, and teams can register self-hosted runners with a single command—giving them full control over the build environment and no per-minute billing surprises.</p>



<h3 class="wp-block-heading">GitHub Actions</h3>



<p class="wp-block-paragraph">GitHub Actions uses a workflow YAML stored under <code>.github/workflows/</code>. The Actions Marketplace offers thousands of pre-built steps for almost any task. An equivalent minimal workflow:</p>


<pre class="wp-block-code"><span><code class="hljs language-php">name: CI

on: &#91;push]

jobs:
  build-test-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: <span class="hljs-keyword">echo</span> <span class="hljs-string">"Compiling the application..."</span>
      - name: Test
        run: <span class="hljs-keyword">echo</span> <span class="hljs-string">"Running unit tests..."</span>
      - name: Deploy
        run: <span class="hljs-keyword">echo</span> <span class="hljs-string">"Deploying to production..."</span></code></span></pre>


<p class="wp-block-paragraph">GitHub Actions is tightly integrated with the GitHub ecosystem and benefits from Microsoft&#8217;s investment in tooling, including integration with Azure and GitHub Copilot.</p>



<h2 class="wp-block-heading">When to Choose GitLab</h2>



<p class="wp-block-paragraph">GitLab tends to be the better choice when one or more of the following apply:</p>



<ul class="wp-block-list">
<li><strong>You need to self-host:</strong> Compliance requirements, air-gapped networks, or data-sovereignty rules make on-premises hosting mandatory. GitLab&#8217;s Community Edition is free and open-source.</li>
<li><strong>You want an all-in-one DevOps platform:</strong> If your team wants planning, SCM, CI/CD, security scanning, and deployment observability under one roof without stitching together many third-party tools, GitLab&#8217;s integrated approach reduces operational overhead.</li>
<li><strong>Kubernetes-native deployments matter:</strong> GitLab&#8217;s native Kubernetes integration simplifies environment management and progressive delivery without requiring additional tooling.</li>
<li><strong>Innersourcing at enterprise scale:</strong> The internal repository visibility level makes it straightforward to share code across business units without opening it to the public.</li>
<li><strong>Built-in security scanning is a priority:</strong> GitLab&#8217;s higher-tier plans include SAST, DAST, and dependency scanning directly in the merge request pipeline, which can simplify compliance workflows.</li>
<li><strong>Mature CI/CD with self-hosted runners:</strong> GitLab Runner is lightweight, easy to configure, and supports Docker, Kubernetes, shell, and other executors out of the box.</li>
</ul>



<h2 class="wp-block-heading">When to Choose GitHub</h2>



<p class="wp-block-paragraph">GitHub tends to be the better choice when:</p>



<ul class="wp-block-list">
<li><strong>Open-source visibility and community are important:</strong> GitHub is where the vast majority of open-source projects live. Discoverability, contributor onboarding, and community interaction are stronger here.</li>
<li><strong>Your team is already in the Microsoft / Azure ecosystem:</strong> Integration with Azure services, Visual Studio, and GitHub Copilot is seamless.</li>
<li><strong>You rely on a wide third-party integration marketplace:</strong> The Actions Marketplace and the breadth of existing integrations often means less custom scripting.</li>
<li><strong>Social coding and developer experience are top priorities:</strong> GitHub&#8217;s interface, pull request workflow, and Discussions feature are widely regarded as polished and developer-friendly.</li>
</ul>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">Neither platform is universally superior. GitHub excels as a social coding and open-source collaboration hub with a rich integration ecosystem. GitLab excels as an integrated, self-hostable DevOps platform that covers more of the software delivery lifecycle out of the box.</p>



<p class="wp-block-paragraph">The practical decision usually comes down to three questions:</p>



<ol class="wp-block-list">
<li><strong>Do you need to self-host?</strong> → GitLab Community Edition.</li>
<li><strong>Is open-source community reach important?</strong> → GitHub.</li>
<li><strong>Do you want a single platform for CI/CD, security, and deployment without heavy third-party integration?</strong> → GitLab.</li>
</ol>



<p class="wp-block-paragraph">Evaluate your team&#8217;s workflow, compliance requirements, and long-term DevOps maturity goals before committing to either platform. Both offer free tiers and trials that make hands-on evaluation practical before any purchase decision.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/when-to-choose-gitlab-instead-of-github/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Open Source Software in DevOps: Why High-Performing Teams Are Going All In</title>
		<link>https://www.bestdevops.com/the-use-of-open-source-software-in-devops-has-become-strategic-for-organizations-of-all-sizes/</link>
					<comments>https://www.bestdevops.com/the-use-of-open-source-software-in-devops-has-become-strategic-for-organizations-of-all-sizes/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 20 Sep 2019 06:18:35 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[development strategy]]></category>
		<category><![CDATA[DORA]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=7904</guid>

					<description><![CDATA[Data from the 2019 Accelerate State of DevOps Report shows elite DevOps teams are significantly more likely to use open source software—and the trend is accelerating even in traditionally cautious industries like financial services.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article draws on findings originally reported by <a href="https://www.helpnetsecurity.com" rel="noopener">HelpNetSecurity.com</a>, sourced from the 2019 Accelerate State of DevOps Report by DORA and Google Cloud.</em></p>



<h2 class="wp-block-heading">Open Source Adoption Is Now a Competitive Differentiator</h2>



<p class="wp-block-paragraph">The 2019 Accelerate State of DevOps Report, produced by DevOps Research and Assessment (DORA) in partnership with Google Cloud, identified a clear pattern: elite and high-performing DevOps teams rely heavily on open source software, while the strongest concentration of fully proprietary software is found in low performers.</p>



<p class="wp-block-paragraph">Among the headline findings: elite performers—the highest-performing cohort—nearly tripled in proportion year-over-year, and this group was approximately 1.75 times more likely to make extensive use of open source software compared to low performers. High performers were also 1.5 times more likely to plan further expansion of their open source usage.</p>



<p class="wp-block-paragraph">These numbers signal something important: open source adoption is not just a cost-cutting measure. For top teams, it is a deliberate, strategic decision that directly correlates with delivery performance.</p>



<h2 class="wp-block-heading">Why Proprietary Software Holds Teams Back</h2>



<p class="wp-block-paragraph">Dr. Nicole Forsgren, lead research scientist for the 2019 Accelerate State of DevOps Report, offered a pointed analysis of what the data shows about proprietary software:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Proprietary software may be valuable, but it comes at great cost to maintain and support. It&#8217;s no surprise that the highest performers have moved away from this model. Companies should be thoughtful about which software provides strategic value to organizations, and which is merely utility. By addressing their utility needs with COTS solutions and minimizing customization, high performers save their resources for strategic software development efforts.&#8221;</p><cite>Dr. Nicole Forsgren, Lead Research Scientist, 2019 Accelerate State of DevOps Report</cite></blockquote>



<p class="wp-block-paragraph">The practical implication: organizations should audit their software stack and categorize tools as either strategic (worth building and customizing) or utility (best handled by commodity or open source solutions). Over-investing in proprietary customization for utility software drains engineering capacity that could drive competitive advantage.</p>



<h2 class="wp-block-heading">Key Benefits of Open Source in a DevOps Context</h2>



<ul class="wp-block-list">
<li><strong>Faster time to delivery:</strong> Open source libraries, frameworks, and tools give teams a proven foundation to build on, reducing the time spent solving already-solved problems.</li>
<li><strong>Community-driven innovation:</strong> Bugs are found and fixed faster; new features emerge from a global contributor base rather than a single vendor&#8217;s roadmap.</li>
<li><strong>Customizability:</strong> Access to source code allows organizations to adapt software to specific business requirements without waiting for a vendor release cycle.</li>
<li><strong>Talent and recruiting:</strong> Engineers are drawn to shops that use technologies they know and can showcase publicly.</li>
<li><strong>Security transparency:</strong> Visible source code enables community auditing, though this benefit requires active governance of dependencies.</li>
</ul>



<p class="wp-block-paragraph">Sacha Labourey, CEO of CloudBees, summarized the compounding nature of these benefits:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Open source provides a jumpstart in developing applications and accelerating time to delivery. It also enables organizations to benefit from the innovation of a larger community, as well as contribute their own innovation back to the community. Everyone benefits.&#8221;</p><cite>Sacha Labourey, CEO, CloudBees</cite></blockquote>



<h2 class="wp-block-heading">Adoption Beyond Tech: Financial Services as a Case Study</h2>



<p class="wp-block-paragraph">One of the more telling signals in the 2019 report is that open source adoption is accelerating even in highly regulated industries. Financial services firms—historically among the most cautious technology adopters due to compliance, audit, and risk requirements—are increasingly treating open source as an enabler rather than a liability.</p>



<p class="wp-block-paragraph">Dinesh Keswani, CTO of Shared Services at HSBC, described the shift in thinking:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Financial services organizations like ours see open source and the cloud as strategic opportunities to embrace, rather than a risk to shy away from. The use of open platforms for our DevOps teams enables us to innovate on new applications, especially in the banking retail space, and rearchitect legacy applications to be more agile in the cloud. Creating new services that can be deployed on demand and easily updated are less of a risk than maintaining monolithic applications that can&#8217;t be changed.&#8221;</p><cite>Dinesh Keswani, CTO Shared Services, HSBC</cite></blockquote>



<p class="wp-block-paragraph">This reframing—from &#8220;open source is risky&#8221; to &#8220;unmaintainable monoliths are riskier&#8221;—reflects a maturing understanding of operational risk in enterprise IT.</p>



<h2 class="wp-block-heading">Open Source Governance: The Caveat Teams Cannot Ignore</h2>



<p class="wp-block-paragraph">Enthusiasm for open source must be paired with disciplined dependency management. Derek Weeks, VP and DevOps advocate at Sonatype, flagged a critical operational concern:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;All companies are now software companies. In the race to out-innovate competitors they&#8217;ve put open source software at the core of their digital transformations as the only way to truly keep up in today&#8217;s world. But, open source doesn&#8217;t come without the need to consider quality across suppliers. As the need for open source in the enterprise grows, companies must understand what open source they&#8217;re using and where it is being used.&#8221;</p><cite>Derek Weeks, VP and DevOps Advocate, Sonatype</cite></blockquote>



<p class="wp-block-paragraph">In practice, this means maintaining a software bill of materials (SBOM), scanning dependencies for known vulnerabilities, and establishing policies for how quickly critical patches must be applied. Tools such as dependency auditing utilities integrated directly into CI/CD pipelines have become a standard part of high-maturity DevOps workflows.</p>



<h2 class="wp-block-heading">Open Source and Multi-Cloud Architectures</h2>



<p class="wp-block-paragraph">The move toward open source is closely tied to the rise of multi-cloud strategies. John Coyle, VP of Business and Corporate Development at Sumo Logic, pointed to Kubernetes as the most visible example of this convergence:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;In an effort to address and overcome complexities, we are seeing a dramatic shift in the future of the modern application stack as companies look to multi-cloud and open source technologies, like Kubernetes. Open source empowers our customers to scale and build at the rate they need, with the support of the community as opposed to a siloed approach that limits the growth that could be achieved otherwise.&#8221;</p><cite>John Coyle, VP Business and Corporate Development, Sumo Logic</cite></blockquote>



<p class="wp-block-paragraph">Kubernetes—itself a CNCF open source project—has become the de facto orchestration layer for containerized workloads across cloud providers. Its adoption illustrates how open source projects, when backed by large communities and vendor-neutral governance, can become critical infrastructure rather than experimental tooling.</p>



<h2 class="wp-block-heading">Practical Takeaways for DevOps Teams</h2>



<ol class="wp-block-list">
<li><strong>Audit your proprietary dependencies.</strong> Identify which proprietary tools deliver genuine strategic value versus those serving commodity functions that open alternatives could cover at lower total cost.</li>
<li><strong>Invest in open source governance.</strong> Adopt SBOM practices and integrate dependency scanning into your CI/CD pipeline before open source sprawl makes this unmanageable.</li>
<li><strong>Contribute upstream where possible.</strong> Teams that contribute back to the open source projects they depend on gain influence over project direction and build engineering reputation.</li>
<li><strong>Treat open source adoption as a team capability.</strong> The DORA data suggests open source usage is correlated with high performance, but causation likely runs through the broader engineering culture that chooses and governs these tools effectively.</li>
<li><strong>Re-evaluate &#8220;regulated industry&#8221; assumptions.</strong> If HSBC is running DevOps on open platforms, the compliance argument against open source deserves fresh scrutiny in your own organization.</li>
</ol>



<p class="wp-block-paragraph">The 2019 Accelerate State of DevOps data makes a compelling case: high-performing teams treat open source not as a cost measure but as a strategic capability. The question for most organizations is no longer whether to use open source in DevOps workflows—it is how to govern and extend that usage responsibly.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/the-use-of-open-source-software-in-devops-has-become-strategic-for-organizations-of-all-sizes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>With Great Speed Comes Great Responsibility: Software Testing Is Now a Continuous Race</title>
		<link>https://www.bestdevops.com/with-great-speed-comes-great-responsibility-software-testing-now-a-continuous-race/</link>
					<comments>https://www.bestdevops.com/with-great-speed-comes-great-responsibility-software-testing-now-a-continuous-race/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 18 Mar 2019 07:33:37 +0000</pubDate>
				<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4966</guid>

					<description><![CDATA[As CI/CD pipelines push builds daily or even hourly, continuous testing has become a strategic necessity. A Capgemini/Sogeti survey of 500 IT executives reveals where enterprises stand—and where they are falling short.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article draws on findings from a survey of 500 IT executives conducted by Capgemini and Sogeti in collaboration with Broadcom, as summarized by <a href="https://www.zdnet.com/article/time-for-continuous-testing-of-software/" target="_blank" rel="noopener">ZDNet</a>.</em></p>



<h2 class="wp-block-heading">The Pace of Modern Software Delivery</h2>



<p class="wp-block-paragraph">Continuous integration and continuous delivery (CI/CD) have fundamentally changed the rhythm of software releases. According to a survey of 500 IT executives released by Capgemini and Sogeti in collaboration with Broadcom, 58% of enterprises deploy a new build daily, and 26% do so at least hourly. When software ships that fast, quality assurance can no longer be an end-of-cycle event—it has to be woven into every stage of the pipeline.</p>



<p class="wp-block-paragraph">That is the core argument for <strong>continuous testing</strong>: fast, automated validation of software releases that keeps pace with agile development. The survey found that nearly one-third of IT executives (32%) reported their IT departments had &#8220;fully embraced&#8221; continuous testing—a meaningful milestone, though it also means the majority have not.</p>



<h2 class="wp-block-heading">Automation Gap: The Elephant in the Testing Room</h2>



<p class="wp-block-paragraph">It might seem self-evident that continuous testing demands heavy automation. The survey data, however, reveals a significant shortfall between aspiration and practice:</p>



<ul class="wp-block-list">
<li>Only <strong>24% of test cases</strong> were being executed through automation.</li>
<li>Only <strong>24% of end-to-end business scenarios</strong> were covered by automated tests.</li>
<li>Only <strong>25% of required test data</strong> was being generated automatically.</li>
</ul>



<p class="wp-block-paragraph">Perhaps most telling: more than one-third of respondents (36%) said that the majority of their testing time is currently consumed by searching for, managing, maintaining, and generating test data. Test data management is frequently an afterthought in CI/CD strategy, yet here it emerges as one of the biggest drains on engineering time.</p>



<h2 class="wp-block-heading">AI and Machine Learning: Potential, Not Yet Reality</h2>



<p class="wp-block-paragraph">Artificial intelligence is frequently cited as a solution to test optimization challenges, and the survey reflects this optimism—with caveats. At least 28% of executives reported an <em>intent</em> to introduce AI to manage their continuous testing processes. The survey authors note that machine learning capabilities could eventually allow systems to automatically determine which tests are required in each release and production cycle, reducing manual triage and prioritization effort.</p>



<p class="wp-block-paragraph">However, the survey did not clearly quantify how deeply AI was already embedded in active testing cycles at the time of publication. The distinction between planned adoption and live deployment matters: intent is not implementation. Teams evaluating AI-assisted testing tools should look for concrete capabilities such as failure prediction, test case prioritization based on code change analysis, and self-healing locators for UI tests.</p>



<h2 class="wp-block-heading">Transparency and Pipeline Visibility Are Non-Negotiable</h2>



<p class="wp-block-paragraph">Speed without visibility creates risk. The survey highlights that executives recognize this: 35% identified a &#8220;complete audit trail of testing activities&#8221; and a &#8220;consolidated test and release pipeline&#8221; as the most important test orchestration capabilities. A further 32% pointed to the need for a &#8220;single place for cross-team collaboration&#8221; and &#8220;continuous delivery pipeline visibility.&#8221;</p>



<p class="wp-block-paragraph">These findings underscore that continuous testing is not only a technical challenge—it is an organizational one. When multiple teams contribute to a shared pipeline, siloed test results and opaque quality gates create bottlenecks and finger-pointing. A shared, real-time view of test status across the delivery pipeline reduces ambiguity and accelerates decision-making.</p>



<h2 class="wp-block-heading">Capgemini&#8217;s Recommendations for Continuous Testing Success</h2>



<p class="wp-block-paragraph">Based on the survey findings, the Capgemini authors put forward four practical recommendations for organizations looking to mature their continuous testing practice:</p>



<ol class="wp-block-list">
<li><strong>Create visibility of quality processes</strong> by implementing customized QA dashboards that surface test results and quality metrics across CI/CD pipelines in real time.</li>
<li><strong>Establish automated testing cycles</strong> early in the development lifecycle so that defects are caught as close to their point of introduction as possible—reducing the cost and effort of remediation.</li>
<li><strong>Leverage AI and machine learning</strong> to optimize test cycles, prioritize high-risk test cases, and reduce redundant test execution.</li>
<li><strong>Automate the self-provisioning of test data</strong> to eliminate the manual bottleneck that, per the survey, consumes over a third of testing time for many organizations.</li>
</ol>



<h2 class="wp-block-heading">What This Means for DevOps Teams</h2>



<p class="wp-block-paragraph">The survey paints a picture of an industry in transition. CI/CD adoption is widespread enough that daily and even hourly deployments are now common. Yet the testing infrastructure needed to validate that velocity safely has not kept pace. Automation coverage remains low, test data management is largely manual, and AI-assisted testing is still mostly aspirational.</p>



<p class="wp-block-paragraph">For DevOps and platform engineering teams, the takeaway is clear: investing in test automation and test data infrastructure is not a quality-of-life improvement—it is a prerequisite for sustainable delivery speed. Without it, the pace of CI/CD becomes a liability rather than an advantage.</p>



<p class="wp-block-paragraph">The original ZDNet article covering these survey findings can be found at <a href="https://www.zdnet.com/article/time-for-continuous-testing-of-software/" target="_blank" rel="noopener">zdnet.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/with-great-speed-comes-great-responsibility-software-testing-now-a-continuous-race/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How DevOps Enables More Effective Software Testing</title>
		<link>https://www.bestdevops.com/how-can-devops-enable-your-software-testing-efforts/</link>
					<comments>https://www.bestdevops.com/how-can-devops-enable-your-software-testing-efforts/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 04 Aug 2018 05:49:32 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[DevOps Updates]]></category>
		<category><![CDATA[automation software]]></category>
		<category><![CDATA[DevOps software testing]]></category>
		<category><![CDATA[Digital Transformation]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4163</guid>

					<description><![CDATA[DevOps breaks down the silos between development, QA, and operations teams to make quality everyone's responsibility. Learn how a DevOps testing strategy drives faster releases, continuous quality assurance, and measurable outcomes.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Digital transformation is rarely straightforward. Organisations face department silos, legacy systems, and deeply embedded work cultures that resist change. The result is that the twin imperatives of speed and quality are frequently missed. A growing number of engineering teams are addressing this by embedding software testing directly into a DevOps culture — one that automates, measures, and continuously improves quality across the entire software delivery lifecycle.</p>



<p class="wp-block-paragraph">This article explains how DevOps changes the approach to software testing, why organisations adopt it, and how to measure whether the approach is actually working.</p>



<h2 class="wp-block-heading">What Value Does DevOps Bring to Software Testing?</h2>



<p class="wp-block-paragraph">In a traditional software delivery model, development and QA teams operate in isolation. Developers write code and hand it over a wall to testers, who find problems late in the cycle when fixes are expensive. Operations teams then receive a finished artifact with little context about what changed or why.</p>



<p class="wp-block-paragraph">DevOps dismantles that hand-off model. By integrating development, QA, and operations into a shared workflow — supported by automation and a common culture of accountability — quality assurance becomes a continuous activity rather than a discrete phase. The practical effects include:</p>



<ul class="wp-block-list">
<li><strong>Earlier defect detection.</strong> Tests run automatically on every code commit, catching regressions before they accumulate.</li>
<li><strong>Shared ownership of quality.</strong> QA is no longer a gatekeeper at the end of the pipeline; every engineer is responsible for the quality of what they ship.</li>
<li><strong>Faster feedback loops.</strong> Automated pipelines surface test results within minutes, allowing developers to fix issues in context rather than weeks later.</li>
<li><strong>Consistent delivery cadence.</strong> Reliable automation reduces the unpredictability of manual testing, making release schedules more predictable.</li>
</ul>



<h2 class="wp-block-heading">Key Business Drivers for Adopting DevOps Testing</h2>



<p class="wp-block-paragraph">DevOps adoption should always be grounded in a genuine business need. George Spafford, research director at Gartner, has cautioned against pursuing DevOps for its own sake:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;A DevOps initiative must focus on business requirements and not on &#8216;doing DevOps for the sake of DevOps,&#8217; wherein the methods and tools become more important than what customers need. Organizations must avoid the all-too-common mistake of launching a DevOps initiative before establishing that a business reason exists to do so. For example, instead of focusing on release rates and doing things faster, start with the business value by asking what that will enable.&#8221;</p><cite>George Spafford, Research Director, Gartner</cite></blockquote>



<p class="wp-block-paragraph">With that framing in mind, the following business pressures commonly drive organisations toward a DevOps testing strategy:</p>



<ul class="wp-block-list">
<li><strong>Market velocity.</strong> Competitive markets demand faster, more frequent releases. Manual testing cycles are simply too slow to support weekly or daily deployments.</li>
<li><strong>Cross-platform complexity.</strong> Modern applications must work reliably across multiple devices, operating systems, browsers, and network conditions. Automated test coverage across these environments is impractical to achieve manually.</li>
<li><strong>Rising customer expectations.</strong> Users expect frictionless experiences and are quick to abandon products that feel unreliable. Proactive defect detection protects user experience and, by extension, revenue.</li>
<li><strong>Hybrid application footprints.</strong> Applications increasingly span cloud, on-premises, and edge environments, creating test coverage challenges that benefit from systematic automation.</li>
</ul>



<h2 class="wp-block-heading">How DevOps Enables Effective Quality Assurance</h2>



<p class="wp-block-paragraph">A well-implemented DevOps testing strategy touches every stage of the delivery pipeline. Here is how it improves QA in practice:</p>



<ul class="wp-block-list">
<li><strong>Collective responsibility.</strong> Quality is no longer owned by a single team. Developers write unit and integration tests; platform engineers maintain test infrastructure; product teams define acceptance criteria. Everyone contributes.</li>
<li><strong>Continuous integration (CI).</strong> Every code commit triggers an automated build and test run. Failures are visible immediately, before they block other work.</li>
<li><strong>Continuous delivery (CD).</strong> Tested artifacts are automatically promoted through staging environments, reducing the manual effort — and human error — associated with release preparation.</li>
<li><strong>Shift-left testing.</strong> Tests are written earlier in the development cycle, often before the feature code itself (test-driven development). This dramatically reduces the cost of finding and fixing defects.</li>
<li><strong>Faster time to market.</strong> Reliable automated pipelines remove the unpredictable delays associated with manual QA gates, enabling shorter, more predictable release cycles.</li>
<li><strong>Reduced rework costs.</strong> Defects found in CI cost a fraction of what it costs to fix the same defect after deployment to production.</li>
<li><strong>Continuous monitoring and feedback.</strong> Post-deployment monitoring feeds real user data back into the development cycle, informing prioritisation of fixes and improvements.</li>
<li><strong>Optimised resource utilisation.</strong> Automation handles repetitive regression testing, freeing QA engineers to focus on exploratory testing, performance analysis, and test strategy.</li>
</ul>



<h2 class="wp-block-heading">Measuring the Effectiveness of DevOps QA</h2>



<p class="wp-block-paragraph">Adopting DevOps practices without measuring outcomes is a common mistake. The success of a DevOps testing strategy depends on tracking meaningful metrics and using them to drive continuous improvement. Consider instrumenting your pipeline around the following dimensions:</p>



<h3 class="wp-block-heading">Pipeline and Test Health</h3>



<ul class="wp-block-list">
<li><strong>Test pass rate per build.</strong> A declining pass rate signals either test instability or an increase in defects being introduced.</li>
<li><strong>Time to detect a failure.</strong> How quickly does the pipeline surface a defect after the offending commit? Shorter is better.</li>
<li><strong>Flaky test rate.</strong> Tests that pass and fail non-deterministically erode trust in the pipeline. Track and eliminate them systematically.</li>
</ul>



<h3 class="wp-block-heading">Delivery Performance</h3>



<ul class="wp-block-list">
<li><strong>Deployment frequency.</strong> How often are you successfully releasing to production?</li>
<li><strong>Lead time for changes.</strong> The time from code commit to production deployment. A key indicator of pipeline efficiency.</li>
<li><strong>Change failure rate.</strong> The percentage of deployments that result in a degraded service or require a hotfix.</li>
<li><strong>Mean time to restore (MTTR).</strong> How quickly can the team recover from a production incident?</li>
</ul>



<h3 class="wp-block-heading">Infrastructure and Process Readiness</h3>



<ul class="wp-block-list">
<li>The CI/CD toolchain should integrate seamlessly with test frameworks so that QA engineers can identify and investigate failures without leaving familiar tools.</li>
<li>Test environments and data dependencies should be easy to provision, ideally as code, so that tests are reproducible and not blocked by environment drift.</li>
<li>The entire build, deploy, test, verify, and rollback process should be documented and practiced regularly so the team can act confidently under pressure.</li>
</ul>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">DevOps does not simply speed up software delivery — it changes how quality is defined, owned, and measured. By making testing a continuous, automated, and collaborative activity, DevOps teams detect defects earlier, release more reliably, and respond to customer feedback faster than teams operating with traditional QA silos.</p>



<p class="wp-block-paragraph">As Gartner&#8217;s Spafford observed, DevOps challenges conventional IT thinking through its constant evolution and its requirement for genuine acceptance of change. Teams that anchor their DevOps testing strategy in clear business outcomes — rather than tool adoption alone — are best positioned to realise those benefits sustainably.</p>



<p class="wp-block-paragraph">The journey toward mature DevOps QA is iterative. Start by automating the most painful manual tests, measure the impact, and expand coverage incrementally. The goal is not a perfect pipeline on day one, but a team that improves continuously.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-can-devops-enable-your-software-testing-efforts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Applying DevOps and Agile to Embedded Testing</title>
		<link>https://www.bestdevops.com/applying-devops-and-agile-to-embedded-testing/</link>
					<comments>https://www.bestdevops.com/applying-devops-and-agile-to-embedded-testing/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 18 Jul 2018 05:26:33 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[EMBEDDED DEVELOPMENT]]></category>
		<category><![CDATA[EMBEDDED TESTING]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4053</guid>

					<description><![CDATA[Embedded software testing presents unique challenges that standard DevOps and Agile practices don't fully address out of the box. This article explores how to adapt agile principles, test automation strategies, and multi-speed delivery cadences to embedded systems development.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a piece originally published on devopsonline.co.uk and covers how DevOps and Agile principles can be applied to the specific domain of embedded software testing.</em></p>



<h2 class="wp-block-heading">What Is Embedded Testing?</h2>



<p class="wp-block-paragraph">When people discuss software testing in the context of DevOps and Agile, the conversation usually centres on web applications, APIs, and cloud-native services. Embedded testing is a distinct discipline that deserves its own treatment, because the constraints, skills, and tooling involved differ significantly from mainstream software development.</p>



<p class="wp-block-paragraph">Embedded testing is the practice of validating the software stack designed to run on a specific piece of hardware — firmware, middleware, and application layers included. Common examples include the software running on a fitness tracker (such as a Garmin or Fitbit), a set-top box, medical devices, or automated production line equipment.</p>



<h2 class="wp-block-heading">Understanding the System Under Test</h2>



<p class="wp-block-paragraph">Before applying any DevOps or Agile methodology, it helps to understand the typical architecture of an embedded system. Most embedded products share the following layers:</p>



<ul class="wp-block-list">
<li><strong>Custom hardware:</strong> Consumer-grade embedded devices are typically engineered to minimise cost, which means hardware resources are constrained. It is common for devices to struggle to keep pace with software demands in the years following launch.</li>
<li><strong>Firmware and driver layer:</strong> This interfaces directly with the hardware and is often the most sensitive layer to change. Small modifications here can have cascading effects on the rest of the stack.</li>
<li><strong>Middleware:</strong> Implements higher-level device functionality and typically acts as the bridge between hardware drivers and the user-facing application.</li>
<li><strong>User interface:</strong> The layer through which users send commands, configure settings, or trigger device behaviour.</li>
<li><strong>Connectivity:</strong> Most modern embedded devices communicate with other devices or back-end services, adding a distributed systems dimension to the testing problem.</li>
</ul>



<p class="wp-block-paragraph">The goal of embedded testing is to verify that every layer — and the integrated whole — functions correctly and meets quality standards under real-world conditions.</p>



<h2 class="wp-block-heading">Delivering Consistent Customer Value</h2>



<p class="wp-block-paragraph">Historically, major embedded device manufacturers have operated on release cadences of two to three years for hardware, with software updates arriving more frequently — perhaps three to four times per year at launch, tapering off as devices age. The challenge is to maintain a predictable and meaningful delivery cadence throughout a device&#8217;s lifetime.</p>



<p class="wp-block-paragraph">Several principles borrowed from mainstream DevOps can help achieve this:</p>



<h3 class="wp-block-heading">Decompose the System and Test Layers Independently</h3>



<p class="wp-block-paragraph">The single most impactful structural decision is to design components so they can be tested — and ideally released — independently of one another. Tight coupling between layers means that a defect in one area can block an entire release. Loose coupling gives teams the freedom to iterate on individual components at their own pace.</p>



<p class="wp-block-paragraph">Apply standard testing practices at each layer:</p>



<ul class="wp-block-list">
<li><strong>Unit tests</strong> for individual functions and modules within firmware and middleware.</li>
<li><strong>Component tests</strong> that exercise each layer through well-defined interfaces.</li>
<li><strong>Integration tests</strong> that verify the components work correctly together — but only after functional correctness at lower levels has already been established.</li>
</ul>



<h3 class="wp-block-heading">Reuse Standard Tooling Where Possible</h3>



<p class="wp-block-paragraph">There is unlikely to be an off-the-shelf automation solution that covers the full embedded stack. However, individual layers may be testable with standard tools. For example:</p>



<ul class="wp-block-list">
<li>A UI layer built on a known framework might be testable with standard UI automation tools outside the device itself.</li>
<li>Back-end services connected to the device can often be tested using conventional API testing frameworks.</li>
<li>Hardware abstraction layers can sometimes be exercised with hardware-in-the-loop (HIL) simulation environments.</li>
</ul>



<p class="wp-block-paragraph">Where no standard tool exists, custom tooling will be required. This is a significant investment, but building a robust, domain-specific integration test harness pays dividends across the entire device lifecycle.</p>



<h2 class="wp-block-heading">Unique Challenges of Embedded Testing</h2>



<h3 class="wp-block-heading">Resource Constraints and Timing Sensitivity</h3>



<p class="wp-block-paragraph">Embedded systems are heavily optimised and operate with minimal spare capacity. This means that code changes — even seemingly small ones — can alter execution timing and produce unexpected side effects in other parts of the system. Testing must therefore be sensitive to performance regression, not just functional correctness.</p>



<h3 class="wp-block-heading">Instrumentation Alters Behaviour (Observer Effect)</h3>



<p class="wp-block-paragraph">In conventional software, attaching a debugger or inserting instrumentation code is routine. In embedded systems, doing so can change the timing and memory characteristics of the running software — sometimes masking the very defect you are trying to find. This makes reproducibility and root-cause analysis considerably harder.</p>



<h3 class="wp-block-heading">Difficult-to-Reproduce Defects and Field Conditions</h3>



<p class="wp-block-paragraph">Some defects in embedded systems only manifest under very specific hardware states, environmental conditions, or usage patterns that are hard to replicate in a lab. For consumer devices in particular, the configuration space is enormous. Collecting telemetry and diagnostic data from devices in the field can significantly improve the team&#8217;s ability to identify the conditions required to reproduce and fix such defects.</p>



<h2 class="wp-block-heading">Non-Functional Testing: Don&#8217;t Leave It Until the End</h2>



<p class="wp-block-paragraph">In embedded systems, non-functional characteristics are not secondary concerns — they are often the primary differentiator between a device that works and one that customers actually want to use. Non-functional testing in this context includes:</p>



<ul class="wp-block-list">
<li>Performance and responsiveness</li>
<li>Load and stress testing</li>
<li>Reliability and fault recovery</li>
<li>Security</li>
<li>Energy consumption (battery life on portable devices)</li>
<li>Memory usage under sustained operation</li>
</ul>



<p class="wp-block-paragraph">Non-functional testing must be integrated into the regular build and release pipeline from the outset. Tracking performance indicators build-by-build helps teams catch gradual degradation early — before it compounds into a costly problem late in the release cycle. Fixing a significant performance regression discovered in a pre-release integration phase is far more expensive than catching it at the component level during development.</p>



<h2 class="wp-block-heading">Delivery Cadence: Multi-Speed Release Strategies</h2>



<p class="wp-block-paragraph">Not every component of an embedded system needs to — or can — be released at the same frequency. A pragmatic approach is to adopt parallel delivery cadences aligned to the characteristics of each layer:</p>



<ul class="wp-block-list">
<li><strong>Back-end services:</strong> These are typically decoupled from the hardware and can follow a full DevOps model with frequent, low-risk deployments.</li>
<li><strong>Application and UI layer:</strong> Depending on the update mechanism, these may support a relatively fast cadence — for example, monthly releases.</li>
<li><strong>Firmware and driver layer:</strong> These require the most rigorous testing and the longest validation cycles. A quarterly or release-driven cadence is more realistic for many teams.</li>
</ul>



<p class="wp-block-paragraph">The degree of decoupling between components directly determines how much release flexibility the team has. A tightly coupled system forces everything to move at the speed of the slowest and most risk-prone component. Investing in architectural decoupling is therefore not just a software design concern — it is a delivery strategy decision with direct impact on business agility.</p>



<h2 class="wp-block-heading">The Role of Test Automation and Exploratory Testing</h2>



<p class="wp-block-paragraph">Test automation is the foundation of any viable DevOps approach for embedded systems. Without it, the test coverage and execution speed required for frequent releases simply cannot be achieved. Automation should span both functional and non-functional testing at every layer of the system.</p>



<p class="wp-block-paragraph">However, automation alone is not sufficient. Exploratory testing by skilled testers who understand the domain remains essential for:</p>



<ul class="wp-block-list">
<li>Identifying gaps in the automated test suite.</li>
<li>Validating that automated tests are testing the right things.</li>
<li>Uncovering edge cases and interaction effects that structured test design does not anticipate.</li>
</ul>



<h2 class="wp-block-heading">Summary: Key Principles for Embedded DevOps</h2>



<p class="wp-block-paragraph">Applying DevOps and Agile principles to embedded testing is achievable, but it requires deliberate engineering choices at both the architecture and process levels. The key principles are:</p>



<ol class="wp-block-list">
<li><strong>Design for testability and loose coupling.</strong> Components that can be tested independently can also be released independently.</li>
<li><strong>Test at every layer.</strong> Use unit, component, and integration tests with clearly defined interfaces between layers.</li>
<li><strong>Invest in custom tooling where necessary.</strong> Accept that standard tools will not cover the full stack and allocate effort accordingly.</li>
<li><strong>Integrate non-functional testing into the pipeline from day one.</strong> Track performance, energy, and reliability metrics build by build.</li>
<li><strong>Adopt a multi-speed delivery cadence.</strong> Match release frequency to the risk and complexity profile of each system component.</li>
<li><strong>Combine automation with exploratory testing.</strong> Automation provides speed and consistency; exploratory testing provides insight and coverage quality.</li>
<li><strong>Collect field telemetry.</strong> Real-world data from deployed devices is invaluable for improving lab test coverage and reproducing hard-to-find defects.</li>
</ol>



<p class="wp-block-paragraph">The path to regular, predictable embedded software releases is demanding, but it is navigable. The investment in architecture, tooling, and process pays off in reduced integration risk, shorter release cycles, and better outcomes for end users.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/applying-devops-and-agile-to-embedded-testing/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Adopting Continuous Testing in DevOps and Agile Cultures</title>
		<link>https://www.bestdevops.com/adoption-of-continuous-testing-in-devops-and-agile-cultures/</link>
					<comments>https://www.bestdevops.com/adoption-of-continuous-testing-in-devops-and-agile-cultures/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 13 Apr 2018 04:42:51 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Continuous testing]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=3455</guid>

					<description><![CDATA[Continuous testing in DevOps and Agile environments demands more than tooling — it requires a cultural shift led by testers who champion communication, collaboration, and creativity across the entire organization.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article expands on themes originally discussed on TechTarget regarding continuous testing adoption in DevOps and Agile teams.</em></p>



<h2 class="wp-block-heading">Why Continuous Testing Requires a Cultural Shift</h2>



<p class="wp-block-paragraph">Tooling alone does not deliver continuous testing. Automated pipelines, test frameworks, and CI/CD platforms are enablers — but they only work when every team member genuinely owns quality. In DevOps and Agile environments, continuous testing is an organizational capability, not a department. That means the cultural foundation must be built before, or alongside, any technical implementation.</p>



<p class="wp-block-paragraph">Testers are uniquely positioned to lead this transformation. Their cross-functional visibility, familiarity with risk, and proximity to both development and business stakeholders make them natural champions of quality culture. The skills that matter most in this role are not purely technical — they are communication, collaboration, and creativity.</p>



<h2 class="wp-block-heading">Communication: The Foundation of Visible Quality</h2>



<p class="wp-block-paragraph">Poor communication is one of the most common reasons quality initiatives fail. DevOps and Agile both depend on rapid feedback loops, which only work when information flows clearly up, down, and across the organization. A requirement misunderstood at the beginning of a sprint can generate defects that cost significantly more to fix at the end of a release cycle.</p>



<p class="wp-block-paragraph">For testers, being communicative means more than filing detailed bug reports. It means:</p>



<ul class="wp-block-list">
<li><strong>Engaging stakeholders directly</strong> — not just through ticket systems or dashboards, but through real conversations that surface ambiguity early.</li>
<li><strong>Being visible in planning ceremonies</strong> — sprint planning, backlog refinement, and retrospectives are opportunities for testers to clarify acceptance criteria before code is written.</li>
<li><strong>Leading by example in meetings</strong> — minimizing device distractions and creating space for clear dialogue, particularly when working with offshore or distributed team members where nuance is easily lost.</li>
<li><strong>Translating technical quality signals into business language</strong> — a defect escape rate or test coverage percentage means little to a product owner; framing it as customer impact or release risk does.</li>
</ul>



<p class="wp-block-paragraph">The goal is for testers to become trusted communicators whose perspective is sought at every stage of delivery — not consulted only at the end when problems are already embedded in the build.</p>



<h2 class="wp-block-heading">Collaboration: Aligning Scope Across the Entire Team</h2>



<p class="wp-block-paragraph">Scope creep is a persistent challenge in iterative delivery. When different stakeholders carry different mental models of what a feature should do, requirements expand quietly until they derail sprint goals or release timelines. Testers are often the first to detect this misalignment — they see the gap between what was specified, what was built, and what the user actually needs.</p>



<p class="wp-block-paragraph">Effective collaboration means testers work across boundaries, not just within their own team. Practically, this looks like:</p>



<ul class="wp-block-list">
<li><strong>Participating in three amigos sessions</strong> — bringing the tester, developer, and product owner together to agree on acceptance criteria before implementation begins.</li>
<li><strong>Embedding testing perspectives in architecture and design reviews</strong> — identifying testability concerns early, such as missing observability hooks or tightly coupled components that make automated testing brittle.</li>
<li><strong>Building shared dashboards and transparent metrics</strong> — when everyone can see the same quality data in real time, it removes information silos and creates a shared sense of accountability.</li>
<li><strong>Connecting testing outcomes to business objectives</strong> — aligning test coverage priorities with the features or workflows that carry the most business risk.</li>
</ul>



<p class="wp-block-paragraph">Transparent metrics deserve particular attention. In a typical enterprise, test data is scattered across multiple tools — issue trackers, CI dashboards, test management platforms, and monitoring systems. Consolidating this data into a coherent view is technically difficult, but it pays dividends: teams that can see shared quality metrics tend to make better prioritization decisions and catch regression patterns earlier.</p>



<h2 class="wp-block-heading">Creativity: Solving Quality Problems Differently</h2>



<p class="wp-block-paragraph">Continuous testing in a fast-moving delivery pipeline constantly presents novel problems. Test suites that pass locally fail in production. Environments behave differently under load. New features interact unexpectedly with legacy code. Addressing these challenges requires creative thinking — the ability to approach a problem from a new angle when established methods are insufficient.</p>



<p class="wp-block-paragraph">Creative testers:</p>



<ul class="wp-block-list">
<li>Design test strategies that go beyond happy-path coverage to explore failure modes, edge cases, and security boundaries.</li>
<li>Experiment with new testing approaches — chaos engineering, property-based testing, contract testing for microservices — to address gaps that traditional test scripts miss.</li>
<li>Reframe quality conversations inside the team, shifting focus from &#8220;did the tests pass?&#8221; to &#8220;are we building the right thing, and will it hold up under real conditions?&#8221;</li>
<li>Propose process improvements in retrospectives rather than accepting inefficiencies as fixed constraints.</li>
</ul>



<h2 class="wp-block-heading">Practical Steps to Drive Continuous Testing Adoption</h2>



<p class="wp-block-paragraph">Cultural change is incremental. The following steps help testers build momentum for continuous testing without requiring a full organizational transformation before work begins:</p>



<ol class="wp-block-list">
<li><strong>Start with a single pipeline.</strong> Identify one delivery stream where you can introduce automated tests at every stage — unit, integration, and end-to-end — and make quality metrics visible to the whole team.</li>
<li><strong>Define quality gates collaboratively.</strong> Work with developers, product owners, and operations to agree on what &#8220;good enough to deploy&#8221; means. Encode those standards as automated checks in the pipeline.</li>
<li><strong>Run retrospectives with a quality lens.</strong> After each sprint or release, ask: where did quality issues first appear, and how could we have caught them earlier?</li>
<li><strong>Share test results broadly and accessibly.</strong> Avoid keeping test reports in specialist tools that only testers read. Publish summaries in team channels or dashboards that anyone can interpret.</li>
<li><strong>Celebrate quality improvements.</strong> Acknowledge when defect escape rates drop or when a new automated check catches a regression before it reaches staging. This reinforces that quality is a shared team achievement.</li>
</ol>



<h2 class="wp-block-heading">The Tester as a Quality Leader</h2>



<p class="wp-block-paragraph">The evolution of the tester role in DevOps is not about testers becoming developers or disappearing into a shared engineering pool. It is about testers expanding their influence — using their unique vantage point to build a quality-aware culture that makes continuous testing sustainable.</p>



<p class="wp-block-paragraph">Teams that achieve continuous testing at scale almost always have testers who lead through communication, foster genuine collaboration, and approach quality problems creatively. The technical infrastructure matters, but the human layer is what makes it work.</p>



<p class="wp-block-paragraph">If you are a tester looking to advance continuous testing in your organization, invest in your leadership skills as deliberately as you invest in your technical ones. The pipeline will not save you — but your ability to bring people together around quality will.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/adoption-of-continuous-testing-in-devops-and-agile-cultures/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Application Testing Is Making a Comeback for Agile and DevOps Teams</title>
		<link>https://www.bestdevops.com/application-testing-is-making-a-comeback-for-agile-devops-teams/</link>
					<comments>https://www.bestdevops.com/application-testing-is-making-a-comeback-for-agile-devops-teams/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 31 Mar 2018 05:07:39 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[agile developers]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=3407</guid>

					<description><![CDATA[After years of deprioritizing QA in fast-moving Agile and DevOps pipelines, enterprises are rediscovering the value of application testing—and investing in tools to back it up.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article draws on research originally reported by <a href="https://www.business2community.com" rel="noopener">business2community.com</a> and Aberdeen Group (circa early 2018). Specific statistics cited below originate from Aberdeen Group survey data referenced in that report.</em></p>



<h2 class="wp-block-heading">The Testing Debt That Agile Teams Have Been Accumulating</h2>



<p class="wp-block-paragraph">The promise of Agile and DevOps was speed: shorter release cycles, faster feedback loops, and continuous delivery. In practice, however, speed often came at the expense of rigor. Testing—functional, performance, and usability—was frequently treated as a bottleneck rather than a quality gate. The implicit assumption was that any bugs introduced today could simply be patched in next week&#8217;s release.</p>



<p class="wp-block-paragraph">That assumption turned out to be costly. Rather than shrinking the defect backlog, teams that skipped or minimized testing often found themselves pushing problems downstream, where they compounded into harder-to-diagnose regressions, degraded user experiences, and, ultimately, revenue and retention losses.</p>



<h2 class="wp-block-heading">Why Enterprises Are Reinvesting in Application Testing</h2>



<p class="wp-block-paragraph">According to Aberdeen Group research cited in early 2018, interest in application testing tools was experiencing a notable resurgence—particularly among established enterprises that had already completed their initial transition to DevOps and Agile methodologies. These organizations had moved fast, and were now recalibrating to move <em>well</em>.</p>



<p class="wp-block-paragraph">The Aberdeen data highlighted a clear hierarchy of interest across all companies surveyed:</p>



<ul class="wp-block-list">
<li><strong>Agile tools:</strong> top area of interest at approximately 29% of respondents</li>
<li><strong>Agile software development practices:</strong> cited by approximately 24%</li>
<li><strong>Software testing:</strong> cited by approximately 12% across the full sample</li>
</ul>



<p class="wp-block-paragraph">Those figures shift significantly when you isolate large enterprises. Among that cohort, interest in software testing roughly doubled—reaching approximately 27%. The interpretation is straightforward: larger organizations had already adopted Agile at scale and were now focused on the next maturity step—ensuring the quality of what they were shipping so quickly.</p>



<h2 class="wp-block-heading">What &#8220;Application Performance Leaders&#8221; Do Differently</h2>



<p class="wp-block-paragraph">Aberdeen&#8217;s broader performance management research found a consistent pattern among companies recognized as leaders in application performance: they invest in testing tools earlier in the development cycle, not as an afterthought at release time. Specifically, the emphasis was on testing during the <strong>development phase</strong> itself—shifting left in the pipeline to catch performance, usability, and functional issues before they reach staging or production.</p>



<p class="wp-block-paragraph">Key characteristics of high-performing teams in this context include:</p>



<ul class="wp-block-list">
<li><strong>Shift-left testing:</strong> Integrating automated tests at the unit, integration, and component level as part of the CI pipeline, not as a separate QA phase at the end.</li>
<li><strong>Performance testing in development:</strong> Running load and stress tests against feature branches before they merge, rather than discovering bottlenecks post-deployment.</li>
<li><strong>Usability and functional coverage:</strong> Treating usability testing as a measurable engineering concern, not purely a design concern.</li>
<li><strong>Tooling investment in emerging areas:</strong> Evaluating and adopting purpose-built testing tools for new delivery patterns—APIs, microservices, mobile, and cloud-native applications.</li>
</ul>



<h2 class="wp-block-heading">The Business Case for Testing in a DevOps Context</h2>



<p class="wp-block-paragraph">The return on investment for application testing in a DevOps pipeline is increasingly well-documented in industry research (though specific ROI figures vary widely by organization and should be validated against your own context). The general principle is that the cost of finding and fixing a defect rises sharply the later it is detected in the software delivery lifecycle. A bug caught in a unit test costs a fraction of what the same bug costs when discovered in production by end users.</p>



<p class="wp-block-paragraph">Beyond direct remediation costs, poorly performing or unreliable applications carry harder-to-quantify but significant costs:</p>



<ul class="wp-block-list">
<li><strong>Customer churn:</strong> Users who encounter broken features or slow load times frequently abandon applications and are difficult to re-engage.</li>
<li><strong>Brand and trust damage:</strong> High-profile outages or data-integrity issues driven by untested code paths can erode enterprise credibility.</li>
<li><strong>Developer overhead:</strong> Teams that skip testing often spend disproportionate time on emergency hotfixes and debugging production incidents rather than building new capabilities.</li>
</ul>



<h2 class="wp-block-heading">Practical Steps for Reintroducing Testing Discipline into Agile/DevOps Workflows</h2>



<p class="wp-block-paragraph">If your team has accumulated testing debt or never fully embedded QA into your CI/CD pipeline, the following steps provide a pragmatic starting point:</p>



<ol class="wp-block-list">
<li><strong>Audit your current pipeline.</strong> Identify where tests exist, where they are absent, and what categories of testing (unit, integration, end-to-end, performance, security) are covered versus missing.</li>
<li><strong>Prioritize high-risk code paths first.</strong> Rather than attempting 100% coverage overnight, focus initial testing investment on business-critical workflows—authentication, payment flows, data export, etc.</li>
<li><strong>Embed tests in your definition of done.</strong> Make test coverage a non-negotiable exit criterion for user stories and pull requests. Code that lacks associated tests should not merge to main.</li>
<li><strong>Automate performance baselines.</strong> Use tools such as k6, Gatling, or JMeter to establish performance benchmarks and run them on every significant release candidate.</li>
<li><strong>Track and report test health metrics.</strong> Flaky tests, declining code coverage trends, and test suite execution time are leading indicators of testing debt. Surface them in your team&#8217;s dashboards.</li>
<li><strong>Invest in team testing literacy.</strong> Developers who understand testing patterns (mocking, test doubles, contract testing for microservices) write more testable code from the start.</li>
</ol>



<h2 class="wp-block-heading">Testing as a Competitive Differentiator</h2>



<p class="wp-block-paragraph">The narrative that speed and quality are in fundamental tension is increasingly outdated. The most competitive engineering organizations understand that sustainable velocity depends on a reliable, well-tested codebase. Shipping faster with no testing creates an illusion of speed that collapses under the weight of production incidents and escalating technical debt.</p>



<p class="wp-block-paragraph">Application testing, embedded thoughtfully across the DevOps pipeline, is not a bureaucratic checkpoint. It is an engineering discipline that enables teams to move faster with greater confidence—and to meet the rising expectations users have for application reliability and performance.</p>



<p class="wp-block-paragraph">For Agile and DevOps teams looking to mature their practices, recommitting to application testing is not a step backward. It is the logical next step forward.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/application-testing-is-making-a-comeback-for-agile-devops-teams/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why Domain Experts Are Vital for DevOps Test Automation</title>
		<link>https://www.bestdevops.com/why-domain-experts-are-vital-for-devops-test-automation/</link>
					<comments>https://www.bestdevops.com/why-domain-experts-are-vital-for-devops-test-automation/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 21 Nov 2017 03:07:21 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[DevOps automation]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=2987</guid>

					<description><![CDATA[Test automation is powerful, but it has real limits. Learn why domain experts — including non-IT users who deeply understand business processes — are increasingly essential to effective DevOps testing strategies.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on themes originally published on TechTarget.</em></p>



<h2 class="wp-block-heading">The Overlooked Asset in Your Testing Strategy</h2>



<p class="wp-block-paragraph">At a DevOps test automation conference, a panelist posed a question to the audience: &#8220;How many of your companies have a shadow IT?&#8221; Only a few hands went up at first. But when he expanded the question — &#8220;How many of you have people outside of IT, in manufacturing, marketing, or accounting, who use your applications in unexpected ways, enter non-traditional data, or even write their own add-ons?&#8221; — nearly everyone raised a hand.</p>



<p class="wp-block-paragraph">His conclusion was direct: &#8220;You want to engage these people. They are the ones who can make your applications better. And you may even want to hire the best of them for your team.&#8221;</p>



<p class="wp-block-paragraph">This insight cuts to the heart of a growing tension in DevOps: the push toward full test automation versus the irreplaceable value of deep domain knowledge.</p>



<h2 class="wp-block-heading">The Promise — and the Limits — of Test Automation</h2>



<p class="wp-block-paragraph">Test automation emerged as a response to the pressure for faster, more consistent software delivery. The core idea is straightforward: record tests once, then replay them repeatedly during development and CI/CD pipelines with minimal human intervention. In theory, this produces faster feedback loops, higher test coverage, and more repeatable results.</p>



<p class="wp-block-paragraph">In practice, however, DevOps test automation carries significant limitations that are often underestimated:</p>



<ul class="wp-block-list">
<li><strong>Scarce scripting skills:</strong> Writing and maintaining automated test scripts demands expertise that is not widely available in the testing community. This problem is especially acute for specialized tools used with SaaS applications. Many teams struggle to find testers with proven automation skills.</li>
<li><strong>Brittle UI selectors:</strong> Automated tests typically identify UI elements — buttons, fields, labels — by attributes that change during development. When the UI evolves, scripts break and must be manually updated or re-recorded, creating ongoing maintenance overhead.</li>
<li><strong>Test design still requires humans:</strong> Before a test can be automated, it must be designed. Automation executes what humans specify; it cannot independently discover what needs to be tested.</li>
<li><strong>Incomplete coverage in practice:</strong> While automated smoke tests are essential for validating new builds, running the full test suite on every build is rarely practical. Many tests only need to run once or twice across a release cycle.</li>
<li><strong>Surface-level visibility:</strong> Most UI-focused automation tools operate at the presentation layer. They cannot easily reach into API integrations, unit-level behavior, or deeper application internals that are equally important to validate during deployment.</li>
<li><strong>False sense of security:</strong> Consistently green automation dashboards can be misleading. Automated test results reflect only what was scripted — they do not capture the full quality or production-readiness of a system. Without human review and exploratory testing, significant defects can go undetected.</li>
</ul>



<h2 class="wp-block-heading">Where Domain Experts Fill the Gap</h2>



<p class="wp-block-paragraph">Domain experts — people who deeply understand how an application is actually used in a business context — stress software in ways that professional testers and automation scripts rarely anticipate. A logistics analyst testing a supply chain application, or an accountant exercising an ERP module, will naturally exercise edge cases, data combinations, and workflows that would never appear in a scripted regression suite.</p>



<p class="wp-block-paragraph">This is not a new idea, but it is being rediscovered. As automation has become more prevalent, teams are finding that their scripted tests grow stale, their coverage gaps widen, and their defect escape rates tell a story that green dashboards do not. Domain experts provide the contextual judgment that no script can replicate.</p>



<p class="wp-block-paragraph">Key contributions domain experts bring to a DevOps testing practice include:</p>



<ul class="wp-block-list">
<li><strong>Realistic usage patterns:</strong> They use applications the way real users do, surfacing usability issues and business-logic defects that synthetic test data misses.</li>
<li><strong>Edge case identification:</strong> Years of experience with a business process gives them an intuitive grasp of unusual inputs, exception paths, and corner cases.</li>
<li><strong>Validation of business rules:</strong> They can verify whether the application&#8217;s behavior actually matches business requirements — something automation can only check if the assertion was explicitly programmed.</li>
<li><strong>Feedback on non-functional quality:</strong> Performance, clarity of error messages, workflow efficiency — these are qualities domain experts assess naturally during exploratory use.</li>
</ul>



<h2 class="wp-block-heading">Automation and Domain Expertise Are Complementary, Not Competing</h2>



<p class="wp-block-paragraph">None of this argues against automation. Automated tests are essential for regression coverage, rapid build validation, and creating a reliable safety net for continuous delivery. The problem is not automation itself — it is treating automation as a complete substitute for human judgment.</p>



<p class="wp-block-paragraph">The most effective DevOps testing strategies treat automation and domain expertise as complementary layers:</p>



<ul class="wp-block-list">
<li><strong>Automation handles repetition:</strong> Regression suites, smoke tests, and data-driven scenarios that need to run consistently across every build.</li>
<li><strong>Domain experts handle exploration:</strong> New features, complex business workflows, and any scenario where the expected correct behavior requires business context to evaluate.</li>
<li><strong>Domain experts inform automation:</strong> By observing how domain experts use and break an application, developers and testers can write smarter, more targeted automated test cases.</li>
</ul>



<h2 class="wp-block-heading">Practical Steps for DevOps Teams</h2>



<p class="wp-block-paragraph">If your team has been relying primarily on automation and is starting to see gaps in quality or unexpected production defects, consider the following actions:</p>



<ol class="wp-block-list">
<li><strong>Identify domain experts in your user base.</strong> Look for power users or &#8220;shadow IT&#8221; contributors in functional business units who already use the application in sophisticated ways.</li>
<li><strong>Involve them early in the development cycle.</strong> Domain expert feedback is most valuable during feature development, not just at release time.</li>
<li><strong>Create structured exploratory testing sessions.</strong> Give domain experts defined time and goals for exploratory testing, and establish a clear path for them to report findings.</li>
<li><strong>Use their findings to improve automation.</strong> Defects and edge cases discovered by domain experts are strong candidates for new automated regression tests.</li>
<li><strong>Consider hiring from within the business.</strong> A domain expert who is also technically curious can become one of the most valuable members of a QA team.</li>
</ol>



<h2 class="wp-block-heading">The Bottom Line</h2>



<p class="wp-block-paragraph">The narrative that automation would eventually replace human testers entirely has not held up. The scripting overhead is real, the maintenance burden is significant, and the coverage gaps are consequential. Meanwhile, domain experts — including people who have never held a formal testing title — offer a form of quality insight that no tool can replicate.</p>



<p class="wp-block-paragraph">Forward-thinking DevOps teams are not choosing between automation and domain expertise. They are building testing practices that leverage both — using automation to handle scale and repetition, and domain experts to apply the judgment, context, and creativity that software quality ultimately requires.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/why-domain-experts-are-vital-for-devops-test-automation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Is Quality Assurance Holding Back Your Agile Development Efforts?</title>
		<link>https://www.bestdevops.com/is-quality-assurance-holding-back-your-agile-development-efforts/</link>
					<comments>https://www.bestdevops.com/is-quality-assurance-holding-back-your-agile-development-efforts/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 29 Jun 2017 06:24:08 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[software updates]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1970</guid>

					<description><![CDATA[Traditional software testing methods can undermine the speed gains of agile development. Learn how shifting QA left and right, embracing continuous testing, and changing team culture can help organisations deliver quality software faster.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a webinar sponsored by CA Technologies and hosted by ITWC, featuring Jonathon Wright, Chief Technology Evangelist at CA Technologies, and Julie Gardiner, Director of Product Management at CA Technologies. Original coverage appeared on itworldcanada.com.</em></p>



<h2 class="wp-block-heading">The Speed vs. Quality Tension in Modern Software Delivery</h2>



<p class="wp-block-paragraph">Does your software testing process slow down your ability to release new applications quickly enough to meet market demand? For a significant proportion of organisations, the honest answer is yes. Despite widespread investment in agile methodologies and rapid development practices, traditional quality assurance (QA) approaches continue to act as a bottleneck — one that can quietly undo the speed gains teams work hard to achieve.</p>



<p class="wp-block-paragraph">According to Jonathon Wright, who spoke at an ITWC webinar, 94% of senior managers report increased pressure to release applications more quickly. Drivers include rising customer expectations, intensifying competitive threats, and the relentless pace of technology change. The implication is clear: the way organisations have historically approached QA is no longer fit for purpose in a world that demands continuous delivery.</p>



<h2 class="wp-block-heading">Why Traditional QA Creates Bottlenecks</h2>



<p class="wp-block-paragraph">In a conventional software development lifecycle, testing is treated as a phase that happens after development is complete. Teams write code, hand it over to QA, wait for results, fix defects, and then release. This sequential model made reasonable sense when release cycles were measured in quarters or years. It becomes a serious liability when business strategy demands weekly or even daily deployments.</p>



<p class="wp-block-paragraph">Wright noted that most large organisations still take around 18 months to respond meaningfully to marketplace changes. In an era of what he described as &#8220;massive digital disruption,&#8221; that lag is no longer acceptable. The cost is not just speed — it is relevance.</p>



<p class="wp-block-paragraph">The problem is compounded by user behaviour. Research cited in the webinar suggests that 79% of users will abandon a website or application if they cannot quickly find what they need. This means poor quality is not just a technical embarrassment — it has a direct and measurable impact on customer retention and revenue.</p>



<h2 class="wp-block-heading">The Real Obstacle Is Culture, Not Technology</h2>



<p class="wp-block-paragraph">One of the more counterintuitive insights from Wright&#8217;s presentation is that the primary barrier to better QA is not tooling or infrastructure — it is organisational culture. &#8220;It&#8217;s about getting ready for the change from a people, a mindset and a process perspective,&#8221; he said. &#8220;The practices and behaviours have to change.&#8221;</p>



<p class="wp-block-paragraph">This observation aligns with broader findings in the DevOps community. Technical improvements in automation, test frameworks, and CI/CD pipelines deliver far less value when teams still think of quality as someone else&#8217;s responsibility, or when QA remains siloed from development. Changing the tools without changing the culture tends to produce only incremental gains.</p>



<h2 class="wp-block-heading">Digital Assurance: A Framework for Faster, Higher-Quality Delivery</h2>



<p class="wp-block-paragraph">Wright proposed a modern approach to QA that he labelled <strong>digital assurance</strong>. Rather than treating testing as a discrete phase, digital assurance embeds quality thinking throughout the entire software development and delivery lifecycle. It rests on two complementary concepts: shifting left and shifting right.</p>



<h3 class="wp-block-heading">Shifting Left: Test Earlier</h3>



<p class="wp-block-paragraph">Shifting left means introducing testing activities much earlier in the development lifecycle — ideally at the requirements stage. Rather than waiting until code is written before thinking about test cases, teams write test cases at the same time requirements are defined. This approach offers several concrete benefits:</p>



<ul class="wp-block-list">
<li>Defects are caught earlier, when they are cheaper and faster to fix.</li>
<li>Requirements ambiguities surface before they are baked into code.</li>
<li>Developers gain a clearer, testable definition of &#8220;done&#8221; from the outset.</li>
<li>QA engineers become active participants in design and planning, not just validators at the end of the pipeline.</li>
</ul>



<p class="wp-block-paragraph">Shifting left also supports practices like test-driven development (TDD) and behaviour-driven development (BDD), where automated tests guide the writing of production code rather than following it.</p>



<h3 class="wp-block-heading">Shifting Right: Incorporate Real-World Feedback</h3>



<p class="wp-block-paragraph">Shifting right focuses on gathering feedback from actual users in production or near-production environments. Rather than relying solely on pre-release testing conducted in controlled conditions, organisations monitor real user behaviour, collect telemetry, and run experiments such as A/B tests or canary releases to validate assumptions about features.</p>



<p class="wp-block-paragraph">Understanding <em>why</em> a customer wants a particular feature — not just what they asked for — can make a significant difference to the quality and relevance of the result. Shifting right closes the feedback loop between delivery teams and the end users they serve.</p>



<h2 class="wp-block-heading">Continuous Testing: The Engine of Digital Assurance</h2>



<p class="wp-block-paragraph">Underpinning both shifts is the practice of <strong>continuous testing</strong> — automated test execution integrated directly into the CI/CD pipeline. Wright was direct on this point: &#8220;If you can&#8217;t do continuous testing, you&#8217;re going to get stuck.&#8221;</p>



<p class="wp-block-paragraph">Continuous testing means that every code commit triggers a suite of automated tests — unit, integration, performance, security — and results are available within minutes rather than days. Teams get fast feedback, failed builds are caught before they propagate downstream, and the overall quality of the codebase is maintained without manual gating.</p>



<p class="wp-block-paragraph">Implementing continuous testing effectively requires investment in:</p>



<ul class="wp-block-list">
<li><strong>Test automation frameworks</strong> that cover a meaningful proportion of the codebase.</li>
<li><strong>Service virtualisation</strong> to simulate dependencies that are unavailable or expensive to use in testing environments.</li>
<li><strong>Environment management</strong> to ensure tests run in consistent, reproducible conditions.</li>
<li><strong>CI/CD tooling</strong> that integrates test execution into every stage of the pipeline.</li>
</ul>



<h2 class="wp-block-heading">Real-World Results</h2>



<p class="wp-block-paragraph">Wright cited ING as an example of a large-scale organisation that adopted continuous release and continuous quality practices. According to the figures presented at the webinar, the bank achieved a 97% improvement in time to market for new applications and software updates — a dramatic illustration of what is possible when QA is integrated into, rather than appended to, the delivery process.</p>



<p class="wp-block-paragraph">Wright also pointed to CA Technologies itself as an example of the model in practice. The company moved from one major product release per year to shipping a new release every month after applying digital assurance principles internally.</p>



<p class="wp-block-paragraph">&#8220;When you build this into your process with DevOps and you change the culture, the processes and the tools, you can get incredible results,&#8221; said Julie Gardiner, Director of Product Management at CA Technologies. &#8220;You&#8217;ll wonder why you weren&#8217;t doing it ages ago.&#8221;</p>



<h2 class="wp-block-heading">Key Takeaways for Engineering Teams</h2>



<ul class="wp-block-list">
<li><strong>QA is a shared responsibility.</strong> Quality cannot be delegated to a separate team that operates at the end of the pipeline. Every member of a delivery team owns quality.</li>
<li><strong>Shift testing left.</strong> Write test cases when requirements are defined, not after code is complete.</li>
<li><strong>Shift feedback right.</strong> Use production monitoring and real user data to validate assumptions and guide improvements.</li>
<li><strong>Automate continuously.</strong> Integrate automated tests into every CI/CD pipeline stage. Manual-only testing cannot scale to the cadence modern delivery demands.</li>
<li><strong>Address culture first.</strong> Technology investments will underdeliver unless teams adopt a quality-first mindset and break down silos between development and QA.</li>
</ul>



<p class="wp-block-paragraph">The gap between the speed that agile promises and the speed that traditional QA allows is a solvable problem — but solving it requires more than purchasing new tools. It requires a deliberate change in how teams think about quality and where in the lifecycle they choose to invest in it.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/is-quality-assurance-holding-back-your-agile-development-efforts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DevOps Survey Findings: Automation Pressure, Tooling Trends, and Persistent Confusion</title>
		<link>https://www.bestdevops.com/a-new-devops-survey-underscores-demand-for-automation/</link>
					<comments>https://www.bestdevops.com/a-new-devops-survey-underscores-demand-for-automation/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 28 Jun 2017 06:31:51 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Updates]]></category>
		<category><![CDATA[app dev]]></category>
		<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[DevOps survey]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1967</guid>

					<description><![CDATA[A LogiGear DevOps survey reveals that 60% of practitioners feel strong pressure to automate, while many teams still struggle to define what DevOps actually means. Here's what the data shows.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article summarizes findings originally reported on <strong>searchsoftwarequality.techtarget.com</strong>, based on a DevOps survey published by LogiGear Corp. in mid-2017. Supporting data on tooling popularity comes from StackShare and Packt&#8217;s annual Skill Up survey (also 2017).</em></p>



<h2 class="wp-block-heading">The Core Problem: DevOps Still Means Different Things to Different People</h2>



<p class="wp-block-paragraph">Software testing toolmaker LogiGear Corp. released a DevOps survey in mid-2017, and one respondent&#8217;s comment cut to the heart of a persistent industry problem:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Agile and Scrum were concrete processes that led to tangible and positive results in the workplace. On the other hand, I have yet to understand the term <em>DevOps</em>, except as a meaningless buzzword that has had zero effect on our work processes.&#8221;</p></blockquote>



<p class="wp-block-paragraph">This sentiment reflects a genuine challenge: unlike Scrum, which ships with defined roles, ceremonies, and artifacts, DevOps resists a single prescriptive definition. It encompasses culture, tooling, automation practices, and organizational structure — making it harder to adopt in a consistent, measurable way.</p>



<h2 class="wp-block-heading">Key Survey Findings: Automation Is the Central Pressure Point</h2>



<p class="wp-block-paragraph">Among teams already operating in a DevOps environment, the survey surfaced several clear trends:</p>



<ul class="wp-block-list">
<li><strong>60%</strong> of DevOps practitioners reported feeling significant pressure to automate more of their pipeline.</li>
<li><strong>Nearly 50%</strong> flagged environment or test data problems as a major ongoing challenge.</li>
<li><strong>60%</strong> said they were running more tests since adopting DevOps practices.</li>
<li><strong>32%</strong> said they were running <em>many</em> more tests than before.</li>
</ul>



<p class="wp-block-paragraph">The increased volume of testing is a natural consequence of shifting left and integrating continuous integration (CI) pipelines — more frequent code commits trigger more automated test runs. But the data also makes it clear that the infrastructure and data management side of testing hasn&#8217;t kept pace: environment instability and test data availability remain friction points that automation alone does not solve.</p>



<h2 class="wp-block-heading">Non-DevOps Teams: A Different Baseline</h2>



<p class="wp-block-paragraph">For teams not yet attempting DevOps, the picture was notably different:</p>



<ul class="wp-block-list">
<li>Only <strong>46%</strong> felt strong pressure to automate — a meaningful gap compared to their DevOps counterparts.</li>
<li>Just <strong>one-third</strong> reported that their existing Agile and Scrum practices were in good shape.</li>
</ul>



<p class="wp-block-paragraph">This suggests that the pressure to automate isn&#8217;t simply an industry-wide trend — it&#8217;s amplified by the continuous delivery demands that DevOps adoption brings. Teams that haven&#8217;t made the shift yet are under less pressure, but may also have less visibility into quality problems that faster release cycles would expose.</p>



<h2 class="wp-block-heading">A Positive Signal: Ops and Test Teams Are Collaborating More</h2>



<p class="wp-block-paragraph">Not all findings pointed to friction. The survey included some encouraging data on cross-functional collaboration — historically one of the weakest areas in software delivery:</p>



<ul class="wp-block-list">
<li><strong>25%</strong> said their ops teams were very helpful when it came to running tests or supporting testers directly.</li>
<li><strong>37%</strong> said ops teams regularly helped create and maintain stable test environments.</li>
</ul>



<p class="wp-block-paragraph">While these numbers show there is still significant room for improvement, they do indicate that the cultural shift DevOps requires — breaking down the wall between development, QA, and operations — is happening in a meaningful subset of organizations.</p>



<h2 class="wp-block-heading">Popular App Hosting Tools in 2017: What StackShare&#8217;s Data Showed</h2>



<p class="wp-block-paragraph">Alongside the DevOps survey findings, StackShare&#8217;s real-time tooling index (as of June 2017) gave a snapshot of which application hosting tools were most widely adopted and most in-demand by employers.</p>



<h3 class="wp-block-heading">Most Used (by Stack Count)</h3>



<ol class="wp-block-list">
<li>NGINX — appeared in 11,200 stacks</li>
<li>Apache HTTP Server</li>
<li>Amazon EC2</li>
<li>Heroku</li>
<li>Microsoft IIS</li>
<li>DigitalOcean</li>
<li>Socket.io</li>
<li>Firebase</li>
<li>Apache Tomcat</li>
<li>Google App Engine</li>
</ol>



<h3 class="wp-block-heading">Most In-Demand by Employers (by Job Posting Count)</h3>



<ol class="wp-block-list">
<li>Amazon EC2 — approximately 2,790 job postings</li>
<li>NGINX</li>
<li>Microsoft Azure</li>
<li>Apache Tomcat</li>
<li>Heroku</li>
</ol>



<p class="wp-block-paragraph">The divergence between popularity in the developer community and employer demand is worth noting. EC2 topped the jobs list despite ranking third in stack count, reflecting the weight that enterprise cloud infrastructure carries in the hiring market. Azure&#8217;s jump into the employer top five — despite not appearing in the community top ten — points to the growing enterprise adoption of Microsoft&#8217;s cloud platform at that time.</p>



<h2 class="wp-block-heading">Skills Developers Wanted to Learn: Docker Led the Way</h2>



<p class="wp-block-paragraph">Packt&#8217;s third annual Skill Up survey, which polled approximately 5,000 developers and tech professionals worldwide, shed light on career trajectories and learning priorities.</p>



<p class="wp-block-paragraph">On compensation, C-level executives and CIOs ranked highest, while roles such as big data engineer, security engineer, and information architect earned above-average salaries. Geographically, US-based respondents reported the highest average salaries; South and Southeast Asia reported the lowest. Game, web, and mobile developers, along with technical support staff, ranked at the lower end of the pay scale.</p>



<p class="wp-block-paragraph">The most revealing data point, however, was which technologies developers most wanted to learn:</p>



<ol class="wp-block-list">
<li><strong>Docker</strong> — container technology; the clear top priority</li>
<li><strong>Python</strong> — general-purpose and scripting language</li>
<li><strong>Angular</strong> — front-end JavaScript framework</li>
<li><strong>Visual Studio</strong> — Microsoft&#8217;s integrated development environment</li>
<li><strong>Jenkins</strong> — open-source automation and CI/CD server</li>
</ol>



<p class="wp-block-paragraph">Docker&#8217;s position at the top of this list — ahead of programming languages and IDEs — underscores just how central containerization had become to the DevOps conversation by mid-2017. Jenkins&#8217; presence on the list is directly tied to the automation pressure highlighted in the LogiGear survey: teams adopting DevOps needed CI/CD tooling, and Jenkins was the dominant open-source option at the time.</p>



<h2 class="wp-block-heading">What This Means for DevOps Teams</h2>



<p class="wp-block-paragraph">Taken together, these survey results paint a coherent picture of the DevOps landscape in 2017:</p>



<ul class="wp-block-list">
<li><strong>Automation demand is real and growing</strong>, but it is not evenly distributed — teams actively practicing DevOps feel the pressure most acutely.</li>
<li><strong>Tooling clarity matters</strong>: the gap between what developers use and what employers pay for highlights the importance of understanding enterprise priorities, not just community trends.</li>
<li><strong>Definitional confusion slows adoption</strong>: organizations that can&#8217;t clearly articulate what DevOps means for their context will struggle to implement it meaningfully.</li>
<li><strong>Test environments and data management</strong> are underappreciated bottlenecks — automation pipelines break down when the environments they run against are unstable or poorly maintained.</li>
<li><strong>Cross-functional collaboration</strong> between ops and QA is improving, but remains far from universal.</li>
</ul>



<p class="wp-block-paragraph">While this data is from 2017, many of these challenges — automation pressure, tooling fragmentation, and cultural resistance — remain recognizable to DevOps practitioners today.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/a-new-devops-survey-underscores-demand-for-automation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>QA in the DevOps Era: Why Change Is the Focus</title>
		<link>https://www.bestdevops.com/change-is-the-focus-qa-in-the-devops-era/</link>
					<comments>https://www.bestdevops.com/change-is-the-focus-qa-in-the-devops-era/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 08 Apr 2017 16:19:59 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Process]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Continuous testing]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Testing Automation]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1188</guid>

					<description><![CDATA[Agile and DevOps compress release cycles and make software change constant. Here is why traditional QA approaches struggle to keep up — and what a change-driven testing strategy looks like.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on material originally published by Capgemini. The QTRON tool described below is a Capgemini product; independent benchmarks have not been reviewed.</em></p>



<h2 class="wp-block-heading">The Fast, Good, Cheap Problem in Modern Software Delivery</h2>



<p class="wp-block-paragraph">There is a well-worn business adage: <em>Fast, Good, Cheap — pick any two.</em> For decades, software teams accepted that constraint as unavoidable. Agile and DevOps challenge that assumption by compressing development cycles, promoting continuous integration, and pushing for more frequent releases. The result is continually changing software — which, in turn, creates unique and pressing challenges for quality assurance.</p>



<p class="wp-block-paragraph">When software changes every sprint — or every day — the QA practices designed for quarterly waterfall releases begin to break down. Regression suites balloon, test selection becomes guesswork, and the cost of quality creeps back up even as release velocity rises. Understanding exactly where those breakdowns occur is the first step toward fixing them.</p>



<h2 class="wp-block-heading">Four Key QA Challenges in a DevOps Environment</h2>



<h3 class="wp-block-heading">1. Regression Testing for Incremental Releases</h3>



<p class="wp-block-paragraph">In traditional release cycles the ratio of development effort to regression testing effort was roughly manageable — the code surface changed slowly. In a DevOps pipeline, small, incremental code changes land continuously, and the regression suite must respond to each one. Selecting the right subset of test cases for a specific code delta is difficult: teams typically fall back on human judgment, informal guidelines, or — worse — running every test every time. Running the full suite for every micro-change is time-consuming and often non-productive; selecting an arbitrary subset risks missing real regressions.</p>



<h3 class="wp-block-heading">2. Broken Code Slipping Through During Development</h3>



<p class="wp-block-paragraph">Developers are rightly focused on the module in front of them. What they often lack is visibility into the broader impact their changes have on the rest of the product. Without a mechanism that maps code changes to the test cases that cover those lines, developers cannot easily know which additional tests to run before committing. Incomplete unit-test coverage compounds the problem: defects that should be caught pre-commit instead land in the regression queue, slowing down the entire pipeline.</p>



<h3 class="wp-block-heading">3. Inadequate Shift-Left Testing</h3>



<p class="wp-block-paragraph">Agile and DevOps both advocate <em>shift-left</em> testing — finding defects earlier in the lifecycle when they are cheaper to fix. In practice, tight sprint timelines and delivery pressure often force test teams to compress their work at the end of an iteration rather than embed quality activities throughout. Shift-left aspirations clash with schedule reality, and quality optimization loses the argument.</p>



<h3 class="wp-block-heading">4. Lack of Test Effectiveness Assessment</h3>



<p class="wp-block-paragraph">Large codebases accumulate test assets across multiple frameworks, languages, and teams. Assessing whether those tests are actually effective — measuring lines of code exercised, errors detected, redundant cases, and coverage gaps — is nearly impossible without dedicated tooling. Without that assessment, teams have no reliable way to know whether their test suite is protecting them or just consuming CI capacity.</p>



<h2 class="wp-block-heading">Why Best Practices Alone Are Not Enough</h2>



<p class="wp-block-paragraph">Testing methodologies and maturity models exist to help teams navigate these problems. They provide intellectual frameworks: risk-based testing, exploratory testing, test coverage metrics, and so on. But applying these frameworks at the speed of a DevOps pipeline requires human judgment at a cadence that humans cannot sustain reliably. The natural response is to automate not just test <em>execution</em> but test <em>selection</em> — and that requires software intelligence, not just guidelines.</p>



<p class="wp-block-paragraph">The question becomes: can an algorithm make smarter decisions about which tests to run based on what actually changed in the code?</p>



<h2 class="wp-block-heading">Change-Driven Test Selection: The Core Idea</h2>



<p class="wp-block-paragraph">The principle behind change-driven (or <em>change-impact</em>) test selection is straightforward:</p>



<ul class="wp-block-list">
<li>Parse code coverage data to build a map from individual lines of code to the test cases that exercise them.</li>
<li>When a developer commits a change, identify precisely which lines were modified.</li>
<li>Use the map to select only the test cases relevant to those lines.</li>
<li>Factor in a measure of test-case <em>effectiveness</em> — how reliably each test case has detected defects historically — to further prioritize the selection.</li>
</ul>



<p class="wp-block-paragraph">This approach replaces seat-of-the-pants test selection with a repeatable, algorithmic one. The benefits compound over time: as the coverage map grows more complete, the selections become more accurate, and the feedback loop between code change and quality signal shortens.</p>



<h3 class="wp-block-heading">Three Architectural Pillars</h3>



<ol class="wp-block-list">
<li><strong>High automation percentage</strong> — The approach only works when a large proportion of the test suite is automated, giving the selection engine a meaningful pool to draw from.</li>
<li><strong>Granular code coverage</strong> — Coverage must be tracked at the line or branch level, not just the file or module level, so that fine-grained code changes map to fine-grained test selections.</li>
<li><strong>Repeatable line-to-test mapping</strong> — The mapping must be rebuilt deterministically on each CI run so that it reflects the current state of both the code and the tests.</li>
</ol>



<h2 class="wp-block-heading">Capgemini QTRON: A Reference Implementation</h2>



<p class="wp-block-paragraph">Capgemini developed a tool called <strong>QTRON</strong> that implements the change-driven test selection model described above. It is cited here as a concrete example of how these concepts can be operationalized; other commercial and open-source tools address parts of the same problem space.</p>



<p class="wp-block-paragraph">QTRON is designed to serve three audiences:</p>



<ul class="wp-block-list">
<li><strong>Developers</strong> — receive guidance on which tests to run locally before committing, surfacing defects earlier in the cycle.</li>
<li><strong>Quality engineers</strong> — are advised which test scenarios are relevant to a specific code change, reducing unnecessary test execution.</li>
<li><strong>Management teams</strong> — gain dashboards showing test effectiveness, coverage gaps, and the estimated testing effort associated with a given set of changes.</li>
</ul>



<p class="wp-block-paragraph">The engine initializes by parsing code coverage output to create and maintain the test-case-to-lines-of-code mapping. A proprietary algorithm scores test case effectiveness. A plugin-based architecture allows integration with bug-tracking systems, source control management, code coverage tools, test management frameworks, and CI pipelines.</p>



<figure class="wp-block-image"><img decoding="async" src="https://www.capgemini.com/sites/default/files/en/2017/04/qtron.png" alt="QTRON high-level solution block diagram showing the engine, plugin integrations, and user interface layers" /><figcaption>Figure 1 — QTRON High-Level Solution Block Diagram (source: Capgemini)</figcaption></figure>



<h2 class="wp-block-heading">DevOps Takes Center Stage</h2>



<p class="wp-block-paragraph">DevOps deliberately blurs the boundary between development and QA. Developers own more of the quality signal; QA engineers move earlier in the pipeline. That cultural shift is healthy, but it widens an existing gap: traditional test management practices were not designed for a world where code changes dozens of times a day. Without a mechanism to correlate code changes to relevant tests algorithmically, teams face an unpleasant choice between running too many tests (slow, expensive) and running too few (risky).</p>



<p class="wp-block-paragraph">Change-driven test selection addresses that gap directly. Whether implemented through a commercial tool like QTRON, an open-source change-impact analysis library, or a bespoke CI script, the underlying principle is the same: <strong>let the code change tell you which tests to run.</strong> The result is a quality verification process that accelerates with the pipeline rather than fighting it.</p>



<h2 class="wp-block-heading">Key Takeaways</h2>



<ul class="wp-block-list">
<li>Agile and DevOps create continuous code change, which makes traditional regression test selection unreliable and inefficient.</li>
<li>The four main QA pain points in DevOps are: poor regression subset selection, developer blind spots on cross-module impact, inadequate shift-left adoption, and inability to assess test suite effectiveness.</li>
<li>Change-driven test selection — mapping lines of code to test cases and selecting tests based on what changed — is the most direct solution to these problems.</li>
<li>This approach requires high test automation coverage and granular code coverage instrumentation to work effectively.</li>
<li>Both commercial tools (such as Capgemini QTRON) and open-source ecosystems offer mechanisms to implement this pattern in a CI/CD pipeline.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/change-is-the-focus-qa-in-the-devops-era/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why We Always Start With Continuous Integration and Continuous Delivery</title>
		<link>https://www.bestdevops.com/why-we-always-start-with-continuous-integration-and-continuous-delivery/</link>
					<comments>https://www.bestdevops.com/why-we-always-start-with-continuous-integration-and-continuous-delivery/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 07 Apr 2017 10:15:22 +0000</pubDate>
				<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Process]]></category>
		<category><![CDATA[(CI/CD)]]></category>
		<category><![CDATA[CD]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[Continuous testing]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1177</guid>

					<description><![CDATA[CI/CD isn't just a nice-to-have pipeline feature — it's the foundation of a healthy engineering culture. Here's why experienced DevOps teams insist on establishing Continuous Integration and Continuous Delivery from day one of every project.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on practical experience from software development teams and reflects common CI/CD adoption patterns in the industry. Original source attribution: 126kr.com / TailorDev.</em></p>



<h2 class="wp-block-heading">Testing Is No Longer Optional</h2>



<p class="wp-block-paragraph">Not long ago, development teams had to actively argue that software testing was a core part of building software — not a budget-dependent luxury. That battle is largely won. Today it is widely accepted that shipping an application or a feature means delivering code, tests, and documentation together as a single unit.</p>



<p class="wp-block-paragraph">Open Source projects have operated this way for decades. Platforms like GitHub have generalised those good practices across the broader industry, and hosted CI services such as Travis CI and CircleCI made automated testing more accessible by providing tight version-control integrations that developers could enable with minimal configuration.</p>



<h2 class="wp-block-heading">What Continuous Integration Actually Means</h2>



<p class="wp-block-paragraph"><strong>Continuous Integration (CI)</strong> is the practice of using a build server to automatically:</p>



<ol class="wp-block-list">
<li>Build the software from its source code.</li>
<li>Run the full test suite.</li>
<li>Report the results back to the development team.</li>
</ol>



<p class="wp-block-paragraph">By connecting a CI service to a repository hosted on GitHub or GitLab (which includes built-in CI), developers get near-instant feedback on the health of the codebase. This feedback loop is primarily aimed at developers: it tells them whether their changes can be safely integrated with the current stable version of the software, typically indicated by a green (passing) or red (failing) build status.</p>



<p class="wp-block-paragraph">In its strictest definition, CI requires developers to push changes to the mainline branch at least once per day, minimising long-running divergent work. In practice, most teams — including the team behind this article — use <strong>feature branches</strong> and merge them when the build is green rather than on a strict daily schedule.</p>



<h2 class="wp-block-heading">Feature Branches and the Pull Request Workflow</h2>



<p class="wp-block-paragraph">Feature branches became standard with the rise of Distributed Version Control Systems (DVCS) like Git, and both GitHub and GitLab are built around them. A feature branch is a short-lived branch that encapsulates a single change — a bug fix, a new feature, or a refactor — keeping the mainline stable.</p>



<p class="wp-block-paragraph">The typical workflow looks like this:</p>



<ol class="wp-block-list">
<li>Create a new branch from the latest state of the mainline.</li>
<li>Develop and commit incrementally.</li>
<li>Push the branch to the shared remote repository.</li>
<li>Open a Pull Request (GitHub) or Merge Request (GitLab).</li>
<li>The CI server runs the build and test suite, updating the branch status.</li>
<li>Once the build is green and conflicts are resolved, merge into the mainline.</li>
</ol>



<p class="wp-block-paragraph">GitHub and GitLab both surface conflict detection and build status directly in the Pull Request / Merge Request UI, making it easy for the whole team to assess readiness at a glance. Many teams use a simple Git branching model that treats <code>master</code> (or <code>main</code>) as the mainline and uses <code>rebase</code> to keep history clean and avoid unnecessary merge commits.</p>



<h2 class="wp-block-heading">Organisational Benefits: Ownership and Code Review</h2>



<p class="wp-block-paragraph">Adopting CI with a feature-branch workflow naturally introduces useful team conventions:</p>



<ul class="wp-block-list">
<li><strong>Branch ownership:</strong> The developer who opens a feature branch is responsible for it until it is merged. This prevents orphaned branches and unclear accountability.</li>
<li><strong>Code review:</strong> Pull Requests and Merge Requests make peer review a natural part of the workflow. Both GitHub and GitLab provide inline commenting tools that make code review efficient.</li>
<li><strong>Build health accountability:</strong> The developer who breaks the build is responsible for fixing it. This simple rule removes ambiguity and encourages everyone to keep the mainline green.</li>
</ul>



<p class="wp-block-paragraph">The result is a mainline branch that can reasonably be treated as the current stable version of the software — buildable and deployable at any time.</p>



<h2 class="wp-block-heading">From CI to Continuous Delivery and Continuous Deployment</h2>



<p class="wp-block-paragraph">A stable, always-deployable mainline is the prerequisite for the next step: <strong>Continuous Delivery (CD)</strong>.</p>



<p class="wp-block-paragraph">Continuous Delivery means having the methods, tooling, and processes in place to release software to production at any time — safely, repeatably, and with confidence. It does not mean every commit goes to production automatically; it means every commit <em>could</em>.</p>



<p class="wp-block-paragraph"><strong>Continuous Deployment</strong> goes one step further: every change that passes the pipeline is deployed to production automatically, without manual intervention. It is an extension of Continuous Delivery, not a replacement for it.</p>



<p class="wp-block-paragraph">The key relationship: <strong>you cannot achieve reliable Continuous Delivery without Continuous Integration</strong>. CI is the foundation on which CD is built.</p>



<h2 class="wp-block-heading">The Continuous Delivery Feedback Loop</h2>



<p class="wp-block-paragraph">While the CI feedback loop is primarily developer-facing, Continuous Delivery extends the feedback loop to multiple stakeholders:</p>



<ul class="wp-block-list">
<li><strong>Developers</strong> learn whether a change behaves as expected in a production-like environment.</li>
<li><strong>Operations teams</strong> get confirmation that the software deploys correctly and that infrastructure is not overloaded.</li>
<li><strong>Business stakeholders</strong> can ship features to users more frequently, shortening the distance between idea and value.</li>
<li><strong>End users</strong> benefit from more frequent, smaller, lower-risk updates.</li>
</ul>



<p class="wp-block-paragraph">This multi-stakeholder feedback loop is closely connected to the broader <strong>DevOps</strong> cultural movement, which emphasises collaboration between development, operations, and quality assurance functions.</p>



<h2 class="wp-block-heading">Practical CI/CD Setup: Environments and Deployment Scripts</h2>



<p class="wp-block-paragraph">In practice, teams implementing CD typically maintain multiple deployment environments:</p>



<ul class="wp-block-list">
<li><strong>Development (dev):</strong> Updated automatically on every merge to the mainline. Used for integration testing.</li>
<li><strong>Staging:</strong> A production-like environment used for pre-release verification with customers or stakeholders.</li>
<li><strong>Production:</strong> The live environment, deployed manually (Continuous Delivery) or automatically (Continuous Deployment) depending on team policy.</li>
</ul>



<p class="wp-block-paragraph">Deployment scripts should be kept as simple as possible. A shell script that describes exactly the commands needed to build and deploy the software becomes the single source of truth for the deployment process. That process should also be documented in a <code>README</code> so any team member can understand it without tribal knowledge.</p>



<p class="wp-block-paragraph">GitLab CI/CD pipelines can expose manual deploy buttons directly in the GitLab UI, allowing any authorised team member to trigger a deployment to a specific environment without SSH access or specialist knowledge. GitHub offers similar capabilities through its Deployments API and integrations with chat-ops tools.</p>



<h2 class="wp-block-heading">Four Concrete Benefits of This Approach</h2>



<ol class="wp-block-list">
<li><strong>Automated, reproducible, documented deployments:</strong> The deployment script is the definitive record of how the software is built and shipped. There is no undocumented manual step hiding in someone&#8217;s head.</li>
<li><strong>Anyone can deploy at any time:</strong> When deployments are automated and exposed through a UI or chat-ops command, deploying is no longer a specialist task. This reduces bottlenecks and single points of failure.</li>
<li><strong>Smaller, more frequent releases:</strong> Shipping smaller chunks of work more often reduces risk. Each release is easier to reason about, easier to test, and easier to roll back if needed. As Eric S. Raymond put it: release early, release often.</li>
<li><strong>Faster bug resolution:</strong> Automated tests catch many issues, but real production data surfaces edge cases that tests miss. Frequent deployments mean bugs introduced in production are identified and fixed quickly, because the delta between releases is small. As Edsger Dijkstra observed, testing reveals the presence of bugs, not their absence — so fast feedback from production is invaluable.</li>
</ol>



<h2 class="wp-block-heading">Why Start Every Project With CI/CD?</h2>



<p class="wp-block-paragraph">Setting up CI/CD at the start of a project — rather than retrofitting it later — has compounding benefits:</p>



<ul class="wp-block-list">
<li><strong>Quality controls are automated from day one.</strong> The team can focus on building value rather than manually verifying that nothing is broken.</li>
<li><strong>Standards are established early.</strong> Feature branches, code reviews, and green-build policies become habits before bad practices take root.</li>
<li><strong>The project remains accessible to new contributors.</strong> Documented, automated pipelines mean a new developer can get productive quickly without needing a lengthy onboarding session from a senior engineer.</li>
<li><strong>Handoffs are cleaner.</strong> When a consulting team or contractor finishes an engagement, a project with working CI/CD and clear deployment scripts is far easier for the client team to take ownership of than one with undocumented manual processes.</li>
</ul>



<p class="wp-block-paragraph">The upfront investment — typically a few days to configure pipelines, write deployment scripts, and set up environments — pays dividends throughout the life of the project. It is one of the highest-return early decisions a development team can make.</p>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">Continuous Integration ensures every code change is automatically built and tested, giving developers fast feedback and keeping the mainline stable. Continuous Delivery extends that stability into a reliable, repeatable release process that every stakeholder benefits from. Together, they form the backbone of a healthy engineering culture — reducing risk, improving collaboration, and allowing teams to focus on delivering value rather than managing chaos. Starting with CI/CD is not perfectionism; it is pragmatism.</p>



<p class="wp-block-paragraph"><strong>Further reading:</strong> <a href="http://www.scmgalaxy.com/courses/agenda/devops/continuous-integration-training.html">Continuous Integration training resources</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/why-we-always-start-with-continuous-integration-and-continuous-delivery/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Has DevOps Changed the Role of a Tester?</title>
		<link>https://www.bestdevops.com/has-devops-changed-the-role-of-a-tester/</link>
					<comments>https://www.bestdevops.com/has-devops-changed-the-role-of-a-tester/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 01 Apr 2017 07:01:57 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Process]]></category>
		<category><![CDATA[DevOps Tools]]></category>
		<category><![CDATA[Test Driven DevOps]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1106</guid>

					<description><![CDATA[DevOps has expanded what "code" means in a software project. Infrastructure, configuration, monitoring scripts, and CI/CD pipelines are all code now — so why are testers still only focused on the application layer?]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Original article source: <a href="https://hackernoon.com" rel="noopener">hackernoon.com</a></em></p>



<h2 class="wp-block-heading">The &#8220;Everything-as-Code&#8221; Problem</h2>



<p class="wp-block-paragraph">DevOps, at its core, is about replacing manual, undocumented, person-dependent processes with automation. The out-of-date Wiki page that nobody maintains, the one engineer who knows how to configure the servers, the DBA you have to call every time a migration goes wrong — DevOps replaces all of that with repeatable, version-controlled code.</p>



<p class="wp-block-paragraph">The result is a world of <strong>everything-as-code</strong>: infrastructure-as-code, networking-as-code, database migrations as code. Tools like Terraform, Ansible, Chef, Puppet, and SaltStack have made this possible at scale. But this shift raises an uncomfortable question for testing teams: <em>whose responsibility is it to test all of this new code?</em></p>



<p class="wp-block-paragraph">Most testing teams are still scoped to the core application. They validate that features work to specification and that regressions haven&#8217;t crept in. But the automation pipeline that builds, configures, deploys, and monitors that application? That is largely untested — or tested informally, at best.</p>



<h2 class="wp-block-heading">Which Code Are We Actually Testing?</h2>



<p class="wp-block-paragraph">DevOps has materially increased the <strong>volume, complexity, and variety</strong> of code that a team produces. Consider a team building C# microservices and using Chef for configuration management of their environments. Chef cookbooks that go beyond simple out-of-the-box functionality require Ruby extensions. The result: Ruby can easily become the second-largest language in a GitHub organisation, even on a predominantly .NET team.</p>



<p class="wp-block-paragraph">The same pattern applies to Puppet, Ansible, and SaltStack — extend them to fit your environment and you are writing Python or Ruby. These custom libraries are commonly pushed into production with no test coverage whatsoever. They are not considered &#8220;the application&#8221;, so they do not make it into the test plan.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://cdn-images-1.medium.com/max/800/1*_PNnjslHJgNsh3j3s1Doqg.png" alt="Diagram illustrating the range of code types in a DevOps pipeline beyond the core application" /></figure>



<h2 class="wp-block-heading">Stage by Stage: The Pipeline Testing Gap</h2>



<p class="wp-block-paragraph">A typical DevOps pipeline — whether modelled on IBM&#8217;s reference architecture or any other — involves multiple environments: development, staging, and production. The argument for having a separate staging environment is to catch issues before they reach users. But if every environment is software-defined, built from the same tested Infrastructure-as-Code, the value proposition for long-running staging environments weakens.</p>



<p class="wp-block-paragraph">Cloud infrastructure can be provisioned in seconds. Ephemeral, per-build environments give you a clean, known configuration every time — eliminating the &#8220;it works on my environment&#8221; problem. CI/CD pipelines make this achievable for build and unit-test stages. The problem is what happens next: the artefact gets handed to a testing team that may operate on a completely different cadence, working against a long-lived environment that has accumulated undocumented changes.</p>



<p class="wp-block-paragraph">One of the most common and dangerous anti-patterns in DevOps is an engineer SSHing into a server, making a quick firewall change or configuration tweak to fix a problem, and not feeding that change back into the Chef recipe or Ansible playbook. The next deployment overwrites it — or worse, the change persists and creates a snowflake environment that nobody fully understands. This is precisely the kind of drift that a mature testing capability should be catching, but testers are rarely involved at this layer.</p>



<h2 class="wp-block-heading">The Untested Code That Surrounds Your Application</h2>



<p class="wp-block-paragraph">Beyond the application itself, a modern DevOps team produces a significant body of supporting code that almost never appears in a test plan. This includes artefacts across the full delivery lifecycle:</p>



<h3 class="wp-block-heading">Development and Source Control</h3>



<ul class="wp-block-list">
<li>Pre-merge commit hooks</li>
<li>Build scripts</li>
<li>Packaging scripts</li>
</ul>



<h3 class="wp-block-heading">Deployment</h3>



<ul class="wp-block-list">
<li>CI/CD pipeline scripts and configurations</li>
<li>Custom modules and extensions for Chef, Ansible, Puppet, etc.</li>
</ul>



<h3 class="wp-block-heading">Monitoring and Alerting</h3>



<ul class="wp-block-list">
<li>Responsive monitoring scripts (auto-remediation, auto-scaling triggers)</li>
<li>Alerting integrations and notification pipelines</li>
</ul>



<p class="wp-block-paragraph">For anything beyond a trivial application, these are not five-line scripts. They can be large, complex, poorly structured, and carrying significant business risk. A failure in a deployment script can take down production just as surely as a bug in the application itself. Yet they sit outside the scope of most testing teams by default.</p>



<p class="wp-block-paragraph">If you were to draw a quality pyramid and explicitly mark all of this infrastructure code as &#8220;out of scope for testers&#8221;, it forces a direct question: what is the actual mandate of the testing function? Is it purely to validate that delivered features meet specification? Or is it to protect the organisation from quality failures wherever they arise?</p>



<h2 class="wp-block-heading">What Testers Should Be Doing in a DevOps Environment</h2>



<p class="wp-block-paragraph">A testing professional in a mature DevOps organisation has an opportunity to add value well beyond their traditional scope. Here are concrete activities that extend the tester&#8217;s remit appropriately:</p>



<ul class="wp-block-list">
<li><strong>Audit and challenge automation repeatability.</strong> Understand the deployment and provisioning pipeline end-to-end. Identify steps that are manual, undocumented, or change frequently — these are your highest risk points.</li>
<li><strong>Treat test environments as immutable and build-bound.</strong> Advocate for ephemeral environments that are created fresh for each test run and destroyed afterwards, ensuring tests always run against a known, clean configuration.</li>
<li><strong>Extend test coverage to the pipeline itself.</strong> Apply the same rigour to deployment scripts, packaging scripts, and configuration management code that you apply to application code. Unit tests for Ansible roles and Chef cookbooks are entirely achievable.</li>
<li><strong>Act as a quality advocate for DevOps engineers and SREs.</strong> Many operations-focused engineers have limited exposure to test theory, test design, and test-driven approaches. Testers can provide coaching and establish shared quality standards across the team.</li>
<li><strong>Champion code quality discussions for tooling, not just applications.</strong> Raise code review standards, coverage expectations, and refactoring conversations for the full codebase — including the infrastructure and automation layer.</li>
</ul>



<h2 class="wp-block-heading">The Bottom Line</h2>



<p class="wp-block-paragraph">DevOps has not made testers redundant — it has made the testing challenge significantly larger. The surface area of code that carries production risk has expanded dramatically. Testing teams that continue to treat infrastructure code, deployment scripts, and monitoring integrations as someone else&#8217;s problem are leaving a large portion of the system unvalidated.</p>



<p class="wp-block-paragraph">The most effective testers in a DevOps world are those who follow the code wherever it goes: into Terraform modules, into CI/CD pipelines, into Chef cookbooks, and into the monitoring layer. Deploying with confidence every single time requires quality to be a shared concern across the entire delivery system — not just the application at its centre.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/has-devops-changed-the-role-of-a-tester/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Control Costs: Use Cloud Test Environments</title>
		<link>https://www.bestdevops.com/control-costs-use-cloud-test-environments/</link>
					<comments>https://www.bestdevops.com/control-costs-use-cloud-test-environments/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 03 Mar 2017 05:12:29 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[IT trends]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Test Environment]]></category>
		<category><![CDATA[Cloud Testing]]></category>
		<category><![CDATA[Control Costs]]></category>
		<category><![CDATA[Cost Savings]]></category>
		<category><![CDATA[QA environment]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Testing]]></category>
		<category><![CDATA[Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=860</guid>

					<description><![CDATA[Migrating to cloud-based, ephemeral test environments combined with infrastructure and test automation can dramatically reduce your test environment spend—turning a fixed annual cost into a small, pay-as-you-go line item.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">There is no more effective way to reduce your overall test environment spend than to migrate to cloud-based test environments and embrace infrastructure and testing automation. The nature of test environments is inherently temporary—you set up an environment, run through an automated test suite, and then tear it down. If you can compress that cycle to hours or even minutes, you can cut your test environment budgets considerably.</p>



<h2 class="wp-block-heading">Why Ephemeral Environments Change the Economics of Testing</h2>



<p class="wp-block-paragraph">The traditional model locks teams into static QA environments that run year-round but are only actively used for a fraction of that time. A dedicated QA server that sits idle ten months of the year still accrues hosting, licensing, and maintenance costs every month. Moving to on-demand, ephemeral cloud environments flips that model on its head: you provision infrastructure only when a test suite needs to run, then destroy it the moment the suite finishes.</p>



<p class="wp-block-paragraph">This shift depends on two foundational capabilities:</p>



<ul class="wp-block-list">
<li><strong>Automated infrastructure provisioning</strong> — the ability to create a fully configured environment from code (using tools such as Terraform, Ansible, AWS CloudFormation, or similar) without manual intervention.</li>
<li><strong>Automated acceptance and regression tests</strong> — a comprehensive test suite that can execute end-to-end without a human operating the UI or verifying results manually.</li>
</ul>



<p class="wp-block-paragraph">When both of these are in place, environment creation becomes just another step in your build pipeline, and the cost of running tests becomes directly proportional to the compute time consumed—nothing more.</p>



<h2 class="wp-block-heading">Automation Is the Key to Cloud-Based Cost Savings</h2>



<p class="wp-block-paragraph">Simply moving workloads &#8220;to the cloud&#8221; is not enough. If you lift-and-shift a static QA server to a cloud VM and leave it running 24/7, you have not materially changed your cost structure. The savings come from treating environments as disposable infrastructure-as-code artifacts that are created on demand and destroyed after use.</p>



<p class="wp-block-paragraph">Consider a common CI/CD stack as a concrete example:</p>



<ul class="wp-block-list">
<li>Source code is tracked in <strong>Git</strong>.</li>
<li>Builds are orchestrated by <strong>Jenkins</strong> (or a comparable CI server).</li>
<li>Build artifacts are published to a repository such as <strong>Nexus</strong> or <strong>Artifactory</strong>.</li>
<li>The application runs on a servlet container such as <strong>Apache Tomcat</strong>.</li>
</ul>



<p class="wp-block-paragraph">In the legacy workflow, each developer commit triggers a build and a unit-test run. When a release approaches, a QA team manually validates the application against a long-lived QA environment. That environment must be patched, monitored, and kept in sync with production configuration every day of the year—even though meaningful testing happens for only a few weeks per release cycle.</p>



<p class="wp-block-paragraph">In the modern continuous deployment workflow, the pipeline itself provisions a fresh QA environment on each qualifying commit or branch. The automated test suite runs against it, results are reported back to the pipeline, and the environment is torn down immediately afterward. No QA engineer needs to manually execute a test case; the entire regression suite is automated and triggered without human intervention.</p>



<h2 class="wp-block-heading">Parallel Environments Without Conflict</h2>



<p class="wp-block-paragraph">One underappreciated benefit of this approach is that multiple isolated test environments can be created simultaneously. During periods of heavy development—many feature branches being merged in the same day—your pipeline can spin up a separate ephemeral environment for each branch in parallel. Each environment is completely isolated, so tests on one branch cannot interfere with tests on another. With a static QA environment this would require careful scheduling or expensive duplication of hardware; with cloud APIs it is a configuration option.</p>



<h2 class="wp-block-heading">The Financial Model: From CapEx/OpEx to Pay-Per-Test</h2>



<p class="wp-block-paragraph">The shift from always-on environments to ephemeral cloud environments turns a largely fixed infrastructure cost into a variable, usage-based cost. Instead of budgeting by the month or year, you budget by test-suite execution. The cost of a single regression run on a public cloud provider is determined by the number and size of the instances used and the number of hours (or minutes) they are running—nothing more.</p>



<p class="wp-block-paragraph">For example:</p>



<ul class="wp-block-list">
<li>A static QA environment might cost a fixed amount per month in compute, storage, and operational overhead, regardless of whether it is actively used.</li>
<li>An ephemeral environment that runs a regression suite twice a day during a busy sprint, and not at all during quiet periods, accumulates only the compute hours actually consumed.</li>
<li>Multiple test environments can run in parallel during high-velocity sprints at a cost that is still a fraction of a single dedicated environment running around the clock.</li>
</ul>



<p class="wp-block-paragraph">The exact figures will vary based on your cloud provider, region, instance types, and test suite duration—but the directional impact is consistent: teams that automate both infrastructure provisioning and test execution report significant reductions in their test environment spend.</p>



<h2 class="wp-block-heading">Key Tools and Services That Enable This Model</h2>



<p class="wp-block-paragraph">The on-demand model relies on programmatic access to infrastructure through cloud APIs. Major public cloud providers that expose these APIs include:</p>



<ul class="wp-block-list">
<li><strong>Amazon Web Services (AWS)</strong> — EC2, ECS, EKS, and related services; CloudFormation or CDK for infrastructure-as-code.</li>
<li><strong>Microsoft Azure</strong> — Azure Virtual Machines, AKS, and Azure Resource Manager templates.</li>
<li><strong>Google Cloud Platform (GCP)</strong> — Compute Engine, GKE, and Deployment Manager or Terraform.</li>
</ul>



<p class="wp-block-paragraph">On the automation side, common choices include:</p>



<ul class="wp-block-list">
<li><strong>Infrastructure provisioning:</strong> Terraform, Pulumi, AWS CloudFormation, Ansible.</li>
<li><strong>CI/CD orchestration:</strong> Jenkins, GitLab CI, GitHub Actions, CircleCI, TeamCity.</li>
<li><strong>Test automation frameworks:</strong> Selenium, Playwright, Cypress (UI); REST Assured, Postman/Newman (API); language-native frameworks for unit and integration tests.</li>
<li><strong>Container orchestration:</strong> Docker Compose (for local parity) and Kubernetes (for more complex, cloud-native test environments).</li>
</ul>



<h2 class="wp-block-heading">What You Need to Get Started</h2>



<p class="wp-block-paragraph">Achieving this model is not an overnight project, but the path is well-defined:</p>



<ol class="wp-block-list">
<li><strong>Codify your environment.</strong> Define every component of your QA environment in infrastructure-as-code so that it can be created and destroyed repeatably from a script or pipeline step.</li>
<li><strong>Automate test data setup and teardown.</strong> Seed databases and external dependencies programmatically so no manual data preparation is required before a test run.</li>
<li><strong>Build a comprehensive automated test suite.</strong> Invest in automated acceptance and regression tests that cover the scenarios currently validated manually. This is often the largest up-front effort, but it is the prerequisite for eliminating the long-lived QA environment.</li>
<li><strong>Integrate environment creation into your pipeline.</strong> Add a pipeline stage that provisions the environment, runs the suite, collects results, and tears the environment down—triggered automatically by a commit or pull request merge.</li>
<li><strong>Monitor and optimize costs.</strong> Use cloud provider cost explorer tools and tagging to track per-test-run spend, and right-size your instances based on actual resource usage.</li>
</ol>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">Cloud-based ephemeral test environments represent a fundamental shift in how teams think about test infrastructure. By combining infrastructure-as-code, cloud APIs, and comprehensive test automation, engineering teams can replace expensive, always-on QA environments with on-demand environments that exist only as long as a test suite takes to run. The result is lower infrastructure spend, faster feedback cycles, true environment isolation across branches, and a more maintainable, auditable testing process. The investment in automation required to reach this state pays for itself through reduced ongoing infrastructure costs and improved release velocity.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/control-costs-use-cloud-test-environments/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Value of Service Virtualization for Agile and DevOps Teams</title>
		<link>https://www.bestdevops.com/the-value-of-service-virtualization-for-agile-and-devops-teams/</link>
					<comments>https://www.bestdevops.com/the-value-of-service-virtualization-for-agile-and-devops-teams/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 02 Mar 2017 04:54:08 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Process]]></category>
		<category><![CDATA[Agile Team]]></category>
		<category><![CDATA[Continuous testing]]></category>
		<category><![CDATA[DevOps Team]]></category>
		<category><![CDATA[Service Virtualization]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=843</guid>

					<description><![CDATA[Service virtualization lets developers and testers work against simulated services instead of waiting for real dependencies—removing a critical bottleneck on the path to continuous testing and continuous delivery.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a piece originally published on TechWell / StickyMinds, featuring insights from Adam Auerbach, Senior Director of Technology for Advanced Testing and Release Services at Capital One Financial Corporation.</em></p>



<h2 class="wp-block-heading">What Is Service Virtualization?</h2>



<p class="wp-block-paragraph">Service virtualization is a technique that allows developers and testers to simulate the behaviour of dependent services—APIs, third-party systems, databases, mainframes—before those services are available, stable, or accessible in a test environment. Instead of blocking work while waiting for a downstream team to finish, a virtual service (sometimes called a &#8220;smart stub&#8221; or &#8220;mock service&#8221;) stands in and responds to calls exactly as the real dependency would.</p>



<p class="wp-block-paragraph">The result is that teams can write code, run integration tests, and validate end-to-end scenarios in parallel—removing one of the most persistent bottlenecks in modern software delivery.</p>



<h2 class="wp-block-heading">Why It Matters for Agile and DevOps Teams</h2>



<p class="wp-block-paragraph">Agile and DevOps principles share a common goal: deliver working software continuously and at high quality. Both disciplines suffer when teams must wait on each other to reach a milestone before testing can begin. Service virtualization directly attacks that waiting time.</p>



<ul class="wp-block-list">
<li><strong>Eliminate environment constraints.</strong> Non-production environments are expensive to provision and often shared. Virtual services let teams test without needing a full, stable environment stack.</li>
<li><strong>Remove test-data bottlenecks.</strong> Virtualized services can be configured to return specific data sets, edge cases, and error conditions on demand—no need to wrangle shared databases or sensitive production data.</li>
<li><strong>Decouple team dependencies.</strong> Front-end, back-end, and API teams can proceed through sprints independently rather than queuing behind each other.</li>
<li><strong>Shift testing left.</strong> Integration and contract testing can start in Sprint 1 rather than waiting for full system assembly, catching defects earlier when they are cheapest to fix.</li>
</ul>



<h2 class="wp-block-heading">A Real-World Example: Front-End vs. API Team</h2>



<p class="wp-block-paragraph">Adam Auerbach, who led advanced testing and release services at Capital One Financial Corporation, described a common failure pattern in an interview with StickyMinds:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;If you have a team that&#8217;s doing front-end work, now they&#8217;re waiting a sprint for the API team to get done and then when that gets done, you have 30 percent defects. Even though the team has moved onto something else, they get pulled back to do this work and then it doesn&#8217;t go out here and it still doesn&#8217;t work. If I had service virtualization, it would be done in the first sprint, they&#8217;re able to move on, the API team would be done, and then it would be in production and you would have saved yourself time.&#8221;</p><cite>— Adam Auerbach, Capital One Financial Corporation (via StickyMinds)</cite></blockquote>



<p class="wp-block-paragraph">This scenario is familiar to most engineering managers: a late integration surface produces a surge of defects, pulls teams off their current sprint, and ultimately delays the release. Service virtualization breaks the dependency chain so both teams can move forward concurrently.</p>



<h2 class="wp-block-heading">The Three Core Constraints Service Virtualization Solves</h2>



<p class="wp-block-paragraph">Auerbach summarised the problem space concisely:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;If you have problems where you&#8217;re waiting for teams to deliver something in order for you to be able to test, if you have constraints around test data, if you have constraints around the non-prod environments, all those things can be solved with service virtualization. Being able to create smart stubs to isolate your components and eliminate those constraints are a huge enabler in order to get to continuous testing and eventually continuous delivery.&#8221;</p><cite>— Adam Auerbach, Capital One Financial Corporation (via StickyMinds)</cite></blockquote>



<ol class="wp-block-list">
<li><strong>Dependency wait time</strong> — Teams no longer block on other teams reaching a deliverable milestone.</li>
<li><strong>Test data availability</strong> — Virtualised responses can cover happy paths, error codes, timeouts, and data-boundary conditions without touching production data.</li>
<li><strong>Non-production environment instability</strong> — Shared environments go down, get reconfigured, or get used by competing teams. Virtual services are local and deterministic.</li>
</ol>



<h2 class="wp-block-heading">Service Virtualization vs. Mocking vs. Stubbing</h2>



<p class="wp-block-paragraph">The terms are sometimes used interchangeably, but there are meaningful distinctions:</p>



<figure class="wp-block-table"><table><thead><tr><th>Technique</th><th>Scope</th><th>Typical Use</th></tr></thead><tbody><tr><td><strong>Unit mock</strong></td><td>In-process, single class or method</td><td>Unit tests; created in code (e.g., Mockito, Moq)</td></tr><tr><td><strong>Stub</strong></td><td>Fixed response for a specific call</td><td>Simple, stateless integration tests</td></tr><tr><td><strong>Service virtual asset</strong></td><td>Network-level, stateful, protocol-aware</td><td>Integration, performance, and end-to-end testing across HTTP, MQ, database protocols, etc.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Service virtualization tools operate at the network layer and can simulate latency, stateful behaviour, and realistic response variability—capabilities that simple stubs or in-process mocks cannot provide.</p>



<h2 class="wp-block-heading">Enabling Continuous Testing and Continuous Delivery</h2>



<p class="wp-block-paragraph">Continuous testing—running automated tests at every stage of the pipeline—is only practical when every required dependency is available on demand. Service virtualization makes this possible by ensuring that integration tests do not fail simply because a downstream service is unavailable, under development, or rate-limited.</p>



<p class="wp-block-paragraph">With virtual services in the pipeline:</p>



<ul class="wp-block-list">
<li>CI builds can run full integration suites without external service calls.</li>
<li>Performance and load tests can simulate downstream latency without hammering shared systems.</li>
<li>Release candidates can be validated against multiple versions of a dependency simultaneously.</li>
</ul>



<p class="wp-block-paragraph">This directly supports continuous delivery by ensuring feedback is fast, reliable, and available throughout the pipeline rather than only at the end.</p>



<h2 class="wp-block-heading">Getting Started with Service Virtualization</h2>



<p class="wp-block-paragraph">If your team is new to service virtualization, here are practical starting points:</p>



<ol class="wp-block-list">
<li><strong>Identify your biggest dependency bottleneck.</strong> Which team or external service causes the most blocked work? Start there.</li>
<li><strong>Capture real traffic first.</strong> Many service virtualization tools can record actual request/response pairs and replay them. This gives you realistic behaviour without hand-crafting responses.</li>
<li><strong>Version your virtual assets alongside your code.</strong> Store virtual service definitions in source control so they evolve with the API contract.</li>
<li><strong>Validate against the real service periodically.</strong> Virtual assets can drift from reality. Schedule regular contract validation runs against the live service to catch discrepancies.</li>
<li><strong>Integrate into your CI/CD pipeline.</strong> Start and stop virtual services as part of your build so integration tests run consistently in every environment.</li>
</ol>



<h2 class="wp-block-heading">Key Takeaways</h2>



<p class="wp-block-paragraph">Service virtualization is not a niche tool—it is a foundational practice for any team serious about continuous testing and continuous delivery. By eliminating dependency wait times, test-data friction, and environment instability, it allows Agile and DevOps teams to move faster without trading away quality. As Auerbach put it: <em>&#8220;Being able to create smart stubs to isolate your components and eliminate those constraints are a huge enabler in order to get to continuous testing and eventually continuous delivery.&#8221;</em></p>



<p class="wp-block-paragraph">If your sprint retrospectives regularly surface blocked work as a theme, service virtualization is one of the highest-leverage investments your team can make.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/the-value-of-service-virtualization-for-agile-and-devops-teams/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
