Sunday, December 23, 2018
Thursday, December 13, 2018
Thursday, November 29, 2018
Lining up in the Ocean
Monday, November 26, 2018
Patched UFOs
Tuesday, November 13, 2018
Sprint Review #37
[Crispin - Agile Testing]
Sunday, November 11, 2018
Gung-Ho Tester
ThanX. I never met someone who made a drawing about me. I really enjoyed having this moment of conducting a little self-mockery.
And this is the original sketch from Cindy:
Sunday, November 4, 2018
Analyzing Lenny's flight paths
- The Swiss storks are the
result of a resettlement project that started with Algerian storks, a species
that is not used to fly the same long distances as the original domestic storks. The route they are taking now pretty much matches the distance to what their relatives are
"programmed for" or what they can perform.
- The second theory is less pleasant. Spain is full of garbage dumps where they find enough food. If you follow the markers of Lenny and then switch from the "map"-view to "satellite"-view, it is really appalling to see where he likes to rest and eat. I feel sorry for him and his friends. These garbage dumps seem to be another reason why there is no need to search for food further south.
If you test software for many years, you will get a better sense of where things can go wrong. No book can teach you that. There are interesting books and articles that go into this direction like those from James Whittaker [whit], but it's not the same like experiencing some pain on your own.
[lenny]
http://storch-schweiz.danielbischof.de/map/2964
https://www.srf.ch/news/regional/basel-baselland/heimkehr-aus-dem-sueden-storch-lenny-ist-im-anflug
[logger]
https://projekt-storchenzug.com/datenlogger/
[whit]
Exploratory Software Testing by James Whittaker
Thursday, November 1, 2018
Story Points at Coco Beach bar
Although story points have nothing to do with scrum (invented by Mountain Goat Software), many companies use these to estimate their tasks. Story Points are a bit special because they don't tell you anything about how long a task takes, but rather how complex a task may be to complete. In theory, a task can be very trivial and still take longer because it may invole a lot of monotonous activity to complete the task. On the other hand, a complex task can be completed within an hour or day depending on the skill of the one who is implementing it.
Although I have worked with Story Points for the past 10 years, I am still swinging between two different mindsets. I still can't decide if it is a cool tool or just a buzzword. The paradox of this measurement is the fact that on one hand you don't measure how long you have for a task, but you still do it indirectly because you take these SP numbers to fill the sprint. This is per se exactly the same as if I measured the hours I have for a task, because we fill the sprint only with a limited number of hours/days available. But, story points help you understand much faster when a task gets too complex. Since you are using fibonacci numbers, you get alerted right away if you have a task estimated higher than 8. There is no 9, no 10, the next number is 13. This huge jump is a great warning sign and leads you to rethink the size of the story.
Saturday, October 27, 2018
Agile cocktail bar
A tongue-in-cheek explanation of scrum with a pinch of salt.
Refinement: in a Refinement Meeting, the
business analysts introduce the desired features (= user stories), and
the developers estimate how complex these are to implement. If you are lucky, you deal with an experienced team and the estimation of each story is a matter of minutes. At the worst case the
estimation is based on limited background information or even total
disorientation on what is really behind these stories.
Weird thing is that some companies prefer the term "Grooming" over "Refinement" although I recommend not to use it. Grooming is another word for child abuse...just be aware of that.
If one realizes that a desired story is too complex to be done within a reasonable time-frame, it must be stripped down into smaller stories until each of them fits. Even during a sprint you may deal with the situation that certain tasks of the story cannot be implemented
in time and therefore require business analysts to further breakup the story into smaller pieces. The more stories requiring refinement the higher probability of losing overview of
the great picture. At one point in time you may not see the wood for the trees.
Sprint Planning: The team discusses the goal of the next sprint; which is the tasks and user-stories that need to be implemented. Some now detect that the estimation of some user-stories is too low and correct those on-the-fly, so one cannot add too many stories to the sprint. In order to understand what you can put into a sprint, you also need to know your capacity. If you are new to agile processes, you can't know the team's capacity. Usually you will learn after a few sprints what is the typical team's capacity.
I've been at a company where the planning was a matter of 20-30 minutes while at another we had endless discussions and calculating velocity etc., then everyone agreed although it was already clear there was little hope one really manages to complete these tasks.The only group of people who believed they meet the goal were the managers.
Sprint: Usually a 2-4 week work phase where one implements what was agreed in the sprint planning.This is also the phase where some people realize they wanted to go on holidays and just didn't say anything before. Others realize they go to a workshop, yet some others
become ill. At one company it was common to regularly check whether ot not the sprint goal could be met. If there were indications a task could become too big or other tasks could become more important, it was normal to take tasks out of the sprint and re-prioritize. In another company the sprint planning was seen as a strong agreement between the product owner and the team and it was much harder to take things out.
Daily: In a "Daily", the entire team meets for a 15-minute briefing. Each individual has a minute or two (depending on the team size) to explain what you have done yesterday and what you are planning to do today. For people who are not familiar with this kind of briefing (especially when they are new to agile processes), such meetings can be mis-understood as an awkward instrument of micromanagement. As a result, during the briefing they try to convice others how hard they worked and that they will work even harder today.
Others are so enthusiastic and would like to have the complete 15 minutes just for themselves. As a result, one hardly finishes in time. Some of the team-mates have no clue what others are talking about, others polish their nails or check the latest news on their mobile phones or make notes for the next meeting where they will do the same for yet another meeting. From a good friend I heard their team had to do planks while they were speaking. This helped guarantee they didn't talk too much. An external consultant once suggested to snap off the meeting after 15 minutes regardless whether all team-mates had a chance to talk. I think such advice is ridiculous and counterproductive in regards to building up a motivated team.
Burndown-Chart: The burndown chart is a two-dimensional graph designed to track the work progress during the sprint. In the beginning you have a lot of work in TODO and near the end ideally nothing should be left to do. At the best case, the graph shows a nice consistant stair going down from top left to bottom right. However, reality is sometimes different. The graph often shows a straight line without any indication of movement until shortly before the sprint ends. The graph then looks like the path of an airplane that all of a sudden disappears from the radar. The poor guy is the tester who gets thrown half-done tasks over the wall to test in zero left time-frame.
Sprint Review: That's like payday. Developers demonstrate the outcome of the sprint. This is usually the day when we see a lot of astonished faces.
Retro (retrospective): After a sprint, all team members have the opportunity to comment on what went well and what didn't. From this, measures will be taken for the next sprint. Don't be surprised if after the meeting, people have already forgotten what they just discussed and agreed on.
Story Points: Although story points have nothing to do with scrum (invented by Mountain Goat Software), many companies use these to estimate their tasks. Story Points are a bit special because they don't tell you anything about how long a task
takes, but rather how complex a task may be to complete. In theory, a
task can be very trivial and still take longer because it may invole a
lot of monotonous activity to complete the task. On the other hand, a
complex task can be completed within an hour or day depending on the
skill of the one who is implementing it.
Although I have worked with Story Points for the past 10 years, I am still swinging between two different mindsets. I still can't decide if it is a cool tool or just a buzzword. The paradox of this
measurement is the fact that on one hand you don't measure how long you
have for a task, but you still do it indirectly because you take these SP numbers to fill the sprint. This is per se exactly the same as if I measured the hours I have for a task, because we fill the sprint only with a limited number of hours/days available. But, story points help you understand much faster when a task gets too complex. Since you are using fibonacci numbers, you get alerted right away if you have a task estimated higher than 8. There is no 9, no 10, the next number is 13. This huge jump is a great warning sign and leads you to rethink the size of the story.
And the winner is...
Last but not least, as a test manager who has to keep an overview of what is going on in more than just one development team, visiting all the daylies of the teams was one of the best places to get a rough impression on what all teams are working on. I've learnt this way also what the DevOps team was doing could therefore be alerted if they were working on stuff that may have had an impact on QA.In the past...where I was working just for one team and it was much harder to get informed what other team-mates were doing.
Sunday, October 21, 2018
Monday, October 8, 2018
Banksy was here
The disturbing part of this story is that this picture has probably gained even more fame through this action and thus very likely becomes more coveted although shred in pieces; volitional or not, Sotheby's to be in the known or not, the buyer well-informed or not....who knows.
Sources:
[nyt]
https://www.nytimes.com/2018/10/06/arts/design/uk-banksy-painting-sothebys.html
[ban]
https://www.instagram.com/p/BomXijJhArX/?utm_source=ig_embed&utm_campaign=embed_video_watch_again
Saturday, October 6, 2018
Birds love BUGS
Presuming that a typical year has 252 working days, this gives me rate of 2.5 bugs per day or 12 per week (compared to an average 0.8 per day or 4 per week during the last 12 years).
That means the rate of identified defects has increased by the factor of 3.
What do these numbers tell about me or the software-under-test, or the company and what does it tell about the developers who introduce these bugs?
Do these numbers really have any meaning at all? Are we allowed to draw a conlusion based on these numbers without having the context? We don't know which of these bugs were high priority, which ones weren't. We don't know which bugs are duplicated, false alarm and which of those look rather like they should have raised as a change request.
We also don't know what is the philosophy in the team. Do we raise any anomaly we see or do we first talk to developers and fix it together before the issues make it into a bug reporting system. Do we know how many developers are working in the team? How many of them work really 100% in the team or less, sporadically, etc...Also, does management measure the team by the number of bugs introduced, detected, solved or completed user-stories, etc.? May the high number of identified issues be a direct effect of better tester training or are the developers struggling with impediments they can/cannot be held responsible for and these bugs are just a logical consequence of these impediments? Are there developers who introduce more bugs than others?
As is with these numbers, they are important, but they serve only as a basis for further investigation. It's too tempting to use these numbers as is and then draw one's one conclusions without questioning the numbers.
Wednesday, September 26, 2018
Thursday, September 20, 2018
Thursday, June 28, 2018
A beautiful Feature
Thursday, June 14, 2018
End of holiday season
Monday, May 21, 2018
Welcome to Weirdo-Land
Thursday, May 17, 2018
Baffled sequenceIDs
Tuesday, May 15, 2018
No undo in the elevator
A nice test pattern to apply while testing software, is to revert all changes performed on one object or more, either by sending the keys CTRL-Z as often as possible or by using any other provided cancel/revert/undo operation if it exists. An interesting observation for me still is the fact that until this day, I had never been in an elevator that provided the possibility to cancel your choice on pressed buttons... resulting in the experience of real "pain".
Sunday, May 13, 2018
Ready to take off - or good enough to go live?
Thursday, May 10, 2018
A lesson in Test Patterns
Thursday, February 22, 2018
Unequal conditions
Friday, February 16, 2018
125000 clicks
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
Tuesday, February 6, 2018
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
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.