All posts by Women Testers

Getting the whole team engaged in testing for continuous delivery success

By – Lisa Crispin

More and more teams today are trying to move towards delivering changes to production once or twice a week, daily, or even multiple times per day. Given that we never seem to have enough time to complete all the necessary testing for any new feature, how can we possibly feel confident that these frequent deploys won’t cause pain for our customers? 

In their CAST 2019 tutorial, Ashley Hunsberger and I will lead participants through hands-on simulations to practice a whole-team approach to building confidence for continuous delivery and deployment (both known as CD). We’ll start by having participants think about what is currently getting in their team’s way of succeeding with continuous delivery.

We’ll explain common terminology used in DevOps activities, such as continuous integration, continuous delivery versus continuous deployment, deployment pipeline, and cycle time. Learning the language of DevOps helps testers communicate and collaborate with everyone on the delivery team.

Participants will work in table groups in a fun simulation to design a deployment pipeline and learn ways to shorten feedback loops. They’ll look at ways to solve puzzles like how to complete manual testing activities like exploratory testing and still succeed with continuous delivery. These are exercises they can take back and do with their team to have valuable conversations around understanding and improving their pipelines.

They’ll practice using Ashley’s Test Suite Canvas to evaluate their existing automated test suites and think about what gaps they want to fill. Other areas to be explored include value stream mapping, operability areas such as monitoring and observability, and other aspects of fitting testing into continuous delivery. Engaging the whole team will be the main focus. We’ll use templates and conversation starters that participants can later try with their own teams.

The tutorial wraps up with each table group designing an experiment to help with one of the obstacles to CD identified earlier and sharing with the large group. Participants can take these ideas to experiment with their own teams after the conference. 

About the author

Lisa Crispin

Lisa Crispin is the co-author, with Janet Gregory, of More Agile Testing: Learning Journeys for the Whole Team (2014), Agile Testing: A Practical Guide for Testers and Agile Teams (2009), the LiveLessons Agile Testing Essentials video course, and “The Whole Team Approach to Agile Testing” 3-day training course. Lisa was voted by her peers as the Most Influential Agile Testing Professional Person at Agile Testing Days in 2012. She’s a testing practitioner who enjoys helping people find ways to build more quality into their software products. Please, visitwww.lisacrispin.com and www.agiletester.ca for more.

Register here to attend this tutorial – https://www.associationforsoftwaretesting.org/conference/cast2019/cast2019-tutorials/

Q and A with Maryam Umar

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:

  • Originality
  • Authenticity
  • Real-world examples

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.

The Magic of Notes.

Authored by – Arlene Andrews.

Far from being unneeded, taking effective notes, and having them trigger memories of an event, is a skill that is still very relevant. From sketch notes, doodles, and outlines – the process of manually taking notes is coming back into the fore. Finding your own personal style of note-taking will take practice. However,  you will find that many times, the notes you take are more effective than the ones you used to type on the computer, tablet, or mobile device.

In the rush of getting business done, especially during changes or in a quick meeting, the process of getting information stored is becoming vital. Not only is this a tracking and documentation issue, but makes very sure that the correct people know what is happening, who is in charge of specific areas. This also gives an accurate evaluation of the skills, contributions, and abilities of every team member – from the newest intern to the end customer themselves. But we are hurried, and this information is becoming more likely to be missed.

Unless there is someone consulting, there likely isn’t a recording made of meetings that everyone can refer to in the future. It is now almost expected that when you go to a meeting, your laptop is open and ready, and your phone is nearby. Neither of these encourages you to observe what’s happening during the meeting, nor pay attention to what’s being said. Being present and engaged is a problem when any words being spoken are funneled directly from the ears into the keyboard.

I know this is something I have a problem with: I will concentrate so much on typing out notes – or recording every word that said perfectly – that I don’t pay attention to what’s actually going on until I read it. One businessman I know has recently banned all laptops and telephones from any meeting – even a short stand-up. The theory is that people will pay more attention to discussions, participate more, and be more aware of potential issues. And it has created a noticeable effect.1

Taking notes is an important skill that can add value to your business and to your career. After much less practice than you may believe, you can quickly learn to sort out the relevant information you need and write it down with just enough detail to trigger memories of who was speaking and the subjects. There is even proof of this: Using a written form, on paper, engages both your focus and your motor memory to allow a better grasp of concepts, both with an instant review and over a short time period2. I can attest to this: my handwritten notes are valuable, and usually trigger thoughts and connections later. So not only do I have the original material, but, in a more relaxed environment, I can add other information, and explore questions and possibilities.

Your notes also provide proof of work. The quick notes that you make can be expanded on (and, if your handwriting is anything like mine, re-written so they are readable once the meeting is over), which also gives you the chance to add more room for idea connections and additional questions to what you heard. Also, since it is fresh in the minds of the participants, if there is an area that you are unsure of your understanding, this is a good time to ask for a detailed explanation. Which may, of course, result in another batch of notes. But you will then be able to move forward with confidence and have the notes to refer to at a later time.

From the Moleskine notebook and the pack of 3 x 5 cards that have become associated with one business owner I am acquainted with, the well-designed rooms for testers where tables and seats are designed with handwriting in mind, and the special notebook the Ministry of Testing has designed for one of their events, the tools we use can become part of our personal look, as well as being a truth source. The key here is to try many different tools, and use the ones that you find are effective and comfortable.

Notebook from Ministry of Testing group.

I have been, personally, delighted in the rise of sketch notes that are coming from the skilled folks at conferences. Not only are they a delight visually, but they also allow a look at how this person feels the concepts overlap. I am not skilled with drawing, but even a quick set of boxes to show a workflow or a larger question mark over a section where I can reserve this area for topics I want to ask about has proven to be a help. A resource for ideas on how to start with sketchnotes is https://www.core77.com/posts/19678/sketchnotes-101-the-basics-of-visual-note-taking-19678

Other techniques are out there: everything from a formal column system to doodles that separate and define areas of importance. And workshops on taking notes are starting to come up at many of the larger conferences – as well as being shared online. Every person has their own style – mnemonic devices that make sense to them – and this makes the notes you take even more powerful than a word-for-word transcript of what was said.

Let your personality and focus make the notes for you!

And this brings up the issue of “Who takes notes?” A clichè is that one person is chosen to make notes – every time – and anything that is missed, or not understood is their problem. Not only is this a potential downside if that person is not there that day, but they have to try and get notes for everyone’s point of view. The benefits of note-taking by more than one person means that you will have notes that focus on what is important to you – and a team may have several people that have overlapping notes. This helps with understanding and making sure that everyone is getting an understanding of the important concepts. Even Lynda, the online education site, offers Note-Taking for Business Professionals (https://www.lynda.com/Business-Skills-tutorials/Note-Taking-Business-Professionals/373782-2.html).

There is also the need for fail-safes. Recorded meetings are much less common than the used to be, so your notes now are the sources of truth. Yes, you can get a quick meeting with someone in the hallway to clarify a point – but write it down, in your own words, once you are done. This is never to be used as blame but to have a good working plan for this section of the project, or meeting, or activity. Once the larger meeting is done, the people working together have an understanding of what needs to be done, and they can take these notes, and make the first plan to get it accomplished.

Try this

In the age of the Internet, there are many possibilities to practice note-taking. Many conferences or businesses have either recorded talks or webinars, and these are great for practice. Choosing a familiar subject will allow you to try out different styles and methods, as well as increase your awareness of that subject. Later, a TED or TED-X talk is about 15 minutes, and the information is concentrated, as it may be in a meeting to solve a crisis. This is a great way to make sure that you are getting the important points. I also suggest choosing a topic that is of interest, but above your level of knowledge – you may be surprised to find out how much you do actually know about the subject, once you read over your notes.

References

1: https://www.weforum.org/agenda/2017/11/laptops-banned-meetings-notes-verbatim-type-understand/

2: https://www.medicaldaily.com/why-using-pen-and-paper-not-laptops-boosts-memory-writing-notes-helps-recall-concepts-ability-268770

About the author

Arlene Andrews

Arlene Andrews is a self-guided learner, moving into the Quality Advocate section of the tech world, and has been selected to guest write and review on podcasts, articles, classes, proposals for conferences. Having previously worked in a wide range of positions including both customer service and HR, she has a worldview of supporting customers, and is a fan of learning and applying new things. Moving into technology has been a huge leap, and she has a passion for connecting people to resources that will foster improvements.

Reviewed by – A volunteer at women testers.

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.

Conference submissions – why and how?

Originally published here:
https://isabelevansconsultancy.wordpress.com/2019/05/21/conference-submissions-why-and-how/

Recently someone asked me about how to become a conference speaker. I have spoken at conferences, and also served on programme committees, so I hope these thoughts are helpful to you in your quest to speak. Additionally, I been giving feedback to people whose submissions did not make it onto the EuroSTAR programme this year and who asked for feedback, and seen some common themes, including that with over 400 people applying for around 60 speaking places, and an excellent field of submission, many great submissions did not make it to the conference programme… not being selected doesn’t necessarily mean you did a bad submission.

Why speak at a conference?

My first question to you: Why would you want to speak at a conference? It is after all time consuming, stressful, and unlikely to be in the obvious mainstream of your job. Here are some reasons I speak:

  • to improve how I communicate about my subject – a skill for work.
  • to learn my subject: to give the talk, I’ll have to learn more, check facts, build my story.
  • to give back to my industry and educate others, by sharing challenges overcome.
  • for the fun of performing: it’s scary and fun, and a chance to play in public…

So, you want to speak at a conference… what to do? I’m assuming you have a story to tell, one you think is worth other people hearing? If you have not got a story to tell, there is no point speaking…

Don’t wait to be asked…

There are two ways to get a speaking place at a conference: you get invited, or you apply via a “call for submissions” (cfs) or “call for papers” (cfp). However famous you are, you might not get invited, so, if you want to speak at a conference, don’t wait to be invited. Instead, apply to speak. Your submission will be reviewed, and you will be accepted, or rejected. Don’t worry if you are rejected, it has happened to all of us – many times in my case. Conferences often have many more applications than they have speaking places. So review, and try again…

Choose your conference…

First job: decide which conferences you want to speak at, look at their websites to see what dates they run on and what style of submission they want. Look very carefully at any guidelines, themes, and style sheets they suggest. Also look at the websites for previous editions of the conference to see if there is a “house style” the conference favours. Also think about whether you can get to the conference if selected – travel visas, availability, dates and costs – can you go if you are selected, and how will you fund it? Some organisations will support you because they want representation at the conference. Some conferences provide funding towards travel and accommodation. When you are applying look at the balance of benefits and costs. Each of us will have a different view about what we want to do, what cost/benefit we need to make it worthwhile.

Investigate what information the cfp requires

Look at the session options offered carefully. Think about what they want for different types of session. Typically the minimum you will be asked for along with contact details is:

  • A title
  • An abstract
  • Your biography

You may be asked for a paper to explain your idea. You may be asked for key learning points, takeaways, what type of session this is, what type of audience it is aimed at, your speaking experience, evidence in the form of supporting documents, videos… it all depends on the conference.

What helps your submission succeed?

Factors that will help your submission for many industry conferences include:

  • telling a really good story – something compelling, coherent, concise, and which flows from the title, into the abstract and through to any takeaways.
  • focusing on your experiences of your projects – things where you are demonstrating your involvement, challenges you have faced and overcome, mistakes you have made and learnt from – rather than using your abstract to regurgitate theory.
  • having a new perspective to offer, something that has not been offered at this conference before.

If you don’t have speaking experience, think about getting mentoring – within your local/national industry communities, within your organisation, or via the conferences. You could look at SpeakingEasy for example ( https://speaking-easy.com/ ). Also look for opportunities to speak at local meet ups and national conferences before going for the larger international conferences. It’s likely that fewer people will apply and this increases your chances of being selected.

Conferences will often have themes that change year to year. Many conferences in addition are looking for speakers and sessions that increase the diversity of ideas and people, improve inclusiveness, are engaging, participative and interactive, allowing the audience to not just listen but also take part.

Do…

  • Have your own compelling story
  • About something unique, transformational
  • About overcoming challenges
  • Provide evidence!
  • Keep it coherent, well focused
  • Keep it clean…
  • Ask for help!
  • Get it reviewed
  • Get it proof read
  • Speak at smaller events first…
  • Ask for feedback

What to avoid

Don’t just send the same abstract to different conferences – they each want something different. Don’t send the same abstract several times to the same conference for different session types – it just annoys the programme committee. Don’t send an excessive number of submissions – it is better to have one really well thought out abstract.

Don’t…

  • Forget to spellcheck
  • Forget to tell your story
  • Present no evidence
  • Use bad language
  • Assume we know who you are
  • Ignore the conference style
  • Forget to ask for time off…
  • Expect to get in … necessarily

Useful links

Here are some useful other blogs and links…

Rob Lambert’s “Blazingly simple guide…”: https://www.linkedin.com/pulse/blazingly-simple-guide-submitting-conferences-rob-lambert/

Steve Watkins’ “How to prepare…” https://stevethedoc.wordpress.com/2019/05/20/how-to-prepare-your-first-conference-talk-1-getting-started/

SpeakingEasy: https://speaking-easy.com/

Good luck!

and give it a go – you won’t get in unless you try!

We also asked Isabel this question: Why should testers attend testing conferences?

..conferences are fun, but they are not just fun. Here are some reasons to go to conferences which benefit you and your employer/team:

  • To learn new ideas, new knowledge
  • To gain new skills at a tutorial or workshop
  • To meet industry experts
  • To meet colleagues
  • To share experiences
  • To present your own experiences
  • To showcase progress that your company has made
  • To meet vendors of tools and services so you can shortlist ones to approach after the conference
  • To try out consultants and trainers at their workshops and tutorials
  • To practice your skills and improve them
  • To practice presenting your own ideas to other people
  • To find out new directions for your profession, future predictions
  • To make friends with other practitioners – lifelong friends that you are also happy to work with and recommend

All of these benefit you personally in your professional growth. They also benefit your employer and your team, because you will return with ideas you can implement in your work, and contacts you can recommend for projects and teams.

Although it is possible to learn through reading, attending online events, taking virtual courses and in face to face training courses, in each of those you’ll have an experience limited by the medium for the interaction or by the number of people involved. When you meet people at conferences you’ll have a chance to hear many experiences and viewpoints, challenge your own and other people’s preconceptions of what your role does/could involve, make human connections, all in a way that is really only possible face to face.

I always find conferences really hard work, but really valuable – and they are as valuable as the effort I put in.

It is worth going with a plan – what sessions do you really want to hear? What subjects do you want to investigate? Who do you want to meet? And make that happen. Make sure you don’t just go to sessions to listen, but also take part in workshops, discussions, lab sessions, community activities. Give as well as take. Make sure you allow some “down time” when you are just chatting with friends you’ve made at this conference. Do attend a social event or two! The technical and managerial conversations continue there.

Above all, be thinking about the messages you are going to take back to your team and organization. Finish the conference with a plan of action, and an “in 1 minute” overview of the main benefits. That will help you think about the conference as an opportunity to learn and benefit rather than as time off…

Isabel Evans Bio

Independent quality and testing consultant Isabel Evans has more than thirty years of IT experience in the financial, communications, and software sectors. Her work focuses on quality management, software testing and user experience (UX), She encourages IT teams and customers to work together via flexible processes designed and tailored by the teams that use them. As well as her consultancy and project work, she is currently researching into the UX of testing tools for the tester, as a part-time, mature, postgraduate student at the University of Malta. Isabel authored Achieving Software Quality Through Teamwork and chapters in Agile Testing: How to Succeed in an eXtreme Testing Environment; The Testing Practitioner; and Foundations of Software Testing. A popular speaker and story-teller at software conferences worldwide, Isabel is a Chartered IT Professional and Fellow of the British Computer Society and has been a member of software industry improvement working groups for over 20 years. In November 2017, she was presented with the EuroSTAR Testing Excellence Award for services to the industry. She has a website: www.isabelevans.uk. She has two blogs: https://isabelevansconsultancy.wordpress.com/ and https://isabelevanswriting.wordpress.com/. Her linked in page is at https://www.linkedin.com/in/isabelevans/. She tweets occasionally as @IsabelE_Test.

WHY YOU SHOULD ATTEND TEST MASTERS CONFERENCES?


Originally collated and published here.

We asked our participants, leading experts in software testing and quality engineering community. Read their responses below.

The event was extremely well organized, and I enjoyed every session. In addition to great speakers, the attendees at this event were engaging and thoughtful. Definitely one of the best conferences I’ve attended.

Alan Page, Director at Unity Technologies
Bellevue, Washington

Thank you for the perfectly organized conference! It was terrific and a great opportunity to connect with some sharp minds in the industry sharing their experiences and knowledge. I found both attendees and speakers were energetic to learn what similar problems we are facing in software development and how others have solved them. The sessions were interactive with the top-notch content. Overall a great conference to attend!

Arpit Jain, Software QA Lead at Validus Research Inc.
Waterloo, Ontario, Canada

I attended the Test Masters Academy in June 2018 both as a speaker and attendee. What a great time! The ability to connect with other speakers and attendees at sessions, group activities and networking opportunities during the conference provided a well-rounded experience. I would recommend this conference to anyone who is looking to enhance their career and take it to the next level – especially if you enjoy learning in real-world settings. I look forward to participating again!

Melissa Tondi, Strategist at Rainforest QA
Englewood, Colorado

There are today many conferences around the US and around the world.  Each of them has its own characteristics, and for the Test Masters Conferences, this is a group of testers that comes together to share and learn from their experience and knowledge.  The size and organization of sessions allowed for everyone to take an active role and participate in the conversations, making the experience more personal and focused on each of our own needs.

Anna manages to get great speakers to share and facilitate and this in itself helps to place the Test Masters Conferences among those events that you want to mark on your calendar and try to participate at least once in a while.

Joel Montvelisky, Product & Solution Architect at PractiTest
Israel

The Test Masters Academy Conference is the best conference offered in the nation. I have been to other Test Conference but come back to this one. It offers more real world, today’s testing world learning. I have found those who give presentations and collaboration workshop are the best in the tech industry. The conference is small which give you opportunities to get more one-on-one interactions. I appreciate being able to meet so many testers who come from all over the world to attend. Combine the strength of the presentations, meeting new people and a great atmosphere for learning makes them outmatched for any other conference. I would definitely recommend to anybody who wants to learn in a smaller setting.

Paul Hansen, Principle Tester at Hughes Network Systems
Orem, Utah

Test Masters Academy brings in experts from around the world to an amazing location on Times Square. As attendees, we have ample opportunity to meet the speakers and dive deeper into testing topics. The group activities are engaging, encouraging participants to rethink the paradigms of testing.

Thomas Haver, Senior Application Architect at Huntington National Bank
Columbus, Ohio

Presenting at Test Leadership Congress has been an honor and great pleasure. I did a workshop around whole team testing and the interaction I had with the audience was very engaging. I feel that the theme of the conference itself is very unique and something that our industry needs to take seriously i.e. test leadership. I would like to participate again should there be something more I can come up with to suit the idea. Great job Anna and thanks for doing what you are doing!

Lalit Bhamare, Co-founder & chief editor at Tea time with Testers

Read more about Test Leadership Congress (June 26th-28th)

Read more about ConTEST NYC (November 20th-22nd)

RADIENT SOUL TRIBE

Announcing: RADIENT SOUL TRIBE!!!
The tribe is a supportive online community that invites you to experience connection, nourishment, and joy. To create space to grow, expand and flourish in your body, mind, heart, and soul. As you reconnect with all parts of yourself, you will flourish at work, in relationships, and all parts of your life.

Is this for you? The tribe is ideal for anyone that feels or experiences:

  • Overwhelm
  • Stress
  • Lack of time
  • Lack of finances
  • People pleasing
  • Drained of energy
  • Lack of clarity + focus
  • Feeling depressed, or disconnected
  • Unhealthy relationships with self and/or others
  • Difficulty integrating into everyday life
come join the tribe!

The Radient Soul Tribe is a monthly membership community with a variety of weekly content filled with practices and tools to support you in each area of your life (and work). It’s a space to dive deeper into yourself, and to step into joy and peace!
Curious? Get more details here with a $1 one-month trial: http://bit.ly/RST-1Trial

We welcome you to thrive with us!
Selena Delesie & Cindy Brown

Useful tips for API Tests with Postman

Postman is powerful tool to work with Rest APIs. It allows to test APIs manually. It allows creation of automated/randomised tests using request scripts and tests option. Postman collections can be executed outside of postman app using newman JS package, which is handy for automated test executions in Jenkins.

Below you will find helpful information and tips on How to setup and test API through postman. These information will be very helpful for the tester to set up, create, run and validate API tests.

A set of API’s can be grouped together is called collection, for easy access and management of API endpoints.

Node.js RESTFUL API

REST stands for Representational State Transfer. REST is web standards based architecture and uses HTTP Protocol.

Four HTTP methods are commonly used in REST based architecture:

GET – This is used to provide a read only access to a resource

PUT – This is used to create a new resource

DELETE – This is used to remove a resource

PATCH – This is used to update an existing resource or create a new resource

Test node.js APIs

Testing via Postman (similar steps for any other REST client)

  1. Open your postman and type endpoint in the enter request URL section and press enter
  2. Choose correct method
  3. If selected method is POST, go to body section, choose RAW and add request body
  4. Add authorization headers (if required)
  5. Click  “Send”
  6. This should give you a response 200 ok.

Note: ideally you can add tests that automatically validate response headers or data in the body.

Test Automation for node.js APIs

Test structure

Postman project can consists of following parts:

  1. Login scripts
  2. Test automation:
    1. Automated tests for GET methods
    2. Automated tests for POST methods

Login

If API does not support anonymous access, meaning automation has to supply authorization header with valid authorization bearer. There are two options:

  • Provide valid authorization bearer manually each time (it expires after several hours)
  • Create scripts that will emulate login process and extract authorization header from server responses

Second approach was selected.

Login process consists of the following steps:

Step – 1 [fed – get cookie] – as a first step of automation validates presence of all environment variables. This step is required to finish first part of oAuth process: get Cookie PF and authorization token in path for the next call

Step – 2 [fed – authorize. set token env var]

This step is required to POST credentials and authorization token to receive Authorization Bearer

Step – 3 [Test request with retrieved token is successful]

This test is required to check validity of the received token automation

GET API automation can be created with an example for the following method:

  • GET /v1/xyz/:xyzid/T1
  • GET /v1/xyz/:xyzid/T2

POST API automation is created for the following method:

  • POST /v1/xyz/data for:
  • xyz1
  • xyz2
  • xyz3

Test asserts:

  • GET /v1/xyz/:xyzid/T1

tests[“Status code is 200”] = responseCode.code === 200;

tests[“Content-Type is present”] = postman.getResponseHeader(“Content-Type”);

tests[“Response time is less than 1000ms”] = responseTime < 1000;

tests[“string1 is present”] = responseBody.has(“string1”);

tests[“string2 is present”] = responseBody.has(“string2”);

tests[“string3 is present”] = responseBody.has(“string3”);

tests[“string4 is present”] = responseBody.has(“string4”);

tests[“string5 is present”] = responseBody.has(“string5”);’

tests[“string6 is present”] = responseBody.has(“string6”);

tests[“string7 is present”] = responseBody.has(“string7”);

tests[“string8 is present”] = responseBody.has(“string8”);

// M

tests[“value1_M should be “] =jsonData.items[5].value1 === “abc”;

tests[“value2_M should be “] =jsonData.items[5].value2 === “abc1”;

tests[“value3_M should be “] =jsonData.items[5].value3 === “abc2”;

tests[“value4_M should be “] =jsonData.items[5].value4 === abc3;

//tests[“value5_M should be “] =jsonData.items[5].value5 === abc4;

tests[“value6_M should be “] =jsonData.items[5].value6 === “abc5”;

tests[“value7_M should be “] =jsonData.items[5].value7 === “abc6”;

tests[“value8_M should be “] =jsonData.items[5].value8 === “abc7”;

// L

tests[“value1_L should be “] =jsonData.items[17].value1 === “abc”;

tests[“value2_L should be “] =jsonData.items[17].value2 === “abc”;

tests[“value3_L should be “] =jsonData.items[17].value3 === “abc_1 “;

tests[“value4_L should be “] =jsonData.items[17].value4 === “abc2”;

tests[“value5_L should be “] =jsonData.items[17].value5 === abc3;

//tests[“value6_L should be “] =jsonData.items[17].value6 === abc4;

tests[“value7_L should be “] =jsonData.items[17].value7 === “abc5”;

tests[“value8_L should be “] =jsonData.items[17].value8 === “abc6”;

tests[“value9_L should be “] =jsonData.items[17].value9 === “abc7”;

tests[“value10_L should be “] =jsonData.items[17].value10 === “abc8”;

tests[“value11_L should be “] =jsonData.items[17].value11 === “abc9”;

  • GET /v1/xyz/:xyzid/T2

tests[“Status code is 200”] = responseCode.code === 200;

tests[“Content-Type is present”] = postman.getResponseHeader(“Content-Type”);

tests[“Response time is less than 2000ms”] = responseTime < 2000;

tests[“stringa is present”] = responseBody.has(“stringa”);

tests[“stringb is present”] = responseBody.has(“stringb”);

tests[“stringc is present”] = responseBody.has(“stringc”);

tests[“stringd is present”] = responseBody.has(“stringd”);

tests[“stringe is present”] = responseBody.has(“stringe”);

tests[“stringf is present”] = responseBody.has(“stringf”);

tests[“stringg is present”] = responseBody.has(“stringg”);

tests[“stringh is present”] = responseBody.has(“stringh”);

tests[“stringi is present”] = responseBody.has(“stringi”);

tests[“valuea should be “] =jsonData.items[0].valueal === “abc”;

tests[“valueb should be “] =jsonData.items[0].valueb ===”abc1”;

tests[“rvaluec should be “] = (jsonData.items[0].valuec >= -abc2) && (jsonData.items[0].valued <= abc3);

tests[“valued should be “] =jsonData.items[0].valued === abc4;

tests[“valuee should be “] =jsonData.items[0].valuee === “abc5”;

POST commands tests: for following methods:

  • POST /v1/xyz/command for:
    • xyz1

tests[“Status code is 200”] = responseCode.code === 200;

tests[“Response time is less than 1200ms”] = responseTime < 1200;

tests[“Content-Type is present”] = postman.getResponseHeader(“Content-Type”);

tests[“value1 is present”] = responseBody.has(“value1”);

tests[“value2 is present”] = responseBody.has(“value2”);

tests[“value3 is present”] = responseBody.has(“value3”);

tests[“value4 should be “] = jsonData.items[0].value4 === val4;

tests[“value5 should be “] =jsonData.items[0].value5 ===”Test1”;

  • xyz2

tests[“Status code is 200”] = responseCode.code === 200;

tests[“Response time is less than 1200ms”] = responseTime < 1200;

tests[“Content-Type is present”] = postman.getResponseHeader(“Content-Type”);

tests[“value1 is present”] = responseBody.has(“value1”);

tests[“value2 is present”] = responseBody.has(“value2”);

tests[“value3 is present”] = responseBody.has(“value3”);

tests[“value4 should be “] = jsonData.items[0].value4 === val4;

tests[“value5 should be “] =jsonData.items[0].value5 ===”Test2”;

  • xyz3

tests[“Status code is 200”] = responseCode.code === 200;

tests[“Response time is less than 1200ms”] = responseTime < 1200;

tests[“Content-Type is present”] = postman.getResponseHeader(“Content-Type”);

tests[“value1 is present”] = responseBody.has(“value1”);

tests[“value2 is present”] = responseBody.has(“value2”);

tests[“value3 is present”] = responseBody.has(“value3”);

tests[“value4 should be “] = jsonData.items[0].value4 === val4;

tests[“value5 should be “] =jsonData.items[0].value5 ===”Test3”;

Create a repository for API automation

This should contain PostMan scripts for automating testing of the API’s.

Simple example below for creating test –

Test for node.js APIs (similar steps for any other REST client)

  1. Open your postman and type endpoint in the enter request URL section and press enter
  2. Choose correct method
  3. If selected method is POST, go to body section, choose RAW and add request body
  4. Add authorization headers (if required)
  5. Click  “Send”
  6. This should give you a response 200 ok.

You can add tests that automatically validate response headers or data in the body.

How do I get set up?

Someone else in the team can run and test API tests created above, they need to follow below steps

  1. Clone the repository that was created above
  2. npm install
  3. npm run build

The above steps are performed by the build system on every check in.

IMPORTANT: Make sure and run npm run build before pushing changes to the original. You can also run npm run lint to verify that your code passes the lint test as well as auto fix a number of linting issues.

How do I add new npm module?

If you want to add new test

npm install –save <name of module> npm shrinkwrap

Check in updated npm-shrinkwrap.json and package.json file.

How to run collection in Postman?

  1. Click on collection and click button “>” with mouse
  2. Press “Run”
  3. In Collection Runner window check if correct collection is chosen
  4. Choose Environment file and press “Run <Collection’s name>”

How to run collection in Newman?

  1. Open Command prompt
  2. In command prompt type this command if you use collection file:

newman run Path/CollectionName.json -e Path/EnvironmentFile.json

or this if you use collection link:

newman run <link to collection> -e Path/Environment.json

  1. Press “Enter”

How to import collection or environment file?

  1. In Postman press “Import” icon on top left side of window
  2. Choose “Import File” tab
  3. Press “Choose Files”
  4. Choose file you want import
  5. Press “Open” button

How to import collection or environment from link?

  1. In Postman press “Import” icon on top left side of window
  2. Choose “Import From Link” tab
  3. Paste link to collection or environment file
  4. Press “Import” button

How to export collection as link?

  1. In Postman choose collection you want to export
  2. Press button “>” with mouse
  3. Press the “Share” button
  4. Choose “Collection Link” tab
  5. Press the Get Link” button
  6. Copy link from field

How to export collection as Json file?

  1. In Postman choose collection you want to export
  2. Click on it with mouse right button
  3. Choose “Export”
  4. Choose version of collection
  5. Press “Export” button
  6. Choose path and name for collection file
  7. Press “Save” button

How to edit test in collection’s request?

  1. In Postman choose collection
  2. Choose request and double click on it to open
  3. Choose “Tests” tab
  4. Change test code as you wish
  5. Press button “Save” to save changes
  6. (Optional) Press button “Send” to send request and get test results as well
  7. Press button “>” with mouse
  8. Press “Share” button
  9. Choose “Collection Link” tab
  10. Press “Update Link” button

How to log test?

  1. In Postman choose collection
  2. Choose request and double click on it to open
  3. Choose “Tests” tab
  4. In test code use log command where you wish. Example of log command:

console.log(“so far”);

Benefits from API testing with Postman

Benefits from API testing with Postman are below

1. Easy to Use, manage & share

One can run any API endpoints individually without much steps involved in setting up.

Postman makes it very easy to create test suites and at the same time you can store and run it efficiently. You can store required information to run the tests effectively.

You can run test collections multiple times for testing in different environments.

You can easily share your test collections with other team members. You can also export test collections.

2. Store data for use in other tests Can run Tests as workflow

One API endpoint response can be passed to another API endpoint to run, so it allows you to run the flow from one api to another.

3. CI Integration

You can easily execute the API test collection with newman from CI tools, and you will have job results of pass/ fail on the individual test case run results.

Rama Anem’s Bio

Rama is a technical professional leading a team of high performing senior consultants, data quality analysts providing technology solutions. She has over 13 years of experience, has worked with companies like IBM, AMD in past, and led global teams. At AMD, she managed the enterprise-wide data platform quality practice and was responsible for building its first center of excellence. At IBM, Rama led multiple teams and served as one of the brand ambassadors for DB2. In addition to writing articles in a variety of technical journals, she also presents advanced topics at international software conferences and workshops.

How to use Design Thinking TO ENHANCE SOFTWARE Quality

Authored by Software tester Rozalia Baé – a first-time contributor to Women Testers e-magazine.

“The people who are crazy enough to think they can change the world are the ones who do.” – Steven Jobs

Design thinking for software testing can be used for the purpose of generating creative ideas and thereby discovering its own creativity. It offers the possibility to find new solutions by other means.

Design Thinking

“Innovation distinguishes between a leader and a follower.” -Steven Jobs

word cloud
A word cloud of words related to design thinking

Design Thinking cannot be described in just one word. Each individual feels addressed to a particular word and interprets for himself/herself what it means to him/her. Design Thinking has many definitions and each of them is unique, diverse and inspiring.

Design Thinking should help to localize problems, visualize them, and find an individual and creative solution for them. One of the goals is to present the complexity of the problems in small steps and to solve them. It also serves to show a change of perspective and to find solutions by some other means. In doing so, one’s own creativity is to be revealed. Design Thinking can be applied to discover one’s own creativity and develop it further.

Design Thinking for Software Testing

“It’s not a faith in technology. It’s faith in people.” – Steven Jobs

In the age of globalization, it is necessary to enter in the competition and to keep up with the competition. For software testing, it means developing innovative test methods, test types, and test strategies, just as much as testing. This can be achieved by a fundamental change in thought and action. All software testers, developers and managers should be involved in this process of change. Such an innovative practice requires open-minded employees, managers and the company itself.

Design Thinking Algorithms

“Sometimes when you innovate, you make mistakes. It is best to admit them quickly, and get on with improving your other innovations.” – Steven Jobs

Design Thinking is a systematic approach to complex problems. It is geared to the needs of users/customers and is intended to create innovations.

The process is based on three components:

The different perspectives for consideration of the problem are expressed within the following questions:

  • Human Values (desirability): what exactly is desired?
  • Business (viability): what is economically feasible?
  • Technology (feasibility): what is useful/realistic?

Only when all the above questions have been satisfactorily answered can one consider this as a path to innovation.

The core elements of Design Thinking are

  • Multidisciplinary Teams
  • Variable Space
  • Design Thinking Process

Tips on better Brainstorming:

  • Defer judgment
  • Encourage wild ideas
  • Build on the ideas of others
  • Stay focused on the topic
  • One conversation at a time
  • Be visual
  • Go for quantity

Design Thinking for Software Testing: Example

The application will be illustrated and clarified with the help of an example.

Answers to the questions:

  • Human Values (desirability): what exactly is desired?
    • Improvement of software quality through a better testing methodology
  • Business (viability): what is economically feasible?
    • It is economically viable
  • Technologie (feasibility): what is useful/realistic?
    • It is useful and realistic

Multidisciplinary Teams

A creative process requires people from various fields with their diversity, culture and different experiences. This is why multidisciplinary teams are a win for every company. Diversity is also an important success factor for software testing.

In order to generate innovative ideas for software testing, people from diverse areas might be involved. Other than for software testers, there also is a need for programmers, project managers, product managers, marketing managers and designers. Each person is an asset.

Variable Space

The aim of testing is to improve and enhance the quality of the software. Thus, testing is always closely tied to finding creative and innovative ideas.

Design Thinking offers the possibility to generate a creative space (work environment) where creativity can evolve, detached from purely analytical and linear thinking.

The goal of this creative space is to produce a feeling of freedom, thriving and serenity.

Example:

Discover new heuristics for Software Testing with Design Thinking

What are Heuristics?

Heuristic is a strategy that uses information to control problem solving in humans and machines. Heuristics are “rules of thumb”, they are experiential assumptions and also intuitive judgments.

The heuristic is a technique for experiential software testers that can help with problem-solving as well as discovering defects. A heuristic method is then used to quickly come up with a solution that is close to the best possible solution.

In software tests, heuristics provide a simple framework. It is based on past data and probabilities and helps to effectively test programs. By highlighting the location where bugs are found, a heuristic can find new important bugs, no matter how much you know about the program.

Design Thinking Process

Design Thinking process is an iterative process and offers feedback on the previous process steps.

Steps:

  1. Understand
  2. Observe
  3. Point of View
  4. Ideate
  5. Prototype
  6. Test
5af04.png (1346×454)

References: HPI School of Design Thinking

Understand

The goal here is to understand the importance of software testing more precisely and emphasize it. Furthermore, here the resulting problems, both the past and the future ones, can be explained. Just as well as to how the risks have risen.

Consider: The vulnerabilities that have emerged in solving the problem of testing are explained and presented here

Observe

Here the insights from observation are gained. This step is essential because one directly deals with the topic of testing, problems, and risks. Talks are held and they are also heard. Each person explains their own approach and how they solve problems during testing. Everything is documented in a most precise manner.

Consider: The observations resulting from the understanding are analyzed and discussed here

Point of View

This step leads to new perspectives and is the foundation of the creative process. It shows that software testing requires more creative and innovative solutions with regard to the problems and risks. Furthermore, hereby the problems and risks from various perspectives are addressed and investigated.

Consider: The solution is discussed and presented here: finding new heuristics to increase finding bugs

Ideate

In this step, ideas are collected without evaluating them. The collection of ideas takes place in the form of brainstorming, mind mapping, etc. Ideas that are initially were considered unrealistic can help find new ideas (see above “Tips on better Brainstorming”). In terms of software testing, ideas for solving problems are sought here in order to solve the problems and risks.

Consider: To collect new ideas for heuristics think of the below methods.

New Heuristic generation (examples)

→ Palindrome

→ Permutations

→ Play dice

→ Crosswords

→ Dichotomy

→ Ambiguity

→ Puzzles

→ Learning of test oracles

→ Transpose numbers

→ Use of data anomalies

Prototype

A prototype is developed using the aforementioned steps. This prototype can be in the form of a model. The prototype is a possible approach to solving a problem, which is at first investigated and checked. The prototype is illustrated and visualized.

Consider: The Prototype Heuristic Model

New HeuristicsExample
Palindromefunctional testing



System Testing
Permutationssecurity testing
Play dicevisual testing
Crosswordsexploratory testing
Dichotomydata validation testing
Ambiguitystress testing
Puzzlesfunctional testing
Learning of test oraclessoftware migration
Transpose numbersintegration testing
Use of data anomaliesnon functional testing

Test

The prototype is used and tested immediately. For software testing, this could mean that the solution is successful and could be integrated into testing as a fixed essential part. Or it can be seen as a way to further expand the idea.

Consider: These heuristics can be used in sprints (agile) to test how they work. In a positive application, these can later be included in the regression test

Conclusion

“Have the courage to follow your heart and intuition. They somehow know what you truly want to become.” – Steven Jobs

Design Thinking is DYNAMIC and can therefore also be adapted and applied to all disciplines.

References

[1] dschool.stanford.edu

https://dschool.stanford.edu/

https://dschool.stanford.edu/groups/k12/wiki/17cff/Steps_in_a_Design_Thinking_Process.html

https://dschool.stanford.edu/resources-collections/a-virtual-crash-course-in-design-thinking

[2] hpi-academy.de

https://hpi-academy.de/en/design-thinking/what-is-design-thinking.html

https://hpi.de/en/dtrp/publications/overview.html

[3] ideo.com

https://www.ideo.com/about

https://designthinking.ideo.com/

https://www.ideo.com/post/design-thinking-for-educators

https://challenges.openideo.com/blog/seven-tips-on-better-brainstorming

[4] Book: “Design Thinking Live”

Christoph Meinel, Ulrich Weinberg, Timm Krohn

[5] Harvard Business Review

“The Evolution of Design Thinking”, September 2015

[6] wikipedia

https://en.wikipedia.org/wiki/Design_thinking

[7] Test Heuristics Cheat Sheet

http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf

[8] Heuristics of Software Testability

http://www.satisfice.com/tools/testability.pdf

Author bio:

Rozalia Baé works as a Software Test Engineer in scrum environment. As a student she worked for SAP Germany and started there her career as a Software Test Engineer. She has testing experience in industry and commerce software, medical software and mobile app testing. She is a Certified Tester of the ISTQB Foundation Level (CTFL) and Certified Tester Advanced Level – Test Manager (CTAL-TM).

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/