Robot Framework, wxPython & OSX

May 16, 2017 | Author: 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

May 9, 2017 | Author: 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

May 5, 2017 | Author: 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.

Responsibility is a Difficult Thing?

April 28, 2017 | Author: Antti Niittyviita

I have been pondering for a bit about people and responsibility. What kind of people take responsibilities and why? How does taking responsibility affect the surrounding people and why does the overwhelming majority of people try to avoid responsibilities.

Some time ago I read texts of Søren Kierkegaard, the father of existentialism, and in his mind, the illusion of becoming communal is what makes a person irresponsible. For example, religious communities are based on some higher power taking responsibility of their actions, and in business organizations the final responsibility lies on the shoulders of the CEO, whereas in a team one can work quietly without actually doing anything. When you are responsible, you are also responsible of mistakes and that is scary.

The one who takes responsibility is easily given power as well, and there is a lot of responsibility to go around. It is not in people’s nature to desire for responsibility, as it is unnatural and easy to relinquish. Everyone is ultimately responsible of only themselves, isn’t that how it goes? In many bigger organizations the responsibility is moved around, and for example a single tester does not really feel significant or being responsible of anything. What if you were to be?

I am responsible of bugs being discovered on time and that the client is satisfied!

Testers! Let us come together, except not quite, and let us assume the responsibility of breaking the illusion of a bugless software! When you show that you have actual responsibilities, maybe the developer will also believe that the bug you discovered is valid!

This Is How You Get to a Conference or a Training Course

April 11, 2017 | Author: Antti Niittyviita

Conferences and training courses are a wonderful place to feel vented from the usual days of an office worker. Often what happens is, that obtaining the permission to attend such a trip feels arduous.

What used to be the most difficult thing for me to do was to think what to fill in to an empty e-mail sheet.

Now I decided to sit down and write a base, which you can then copy and remix to fit your need.



Subject: Shall we fix [the team’s/business’s current testing challenge]?




Greetings [the name of the amazing boss goes here]

I would like to participate in Leading Testing course in Helsinki on 20th-21st.

The most important gains from the course are not the powerpoints, but the concrete exercises they hold there that strive for testing that produces results. In my understanding, the most important course themes for us are these:

  1. On the course we practice practical methods for testing and organizing it, so that developers and the rest of the team could gain even more benefits from a testing done right.
  2. In addition, I will be gaining tools to teach the insights I bring home to the rest of our organization.

In addition to the course contents which are diamond, I believe that the discussions between the other testers offer a chance to learn the best practices across the fields.

The course price is 1290€ (at 0 VAT). I do understand that in addition to this investment, I would be away from office for two days. I can, however, take care of my work in a way that keeps things together while I am at the course.

I am convinced that this would be one of the best investments of our team/firm, when it comes to testing.

Is there anything else of which I could convince you, so that you could consider giving a permission for this?

Included is some information regarding what the training course is about:

Best regards,

Amazing Tester

The Artist Formerly Known as A Critic

April 3, 2017 | Author: Antti Niittyviita

One beautiful day a music critic walked into the home of a composer and gave feedback about the composer’s latest product. The composer noted the music critic’s opinions. Some parts were discarded, some were changed a bit.

Next, the music critic paid a visit to the lyricist. The music critic went through the rhythms of the words and the relationship between melody and syllables with the lyricist. They tweaked the lyrics.

Confidently, the band entered the studio. The music critic sat in the control room, and made each musician perform multiple takes. In this band we don’t do it on the first try.

Music critic was not yet satisfied. The band had already done their work, but the music critic still fine-tuned the resulting mixing and mastering for a long while.

The music critic was a member of the old school. Not some mp3-generation. The essential part of the whole art piece is also the record’s cover art. They did end up making several sketches, before everyone could be satisfied with the end result.

Well, in reality, the music critic steps in after the record is ready and published. The best bands, however, tweak their art piece in every segment of the creation process with due attention, and think through every little detail from multiple perspectives. Finally, credits are given to at least the composer, the lyricist, the players of each instrument, the producer, the sound engineer, mixer, masterer and the cover artist. The critic is not mentioned.

Is the tester in your software project merely a critic? If so, maybe it is time to talk about the role with the tester and ponder how to get full benefits from testing in order to create a masterpiece.

P.S. Thanks for inspiration to the ‘Devaaja’ in our comment section. We play in the same band. ;)

The Unspoken Power of a Tester

March 27, 2017 | Author: Antti Niittyviita

A tester’s job is to offer their helping hand, so that the product stays in a good shape and the project keeps to its schedule. When we observe our surroundings, it can be seen that the helping is infused with a lot of unspoken meanings.

Helping is a power game, where we make the other dependant on our help.

Why do we even help other people? Because we are selfish. Everything we do, carries within them a seed of selfishness. We do good unto ourselves and others, because doing the good thing makes us feel better about ourselves. In addition, we do good unto others, so that we could avoid feeling bad instead. Doing good and helping others by denying our selfishness – or especially doing it because we feel guilty – gives birth to unnatural relations of dependence, to which we get addicted to.

When we do good unto others by offering our helping hand, an unspoken power game is also given birth at the same time. A power game, where our power is dependant on the helped party submitting under our own power. When this happens, we do not wish to relinquish that achieved power.

Because we do feel ourselves important when something or someone is dependant on us.

Avoid giving birth to additional relations of dependence. Instead of offering your helping hand to a fallen, rather offer them a support, with which they can pull themselves back up. Offer help, which makes the weak strong, and strengthens the strong further.

Instead of how you have always been conditioned to think, perform acts of wisdom to make the success stories and the life of a software project in the work community around you not dependant on Your help. What follows will be amazingly marvelous.

Two Momentums that Dictate Your Success

March 23, 2017 | Author: Antti Niittyviita

Yes. This concerns you regardless of whether or not your product is a service, piece, software or cv.

The most defining factor for your product’s future is not the customer’s journey to a purchase decision. It is the journey from that decision onwards. Getting that decision to purchase is indeed a prerequisite for getting started, but after that is the real work.


I held a presentation in OAKK’s morning seminar with a set about the two tools of success and reputation balance. If you cannot get past the beginning, I’ll spare your time and reveal the bullets.

  1. Stories they tell about your product, after you have left the scene.
  2. The ways your customer returns to, after your five minutes of fame has passed.

In both of these momentums of success the defining is how skillfully your product meets and exceeds the expectations that are invested in it.

P.S. If you wish to grab on to future stories faster, subscribe to these ;)

Instagram: @niittyviita
Facebook: antti.niittyviita
Snapchat: @niittyviita
Twitter: @niittyviita
Medium: @niittyviita
Youtube: TestguruTV on Youtube
Youtube: Antti Niittyviita on Youtube

The Half-life of Wonderful

March 13, 2017 | Author: Antti Niittyviita

Soon it will be blaah already. Whatever wonderful things we are presented with will quickly turn them into the norm.

I can still remember when we listened to the sound of a modem connecting us to the Internet for the first time in the computer classroom at our school like we were hypnotized. The entire world would soon be at our fingertips.

It did not take long before the boys thought of the first practical use for that wonder of science and as you guessed it, it was boobs.

Nowadays we fry our nerves in a second, if the net does not spew the bit stream at a level we require.

We are the worst kind of neophiles. We become accustomed to new faster and faster, and soon our expectations adopt everything that was initially so wonderful.

New and wonderful satisfied for but a fleeting moment. After that the game gets hard, because the defining factor will be something else.

How reliably can your product deliver on its promise? How sure is it that small bugs won’t ruin your game before the customer’s attention passes over to the next candidate? How likely is it that taking a moment to familiarize oneself in your product becomes a habit of using it tomorrow still?

Wonderful has a half-life and that half-life is short. Testing prolongs that half-life for just as long to give your product a fighting chance for real pay offs or turning in profits.

Test on time. Test often.

Tuna’s Bold Request – Look at the Picture!

March 8, 2017 | Author: Antti Niittyviita

Hi! I am Tuna. We may have met before on this blog. Last time I wrote about a deer in the headlights. If that blog entry passed under your radar, you may check it out here.

Well, this week my earpiece told me about the Tester of the Year 2016 nominees. Now, the headlights are on Tuna instead of the deer.


It is an incredible honour to be able to represent Prove in this nomination. Because, the gurus at Prove happen to be pretty awesome in what they do! And the other nominees are as awesome as well. But enough talk, let’s get this done with. I most humbly request your vote. I’m worth it.

The voting is fast and painless, and it takes place here.