Posted in development, mobile testing, production bug

Development in rapid-delivery era.

This post will consist of some thoughts that bother me for some time now. It won’t be about testing only, but about the whole modern process of software delivery. Reading shall take some time, so grab some sandwiches, coffee and come along with my story 🙂

Development in rapid - delivery era

We produce more and more software

Several years ago, it started to be visible that we live faster. We eat in a hurry, don’t care about cooking or running out of global resources. We became dedicated to meaningless things, such as smartphones, watches and gadgets to impress our society.

On the other hand, at some point, people noticed that the quality and durability of equipment they have at their homes: cars, washing machines, mobile phones etc. is lower than in used to be. It became more efficient to buy a new thing than to repair the old one. We started to produce lot of waste, polluting the environment and thinking that we have another Earth to move to. It took some time to notice, that, in fact, we don’t have a spare one. Simple, but surprising thought, made us be more eco-minded and aware of human’s impact on the planet.

Slow lifestyle, vegan food, bikes instead of cars, repairing old furniture, producing new items in more environmental friendly way – it is all happening now, and we keep on changing our lifestyles in order to save the planet for the future generations.

What has software industry to do with it?

The more devices we produce – the more software it requires. Modern fridges, microwaves or even toys tend to be equipped with some sort of software, can have WI-FI connection or are prone to be hacked. It means, that IT industry is no longer separated branch on the marked, or there that there is a bunch of guys somewhere, who produce software for your computer. Internet of Things enabled us to have software almost everywhere, furthermore, someone must write and test it.

Here is the point of my first doubt – if some device consists of some sort of software – does it mean that is has to be tested by somebody?

We test, but we don’t fix

My career as a software tester is not very long now, but since now, I had an opportunity to work is several projects related to various parts of the global market. As you probably know already, I also like to talk to people and exchange ideas and gain some other peoples’ experience regarding their projects. In addition, I am also an internet addict,
I do admit that – I shop online, read blogs and watch movies on the internet.

In a contrary, as a software tester, I am also quite picky user and when something on the website pisses me off – I don’t use the service anymore, unless I have no other choice.

What I would like to emphasise here is the matter of choice, in fact.

In my short software tester’s career (too many times!) I came across with the approach that when we know about the bug – our job is done. It takes too much effort (MONEY) to fix it, so we collect non-critical ones in our backlog and struggle to have them fix for end users. Does it sound familiar to you, Dear Reader?

It made me cry so many times observing my projects sinking in the sea of spaghetti code and UI issues.  Unfortunately, it was often way too visible, that I had been the only person, who bothered.

And here we are – software testers – doing the best we can to expose flaws of our products,  to protect our users, being angry and powerless at the same time. Product managers, product owners don’t listen to us, they just sell and expand the products worldwide.

Is it bad? It seems to be short-term profitable, but sadly, we may end up with piles of hideous software as we end up with polluted air, rivers and garbage in Indian Ocean.

When talking about the choice – there are branches on the market – which benefit from not having a competition. In Poland, where I live, this would be a public sector’s case – schools, national insurance, security. There is usually a tender in order to choose
a supplier of a software for certain public organisation, but in most of the cases the cheapest offer wins.
How do people manage to obtain the cheapest offer? They don’t include quality in their estimations. Simple.
Who will be the most impacted by the poor quality of the software here? Us. Hopefully, the person who made all bad decisions as well. An employee, who uses this software on daily basis has NO CHOICE. He is forced to use CRAPPY software, because it’s a part of his job. He must struggle, because somebody a few months back – was thinking just about his own profit. This is just against work ethics – but it happens in most of the cases.

We sell more than we have coded

Quality – not quantity – this is the sentence we teach newcomers in testing industry.
However, sometimes I think, that there is literally nobody, who cares about software quality. What’s the point of testing, if we don’t fix our mistakes?
During my last speech at SeeTest I said, “as a result of selling non-existing software” and, frankly, there or wherever I said that – the audience shared same feelings and knew exactly what I was talking about.

Are we in software delivery era, in which quality doesn’t matter anymore?

Out ‘businesses’ sell features, which are in their minds only, claiming it’s already existed and after that push us to write code faster, without impediments. What I mean by distractions – bug fixes for instance. I was in such projects, I know how that feels and how hopeless people are in such crazy circumstances.

We deliver faulty software in enormous pace

What do we have in return?
Faulty websites, online stores which display 503 or 404 on daily basis, dramatic UI, crashing mobile applications or just literally – non-usable software.

I don’t mind fast pace of work – it is stimulating and efficient, but I miss the care about end user. We produce fast-food software rather that slowly cooked pieces which would make us proud. I don’t think that a software tester is glad when his team receives bugs or complaints from production, but how could he help in the first place?

I am angry, because during my online shopping it happens more often that I receive errors, UI issues, drop-downs without items or my mobile applications just crash. When
I want to be kind and nice – I report those issues – but usually nobody responses and the issues  still exist.

We keep on racing each other – neglecting quality. ‘Fast’ is the new black.

Sadly, I don’t think that even persistent testers are able to fight with the approach. Maybe, there has to come a moment, as it was with coal usage or waste in the oceans,  when it will be obvious for us to stop and think.
I hope, there will be this moment, once more, in software industry, when ‘business’ would start to think not only about their fast profit but also about the end user.

Sorry for melancholy today, it just bothers me.

What do you think?
Feel free to comment down below, on Twitter or Facebook. Cheers.

 

 

Advertisements
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!

Posted in conferences

Just after SeeTest conference in Sofia

@Kingatest

Hi Guys!

It’s been an intense time for me recently.

My very fist testing conference abroad. My very first testing conference abroad with me as a speaker 🙂 And – again – speaking in English (which is obviously not my first language) in a country that I have never been before. Sounds exciting, isn’t it?

Where are we?

Bulgaria -> Sofia -> Hotel -> original conference rooms with sparkling crystal chandeliers(!!!!)

20170928_15512420170928_132426

I was very looking forward to the conference and was not disappointed in the end. I have to admit, that the organizers did a really good job, both – speakers and attendees – felt comfortable and were provided with any necessary piece of information. Props for that!

Bulgarian coffee is really black and strong though – I don;t know how they prepare this …. anyway 🙂

The spot was tremendous – really.

You would probably like to know how it was. Let’s do pros and cons then.

Pros first:

  • awesome tutorial sessions
  • great mixture of ideas
  • people from several countries discussing testing
  • different point of views

For me, the most inspiring thing within the hole conference, was a tutorial session run by Maaret Pyhäjärvi – Exploratory testing explained and experienced. OMG – it was so good. I’ve learned much about teamwork and exploratory, that I’m about to start a revolution since Monday (prepare yourselves, team!).
At the beginning of the class people seemed shy, but after couple of exercises everybody got open and share their ideas about exploratory testing.
Maaret did a keynote session on the next day, which was inspiring as well. We’ve learned a lot about Making team awesome during that session. For example – how to improve your value for the organisation you’re working in – and for your team at the same time.

20170929_132227

I’m really happy that I had an opportunity to meet her in person.

This two-days conference was fully packed with technical, agile and exploratory sessions. It is good to hear different approaches to the same problems.

I had a chance to speak as well. I think that my session – Yes, you need time for bug fixes  -energized the audience and made them think more about scheduling their project time. We had a lot of fun (again) with my funny exercise, so I think it went well. Great energy, fantastic testers and nice comments / notes afterwards.

20170929_101055

Could it be any better for a newbie on an international software conference?

Unfortunately, each software conference has it’s cons as well:

  • too many sessions in a row
  • too little time for questions/discussions and leisure
  • time tracking 🙂

As I said in my session – Not to track time is a crime. It’s bad for the projects and for such events as software conference as well.
In my opinion – schedule of the conference (day 2 – sessions) was so filled with sessions, that it was hardly possible to even notice what’s next. There were no brakes between some of the sessions – so we ended up with delays or speakers getting upset about their session times. It was also tiring – at the end attendees felt a bit overwhelmed with the amount of sessions.

It was inspiring

Having a chance to attend this event was extremely beneficial for me as a speaker and as a software tester. I find it very useful to talk to people from different countries – struggling the same problems as you do on their daily basis. It gives you an impression that software industry is nowadays a one living organism.

Additionally, it was also a unique opportunity to meet people that I know from Twitter in person. It was really fun!

I hope to meet at least some of you soon!

Cheers 🙂