Where to start if you want to be a speaker? – Day 14 of 30 Days of Testing

STEP OUTSIDE OF YOUR COMFORT ZONE

After attending a few conferences, I realized that a lot of us may feel Impostor syndrome when it comes to professional knowledge. Its definition in Wikipedia states:

Impostor syndrome is a term referring to high-achieving individuals marked by an inability to internalize their accomplishments and a persistent fear of being exposed as a “fraud”.

This should not happen, because we all have unique stories and career advice to share. So, why not to step outside of the comfort zone and become a speaker?

In one of the conferences I attended the after-party and a couple of speakers shared their road to becoming a speaker. What inspired me the most was that they stressed that you already have a “No” by default, so why not to try applying to the conference and suggesting your topic until you get a “Yes”? It cannot get worse because you already have a “No”. This is how many speakers actually became speakers – by trying to use each chance they have and not giving up.

Working on becoming a speaker has been recent stepping outside of the comfort zone for me. I still need to work very hard and actually achieve my goal, but I have collected a few valuable tips which can help you to get started as well.

  1. Think of your knowledge and passions to decide what topics you could talk about.
    As a professional you definitely have tools or methodologies you use. These could be easily transformed into a useful presentation for others. Especially, if they are made of advice and tips on how others could improve their work. Some examples that I have noticed often are “Responsive Design” or “How to improve your Selenium tests”. These topics are specific enough and a lot of people may be interested in hearing more about it. Also, you could think of something which is not that common but you are passionate about. It can be your own success story, or, area that interests you. For example, maybe you’re passionate about Internet of Things and could share what you’ve learned about its testing so far?
  2. Read and watch online resources
    Don’t be afraid to search for information online on how to become a speaker. Recently I found a great blog post on how to write an appealing abstract for the conference, and, noticed a soon approaching webinar on Conference Speaking 101 by Lee Copeland. These resources are free, but definitely very valuable.
  3. Find a mentor
    There are many speakers who are willing to help you to become a speaker. One of the great ways to find them is to apply for Speak Easy programme which is free. There you get an experienced mentor who helps you to build your talk and gives you a lot of useful advice. I have joined it and my mentor has been giving great thought-provoking feedback (some of it inspired this blog post). Also, recently Maaret Pyhäjärvi  volunteered to help mentor new speakers and organize Signature Webinar Series with Ministry of Testing.
  4. Practise speaking in your company and local events
    The best way to get experience in public speaking is to start little by little and grow your audience. In my company every two weeks we organize a Secret Gathering where anyone from company can share their discoveries or work details if they want. This helps both to understand the team better and also practise your own presentation skills. When you are better in presenting in smaller groups, why not to give a go giving a speech in a local meetup? If you’re in Budapest and would like to talk about something QA related – feel free to contact me and join Budapest’s QA meetup as a speaker.
  5. Don’t give up
    Becoming a speaker definitely requires a lot of patience and hard work. I am sure that I will first get multiple rejections before getting an invitation to actually speak. However, only trying we can actually achieve our dreams.

Testing community is great and the more people we get involved in it – the better. Join me trying to step outside the comfort zone and bringing in some new voices to conferences.

 

How a user decided not to use Wizzair app – Day 13 of 30 Days of Testing

FIND A USER EXPERIENCE PROBLEM

UX problems are very common in all kinds of products. Each of us has faced them with products we tend to use often. It can be as simple as too small button, and as a user you may misclick or mistap it which can be very frustrating.

Techniques for usability testing definitely would not fit to this post, but I must include a honorable mention of heat maps. I just love images of them and user behavior: how there are hot areas which users interact with way more.

In Software Development, UX problems usually are marked as “nice-to-have“, however, sometimes, especially with new products, UX problems are major ones to solve: if user is not comfortable using the product – they are discouraged to keep using it.

For today’s challenge, I chose to test Wizzair‘s mobile app on my Android phone. Usually, I do all my traveling related actions in desktop version, but today I decided to see how users can Check-in to the flight via app.

I booked my flight in one booking before, so I found my booking in the app and tapped on it. Screen opened with my both ways flights. Even if I do believe that it would be great to Check-in to both flights at once, but web client works the same way, so it may be by design.
I noticed this UX problem:
“Please check-in!” is shown only on 1 out of 2 flights which are actually both not checked-in yet.
This is confusing for a user (I had to re-check online to see that I really did not check-in to the second flight of my trip).

checkin

Moving on, I did check-in to the first flight. Then, I just went back a few times (because I knew that second flight is waiting there to be checked-in to again). I got to the same screen as I inserted above, it confused me – I just checked-in, so why is it still asking to check-in! I clicked once again to check-in to the first flight and ended up again in Check-in window, but this time after first Proceed, I got my Boarding Pass window. Well, this was quite buggy, so I moved again back. This time it refreshed the state accordingly and displayed this:

all_passengers_checkedin

It is clear for me as a user that I did check-in to the first flight, but what about the second one? Why doesn’t “Please check-in!” appear there?

If I had many flights, this could be very frustrating not to know in which flights I did check-in. Showing message only to one of flights and not others may mean that others don’t have the same state. 

In the end, because of this UX problem, I may stick to the desktop version of Wizzair.

My team is my company – Day 11 of 30 Days of Testing

TAKE A PICTURE OF YOUR TEAM

I am an only dedicated QA person in my company, but does that mean that I am a team of one? I don’t think so!

My team is every single person who works in my company, because:

  1. We all are working for the same products
  2. We all want our products to be in good quality
  3. We collaborate with each other towards our company’s success

To illustrate it, I can give you a few examples how my work is related to each and every one of my colleagues:

  • Account manager collects outstanding issues, communicates them to the partner, asks for verifications and needs help explaining some of issues.
  • Sales person is preparing for a pitch and jumps into an issue – it gets extra attention if it was reported, if it wasn’t – it gets reported, and, if it’s actually not an issue – it is explained by QA and raises awareness.
  • CEO may as well check the product and doubt quality, QA has to be there to explain if quality did change or not, try to investigate reasons why the change may have happened.

I did not even include some obvious collaborators: programmers and product management colleagues. Every QA analyst works with them closely.

It can be a way different situation in a big company where people are more distinctly working in separate “teams”. This is understandable: after a certain limit of people it’s easier to curate smaller teams and have leaders there who are connected to other leaders of other teams. I have worked in a setting like that, but must admit that I like small company better.

You may be wondering, so how did I manage to get all my company to one picture? Sadly, but I didn’t. However, our awesome front-end developer agreed to represent the whole company and you can see the picture here.

How to find testing (and not only) events to attend – Day 10 of 30 Days of Testing

FIND AN EVENT TO ATTEND (ONLINE OR FACE TO FACE)

The task for today is clear, but the question is: where can we find events?

In this blog post, I will share where I look for meetups, webinars or other events to attend.

  1. meetup.com Meetups – this website is definitely a winner of all kinds of meetups in one place. You can find meetups from various areas in your own city. Not only that you have a huge selection of meetups to attend, but you can organize them as well (I have a meetup there, too!). It’s a great way to discover like-minded people in your city.
  2. Ministry of Testing Masterclasses – as of today, there is no new masterclass announced, but I have attended the last one and it was a great success. Attending masterclasses is easy, very beneficial and free – you just join them online. Make sure to register and actually attend them, if not – they still will be available, but only for Pro members of the Dojo.
  3. Sticky Minds Web Seminars – there you can find a list of pretty interesting webinars to attend. Don’t get scared of time 2 PM ET, if you are in Europe – it will be your evening, so perfect activity after work. Sticky Minds as well include on-demand webinars which you can just watch when you want.
  4. Test Huddle Webinars – similarly to #3, in this website you can find a lot of useful webinars on various testing topics not only live, but on-demand also.

My choice for the event was found in #3 site:
Test Data Playbook: Create a Winning Test Data Management Strategy for Application Testing

I don’t really have much of test data usually, but I believe it’s a useful topic to hear about and learn new things. Feel free to join me!

7 bugs out of 5 will do for Day 8 of 30 Days of Testing

DOWNLOAD A MOBILE APP, FIND 5 BUGS AND SEND THE FEEDBACK TO THE CREATOR

With so many apps in the market, it can be tough to choose the one you would like to test: should it be a known and stable app, a small hobby app which you would like to use or an unknown app? This definitely can be overwhelming.

I have realized that there is no need to look too far to find an app to test: my colleague is creating apps, so maybe he would have something new bubbling up in the lab. So, why not to help someone you actually know and give some useful feedback?

The beta app I got to test from the creator himself is called MoveRite. This app helps to learn how to do exercises correctly with videos and detailed instructions. You also can track your workouts and purchase extra exercise sets.

It is an iOS app which I tested on iPhone 6. I explored and familiarized with the app by creating random workouts, checking out functionality. It is in quite good condition, so no major bugs were encountered, but it’s not totally bug-free either (but who is?). Enormous help was that creator could give me test user for purchases, so I could test a lot of areas.

Here are my findings:

  1. No weight exercises have weights assigned to them and there is no 0 to choose.crunches with kilos
    At this stage of the app, all exercises require weights. What should be the weight for your abs exercises? The smallest you can put is 1 kilogram for crunches.
  2. About the app section contains default text filler
    loren ipsum
    This is rather expected in an early stage of an app – text will come later, so just a minor detail. So, let’s move on to better findings.
  3. Same weight numbers are shown for both kilograms and pounds

    This was achieved by changing measurement in the Settings and comparing same data as was obtained in kilograms.

  4. Kilograms are still displayed in selector with pounds being default measurement
    1) Change measurement to pounds instead of kilograms in Settings.
    2) Create a workout (or edit existing one)
    3) Try to select a custom weight amount
    Verify that even if selected numbers are shown in pounds, but custom selection still includes kilograms.
    kgs not changed in selector
  5. App closes after first purchase
    1) Navigate to App Purchases in MoveRite
    2) Click to purchase one of the exercise packs
    3) Sign in to your iTunes in pop-up dialog
    4) Confirm that you want to buy the app
    Verify that MoveRite closes and you are left in Home screen with Thank you message. You need to reopen the app. 
    app_off_on_purchase
  6. After purchasing second exercise pack it does not change to Owned
    Precondition: you just reproduced bug #4 and have one of packs purchased.
    1) Reopen MoveRite (you may need to sign in on launch, so do that)
    2) Go to App Purchases
    3) Click to purchase pack you do not own
    4) Confirm the payment
    Verify that in App Purchases Pack remains with the price which did not turn to Owned even if you did purchase that other exercise pack.
    after second purchase not owned
  7. After purchasing both exercise packs and reopening app – both packs still have prices and trying to purchase you get a message that you already own it
    Precondition: make sure you have both exercise packs purchased and encountered bugs #4 and #5
    1) Reopen the app
    Verify that both packs are with prices again and not marked as Owned
    2) Click on price to purchase it again
    Verify that message appears that you already have purchased this
    IMG_0058

To comment more on the purchase bugs, I am not sure maybe some of purchase bugs were actual limitations of sandbox user that I was given as creator said that it may cause some problems.

Conclusion: it turned out to be 7 bugs and I enjoyed this challenge a lot.  Exploring a new product is a great feeling. The best part is that I am giving feedback to the creator and a little bit contributing to the product.

P. S. MoveRite is open for Beta testing so feel free to join as well and help it improve!

 

 

Testing web accessibility – Day 7 of 30 Days of Testing

FIND AN ACCESSIBILITY BUG

Accessibility refers to the design of products, devices, services, or environments for people who experience disabilities. – definition from Wikipedia

There are various kinds of disabilities and points to test web accessibility in. I found a website with a variety of articles on web accessibility called WebAIM. Introduction to web accessibility listed 4 major categories of disability types (taken from WebAIM):

  • Visual (blindness, color-blindess, low vision)
  • Hearing (deafness, hard-of-hearing)
  • Motor (inability to use mouse, slow response time, limited fine motor control)
  • Cognitive (learning disabilities, distractibility, inability to remember or focus)

Keyboard accessibility can be considered as a low-hanging fruit because definitely not all websites are keyboard-friendly. Thus, it did not take me much time to check a few websites and learn that:

  1. My company’s product is not keyboard accessible (this turned out to be a never-defined requirement which may never become defined)
  2. Yahoo’s Home site does not create a hover effect when you tab on article’s Comments. It does tab nicely and gives impression of working on all other icons (like Love):
    Screen Shot 2016-07-07 at 4.46.11 PM

These issues are rather minor, but I would expect Yahoo (being such a giant website) to make Tab accessibility rather more user-friendly and create hover effects on all items.

On Twitter I noticed Visual accessibility‘s bugs. It intrigued me and I checked out Spectrum Chrome extension. This rather simple tool allows you to see instantly how people with different types of vision deficiency see the website.

I thought of games including many colors and checked Bricks Breaking. With normal vision it looks like this:
Screen Shot 2016-07-07 at 6.53.43 PM
A person with achromatopsia could hardly play this:
Screen Shot 2016-07-07 at 6.53.51 PM

For Hearing Disabilities screen reader tools can be used. One example could be NV Access free tool. I really wanted to try it out, but it supports only Windows OS.

Challenge like this raises accessibility awareness. It is very important to build your product smart and accessible to all kinds of people. Living with a disability already makes life more difficult, so let’s try to work on making the Web a friendly place to everyone.

Pineapples do taste sweeter with salt – Day 6 of 30 Days of Testing

PERFORM A CRAZY TEST

Today’s challenge made me think hard and do a lot of googling to find my crazy test. I even looked up the definition (mad, wild, unusual or extremely enthusiast). Colleagues also couldn’t think of anything particularly crazy. Only one developer required me to listen to Britney Spears – Crazy while doing the test. I completely forgot during execution, so I am listening to it now (makes it more challenging to put thoughts together, indeed!).

The closest to crazy test for me is stress/security testing. However, it already is a way of testing and it’s not really mad or unusual. As well as, bounds testing, monkey testing, cats testing – you name it. Believing that it still can be a usual tester’s activity, I decided to test a hypothesis and found one experimental fact to test:

Pineapples taste sweeter with salt.

Not everyday I eat pineapples with salt – in normal conditions I would not do that, but have to try to be crazy for a day!

DSC_0005-002.JPG

Requirements:
Pineapple
Salt

About the test:
Test passes if hypothesis is proved with at least one specific condition. The condition should be specified. Testing is not limited by any specific way of eating, the amount of salt can be variable in conditions and test products should not be mixed with any other products.

The first step definitely was to check the sweetness of pineapple alone. How do we rate sweetness? Well, I may have a large human error, but I had to trust my taste buds. I made sure that I did not eat anything a few hours before, so I could taste it well. The inital sweetness was rather a mild sweetness, not too sour, very mildly sweet.

Bounds of adding salt had to be defined. Hypothesis did not have anything about it: what should be the amount of salt for the hypothesis to pass?
I decided to check 3 salt amount cases: 1) Minimal amount – a tiny bit on the edge of the pineapple; 2) Average amount of salt – all edge is covered with salt; 3) Maximum of salt – all “open” pineapple parts are covered in salt.

Test results summary:
DSC_0007-001.JPG

Salt did affect the sweetness compared to the initial tasting. The amount of salt affects taste receptors, so best conditions to pass the test are #1 and #2 – from little to average salt. Salt plays with taste buds and mixing up with pineapple’s sweet/sour, it can create an illusion that pineapple is sweeter. Especially nice/clearer taste is when salt affects the tip of the tongue – part responsible for sweet tastes. However, too much of salt can overrule sweet and make it taste salty.

Conclusion:
I did end up eating almost half of pineapple, but this challenge was definitely something interesting to do and experiment. Yay for the crazy!

 

Why you should improve your test automation code – Day 5 of 30 Days of Testing

READ AND COMMENT ON ONE BLOG POST

Did you know that it’s quite easy to find great testing blogs following just one blog? 5 Blogs is the one! Everyday there is a post with 5 best blog posts read. This blog has been a huge help for my 5th day’s challenge. I got a big list of great articles and chose Learn Development Practices To Improve Your Test Automation Code by Jeroen Mengerink.

This article pretty much expressed what I’ve learned myself. I started coding at my current job wanting to automate some Web UI tests with Selenium. In first month I was googling a lot, reading practical examples and playing around with code. My main focus was to make it work: if I want it to click on a button, it should do that.

I was glad to have something to show: I could run my code and a lot of operations I used to do manually would quickly be executed in the browser. However, even if my code worked, but it was not scalable at all.

After seeing my interest in coding, company’s developers decided to help me and move my project of automated tests forward. This is how my code started to be reviewed. I must admit that I was terrified. My first pull request got around 30 comments about structure, naming, all kinds of conventions. The main advice from the developer was to read “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin.

With time passing, I did read bits of the book and started noticing patterns of what mistakes I usually do and a lot of comments under my pull requests would be known conventions which were mentioned in the book. I improved my tests according to feedback I got and… it felt great. I really value all kinds of comments as usually they are helping me and my code to be better.

Thus, I definitely can say from my own experience, that if you want to do test automation, then you have to learn some software development practises as well. This is exactly what article I’ve mentioned in the start is saying: software development conventions are very beneficial to you. I cannot agree more.

Development practises ease your automation work: it is easier to add new tests, you don’t get lost in your own code (with time it’s going to expand), it is easier to refactor your code and change it when the need comes.

Code improvements even become like an addiction in the end – you want to refactor more and more to make your code cleaner and nicer to work with. Do not forget to invest some time to that because if you don’t – you will lose way more time trying to maintain messy code.

are-you-too-busy-to-improve2.png