Test data generation tools

As a tester you’ll often need to generate test data.  A lot can be achieved with Microsoft Excel or Open/LibreOffice Calc or any other spreadsheet. However there are tools specialized in generating test data.

Several commercial tools focus at generating big data, like those of Grid-Tools, Tricentis and probably several others. Since I haven’t used these, I’m not going to discuss them.

There are also several smaller, free tools that you can use!

  • GenerateData: open source data generator with lots of possible fields, even country specific ones. Very useful.
  • Fake Name Generator:generates a single identify for online use.  Especially useful for online social networks. Disadvantage is that it can’t generate a whole CVS files with hundreds or thousands of records.
  • Mockaroo: seems simple, but it also allows regular expressions, so almost everything is possible.
  • Credit card numbers: has a list of fake credit card numbers conform to the MOD10 algorithm.
  • Identity generator: allows to generate various types of files with fake data, specific data fields for UK, US, Canada and the Netherlands are available.
  • TextMechanic: not so much test data generation, as a set of tools to manipulate text online.
  • Random: list of free and paid online tools to generate data, but also pick random data (times, dates, passwords, geographical data, …)
  • TypeIt: if you need to test internationalization of your application. Generates/displays all characters in lots of character sets.
  • BabelCode: slideshow of all possible unicode characters.  Needs more than 3 hours to display each character it knows!

In my opinion these are indispensable tools for any serious tester.  Add them to your bookmarks and start using them.

Lego and new media

Lego has always been of big interest to me. From my first Lego City kits to my Mindstorms 1st generation kit, they were again and again very interesting to build and play with. Recently during our (almost) daily walk at work, we had a discussion on Lego and my colleague put it nicely: “with Lego you first and foremost build and then play, with PlayMobil you can only play”.

So I’m very happy that my son also has a keen interest in Lego. He creates the strangest cars, boats and airplanes, but it is very nice that a 7 year old isn’t hampered by any ideas how these things exactly should look like. He already has saved for and bought quite a few Lego City kits, especially those with trucks.  And the Lego folders are always within reach to select new kits.  Soon he will have a birthday party, which brings in extra cash, so he wants to select new kits.  So we had to look for the new folder, August – December 2014.  And Lego has upped the ante with it: they’ve included 3D functionality!

Words and pictures don’t do this justice, so look at the following clip (it’s from a Dutch shop, and the only one I could find on the Internet)

Lego seems to be very well in touch with new media and (perhaps by extension?) very succesful. Lego made a very nice movie about the early Lego history. You have to admit that the founder of Lego, Ole Kirk Christiansen, didn’t give up when hit by bad luck.

You can make a boring company video with the standard stuff in it. Lego chose to make an animated video, this of course appeals much more to the audience of Lego (children of 6 to 16). But also for adults, it is an interesting film.

From 1993 onwards sales slumped and although Lego tried to increase sales by increasing the number of sets and tried to innovate outside of the standard bricks, by 2003 the company was virtually out of cash. By cutting costs and focussing on the essence of Lego, Lego is now again a succesful company.
This history is described in a book “Brick by Brick: How LEGO Reinvented Its Innovation System and Conquered the Toy Industry”

BrickByBrick-3d

Several summaries are online: a brief one and a longer one or a comic version (with Lego people of course)

Now, many people say that Lego is becoming more expensive, but this does not seem to be the case. There is a well researched blog post on this matter, you can find it here.
The average price of a Lego set seems to have been quite steady since the 1990s:

Average price of Lego set

 

Update: just in, a new look at the price of bricks in a set on Wired. You’ll get the most bang for your buck with the Trevi Fountain (21020) set.

Back to new media. Who hasn’t seen the new Lego Movie?

And with an 8.0 IMDB score it also is quite a good movie. Next to that, the Lego videogames also get quite good Metacritic scores. You can’t go wrong with a Lego Batman, Hobbit or Star Wars game. for smartphones or tablets are also numerous free or paid games available, both for Apple as for Android.

So I think we can conclude that Lego really is up to date with the digital media!
Don’t wait any longer and grab your old Lego kits and start building something.

My list of tools for Windows

I’ll admit it: most of my work is still done on a Windows box.  Linux is used on my home server and of course at most of the clients Linux is used in the embedded systems or as server OS for the applications. But my laptops all use at least Windows, next to Linux in some cases.

So here is my list of free or open source tools that I immediately install on all of my machines:

  • Dropbox: Why Dropbox and not Drive, OneDrive, Box, SugarSync, Wuala, …? Well, because I used a Google AdWords campain to max out my Dropbox at 19GB. So this is quite convenient.
  • Winsplit Revolution: I know Windows has application window management since Windows 7, however, in my opinion Winsplit Revolution is much easier to use and faster with the possibility of the key combinations.
  • Launchy: Again, with the Windows key a lot of the same functionality can be achieved.  However, I let Launchy also index my Dropbox folder with the portable apps, so that at each new pc I always have all my tools under my fingertips.
  • 7-zip: no need for any other (de)compression tools.
  • IrfanView: fastest image viewer and lightweight editor that can handle almost any image type, especially with the extra Plugins/Addons.
  • Paint.NET: already overkill for my graphical needs, but still easy to use and fast startup.
  • Sysinternals Suite: there is always a useful tool in this suite, be it at least Autoruns.exe.
  • ConEmu: best command prompt replacement. Althoug I should take a look at Cmdr.  It wraps up ConEmu and Clink in a nice package.
  • Putty: for your shell needs to Linux machines.
  • Clink: to enhance your command prompt to the command line editing features of Bash.  So small, so very useful!
  • Notepad++: immediately replace notepad.exe with this editor.  There are very useful plugins available.
  • Keepass: I sure hope you are not using the same password for all websites and applications?  Keepass helps you keep track of these passwords.  I know Lastpass and other web applications provide the same functionality.  However, that makes them also the prime targets for hackers, so I’ll just keep track of them myself.
  • FreeFileSync: so useful to easy sync files and folders between computers.  A tool like this is absolutely necessary to allow backs.  You do make backups, don’t you?
  • VLC: forget about MediaPlayer, just install VLC and be done with it.

I also want to point you to Scott Hanselman’s list of tools for Windows.

Book review: Batch Testen

A book review I’ve been meaning to write for some time: Batch Testen by ir. Dew Persad.

Batch Testen bookcover

A few months ago a possible client in the printing industry asked for an assessment of their testing efforts.  Most of their software runs in batches.  Having worked mostly in the embedded industry and on webbased software, this was a quite new subject for me.  So during my holiday in France I ordered this book and studied it. It was quite useful for the assessment!  The book is in Dutch.

The summary of the book tells it gives a structured method to optimise batches according to the BATCH method (good name!) that has 5 phases each with 3 steps. I’m not going into detail on the steps, these are very clear in the book.  The first part of the book deals with why good quality in batches in necessary and goes into depth on the BATCH method:

B: Business know how: in this phase, one should get an understanding of the business: which batch processes are present, which ones are essential, determine the risks, order of the batches, etc.  This phase is of course essential for the next phase.

A: Analyse the batches: in this phase, one gets to look in depth at the batches.  Taking into necessity and need of each batch process, datatables used, acceptation criteria, when to run the processes, etc.  The last step is an in-depth analysis of the batch using the Software Architecture Document with 6 views:

  • Use case view: looking at functionality
  • Test view: way of testing
  • Domain view: looking at the data
  • Logical view: looking at the components of the system
  • Implementation view: looking at the requirements
  • Deployment view: looking at the technical infrastructure

This phase may take quite some time to get a good understanding of the batch processes.  If done well, it really helps well in the next phases

T: Test the batches: The reason why I bought the book! There are 3 steps:

  1. Test analysis (in the book it’s called Testopzet, I don’t know a good English translation)
  2. Test preparation
  3. Test execution

The book gives a nice table with deliverables of the batch test team.  This is really useful, since these deliverables are what make batch testin different from other testing.  (that’s my opinion!)

C: Check the results:   in this phase one has to verify the output of the batches.  The business should accept (or not) the batches in this phase.

H: Handover to business:  Batches that are not managed well, can have performance degradation or even lock up after a few months.  Erroneous input  date can multiply over time.  So it is of essence to manage the batches.  It is necessary to have the business knowledge and technical knowledge to maintain them.

At the end of the first part of the book is a chapter on running the batches in the production environment.  This is something not familiar for many developers, so it is an interesting read.

The second part of the book goes into detail on

  • Quality of batch processes
  • Development of batch processes
  • Testing
  • Technical infrastructure
  • Extra necessities for the batch roles

I was of course very interested in the testing chapter. Well, it seems testing batch processes is not so different from testing any other type of software.  Same techniques, processes, etc apply.  The book uses the V-model as the basis for the testing of batch processes.  It doesn’t go into detail on the applicability of, for example, Agile testing.  In my opinion there is a small chance of an organisation developing batch processes using an Agile approach.

Conclusion:  If you are using batch processes in your organisation, I think this book is really an addition.  It is quite hands-on, not too theoretical.  It gives quite a few tips and tricks and the BATCH method is very useful as a basis for your own development process.  Easy to read and brief (164 pages), it provides the basis and a framework, but you have to tailor it to your own needs.

All in all, this book is really an addition to the large number of testing books already out there.  I would recommend to translate it also in English for a wider audience.