Recently I found this site were some example programs are made available to
Black Box Test Machines by Workroom productions from James Lyndsay.
Quoted from his site: "The following freeware machines are testing puzzles - crosswords for testers. Open one up and play with it. Try to answer these three questions: What's it doing? What's it doing wrong? How can I be so sure?"
When you have some spare time you might take a look at those applications and try to answer the questions. It is also worthwhile to read his award winning paper: Adventures in Session-based Testing"
Monday, June 8, 2009
Fun: Black Box Test Machines
Posted by
Jeroen Rosink
at
9:32 AM
0
comments
Labels: Fun
Sunday, June 7, 2009
Model Based Testing was this new?
I never would claim I have the knowledge. I have some knowledge and are always eager to learn. Last year I attended some conferences and one hot topic was Model Based Testing. It promised to be new and useful.
Searching for some more information about this topic I ran into this article: Model-Based Testing in Practice by S.R. Dalal, A. Jain, N. Karunanithi, J.M. Leaton, C.M. Lott, G.C.Patton, B.M.Horowitz.
Looking at the date of this article it is already from 1999. The strong part of this article I think is the focus on the method it selves instead of using tools.
When looking to recently published information the focus lies more on usage of tools. Some examples:
At EuroStar 2008 it was also a topic.
Experiences from working with Model Based Testing (MBT) and Qtronic) by Hakan Fredriksson. Remarkable is in this presentation the notation towards Rogers Adoption /Innovation curve. He shows that organizations who using MBT are early adopters. (Although it is already old for a decade)
Testing Experience: second issue 2009: "MBT as the next step in testing" by Elise Greveraars. Also her presentation on EuroStar 2008 went about how to use tools in model based testing: "Tester Needed? No Thanks we use MBT"
An interesting video by Mark Utting (August 2007) shows also an approach for MBT using tools: http://video.google.com/videoplay?docid=5521890509476590796
Posted by
Jeroen Rosink
at
11:25 AM
0
comments
Labels: Test Methods
Quotes to think about
Recently, driving in my car to my assignement I heard a commercial on the radio where they mentioned a quote from John Maynard Keynes (English economist, journalist, and financier, 1883-1946): "Ideas shape the course of history!"
I loved that quote as I'm full of ideas. Perhaps I can shape the course some day :)
This triggered me to search for a few other quotes:
G. Moore: "Everybody sets out to do something, and everybody does something, but no one does what he sets out to do."
B. Shaw (Caesar & Cleopatra (1898): "When a stupid man is doing something he is ashamed of, he always declares that it is his duty."
J. Dryden (All for love (1976): "Errors, like straws, upon the surface flow; he would search for pearls must dive below."
A. Tennyson: "Sweet is it have done the thing one ought."
John Updike (The Carp (1978): "An expert takes nothing personally. Nothing is even precisely his fault. If a bridge collapses or a war miscarries, he has already walked away. He still has his expertise."
Posted by
Jeroen Rosink
at
6:13 AM
1 comments
Labels: Fun
Saturday, June 6, 2009
Blocking your nurture
What do you do when a person ask you a question? Do you try to answer it immediately or ask an own question to get more information about the purpose?
What do you do when a person explains a problem? Do you try to solve it or ask form more information?
It is in my nature to help people. If a person asks me the time I look at my watch and tells him what is on my watch. If I forgot my watch I look around to check if I see a clock. If no means are available to tell the exact time I try to estimate the time. It is so simple and obvious to respond automatically to triggers we have done before using experience and knowledge we gained before.
The question is: did this help the person? When someone asks for the time and you give the time it seems that the question is answered. Still there might be more behind that question. Perhaps that person used that question to make contact. If you give the time, the chance for further contact is minimized. If that person needed the time to check whether he is late only he is not able to calculate then the question is obviously answered only the person cannot do anything with it. Perhaps he actually wanted to ask if he is late for a certain appointment related to the current time.
The same might happen in testing, when a person tells you that his products is lacking quality you can tell him to test better. Nowadays it normal that in the same sentence we tell them we are able to do that part of testing and inform him that we are able to use methods for this like TMap, ISEB/ISTQB, TestGoal, CDT, SmarTest or whatever. Do to our experience it became our nurture to tell about our skills and experience.
Telling about skills and experience won't help a person. Using them might help. Only it can only help if you know it will fit the problem/ question. Before you start using your skills/experience about methods you first need to check if it is sufficient. It is important to start gaining information first. Then you can decide which solution/method is the best for helping the person.
I think here the tricky part comes: It is in our nurture to start asking questions based on our knowledge and experience. If that knowledge is restricted then the gained information is also restricted. Perhaps it is useful for the method you like to use; the pitfall here is that you might be forced to change customer’s processes and make them accept the disadvantages to make your method work.
I don't know exactly how to resolve this problem. At least I believe sticking to the knowledge/rules of one method is insufficient. Also the knowledge of 2 similar methods like ISTQB and TMap won't work. You will be forced thinking in a certain pattern although this pattern cannot be the answer. It might help you to lead to a solution. Currently I'm reading more beyond these approaches, listening to ideas of others and trying to make up my own ideas. I'm still aware I'm at the beginning of the journey where it helps to start with the statement: Currently no method is useful, let us first see what want to do and what we are currently doing.
Posted by
Jeroen Rosink
at
9:02 AM
0
comments
Labels: Ideas, Metaphor, Testing in General
Do you trust the Work-Around
In the past I already made a post related to workarounds March 23rd, 2008: Start managing your Workaround's!
In that posting I advice to start with documenting workarounds and managing them based on their lifecycle. We should avoid that workarounds get normal desired functionality by just using it; the next step would be that that usage become normal expected activities.
An article I read a while ago is related to functionality which is default in MS Outlook, auto complete e-mail addresses, only that functionality is often not embedded in processes. It is there, only organizations often don't tell you to use it or not.
CNet new: February 5th, 2008: Lilly's $1 Billion E-Mailstrom;
The New York Times, January 30th, 2008: Lilly Considers $1 Billion Fine to Settle Case.
In this example you see that functionality available in the system can be used. Workaround are often also defined because the system missing some functionality and tells you how to use parts of other functions to get your job done.
Most of us know that when defects are found, workarounds are defined; we also test the work around. Only after a while it is forgotten what the workaround actually was. Therefore we should manage the workarounds we define in systems.
We should ask ourselves each time: do we trust the workaround?
Posted by
Jeroen Rosink
at
5:36 AM
0
comments
Labels: development, Testing in General
Friday, June 5, 2009
Start without a method
I'm the last person who would say that using methods make no sense. As often before, I advise to use them wisely. I can imagine that without any method it might be hard to reach the goal.
You might compare it with getting from point A to point B. In the beginning we didn't had car navigation systems or even paper maps. We started walking, riding, sailing based on our experience. By looking carefully to our environment we adapted the path to go. We even used tools to help us during our journey.
When some trips were made often, wise people drew a map to explain to people with lesser experience how to walk. Even then it was sometimes hard to end up at point B as you needed the skill to read maps, sometimes reading one map type differed from the other.
Currently we are driving our cars, bikes or even walking based on our navigation systems. A tool tells us what to do and when to do what. We stop thinking how to get from A to B. One benefit here is that we have time to other things like watching the environment better, communicating more, etc.
I think the same is now happening in the field of testing; and happened before. Initially we were just testing, finding bugs by pressing the buttons. After a while all kinds of methods were defined like related to testing ISTQB, TMap, TestFrame, TestGoal, TPI, V2M2 etc. Related to development they drew up the different map types like: Waterfall, DSDM, RUP, Agile, etc. They all should help us to get from A to B. And basically, they can work.
Perhaps I'm wrong, what I see happening now is that those methods are also used as tools as they are telling us how to test and when to test. The only difference is here the purpose. Instead of getting from A to B they are to get more free time to enjoy the environment. I suggest that we keep our eyes open to question the environment, use our skills and experience to get from A to B and adapt our routes when we think it is necessary and not because of a method says so or a method forgot to tell you to do.
A method is a good think when it is used as a guideline. Using it as a tool can be done in different ways, you can use it to help you to define your route, it can also be used as goal. When using it is as a goal the focus lies more on implementation of a method instead of using a method.
Posted by
Jeroen Rosink
at
4:35 AM
0
comments
Thursday, June 4, 2009
Collecting evidence
Sometimes it seems testers are just young children, they also want to collect everything, although the reasons are sometimes different.
I can imagine that you, reader, also store your test data for some reason.
Perhaps you can compare it with collecting soccer cards, football card, baseball cards, stamps or what ever. Collecting those items can make you unique; it can give you some additional value. Perhaps you can get money out of it.
Is this the same with test data? Are you just collecting to tell the manager how good you are; how you managed to have everything under control? Or are you collecting to be used as evidence.
Using it as evidence can only help when it is too late and what sense does it make then? Will it help the customer? Perhaps you should ask yourselves in front what to preserve, for what reasons and for how long.
Imagine we define a lifecycle for test data.
We all know these actions:
- preparing
- using
- collecting
- storing
- preserving
What about: destructing?
The initial actions are mostly within a projects lifetime. Destructing should be done when it is no longer necessary. What would you say to start the destruction phase of one project, just after ending the next? This might trigger us to think about what we need to preserve instead saving everything. And it also minimizes the frustration of not finding old data as it is no longer there.
Posted by
Jeroen Rosink
at
4:57 AM
0
comments
Labels: Metaphor
Wednesday, June 3, 2009
Moments of disbelieve
Sometimes in a lifetime you have some moments when you think: how is that possible. A situation a dealt with just very occasionally is that in the front yard of my house the sun is shining and in the backyard it is raining.
No, I don't have such a big house with a big yard. It just happened. Similar things Moments of disbelieve sometimes also when a product moves from the test environment to production. And in production suddenly it started to rain.
Of course I could have spent time to get the answer why the sun was shining on the other side of my house and it was raining at the backyard. To me it seems some waste of time.
Perhaps we also should deal with certain situations when it happens on productive systems. Instead of searching why it happened, it might be useful to solve the water damage and continue working on the next assignment. Don't let the moment of disbelieve spoil up your resources.
Only when you believe it is not an occasionally thing, you might consider precautions.
Posted by
Jeroen Rosink
at
5:48 AM
0
comments
Labels: Metaphor
Tuesday, June 2, 2009
When methods can work
There are methods for almost everything you can think of, also in the field of software testing. What often is forgotten is that a method is just a representation and simplification of reality. The danger I see is using methods without questioning that method. Without knowing and checking the boundaries of a method you make unwillingly the assumption that the situation you are in is exactly as the method represents.
I hope you agree that nothing can be identically as described in the method you are tending to use. If you think so you have not only to search for the boundaries for the method you are trying to use and implement, you also have to investigate your own situation much better.
Often I see that people are familiar with methods they have been taught. Over the years they implemented and relied on them, they created some best practices for themselves. In the beginning they asked other people if they understand it correct and used it right. At that moment they were questioning themselves, the method and the environment they were into. After a while it became just a trick they performed and implemented methods the easy way, not questioning anything. I see this as a risk using methods you know. You are no longer fitting the method to the organisation; you are trying to change the organisation to fit the method so you can be successful.
At school I bothered the teachers with asking questions about the method, claiming that those are not useful. Looking back I questioned the method to understand how it works and where the boundaries are. This made me help to implement and use it when possible and triggered me when I tending to cross those borders when implementing them.
It is easy to say that a certain method is not useful; it is harder to tell what parts can be useful and what parts can be of advantage for you.
I suggest that instead of starting with methods or best practices, first start asking questions to get a picture of an organization/ project. Based on this you might be able to create a model for your own of that organization/project. Now you have two models, one model of the organisation and that one called method. Combining this with the known boundaries of the method you might be able to successfully use the method or parts of the method and become successful yourselves.
Posted by
Jeroen Rosink
at
5:53 AM
0
comments
Labels: Ideas, Test Methods
Monday, June 1, 2009
Different metrics
The power of MS Excel is collecting data and transform it into information. Initially I tried to create a dashboard which I can use in every project. Unfortunately this was barely possible. Each time, the challenge was to translate the provided data in such a way it represents the same overview of tables and charts. Also requests for information from management differed each time.
I noticed there is a difference between information I need to control the test process and information management need to get informed.
As a project is dynamic and also data is dynamic during the process I start always easy and make the information I can provide also dynamic.
Information for me would be:
- # issues found
- # issues found in combination with system component
- # number test cases /issues open for test
- # test cases /issues in combination with location (what is the status and who should act
- percentage ready (when possible in relation with time left)
Often the difficulty is that information I need is stored in other applications. When possible I download them. Disadvantage can be here if the structure of information is changing or objects are changing in names it become hard to compare. Therefore I start always easy and let the dashboard grow when necessary, or reduce when possible.
A chart managers often like is a chart planned vs actual. This is often hard to get as the data for planned numbers of test cases depends on the availability of testers and also if they are dedicated available for testing. Another remark can be the origin of planned figures. As planned is different then intended.
Posted by
Jeroen Rosink
at
7:00 AM
2
comments
Labels: Metrics



