BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Software Testing through the Lens of Energy Management

Software Testing through the Lens of Energy Management

Bookmarks

Key Takeaways

  • It’s difficult to do good testing and be responsible for your activity if you have no agency in your work.
  • Even in most restrictive and prescriptive environments, the tester or the test lead still has some agency in their work, based on risk assessment and time available.
  • Energy management plays an important role in the quality of your life or work. The ability to use words to describe the mechanics of your personal energy system will improve your life.
  • Diversifying the activities both from the work environment but also from the personal life, a person will replenish their energy while working, improving the quality of life and also the output of work.
  • Being appreciated for work performed will increase the quality of the testing for some time.

This article is an experience report of how I discovered my personal energy system and  superimposed it on a video game model which applies in the world of software testing also.

I’m a software tester who observed that certain activities were getting me excited about investigating and building models of the application. while other simpler, shorter activities were draining and took a lot longer to get me motivated enough to even pick them up. Besides the personal preference in what I like to do, there are multiple mechanics at work which can help me be more productive and satisfied with my work if I build a rhythm of activities that generates both enthusiasm and gets the job done.

Physiology , Psychology and Video Games

Software testing is an intimate process in which the tester is decoding and evaluating the product. Everyone tested at some point in childhood while closely interacting with a toy or some new object that they never saw before. 

When I was a small kid, I asked my dad if he could teach me something that I was struggling with, using the words that I know.  Looking back I realized that I was asking for help with decoding the troubling concept in terms that I could comprehend.

The world of software engineering is complicated, and the speed of innovation in all the adjacent disciplines can be intimidating, especially when a software tester needs to decipher, learn and evaluate a piece of software. A good tester is comfortable in confusing environments.

In the beginning of my career, while I was unaware of energy types and costs, my energy balance was out of my control. I was getting fatigued and I was developing spontaneous coping patterns, detaching through gaming, binging TV series or trying to test everything so there would be no missed scenarios.

I started studying how tiredness works in the human body. That’s how I learned about homeostasis systems. In physiology there is a system called homeostasis, which is the body's default learned safe state; in specialized literature this is called Homeostasis Type 1, and it's present in all living beings. This system's purpose is to keep the body safe: if it's too hot, the body will adapt and sweat to cool down, or if hunger is experienced a set of systems will be triggered to force you to seek out nutrients.
For Type 2 we apply the same system to our psychological state. We have a set of systems that protect us from perceived danger like the freeze, flight or fight system. 

My energy management model was built using the vocabulary from video games, which helped me build an understanding of the dynamics at work.

The Quest for Understanding the Testing Role within a Large Development Team

Growing up I identified early on that I struggle with communication, and I thought that maybe, through arts or different media, I will be able to tell a story, or at least attempt to convey an experience or emotional information.

When I was 13, I discovered a 3D modeling tool called 3dsmax from Autodesk, which gave me the opportunity to model and build whole worlds.

My first ideas were to make short animation videos. In high school I participated in many animation and video editing contests and won most of them.

In 2011 in Ubisoft Bucharest, there were 1000 testers and about 200 developers. We had entire floors with testers with specific platforms to test. In that context, I started thinking about my role in the whole video game production machine. I was 0.001 of the Romanian testing pool, without any experience at that point. I understood that I had a support role, but it was a bit unclear which type of support role.

In certain video games there are roles that can be assumed by players in collaborative environments. Here are the main three roles:

  • Tank, who keeps the attention on themselves to protect the team mates
  • The assassin, who deals quick large damage to the enemies who  are focused on the tank
  • Healers, who aim to keep everyone alive including themselves

At that point I was picturing myself as a healer in a large collaborative quest. I know that many testers who attempt to superimpose this gaming model on software testing see themselves as an assassin who delivers damage and disappears. I think that this perspective is true depending on the profile of the tester.

I'm a humanist; I believe that the person is the most important element in any environment.

The Healer was the one who was casting spells to accomplish the objective of the event. For me, the tester has a similar role by submitting bugs and reports for an application.

At this point I was doing a Master’s in industrial design and graphical engineering specialized in video games.
 

The Potential of Video Games for Communication

I see the potential in video games as something to be used as a medium through which a creator can convey experiences. This is how I see this medium: imagine a medium where the main communication method is human experience. Imagine the greatest artist who touched your soul with paintings or songs, having the ability to carefully build an authentic experience, who uses visual, audio, agency and sensemaking as a way of delivering the message. Video games have the potential to trigger the same response as a great painting or song. The entertainment business is not making the best out of this media.

Some of the rules of video games' mechanical aesthetic state that the rules of the game world must be easily understood by its player base and they should be consistent throughout the entire game.

In video games the "fun" and "difficulty" parameters are quantifiable, which can be tweaked. Video games create intuitive models that are easily decoded by players. In the realm of video games, any action has a clear cost and is displayed accordingly. In real life, the total amount of variables that influence the individual's energy levels is unknown. In the realm of psychology and physiology, the energy mechanics and the way the human body reacts to stimuli has been studied for many years. This sparked my interest in understanding why it is easy for children to quickly decode and exploit the economic system in games, which mimics the real life complexity of the human energy system.

As a software tester, there are many environments and worlds that work according to the technology or the frameworks used, the total number of variables are always unknown, and it's intimidating to engage in this adventure. How can you learn and provide valuable feedback about the product if you don't have a good grasp of the moving pieces? How can you have any degree of certainty about a system that changes all the time? Same as in math, you'll have to reduce the complexity and work with assumptions.

It's the same way in the physiology and psychology fields; there are so many moving variables and subjective truths, that it's impossible to provide a universal solution to manage the energy fluctuation within an individual, as a tester or not. Music, noise, traffic, slow internet, politics, and professional and romantic relationships affect the quality of our work. Even if we don't work in testing adjacent fields, people are testing all the time, not professionally, but a certain amount of testing is happening naturally for everyone when interacting with computer systems. 

All stimuli will impact the physiological attributes of the body. The room temperature, face reactions, the volume of noise, the food consumed at the last meal, the way we’re dressed; our bodies are constantly adapting to be kept in a dynamic equilibrium which is safe for you. If I yell at you now, your body will react and prepare you for a potential confrontation. Even if it is a hypothetical occurrence, you are already generating the appropriate hormones. 

In video games, these mechanics are rendered to a certain degree of detail like colors, auras, visual hints and auditory hints. Through exercise and progressive learning you'll react instinctively to information, as if you would be one with the game's avatar.

The concept of healer mana rotation is the sequence in which the avatar’s abilities should be used so it never reaches a point of exhaustion or impotence due to lack of energy.

Collaborative events will be radically different based on the experience of your teammates. In each encounter, you control the same avatar with the same skills and known rotations. But communication, coordination and anticipation are going to be vital to complete the event. If the Tank can't handle the enemies, you might focus the healing on others or self, in order to keep the team afloat until the Tank takes control again.

 The Human Mana System 

The human mana system is similar to the one present in the virtual world. 

People have health and energy and sets of actions that can be performed. There are passive modifiers of energy similar to those in games when you are excited about something and push the performance to new heights. Each action has a time cost for its performance. You have passive mana regeneration while not engaged in activities.

In behavioral-cognitive psychology there are three types of energy: physical, emotional, and cognitive. There are dynamic interactions between them and it's difficult to understand and manage this relationship. For me it clicked when I understood that all three can be collapsed in one and represent the general energy level of the person similar to mana in games.

Here are some examples of parallels between a video game mana modifier and a real-life software tester.

Actions

  • Damage - the code written by the developers to build and finish the system that we are currently working on
  • Heal - the truth about the created system; it serves a point of updating the knowledge about the product, so we can adapt our development to reality
  • Auras - social benefits gained from working together, or working close to someone else

Talents

  • Passive benefits - internalized abilities that are the result of years of experience in the field, think about the ability to develop a test strategy or investigate a problem

Buffs or temporary benefits

  • Temporary benefits - finding bugs or getting praise for doing good work

Curses

  • Temporary afflictions - toxic environments, doing work that you don’t like

Homeostasis is acting as a rubber band that you pull intentionally while engaging in activities. This rubber band is also stretched when the environment is changing. The purpose of this mechanic is to bring you back to homeostasis.

Homeostasis is a safety mechanism; abusing it will hurt us. If we maintain a load on this band, the body refuses to comply by triggering sickness. Homeostasis can update multiple times during your life.

What we want to achieve here is a healthy buoyancy that keeps us engaged for prolonged periods of time with respect to our own health.

We want to be aware of the activities that give us energy and the activities that consume the energy, we want to have a diverse pool of stimuli that regenerates our mana. If your hobby is riding a bike, and you are approaching a release that requires a lot of testing, taking a bike ride will have a similar effect as your avatar taking a mana potion to immediately replenish their mana pool.

We want to be aware that a toxic work culture towards testing will drain your mana, and in order to be productive you have to engage in complex recharging mechanisms just to avoid burnout. Imagine a company in which the testers are responsible for the quality of the product, and they are also the release gatekeepers while they have no control over the project budget, code written or the deadlines.

 Applying the Model in Real Life Situations

Humanists believe that the solutions to most of our problems can be solved through education and cultivation. This is a general hypothesis in which everything can be improved by cultivating a better understanding of the world.

In my own life, I experienced burnout due to poor energy and work management. For example, in one job we had a factory style methodology that required us to do the same checks on the same areas of the software, and had no agency in changing the way we did our work. In time, boredom poisoned our work engagement and reduced the joy of looking for trouble, making our ability to reach our purpose in the company impossible. At this time I was focused on finishing my Master’s degree and learning programming. I took initiative and studied for three weeks how to use Postman so I could generate test data. I still had to do the tedious work quietly accepted by us in the absence of better ideas. 

In a different work environment, we focused only on automation, reducing the richness of the testing craft to writing shallow change detectors to verify if the requirements are met. This endeavor ate all the time, and the testing work was reduced to a change detector development that was not learning anything about the software that we were working on. While the complexity of developing change detectors had a steep entrance point, the scalability of maintaining such a project was futile. While I invested a lot of energy in learning the system, and also the tool, in my personal life I focused on spending time with my fiance in the outdoors everyday so we had fresh air and exercise while speaking about anything. These couple of hours outside everyday provided enough energy to have a rewarding experience on that project.

In video games, children learn how to use these mechanisms almost to a natural rhythm through trial and error; the concepts are a bit heavy, but if you understand that you have a varied set of tools including outside the work environment, it will help you understand the cost of your actions, and ways to replenish your mana.

We are all beautifully ordinary and humane. Understanding the emotional dimension and the social dance will allow us to navigate smoothly through difficult situations . The hats people wear while at work shape an interesting dynamic of interaction, in which some people develop and use libraries to create an application, while other people provide vision and communicate the progress while managing the relationship with the management, and other people learn about the reality of the developed application and provide information to the other people.

About the Author

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT