6/13/2014

Dumb ways to die...doing testing

It's time to resume this blog and put me to write, I was inspired by a colleague who shared something interesting with the group of QAs of the company where I work today. It was a technical matter, so I'll wait for him to make the blog post and will share.
It was more technical than I like to write to me, but it helped me to think I should taking charge of this blog and write again, something about how I feel about this profession.
Today I want to write about negative situations, moments in which the Software Testers felt die, where we want to leave the profession. Often we cause ourselves these unnecessary situations that make us suffer but if we learn to get around them, we can enjoy a little more and see that this profession, which we like, worth it.
The title of this post is inspired by a Metro Trains Melbourne campaign to prevent deaths in stations and train tracks that could easily be avoided: dumb ways to die...doing testing in our case.

Bother a Bear...or a developer:

Yes they are not gods, they are human beings who make mistakes and sometimes more than they believe. But we should not be pinching with a stick every time you found a bug, because they will eat us alive, they will make the working atmosphere thickens and deliverables will be of poor quality. We must become their allies (but without any preferences, we'll see why) we must become the people who help them to do their jobs better and make them look good in front of the bosses. This way, they will help us to do our work better, to give us a hand when we need it. Otherwise, work in a hostile environment (remember that Testers / QAs are few in each team) can become a nightmare that we can not get out, and maybe we'll take the blame on our work and do not want to do it anymore.



Being eaten by piranhas...or your friends, the developers: 

Getting along with Developers, it's okay, be friends outside of work...great. Now, when it comes to work, cronyism can be counterproductive. Sometimes it happens that a developer, especially one that we like, he can ask us for a favor when reporting a bug and not to do so. Other times, sympathy and trust we have in them, leads us to test more cavalierly. In both cases, these acts of good faith can blow up in our face, because we're not doing our job properly. We are not the police of quality, nor should be bad guys with our partners (remember the bear...) but at the time of testing, no friends, no favoritism or anything, dog face against the screen and do our best. Those friends, if they really are, will appreciate our feedback and try to solve the problem quickly. Cronyism can lead us to do a poorly work and that our bosses will scold us and we end up hating the work. You have to know how to separate the chaff from the wheat.

Do testing just for the money...or sold at any price: 

Some people do anything for money, even see testing as a step up to reach another position that gives them more money, of course. It is common for QAs pay them less, this is something inexplicable. Usually happens because the software industry has mismanaged the importance of Testing in the software development cycle. But good testers of the world are very good at what they do and earn a lot. How they succeed? Well, training, develop their profession and lead to new horizons, solve problems better and faster than the rest and enforce their work. Not only economically, but morally. Another problem of the testerswhich leads them to professional starvation, is selling his ideals, his beliefs of how their profession should be developed for a few more pesos. Some do it accepting obsolete processes and best practices for many years, others sponsoring the purchase of expensive tools and obtuse in their companies, but reputed and backed with which play "for sure" (hp, ahem...) 
In the long run these testers feel miserable as well as low-skilled testers looking to climb, but could not do their job well, just end up dying in ignominy.

The suicide tester: 

We are not the gatekeepers, the guardians of the product and its quality. We are responsible for generating information so that the decision makers, can take them knowing the current state of the product. We are responsible to help the team working on product quality, from first to last member, from the first to last process, but neither we are the police of the team, that's not our job.
In both cases, all you will achieve is immolate ourselves in the name of quality, doing things of little value.
And when everyone are pointing us as the guilty, we will want to die and leave the Testing forever.

Burning our heads ... for having done a bad job:

Software development is a creative activity, a thinking activity, and it is even more Testing. We use all our senses, we squeeze our brains to ensure that does not escape us any bug. The brain, according to Dr. Daniel Kahneman in his book Think fast and slow, says we have 2 systems, where (roughly) the system1 handles routine tasks, and the system2, the control tasks and calculation. If the tester only uses his system1, most bugs will escape. The testers often use this system too often when they do scripting testing. A world-class tester, tries to use his system2 longer, that allows you to check and verify things that system1 slip away from him. This has a consequence, which is that the system2 uses and spends more energy than the system1, and we get exhausted more quickly. That is why the testers must perform their tasks in short sessions and take breaks between sessions, in order to better address the work.
This way, we avoid that obvious bugs do not escape to us, while we avoid burn our head and die of Burnout syndrome.


Surely I can write about many other ways to die doing testing, but the post would be very long. If someone wants to comment and add new forms, will be welcome.Finally I leave the original video of Dumb ways to Die, I hope you like it (the song is very addictive)

5/15/2013

James Bach - A-Galumphing We Go

I love this talk posted in TestBash 2.0 from James Bach, He loves it too:

2/05/2013

The Goalkeeper Tester

Two of the best Goalkeepers of the World
In association football, the goalkeeper occupies a position that represents the last line of defence between opposing attackers and his own team's goal. The primary role of the goalkeeper is to defend his team's goal and prevent the opposition from scoring a goal. The goalkeeper is the only player who is permitted to touch the ball with his hands or arms in open play (within his own penalty area). 1

"And what do you want? If he's a Goalkeeper!" Diego Maradona

In football, I am a Goalkeeper.  Since I was a boy. I have also played as a striker, I love to score goals, but perhaps because my father was a Goalkeeper too, or maybe because I'm not so good at other skills that a scorer should have, or because nobody wanted to do the thankless job of being Goalkeeper on the team, I decided to save goals , flying from post to post, touching with the tip of the fingers and the ball going off by kissing the post, while my teammates stop breathing for a second. Very poetic...but they hate us, despise us for 89 of 90 minutes of a game and every goal against is a death sentence for the Goalkeeper, guilty of all evil, welcomed and appreciated little in the triumphs.

The goalkeeper's job is thankless.

At work, I am Tester. For just over a year. I have also been an analyst, I like to analyze the problems and see what solution can be given, what is the best way to approach a solution. But for reasons of life, moving to a new city, not be bored to death writing innumerable documents, make something new, because nobody wants to be a tester, I decided to do this work, find defects that anyone can before the product reaches production, see how that flaw is fixed, and developers sigh when a new release comes out production and product owners congratulate us, although they are congratulated for their great work, and  they congratulate the testers with a pat on the back for doing what we should do.

Testing is a thankless work.

They say that the Tester is the "gatekeeper" of the quality of a product. Many are against, as James Bach on his blog, or Joel Montvelisky on his.

I'm not a Gatekeeper. I'm not afraid of Bugs
I propose that we compare our work with the "Goalkeeper". Maybe is a bad analogy, but...why not?

We don't stop a release, we try to make the fewest goals against (bugs in production) so that the greatest successes of our team enable us to win (go to production). The goals against are the fault of the whole team (attackers, centers, defense and the goalkeeper), bugs are the fault of the whole team (developers, designers, analysts and testers).
The Goalkeeper has a different view of the game, sees everything from the back, so you can see  other aspects of the game that others (including the coach) can't see. It is therefore very important to have good communication skills, to organize the defense and counter-attack game. The tester also has a different point of view of product development, has to see things from another context than others (even from their Managers). And communication skills are essential in order to ask the right questions, to the right people in the right time, to solve problems or avoid them in the future.
The best goalkeepers have skills that are not normally asked, like playing well with their feet, becoming the team's last defender, or kicking penalties, that at certain times in a game can be important for the team. The best testers also require skills, which is commonly believed that they haven't, as the knowledge of development languages, or the application of tools to improve their work.

The best football teams, love and indulge world class goalkeepers, because they know that they will need when they are most needed. We must do the same in development teams, we must become the "Goalkeepers" of software development.

2/04/2013

The Bilingual Tester


One of the most important skills you must have as a software tester today, is to know a second language, with a greater emphasis with English.
At present, in most of Latin America, engineers and systems analysts work mostly in Outsourcing companies. I am one of many.
My first work experiences in IT did not involve the English language, whether they were customers in the public activity, or companies that work 100% with the domestic market, or that their main customers were Mexicans. My current job does imply as a condition English, which I studied intermittently since age of 6, but that I could never practice as I have wished. Luckily I passed the tests and I am in my current job, which allowed getting to know the world of Testing and thanks to that, I'm writing this today.
But the second language, in addition to the advantage that allows you to communicate better with customers, allows an additional advantage: being able to understand what the customer wants in their stories or requirements. And this is something very important for a Tester, because their work begins when there is a new requirement (whatever the form in which we receive this requirement) and if we do not understand what they want, we can report about our Testing,something that could not be valuable to the customer.
Knowing English can also allows you communicate with the World Testers community. In previous posts I have reported how to connect with these people via Twitter, that every day they share their ideas, blogs, links and information related to the daily tasks of the Testers worldwide.
To communicate with Swedish, Finnish, Romanian, English, Canadian or American, we need a common language, and English, even with its imperfections, dominates over other languages​​, though is not the most spoken (Mandarin and Spanish are most widely spoken in the world than English, see here).
So I've decided to continue polishing my English skills, doing double duty: writing my posts in Spanish and then translated into English. Obviously when I make a post translating an article written in English, I will not put back in their original language. But I think it's worth that my articles can also be read beyond people of Latin America.