Thursday, February 22, 2018

Unequal conditions

I created this cartoon on behalf of Tennisclub Augst for their regular published small brochure. The more I look at it, the more I realize the interesting analogy it bears to completely different areas far outside of simple Tennis scenarios.

Friday, February 16, 2018

125000 clicks

We made it Yogi! I cannot believe that in these days I see 125000 of total and real clicks on my cartoon blog. Not enough to get famous (not my goal) but also not so few to get ignored..., thanX a lot for watching this blog.

I am especially happy having succeeded in banishing all requests to publish advertisment on this blog. I hope I can keep this for yet a long time.

Saturday, February 10, 2018

Mocking the Driver

Inspired by Tesla who "uploaded" their first car into space on Febrary 6, 2018. I haven't searched for any Tesla cartoons yet, but I guess there must be hundreds of similar ones around already. By purpose I didn't look for them, so I could fully concentrate on mine and not risk to accidentially copy someone else's idea. The picture of the moon is real and I shot it 2014 with my Russian telescope MTO 1000.

Sunday, February 4, 2018

Squares, Bowls and Triangles

I never forget the speech of a Google test engineer many years back, when he started with a slide that showed nothing but just all red colors. He took a chair and sat near the audience watching the wall together with us and said nothing. After quite a while he stopped the pondering silence and stated: "one gets used to red colors if you only stare long enough to it".

The point he was making here was to never accept your test scripts to report failures for too long. You should immediately address newly introduced bugs and fix those. If you wait too long, more and more tests may go wrong until very soon, you don't get alerted anymore when new tests fail. It may become a normal situation for your tests to fail. This is not only true for automated testing. It applies the same way to manual testing. If you get used to all the flaws and error messages an SUT (software-under-test) reveals, it is just a question of time until you arrange with it.

You don't see these things anymore after a while until someone with fresh eyes points you to all these known but weird things happening on your screen. You may then realize that you may have been reeducated softly. Ask yourself whether you still wear the hat of a customer or have you already turned from a quality focused engineer to an ignorant which - almost in trance - automatically clicks away all the noise. You may explain to yourself that these are all known issues reported in the past and someone will care about sooner or later. Really? Reality shows that these issues are long forgotten; although saved, but in a deep ocean called backlog where none can or wants to touch them anymore. If a bug sits in the backlog for a while, the likelihood for it to die increases. If a bug hasn't been fixed till now, it probably isn't important enough to care about.

Quite some time ago, when I realized that, me too, was just about to get used to quirks, exceptions and error messages, that pop-up like huge bubbles created by a hunting whale, I communicated my perception to the team and it was a shock when I noticed that others seem to have already "fallen in love " with all this puzzle of inconsistency.

As a result I asked myself, do I allow to adopt the attitude of the squares, or am I an ignorant bowl unable to accept things may be seen differently or am I currently just a triangle who struggles to take a decision.  I think I need a therapy... =;O)

Monday, January 22, 2018

Aspiring killer bugs

My relationship to bugs is two-folded, actually it is a love-hate relationship. I hate 'em because they nest everywhere. There are places where you definitely don't want to have them, regardless whether you like to hunt bugs or not. Even an enthusiastic software tester doesn't like to see creatures in production turning customer's lifes into nightmare. But fact is, there is no space in software where there isn't enough potential for bugs hiding until they take their chance and show their ugly grimace. They are like cockroaches. Even if you think you have destroyed them all, there is always a few left.

But of course I also love these little virtual critters. Without bugs I had no job, or let's phrase is a little less dramatic; I'd probably had a different job and not such a great time putting them on paper.

Not all bugs cause headaches, but some actually do. Even the less dangerous ones can be a pain if they they show up in a pack. The job of a professional tester is to find as much of the critical ones as possible. That means, you have to study them; you need to understand where they "live" and and how they develop. Bugs aren't clever (at least the software bugs) but they use every tiny little whole you don't carburize.  Some wholes are so small that you can hardly see them until the bugs crawl out and make your program crash or behave in a very unexpected way. Often, you need to apply good techniques that make bugs sell themselves out because you wouldn't find them otherwise.

People with little to no dedication making software a great user-experience will not only miss important bugs, they also make a whole team look bad in front of a paying customer.
The job is by far not done if you simply compare deliverables from software developers with incomplete acceptance critieria defined in user-stories.

One great technique to find bugs is to apply test patterns when you investigate a feature. You probably cannot apply all test patterns to every feature, because some don't make sense depending on the context, but if you continously test with a checklist in mind, you will soon realize how much more there is to discover behind an innocent looking user-story.

Test patterns are described in many books. James Bach talks about testing heuristics, James Whittaker walks through a software like a tourist in a foreign country. The book "Lessons Learnt in Software Testing" by Cem Kaner, James Bach and Bret Pettichord is a great source of information to help you develop great testing ideas. If you take testing seriously, you have probably already developed your own set of test patterns, sprout from past mistakes, observations, experiences or lessons learnt from other testers and hopefully you have further developed those patterns, so your detection rate further increases. The list will never be completed but getting better and better.

Saturday, December 30, 2017

Knowing your dress size

This is one of a rare cartoon where its root is not from a software testing happening but rather developed from a colleague who missed his jacket. He sent an email to everyone asking who might have taken it.
It later turned out it was Jon (anonymized) who accidentally took it, but seemed not to realize this jacket was far too big for him. His height was quite a bit different from the owner’s.

The cartoon is a metaphor on what happens sometimes when companies start introducing UI test automation. You buy an expensive tool only to find out, what you want to automate is not supported or requires expensive add-ons. At the worst, one needs to hire experts to develop extensions, so the tool works well with the AUT (application-under-test). Of course, these extensions need maintenance and maintenance is seldom for free. I am not starting a debate about what's best, open source or off-the shelf. This answer can only be given in a context which we don't have here. But I strongly believe that it’s no bad practice to first start with a cheap or an open-source solution which fits your current "dress size" and which lets you experiment, and develop more specific ideas to learn better what you really need. Having enough time to explore helps you narrow down your requirements catalogue. You are growing with the experience you make and after a while you may end up realizing the current "jacket" no longer fits or needs some boosters. It may also be the right moment to restart the tool evaluation and look for a more suitable "jacket" that fits your new dress size, but at least you do this now with a more specific background - which is knowing your dress size.

Friday, December 29, 2017

Bug or Feature?

Except from the text, the cartoon is not really my own invention, since there are plenty of VW Beetle pictures in the web showing a license tag with the letters "FEATURE", but it gave me finally the opportunity to raise a "monument" for my beloved old Volvo Amazon which unfortunately I don't have anymore.

Thursday, December 28, 2017

Life as a Software Tester

I keep telling people that I have more talent to break things than to actually build things, since, whatever I touch breaks apart or results in another nice story that I can convert into a new cartoon published on this blog.
But honestly, I hope this is just a funny myth since I also built things successfully that are used by a large group of people worldwide. Maybe I just look at things a little bit differently. I love the speaches, articles and books of James Whittaker, Dorothy Graham, Johnathan Kohl and many many more; I am hungry to learn from them on a continuous basis and apply some of these techniques to my daily work with pleasure. Even at home I keep myself busy with software testing matters whenever the time allows me to. This is what the cartoon expresses here.

It all started more than 20 years ago with test automation, developing and running automated UI and B2B tests, using tools such as Rational Robot, SOAPUI, InCisif, WatiN, Selenium (and my team also used Ranorex), integrated in CI with Jenkins and I totally love home-brew solutions developed in C# like the recently newborn keyword driven test automation framework which is (at least for me) the next generation of another great Excel based test automation tool we used at an earlier company. Why C#? Sorry, - I am not a Microsoft advocate but MS Visual Studio is simply one of the best IDEs I have ever seen.

I also love tools like PerlClip, AllPairs, KDIFF3. I love to test through the side-door and last but not least...

I love to draw cartoons about software testing, my way of expressing weird experiences into something more exhilarant.

Wednesday, December 13, 2017

Video conference characters

Oh man, you cannot imagine how I loved to draw this cartoon, but I understand that probably none except the people involved in this video conference might actually find this funny.
I posted it anyway because I just learnt an interesting topic. It is really difficult to draw a character just per actually needs an incident or a happening that everyone associates doubtless to that same person. So is the Kiwi which everyone associates to our always cheerful developer from NZ who - at Halloween - had a skeleton behind his armchair. Darth Vader got his nickname from the fact that we can hardly see him in the video conference because he is always sitting in a dark grey shaded room and usually keeps a straight face...and then in the very act they caught me while I was drawing on the board the first drafts for today's portraits.

Wednesday, October 18, 2017

Scrum Review Meeting

I have to admit that this is not really what was going on, but right after an awkward scrum review meeting, one of the team mates went to the hair-cutter and when he came back with lots of hair less on his upper part, this was kind of the feedback he earned from them, of course, not meant seriously.

Saturday, September 16, 2017

Stand-Up meeting in Antarctica

A collection of the most important tasks discussed in the daily scrum-meetings in Antarctica

Sunday, July 9, 2017

Climate Warming

The cartoon's draft was drawn during a very long meeting where the subject had no direct relationship to this cartoon. But the more I think of it, the more it suits to the current technology transformation my teammates are going through.

Tuesday, December 6, 2016

Bahhh ! or Moving to Islesbury

There were 2 different meeting rooms booked for the whole day.  If you were invited in the upper floor, you could stay. If you were invited to the lower floor, the HR boss asked you to sign a contract where you were promised a pay-off if you accept that they just fired you and if you also accept to stay in the company for another six months to perform a proper knowledge transfer to the new guys that are taking over our jobs.

What happened?

One year before this "shock", we understood messages like how much the offices of Davenport (town anonymized) is going to be strenghtend by the management.  At that time we had a lot of contractors and the management was worried because too much know-how was out-sourced, so they wanted to in-source again. They needed our help in seeking new talented people, not in Davenport, but in Islesbury (anonymized). Although this seemed kind of odd, we were supporting the idea to in-source. Several developers and testers interviewed a lot of Islesbury applicants and identified the most talented ones. Then they recommended those to HR and HR hired them. After the hiring process was complete, almost all engineers from Davenport got fired. Mere chance? Well, they still needed us for the next 3-6-months for the proper knowledge hand-over from Davenport to Islesbury. That's why we got this pay-off to make sure we all do a proper knowledge-transfer. Well, that’s a long story told short. Hardly anyone understood what was going on and why. Many talented, young and middle-aged engineers (who came from all over the world) were affected by this mass-layoff. These weren't rotten eggs but really skilled people. Officially, the reason submitted to us was “digital tranformation”. What a bummer! We are all software developers. Did they really expect us being unable to adapt?  However, most of us signed the contract and did a proper knowledge-transfer to Islesbury engineers. Others were disappointed and didn't give a tinker's damn about the pay-off. One didn't even show up in the office anymore.

Anyhow, at that time I was asking myself a lot about the meaning and success of such operation. Does the moving from Davenport to Islesbury really make any difference? They removed all the cows and hired much more sheeps. Did anyone do the math or was this just a personnel vendetta between managers that were at war with each other?

Sunday, December 4, 2016

Function Talks

Visual Studio has this great built in feature that - on hovering over a method - immediately shows how often this method is used by other methods. When you develop code, you simply cannot ignore it and it actually makes you keep your code clean. If you see a method with zero references you just want to get rid of it immediately. Now that I use only the free version (Visual Studio Express) it is NOT included and I really miss it.

Saturday, May 28, 2016

Rainy Spring Season

I have to apologize. This is the second cartoon in sequence without a direct relationship to my daily work as QA manager. Actually, there is a relationship, but it is not so obvious. I promise, the next cartoon will be again more focusing to IT again.

Monday, May 9, 2016

Testing the Count Down

We had this announcement where the big boss stated that he would give us 90 days to change. OK, but change what? No satisfying answer was given to us when we asked what exactly they wanted us to change. So we continued doing our jobs as professional as always and I can tell you, we all worked very hard for the success of the company and to make our customers happy. Some of us even got a daily email with a reminder saying "80 days left", "79 days left"...etc. After the 90 days were expired, nothing happened. At least, we didn't notice anything and the emails had stopped.

I have no idea what was the original purpose of this announcement and the following up emails and I doubt that professinoal engineers can be impressed by such statements. Anyhow, this story inspired me for the cartoon, but if you are a software developer or test engineer then you probably draw a relation to a typical situation in software development.

A funny fact in programming is that arrays start at index 0 and not 1 for many popular programming languages (eg. C++,C#, Java, Perl, JavaScript) and the last position in the array is indexed as Array-length minus 1. This fact sometimes causes troubles and confusion and it isn't a rare scenario where developers introduce bugs because of that.

Consider the following piece of code which would cause the program to skip the first element of a list. It starts reading at position 1 (which is actually the second) instead of 0.

The correct code assigns variable i with value zero.

OK, so what? Blackbox testers usally don't look into the code of developers but you can see such patterns if you compare the total number of items in a list with the total number of found items stated in the header of a list. For example, you believe the label "100 items found", but when you count the items you see only 99.

For those who are curious why programmers start counting at 0 and not 1 I have the following explanation. In C, the name of an array is essentially a pointer (reference to a memory location), and so the expression sListElements[i] refers to a memory location i-elements away from the starting element. This means that the index is used as an offset. The first element of the array is exactly contained in the memory location that array sListElements refers (0 elements away), so it should be denoted as sListElements[0].

Sunday, January 17, 2016

Bugs at the bar

I must admit, the cartoon is still in kind of a draft mode, since you still see the outline of the pencil.., I will correct that later.

Friday, January 1, 2016

After Lunch Atop a Skyscraper

The original picture showing construction workers sitting at lunch at the RCA building was created in September 29, 1932. Many parodies exist and here is yet another one, 84 years later, although I must add that this photo here was shot by myself from the Empire State Building in 1997. You can see its shadow. The birds were drawn at Sylvester 2015/2016 and the only "stolen" part here is the structural steel work and the cable on the right.
And what does this have to do with TESTING? Nothing, but these 11 testers mark my QA team spread all over the world, and although they are sitting high above ground, they've got wings and I hope they use them to overcome all following challenges and ups and downs we may face in this new year 2016.

Thursday, December 31, 2015

Performance Testing applied

A view years back a client's back office system failed and queued all of their web service requests to our system. When they had fixed the issue, their queue was about to get emptied. Too many submissions were executed all at the same time. As a result OUR system went down.When we fixed it on our side, our management excused about the downtime and made a proposal to our client to announce next time when they start with a massive load again. Since it wasn't really a massive load, our client didn't find that statement very funny and responded similar like the penguin in the cartoon.

Tuesday, December 22, 2015

Early Hotfixes

Where I work, hotfixes were things we dealt long before we started developing software. Their appearance was a little bit different, but they solved similar issues.

A beautiful exemplar of "ugly workarounds"  from the Sixties was presented to me just yesterday. I took a shot with my camera and I just couldn't resist posting it here...

Tuesday, December 15, 2015

Power Breakdown in Zurich

It can really be a hard day if you sit there and wait, and not even the coffee-maker is pluged to the emergency backup generator.

Thursday, October 15, 2015

How developers see their code

The idea of this cartoon was born after a conversation with a developer who didn't intend to clarify whether a certain piece of code was working as expected.
 The developer stated: "by looking at the code, I know that it works".
Actually, he wasn't at fault, but it was kind of amusing for me to see how different developers think compared to software testers.

I don't believe in code-snippets that I see on a piece of paper or checked-into some source code management system. I want to see this thing run, fly and rock before I make a statement that I like what I have seen. Besides, it also reminded me to another developer statement I've accidentally witnessed many many years ago and I will never forget that phrase which was: "I haven't tested it, but the implementation looks great".

To be honest, I can't tell here whether the developer said that to himself to blow his own horn or whether he was talking to another developer to compliment on his work.

However, after all these years being involved in many testing projects and having developed software myself long time ago, I have always marveled developers' ability of innocent look at their code like they constructed a beauty, only to learn a little later from a critical thinker that either half of it is missing or not working as intended. When I was developing software my own, I was always uncertain whether I did the right thing and I asked the customer several times, if this is really how this thing should work. But that was 20 years ago and we didn't have any testers at that time who served as a protective barrier between development team and customer. The customer was coming to us - developers - every six weeks to tell us where we were wrong. We faced these customers directly. Maybe that made a difference.

Friday, July 31, 2015

Cross delivery

After the introduction of shorter release cycles, I noted a higher rate of bugs and features that had to be cross-delivered. Often this cross-delivery caused additional problems either because it happened on the wrong stream or it went forgotten. As a result old known bugs re-occurred in different streams.

I worked several hours on this cartoon and I prepared not less than 10 different drafts which I all abandoned because I was not happy with the characters I chose to represent the code pieces. l I finally decided to take that little triangle from Java. I kept a few of the drafts and decided to upload the last two of them so you can see how things develop.

Thursday, July 2, 2015

Lineup of the ugly bugs

This is one of these wonderful moments where you get flooded by some nice creatures that can ruin your day or even the week.

Friday, May 15, 2015

Finding the right moment for your tests

There are these great moments in a testers's life when you realize that some of those great testing ideas tests should have been applied a little earlier.

Wednesday, May 6, 2015

Friday, February 6, 2015

Foreign Particles in the Code

There was this ugly bug which was sitting quite comfortable on this box until this chain of code went live and the release manager asked once more "why haven't you found this bug"?

Why is it always the testers who "fail" when a bug is going live and why is none ever asking the developers why they introduce bugs without asking the testers upfront for permission to ship  bugs?