Q)What is your educational background and how did you come to be in the testing profession?
I did two degrees in Software Engineering.
Since school, I was always inclined towards computers and really enjoyed ‘thinking in pseudo-code’. During my Master’s degree, I had a module in software testing and I found my calling. My professor, Mark Harman, was really inspiring and I found my love for ensuring that the products created are always of top quality. I found my first job as a software tester and have never looked back since.
Q)What is it about this testing community that helps you and others thrive?
It’s always great to vent and discuss challenges with a wider community. Sadly, QA is still seen as an afterthought, and it’s good to learn how various people have tackled the same challenge differently around their teams.
Q)Why is it necessary to be a part of a community around us? Please state any pros and cons?
As I discussed above, the stronger the community the more you will learn about how to tackle the same problems. It’s about coming together for the common good of how we help deliver software for customers like ourselves.
Q)Why volunteering is more than necessary in today’s tech world?
The tech world today is very busy. New technologies and programming languages keep cropping up every day and it becomes very easy to lose sight of individuals who are entering the industry and how we can help them.
In recent years, I have found that being mentored and volunteering have played a huge part in my professional growth. When I have been stuck for ideas or direction, my mentors (Daniel Terhorst-North, Lisa Crispin, Isabel Evans, Jez Humble) have helped me think differently and in a more positive light. Volunteering for organizations like AnitaB.org has given me a greater sense of purpose and a strong sense of needing to give back to the industry which has so much to offer for young talent. It has also helped to go the extra mile to help provide options and opportunities to those who wouldn’t have a network otherwise.
Q) Imagine that there was no testing community, how would it be different for professionals then?
I don’t think society today has come to exist without communities.
If there was none for software testing, most of us would continue to reinvent the wheel without having the opportunity to use multiple open source frameworks which make the lives of our engineers easier. Because of these, they can then concentrate more on the real value products provide to the end-users and how we can better improve them.
Q) You are in a flourishing conferring phase; what factors help you to continue to confer?
I don’t think I am in a flourishing conferring phase yet 😉 It’s a long road and a bit of a bumpy one too.
For the places I do speak at, I think these factors contribute hugely to delivering successful talks:
Q) How do you make time for work, travel, confer, volunteer and be active in the community?
It’s not easy at all. A friend of mine said I have 3 jobs in total. My day job, public speaking, and volunteering.
It has taken some discipline, but I try not to let the other 2 interfere during my day job. I make a list of conferences every few months and make sure I keep track of them. I add volunteering days and meetings in my personal calendar and make sure I get reminders in time.
A few tips:
I have merged all my calendars in one so I can see my week in one view. Use color coding!
I check my twitter feed regularly every morning during my commute as well as non-work slack channels. I revisit these during lunch hour and just before bed as well.
I try to read. Books, articles or write. I try to do this at least twice a week.
Inform your manager in time for conferences and volunteering days.
Talk about your passion with work peers as well. You may accidentally inspire someone else as well 🙂
Every 3-4 months, I try to go on holiday.
Q) How do you unwind on a non-working day, any tips to our readers on activities that they can do to rejuvenate and be prepared for the next working day?
Listen to Music that makes you happy. Gardening. Read. Watch a couple of series (I don’t binge-watch). Laugh with my best friends. Make sure you make time for personal care. I also like to shop 🙂
On a Sunday, I try to plan my week.
Sort out what I am going to wear during the week.
Review my calendar
Decide on my dinner menu for the week
Sort out any lunches I need to arrange
If I am hosting in the upcoming weeks, I try to organize everything at least 10 days in advance. It helps me plan my weeks up to the event better.
Q)What are some of the ways in which professionals who are working from home get active and contribute to this testing community?
Use Twitter. Follow the people who have written some of the best books in our industry. Seek to have a conversation with them.
Watch conference talks. Most of the talks are now recorded and posted.
Write. A lot of people now write blogs on LinkedIn, Medium, etc. Ministry of Testing is also another great place to contribute.
Initially, you may feel that no one is reading my stuff. Don’t let that stop you. Ask people to review your content and share it with their network. Trust me. It does work and you’ll be surprised by the power of writing.
Q)What is/was the biggest challenge in your professional work and how did you seek help from the community around you to solve it?
It’s still very difficult to get buy-in for automated testing and quality becoming everyone’s responsibility in engineering teams. It frustrates me incredibly that QA professionals are brought in when the customer starts complaining. And not at the inception of the SDLC.
Every time I face these issues, I reach out to my mentors. I also reach out to the Women in Testing group and fortunately, I get a few options that I can explore to help solve the above issues.
All I will say is, you must not be afraid to ask. Don’t let hesitation stop you from reaching out for help.
Q)What is your message to those who have the belief that changing jobs is not easy or isn’t a viable option for their career and mostly feel stuck at the same job/workplace?
I always say, if you wake up in the morning and don’t feel like going to the office, it’s time for a change. Workplaces should be a source of joy and drive as that’s where you spend at least 40 hours every week. It’s the same choice we should make like we did when going to school and seeking higher education.
When changing jobs, again, reach out to your network to understand if you are stepping into yet another workplace which may cause you the same frustration. Use Glassdoor reviews. Do your homework for salaries. Reach out to recruiters who you have been successful with before. Always negotiate. And don’t make it look like you are running away from a problem.
You are valuable and you must always work in an organization which values you.
About the author
My entire thirteen-year career has been about assuring quality in products ranging from mobile to online restaurant to travel services. Currently, I work as a QA manager with a special focus on sustainable delivery practices. I have found that creating teams which work well together is more challenging than the projects to be delivered by them. I pay special attention to team dynamics and ensure engineers are in roles which give them a sense of purpose. I also work with them to put systems in place which help teams optimize flow and deliver high-quality products.
We asked several of the testers new and experienced to share their questions with us and matched a mentor to answer them. Featured here is Anuj Magazine who was/is quintessential in his approach to these questions and answered it for you. Hope you enjoy reading the answers as much as we did.
Q) I am from a different background, I did my engineering in Electronics and Communications and I am working as an Exploratory tester, do you think me staying in testing field is productive? Will my career be adventurously continuing as a tester or will I face any difficulties in the future? Nevertheless, I currently love the job I am doing but little confused so help me out with this.
Mark Twain once said that “I have never let my schooling interfere with my education”.
Depending upon the way you look at it, educational qualifications can be your best ally or the worst enemy. More often, I have come across the people who just let go of wonderful opportunities because they weren’t formally trained in the subject of the opportunity or the subject didn’t comply with their formal education. Both these views eventually prove disastrous in the context of career planning and severely limits what one can achieve.
I do hold firm the belief that ‘Educational qualifications aren’t the end, but the means to a greater end’. The role that educational qualification play in the eventual success of human beings is nowhere closer to the role that traits like ‘loving what you do’, ‘passion’, ‘does your job allow you to live in the moment’, ‘having a point of view’, ‘negotiating your own success’, ‘managing upwards’, ‘embracing non-linearity in thinking about careers’, ‘creating positive differentiation’ and a lot more takes.
A lot of times I observe the LinkedIn profiles that tend to put the name of a recent certification they achieved next to their names. I have nothing against people doing certifications but by putting the name of certifications next to your name, you are sending signal to the entire world that your own brand is weak and you have to rely on a mere certification to give you visibility and differentiation. Don’t make educational qualifications your identity, you identity is defined by the factors bigger than educational qualifications such as the nature of problems you choose to solve, how well you execute and how well you communicate the impact you have created.
In summary, don’t let your electronics and communications degree self-limit you and come in the way of your success. Rather use it as a means to achieve something more meaningful in life.
Regarding the other part of your question ‘Will my career be adventurously continuing as a tester or will I face any difficulties in the future?’
I don’t really have a crystal ball to see your future but I do have a perspective to offer here. I learned from one of my mentors that:
‘Don’t be fooled into thinking that you have a lifelong career at any moment’.
What he meant by this was that, with all the changes happening around us careers can further be broken down into multiple micro-careers. A micro-career may last 2-3 years or even more depending on the shelf-life the skill under question. In testing or any other profession, one should be clever enough to figure out when to reinvent self. Reinvention in a career context is an act of unlearning what you know and fill yourself with newer skills and capabilities that can serve you for may be 2-3 more years and continue this cycle. A career span of 30-35 years will bring with it own sort of difficulties at times. Our goal shouldn’t be to avoid difficulties when faced but to be tenacious enough to try and find the way out of them.
Q) How having a mentor / coach helps a tester be lead in a better path?
Let’s see what role a good mentor plays. As I have seen, a good mentor:
1. helps you become as good as you can be.
2. observes, judges and guides (in that order).
3. asks the right questions at the right time. A mentor uses questions as a tool to bring you closer to solution.
4. will not give you all the answers but still teach you how to think.
5. helps you see the mirror through which you can judge your performance.
6. know how to break down performance into its critical individual components and suggest a plan for ailing components.
7. focus less on themselves and more on the mentees.
8. Helps mentees find blind spots in the performance.
A few years back, I enrolled myself in toastmasters club. The toastmasters club is focused on improving the public speaking skills. One of the effective mechanisms used in toastmasters club to improve public speaking skills is to break-down the frequent problems ailing communication in different buckets and then you receive an quantifiable feedback from judges on what went right and what went wrong.
The mere act of a few dedicated people dissecting your speech and providing you feedback enables you to improve communication skills that otherwise would need painfully longer to achieve.
Atul Gawande a renowned surgeon brought about remarkable improvement in his surgery skills by onboarding a coach who could give him feedback by observing live during an operation. Before Atul came up with this idea, he had been doing operations for around a decade, had done 2000 plus operations. He could have comforted himself feeling that he is an expert but he chose to extend the boundaries and seek feedback.
“Knowledge of disease and the science of treatment are always evolving. We have to keep developing our capabilities and avoid falling behind. So the training inculcates an ethic of perfectionism. Expertise is thought to be not a static condition but one that doctors must build and sustain for themselves.”
Isn’t the situation explained in this quote very similar to information technology (and by virtue of it, software testing) profession?
To stay relevant, we are having to build capabilities faster than the rate at which technology is changing. And we cannot achieve the career velocity by just reading the books or taking training courses. A good mentor helps fill the performance gaps that we feel does not even exist.
A couple of more perspectives to consider:
1. As much as good mentoring can help us scale new heights, it bears repeating that bad mentoring can make professionals worse. Choose your mentors wisely.
2. Good mentors can make you uncomfortable. It can be intimidating to think that someone is observing you, judging you and more often will give feedback that may make you look incompetent. For a mentoring relationship to work, it is the job of a mentee to give confidence to the mentor that he/she will be a good recipient of the feedback.
Q) According to you what are the top 5 skills a context driven agile tester needs to have by 2019?
To be honest, i think i may not be the best person to answer about agile testing skills as i don’t practice it daily. But i do find this question important and would like to share a different perspective around it.
I prefer to look at this question from the point of view of ‘First Principles thinking’ which i fundamentally believe in.
In layman’s terms, first principles thinking is basically the practice of actively questioning every assumption you think you ‘know’ about a given problem or scenario — and then creating new knowledge and solutions from scratch. Almost like a newborn baby.
Elon Musk, as an example, is a huge proponent of first principles thinking and that’s probably why he has been able to invent many distinctive companies in a time-frame most people are struggling to get one career right.
As Elon indicates, first principles thinking essentially focuses on bringing things down to their fundamental truths and reason up from there, as opposed to reasoning by analogy.
Reasoning by analogy, on the contrary, is building knowledge and solving problems based on prior assumptions, beliefs and widely held ‘best practices’ approved by majority of people.
Applying first principles thinking to this discussion around skills, i firmly believe that most skills are built on a strong foundation of elementary skills. Here’s a list of those elementary skills:
2. Speaking and communicating
3. Reading and comprehension
5. Hunger to create a lasting impact
Interestingly the skills from #1 to #4 i.e. listening, speaking, reading, writing are the first 4 skills we learn in our lives. They are very fundamental to our being yet they play a significant part in dictating eventual success. As much elementary as these sound, i am pretty confident in my hypotheses that a career built on a strong foundation of these skills will certainly outlast and outperform the career that gives less importance to these.
Irony of our times is that employees are disproportionately focused on improving functional skills (e.g. subject of this question agile testing skills) and spend almost no time practicing these foundation skills. Let me share a few perspectives about these skills before coming to practice bit.
Listening: Adam Grant’s book ‘Give and Take’ beautifully drives home the point that givers are the most effective employees than the takers and the matchers. Beyond these, there is one more category of employees that I prefer to call ‘expert receivers’. Receivers are the people who are awesome at receiving anything concrete. I have been a big fan of Subroto Bagchi’s books and way of thinking and in one of the conversations, he beautifully sums up: “it is a power to receive which is the bigger determinant of success, not the power to give.”
A good leader may tune herself to give equal mentoring, advise and opportunity to her team of 5 people. But we still see that only one of five may eventually exceeds expectations. Why? The reason can be attributed to person’s power to receive and assimilate information, everything else being equal. How do you inculcate ‘power to receive‘ ? Simply by improving the way you listen.
One message: Practice active listening.
Public speaking skills: Indra Nooyi once said: “You cannot over-invest in communication skills”. You may have all the knowledge in the world but if you haven’t equipped yourself to communicate it impactfully, you cannot mobilize people, you cannot achieve momentum in the projects, your career cannot attain the trajectory it deserves.
Reading and comprehension: At the year-end time, one of the things that I am fascinated with is looking at the year-end reading summary of people I admire. One thing that’s constant with most effective people all-around is that they are all well read. They have their white-spaces filled with undistracted reading time. So reading skills are a given if you are looking to build a successful career. However, one of the most under-rated skills is comprehension. I know many people measure themselves by the number of books they read. It’s a good measure of your stickiness to reading habit but it doesn’t measure effectiveness. Comprehension abilities fill that effectiveness gap. As a skill, one should evolve reading habits with time. One should work consciously on improving comprehension abilities. Would highly recommend going through this blog and honestly assess and improve the flaws in the way you read: https://fs.blog/reading/
Writing: I am a professionally qualified handwriting analyst. A handwriting analyst can decipher personality traits from one’s handwriting. During the course of getting trained in handwriting analysis, I learned quite a few ‘parallel’ skills such as NLP, graphotherapy. Graphotherapy, for example, deals with a changing one’s personality by changing one’s handwriting. Like with anything, there are believers and non-believers in this. But, the larger point that I am driving towards is that writing on paper helps to connect with your inner-self. I heard the entrepreneur Alok Kejriwal mention that one should write at least one page a day. In addition to improving your writing skills, it is also a sort of self-purification process. A process that helps you clear the traffic jam of thoughts in your mind. One way I have found helpful in improving writing skills is to read and observe the email communication from the leaders you admire. Inculcate good points in your writing.
5. Hunger to create a lasting impact: One of the business leaders that I admire, Prakash Iyer when asked what he would suggest for people to play to their full potential, said: PHD, which is:
Passion: which gives us direction
Discipline: shows the way forward
In the various global innovation programs that I have run from my organization, most teams struggle to find time to do justice to their innovation projects (which is often in addition to their regular work). All things being equal, the teams that eventually do well are not the ones that have more skills or potential but really are the teams that have more fire in the belly, more hunger to succeed. To me, that feeling of hunger (how badly you want the outcome you desire) is the single biggest factor leading to success.
Given the elementary nature of these skills, we often take these for granted i.e. since we have been doing these for many years, we may consider ourselves being good at it. That may be true but more often it is not.
How can one improve on these skills ?
The answer lies in a process known as ‘deliberate practice’. Andrew Ng, the world-renowned AI expert, in this profound experience sharing describes how he turned-around the flaws in his public speaking by embracing the deliberate practice. To quote him:
We all know that to get better at a musical instrument or a sport, you have to practice. Practice does not simply mean “doing the activity over and over.” Instead, you learn fastest when you engage in a focused process called deliberate practice, in which you repeatedly attempt an especially challenging part of the task.
When the best musicians are working to improve, they don’t just play their favorite tunes for hours. Instead, they pick a short but challenging passage in a larger musical piece, and repeatedly play that passage until they get it right. Athletes use a similar process to hone their skills. This is hard work—you focus in every attempt, try to figure out what you’re doing wrong, and tweak your performance to make it better. If you do it right, you might be mentally drained after 30 minutes.
Q) What education should the testers, test leads equip themselves with prior to getting into management roles?
I am not a huge fan of educational qualifications as a criterion for entry into management roles, so I won’t answer this question citing any degrees or certification. More often I have seen degrees and certifications to be self-limiting than really empowering.
You may be the best individual contributor but that’s no guarantee that you would make a good manager. Most organizations make the mistake of promoting best individual contributors to managers. This doesn’t always work because a job of manager requires more skills than the mastery over functional skills. So what skills should testers, test leads should look to educate themselves on before picking management roles:
1. Empathy (Can I anticipate/feel the pain of my employees ?)
2. Conflict management (Can I turn around dysfunctional team/members?)
3. How to be a role model (Do my team look up to me?)
4. Bigger picture thinking (Can I translate organization’s vision into the goals that my team get excited about?)
5. How to effectively represent your team to upward management (Do upper management see my team as being effective and making impactful contributions?)
6. Executive maturity (Do I know informal channels within the organization to get the work done?)
7. Having a presence in the organization (Do the people in the organization know me and what I do?)
8. Performance management (Do employees perceive me as being fair in my approach?)
9. Being a sponge (Do I absorb pressure or excessively put the pressure on the team?)
Q) What are some of the ways in which we can build the team towards being better at communication?
a) between testers and
b) between testers and the others in the team?
You can do all sorts of team outings and team games to improve teamwork and communication among the team members but most of the times such events just give a momentary feeling of accomplishment and not make a long term impact.Why?
Because most such events fail to touch the foundational elements that impact team communication. What are these elements? How do these help better communicate?
1. Focus on building trust:
Trust is at the very foundation of the way human beings operate. Lesser the trust, lesser the communication. More the trust, more the meaningful communication. There are no two ways about it.
Being well-intentioned, being an unconditional giver, helps build trust.
2. Understand the personality differences.
Introverts draw energy from within. Extroverts draw energy from other people. Both communicate differently, both respond differently to different situations. Like these two personality types, there can be many different ways of classifying personality. Most of the personality assessment tools won’t be accurate but do give an idea.
Being empathetic towards personality differences does help improve communication.
3. Inculcate Intellectual humility.
Intellectual humility is having courage to recognize that you might be wrong about what you believe. People are naturally drawn towards someone who is willing to admit her mistakes openly.
Being intellectually humble makes one authentic. Authenticity in conduct does make it easy for others to approach you.
Q) What are the new trends,topics and tools that the testers need to equip themselves with before stepping into 2019?
In large part of my career, I meticulously followed trends only to find out that:
1. Following trends is an easy thing.
2. Technology trends are often short-lived.
3. Despite 1 and 2, technology trends matter.
Since technology trends matter, we got to do something about them.
Learning about them is the least we can do and we must learn. But the real challenge is to find trends at the right time and assess their impact on our careers before they become threatening.
I follow these three step principles to deal with trends.
1. Have a beginners mindset.
2. Anticipating change and adapting to it is a skill. We often fail to give it the stature of a skill.
3. As much as we try, it’s not possible to anticipate change everytime. If that happens, do the best possible thing: follow fast.
Let me close this by sharing this story:
Years ago, the original product of Intel was D-RAM which is basically memory for computers and they had just started to invent the micro-processor. They had a real business problem, the Japanese were killing them in the D-RAM market, just destroying their market share.
So Andy Grove and Robert Noyce were at the office late one night and they were talking to each other.
· Andy says to Robert: Wow we got a problem!
· Robert says we sure do.
· Andy asks- If Board says we would get the new guys to solve this problem, what would the new guys do.
· Robert says Oh that’s easy, they will get us out of the D-RAM business.
So Andy Grove says, Yes why don’t we do that before these other guys get in.
To me, Andy’s question about “what would new guys do” is quite profound because it reflects that Andy was more than willing to be a beginner again. And to me, that is what is needed most when we drive the change efforts.
Most of the organizations fail to cannibalize the stuff at the right time.
I would leave you with this question to ponder: Would you be willing to cannibalize your career of trends suggest that your current career is going to be disrupted?
Q) What can new non-testers learn initially in their career that will help solidify their future?
a) soft skills
b) technical skills
Q) What skills can the testers learn from the programmers around them?
You can learn programming and other humane traits like attention to details, analytical thinking, troubleshooting, thinking on the feet, learnability and many others from programmers.
But you can learn a lot more if you don’t slot people as programmers and non-programmers.
When it comes to learning from others, do not bucket people into categories. Be willing to learn from everyone- irrespective of profession, seniority, gender, caste or any other innovative category you can think of.
Thank you, Anuj for answering several of the questions as part of this Q and A with Women Testers e-magazine. We appreciate the effort, time and the gems of wisdom we have received via this learning. Link to Part 1 of this Q & A: https://www.womentesters.com/q-and-a-with-anuj-part-1/
Learning what other alternate science(s) helps me become a better tester?
As a general answer I don’t think it matters that much which science(s) you’d learn, but rather how you relate them to testing. How much effort do you put into finding and exploring those relations? If the area of science is close to IT, it will probably take some effort to find interesting over trivial relations. If it’s farther away, finding meaningful relations will take effort, because they will be somewhat more abstract.
If I needed to make the case for one field of study inparticular, it would be philosophy, since that’s what I studied before becoming a tester. One skill I picked up is being able to (partially) construct someone’s worldview based on what they say, since that’s what you do when reading philosophy. It also taught me to reason on a more abstract level – allowing me to think about the information structures involved next to thinking about the specifics involved. Thirdly, since there’s more and more discussion about ethics in software engineering, studying philosophy will help you participate in those discussions.
I am new to API testing, what tools and guidelines are recommended for API testing?
There are a lot of different tools for API testing. A general recommendation is difficult, because it will depend on the kind of API and the kind of testing you want to do.
Postman is a good tool for exploring REST and SOAP APIs. You can do that with the free version. It’s also quite popular, so you can easily find information online about how to do particular things.
I am planning to learn programming to assist my testing, where do I begin? And will programming skills assist me to become a better tester?
The best place to start is the place you can continue from. There are so many books and online courses, that it’s rather easy to learn the basics of programming. But then what? Contributing to an open source-project can still feel quite intimidating. You can start your own project, but how do you build a community around it? So my advice would be to start by learning a language you can use to solve a problem you have right now. Ideally, you also have some people close to you (colleagues, testing community, …) you can ask questions. Solve that first problem (it’s fine if it’s a small problem that is solved with 20 lines of code), then move on to the next one, and the next one, etc.
Personally, I started by creating a simple templating tool in Perl, because I got tired of copying and editing xml to test SOAP services. Then I built a tool in VBA for Excel that could compare values across different reports, because I didn’t even want to think of doing that manually. After which I did some stuff with Selenium WebDriver in Java. In the end, I started using Python in which I have now done a bunch of things, so it seems that I finally can call something my “main language”. So two lessons from my experiences: build things that are useful to you right now and don’t get hung up on picking a language.
As to their usefulness, I think programming skills can help you in several ways. You’ll have a better understanding of the thought processes and the challenges of programming. You’ll be able to better read the code of the product you’re testing. And you will be able to build tools to help you with your testing.
I intend to work as a test consultant with over a decade of experience in testing, where do I begin to learn about test consultation? And what are my chances as a consultant outside India?
Jerry Weinberg has written two great books about consulting: “The Secrets of Consulting” and “More Secrets of Consulting”. For something more concrete, there’s Bill Matthews’ talk “Get Out Of The Testing Game” from TestBash 3, in which he talks about a test process improvement job he did as a consultant.
On a more practical level, what consultancy can you do right now in your current job? Not that you should be giving unrequested consultancy, because that is almost never well-received, but you could do some smaller things. Where you work currently, how does testing fit in the overall software delivery process? And how does that fit in the overall business processes? What are the three biggest pain points with regards to testing? What are the three biggest strengths? If you would address the pain points, what small experiments would you design? How would you decide if these experiments initiate the desired change?
Whom do you talk to at work with? Do they have different roles, like testers, developers, project managers, department managers, …? As a consultant, you will deal with people in these different roles. Can you explain what it is they do all day? What are their goals? Their challenges?
So to summarise, two questions: what are the core skills of a consultant and can you practice these in some form at your current job?
As to your chances as a consultant outside India, I can’t offer much advice there, since I’ve only worked in the Netherlands. I haven’t come across many consultants. There are however a lot of contractors, i.e. people who are hired for a specific project. This gives companies flexibility, as it is difficult to fire an actual hire, but contractors usually require to be given only one month notice.
How to deal with time consuming meetings amidst testing, and learning to test?
This question reminds me of something I became very aware of recently: people making the distinction between working and being in meetings. They should be no different. If you’re not working by participating in the meeting in some form, that’s a problem. This also means that being good at meetings is a crucial skill.
As to the question itself – although I have no idea if the person asking is making this distinction – my answer is along similar lines. I assume that you’re participating in these meetings in your role as a tester. This means you should be testing or at least perform testing-related activities during these meetings. Which means you can use these meetings to practice your testing. So my advice would be to start with the question: what does a tester who successfully participates in these meetings look like? What do they do? And what do they not do? One thing that good testers might do is spot shallow understanding in a meeting and start asking questions to get to an actual shared understanding. Then before a meeting, pick one of these things that a successful tester does and focus on that one thing. Put it into practice and observe how/if others put it into practice to.
Apart from the meetings, the only way to learn is to take time for learning. In practice that often means blocking time in your calendar and finding a place away from your desk to do the learning. Communicate this clearly to your team and be consistent: learning time means learning time.
What books do you recommend that a tester read, in 2018 and 2019?
For a recent book I would recommend “Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations” by Nicole Forsgren, Jez Humble and Gene Kim.
Next to that I would recommend reading books from the previous century. IT seems to be such a fast-moving field that it’s easy to forget many of the great truths in software engineering (e.g. Conway’s Law) were already known in the 1960s. Some excellent books from the previous century are:
– Code: The Hidden Language of Computer Hardware and Software (Charles Petzold, 2000)
– The Mythical Man-Month (Frederick Brooks Jr., 1975)
– Peopleware, Productive Projects and Teams (Tom DeMarco & Timothy Lister, 1st edition 1987, 2nd edition 1997)
– Quality Software Management series (Jerry Weinberg, 1991 to 1997)
– The Design of Everyday Things (Donald Norma, originally 1988, revised edition 2013)
I am a beginner and need to know by having no formal training in testing, how can I contribute to testing?
The obvious and not very helpful answer is: learn how to test. It is rather weird and more importantly unfair to the person in question that people seem to expect someone to do testing without giving them much opportunity to actually learn about testing.
Which makes me rephrase the question to: how can someone learn testing on-the-job?
My first piece of advice would be to set time aside for learning and to stick to it. Create a program beforehand: a list of topics and resources you want to work through. This way, you’ll never get stuck on the question what to do during your learning time – or use it as a reason to skip it.
Secondly, take some time every day to reflect. Grab a notebook and write at least one page per day about that day. Don’t worry about what to write. Start with the first thing that comes to mind when you think about what you did that day. Observations and thoughts will follow and before you know it, you’ll be continuing on a second page on most days, because you’re not done yet.
Finally, you can ask your colleague testers (assuming you have these) if they would like to debrief their testing to you. So once they’re done testing something, they summarise and explain what they did to you in maximum 10 minutes. For them it’s great practice in reporting and you will get insight into how different testers test different things in different ways. An additional benefit is that debriefs are a great way to come up with more and improved test ideas.
What other roles can a tester take apart from the lead and manager, as they progress in their career?
Ideally, you work at a company that allows you to progress to an expert tester role. Strictly speaking, that’s the only real progression from a tester role. Although in an org chart becoming a lead or manager looks like a progression upwards, in my opinion you’re switching to a parallel track. The responsibilities and required skills change significantly, so they are different jobs altogether, not progressions from a tester role. Looking at it that way, there are several parallel tracks you could switch to – the most common ones are probably developers, scrum master or the product owner. The latter two seem to work especially well for testers. Testers who tend to get involved with how the team does their work, can move into a scrum master role. Testers who have a good feel for the product as product instead of ‘just’ software, can move into a product owner role.
Smart devices are programmed to send user information to the product/owner. But some of the user manuals/guides do not upfront say this. In this context, what type of testing can be performed?
I don’t have any practical experience in this area, so this will be a high-level answer. What you want to do is the perform a man-in-the-middle attack (MITM) on the device, i.e. capture the traffic to read it. There are two parts to that: the capturing and the reading. If the device connects to the Internet over wifi, capturing is fairly straightforward. Turn your computer or laptop in a wifi hotspot and make the device connect to that hotspot. If the device connects over the mobile phone network, the same idea applies, but the practicalities are more difficult. You’ll need to set up a mobile network antenna to which the device will connect. Getting the right equipment and finding out how to do that, might be a bit of a challenge, though.
Once you can eavesdrop on the traffic, the question is how to capture and read it. Tools like WireShark (a network protocol analyzer) or the OWASP Zed Attack Proxy (a security testing tool) will let you see the captured traffic, but hopefully it is encrypted. It’s impossible to give general advice on how to decrypt the traffic, as that depends greatly on the level of security implemented by the device. If you can’t decrypt the traffic, there is one thing you can do. Track how much data is being sent when. You won’t be able to draw any hard conclusions, but you can ask: considering the functionality of device, are the traffic patterns I see reasonable?
On the similar lines, can the tester ask for and test for claims – Claims testing?
What is the future of testing in the age of AI, ML/DL, IoT, Devops, Testops?
I don’t think any of these fundamentally change testing. Agile didn’t change testing in a fundamental way either.
Of course, a lot about testing has actually changed and will continue to change. And it is hard to see through all those changes – with people shifting left and shifting right, new tools and technologies emerging, the pressure to automate everything, testing being declared dead yet again, etc. However, if you take a few steps back, you’ll notice that the fundamentals of testing, the basic principles have not changed at all.
That’s actually one of the secrets in the practice of any skill. I’ve heard this from both my music and my martial arts teachers: you’re never done with the basics, you have to keep revisiting them. Refine them, deepen them, return to them to regain your balance.
For the changes coming with AI and ML/DP, I think they will add an interesting set of tools to our existing toolkit. There is one thing I’d like to see mentioned more in this context: decisions made by AI are not auditable afterwards. It’s not possible to determine how the AI came to its conclusion. It will be interesting to see to what degree we will find this acceptable when it comes to testing.
For IoT the main challenge there seems to be security, so I’d think that any tester active in that area should have some basic knowledge and skills in security testing.
Another interesting aspect of IoT is that as we turn more and more things into computers with an Internet connection, testing needs to widen its scope as well. As these devices become more and more integrated into our daily activities, we will need to take their effect on those activities into account more and more. Not just on a user-level, but also on a social and ethical level. Back in the day, most software was used by someone sitting at a desk, performing a task related to the software. That’s a significantly simpler context than the context (and actually: contexts) of the present-day smartphone user. And that’s not even a cutting-edge example.
Finally, about Devops and TestOps I can only be happy. The more collaboration between all people involved in the product’s lifecycle (conception, development, operation, disposal), the better.
Joep wandered into testing in 2006. Two years later he discovered context-driven and realized that testing is actually not that bad a fit for a philosopher. In 2015 he joined Mendix, because he wanted to increase his technical skills. Since then he’s become more and more involved in automation, while also taking on the roles of scrum master, then team lead, and as of October 2018 tech lead testing. Somewhere along his journey (some say it was 2013) he started speaking at conferences and joined DEWT. Outside of work, his thoughts tend to revolve around coffee, fountain pens and bouldering.
We asked Anuj Magazine a mixed bag of questions about testing, career and skills required for a tester. Here shared in this quest for endless testing knowledge is his deep understanding of this science and brief answers.
Q) As a tester without dev/coding skills, how to become a technical tester with programming skills? A) Let me first get the question right before getting to the answer. To me, the phrase ‘Technical tester’ is an oxymoron.
In today’s day and age, everyone associated with software business are supposed to be sufficiently technical.
In my own career, I have interacted with professionals from spectrum of roles and functions. As example, one may argue that salespeople can escape with minimal technical skills. But the best sales people I have seen are the ones who are technically very articulate (among other skills)) and can strike rich conversations with customers. This, for a tester it’s a given that she has to be technically deep in the chosen area of expertise and technically broad in other related areas. 2. Second thing that I would like to correct in the question is the association of word ‘technical’ with only programming skills. Before you get me wrong, programming skills are without doubt important but they just aren’t the “only” technical skills out there. Right from your product architecture, APIs, underlying operating system, interactions with external systems, security, performance- there are innumerable ways to slice and dice technical skills. So I would encourage testers to have a holistic view of skills rather than looking at it from a narrow lens. With this context established, I really see the problem expressed in this question as being mindset challenge and learning or learnability challenge. Allow me to explain it a bit: A cursory glance at the way our society operates will reveal that as a humans, we are experts at categorizing ourselves in as many granular ways as possible. An example, we subconsciously categorize people based on city they come from, the way they speak, based on religion and so many ways. This thinking is just the byproduct of society we live in and I am not trying to be judgemental about it. It is what it is. But professionally the problem happens when we start applying such thinking at work. We use the society imposed template to look at the jobs and start categorizing them. We start thinking I am a manual tester and programming is developers responsibility or managers job is to encourage the team unless she does it, I won’t show initiative. This is the mindset aspect of question that I was talking about. If we apply this template to our jobs, we give away control of situations to the forces beyond us. So the first thing to do to become a better at anything you want to do (in this case, programming) is to instill belief in self that it is my responsibility to become a better at a desired skill, it is my job, I am not doing a favor on myself by learning- my future paycheck depends upon how I learn. Would strongly urge to shun categorization mindset. Secondly, I talked about it being a learnability challenge. What I mean by that it most of us want to learn skills but we don’t see “learning how to learn’ as a skill. That ‘i want to learn programming language’ is a skill based learning mindset. If you twist this question to ‘How quickly can I become a world class programmer” it will invariably force you to think through the learning methods you should apply to get to the goal in minimal possible time. Most people like to learn via books, via internet sites, joining classes and that is fine. But the problem becomes if you continue leveraging just these means but remain underinvested in evolving other learning methods that can give you better investment from time. 70:20:10 model of learning addresses this challenge well. It simply states that 10% of all learning happens via formal education like classes, books, online tutorials. 30% of learning happens via modes called as social learning, which includes mentoring, spending active time with people who are great at what you aspire to become and 70% of learning happens on the job, when we work on live projects, take on challenges head on while working under time pressures etc. The irony is that more often we spend 80% of time learning via formal education means, which really impacts 10% of learning surface. So there is a need to look at learning from fresh lens and invert the way we think about it.
Let me summarize the answer in 5 actionable tweets: 1. As a tester, you are expected to be technical. There is no ambiguity about it. 2. Being technical, doesn’t just include programming but a wide variety of skills based on context of your project/area.
3. Shun the categorization mindset. It is solely your responsibility to get better at your chosen area of expertise. Choose to stay in control of your learning.
4. Don’t just narrowly focus on what you wish to learn. Invest your time in learning how to learn effectively. 5. Don’t just learn from books, online/face to face trainings. Get a mentor. Spend ample time learning from experts. Pick a live project that is much beyond your current skills and persevere to execute it till the end. Q) If I join as a SDET today, where should I see myself after 10 years? A) In the next 10 years, you should see yourself as a CEO of an organization making immense impact on the company, employees and society. What distinguishes us humans from other living species in the power to dream. Why waste this power by choosing to dream small. One promise we should make to ourselves is that whenever we think of future, it is bigger, bolder and better, much better than today. There is one more perspective I would like to offer on this subject. When we think of ten year career horizons, we generally tend to think growing vertically i.e. if I am an SDET now, I would be Senior SDET in 2 years, then Staff SDET and so on. There is nothing wrong in thinking vertically except for the fact that vertical plans for careers tend to be self-limiting. What I mean by self-limiting is that designations trap you into thinking that reaching next level is the only goal you should have even if you are capable and are performing at much higher levels. If you consider any industry leader you admire and look at their career profiles, I bet they wouldn’t have reached where they have reached by just following organization’s laid down career frameworks. They may have followed that a bit but more than that they would traversed horizontally and chartered their own unique paths. In summary: 1. You are capable of reaching at unprecedented heights in your career in 10 years time provided you choose to aim higher at the first step. 2. Follow career paths laid down by organizations as a guidance at best but not the only way to grow. Successful people create their own paths however difficult it may be. 3. Like everything around you, within next 10 years the SDET role itself would have undergone transformation for good or bad. It’s best to have a pulse of what’s happening around you, have informed opinion about the future and change course as needed. Q) For Women Testers, do you advice moving into technical role or management role as she moves forward in her career ?
A) Let me start by sharing 2 stories with you:
I recently ran Singapore full marathon. It was a gruelling course of 42.195 km with a very hot and humid conditions. In such a course, one seeks inspiration from fellow runners to keep at course and continue going. Many a times during the run, I looked up to female runners who were running better and strongly than I was.
A couple of years back a wrote this article: “What testers can learn from my wife” in Women testers website. In this story, I narrate how my wife inspires me professionally everyday. Being a woman in an extremely male dominated automobile industry, she managed to successfully carve a niche for herself, despite many odds facing her. She took-up and excelled in both management and technical path.
What I am trying to allude towards is that I don’t believe that gender should even be a factor in deciding or limiting yourself to choose any career path of your chose. Of course, there may be challenges in certain paths, but isn’t that true for anything worth doing in life.
One heuristic you can try choosing between technical and management role: If you like being with yourself more, try technical path. If you like being with people more, try management path. However, this heuristics is only valid for early stages in the career. As one grows towards more senior roles, even the technical roles need more and more social skills and management/leadership roles need more and more technical skills.
In summary, no career path is written in stone. Following 4 steps can help you reach your potential.
1.identify your strengths,
2.show appetite for experimentation,
3.if things don’t go as per your liking don’t hesitate to change course.