14 Most Common Mistakes A Tester Makes

Did you do any mistake recently?

I did.

But we’re all humans, right? And we’re all likely to make mistakes. Usually people associate making mistakes with punishment which in most of the cases is the immediate action after a mistake is made. And seeing the good part in it is almost impossible, at least while you’re struggling to repair what you did wrong.

Making mistakes can have a positive impact on your professional growth, the only condition is to learn a lesson from the mistakes you’re doing. And during the learning process is almost impossible to avoid making mistakes.

Making mistakes is a lot better than not doing anything. — Billie Joe Armstrong

There is no activity domain in which you’re more likely exposed in making mistakes than in others. Below is a list of mistakes a software tester is exposed to during his/her work lifetime and from which can learn several lessons.

1. Incorrectly evaluate the risks

The job of a tester rely much on identifying and risk mitigation. A good risk analysis can help in identifying what can go wrong with the product you’re testing before it goes to production.

Identifying the areas of concern can massively reduce the costs and time spent afterwards in fixing problems found in later stages of development.

Photo by Caroline Hernandez on Unsplash

2. Miscommunicate the impact

Miscommunication is always a mistake, even we’re talking about miscommunicate the impact of a bug, the presence of it or any situation that might jeopardise the quality of the product we are testing.

3. Ignore a bug when you see it

Ignoring things like miscommunicate them should never happen. As testers we must address any situation we’re facing — even if we don’t have solutions for these situations or maybe don’t have the bigger picture, it’s better to make them known than to act like the elephant is not in the room.

4. Using the same test data — pesticide paradox

Executing our testing scenarios using the same test date might lead us to the pesticide paradox. Repeating over and over the same test cases with the same test data will no longer find new bugs.

5. Not keeping test cases up to date

If you want your test cases to be useful, keep them up to date. Outdated test cases don’t bring any value into your testing.

6. Criticising developers

A constructive way of giving feedback and a positive communication can make the difference in a tester-developer relation. Try to spot also the good work a developer is doing, not only the bugs or problems found in his/her code. Add positivity into your testing!

7. Making assumptions

As a tester you should never make assumptions! The best way is to ask all the questions you need an answer for, helping you to understand the requirements, what need to be tested, what was implemented or how the application under test is expected to behave.

8. Incorrectly evaluate and measure the effort

Project Manager: “How much would it take you to test this?”

Tester: “Hm, a couple of hours, maybe?!”

Be sure you make a step back and you see the bigger picture before you give estimates.

9. Frequently changing the focus

Emails, meetings, regression testing, test case creation, test case execution, a phone ringing, a person asking something, a patch in production that needs to be tested, another hot fix. I think you all recognise the scenario.

This can have a negative impact on your productivity and quality of your work. I would suggest you to try to find what works best for you and organise your working day accordingly.

10. Copying the acceptance criteria into the test cases

We are sometimes tempted to make this mistake while writing our test cases when we don’t see much value in writing and executing them. Let’s try not just state the obvious from acceptance criteria in our test cases, but also focus on negative testing, edge cases or other scenarios that might make our testing more complete.

11. Incorrectly evaluate the impact of a new functionality/fix

This is translated by one word: regression. It is crucial to understand what other areas are affected by a newly developed functionality or by a code fix.

12. Being scared of using tools

This might happen when you, as tester don’t feel very comfortable with your technical skills. It’s totally fine not to be a super hero in using tools, but I encourage you to be open to any solution that might ease your daily work.

Even you don’t feel comfortable in using tools, you might get help from other testers, developers or maybe online support.

Photo by Todd Quackenbush on Unsplash

13. Not thinking as the end user

It is better to take the user’s hat and imagine how s/he will use the application you’re testing. It is said that the end user is the best tester which finds more and critical bugs. And we don’t want that, right?

14. Not asking developer’s help

Sometimes we are afraid of being judged or afraid of looking stupid which leads us in trying to find solutions to our problems by our own. It is not a bad thing to be a problem solver. This is not the best practice though when you invest time in doing it instead of asking a developer what you’re trying to figure out.

I encourage you to have a good relation with the developers you’re working and maintain a positive communication. There should be no me vs. you, tester vs. developer kind of situations.


Conclusion

If you found yourself in most of the above situations, I can feel your pain, I went though all of them too through my career. Definitely is desirable to avoid all these mistakes when possible, but when they happen, don’t punish yourself too much. Is good to make mistakes and learn good things from them. Turn your mistakes in valuable life lessons!

RTC2018 – seen through the eyes of a student

If you are a professional software tester or a curious tech-savvy who loves taking part in the newest debates related to software testing, automation, artificial intelligence, machine learning, IoT or/and software security, you must have already heard about Romanian Testing Conference (RTC), the largest testing conference in Central-Eastern Europe which is held every year in the heart of Transylvania. This year, the 7th edition of the conference took place between 9th and 11th of May 2018 in Cluj-Napoca, hosting about 670 participants and 31 international speakers from 12 different countries.

The schedule of the conference consists of two full-days of hands-on practical workshops (about 7 to 8hours), with 5 different tracks to choose from and with topics varying from automation testing, security testing, test strategies, continuous delivery approaches or specific frameworks & tools used in each area of software testing, offering participants the opportunity to choose the workshops that best suits their needs and interests. The last day of the conference is composed of various shorter keynote presentations where speakers are encouraged to share glimpses of their experience and knowledge with the audience, the main focus being on approaching subjects related to software testing from a creative or technical stance, offering a very insightful perspective for each topic.

RTC mainly focuses on gathering together the largest community of professionals in this field with the purpose of sharing bits of knowledge, wisdom & best practices according to the latest criteria, raising awareness of how important is to maintain the highest standards when talking about quality and risk in each tech-related field of activity. Also, this event encourages debates on the latest topics of interest regarding software testing, offering a better understanding of the subtle nuances and challenges that a software tester faces each day in this spontaneous and ever-changing craft. One of the most important things that I have learned here these days is that software testing is supposed to be a whole experience, continuously delivering quality through products and services that make the users feel good and safe, enriching their overall experience when interacting with them. The art of testing is not only about finding bugs and validating requirements (as it is sometimes perceived), but is also about exploring, experimenting, investigating, observing and having a critical thinking when approaching the value of a product or service.

I would not go into describing the workshops in a very technical and detailed manner, but I would like to present them briefly by highlighting the most important facts or tips & tricks that I have learned from them. Firstly, I have learned about the importance of setting goals when approaching software testing and always taking risk and value into consideration in order to have a good reason for testing that will prove its worth in the end. As quality is generally defined as “something of value for someone” it is a tester’s job to define it and understand its importance and impact over the whole user experience that would decide the success of a product or service in the last instance. As being a very debated topic recently, automation testing was obviously brought into discussion, with its main focus being on maintainability, highlighting some very important principles to be taken into consideration when coding: readability, correctness and performance with a goal of delivering high- quality and approaching testing from a smart perspective, avoiding overlapping bits of code. Besides those theoretical concepts, there were hand-on tasks and challenges that proved to be very useful for applying those fundamental concepts in practice and further provoke those with a curious mind to learn more and experiment more with them.

The last day or “The Conference Day” was well structured and entertaining too, offering the participants a wide variety of topics and keynotes to choose from. The main ones approached topics as: the importance of cybersecurity and ethical mindset in software testing, VR concepts, automation engineering, required leadership skills in an IT work environment and how to better train your mind in order to perform well in this field. The overall vibe of this day was fantastic, the audience was very interested in the topics debated, the conference rooms were occupied over their seat capacity and the speakers were very well prepared and eager to share their ideas with us, and also being very responsive to feedback and Q&A sessions, offering the audience bits of their day-to-day experiences and challenges as professional software testers. Each of them came up with a different perspective on software testing, using creative or technical approaches, highlighting the most important facts and clarifying all the misconceptions in order to further accelerate the continuous learning process and encourage the testers to bring more value to an organization by developing a new mindset. The discussions continued even after the keynotes, when participants and speakers shared their views and opinions during coffee & snack breaks, engaging in debates over the latest topics.

As expected, hot debates emerged around the role of software testing in an artificial intelligence world with all its challenges and risks, from machine learning basics to machine ethics and a future artificial world based on automated processes. Nevertheless, the keynotes brought up concepts such as metacognition (concept borrowed from psychology) in the field of software testing, as encouraging new ways of learning, enhancing the knowledge gathering and understanding of the entire process of delivering quality at its highest standards. Also, the conference focused on delivering some very useful information about leadership, highlighting the importance of understanding the business and its targets, having integrity as a “coin you cannot afford to spend” and learning through failure how to better succeed at managing a technical team as well as your expectations and time. Being a leader may seem an extremely hard and stressful job, but it can prove to be very self-fulfilling if done right, combining the right soft-skills & technical expertise in order to deliver the best outcome.

Overall, RTC is a very useful experience where you can learn a lot, even if you are a student taking your first steps in this vast technical world or an experienced professional looking for new approaches and ideas to apply in your everyday work. Staying always curious and hungry to discover and learn more about your field of interest is the best way to ensure your way to a successful career. Also, I could not highlight more the importance of networking that comes with these kind of events, enabling you to meet people that share your interests and passions and offering the opportunity to benefit from being part of a loving and supportive community that will help you grow personally and professionally. In the end, I would say that RTC is a wonderful experience that leaves you drained and full of energy at the same time, gives you tons of new ideas and fresh perspectives regarding the software testing field and motivates you to learn and experiment even more with what you have discovered. I encourage every curious-mind passionate about technology and quality to give it a try and take part in the largest testing conference in Central-Eastern Europe the next year. I am sure that you will enjoy it, meet lots of people that you can share your curiosities and ideas with and discover a lot of useful information that will change your overall perspective and understanding about this domain. After being part of RTC once you will certainly be eager to attend the next edition, as I am now.

As a fun fact, this year we succeeded to place the largest group order involving 255 simultaneous users accessing the HipMenu app, 239 users that placed an order and 259 delicious donuts delivered to us, all sorted alphabetically as to make it easier for us to find our donut and recharge with a sweet snack after a long day of software testing debates challenges.

 

biases in software testing

When I saw this image on the internet, I immediately related it to software testing and the times when testers fall for these. In this article, let me try to relate few of the biases with respect to software testing.

“20 Cognitive Biases That Screw Up Your Decisions”

Source:
https://www.businessinsider.in/20-cognitive-biases-that-screw-up-your-
decisions/articleshow/48687485.cms

a. Blind-spot bias: Failing to recognise your own cognitive biases.
Are you biased towards a particular testing technique or a test tool even if it is slowing you down in your mission? Think about the test data you prepare. Do you have a pattern that you unknowingly follow? Do you have a preference for a particular approach in testing even though it is a counter? I slowly realised that I seem to have a sweet spot for mind maps and spend a lot of time on them before realising that an alternative to mind maps would save me a lot of time.

b. Clustering illusion: Tendency to see patterns in random events.
This bias is an interesting one. We testers are discouraged from ignoring random events. We dig deep into our bug investigation skills to find out the pattern in seemingly random events. One of the must-read for investigating intermittent bugs is here: http://www.satisfice.com/blog/archives/34

So, what do you do? Do you seek patterns in random events or ignore the random events? Catch 22 situations with respect to this bias? What are your thoughts?

c. Outcome bias: Judging a decision based on the outcome.
If testers were judged based on the number of defects and not on how they arrived at the defect, would this fall under outcome bias? Think about it. Many times, we judge a decision based on the outcome – someone found a security bug, we announce that the application needs more security testing or the tester is a good security tester. Do we even ask the approach to the discovery of the bug? Was it accidental or there was a plan followed whose end result is the bug? How many times have we taken seemingly big decisions based on a statement or an event without understanding the background?

d. Pro-innovation bias: Proponent of innovation overvalues its usefulness and undervalues its limitations
What is the first thing that came to your mind when you read the above line? For me, it is the automation hype that companies and teams give. Automation, when understood and delivered, has given good results. At the same time, we all have experienced the numerous times when someone sold us the usefulness and we were sucked into believing them. Only when we started working on the project, we realised that the limitations were more than the usefulness.

e. Selective perception: Allowing our expectations to influence how we perceive the world
We work with certain developers and over time, we start expecting a certain kind of bugs only from them. Even if there is a bug right in front of us, we got fooled and ignore those bugs as we never expected such a bug from the developers based on our experience (and expectations). We would in fact not even consider such bugs when we are preparing our test strategy!

We software testers are required to be aware of the biases and highlight them in the project. People trust us to give an unbiased opinion. It will be counterproductive if we ourselves are so biased like the ones I highlighted above. What other biases have you seen yourself get into?

While you think, here is a list of some more biases:
http://www.visualcapitalist.com/every-single-cognitive-bias/