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 on 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 se...it 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?



Tuesday, January 20, 2015

High IQ cat

All of us had to go through this weird online game which - we believe - should demonstrate how we work, maybe gather our IQ or how we deal with pressure. Actually none knows.... We never got the results, no feedback not even to bugs that we reported during the game...but what was the most funny moment  - the root cause for this cartoon - was someone not playing but simply letting the game play by itself. No human interaction, simply doing nothing, no keyboard clicking or whatsoever...just standby and this person got the same amount of points like others who were hacking into the keyboard like crazy....What does it tell us? That game was either crap and with it of course all the results that were collected from the employees or there is something we just didn't know. We will never know.

Saturday, November 29, 2014

Empire State Building built with MINECRAFT

Sorry no cartoon today but something else impressive. The Empire State Buidling built by my son, block by block in MINECRAFT.

Watch video here:
Empire State Building built with MINECRAFT


Sunday, August 31, 2014

Selfie Bugs

These bugs were inspired by Geri Müller