Arkisto: May 2017

Performance Indicators and Testing

25. Mayta, 2017 | Kirjoittaja: Antti Niittyviita

I recently came across an interesting Twitter-conversation. Two leading testgurus pondered how to organize testing-related performance indicators (KPI) for an organization, since the organization demanded for some.

First, a question arose in my mind. If an organization demands them, what actually is going on is that one or a couple of people in the organization demand them. I would be very interested in meeting them. Who are they?

People who wish for KPI-meters have quite often already an understanding of what they would want to measure and why. The easiest thing would be to ask them.

If there is nothing else to be done but to build a presentation about the subject, I would recommend something simple and concrete. For example, I could start by making a tally of things that consume most of my time. Hourly resolution would be quite decent for this end.

  • Prepare: I prime environments, produce data and document
  • Test: I hunt bugs using methods that work for this end
  • Explore: According to my discoveries, I explore and report defects
  • Braindeath: I sit at a meeting. They might need me in some of them, but often not really. I collect KPI-data from here and there and data mine it in Excel to a more spectacular form etc.

In one weekend the picture starts to form. In which area of work I spend most of my time and whre should I be spending it instead, so that my colleagues, managers and clients would get the most out of my testing?

If what I do is mostly prepare and tune, it can mean that the developers ought to put mre effort in testability. If I mostly explore and report bugs, it can mean that the software is not at a mature level. If I mostly sit at meetings and gather KPI-data, it can mean that the requirements of the organization are no longer in line with its real goals.

Gathering data can feel useless at first. But let’s imagine a scenario where you have to give basis for your findings for your boss? What would be better than plain facts as metrics?

I challenge you. What were you working on this week?

The Wanking Schedule of Processes

18. Mayta, 2017 | Kirjoittaja: Antti Niittyviita

I always miss a beat when I see a process diagram of testing. Especially when the diagram has first been created, and after that ought to be implemented.

This should now be implemented.

No can do. Often, the diagram has been created through thinking that is estranged from  reality, or from the restrictions of the testing tool bought for the testing. The priming of the working methods for testing happens dangerously often via the top-down method.

I scripted a more functional way.

  1. Choose a project
  2. Form a hypothesis, with the project in question, of better working methods
  3. Perform a short test. Prove the theory in practice.
  4. If it works, add it to other projects as well.
  5. If it does not work, tune it and re-test it.

Bottom-up model works better almost all the time, and the gang is also participating in the changes.

Wanking is always better, when you roll up your sleeves and start working. Visualizing is just a modest replacement.

Robot Framework, wxPython & OSX

16. Mayta, 2017 | Kirjoittaja: Antti Niittyviita


Robot Framework paired up with RIDE is easy to install on OSX by following the original installation instructions. There is just one problem that has not been documented. wxPython is a component that is a must to run RIDE. New versions won’t do.

Latest OSX does not support old .pkg packages to install the necessary wxPython and the file needs to be repackaged to succeed. You can either download a file I have re-packaged or do it yourself by following these instructions.


This is how you repack a .pkg file on command line with OSX:

#Find your way into a directory of your choosing and follow these steps.
$ mkdir repack_wxpython
$ cd repack_wxpython

#Now you place the original .pkg -file of your choosing into the repack_wxpython directory on your computer.
$ mkdir pkg_root
$ cd pkg_root
$ pax -f ../wxPython2.8-osx-unicode-universal-py2.7.pkg/Contents/Resources/wxPython2.8-osx-unicode-universal-py2.7.pax.gz -z -r
$ cd ..
$ mkdir scripts
$ cp wxPython2.8-osx-unicode-universal-py2.7.pkg/Contents/Resources/preflight scripts/preinstall
$ cp wxPython2.8-osx-unicode-universal-py2.7.pkg/Contents/Resources/postflight scripts/postinstall
$ rm -r wxPython2.8-osx-unicode-universal-py2.7.pkg
$ pkgbuild –root ./pkg_root –scripts ./scripts –identifier com.wxwidgets.wxpython wxPython2.8-osx-unicode-universal-py2.7.pkg

#And this is what you should see as an output from the terminal.
pkgbuild: Inferring bundle components from contents of ./pkg_root
pkgbuild: Adding top-level preinstall script
pkgbuild: Adding top-level postinstall script
pkgbuild: Wrote package to wxPython2.8-osx-unicode-universal-py2.7.pkg

The Professional of Love

9. Mayta, 2017 | Kirjoittaja: Antti Niittyviita

Have you ever visited dating pages? Or read dating classifieds in a magazine? I might have, but maybe I have not. So not?

In these kind of ads, they usually start with requirements specification. One has to be a teetotaller, with a sense of humor, go in for the same kinds of things. The height and age are important numbers, and so on. Whatever these properties were, the end result is always a pile of requirements for the future companion. Some of these properties are listed, but some may have not been brought up in the ad.

In the next phase they trade messages. If they do. Maybe even early one they will figure out that it is just not going to work. At some point what happens is that they agree on a date. People become familiar with one another. We collect more information of the other person. We scan for flaws. Whatever it is that each and every one of us does. Sooner or later, it is certain to encounter properties which are deemed less than ideal. These either form an obstacle for continuing the relationship-building, or people learn how to live with them. On the other hand, one might notice that the original requirement was not as important after all. I am sure you know how this progresses. Ultimately it is about testing.

The question is, how many would be interested in forming a relationship based on only the original requirements specification? Is it actually the case that the list of demands is always comprehensive, and no surprises or new perspectives come up later on? I doubt anyone thinks this way. Why would anyone presume that only going through the requirement specification should be enough for testing the software?

It is not necessarily beneficial to announce having been tested by a professional of love. Yet, a professional tester will go through all the surprising factors. Test a lot of other things in addition to requirements specification. You do have a professional tester, don’t you?

On the Dead Bed of an Organization

5. Mayta, 2017 | Kirjoittaja: Antti Niittyviita

Underneath all the thinking we regard as ingenious and special we are still mere animals. As animals we are prone to form communities. It has been our lifeblood since the moment the first light of sentience lit up in the dim eyes of the life form we call our progenitor. As individuals we are lesser beings in the great cycle of nature, but as a whole we create forces which literally change the world around us. Our shared work of creation withholds all the potential what is the potential of our so called creator as well.

Yet, at some point in our journey, we have forgotten it.

Our achievement-centric thinking, the community that strives to reward individuals and which is primed for an eternal climbing of the ladder has along the years begun to erode our environment and especially ourselves. Power games, reaching for certainty, rules, plans, conditions and requirements have begun to define us instead of us defining them. People have become a part of the mechanical machine. A part, which can be easily replaced when required to keep the machinery running. We have given birth to a monster, which siphons our energy to maintain its own world. Because everyone wants to be important in some way and to hold on to their own success and  security, simple things suddenly become very complex.

A significant part of complex things in our societies are actually very simple.

The things that are not simple even after an objective examination are naturally complex. The nature does, however, have its own way of dealing with things the way it is required. In natural organizations every individual will gladly take the place that is most fitting for its real nature. The place, where they can sincerely serve the whole with all of their skill. Others are coders, testers, marketing or leaders… Yet, few however remember during their day to think about what we are first and foremost. We are animals, who depend on one another, who reflect their own image from one another, whose quality of life is in direct relation to the quality of life of other people, with whom they share same beliefs and spend their time.

Managers, bosses, bullyboys and all kinds of made-important titles and positions are a thing of the past.  The traditional organization is lying on its death bed, waiting for its last breath. From its ashes, however, is possible to arise something so much greater and more valuable and more real. The actual recognition and acceptance of the individual and community – an individual’s actions without striving to be more right than the other – provides the soil for growing evermore beautiful flowers. Like the Doctor, the protagonist of the favorite series of Yours Truly, Doctor Who, puts it:

The progress of the humankind is not measured with industriality, but with the respect for life. The unnecessary life. A life without privileges.

The value of an unnecessary life is the same as the value of the most necessary. It defines an era. It defines a species.

Next time you ponder, whose responsibility it is that something succeeds in your software project (or in whatever area of your life), you can stay worry free since I will tell you the biggest secret that our society would not allow anyone to share: It is your responsibility, dear friend. Do the right thing, the thing which serves the whole without evaluating anyone’s worth, the necessary thing. Do it by your own permission, without needing to ask anyone else for it. Instead of how you have been led to believe, no other person is in a position of power in relation to you, and neither are you in relation to them. You may experience forceful gales blowing against you as you do whatever it is that you will do, but at the same time you can experience the freshening wind on your face of something that is called life.