DevOps - 100% QA Time

Blog Image Continuous Integration

 

This approach allows the QA to have 100% QA time (vs 20%) and to always be ready for testing Just in Time (JIT) when the AUT is released. 

 

Reality

The Software Quality Assurance role in the current development process has been demoted due to the fact that QA engineers (QAs) are very late with the testing within time aggressive development cycles. Many DevOps teams are using short iteration dev cycles (2 or 4 weeks), overall QA time in the cycle is ~20%, and within this time QAs have to develop test cases, automate them, and of course to run it at least once in order to find defects (bugs). Not to mention that definition of Regression testing is to verify that found defects have been fixed and are not reproducing new ones, and therefore in the good testing processes Regression testing phase usually is when QAs are going back and forth with developers on the bug fixes. But those good days are fading, because teams don’t have time. Developers would rather do testing themselves…
 
Risk

Let’s step back and look at the global picture. Testing is inevitable for any modern organization that would like to communicate with their customers through software. Software is designed to meet business and end-user requirements. Software Quality Assurance as part of SDLC was established about 20 years ago in order to make sure that software developers implement application requirements as defined. And therefore the QA role is to police developers and to advocate end-user (business) interests. There are many methodologies and theories of software quality engineering that have been developed for the purpose of assuring that the end-user will get software that adheres to business requirements and functioning as expected. In the situation where developers are doing most of the testing, using unit testing (verifying mechanics of the software) organizations are risking overall quality…

Solution

In order to assure that software testing is performed properly by professionals that represent requirements of application under test (AUT) organizations have to optimize two (2) main aspects: The Process in which development teams are perform testing, and Technologies (tools) that are being used for testing.
 
Process
 
Imagine a DevOps development team as an ice hockey team where QA is a goalie. The Goalie is a mandatory role in the team and is becoming the most mission critical when there is a need to repel the attack, missing will result in the team losing the game. Same here, the QA has to find defects that may result in losing business, before the customer.  

DevOps teams have at least one QA that is present in the scrum meeting and is reviewing AUT requirements with developers that will be used for testing.

In order to be time efficient and to be able to test full spectrum of functionalities that developers (who are outnumbered in the team) would develop, the QA has to use an approach that will allow fast creation of test cases and to allow test execution readiness at the moment first version of AUT has been released.
 
Technology (Tools)

Quick answer is test automation. In order to provide just in time testing in a short development cycle the QA has to use tools that will allow pre-development test automation using mockups of AUT GUI.

During scrum sessions the QA is either takes AUT mock-ups or creates them (can be any type of white boarding, Paint, hand-drawing), and approves these mockups with the scrum master (product owner) and the developers. Using new generation test automation tools (ZAPTEST) the QA can automate test procedures by scanning mockups and creating fully functioning test scripts prior to the actual AUT release. https://youtu.be/Mo3cHXvJaB4
 
This approach allows the QA to have 100% QA time (vs 20%) and to always be ready for testing Just in Time (JIT) when the AUT is released. 
 
Summary  

  •        Testing has to be performed by team members that represent AUT requirements (QA)
  •        It has to be ready JIT for AUT version release
  •        DevOps teams have to include the QA in the scrum sessions
  •        QAs have to use the test automation approach using AUT mockups
  •        Test framework will be ready JIT for AUT releases  

Ask

There are many DevOps organizational structures and ways the QAs can apply this. For over 15 years in the industry we’ve seen different methods and would be glad to learn how you are doing your testing, and if this approach would work for you. Please let us know your feedback?  

Created by: Alex Chernyak [ZAP]

Contact Us

Tower Place 100

3340 Peachtree Rd NE #1800 

Atlanta, GA 30326 USA

(404) 814-5227