The last years Exploratory Testing has gained a lot of followers. In the world of Agile development fast feedback by testers is really welcome.
There are people who have doubts about the structure and knowledge transfer, because there is no script. For an experienced tester, a note about a data life cycle test is enough. Writing out tests for creating, reading, updating, and deleting data is boring for me.
Exploratory is about finding information and using it during the same activity. This can be achieved with a script. Let me tell you some Exploratory stories.
Exploring while scripting
Laptops are light and small compared to desktop computers. On the other hand, for the same price I get more RAM and hard disk space in a desktop computer.
SSD or Solid State Disk is a hard disk, which is used frequently in computers. I needed an extra hard disk for my data. The challenge was to prevent my SSD from overflowing of data.
I opened a text editor and noted all kinds of information. My SSD was my default drive to store my information. I had to redirect all data to my HDD or Hard Disk Drive.
In the past I had changed this in the Windows registry, but I did not like this. It could lead to errors. I preferred to change the direction of the data using a command or a dialog.
Like a lot of programmers, I searched on the web. I found some articles and blog posts. In the meantime, I was copying links and making notes how to reproduce the steps.
The first time I executed the script, I was about to copy all the steps in my notes. This is a waste of time, so I just added my observations in the script.
For personal reasons I changed the script on a few places.
network cable out [current PC] copy all files in Kid on external hard disk check on Appdata 08:25 [current PC] make a copy of the mail program and game subdirectory in the subdirectories of Appdata of Kid. 08:56 [current PC] remove all stuff from the mail program (after check?) 09:30 network cable in Network cable out of new PC [new PC] check %APPdata% mklink does not work properly. environment variables => no appdata found/ [New PC] old files app data [New PC] copy all mail program and game program subdirectories to app data. [New PC] make extra copy of files [open Thunderbird] remove all files. Network cable in new PC check game check mail program network cable out of new PC In case of problems: - restore old files of mail program and game.
There are some parts which need some explanation.
network cable out
So long the current PC is connected to the internet, the mails will be downloaded all the time. During the move of the files of the mail program I might miss emails.
[current PC] copy all files in Kid on external hard disk check on Appdata 08:25
The reason I chose an account of one of my kids is the small amount of data, which is used by this account. This is easier to restore than the huge bulk of data on my personal account. Hoarded as charged.
Appdata is a specific place for Windows. In this subdirectory there are subdirectories for programs to store information. E.g. for a mail program the address book and the mails are stored over here.
At the end of the line, I wrote down the time of the action.
network cable in Network cable out of new PC
During my review I noticed that this was quite confusing. I added new PC in the last line. Looking at my script, the problem of downloading mail on my current PC was back. I remember that I left the network cable out.
[new PC] check %APPdata% mklink does not work properly. environment variables => no appdata found/
There was a step missing in this script. The precise use of mklink was not included. I had used this command and described the following steps in this script. However there is still enough information to reconstruct the process.
Here things go wrong, because appdata could not be found., I did not note the time, but the message is clear.
[New PC] old files app data
This is short for copy files from the old PC to on the HDD on the new PC.
check game check mail program network cable out of new PC
The most important thing of changing stuff is testing whether this went right.
In case of problems: - restore old files of mail program and game.
This was my contingency plan.
While blogging I noticed that the other files to be copied were not mentioned. I forgot to include this step. Probably this was too obvious at that time.
Debriefing or telling, what I did, is a way to discover what went wrong.
Who said: “You cannot change the script”?
Exploring while debugging
The command mklink was not the proper solution for my problem. I removed the created account and all files. This time I switched my search results to video.
After a while I got a script to make the proper redirection: when I saved the files, then they would be saved on my HDD. My first steps went right and then nothing happened. It did not work.
Time for my clean up again: remove the created account and all files. Then I could start in a clean environment.
There was a bug or error in my script which I had to remove. But what went wrong?
I opened the video to the browser and watched it again. All the time my thoughts were like “Yeah, it is in my script”. Imagine me nodding all the time.
Then something was mentioned in the voice over: I had to wait. Imagine me saying: “Oh”.
I only watched the first part of the video and stopped. I assumed that the change in my configuration would be immediate. Computers are fast. In this particular case the change took seconds.
The next time I repeated the steps in my script. I waited long enough at the crucial step. Then my files were saved on the HDD instead of the SSD.
You should always listen to the end of the message.
Exploring while planning
Years ago, I was a test coordinator for several projects. Several components would be changed and the question was: can you test whether everything went right?
I had serious doubts about the number of actions and their consequences. My goal was to explore the deployment. Less surprises means less tests.
It took me little effort to convince the project manager to have a meeting about the deployment plan. I volunteered for the chairman. Some of the questions about this meeting are answered in thhee Q&A.
You do need think about the implications of the things you create.
– Jemma Simmons