2017 in Review: Public Speaking, Amazing Testing Community & Self-Growth

“And, when you want something, all the universe conspires in helping you to achieve it.” –  Paulo Coelho, The Alchemist

This quote sums up 2017 for me pretty well: with hard work, determination and motivation some of my dreams materialized and I met amazing people who were willing to help me reach my dreams as well. I will slice up this blog post to milestone-like sections. 

From unaccepted speaker to accepted-to-every-one-I-applied-to

I kicked off 2017 reflecting on how I failed getting accepted to speak at conferences. I had a few useful lessons after my first abstract got rejected 5 times, and, I felt like I learned them – I had a bubbling new idea of what I should talk about. Something that I actually know best – my own story.

Don’t try to reinvent the topic and present something far away from your work – best stories are your own and there is a lot for people to learn from them

So, I created a new abstract called “Testing Big Data to Predict Your Perfect Fit”. I was surprised that sometimes it takes just a question to get some support from the experts: there were so many people who proof-read the abstract and were open to give feedback (Speak Easy, for example, introduced me to the wonderful Nancy Kelln). Once the abstract was ready, I submitted to 3 conferences.

I got invited to speak at all of them: Testing Cup 2017 in Gdansk, Poland, Quest for Quality 2017 in Dublin, Ireland and EuroSTAR 2017 in Copenhagen, Denmark! The last one being the biggest European testing conference with around 4-5 speaking tracks at the same time.

Before the very first talk I was so nervous that I couldn’t even sleep the night before. Technically I had some difficulties, but once it was over – the feeling was wonderful! I received great feedback, it was so rewarding to have audience members come to you and tell you that you inspired them or just to talk to you about work problems they have. I felt like I broke the ice and that was absolutely right!

Once you start stepping outside your comfort zone and deliver your first international talk at a conference – it gets better and you feel more comfortable

Quest for Quality’s experience I loved the most (thoughts on why it was the conference of the year for me). Theme spoke to me, talks were very interesting and the fellow speakers and audience in general were lovely people. I really wanted to deliver the best I could and it worked – the audience and my talk definitely clicked. I was voted the best talk of Quest For Quality 2017 with a rating of 4.61/5!

EuroSTAR was a great learning opportunity as it was a very big conference and I could meet a lot of people, but I did not feel the same click as at Q4Q conference. I met wonderful people there, heard good stories, but it wasn’t as cozy as smaller conferences.

In general, I loved public speaking – it was a great challenge. It taught me more about myself and enabled me to meet like-minded people. I am definitely thinking of some talks for 2018 now as well.

Give it a go at public speaking – it will help you grow

Meeting the old & new heroes

Participating in multiple conferences, meetups and online communities I got to meet so many amazing people. That is the best thing that happened to me this year.

Get to know the testing community – be it at conference, meetup or just online gathering. There are so many inspiring people with whom you can bond almost instantly

Imagine that you get to meet Michael Bolton who has been your inspiration since you started your testing career, you exchange stories and he looks at you and says “Impressive, you are going to be big”. It leaves you speechless. And there are so many known faces in conferences – having a chance to meet them in real life is unbelievable. Most of those people are so helpful and friendly that it will give you a kick of extra motivation to reach your dreams.

What surprised me more than known heroes were people of whom I hadn’t heard before. There are so many inspiring, wonderful professionals who add up to the experience of conferences or communities.

Looking at photo archives, I see this heart-warming picture from Quest For Quality conference. With 4 out of 6 people around me here I kept in touch and plan to continue doing so – if you ever meet any of these beautiful humans, tell them a warm hi – they are awesome!

20171003_204208-001

Also, online testing community has been such a great discovery – a lot of great people in testing are open, friendly and willing to share experiences!

Thank you to every single person I got to meet in 2017 – I am very grateful for every encounter!

Shift from Omega tester towards QA role at my work

For more than 2 years, I was a lone tester or as James Bach calls them Omega Tester. I worked a lot spreading testing awareness in general, not only building automation checks from scratch or getting to participate in groomings/plannings and collaborating a lot with other departments.

This year has been pretty generous to me as I got a new team member! So, now, I am shifting more to the QA role in a sense that I can actually ASSESS quality more – I use New Relic to monitor and spot quality issues we may be having. This ability has given me a lot of knowledge about the product, in-depth understanding of the internals and even got me invited to priority meetings with CEO, account manager and the head of engineering. I am becoming more of a quality professional (which I do love a lot) even if I still do a bunch of testing as well, but my new colleague now helps me out with most of the tasks and we can distribute accordingly. I think it was one of the main lessons in my career:

Clear communication, collaboration between teams and being open to everyone has helped me grow and learn a lot about the product

When it comes to testing, I also got to finally play around more with APIs this year and learn more about back-end. That was so fascinating that I would love to learn more about it in 2018.

2017 in Numbers

My personal numbers:

  • Speaker at 3 international conferences
  • Multiple amazing professionals in testing met at conferences/communities
  • QA & Testing department doubled (from 1 person to 2!)

My blog’s numbers:

  • 7 post published
  • 1404 unique visitors – record number since the start of my blogging
  • 2033 views – second in place after 2016 when I did 30 Days of Testing challenge
  • 338 people read the most popular post: Dear tester! Others care about quality, too.

Resolutions in 2018?

After 2017’s challenges with public speaking, I definitely want to speak again at a conference (or a few). I am researching biases right now. I want to do a talk related to our own and other people’s biases. Especially working as testers we get to deal with that a lot! A practical talk of stories and tips (if you have some stories to share on what you faced related to systematic errors and/or dealt with it –  I’d love to hear them!) .

Apart from that, I am aiming to continue occasional blogging and also learn more about APIs!

Advertisements

Dear tester! Others care about quality, too.

Dear tester,

I know that sometimes it feels like people you work with just want to mark the cards in JIRA as Done without proper testing. Sometimes they tell others “…once it passes the QA” or create tasks for you subjected “QA X” like it is being done just because “they have to”. The feeling of annoyance caused by urgency to complete the task immediately without reporting any bugs is inevitable because of the way they tell just to “pass the QA”. I did write of that before on why “pass the QA” makes me cringe, so I can feel your pain really well. Especially, that even after me trying to explain QA vs Testing vs Checking many times in my company and clarifying, the very same wording is still being used. I would like to share with you a story that happened to me which made me think that sometimes we exaggerate a little bit assuming that others do not care of quality as much as we do.

Today one of developers in my company came back with initial implementation and results to “QA”. The task was fairly simple – there is a lot of data generated by an algorithm and we should check it (I’m using here check consciously as it’s not really testing at this point): does it make sense, what patterns of fault we notice, does algo actually work? All of this should evaluate the quality of results produced by this new algorithm.

The wording of this task’s formulation and documentation with the data had QA mentioned around 5 times in various forms and I’m sure you are familiar with most of them: “data to be QAed”, “for the QAing” or my least favorite “pass the QA”. These terms do not feel too good as they are not correctly used and it may feel slightly insulting sometimes that your colleagues may not bother to even understand what you’re doing. However, you cannot teach all people to use the terms and it’s important to let it go sometimes. Remind yourself that we all have biases (and I do have a story on Managing your biases which made me slow down a little bit before judging). I decided not to exaggerate and think from that developer’s point of view: we both know what he wants as a result – the quality should be evaluated even if he is using the wrong terms.

Some colleagues may use the wrong terms and confuse testing/checking/QA, but don’t go and nit-pick on that. Words matter, but not everyone cares either how to name the rose: all you can do as an empathic quality specialist is to show people that you are open to explain to them, but only if they want to. 

This is not why I’m writing to you, though – this colleague of mine may have used the wrong wording, but letting go of that wasn’t the main takeaway I got.

When the colleague created the task description, it lacked one thing: any description of implementation details of algorithm. No documentation was yet created, no code mentioned, only thing provided was the generated data and vague explanation what should be done (compare columns and say if it’s okay or not using some human sense and research on each of options).

I really wanted to see implementation details: how else can I assess actual risks? Maybe there are areas and patterns that are design flaws and can be seen before even looking at the data generated. This developer tends to work alone as well, so there isn’t much of code review going on.

When I asked if there is any documentation on this algorithm, this was the response I got from the developer:
“Not yet, this is not ready for production yet. When it passes QA there will be a documentation page with all the changes that have come out of the QA process.”

This wasn’t something that I expected to be honest – I replied that to do the QA process we need to know the implementation details and this shouldn’t be made visible only when the algo goes to production. We shouldn’t check in the dark.

My reply has made this developer write to me personally and the words that were used by them again were a little bit rough I could say. The arguments on why the documentation wasn’t created were that “it is too big overhead” and then eventually “it seems that we disagree on the QA process here: for this task, there is no need for implementation details”. How would you react to this, my dear tester? Developer is claiming that as someone who is hired to test and give quality evaluations you shouldn’t look at implementation details at all.

As someone who recently encountered several design flaws in built products which caused issues and could have been spotted years ago, I felt ridiculed. Of course testers or QA (whatever way people want to call these specialists) should see implementation details. Is this developer really thinking that their design and implementation is perfect that we should look just at the results produced?

Issues can be spotted when getting to know algorithms and implementation: you may spot a logical error which causes certain bugs before you even look at the data obtained from running the algorithm

I stood my ground then, though. I tried to explain that I would love to see the implementation because it will help me to do the “QA processes” faster, more efficient and may display me some of issues before I actually look at the data. I want to be familiar with what it is actually doing.

And, to my surprise, it worked. This very same developer who was fighting that QA does not need any details on implementation shared with me the code they wrote to produce the results. It turns out that they thought I needed detailed documentation, but even code was enough which could easily be provided.

In the end, I realized that I could have given up. I could have closed myself up and exaggerated thinking that it’s only me who cares about proper quality judgement and people just assign tasks blindly without even considering that there may be issues in their logic of implementation. I could have felt hurt by the words used and impressions I got from this person, but in the end, even if we spoke in different terms, we both aim to finalize quality assesment (not to pass the QA, just understand if this implementation is good enough). I stood up for myself trying just to do my job better and I got help even if it took an extra step.

So, dear tester, believe that your colleagues are there to help you – you all want your products to be successful and of great quality. It is not only you, just sometimes others don’t know what you exactly need to do your tasks – open yourself up and ask for it. Only by sharing your needs and communicating you can make others understand your tasks better. 

 

 

 

Quest for Quality 2017: Best conference experience of the year

Early this year, I stumbled upon Quest for Quality conference’s website. I was browsing conferences about testing trying to find a place where I could apply to speak at with my newly written abstract. As very often it goes with first impressions, I liked the design of their website and the general impression this conference had: dev-ops and testing are such a great match which I appreciate a lot in my daily work. To fast-forward a little bit: I was invited to be a speaker at Q4Q2017 in Dublin, Ireland and can honestly say it has been one of the best conference experiences I have ever had. 

At this conference, I was both an attendee and a speaker. First of all, I believe one of the greatest benefits of being a speaker at conferences in general is a chance to meet fellow speakers as well as amazing attendees who are interested in your story. It definitely is an ice-breaker for introvert speakers. In Q4Q2017 there was plenty of that thanks to the great organizers who helped speakers to get to know each other in a really cozy and sincere speakers/sponsors dinner before the actual conference. We bonded instantly and it gave a certain confidence boost to know fellow speakers, support them and get their support as well. During the conference, we got to talk to each other more and I believe that we got some great long-lasting connections.

As an attendee, I was impressed that Quest for Quality had such amazing speakers and I loved the selection of topics. All the topics were linked to the challenges of Quality Asssurance and digital transformation in this fast-paced IT world. I will mention a few of the talks and key learnings from them.

The conference was opened with an introduction from Nikola Šopar who is the Director of QA Services, Comtrade Digital Services – the company which has organized the event. I could relate to his talk a lot and I think it laid a great start for all of the speakers. Nikola talked about the change we are facing: the pace is really fast in platform economy and with that the concept of quality is changing, too. In the upcoming two days – that was actually the main theme for the conference: change and adapting to it.

Andreas Grabner from Dynatrace delivered a keynote “How DevOps is done by Top Performers” which I found extremely interesting. The current motto unfortunately is “deliver crap faster” and this should change. Andreas told a lot of interesting stories about how dev-ops and quality interact and the continuous user feedback driven innovation including Facebook, Etsy, Dynatrace, Verizon and SOFICO. I loved to learn how companies made delivery not only faster, but better quality, too. Monitoring can help a lot in those cases to avoid false positives and get extra information from automated checks. Also, what I loved in this talk was this:

Maik Nogens with “How the XING Team Created a Successful Content Platform from Scratch” had a lot of great concepts to share that everyone should be familiar with in testing. Maik’s story was full of great lessons, so I’m just going include a couple of photos from it:

Talking about wonderful new friends – I got a chance to meet Maja Schreiner who is going to be my roommate during EuroSTAR 2017 conference! After talking for a while it turned out we are both going there and would be willing to split the costs. Funny coincidence and I’m so grateful for that! By the way, Maja wrote a really great blog post about this year’s Quest for Quality in her blog so check it out! Maja delivered a talk “Continuous Delivery Using Crowdsourced Testing” about how her company involved crowdsourced testing into their workflow. I think crowdsourced testing is a really hot topic nowadays and it was great to get some myths about it busted.

On the second day, a great start of the conference was the keynote by Finn Lorbeer from ThoughtWorks called “Building a High Quality Product”. It was my favorite talk because I could relate so much to it. Finn gave great examples and a lot of food (or to be more precise – muffins) for thought.

Another great talk was by Amela Teftedarija and Darko Nikolić who presented “Think Globally, Act Locally – Build Stronger Distributed Agile Teams”. Most of us have experience working in distributed teams and there definitely are some challenges with that. Amela and Darko gave a lot of great tips to build amazing distributed teams and be more considerate towards yours team members.

Lastly, on the second day I also got to present my talk “Testing Big Data to Predict Your Perfect Fit” and it was a blast! I was fighting with a little cold, but having mini jars of honey in the conference venue and helpful staff was definitely a big advantage! Audience was great – I got a lot of interesting questions after the talk and I felt so honored and happy to be a part of this conference.

In conclusion, I highly recommend Quest for Quality conference – you will come back changed and what is most important – the people there are simply magical! Big thanks to name just a few: the best organizers team with Evelina & Nikola in front, wonderful attendees and the best fellow speakers Maja, Maik, Finn, Neven and Amela! Good luck to all of you and see you next time.

With closing smiles and great memories: me & Amela after the wonderful Quest for Quality 2017 experience:
DSC_0041

 

 

 

Managing your biases

Looking back to the very start of my career I see a rollercoaster ride of the confidence levels of my professional knowledge: first I didn’t know anything and felt like a student, then I felt like I know a lot about the product, then I doubted if I know anything when an issue hit the fan, after learning mistakes I again thought I have enough of knowledge… and, well, now it’s slightly different than “I don’t know anything”: I am proudly admitting that despite whatever knowledge I have about the product and testing,  I can be a fool and biased, and learning how to manage my biases has helped me to learn more and more every single day.

The more experience I get in testing, the more I realize that there is always a bit of information that I may not know and this can affect my judgement. And the person whose opinion on quality I may discard can be actually helping me to expand my view on quality.

We all have different background colleagues – I do, too. They may not have the knowledge that we have, but this shouldn’t block us to hearing them out and seeing that maybe this is pointing to something important.

Some time ago a colleague of mine who we can name Lambda would a little bit annoy me coming to me with issues which didn’t seem to be worth a lot of attention. Lambda would be deeply concerned, but a lot of times even if I did investigate the issues presented – I would still hold some inner blockages towards the issues reported because I felt like we have bigger fish to fry than investigate those problems.

Once Lambda again ran to me to talk about a certain issue. This time I was certain that this issue is important, but I felt like we cannot do much about it and we cannot tell why this issue is there. Lambda insisted that we should sit down together and investigate. I was hesitating because my inner biases were telling me “we cannot do much about it, Lambda is not a tester”, but still tried to help Lambda. After some time, Lambda got a genius idea on why the issue was happening. I was dumbfounded. I did not see this person as a viable information source, I felt like I may know better and yet.. I was utterly wrong.

This little story was just one of many – with time I am learning to listen more and more. Before when I would get e-mails about issues from various people – I would be rather skeptical. Now I am intrigued. I love investigations, I try not to block the issues that other people find important – it is a great room to grow myself as a tester.

There are so many points related to this topic: the way we test, the way we make conclusions, the way we listen. I have touched only the tip of the iceberg here, however, from my mere experience in testing, advice to my younger self:

Shut up and listen to others more, dig deep to the issues reported even if you want to quickly comment that “it works this way” – you may find something that you did not expect at all. There are dark areas in your product even if you could not notice them. Communicating to people you can learn many new things and information is key in testing. Your knowledge will expand constantly.

Issue investigations have been my favorite part about testing and I must say that improving listening skills and hearing out other people has helped me big time to be better at that. I cannot give a lousy answer to a person from a different background – I have to prepare a detailed answer which doesn’t leave question marks even if person is not too technical. And, sometimes, I definitely can be a fool with my ideas about how it’s working – others may be correct even if I don’t believe it because I feel like I know better.

Managing inner biases and all the blockages that we have is quite a challenge. However, looking back, I think all the mistakes I’ve encountered/done in testing have helped me to slow down and listen. Not only in professional life, but in personal, too – give people a chance, they may actually know better than you.

 

London Tester Gathering Workshops 2017 Impressions

When Ministry of Testing announced a competition to win tickets to London Tester Gathering Workshops, I submitted my entry and didn’t think I’d actually win it. However, social media is the thing nowadays and I must say enormous thanks to 10 testers who entered competition via my lucky URL and made the chances of me winning higher! I cannot express enough on how grateful I am for getting this ticket – workshops for me are the most valuable method of learning. LTGW2017 was a blast!

London Tester Gathering Workshops lasted two days and each of the days had half-day workshop sessions which were fueled with interactive participation. Also, there were 2 workshops happening at once so you always could find a good alternative. Variety of topics didn’t make the choice easy, though! I wish I could have attended them all!

First day of conference (June 29th) I kicked off my day going to Security in the Cloud workshop facilitated by Abby Bangser & James Green. Nowadays a lot of companies are moving their infrastructure to the cloud (my company is not an exception) Amazon Web Services (AWS) are bigger than ever and security is one of the key elements that need to be taken care of.

Abby and James gave a great introduction to Amazon AWS and even helped us to understand Software/Platform/Infrastructure concepts better. Here is one of my favorite slides:
Screen Shot 2017-07-11 at 6.05.08 PM.png

After a small theory part, we actually did hands-on exercises trying to utilize Amazon AWS website, finding security issues in the cloud and discussed on how to avoid these.

3 key take-aways I got from Security in the Cloud:

  1. Cloud services are flexible and make you feel that a lot of infrastructure related tasks are not your problem anymore, but come with some risks and this means that for testers AWS can be just another domain for testing
  2. Make sure that only the wanted files are available to the public (or certain group of people) and nothing else (for example, the whole bucket may be available)
  3. Even logging of processes can unravel restricted information to someone who doesn’t have authorization and they could misuse their rights

Second part of the day I spent in the workshop An Introduction to Complexity and Cynefin for Software Testers with Martin Hynie & Ben Kelly.

I have heard about Cynefin (/ˈkʌnᵻvɪn/ kun-EV-in) before just as a buzzword. I did not know what it exactly is and how it is used, so I decided to finally learn by attending this workshop. And, well… I ended up taking more pages of notes for this workshop than any other.

With a few group exercises Martin and Ben were challenging our known decision & sense making patterns and made us realize that we naturally lean towards putting everything in boxes, but it is more important to get more information, stay open and actually reconsider categorizations we made. A lot of information that we got can be used not only in our careers, but even in personal life. Cynefin is not really a decision-making framework, but sense making.

3 key take-aways from An Introduction to Complexity and Cynefin for Software Testers:

  1. We tend to make premature decisions based on our known approaches and Cynefin could help to make us think about the actual problems, ask questions and challenge our believes by rethinking, breaking issues into parts rather than categorizing
  2. The better you become at something – the more you tend to think that it is obvious. This has no second guessing and may lead to disaster
  3. Questions are indicators: there may be a need to expand discussions. Concerns are very important

Another LTGW day had 2 more workshops and I started my day with Telling the Testing Story – Storytelling for Testers facilitated by Huib Schoots.

In this workshop, we learned way more about storytelling and its importance in every single area of life. Storytelling is rather a tribal thing and we tend to lean towards the people who tell good stories.

Also, we got some hands-on practise in presenting our group flipchart creations and I really felt like the team I was in was sort of a dream team – we didn’t know each other at all before the event and at Huib’s workshop we were made to collaborate, it worked out so well and we loved working with each other. Greetings to the wonderful Malonie, Galina & Andrew! And here is one of our group work creations:

3 key take-aways from Telling the Testing Story – Storytelling for Testers:

  1. Storytelling is a very useful skill to have especially as a tester: it is important to communicate well and manage to convince people
  2. Even your job interviews can go way smoother if you prepare stories on what the company wants and how you have done that
  3. Culture at companies is a collections of stories told

For the grand finale workshop, I went to Traffic, Verbs, Testing, and T-Shirts with Sharath Byregowda & Tony Bruce.

We learned more about REST APIs and how to test them. The very fun part was actually playing a game with t-shirts and forming 3 groups (clients, verbs and servers) in order to understand how the requests work on HTTP: clients would provide stickies with URL to the verbs who then ran to the servers to get the response.

I got to be a POST request and carried back all kinds of API codes returned in various situations.

IMG_1676

Later on we got to play around with a certain website and use curl to do some API testing.

3 key take-aways from Traffic, Verbs, Testing, and T-Shirts:

  1. Sometimes even if the returned code is 200, but body still may be wrong
  2. http://www.any-api.com has many API documentations
  3. Curl can be used for API checks and it is actually very interesting to play around with it in order to test REST APIs!

In conclusion, each workshop was full of content worth sharing and was very useful. I heard a lot of interesting information that I can apply at my work, met amazing fellow testers and gained so much of motivation to read about many concepts I haven’t thought of before.

 

 

 

Breaking the ice in Testing Cup 2017

The adrenaline was rushing to my heart so heavily that I couldn’t sleep the whole night. I kept falling into drowsy mind flow, muscles relaxed, but heart just could not calm down. At around 4 AM birds started chirping outside, I still felt the heat wave, took a cold shower and kept trying to fall asleep. At 6 AM until 7 AM I managed to doze off a few 10 minute intervals and then it was time to get ready. The big day was here. June 9th, the conference day of Testing Cup 2017 where I was doing my first ever conference presentation. 

I was so honored and extremely excited to be invited to speak at Testing Cup 2017 in Gdansk, Poland. The greatest ever thing about Testing Cup is that testers can compete for it! How awesome is that? Teams/individuals participate in a testing competition and can prove themselves to be the best bug catchers! Such a great opportunity for testers in Poland! And take a look how the actual prizes look like:

I arrived on the afternoon of the 8th of June, so sadly, did not see the competition itself taking action, but could join the beach after-party which was an amazing experience! I took a train ride to Sopot (on the way I learned a good lesson about Polish trains – the ticket validation machines are on the train stops only, not on the trains themselves!) and after a walk on the beach I joined the Testing Cup participants & speakers in a bar on the beach. There were snacks, drinks, even a DJ and the fire show, and, of course, the most wonderful view with a special appearance of the rainbow:

DSC_0042-001

After the party, I went back to rest before the big day and here is where we get to the first paragraph of this post. Even if the night hadn’t been wonderful and I was worried, but one of the speakers told me when I asked if they are nervous “I was, for the first talk”, so I believe this is a natural feeling. The good part is that I didn’t feel sleepy at all and could listen actively because of the adrenaline rush.

I arrived to the venue to participate on the second day of the Testing Cup which was the conference day and I haven’t mentioned yet, but the whole competition was in a stadium! This was where we would relax during the breaks or just go to breathe some fresh air:

stadium

The fantastic part about the conference was that it had several tracks! One was purely in English, so I always had what to listen to. To name a few of many great presentations that day:

Andreas Faes talked about his experience of changing beliefs as a tester in his presentation “Losing my religion”. Andreas gave an overview of testing schools, told examples from his professional journey and shared great concepts about testing. I could relate to it so much!

Maria Kedemo delivered a great keynote on testability “Dimensions of Testability”. I cannot stress enough how I agree with the points she made because usually the most common obstacles we face as testers are testability issues.

Ben Simo (better known as “the bug magnet” or “a sort of skilled hacker”) gave a keynote called “An Incredible Mess”. It was one of the funniest talks I have ever seen. Ben shared his story about his experience with healthcare.gov website’s usage and the publicity that was caused by the bugs he reported to them.

And now… what the curious of you have been waiting for – how did my talk go?

I think in general the talk itself went fine, I delivered the content and didn’t feel nervous, but all my nerves went away partially because slides.com just went black once I started the presentation! Even if before we did a tech check (I wanted to make sure it works as I had an iframe which prevented me from using other presentation options then) – all worked well then. However, once I started we had to interrupt the presentation a couple of times and change the laptop (which was not ready for presentation and got some meeting pop-ups!) I think I faced one of the biggest technical problems speaker can get all together, so this just gave me the attitude that – the worst may have happened, so I should just continue and deliver the message the best I can! After the presentation, I really felt like the ice has been broken and the speaker’s words about the first presentation being the hardest were more than truth – it wasn’t as scary as I thought it would be!

In the end, even if I wasn’t too happy about technical issues and got my lessons learned (slides.com never again and always have back-ups!),  I really got inspired by the great feedback I got from the audience. This has shown me that it doesn’t matter even that my presentation had some glitches (of course would be better if it didn’t, but life happens!), people in the end came to hear the content! Nothing can be more rewarding to a speaker than to get a message like this:

And I must say, Testing Cup’s audience was so nice! People were smiling, patient and supportive. Once I went to deliver my talk and saw people’s supportive eyes shining with curiosity, I knew that I am in a safe place!

Huge thanks to the wonderful organizers of Testing Cup and the amazing participants. Also, thanks to my colleagues for sending encouraging messages and believing in me from the very start. Lastly, enormous thanks to such a magical community of testers in social media who are always there to support you and are so welcoming to new speakers!

The ice has been broken. I am ready to speak again!

 

“I have a Craft in me” or Craft Conference 2017 impressions

Second year in a row I got a chance to attend Craft Conference in Budapest. After last year’s event I was very looking forward to this conference – mainly because it is our company’s tradition to give a chance to all the dev team members to attend the event. And, having in mind how wonderfully amazing my colleagues are – Craft is a great conference where we not only learned a lot, but also had our own team building time.

This leads me to community zones. At TED(x) conferences community zones are always very important – they say that anyone can watch the talks online, but people really want to attend the event for meeting new people and for the cool activities to do during the breaks. Well, I must say that Craft’s community zones were definitely moving towards that direction!

The conference had a huge amount of participants (around 2000!), but there were plenty of activities around having in mind that the venue was the Hungarian Railway Museum!

I love this venue choice – last year it was in the same venue (the pic above was taken last year – but I promise, it looked the same) and I was looking forward to try the activities I haven’t tried before. For example, we could take a ride on the little train:

Or my another favorite was small Bosch cycling cars – the only type I can drive properly. I saw this video on Twitter from the afterparty on the first event’s day and it is just hilarious:

The talks ranged quite a lot: from soft skills topics to very technical ones. There were several tracks as well – everyone could choose the talk they are interested in. I think this year I had more topics that interested me as a tester than last year, but there were different opinions as well – it all is a matter of taste in the end.

During the 2 day conference, I heard a lot of great ideas, but here I decided to list 3 my personal favorite talks from Craft 2017 that I highly recommend you to watch (ordered chronologically):

  1. Maaret Pyhäjärvi – Learning in Layers: A Demo of Exploratory Testing. As a tester, I just had to go to this talk! I think it gave a really nice overall image on how exploratory testing can lead you to different areas in a product – it all depends on your start choices. And, oh boy, how much you can find. At my work, I am a note taker, but in this presentation Maaret with the help of a volunteer did a strong style pairing and created a mind map. I loved this idea and can’t wait to actually use it in the new feature’s exploratory testing.

2. Melissa Perri – The Build Trap. As a tester, I often get to be the middleman between product and dev teams. I usually work pretty close with programmers, so sometimes I struggle to understand the importance of reliable usability testing for example. However, this talk shed a new light on the topic and I feel like I learned a lot from product management’s perspective on how actually the real user’s opinions matter – your colleagues are not the usual users.

3. Richard Kasperowski – Building Great Teams: Culture and Core Protocols. A very interesting talk which made me take notes. One of the key ideas that really hit me was that if a person is telling you how they feel – you never should tell them what to do. The fact that they share how they feel (even if sometimes it is a bad feedback in a way) should be accepted, not attacked (with forced suggestions that they should do this or that). Usually as humans we try to “give advice” (as we see it), but that is not what is needed at that point. Also, the talk had on the spot exercises. I went to this talk with one of my colleagues. When we walked out, we both agreed that we feel a little bit changed inside. After doing the exercises together – we learned more about each other and most importantly – ourselves.

And lastly, I must mention that with Craft conference having wonderful speakers in town, there are many Craft Edition meetups in the city happening! This year palinQA Budapest testers meetup that I’m a part of organizing had two consecutive days of meetups with three Craft speakers: Dan North and Emanuil Slavov on 26th of April and Maaret Pyhäjärvi on 27th of April.

Audience really enjoyed both meetups, I heard that for some people the first meetup was the absolute favorite of all meetups we have organized.

While the second day’s meetup had Maaret presenting ‘5 Controversial Ideas to Improve your Impact as a Tester’ and it was indeed pretty controversial. This made the audience extremely active and they asked a lot of questions. It was a wonderful evening.

Overall, I am very happy to have participated in Craft 2017! I met awesome people, had a blast and learned a lot.

Impressions of “How to Break Web Software” by Mike Andrews and James A. Whittaker

Everyday testing for me involves Web Software, to be precise, I mainly test a Web Service. At work we have a company book shelf and there were no surprises to encounter  “How to Break Web Software: Functional and Security Testing of Web Applications and Web Services” by Mike Andrews and James A. Whittaker. As it was the only testing related book in the shelf at that point – I decided to read it.

This book was written in 2006 so you can imagine that a lot has changed since! Web Software is bigger than ever. Even a regular website may use multiple web services. I did smirk a lot on some of the terms like Web Bugs (I never heard this term before: it would always be called a tracker or a tracking pixel in my environment). Also, to be honest, some of the tools or examples including IE6 made me cringe a little bit and felt a bit outdated, but…

“How to Break Web Software” gives very good foundation for Security Testing Web Software. I haven’t had much experience with Security Testing except for  one of the days in the 30 Days of Testing where I got to play around with Gruyere.

SQL injection, cross-site scripting, session hijacking and cookie poisoning (web cookies not the ones you brought to work to your colleagues as advised in “Explore It”) are just a few attacks which are in this book. Attacks have very clear structure: when to apply it, how to conduct it and how to protect from it.

Not only that the book describes attacks clearly, but it explains the way Web Software works and introduces its terms and technologies. I realized that the last chapter called Web Services would have been like a gold mine for me from the first day when I started working here. It describes technologies I have to work with daily.

“How to Break Web Software” gave me a better understanding of Web Software and even how to be safer in the Web applying some tips mentioned in the book. The attack descriptions were a great way to learn about the testing techniques heard about before, but the best way to learn them better is to apply them practically.

 

 

How “Clean Code” by Robert C. Martin helped me to get my automation tests going

Even if I am a pretty decent bookworm, it took me months to finish “Clean Code”! It definitely was not an easy evening read for me (even though I do know some people who read it overnight) and it was the very first book I have read on programming.

In the first years of my testing career my tasks were limited to setting up my own testing environment and manual testing (very often with manual test scripts). No wonder it started making me feel like a monkey and bored to death!

When I changed my job to being the lone tester in a startup, my time resources became very limited. Manual routine tasks started to hurt a lot, so automated UI tests became a long term plan. Luckily I have wonderful colleagues who gave me a lot of needed support to get going.

In the very start as a very beginner programmer (never done it before except in university basic classes) and a practical person, I just created some automated tests based on examples I found. My main purpose there was to make it work. If it works – then I move on to the next thing I want to automate, google, find a solution, modify and move on.

Then, the fun began. We did want my automated tests to be actually used and scheduled. For this purpose GitHub was chosen to store it and for that I had to start creating pull-requests and get them reviewed by a senior Java developer. It was definitely terrifying. First pull request I made got 30 comments in one review session.

The comments were super useful, but it made me realize so well that to make it work is not enough – we need to make it maintainable, readable not only to me, but others, and scalable for the future. There were so many things I did not know about programming. And there came an advice from the developer for me to read “Clean Code” by Robert C. Martin.

I did read it and I realized how important it is to actually write clean code. It definitely should be a long term goal of everyone.

Some very important points mentioned in the book which I loved:

  • Meaningful names: Code has to be readable and understandable to others as well, so use intention-revealing names without disinformation.
  • The single responsibility principle (SRP): there should be only one reason (responsibility) for class or module to change.
  • Tests should be clean: readable! One assert per time if possible and single concept per test.

“Clean Code” is full of useful advice on how to make your code cleaner. It includes some easy tips like the ones I listed above, but it also goes in depth and looks into code examples and tries to make the code cleaner hands-on.

Getting software to work and making software clean are two very different activities.

I think the quote above sums up the main idea of the book. Very often whoever is doing programming forget this very important aspect: clean code can make your life way easier in the long run and even help you to avoid making mistakes (or bugs!).

Months later, I finally finished this book (reading bit by bit) and my automated tests are now scheduled for nightly runs. I am far from being a great programmer, but, due to a lot of useful code reviews and information obtained from “Clean Code”, I have improved my code quality a lot and can make changes way easier than before.

Even if you are a not a full time programmer, but have to do some programming, do not underestimate the power of clean code. It is not only about making it work, it’s about making it work in the long run, too. It will scale, get used and be easy to maintain if you work on writing cleaner code. 

Why phrase “pass the QA” makes me cringe

Today I heard someone say “pass the QA” and in this post I will share why I believe that we should cross out this phrase from all dictionaries where it is included because it is just wrong use of definitions.

Let’s break this phrase into two parts: QA and pass.

What is QA?
I am talking here in a sense of quality assurance. Okay, that sounds clear, however, what is quality assurance?

A lot of people mix up QA and testing on a daily basis. There have been various discussions about it and I mostly lean towards the point of Michael Bolton in his post Testers: Get Out of the Quality Assurance Business. It was an eye opener blog post for me: my first job as a tester even had it in the title “Software Quality Assurance Analyst”. Later on, I turned into QA Engineer. However, I am a tester.

Michael Bolton in that blog post gives so many valid points, it’s like a gold mine. It is one of my favorite ever posts about testing. It basically stresses that as a tester you cannot really assure quality. You just inspect it and help to improve it. You test.

QA is not a person or the department of certain type of professionals. It is a task of everyone in the company to work towards assuring quality. Tester may play a huge part in it, but the actual “action” assurers of quality usually are programmers because they actually are making changes to the quality level. And, let’s not forget the main part:

Assuring quality is an ongoing task/goal of the company.

What does it mean to pass?

In testing passing the test means that the test has passed based on its acceptance criteria.

Test may be built from multiple specific test cases or lead by charters. However, the defined acceptance criteria should be clear.

Passing of tests could be related to the common question in testing: how much is it enough to test? Sometimes the answer is not that obvious. There may be various scenarios, explorations to be made and a common standard should be discussed with product management team on what are the requirements and if edge cases should be addressed for the initial release/iteration.

Why don’t I like the phrase “pass the QA”?

After explaining both parts of this phrase, I can say that for me saying “pass the quality assurance” makes almost no sense.

Quality assuring is an ongoing task, so it is never going to end. You cannot pass the quality assurance as it is, but you can pass the test.

I do understand the intent of this phrase and why it was used: it was meant to say that testing will be completed with no show-stopper issues and will pass the acceptance criteria.

Let’s not underestimate the power of wording. Saying “pass the QA” can definitely be misleading. However, sad news are that this term is quite popular to describe the teams of testers. In this case, let’s spread the awareness of the differences between QA and testing – we all are doing QA in the company, but only testers do testing as their full time job (programmers do a fair deal of testing as well, but it is not their main responsibility usually).