Role of Testers in DevOps

Muntasir Abdullah Mizan
Oceanize Lab Geeks
Published in
5 min readSep 5, 2019

In order to build, test, and release software faster and more reliably. DevOps introduce some set of practice that automates the processes between software development and IT teams.

DevOps aimed not only to improve the process of feature releases but also to reduce defects, so that products can gain high level of quality. DevOps reduce the process cost related with delivering working product in incremental approach. DevOps dealing with small, rapid, iterative development.

The changes that each release having clarity, consistency and collaboration to understand each other. Changes also been affected in production environment and customer environment. QA team design details test plan based on those changes. Operation and development team need to come on same umbrella. This time specified methodology and tools play a vital role. Each team following their own designed methodology that best suit with their skill and process. But goals are common. That is quality products in a very short time.

Testers and developers both play important roles in DevOps.

Normally test Process are based on some steps that following all test levels until product ready for final deployment. Consider those activities that describe below.

a. QA team gets build after it successfully deployed. Here planed test environment is the key factor that influence test.

b. Then QA team perform test execution based on pre planed test case or without defined test cases.

c. Test execution may be Manual or Automated.

d. Functional and Regression testing are main concern.

After QA team meets exit criteria then they stopped testing. Then this build finally goes into the production server.

Now think about DevOps. In DevOps, test scenario is different from traditional test process. As quickly as possible QA transfer fresh development code into the production environment with the collaboration of the DevOps teams. DevOps engineer then provide the necessary support on tools and infrastructure to make it a process that works perfectly, making sure all changes function behaved as expected.

QA team should be focused about quality in software development life-cycle. Testers be part of technical teams. Testers have to consider manual functional and non-functional testing, and should focus on their skills and experiences for apply test automation, and define test strategies.

Testers always think about requirements that must be meet. Testers be focused on every change and their effect on developing products. In order to do this, requirements analysis done by testers. Testers find out test scope. After successfully analysis, quality attributes be well-introduce. Some quality characteristic be pre-defined by organizations or by customers. Requirements need to be specific. QA teams should involve in the requirements process to help and guide development teams. QA teams need to start thinking about how they can utilize their skills to add value as more of their day-to-day work is automated.

Risk based testing also have large benefits. Testers have to do regression testing when major changes that may affect other functions as well. In this scenario automate regression test play very important role by maximum test coverage.

QA teams should play positive attitude and try most effective communication way with teams so their technique can add the value by all possible way in the software development life cycle.

As a tester, the following core tasks need to be maintained through the life cycle.

a. Engineers and QA activities should be one lined based on standard that expected.

b. Try to automate test cases.

c. All deployment must be automated.

d. Test cases that are automated should be perfectly aligned with the Continuous Integration cycle.

e. Proper utilization of test automation tools and Continuous Integration tools.

From a logistical perspective, Ernest Mueller, lean systems manager for AlienVault and organizer of DevOps Days Austin says, there are three likely ways to see QA roles reassigned to better fit DevOps organizations.

First, there’s the opportunity to embed QA expertise directly within product teams to directly support them. This is an area that has been most effective in dealing with QA transition so far, says Steve Anderson, CEO of the DevOps and agile consultancy Clutch. “The most successful ways I’ve seen where you still get a hybrid going on is where a QA is directly embedded into the sprint team or the scrum team, where they’re involved from the get-go,” he says. “They get the user’s story. They’re writing test cases.”

Second, Mueller says, there’s also the potential for diverting QA pros into tooling groups responsible for writing the test harness or providing tooling across the organization.

And third, there’s the opportunity for creating a center of excellence or consulting group meant to advise specific work groups on strategic issues of quality. “That can be tricky, because having the separate consulting group can easily turn into doing it the way you used to work,” he explains. “It’s a very subtle approach change that you have to make. It’s not like they’re not doing work for you. They’re providing expert consulting so you can do the work better.”

The speed of automation should have QA working within a totally different paradigm, says Wayne Ariola, chief strategy officer for Parasoft, a testing and service virtualization firm. “Today we’re mostly in causal observation mode: Build the test, experience the defect, collect the defect — it’s causal. Something happened, we collected it,” he says. “We need to move to a more probabilistic mode.

“This means getting to know the internal application much more as testers than we do today,” he says. “This also means we have to understand the dependencies associated with the operational testing.”

The truth is that there is still plenty of room for testing professionals in the era of DevOps. They just need to adapt to a rewritten organizational hierarchy — and a completely different mindset about testing objectives.

For maintain higher accuracy on quality, it is necessary to automate all testing processes by accurately configuring for auto deployment. QA team should Keep in their mind that all process should be done without any failure.

Concentrating on the customer needs, tester give focus on validating product in short time and gaining high level of quality. A good tester should not mess with time and quality when more builds are on pipeline.

--

--