<?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>QA Engineers &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/qa-engineers/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 13:40:46 +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>Why Forward-Thinking Tech Companies Are Going Agile: The Testing Imperative</title>
		<link>https://www.bestdevops.com/revealed-the-reasons-why-forward-thinking-tech-companies-are-going-agile/</link>
					<comments>https://www.bestdevops.com/revealed-the-reasons-why-forward-thinking-tech-companies-are-going-agile/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 07:13:05 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[IT automation]]></category>
		<category><![CDATA[IT Transformation]]></category>
		<category><![CDATA[QA Engineers]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=13037</guid>

					<description><![CDATA[As organisations learn from high-profile IT failures, the shift to Agile has accelerated. But testing is still too often an afterthought. Here is why embedding quality assurance into every sprint—and automating the right tasks—is critical to shipping reliable software.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a case-study piece originally published on devopsonline.co.uk, authored by Adam Pettman of 2i. It examines why testing is frequently deprioritised during digital transformation programmes, how Agile and test automation address that problem, and what a real-world implementation looks like.</em></p>



<h2 class="wp-block-heading">The Disaster That Started the Conversation</h2>



<p class="wp-block-paragraph">In April 2018, TSB migrated billions of customer records onto a new core-banking platform. The project had been in planning for over 18 months and involved more than 1,000 professionals. Within 20 minutes of the cutover, customers began reporting missing savings balances and incorrect transaction histories. Weeks of service disruption followed, costing the bank an estimated £330 million and driving approximately 80,000 customers to switch to competitors.</p>



<p class="wp-block-paragraph">The post-incident analysis pointed to a single, preventable root cause: insufficient rigorous testing before go-live.</p>



<p class="wp-block-paragraph">TSB is not an isolated case. Across industries, digital leaders facing executive pressure and fixed delivery deadlines routinely compress or skip testing phases—especially when complex legacy systems are involved. The result is almost always the same: defects surface in production, where fixing them is far more expensive and damaging than catching them earlier.</p>



<h2 class="wp-block-heading">Why Testing Gets Treated as an Afterthought</h2>



<p class="wp-block-paragraph">In traditional waterfall delivery models, testing sits at the end of the pipeline. By the time testers receive a build, the delivery deadline is imminent and any defects discovered are unlikely to be fully resolved before go-live. This creates a self-defeating cycle:</p>



<ul class="wp-block-list">
<li>Testers flag issues late in the cycle.</li>
<li>Business stakeholders override the concerns because timelines are fixed.</li>
<li>The product ships with known or unknown defects.</li>
<li>Incidents occur in production at far greater cost than earlier remediation would have required.</li>
</ul>



<p class="wp-block-paragraph">Testing is perceived as the &#8220;troublemaker&#8221;—the discipline that causes delays rather than the one that prevents them. Reframing that perception is the first step toward more resilient delivery.</p>



<h2 class="wp-block-heading">How Agile Transforms the Testing Mindset</h2>



<p class="wp-block-paragraph">Agile methodology fundamentally changes when and how testing happens. Rather than a single testing phase at the end of a project, testing is distributed across the entire software development lifecycle (SDLC):</p>



<ul class="wp-block-list">
<li><strong>Testing in sprints:</strong> Testers are embedded within cross-functional Agile teams and participate in every sprint, not just the final one.</li>
<li><strong>Continuous feedback:</strong> Each sprint&#8217;s test results directly inform the scope and priorities of the next sprint, creating a tightening feedback loop.</li>
<li><strong>Shared ownership:</strong> The whole-team approach means every team member—developer, business analyst, tester—is responsible for product quality, not just the QA function.</li>
<li><strong>Broader tester skills:</strong> Testers in Agile environments need strong communication, collaboration and exploratory-testing skills alongside their technical expertise, because they are active participants in sprint planning and retrospectives.</li>
</ul>



<p class="wp-block-paragraph">This shift means that defects are found and resolved when they are cheapest to fix: during development, not after deployment.</p>



<h2 class="wp-block-heading">Test Automation: The Critical Enabler</h2>



<p class="wp-block-paragraph">Embedding testers into Agile teams is necessary but not sufficient. The volume of testing required to support continuous delivery at pace makes manual-only testing unsustainable. Test automation is what allows teams to move quickly without sacrificing coverage.</p>



<h3 class="wp-block-heading">What to Automate</h3>



<ul class="wp-block-list">
<li><strong>Regression testing:</strong> Running the full suite of existing tests against every new build manually is prohibitively slow. Automated regression suites catch regressions overnight or within a CI/CD pipeline run.</li>
<li><strong>Smoke testing:</strong> A fast automated smoke test validates that a new build is stable enough for deeper testing before human effort is invested.</li>
<li><strong>API and integration tests:</strong> Automated contract and integration tests verify that services communicate correctly as codebases evolve.</li>
</ul>



<p class="wp-block-paragraph">Freeing testers from repetitive manual regression work allows them to focus on higher-value exploratory testing—the kind of creative, scenario-driven testing that automated scripts cannot easily replicate.</p>



<h3 class="wp-block-heading">The ROI of Automation</h3>



<p class="wp-block-paragraph">According to the original case study, a large telecoms provider previously required two full-time testers and two weeks to execute 8,000 tests at a cost of approximately £7,000 per cycle. After implementing automated testing, the same test suite ran overnight at a fraction of that cost. The two testers were redeployed to process improvement and exploratory testing—adding direct value to the delivery pipeline rather than executing repetitive checks.</p>



<p class="wp-block-paragraph"><em>Note: This specific figure comes from the original devopsonline.co.uk source and has not been independently verified.</em></p>



<p class="wp-block-paragraph">Test automation requires upfront investment in people, tooling and process design. It also demands sustained discipline: automation suites rot if they are not actively maintained alongside the product they test. Teams that treat automation as a one-time project rather than an ongoing engineering discipline consistently see their suites degrade in value over time.</p>



<h2 class="wp-block-heading">Dynamic Test Automation: Letting Data Drive the Tests</h2>



<p class="wp-block-paragraph">Standard test automation typically executes test cases in a fixed, predetermined order. Dynamic Test Automation takes a different approach: the test data itself carries indicators that determine which tests run and what the expected outcome should be. This surfaces hidden dependencies that linear test execution would miss.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;If we always work through our automated tests in the order 1, 2, 3, 4, 5 we will never find out what happens if we test 1, 2, 3, 5, 4.&#8221;</p><cite>Adam Pettman, 2i</cite></blockquote>



<p class="wp-block-paragraph">Because unknown dependencies are more likely to be exposed when test execution order varies, dynamic approaches tend to find defect categories that traditional scripts would miss entirely.</p>



<h3 class="wp-block-heading">Generating Test Data</h3>



<p class="wp-block-paragraph">Dynamic automation requires quality test data. Live production data is usually unsuitable for test environments for privacy and compliance reasons. Two practical approaches exist:</p>



<h4 class="wp-block-heading">Approach 1 – Anonymisation</h4>



<p class="wp-block-paragraph">Live data is transformed so that personally identifiable information (PII) is replaced with realistic but fictional equivalents. For example, &#8220;Bob Smith, Accountant&#8221; becomes &#8220;James Brown, Finance Associate.&#8221; The data relationships and realistic value distributions are preserved, improving test coverage compared with purely synthetic data. The limitation is scale: anonymising data consistently across large relational databases with many foreign-key relationships is complex and may not be feasible in every context.</p>



<h4 class="wp-block-heading">Approach 2 – Generating Data from Scratch</h4>



<p class="wp-block-paragraph">Test data is created synthetically, working with Product Owners and business stakeholders to ensure all key scenarios are represented. Brief workshops to define the required data rows require an initial time investment, but that investment pays back quickly: synthetic data that covers edge cases catches defects before User Acceptance Testing (UAT), dramatically reducing the number of surprises at that stage.</p>



<h3 class="wp-block-heading">Breaking the Data Intentionally</h3>



<p class="wp-block-paragraph">A complete test strategy must verify not only that valid inputs produce correct outputs (the &#8220;happy path&#8221;) but also that the system handles invalid or unexpected inputs gracefully (the &#8220;sad path&#8221;). Introducing deliberately malformed or boundary-violating data in a controlled way—sometimes called negative testing or fault injection—validates that the system catches errors correctly rather than silently producing wrong results.</p>



<h2 class="wp-block-heading">Case Study: Dynamic Test Automation for an Eco-Tech Start-Up</h2>



<p class="wp-block-paragraph">Testing firm 2i partnered with a cloud-native start-up to embed Dynamic Test Automation into their delivery pipeline. The engagement spanned the full team, from CTO to junior developer. The technology choices made in this implementation illustrate how the theory translates into practice.</p>



<h3 class="wp-block-heading">Generating Test Data with Python</h3>



<p class="wp-block-paragraph">Test data was generated from scratch using Python scripts that produced a series of JSON files ready for upload through the application. This gave the team full control over the data&#8217;s structure, volume and variation without any dependency on production data or anonymisation tooling.</p>



<h3 class="wp-block-heading">Breaking the Data with Python</h3>



<p class="wp-block-paragraph">A separate Python script randomly injected invalid values into the JSON files. Files with injected values were tagged so that the test framework knew to expect failures when processing them—providing a clean mechanism for sad-path testing without manual intervention.</p>



<h3 class="wp-block-heading">UI Test Automation with Cypress and Cucumber</h3>



<p class="wp-block-paragraph"><strong>Cypress</strong> was selected as the browser automation framework to interact with the web application and drive test execution. All test cases were written in <strong>BDD (Behaviour-Driven Development)</strong> format using <strong>Cucumber</strong>, which allowed test scenarios to be expressed in plain language (Gherkin syntax) while the underlying implementation remained hidden from business stakeholders. This enabled non-technical Product Owners to read, review and even contribute to test case design.</p>



<p class="wp-block-paragraph">Test cases covered both happy paths (valid JSON files processed successfully) and sad paths (files tagged as &#8220;Broken&#8221; rejected as expected). The full suite formed the basis of the ongoing regression pack.</p>



<h3 class="wp-block-heading">Embedding in the CI/CD Pipeline</h3>



<p class="wp-block-paragraph">The complete Dynamic Test Automation suite was integrated into the team&#8217;s GitOps CI/CD pipeline. Every commit triggers the test suite automatically, giving the engineering team continuous confidence that new code has not broken existing functionality—without slowing down their deployment velocity.</p>



<h2 class="wp-block-heading">Where Quality Assurance Is Heading</h2>



<p class="wp-block-paragraph">Test automation will continue to expand its scope. Several trends are already visible:</p>



<ul class="wp-block-list">
<li><strong>Low-code and no-code automation tools</strong> are lowering the barrier to entry, enabling teams without deep scripting expertise to build and maintain automated test suites.</li>
<li><strong>AI-assisted testing</strong> is beginning to augment test case generation, defect prediction and visual regression detection—though this area is still maturing.</li>
<li><strong>Shift-left security testing</strong> (integrating security checks earlier in the pipeline) is following the same pattern that functional testing has undergone with Agile.</li>
</ul>



<p class="wp-block-paragraph">However, automation does not eliminate the need for skilled testers. Human expertise remains essential for:</p>



<ul class="wp-block-list">
<li>Defining relevant test scenarios and acceptance criteria.</li>
<li>Exploratory testing that probes the edges of expected behaviour.</li>
<li>Overseeing automation suite quality and preventing test rot.</li>
<li>Translating business requirements into testable conditions.</li>
</ul>



<p class="wp-block-paragraph">The organisations that will deliver the most reliable software at the highest velocity are those that combine strategic test planning, well-designed test cases, disciplined automation and skilled QA engineers—all embedded directly in the delivery pipeline from the first sprint, not bolted on at the end.</p>



<hr class="wp-block-separator"/>



<p class="wp-block-paragraph"><em>Original article by Adam Pettman, first published on <a href="https://www.devopsonline.co.uk" rel="noopener">devopsonline.co.uk</a>. Implementation referenced was delivered by <a href="https://www.2-i.com" rel="noopener">2i</a>.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/revealed-the-reasons-why-forward-thinking-tech-companies-are-going-agile/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why Test Automation Doesn&#8217;t Remove the Need for QA Engineers</title>
		<link>https://www.bestdevops.com/why-automation-doesnt-necessarily-remove-the-need-for-qa/</link>
					<comments>https://www.bestdevops.com/why-automation-doesnt-necessarily-remove-the-need-for-qa/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 24 Feb 2017 08:36:38 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[DevOps Process]]></category>
		<category><![CDATA[DevOps Tools]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Automation Tools]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[QA Engineers]]></category>
		<category><![CDATA[Quality Analyst]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Testing Automation]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=773</guid>

					<description><![CDATA[Automation tools have transformed software testing, but they haven't made QA engineers obsolete. Here's why human judgment remains essential in a DevOps pipeline.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on expert commentary originally published on TechRepublic (2017). Attribution to Chris Marsh (AKQA), Greg Hoffer (Globalscape), Rupinder Singh (Software AG), and Mark Doyle (Collabroscape).</em></p>



<h2 class="wp-block-heading">Automation and QA: Not the Same Thing</h2>



<p class="wp-block-paragraph">A common misconception in DevOps is that rising levels of test automation will eventually make QA engineers redundant. The logic sounds reasonable on the surface: if machines can run thousands of test cases faster and more consistently than humans, why maintain a dedicated QA function at all?</p>



<p class="wp-block-paragraph">The reality is more nuanced. Automation handles the mechanical execution of tests, but it cannot replace the strategic thinking, contextual judgment, and user empathy that skilled QA engineers bring to the software development lifecycle.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Test automation may largely eliminate the need for manual testing in some scenarios, but it will never eliminate the need for QA.&#8221;</p><cite>— Chris Marsh, Director of Technology, AKQA</cite></blockquote>



<p class="wp-block-paragraph">Marsh points out that automation becomes one tool in a QA engineer&#8217;s toolkit rather than a wholesale replacement for the role. Unit tests are relatively cheap to write and execute, making them strong candidates for automation. Integration tests and UI tests, however, often require more manual oversight because they touch complex, context-sensitive user interactions that are difficult to fully script in advance.</p>



<h2 class="wp-block-heading">The Zero-Defect Trap</h2>



<p class="wp-block-paragraph">Traditional QA philosophy often aims to eliminate every defect before a release goes live. While that goal is well-intentioned, it carries a real cost: delaying the feedback loop with actual users and reducing return on investment. No production software is truly defect-free, and chasing that standard can prevent teams from shipping working features that deliver real value.</p>



<p class="wp-block-paragraph">QA engineers need to be embedded in the build pipeline from the start, advising on quality standards across the entire project lifecycle rather than acting as a final gate at the end of the process. Shifting quality thinking earlier — sometimes called &#8220;shift-left testing&#8221; — allows teams to catch issues when they are cheapest to fix.</p>



<h2 class="wp-block-heading">A Test Is Only as Good as Its Design</h2>



<p class="wp-block-paragraph">Automation raises a fundamental dependency: the quality of your automated tests determines the quality of your feedback. An automated suite that tests the wrong things, or that has grown stale as the codebase evolved, provides a false sense of confidence rather than genuine assurance.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Because technology development is a complex, dynamic process, automated QA is doomed to fail unless someone is able to make sure that the tests are current — or new bugs and vulnerabilities will not be detected.&#8221;</p><cite>— Greg Hoffer, VP of Engineering, Globalscape</cite></blockquote>



<p class="wp-block-paragraph">Hoffer highlights an important failure mode: a serious security vulnerability can slip through an automated QA process if no test was ever written to check for that specific condition. Automated tests only cover the scenarios their authors anticipated. Novel bugs, edge cases, and security issues that emerge from unexpected usage patterns require human investigation to uncover.</p>



<p class="wp-block-paragraph">There is also a usability dimension that pure automation cannot address. A fully automated test suite can confirm that software behaves exactly as specified while that software remains entirely unusable by real people. Automated checks validate functional correctness against predefined criteria — they cannot assess whether the product actually meets human needs or delivers a coherent user experience.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Automated QA, continuous integration (CI), and continuous deployment (CD) are all great advances in the efficiency of DevOps. But we should not expect them to be perfect. It is still incumbent on the developer community to be vigilant.&#8221;</p><cite>— Greg Hoffer, VP of Engineering, Globalscape</cite></blockquote>



<h2 class="wp-block-heading">QA May Actually Become More Strategic, Not Less Relevant</h2>



<p class="wp-block-paragraph">Rather than shrinking the QA function, automation is reshaping it. As CI/CD pipelines absorb routine regression testing, QA engineers can focus on higher-value work: exploratory testing, risk analysis, test strategy, and quality advocacy across the organization.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;As confidence in CI and automation increases, there is a very likely scenario of customers using Continuous Delivery for selective parts of their applications, although it still is not something that is completely reliable.&#8221;</p><cite>— Rupinder Singh, Senior Vice President, Expert Services, Software AG</cite></blockquote>



<p class="wp-block-paragraph">Singh observes that as automation handles manual test cycles, the QA role gains visibility and importance in technical communities. The engineer who can design a sustainable, maintainable automated test strategy — and know when to supplement it with human judgment — becomes a critical asset rather than a legacy overhead.</p>



<h2 class="wp-block-heading">Human Creativity Remains the Missing Ingredient</h2>



<p class="wp-block-paragraph">Automated tests are excellent at verifying that known paths through an application still work and that new code has not broken existing behavior. What they cannot do is invent new test scenarios, reason about unexpected user behavior, or ask the question: &#8220;What happens if someone uses this feature in a way we never anticipated?&#8221;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;It still takes human creativity and ingenuity to explore those paths, and then write automated tests against expected outputs. Companies must — and should — continue to employ QA teams, and they need to invest in training and software licenses for the automation platforms.&#8221;</p><cite>— Mark Doyle, Software Architect, Collabroscape</cite></blockquote>



<p class="wp-block-paragraph">Doyle also identifies a compounding benefit of well-designed automated testing: when failed tests automatically create entries in a defect tracking system, QA engineers can use that data to build more comprehensive and targeted test plans over time. Automation feeds information back to humans, who then improve the automation — a virtuous cycle that requires active human participation to sustain.</p>



<h2 class="wp-block-heading">Practical Benefits of Test Automation in a QA-Led Pipeline</h2>



<ul class="wp-block-list">
<li><strong>Faster build validation:</strong> Running an automated suite before manual QA begins saves engineers from investing time in a broken build.</li>
<li><strong>Consistent regression coverage:</strong> Automated tests reliably re-check existing functionality every time code changes, catching regressions that manual spot-checking might miss.</li>
<li><strong>Freed capacity for exploratory work:</strong> Removing routine test execution from human queues allows QA engineers to focus on complex, judgment-intensive scenarios.</li>
<li><strong>Automatic defect logging:</strong> Integration between CI pipelines and issue trackers reduces manual overhead and ensures failures are captured immediately.</li>
<li><strong>More stable software over time:</strong> Consistent automated coverage enforces quality gates that accumulate stability across releases.</li>
</ul>



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



<p class="wp-block-paragraph">Test automation is a force multiplier for QA, not a replacement for it. It handles repetitive, well-defined test scenarios at scale and speed no human team can match. But the strategic design of what to test, the maintenance of test suites as software evolves, the evaluation of usability, and the exploration of unanticipated failure modes all require human expertise.</p>



<p class="wp-block-paragraph">DevOps teams that treat automation as a substitute for QA judgment risk shipping software that passes every test yet still fails its users. The more mature approach is to invest in QA engineers who understand automation deeply — and know precisely where automation ends and human insight must begin.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/why-automation-doesnt-necessarily-remove-the-need-for-qa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
