Continuous Testing in DevOps: A gamification approach

The Game of Testing

By Jorge Luis Castro Toribio

A continual problem that we must deal with when we run automated tests in our DevOps pipeline is maintenance. I could spend hours sharing posts and blogs about this matter, telling stories about how it affected our team’s capacity and time to market, and giving you several examples of what teams have done to sort this problem out. In fact, all the effort that we invest in maintenance is not visible to the business stakeholders’ eyes. Maintenance consumes our team capacity, but it does not add value to our clients directly.

Test automation challenges at scale

In one of my jobs wefaced this problem on a large scale. We had more an average of more than 1000automated tests running at each code check in, plus one big run at midnightthat we called full regression. Our suites where organized in those levels:

  • L1: Unit testing – Development Stage
  • L2: Integration Testing – Commit Stage
  • L3: UI Functional Test MVP Suite – QA Stage
  • L4: Regression suites – Full package – UAT Stage

Those testing levelswere our creation, but we used the great lessons shared in this book https://www.amazon.com/Practical-Approach-Large-Scale-Agile-Development/dp/0321821726 that I recommend for any team looking to buildtheir testing strategy.

After each run, we noticed that 80% of UI and regression automated tests failed due fake failures. After reading my numbers, you can say if you automated crap, you will get crap results and that is correct — but please remember that we were building our automated test suites, with a continuous testing approach and DevOps mindset and pipelines, so we were trying to fail fast, learn and improve. First, we decided to analyze our test results and data, so we collected all the information that we got from our test runs and analyzed, we discovered that our tests failed because of those main reasons:

  1. Changes inUI components.
  2. Badcoding.
  3. Exceptionsand errors handling
  4. Time outseverywhere
  5. Data

A new experiment

We had to make a decision. We had invested lot of efforts in testing automation, and we were the product team with more automated tests compare to the rest of product teams globally in the company.  This brought us attention from lots of managers, who were keeping their eyes on our DevOps and test automation activities. In addition, we were participating in a DevOps competition which involved all the IT teams of the corporation.  So, we decided to invest time to get the failed tests in good shape and have them passing in the pipeline. We called this mindset  “Keep them green and running”. We communicated this effort to all the product teams. We asked the Product Owners to consider maintenance time as part of their team capacity, include tasks for this purpose, and keep it part of their definitions of “ready” and “done”.

Unfortunately, we did notachieve the goals we had hoped for. We still had the same test results, withmore than 80% of tests failing. In almost every case, they were fake failuresthat meant that the tests were stopped long before their last steps. To sum up,our rest results were not accurate at all and did not bring confidence to ourteams — which is something critical in testing automation.

Thinking outside the box

We needed to try something different. After some discussion, research, investigation and thinking out of the box, we decided to use gamification to keep our tests in a good shape, running and be green. We named the game “Game of Testing” and we established some critical points about it:

  1. Maturitylevels: The gamers can be developers, testers or anybody who owned an automatedtest running in the pipeline, they were maturing in the game, from a beginnerlevel to a master level.
  2. Visibility:We shared the game boards including ranking, test results and so, on using bigmonitors in the office, allowing everyone to be aware of the gamers andresults.
  3. Weight:This is a very complicated and mathematical part, we needed to stablishformulas and weights for a point system for the game, so we could evaluate thetest results, data per gamer and teams, and gave points and make them get newlevels.
  4. Recognition:We tried to recognize all the gamers taking part. For the best gamers, weshared the results with local and global senior managers, so their achievementscould be known and recognized.  Thishelped encourage more team members to participate.

The game was quitesimple:

  1. Gamers: All the team members who owned an automated test running in the pipeline.
  2. Point system: A gamer won point s for test running in green and negative points if the test failed for fake results. Later we added negative points of breaking builds.
  3. Rules: You needed to keep all your test and team tests running in the pipeline in a good shape for each run. So, you had to invest efforts on “maintenance” and continuous improvement if you want to rock in the game.
The Game of Testing

This approach helps usa lot to decrease false positive runs and keep the tests up and running in thepipeline. We decreased the number of 80% of failed tests to only 20% inapproximately three months and our numbers have continued decreasing.  Furthermore, people had fun while playing thegame and they internalized that quality can be fun and not boring like usualmaintenance was.

While we got several criticisms about our failing tests at the beginning of our efforts to improve them, and people lost trust on our quality assurance process, we didn’t give up trying to fix the problems. In fact, it motivated our team to think out of the box and turn this problem into a useful and fun project. We spent several hours investigating continuous testing, scripting, and related topics. Besides that, we wanted to do something different, something motivates other team members to join.

Gamification can provide that motivation. You may not achieve desired results immediately, but if you prepare your environment and involve everyone in trying potential solutions, the game will give you results for sure. If you address the test issues you can get them pass or fail, but if you involve and motivate people to work on problems together, you always win and have fun. I recommend you try gamification to sort your problems out, you may be surprised at the results!

Jorge Luis Castro Toribio

Jorge is an agilist who feels passion for Testing Automation, Agile, DevOps and business agility. He enjoys research and learning about business agility and working with cutting-edge technologies. He has been learning continuously for more than 12 years and is still learning new ways to foster business agility and team greatness. He has worked in several roles (developer, tester, manager, agile coach) which helps him to see the big picture and operational and team members dynamics happening inside organizations. This experience lets him help teams design, build and implement digital, DevOps and agile transformation strategies. He encourages focus on: People, Productivity, Continuous improvement, Innovation and having fun to enjoy success in our agile journeys.

You can find Jorge on and .

7 thoughts on “Continuous Testing in DevOps: A gamification approach”

  1. Excellent article. I like how you outlined original problem, how recommitting and focusing only made partial gains, and how gamification moved the needle much more effectively.

    Can you please provide a pointer to the test result gamification design, tools investigated/used specifically for the gamification, and code/code fragments?

    My team has manual test cases, automated test cases, and a rich set of automated test result history. We also have a test automation failure rate needing better attention and ownership. Gamification could make a real difference so any information, tools, designs, code, etc. to reduce the cost of implementing gamification would help my team and many others who read this article go from “Great idea” to “You made a real difference for me and my team”. 🙂

    1. Hi Zephan. Thank you for your reading and your comment. We worked on Game of Testing as part of our work at an american telecomm company so the code and artifacts belongs to that company currently. Although I can share you that for the game design framework we use Octalysis https://yukaichou.com/gamification-examples/octalysis-complete-gamification-framework/ which is a gamification design framework made by Ju Kai Chou. About software, actually the coding part was quite simple, we used angular, .net, for parsing we used XML and Phyton, Jenkins, GIT, ans sql, actually the coding part was not the big deal, the main effort was to design the game: points, testing levels, tribe model, objectives, and so on. If you are interested I can share you extra images about the game so you can give more ideas about it, please email me at

  2. Great idea!

    I would also like to hear more about the gamification design etc as per the above comment.

    Many thanks.

    1. Hi Toby. Thanks for reading the article and your comments. As I mentioned below, I am a big fan of the work of Yu Kai Chou about Gamification, he has an awesome gamification design framework call Octalysis https://yukaichou.com/gamification-examples/octalysis-complete-gamification-framework/ , it gives you all the best ideas and recommendation to design your own game. In our end the most difficult part was the game design but I think it is a topic that will depend on your business reality so I strongly recommend you to design your framework involving your team members and make it simple and iterative, first design basic rules like points for number of tests runing in the pipeline and start the game and then in a second iteration you can add weights depending on test types and involve more people in your company.

  3. Thank you Jorge for sharing your experience. As described in ‘The Phoenix Project’, unplanned work (read: maintenance) and changes consume critical hours of manual resources. And yes, automating crap does produce crap, which is why, it is important to prioritize and segregate tests that can be automated. Gamification definitely seems like an interesting approach to solve the fake failure issue. You might like to check this article out

    1. Thank you for your comment @Hermant, you thoughts are highly appreciated. Thanks for the link about the future of testing, I did like the part of AI to improve code quality.

  4. I am feeling motivated and now work harder to start the career in Devops, hope will get similar success. Thanks for sharing your Devops experience.

Leave a Reply