Category Archives: Guest Post

Q and A with Ajay BalamurUgadas

Q) What do you have to share with the newbie testers aspiring to be software testers?

Three key themes with three points each:

  • Practice
    • What you know so that there are very few better than you.
    • What you don’t know so that you can know it soon.
    • To make as many mistakes in fail-safe environments and be aware of them so that you don’t make the same mistakes in high-stake situations.
  • Network
    • Attend as many meetups, events, conferences, hackathons as possible.
    • Learn from others who have already made more mistakes than you.
    • Do not hesitate to ask for help and give it back when it is your turn.
  • Testing is for life
    • Do not expect success very early.
    • Do not burn bridges with anyone.
    • Do not get disheartened when your experiments don’t yield the expected results. Take it as a learning and try again, intelligently.

Q) What is the go-to guide to self learn about testing?

Everyone learns in their own way and so I want to suggest different ways of self-learn and leave the choice to the testers

Q) Is the debate manual versus automation testing still relevant?

I would like to answer a different question here: “What should be our approach when we encounter a debate like manual versus automation testing?”

Three things:

  • Listen to both sides of the argument.
  • Study in depth about both the topics involved in the argument.
  • Ignore the debate and sharpen the skills in both the topics which will not leave you with any time for debating.

Q) Do share with us about your work with the local testing community?

Thank you for asking this question. Apart from a full-time job where I head the Delivery at Qapitol QA, helping companies to release quality software, I interact with multiple testers and testing communities to be aware of different contexts. This helps me a lot.

Meetups: Agile Testing Alliance, The Test Tribe
Workshops: Conducted through Test With Ajay (Open to collaborate with any organizer/community)
Speaker: Conferences, Meetups
Coaching: Testers who are interested to learn specific skills over Skype (ajay184f)
Articles: StickyMinds, My Blog, LinkedIn Pulse

Q) How is software testing gaining or losing traction with the Gen Next software graduates?

I do not know if testing is gaining or losing traction. One thing I am sure of is that we should not misguide the graduates. Most of them are smarter than the current professionals.

One of the multiple ways we could help them is by giving our time to answer their questions, explain the truth behind our myths and demonstrate our online portfolio.

Q) How test management is now compared to what it was a decade ago?

Just like the changes in the industry trends, the way testing was managed has also changed. Initially, the focus was on the artifacts such as the test cases, bug reports, and the metrics. Slowly, the management wants to know whether the testing team is adding value or not.

I would say that test management encompasses multiple skills and few key skills include problem-solving, coaching, communication and having a good emotional quotient towards your team.

Q) What are the key lessons that the experienced testers, or in general any tester needs to learn?

Experienced Testers: We have to come out of silos and comfort zones and help each other cross the wave of change that is rocking the testing industry. We have to stop spreading best practices. We have to openly accept where we messed up and highlight our online portfolio to help each other. Some of my mistakes I have tried to highlight here: www.leanpub.com/50mistakes

In general, the testers can focus their energy to learn in depth about technology, testing, programming, domain, and the industry. We need to understand that learning is a continuous journey.

Q) Does positivity, curiosity, interest influence you when testing? If so how?

These traits influence my testing for sure. When I am positive, upbeat, energetic and highly curious, I am brimming with test ideas. I can say that I get into a zone where I don’t even realize if a glass of water is kept next to me. My entire focus is on the product, the test idea, the components of a test and so on. Sometimes, when I am physically, mentally or emotionally tired, I am missing the straight forward bugs. I am letting my biases take over me and I am not happy with the end result, most of the times.

A tester might be staring at a computer or an image or a handwritten note for quite some time, do NOT disturb the tester. (S)he might be building a mental model and with your one second of interruption, the whole model might disappear. Image link: https://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/

Q) What are some of the offbeat ways to learn about software testing?

  • Four Hour Tester: https://www.fourhourtester.net/
  • Spend time in other departments and know what bugs escape into the release.
  • Get into challenges where you pay money for every bug, not in your list.
  • Review products online, note what customers complain and learn from them.
  • Participate in bug hunting contests, review the bugs filed and learn from them so that you can find them, the next time.

Q) If you could bring someone/something with you to your workplace, who/what would that be?

It depends on the purpose.

If I want to get my work reviewed, I would request the experts to review my work. It would be awesome to learn from them and make a note of all the mistakes I make.

If there are things that help me test better, then they are
1. Water Bottle
2. Marker
3. Book and pen
4. Some snacks
5. My smartphone

Q) How being a problem-solver has helped you in life and with software testing?

  • Problems are everywhere – in life and in testing.
  • People are everywhere – in life and testing.
  • Learning to solve problems from PSL workshop (Jerry Weinberg and Esther Derby facilitated) has helped me in solving any problem to my satisfaction.

Some of the gains for me include:

  • Peace of mind
  • Increased productivity
  • More close friends
  • Happy personal and professional journey
  • Multiple opportunities

This might look like an exaggeration. Majority of the attendees of my Problem Solving Workshop have experienced similar discoveries. Know more about my workshops here www.testwithajay.com

Q) What jargons and practices must be extinct in today’s’ tech world?

Many but I have listed three practices here: https://www.stickyminds.com/article/3-testing-practices-we-should-all-stop

I will share with you once I have listed out every jargon I think should be extinct.

Q) What is your one message to the experienced test managers or those in senior positions and have the power to influence?

  • Connect before correct – I heard it first from Gina Enache Tuppad
  • Treat your team members as people and later as testers/developers.
  • You will see happy and productive employees.
  • Maybe, I should go ahead and prepare a talk on this.

Thank you very much for your questions.
These were brilliant and I thoroughly enjoyed answering them.

AUTHOR BIO

Ajay Balamurugadas goes by the handle ‘ajay184f’ in the testing community and is continuously re-inventing his testing methodology. He co-founded Weekend Testing – a worldwide movement for skilled testing authored six small books under the theme “What If” downloadable at his blog http://EnjoyTesting.blogspot.com. His latest book is available at www.leanpub.com/50mistakes. His friends associate the terms – ‘Change Agent, Idea Man, Motivational’ to him. He tweets under @ajay184f and loves to have long conversations on software testing and life in general. He is currently leading the delivery at Qapitol QA – Provider of Continuous Testing Solutions to DevOps Teams.

Q and A with Anuj Magazine – Part 2

Anuj Magazine photo
Anuj Magazine

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.

As he says in his inspirational article, goes on to say-

“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:

1. Listening

2. Speaking and communicating

3. Reading and comprehension

4. Writing

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.

  1. 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.

  1. 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.
  2. 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/
  3. 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

Hunger: momentum

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.

-END-

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/

Q and A with Joep Schuurkes

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.

When you start working with bigger test suites, more complicated requests (e.g. polling), or want to run the tests in a pipeline, I would recommend moving to a programmed solution like RestAssured for Java or pytest and requests for Python. This does mean you need to learn some programming and that may sound like a big step, but I don’t think it is. APIs are meant to be consumed by other software, so every language has several libraries to make that quite easy. Moreover, tools like Postman and SoapUI require JavaScript and Groovy respectively for more complicated tests anyway. The only way to avoid programming is to use a framework with a domain-specific language for API testing. However, then my question is: if you are going to learn a domain-specific language, why not learn the sub-set of Python, Java, JavaScript, … you need to do the API testing? That way, once you want to start doing other things with code, you have a foundation to build on.

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.

___________________________________________________________________________

Author bio

Author Joep

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.

@j19sch | https://testingcurve.wordpress.com/ | https://www.fourhourtester.net/

Q and A with Anuj Magazine – Part 1

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.

4.go to step#1.

https://www.womentesters.com/what-testers-can-learn-from-my-wife/

I don’t see career paths from the lens of gender.

In my world view women can excel in any chosen path- technical or management and so can men.

Show the Way, Then Get Out of the Way

First Steps Through a Coding and Testing Journey

As I drove up to the glass and steel office building in our town, I figured I would pick up my daughter, like I had from so many other school sponsored events. I’d ask her how her night was, she’d say it was “good” and then we’d have a little bit of small talk about her day. On this day, however, the response was not at all what I had expected. On this day, she had gone to a presentation being sponsored by Google and YouTube called “Made with Code”. It was meant to be an introduction to how computers control so many parts of our lives, from conducting traffic, managing trains and helping airliners take off and land, to business functions and fun things as well, including computer games, favorite applications, and the social media tools so many of the kids were familiar with. As she hopped in the car and I asked how her time was, this time, she answered back “it was amazing. There are so many things you can do!” She described a variety of the projects they demonstrated for her. Her breathless enthusiasm made me smile, but it also made me think. In this world that requires so much technical acumen, why shouldn’t I encourage her to learn as much as she wanted to about code and software?

Having been in the software testing world for twenty- four years, twenty one of those years officially holding a job title that had some connection to testing, I felt I’d be a great person to teach her about what it took to learn more about software testing. What struck me as an important perspective to focus on was to help Amber get excited about how computers work, not from a “users” perspective, but from a “makers” perspective.

Perhaps there might be some interesting “discoveries” and reactions from our two perspectives. We both decided to put some practice times into our days, and see if the concepts that I have been learning over the years are easily teachable, or if I might learn more from her interactions than she would from me. That process has had its fits and starts. We discovered that streaks are wonderful when they are established, and they can be motivating when they get going or build up a substantial amount of time. We also discovered that streaks can be big let downs when you find you have to break them, or if something forces you to shift gears. Sometimes, getting back into the swing of regular practice is as difficult as starting over.

For a young person looking to learn to code, frankly now is probably the best time in history, because so much free material can be accessed, played with, reviewed and used in real time, and much of it completely free or very close to free. Sites like Codecademy and Khan Academy have proven to be excellent for this purpose, especially when it comes to basic syntax and general details of languages. Together, we have chosen to focus on three areas; HTML/CSS, JavaScript and Python. Why those three? Well, pretty much any web interface today that allows someone to write or create something to post and share allows for editing documents in HTML, so knowing the markup tags for HTML and CSS felt like a logical first step. Since most modern web pages utilize a lot of JavaScript, which likewise made sense to be a next step. Why Python? Truthfully, I picked Python because it was the programming language I have to date had the least amount of experience working with that’s readily available and in use in many places. It felt reasonable to say “we could learn this together. I could help with broader concepts, but the syntax would be as new to me as it would be for her.

Through the past few months, we’ve learned a lot about each other’s work styles and approaches to solving problems. Additionally, we’ve learned what it feels like to approach an interest together that goes beyond a general hobby and resides outside of mandatory school work. Rather than have me explain all of this, I figured it might make sense to get Amber’s perspective and how she felt about taking this journey.

Make it Real, and Make it Fun
AL: Codecademy was helpful in that it had whole lessons on the basics and how to get started. I appreciated that each segment blended into the next, so that you could work on one step at a time. Several of the projects allowed me to make changes to what looked to be very advanced sites. My dad explained to me after I finished these sections that they were showing me frameworks (the one we worked on that I most remember right now is Bootstrap.JS). The ideas that were being taught were easy to grasp and I felt like I could progress fairly rapidly through a few of the projects, but I felt it was a bit too streamlined to use the framework. I’d make changes that would have dramatic effect on the look and feel of the site, and I didn’t think that would be possible with just a line of code being edited. My dad pointed out to me that a lot is happening under the surface to make it so a simple one line change would have such a dramatic impact, but yes, it was possible to have one line of code made such dramatic changes. The important part was to make sure that I understood exactly how much help I was getting from the system itself. Overall, it made what I was working on feel a lot more real than just writing up a text box and making sure I could put text in it. Feeling like I was actually editing AirBnB was pretty cool.’

Guide Me to Guide Myself
AL: One of the things my Dad tends to do that can be a little off putting is when he sits next to me and “helps” me with some of the assignments and examples. I like the fact that he can help me understand what is happening, but sometimes the “Dad Card” gets played too much. He can be a little to quick to tell me when I am doing something wrong. That gets frustrating. It makes me feel like I am not learning as well as i could. When the going gets hard, that’s when you really start to figure stuff out, but if my dad is too quick to help me, then I don’t really learn what I want to. We finally made an agreement that I would work on my own computer and that I would call him over only when I felt stuck or confused. While I appreciate his input, I told him I was not going to learn anything with him always hovering over me and telling me what to do.

Strive to be Consistent, But Don’t Beat Yourself up if You Can’t Always Be
AL: I will admit that keeping a streak running can show dedication or progress, but it can also give you a false idea of what you’re learning. I have several friends that have expressed interest in learning how to code, and some of my friends have said they’re interested, but haven’t really stepped up to do it yet. By keeping a streak going, I can help motivate them and encourage them to do some of the exercises with me. It’s also possible to do just one exercise a day, and keep a streak going forever, but move really slow. There needs to be a balance between getting points for what you do and learning enough to actually get what I am doing. The other challenge is that, at least with Codecademy, I feel like I am learning a lot about how to use the terms and tags, but I’m not learning enough about where I can actually use it. My Dad pointed out that tools like WordPress, Blogger and Tumbler allow him to have a public place he can show off stuff if he chooses to, and that many of the elements are completely adjustable using HTML, CSS and JavaScript. That availability gives me an opportunity to interact with tools I already know about and work on code in a real place. Doing rather than just reading is the critical part.

I’ve greatly enjoyed these past few months and watching my daughter learn about the various aspects needed to set up a site, use code to make pages or apps that she can use (mostly rudimentary at the moment, but that’s where we all started at some point), and carry on from there. I think she makes some good points that will help other young programmers get the most out of what they are learning. As Amber sums it up “Keep it simple, make it fun, and do a little at a time as often as you can”. That’s great advice, both for an Intermediate school girl and for her twenty-four year veteran Dad.

 

About the Authors:

Amber Larsen is winding down her Intermediate School years and getting ready to enter High School in the San Francisco Bay Area. When she’s not playing around with web pages and figuring out code syntax, she enjoys Japanese Manga and Anime, music from both Japan and South Korea, watching K-Dramas and having fun with cosplay and attending events where she can meet other creative people.

Michael Larsen is a Senior Quality Assurance Engineer with Socialtext in Palo Alto, California, USA. Over the past two decades, he has been involved in software testing for a range of products and industries, including network routers & switches, virtual machines, capacitance touch devices, video games, and client/server, distributed database & web applications. He is a Black Belt in the Miagi-Do School of Software Testing, President of the Association for Software Testing (AST), a lead instructor of the Black Box Software Testing courses through AST, and a founder and facilitator of the Americas chapter of Weekend Testing. Michael writes the TESTHEAD blog (http://mkltesthead.com) and can be found on Twitter at @mkltesthead. A list of books, articles, papers, and presentations can be seen at http://www.linkedin.com/in/mkltesthead.

What Testers can Learn from My Wife

Let me start by guessing what you might be thinking looking at the title. Some guesses-
1. This must be an emotional piece from someone who adore his better half.
2. This must be a sort of self/family achievements boasting exercise.
3. This must be something about a next generation test innovation.

If you are thinking on the above lines then i only have one word for you- Sorry, your assumptions here are misplaced. It might take me rest of the article to explain about my stand here but let me clear some things upfront-

1. My wife is not a software tester.
2. In fact, her job profile has nothing remotely to do with Information Technology.
3. She is an engineer by qualification and professional experience.

As a family, we have been brought-up in a culture that values humility to the core. As a result of this foundational nature, we are probably low key about the way we are and about our humble achievements, if any. Being low key usually have a negative connotation to it especially in the cultures and sub-cultures that value extroversion. But to me, being low key does not mean being anti-social as we are sufficiently social and thriving in the space that we operate in.

With this background, i can say that what i am attempting to share here is probably something that does not come very naturally to me. But in the spirit of sharing for the betterment of our profession, i thought it is a risk worth taking. So my words my stumble, grammar may get shaky, the full stops may seem too far away but still here i attempt to narrate the lessons that i learned from my wife that helped me become a better professional.

A bit more about my wife:
Being engrossed in the everyday challenges of Information Technology profession, we sometimes get too blinded in our world. So much so that we don’t recognize that any other profession or job that can be as challenging, if not more. If i just say that my wife is in automobile engineering profession, it may not give perspective on what she actually does- so let me narrate a bit more.
1. A very mention of the word “automobile” should give a sense that it’s a profession that is dominated by a certain gender. No prizes for guessing which one. One could argue that even IT is dominated by male bastion, which i don’t deny. But difference lies in the extent. If, for example, IT has male/female ratio as say 3/10- take automobile world as 0.25/10 or even less.
2. Her job role is at managerial level and she belongs to a core engineering role, by which i mean- as a part of her role she knows each and every part of two-wheeler (her area of expertise). Every now and then, she gets to open each and every part of a two-wheeler and assemble it back. As a part of Quality role that she played, she knows quality assessment and parameters of each and every part involved in making a bike. As a part of her Service engineering profile, she gets to train managers, engineers to workshop workers on the technical nuances of her area of work. And much more.
3. She thoroughly enjoys her job and is passionate about it.

Professional lessons that i learned from her:
With this background, i will attempt to share some worthy lessons that i imbibed from her.

1. Be hands-on not because of your position but despite of your position
Few days back, my wife told me that she needs to go to work wearing the sports shoes. No, they didn’t have any sports event in the organization but on the contrary, it was the strike period. For those unfamiliar, strike happens in manufacturing plant when the workers usually have some unmet demands and they decide to abandon work. So why did she need sports shoes? On a lighter note, it was not to “run” away from work but rather run towards it. Let me explain- Given that it was a strike, the management had requested people from the organization to help with meeting production targets. She willingly volunteered for the same and was required to work and deliver Compressor internal assembly. She needed shoes (than the usual sandals) as a protection towards accidental oil spillage or heavy parts getting dropped.

Crises situations are not new to Software testing profession. We are faced with many uncertain situations during the life cycle of a release, including but not limited to- build breakages, late arrival of requirements, blocker bugs, and new changes at the end of the release, people attrition, and possibly many more. That truly is our world in Software testing. From the above incident that i narrated, the core question for me is- How often do we see Managers and Executives contribute hands-on when the crisis situation arises? Of course, there is guidance, words of encouragement and motivation from higher-ups but hands- on involvement?

I am sure we have seen some instances but does it happen often?
So, the core lesson she taught me is- Be proud to be hands- on, not because of your position but despite it.

2. Work for your passion irrespective of not getting the credit

I am sure most of the current generation Software testers are passionate about what they do. As i have experienced in my career, the extent of our passion towards our craft really gets tested at many times. One of the crucial such phase is when we go through a lean phase in our career.

The work culture in automobile profession is quite different from that in software industry. It’s a task oriented culture to the core. It means that if you do the task, then usually there is no response from your manager but if by any chance, you miss to do that you were asked to, then all hell can break loose. Of course, it is a person-dependent thing but higher- ups in that culture are quick to spot when you are wrong (even if you are really not) than really take efforts to appreciate the right deeds of an employee. Usually, the rebuke for mistakes is public deploying the choicest words. My wife usually a lone female in such meetings have been subject to uncomfortable situations mostly for no fault or mistake of hers as she is usually always ready with data- bound explanations. The bigger point here is how one gathers the motivation to continue one’s job if you are subjected to such situations almost daily, either happening to you or your colleagues. This is where I have seen her exhibit tremendous maturity to focus on task (not on people) and deliver great work despite not been given credit and accolades she deserves.

In Software testing world too, there are many difficult situations where our passion gets tested but you would agree that they are largely at a much lesser extent than what i described above.

From her i learnt to respond to unfair situations with the same élan as any other work situation. Treat every day at work as experience. Don’t leave seemingly bad bosses at once, as there is much more fun and fulfillment in winning such people over by your passion, focus and hard-work. And don’t keep bad experiences sulking within you, speak to your close ones, have mentor and routinely clear your mind off the negative thoughts.

3. Get better at job even if it means learning and mastering the local language.
No, the language here does not mean programming language, it’s the one that we use to interact with other human beings. Somehow, the people at the job my wife was doing spoke to each other mostly in the local language of Bangalore i.e. Kannada. Being the only non-Bangalore person, she realized that she will need to adapt to local culture sooner than later. Such adaptation would need her to learn and converse in the local language. With her will and determination, she picked-up the individual words, then small sentences and eventually became fluent in Kannada. From a non-starter in the language to achieving fluency good enough to train the people technically in local language in a matter of few months was nothing short of transformational to me.

Is learning local language important for Software professionals? Whenever i have asked this question to people, the response has always been skewed towards a resounding No. And that’s because people feel that writing and testing code majorly requires us to know English or English-like syntax’s. To me that’s a very narrow way to look at one’s job. Broadly speaking, every job has two aspects to it. The core job itself (development, testing etc.) and the people relationship aspect. Even if we write or test code, the work cannot be accomplished without teaming up with others and in certain cases, without approval of others. Now, one can argue that every organization has a business language and that must be followed to get the business done. There is no problem, in general, with this argument but it misses a larger point about complexity of human relationships. Such relationships, including at work, are never linear -as an example, even though English is a preferred business language, often people feel more connectedness with those who embrace local cultures. I would be missing a point if you are feeling that knowing local language would amount to favoritism, that’s not at all what i mean. But all I am trying to stress is the subtle nuances of human nature and why a seemingly unrelated thing like mastering a local language can enable us to work better than without having that knowledge.

4. Have a child like curiosity towards embracing newness

Newness, in essence means change.In automobile world, which arguably follows sort of fixed production process, newness opportunities may be thought of as limited. But automobiles are also invested a great deal in R&D and that is seen in the capability of organization to come up with new models. New model launches bring in a great sense of anticipation in the organization and for the techies post production, it is an opportunity to explore. That is what i have seen my wife do with almost a childlike questioning, exploration and figuring out each and every detail of what has changed not only at the exterior but also going a step ahead and opening the vehicle up and intricately checking the details.

Software testing profession also sees such situations when the new versions of the software gets released. Often testers deploy the build and observe what has changed. What i have not seen as often is the curiosity to see the code and understand what has changed and design tests. This is what i have learned from my wife’s experiments with the newer models of the vehicles. If you are really a curious software tester, then you shouldn’t be restricting your curiosity to what happens on the exterior but rather go a level down and see how raw code is designed.

5. Thinking out of the box is fine but not at the expense of making the box dirty
Most of the jobs in automobile engineering profession would require following a process to ensure conformity. This is done to ensure that physical parts that millions of automobiles use should behave the same way across. To ensure the sameness of such high-degree, it requires that the process that goes into making the part and later assembling the same is identical, and fool-proof. So while there are part of jobs that deal with R&D, a good chunk of jobs are related to ensuring consistency and less variance, and this is where process orientation is a key virtue. Following the process for certain things is taken as a given expectation.

Coming to Software engineering world, I have seen certain fascination by many people in believing that following a process is not right or something similar. Agreed that a good portion of software engineering requires a Research and Development mindset, but does it mean that all the tasks in testing or development are research based? I guess the answer is- No.

Can the various release phases exist amicably without well- defined entry and exit criterias? Can all the testing be only Exploratory? Does all the test-ware need to be created new (based on Research) always or do we reuse pre-existing test-ware? Does the test-reports not, in some cases, need to be standardized based on stake-holder needs? Doesn’t the role of testing changes based on the phase of release you are in i.e. towards the close to release, the role changes more from finding bugs to confirming there are no ship-critical bugs?

If you look at these and many such instances in software testing world, you would realize that we are talking about situations where we would expect less variations and more conformity. This is exactly what a well-designed process help us achieve. It ensures repeatability of results wherever it is desired and needed. And as you can think now, there are some situations in software testing where this is needed. So before you bash the process, think that processes are here to serve a need. There can be cases where process isn’t designed well and it causes irritation to the impacted people but that doesn’t mean all processes are bad in essence, on the contrary they may be unsuitably designed. The need to embrace innovation (out-of-box thinking) is well understood but processes should also be embraced with same vigor wherever they are needed, otherwise it can potentially impact the project deliverables and overall scalability of the organization.

As I come to the epilogue of this story, I must convey that some advice here may be offbeat, some orthodox but to me, the life really lies between these two extremes. That’s why probably i value my wife’s professional journey. In life one needs reference points to help us walk past difficult phases. To me, she is one of my professional reference points. If i hit a trough, i think of her day-to-day struggles and capability to overcome them and then choosing to celebrate small victories of the day rather than choosing to stay buried in the past.

If you like what i said here and learned even a single thing, i would hugely appreciate if you can drop a note to my wife at [email protected] and express what you felt after reading this (she doesn’t know that I have written this and would surely be surprised).

About the Author

Anuj Magazine is a software testing and general management professional at Citrix Inc. He regularly share his knowledge and experiences as a conference speaker and writes frequently on diverse topics like software testing, management, sports, and handwriting analysis. Anuj tweets at @anujmagazine.

Diversity in Tech – Making the Future Today

“The future belongs to those who believe in the beauty of their dreams.” ― Eleanor Roosevelt

I am a product of my environment. I have benefited from a lifelong positive model for diversity starting with my mother, to my wife, multiple bosses, friends, to my industry colleagues. Strong, intelligent men and women who inspire and challenge me, and make me think differently about who I am and how I see the world have surrounded me for as long as I can remember. I am grateful for that experience, but I realize that not everyone has had the advantages that I have enjoyed. As well, part of the social contract, as Elizabeth Warren says is to “take a hunk of that and pay forward for the next kid who comes along.”

Tweet1

 

 

 

 

Having spent twenty years in large, multi-national companies working on countless Human Resources exercises trying to work out why diversity is such a problem, I can tell you, Einstein’s view on “the same level of thinking” reins supreme. To crack a “problem” as large as the one that some of these organizations face, complete reinvention is required – something that most individuals, let alone 1000+ person workforces cannot easily accomplish.

Increasing diversity in technology has just about entered the phase of Corporate Social Responsibility (CSR) where everyone and their brother (pun intended) has started some initiative to increase their footprint with some underrepresented group. Looking to the future, this trend seems to be increasing with CSR commitments becoming the new standard to govern decisions from whom to do business to where we want to work.

Diversity versus inclusion…
In my experience, the trajectory for identifying, hiring, training, and developing people in large companies is so protracted; adding another source of candidate flow is nearly doomed from inception. Moving the needle on something so large and pervasive as the lack of diversity in technology requires a complete rethink of the issue at hand, and that means changing the game.

Unfortunately, the real problem with companies is not the lack of diversity but the lack of inclusion, regardless of what the workforce looks like. Inclusion according to the Harvard Business Review is how you “create an atmosphere in which all people feel valued and respected and have access to the same opportunities,” and inclusion is where the diversity rubber hits the road. I’ve sat on multiple senior executive boards discussing the progression towards our targets in a room comprised entirely of middle aged, white men. Worse than that, two and three layers deep into the org charts the demographics looked exactly the same – and no amount of target setting is going to change that fact.

So while setting targets to increase your diversity footprint may have some merit, in my opinion and experience, if that’s your approach – you’re doing it wrong.

You’re doing it wrong…

At the New York Tech Talent Summit last year, I was on a panel discussing workforce development and our work at Doran Jones with Per Scholas. During the Q&A I was asked what I thought could be done to increase the amount of women hired in technology. My answer: create new companies that make diversity an underpinning of their business model. There are clear benefits of a diverse workforce from marketing, to culture, and strategy, so as far as I’m concerned, the problem is not with the workforce – the problem is with the companies.

According to this Forbes article, that idea might not be as far off as it seems. The authors feel that building diversity and inclusion from the inception of a company is the quickest way to address the divide, as a “startup, short on history but long on seeking the best talent, provides a good platform for establishing an inclusive organization and work environment.” My view is that like everything else in the corporate world, when market scrutiny increases on CSR and potentially crosses into Federal regulation, companies that have a gap will come looking to “buy” a solution anyway.

There is a demographic sea change happening broadly across the workforce and technology is subject to the shift. In my opinion, companies that build diversity into their DNA and have inclusion as a principle instead of a target will have the best chance to be successful in the new economy. The beautiful part of my dream for the future is that you won’t have to worry about changing an organization to match reality – because those that don’t will no longer exist.

 

About the Author

Keith Klain is CEO of Doran Jones, a technology consulting company based in New York, With over 20 years of multinational experience in enterprise-wide testing programs, Keith has built global test teams for financial services and IT consulting firms in the US, UK, and Asia Pacific. Keith designed the Per Scholas STEP program, and has been instrumental in its growth and continued expansion. He is the Executive Vice President of the Association for Software Testing and was the recipient of the 2013 Software Test Professionals Luminary award. Twitter: @KeithKlain Blog: www.qualityremarks.com

The Mother of All Testers

The Mother of All Testers

We live in a world where things that are precious to us are labeled with a feminine title.  Mother Earth.  Mother Nature.  People refer to their cars as “she”.  Why do we do this?  Because there is something genuine, tender, caring, and special about the female aspect when it comes to our lives.

We are witnessing a change in the world we live in.  Women are taking more leadership positions in government, corporations, and within various other communities.  The right person is being selected for the positions, regardless of whether they are male or female.

Women have paved the way through the years for others to follow and build upon.  Imagine what life would be like without these influential Women:

  • Mother Teresa – she led a cause to the orphaned, sick, and dying among the poorest worldwide and became an inspiration to so many who followed in her servant leadership.
  • Diana, Princess of Wales – she chose not to just live in royalty, but to lead many causes (such as acceptance of AIDS victims, and a campaign against land mines). She inspired the world with her life.
  • Marie Curie – first woman to win a Nobel Prize in two areas. She coined the term “radioactivity” and was one of the first to suggest radiation to treat cancer.
  • Mary Kay Ash – she founded Mary Kay Cosmetics, and gave jobs to thousands of women, along with the chance for each to earn a “pink Cadillac” car to drive.
  • Maya Angelou – during the writing of this article, Maya passed away. Of all the many great things she did, one of her quotes that stood with me for so many years has been “People will forget what you said, people will forget what you did, but people will never forget how you made them feel“.  Never forget this quote.  Make it something you live by.
  • Grace Hopper – how could we have a software testing discussion related to women in testing without talking about this lady? This Navy admiral was also a math genius and founding mother of computer languages, which led to the development of COBOL.  She is credited with the term “debugging”  One notable quote from Grace was “The most important thing that I’ve accomplished, other than building the compiler, is training young people.  They come to me, you know, and say ‘Do you think we can do this?’ and I say ‘Try it’.  And I back them up.  They need that.  I keep track of them as they get older and I stir them up at intervals so they don’t forget to take chances.”  What an inspirational quote to live by.

In the testing profession today, being a test practitioner is nothing like years ago.  The dynamic nature of the industry, combined with the exponential growth of new technologies gives so many great, new, and interesting areas for the thinking tester.  We are seeing the ratio of male to female in the practice changing.  And with this change comes a new group of women testers that are providing new insights and inputs to the testing community.  I am encouraged by the articles, presentations, and teachings of many of the women in testing.

My challenge to the community is this: let’s bring on testers who want to change the world.  Let’s encourage them to expand and help others grow along the way.  Let’s get more women testers in our communities, and let’s encourage them to be seen and heard and to lead major changes as we face the future.  We have no idea what the next 10 years will bring us.  In the 1980’s, we had not even heard about the internet or mobile phones in everyone’s pocket.  Now these two things are responsible for so many testing efforts conducted today.

Congratulations to Women Testers magazine and Testing Circus on this effort.  I look forward to the many articles that will rise up from writers around the globe.  You have my support and following!

About the author

ML

Mike Lyles is a  Sr. QA Architect with over 21 years of IT experience. He has led various aspects of testing: functional testing, Test Environments, SCM, Test Data Management, Performance Testing, Test Automation, and Service Virtualization.  In his current role, he is responsible for defining and implementing tools, processes, and methodologies to support the QA teams.  Mike is an international/keynote speaker at multiple conferences, and is regularly published in testing publications. Mike’s passion to help others improve and grow in the field of testing, leadership, and management is his key motivation.  He is available for mentoring and coaching on testing via Skype (mikewlyles).  You can learn more about Mike at http://www.linkedin.com/in/mikewlyles, www.MikeWLyles.com or http://about.me/mikelyles