Being the “one man army tester” – mentoring question

This is another question that was received via the mentoring form on my blog and it goes like this:

Message Body:
Hi,
I’m reading your blog every week it helps me a lot, i have a couple of questions which i hope to answer, first one:

1- In my current job i’m the only tester, i defined the processes from planning, design, execution and test closing, i perform manual testing and performing very little bit automation using selenium webdriver with C# to just locate elements and also i’m using tools for bug tracking and test management, but i have a gap in test reporting which i’ll try to fill, my question how to know that everything is going well and i gain experience and knowledge from it?? because I still feel that i’m not a good tester anymore with every new project i start to analyse and test and fear to fail or can’t test it and being creative, still feel that i should working with testing team and leave my current job, so what do you think i should do in this point?

2- Is it a MUST to study testing everyday or it’s enough to study for example two days per week? and how?

3- About resources: What resources should I use to learn testing? i bookmarked more than 25 blogs, forums and websites to read their feeds and i can’t commit with that, and this makes me depressed sometimes because the feel of i’m not a good tester and i should read all of them,
Finally i feel that i missing something and i can’t know what is it, also enforce myself to be a good tester by doing this and this and this and this all in one makes me do nothing.

Thanks,
John

 

Hello, John!

First of all, I’d like to thank you for the kind words, for reading my blog and using the mentoring form. I really appreciate your trust in my advice.

I know your pain, John, the strive for perfection is something that we can consider “professional disease” of our craft. After all, we aim for high quality in our job, but that also turns into desire to have high quality or perfect skill set on our own.

The first thing I’d like to say is – do not despair. You are not perfect, nor am I and that is completely O.K. After all, we are human beings, not robots and as we know even robots have mistakes or bugs. To be honest, the fact that you are reading blogs and trying to improve, trying to figure out stuff on your own, asking yourself if you are good enough – that’s enough to say that you are better tester than a huge amount of testers. I can not describe in words how many educated and experienced testers I’ve encountered that are not even moving their finger in order to do something about their personal development, their career, to improve their chances to be more productive and sell their own skills better. And this is all something that they will benefit from directly. So, you can imagine the kind of laziness that exists in certain software testers. So, up to this point, you are doing perfect.

Now, related to the questions specifically:

Question #1: Here I see couple different questions, so I will answer them separately.

Question #1.1: How to improve the process, being the one-man army tester?
At first, make sure you divide your effort by the highest priority. So, it is important for you to make sure what are the highest valued areas of the software you are working on and try to ensure they get covered first. In order to identify these areas, you should speak and discuss with people to whom that software matters – stake holders, clients, developers, project managers, designers etc. Software testing includes a huge  amount of communication and investigation, so we should not omit that, you need to learn to ask questions and mostly, to ask the right questions.
Also, it is a good idea, since you don’t have a large testing team to work with, to establish a strong professional trust between you and the development team. Make sure they do understand the specifics of your job, but don’t be too aggressive in doing it, just be nice and helpful, if you see confusion in their actions, explain. Make sure that they understand, that software testers are not the enemy, that we are not trying to make them look bad or less professional, that we – devs and testers are actually  all on the same boat and we should work together in order to produce high quality product.
Also, if you are alone and you need to keep up with a lot of projects, may be doing automation is not a good idea. Don’t get me wrong, automation is useful and it matters, but good automation takes time – to produce, to maintain, to extend, to make a really valuable framework that will help you. If you are overloaded with tasks, doing automation will just be additional overhead, that will take from your precious time.
And last, but not least, and that might also be answer to your third question – if you feel overloaded, if you feel that you are not progressing or you can’t keep track of your current tasks, because the work is too much, my advice is to speak to your managers, let them know what your issues are. Let them know you have certain struggles in performing well and see what they can offer about it, don’t expect them to be the proactive side, you should look after your professional interests. If they are not ready to listen or don’t want to change in order to ease your job, well, you have your answer.
Question #1.2: How to make sure I am keeping up with good quality of my work, how to make sure I improve and learn?
Well, there’s two important things here, I’d like to mention. First one is – high quality of work, fortunately is not an universal value, there’s no shared value that you have to keep up with. So, again speak with the “people who matter” in your software project, ask them if they are satisfied with the job you perform, if they see any areas of improvement and how exactly do they see it. Next is your  own personal understanding of feeling if you progress and learn. It’s a feeling you can never mistake, when you learn, when you do what you do with passion and interest, you can’t feel the time passing. If it’s not the case with you, you are probably bored and don’t do what you really want to.
Second thing is, in order to make sure you learn and improve, don’t forget that the competition is not with the others, but with your former self. So, in order to determine this, try to look at yourself from the perspective of time and try to compare your current self with your former self 1 year ago or 1 month ago, it doesn’t matter, you set the period. While comparing, try to answer the question “Did I gain something in that period?” – experience, knowledge, confidence, anything. This way, you will be able to determine if you are learning or stuck at one spot.
Question #1.3: Should I switch my current job and move to a company with big testing team?
Unfortunately, this is a question that I can’t and won’t answer. You are the one to make career decisions about your career and you are the one to evaluate when is the right time for a change. Just a few quick tips, before you make a decision:

  • Being in a team doesn’t necessarily guarantee you personal development opportunities. In fact, many software testing teams have very different dynamics and people sometimes join companies with big testing teams in order to “hide in the crowd”, so they could under perform and nobody would notice.
  • Being alone teaches you a lot, when you switch to a team, the drive that you have to study and improve might not get the response you expect.
  • Running doesn’t solve the problem. My suggestion is, ask and negotiate your opportunities in your current company, if you don’t feel happy there, if there’s no conversation, at least you tried your best.

Question 2: Is it a MUST to study testing everyday or it’s enough to study for example two days per week? and how?

I can not tell you how to learn, as learning is diverse process and it is different for any of us. Some people learn easier by reading (visually), some are learning better by discussing abstract topics, some by trying stuff and failing (kinesthetically or empirically), some combine two or more of these. So, it’s up to you, to try and find what works best for you.

How often? Well, of course not everyday, you have a personal life, man, go have a beer with friends, take a vacation, go to a party, testing is not a religious cult, it’s a passion. So, how often should you do it, as often as you feel happy to do it. If it’s interesting for you to read and learn new stuff everyday – go for it, but try not to burn out. Remember, Rome was not built within a night, therefore, some stuff take time and patience, not just hard work 24/7.

Question 3: Resources and how to keep up with reading them?

Well, if you think your story is bad, hear mine – last time I checked my feed I had 160 blogs in it, I am reading twitter and couple of other feeds with topics on testing, I try to read the new edition of every testing magazine that’s out and guess what – in the last 2-3 months I wasn’t able to read a single word, besides books I read before I go to bed. Do I feel bad? Absolutely not. We are human, we are not perfect and for sure we don’t have all the time in the world, therefore we can not read any piece of information that’s out  there and there’s no reason for that to make you unhappy.

What can I offer you in order to organize stuff? Well, start building some taste for the material you read, read what’s interesting for you. Not everything that’s out there is valuable, some blog posts are out dated, biased or simply full of shit, some of my blog posts are full of shit, perhaps or just not interesting to everyone, that’s O.K. . Learning to find materials that suit your needs, will greatly reduce the load you currently have, I recently heard that by John Sonmez and he called it – “learning to chew, but spit the bones, which means – consume only the information that is valuable and beneficial for you specifically.

Also, I would recommend you to start using Pocket it’s a neat little free app, has a web and mobile version, that help you organize web pages and blog posts, so anytime you have spare time, you will have a queue of interesting blog posts to read through.

Also, some good resources – all the books by Jerry Weinberg start with the Quality series and you will see why I recommend them to you.

Also, Lessons learned in software testing by Kaner, Bach, Bolton and Pettichord – very educational, very useful and practical read.

Follow on-line communities like Ministry of testing and utest – they  have a lot of resources on their own and you will be able to enter discussions and discover more interesting sources of information.

Read online testing magazines, here are 3 I can recommend:

Testing circus

Women testers

Tea time with testers

Well I think that’s it. Thanks once again for reading my blog and trusting my opinion, hope my answers will provide you with some insight, if not you can always ask more.
Thank you, John.

Best regards,
Viktor Slavchev

If you like to ask a question and get it answered by me, please don’t be shy, you can do it in my mentoring form here

Thanks for reading! Good luck! 🙂 

Automation or manual testing – mentoring question.

I am happy to say, that this is the first question that came through the mentoring form on my blog. It has been a while before someone “takes the courage” to ask a question 🙂 So, once again people, if you have any questions – ask, I don’t bite, I am only trying to help. As I promised, I won’t use real names, so I will replace them with any that I made up. Here it is:

Hello,
I have some questions for you. Manual or automation tester? And if I want to change manual testing with automation, how to do that. Is there good practise for that.

Thanks in advance
Lisa

Hi, Lisa!
Thanks for asking a question via the mentoring form on my blog. I greatly appreciate the fact that you ask for my opinion in your question.
Now, from the way that  your question is structured I can assume, that you are considering to move from “manual”  to “automation” testing. Why I put these in quotes, well it’s a long story… Anyway, I don’t believe in the devision of automation and manual, but many  people do.
So, back to your question, which one of both?
First, it’s a good idea to mention what do these two mean to non-testers involved in SDLC and, unfortunately, sometimes even to testers. “Manual” tester normally is translated as “someone banging on keys mindlessly”, no expertise is taken into account, no technical knowledge, he or she is just someone “looking for bugs”.
On the other hand, “automation tester” means someone smart enough to automate the “boring job” that “clicking monkeys” will normally do by hand. Now, I don’t agree with both these claims, but if you listen to people while they talk of testing, they mention these, implicitly or explicitly. That’s why automation testing seems to be that dream career that everyone looks after and manual testing is considered deprecated and everyone tries to get rid of it.
The facts – you are more likely to get better salary as automation tester, rather than as manual, it’s just the market. Also, people get more excited when you say you are doing automation, without any regards to how actually you are doing it, you just say “I am an automation tester” and  you are considered a demi-God or something.
How to move from manual to automation?
You have to be comfortable with programming. If you are not, get comfortable with it. If you can’t, forget about it. Yes, I know all these recorders and other tools that produce tests, but they are silly, if you want to do some real stuff you need to know at least one Object oriented language like C#, Java, Python, Ruby, Perl etc.
There’s plenty of courses to do that, a lot of tutorials, books and webinars, you just have to go there and practice. Also, you need to be familiar with the automation tools and frameworks there  is, in order to show some relevant knowledge in the domain. In general, this is Selenium, but it wont be a bad idea to add some variety to your skill set by looking at tools for mobile automation like Appium and Robotioum or some BDD tools like Calabash. Also, it is strongly recommended to be familiar with certain design patterns in automation, that will help you write more concise code, avoid repetition of logic and will make your job easier in general. You will have to also be aware, that moving in automation, what you will be doing 8 to 6 is development. This is what it is, you will be writing code that tests, doesn’t matter if it tests UI, service or database. So, if you find this boring in a way, you might want to think about it.
If you are asking how to do that from a career shift point of view, I’d say, just make some good looking examples of automated testing in GutHub and start going to interviews. This will be the best way to make yourself aware of what companies are looking for, what skills and frameworks and also, to benchmark you skills.
My personal opinion on testing manually vs. automatically is – look for a company that can offer you both and let you choose how to approach testing. Getting in any of the directions too deep, in my humble opinion, downgrades your testing expertise. Testing, after all, is something we do with our brains, our experience and our personal perspective, not something that depends on tools or manual techniques.

Thanks for your time!

Good luck,
Viktor Slavchev

If you like to ask a question and get it answered by me, please don’t be shy, you can do it in my mentoring form here

Thanks for reading! Good luck! 🙂