Posted in exploratory testing

Exploratory state of mind

@KingaTestaboutExploratorytesting

Exploratory testing is like agile methodology or unicorns – they’re fashionable, everybody talks about them, but no one actually had seen them.

f103c3c8b80e7a8cc77958c0811f8853--team-unicorn-unicorns-art-drawing

Let’s start from a little confession – for me – exploratory testing is finally a way to get to the basic of what a software testing is. The pure activity of testing and a joy that comes out of it, without rules and limitations.
You could argue with me now

– Come on ! – exploratory testing without limitations? What about time boxing? What about time frames? What about plan?

Calm down –  I don’t neglect all of that. You can breathe now 🙂

I just wanted to say that exploratory is your state of mind. For some mysterious reason
I found exploratory a way of braking things from scratch. Am I an expert? No. Should I be one to preach you? Sort of… maybe 🙂 Does exploratory work for me? SURE – it does – that’s why I want to share it with you.

Discovering James Bach

Back to square one. James Bach is your must, if you wanted to play with exploratory testing. His famous lecture (from 2011!!!) would give you some hints of how to start with exploratory. What I mean by that is not to tear your ISTQB Foundation Certificate apart and throw it out of the window – but to re-think the way you perform testing.
Jamse’s publications, keynotes sessions and the work that he does may destroy your structured thinking about testing like it destroyed mine. And still –  it’s fine.
The problem might exist in the organisation you are working for – so if exploratory suites you – find yourself a good place to play with it. 🙂

Take your shoe off and smash the keyboard

There is a fantastic tester in my organisation – Elisabeth – who loves exploratory testing. During my work interview she explained exploratory testing as taking your shoe off and hitting the keyboard with it. Surprisingly – it says a lot about exploratory way of testing things. If you don’t know the product – and have no idea how does it work, what does it do and how to approach to testing – every method is good. The more you try – the more you learn about the product and its flaws.

Destroying your expensive keyboard may not, obviously, be the best approach to testing (unless you’re testing external hardware) – however – destroying an expensive software before your customer does that – sounds like the activity you’re paid for. 🙂

It may happen that that there would be a developer from your team asking – Why did you do that in the first place? – but it’s the result that matters.

I had this situation last week – I took out my internet cable off my laptop and plugged it in again during the test session. My test affected the functionality and exposed an error that we had. The result was fantastic, because now we know what to fix now – but the face of a developer when I demoed my test in front of him was unforgettable 😉

Note taking

Exploratory testing is fun when we play around certain functionalities, but our memory is sometimes not as fresh as we would like it to be.

That’s why taking notes during each exploratory session is essential. You may want to prepare mind maps or use some software to help you with gathering notes out of your sessions. In order to take notes,  you can use your laptop, phone or any tool you want

BUT

I would recommend you to do go old school.

This is a pencil:

eb012ec6ee6738e811742273d612fbcb

This is a notebook:

zeszyt

These are post-its:

postit-1726554_960_720

Grab them and take your notes like a pro. At first – doing things manually would stimulate your brain – maybe you’ll came up with another crazy idea for testing? Secondly, nothing would drag your attention from testing. There will be just a feature an you.

Note all important thoughts such as:

  • questions
  • bugs (possible bugs)
  • random notes
  • areas to further exploratory
  • any other important stuff.

Taking notes might be extremely useful to reproduce the path to discovered defect. Additionally, you can record your sessions or combine all methods together. Whatever suits you best.

Maaret Pyhäjärvi thought me this one little trick – to put a sticky note on the top of my notebook page with a purpose of my team (or sprint) written down. It acts like an anchor. I’m reminding myself all the time what is my purpose – to avoid sailing away from the functionality that was supposed to be tested in the first place.

Conclusions

Since my beginnings as a software tester – exploratory – for me – was an appendix for regular testing, according to the plan. It appeared here and there, but has never been fully approved by management or team. It is a main theme now and that suits me best.

As Maaret Pyhäjärvi said at SeeTest conference in Sofia – we all do exploratory testing when we play around different functionalities even during regular test plan – based sessions. We just don’t name it.

On the other hand, it feels like everybody does exploratory now, just like everybody is working in Agile. It’s on the internet, during conferences and in the books. And, just like with the methodologies Agile – it comes with different kinds and flavors.
Is it a bad thing this not defined definition? I don’t think so, as long as we find new bugs and expose issues in our software.

Exploratory testing is not a big bang, it has to be structured somehow – and
IT HAS TO HAVE A PURPOSE.

Testing without a reason and purpose is just a hitting a keyboard with a shoe. Nothing more. I think that it’s all about being a better tester every day, so learn as much as you can about exploratory – read a book Explore it! by Elisabeth Handrickson and dive into it.

Now – every time you see a unicorn – think about exploratory testing 🙂

ac49a0f2236f014c5a86d07680c8710b--drawing-ideas-unicorn-unicorns-drawing

You can share your discoveries in the area of exploratory testing in comment below – on Twitter or Facebook. See U there!

Cheers!

Advertisements
Posted in exploratory testing, mobile testing, production bug, tools

(Live) slow connection mobile testing

(s)lowconnection (2)

Holidays are these times when we go outside, fly abroad, spend a lot of time on wasting it and basically doing nothing. What is a common feature of such places?
Slow internet connection – no matter if it is within your network or WiFi.
I, an addicted smartphone user, find it as a one of the most annoying things EVER!

As I probably wrote at least once, I use my smartphone (Android) as a mother ship 😀
(It would really be a pain if I lost it).
Anyways, I use my phone for shopping purposes as well. What is more, taking into account a ‘typical woman‘ stereotype – I do a lot of shopping. 90% of which I do online. The conclusion is simple – the more time I have to waste – the more I buy 🙂 Having said that, imagine my frustration during online shops explorations, when I do experience slow internet connection.
In addition, I am not talking about websites only, but about well-known native apps, which , as it turned out, are not supposed to handle limited network range.

Today, I would like to present you a true wall of glory, basing on my holidays explorations. I’ve called it – the SlowCo Art Gallery of inspiring issues.
Don’t get me wrong, I don’t want it to be pure hate only, but maybe an inspiring feature to test for all of you working with any kind of mobile application or websites.

How to handle such testing (to avoid irritating me in the future)? Short introduction down below or in one of my old posts here.

Shall we begin?

Pic.1. Where is my CSS? – Example from douglas.pl

Screenshot_2017-08-12-14-24-30

Pic.2. A journey through classes? – Example from H&M Android app

Screenshot_2017-08-16-09-15-07

Pic.3. We don’t know what the hell just happened, so we’ll provide you with a random message – Example from native Twitter app
(
Translation from Polish: An important service, without which this application is not able to run, is currently not available. Try later.)

Screenshot_2017-08-15-21-02-44

Pic.4. We are creative in producing 404 pages – Example from jednosc.com.pl website

Screenshot_2017-08-11-11-00-31

Pic.5. At least one of those messages is valid. Hopefully. – Example from Google Play app

screenshot_2016-08-12-23-11-04

As you can see – the range of failure possibilities is really vast BUT the issue is the same in each example. In the end, all those bugs may seem funny 🙂

On the other hand, we are able to protect our applications and websites against SHAME by performing sets of basic network connection test cases.

How to stress the app, pretending slow connection?
My favorite option is to open Chrome, click F12 on your computer and go to Chrome Developer Tools.
Navigate to Network -> Throttling and select a connection version that you are interested in. Slow your connection down, and see the magic 🙂
You can also connect your mobile app with Chrome Dev Tools and stress it.

throttling

It may sometimes seem as an edge case, but imagine all the people, who live most of their lives in the area of slow internet connection. How frustrating might it be for them?
Hey mobile testers – Let’s make apps great again! 🙂

Like!, Share, Hate, Comment on Facebook
Stalk me on Twitter
or comment down below 🙂

Cheers!

Posted in exploratory testing

Cat testing – why not?

cat

 

Monkey testing

The term ‘monkey testing’ is rather known in tester’s world. It is a technique where a user tests the application or system by providing random inputs. We believe that unorganized test inputs are able to brake the application in the way that a trained tester won’t even try. It is basically true, because people tend to repeat known moves and actions. Pesticide paradox warns testers that they should change and update their test scripts often, otherwise they’ll stop finding issues. From this point of view – acting as a monkey seems to be tempting especially within the area of regression testing – not as a replacement but rather as the appendix to standard test suites.

Cat testing

On the other hand, animal kingdom is way bigger than just an ape type. If a monkey can test – why a cat can’t?

Today is a World Cat Day so this blog post would be related to my buddy – Greebo.

I am a cat-lover and I spend some part of each day observing my cat playing around with stuff. Trying to better my approach to exploratory testing, I just started thinking – isn’t my cat a great example of such tester?

A cat has any knowledge about things they play with. But they play anyway. This is what exploratory testers are supposed to do.
Exploratory way of testing fits to any kind of testing methodology, any type of company and project. You don’t have to be experienced in any subject (as ISTQB would like you to think), because it’s not the point. The most important aim is to play with application and to achieve a purpose.

img_20160506_220001

Exploratory testing might be dedicated to UI, functions or potential safety risks check. It may help to find out if the software is prone to malicious attacks as well as if it is easy to access for a novice user. Context  is the key to success.

Cat checks random features of stuff so hard in order to know them or to brake them, just like exploratory testers do. Cat does a lot of damage in certain sessions in order to provide fun for himself among naps and snacks.

img_20160722_183449

Purpose is important. Cats have their own purposes of running around and attacking things. Exploratory testers should also have some certain purpose of testing and don’t stop before an exploratory session is finished.

img_20160507_145054

Time frame is essential. When you start exploratory session – you can’t stop. Did you see a cat, who digs in a pot with flower when no one watches  and having brakes for pee? NO WAY. He digs so hard until the destruction is complete and then runs away pretending it wasn’t him. That would be a proper session of exploratory testing description. You specify the time frame, start and fight. You can finish only when you run out of your time.

One major thing that is different between a cat and an exploratory tester is that the cats cannot provide any notes 🙂 Note taking is an essential part of exploratory testing.

On the other hand, cats leave so much mess behind that in most cases you know exactly what they just did. Wondering HOW might take a while. That is also a good hint for you – if you hate taking notes – record what you do using for example Chrome DevTools or other apps. In the end it would be easier to recall what you’ve just did.

I would like to encourage you to level up your daily test routine and try to enrich test sessions in cat-like exploratory testing and just have more fun in what you do. Enjoy!

img_20160919_190849