The Most Important Answers Are Not Asked

We don’t know what we don’t know, and to discover this blind spot, the best we can do is to ask questions. Asking a question is the key to unlock the world full of knowledge. And actually asking questions is one of the best ways that software testers can add value. It is important to note that we – testers – ask about ‘how?‘, ‘why?’ or/and ‘under what circumstances?‘.

So what are the right questions?

Questions that

      • are brought up at the right time
      • open minds
      •  challenge the listener’s knowledge base
      • challenge the way of thinking
      • make people to shift paradigms
      • create thinkers
      • bring knowledge to the table
      • expose unseen problems or root causes

Continue reading The Most Important Answers Are Not Asked

Code Coverage. 100%

The question ‘do we really need to test constructors?‘ led me to understand that what 100% code coverage means and why we should strive for it.

Previously I’d always stated that it’s impossible to achieve 100% code coverage. Because 100% coverage means 100% coverage of that you believe to be the system’s functional paths. In other words: it is not 100% in reality. And it’s highly likely to people would write useless tests to reach that 100%.

Continue reading Code Coverage. 100%

it() Should Not Start with Should

Jasmine is a behavior-driven development framework for testing JavaScript code. This framework provides it() blocks to define test cases.

Every it() block contains two parts: description and return call.

description: this is a description of the test case

return call: this block contains function(), it may also have a variable in it, basically this variable will have some set time for to set the total time for the it() block to get executed. You can use it without time as well.

There are many articles, tips and tricks available explaining the best practices and lessons learned.

And this is where I can see that in lots of cases when the description in the it() block starts with the word should.

Continue reading it() Should Not Start with Should

What Is Exploratory Testing and Why It Is Great (Aka ET 101)

I’m pretty sure you have heard things about Exploratory Testing, you have most probably heard about how awesome it is. (Yes! This is the secret weapon!) And you may think you know it ALL. You are doing it, your team is doing it, so all should be good, according to the big book of plans you are all covered.

When you say or hear that someone was finding bugs by “just clicking around and found these issues, I did some exploratory testing“, then you can be as certain as death and taxes that it was not exploratory testing.

When you hear from the scrum master/whoever that “let’s do some exploratory testing before the live release just to make sure that everything is fine“, then you can be certain that they have no idea what they are talking about.

So what’s the point of Exploratory Testing? WHY is it great?

There is a psychological background. Let me explain.

Continue reading What Is Exploratory Testing and Why It Is Great (Aka ET 101)

Oh, Those Lovely Interviews

I have been browsing through the recent job postings for different QA roles lately, and I realized that there is only one thing in which these postings differ from each other – and this is the stack listed. And maybe the company description which tells us how great that company is, like they have bean bag chairs, table tennis, video games, etc.

I understand that it is not easy to write a job ad that stands out, from which I could predict that ‘yes, these people really know what they are looking for in a candidate.’

Nevertheless, one applies. What can go wrong? One might ask.

Well, a lot!

Continue reading Oh, Those Lovely Interviews

The Two Sides of Crowd-Sourced Testing

I was a huge fan of crowd-sourced testing.

I joined a smaller crowdsource testing company as a tester 9 years ago. I fell in love with the idea to have projects tested by a crowd with different backgrounds, experiences, and skills.

I immediately saw the advantages of crowd-sourced testing for companies:

  • valuable feedback to the development about the product within one or two days
  • a great diversity of devices and software versions
  • reveal bandwidth issues based on location and real network providers
  • localization testing by native speakers
  • low testing costs

and I saw the advantages of crowd-source testing for testers:

  • individual growth in different domains
  • learn about new testing tools
  • learn by example: reading others’ bug report is a great inspiration

Continue reading The Two Sides of Crowd-Sourced Testing