Category Archives: Branding software testing

An Oracle, Two Systems, And Four Situations

On September 26, 2015 Justin Rohrman ‏tweeted:
“Anyone know of the origin of the word ‘Oracle’ in software testing? Who started using it, what other words were used prior, …”

I answered with:

  • in the past in the Greek city of Delphi there was a special person you could ask question: Oracle.
  • The answer was sometimes cryptic. When the Persians invaded Greece, the answer was to hide behind
  • wooden doors. There was a smart man, who interpreted the answer right. He advised to build
  • a fleet of wooden ships, which beat the Persian fleet.

An oracle is a source of information, which I can use during testing. It can be used to determine, whether the observed situation is right. Right?

A dialogue from a movie with John Cleese about choosing a direction (while driving a car):
“Right?”
“Right?!”
“Left?”
“Left!”

Are you sure?

“Hey, I think I found a bug.”
“Okay. Tell me about it.” The other tester requested me.
I told as objective as possible my observations and my conclusion.
“Did you look in the previous version?”

Some systems are so complex. A fast way to sift possible bugs was to look at the system used in production. Of course afterwards it was always possible to read the specs or ask the PO, Product Owner.

One tester was able to pinpoint the version, where a bug was introduced, within minutes. He had the latest versions of the system available.

So I learned,

  • how to install more  than 5 different releases on my PC.
  • how to rollback a release including the database.
  • how to prepare the proper database and configuration for testing.

Where did you see it?

During the test I noticed, that the test version showed status information, which was not shown in the release in production. I asked other testers, who noticed the same. So my test environment was OK. There was still a doubt, whether the customers would miss the information.

The most simple way was to ask help from the help desk.

In the afternoon a blond woman was standing at my door post:
“You are right. The situation occurs in production.”
It was time to make a bug report.

Just don’t let it happen again

“I have not enough information to test the issue.” I complained.
“Did you test in the previous version?”, another tester remarked.
“No.”
“If you reproduce the steps from the issue, then you notice, what will go wrong. The issue has been solved, if the observed situation does not occur.”

During one project I had to test a system with service desk agents and PR colleagues. There were issues to be tested. I did not have time to make test cases for them.  If I let the testers test on their own, there was a chance  that they would check, whether only the bug was removed. I needed information about similar situations and connected cases.

I opened an issue in the defect registration system and read the description. “I would test this …” Then I wrote down the test ideas in the comment. Before the test I gave some instructions to the testers:
“In the comment situations are described, which must be tested. If you are ready, write in a comment, what you did. Then you assign the issue to me.”

After the start of the test the issues came back to me. I looked at the feedback. Sometimes I realised, that more situations had to be tested. Then I added them to the comment of the issue and assigned it back. The nicest thing, that happened, was that extra test ideas were added by the other testers.

Did you have a good look at it?

During the regression test I had to test the export and import function. I had two systems installed with different databases. The only things, what I did, were export data to a file and import the file in the other system.

I had two screens, so it was easy to compare the data: I placed the systems on different screens. If there was a difference between the source and target system, then I made a print screen. The picture contained images of both screens. Hey look mom! With one finger!

Next stop was my word processor, where I pasted the image. Then I used the keyword BUG followed with a small description. Sometimes I analysed the data file to pinpoint the source of the strange situation. If the file was wrong, then the source system might have some glitches. Otherwise it was the target system.

During the stand up I mentioned, that I had found a number of particular situations. This resulted in a session, during which I spoke with a programmer. The following pattern was repeated:

  • Search for “BUG”.
  • Resize the image to show the differences between the systems.
  • If necessary, look in the file.
  • Determine, whether it was a bug.

During the bug removal phase I got two kinds of feedback from the programmer: it was fixed or it cannot be fixed. The latter surprised me, but a study of the specifications changed my view. The format of the file did not support all types of information. There were semantic limitations. Something like: country is not supported, so this cannot be exchanged.

Does it fit?

Fancy restaurants have little delicious dishes and standard spoons, which might not fit.

Take that

“We cannot combine the automated test and the performance test.”, Scott stated. “They don’t fit. It’s a waste of time.”
Alice looked hopeful.
George brushed it away:
“Instead of testing you are talking. You’re the one, who wastes time.”
Scott was a man, who did not mind a good discussion:
“We’ll lose a lot of time, if we do not split the tests. ”
“My decision is definite.” George answered.
“Don’t you understand?” Scott shouted.
Alice started to look white.

“You can leave the room NOW.”
“You cannot run away from decisions.”
George stood up:
“You bet. I will have a little talk with HR right now.”
He went out the room and slammed the door.
Alice looked miserable.

The door opened slowly. George looked inside and said:
“That did not go quite right.”

Take Me To St Louis

“Scott, do you know a person you never shout at and who knows as much about automated tests and performance tests as your manager?” George asked.
Scott was silent for a few moments.
“My mother. ….!? Wait a sec. You are not involving my mom in this discussion!”

“Hi mom”, Scott began.
“What is the matter, son?”, George answered.
“I want to thank for the apple pie you made for me.”
George raised an eye brow, Alice smiled.
“Did you come to talk only about the apple pie? ”
“No, for my work I have to combine automated tests and performance test.”
“I am sorry, son, but I cannot help you with this. Just do, what they told you.”

Scott was shifting gears in his head.
“A performance test for a car is to look, whether it can handle the load.”
Alice put a thumb up.
“I understand: if I can put all ingredients for an apple pie in the car, then it can handle the load.”
“No mom, that is the purpose of an automated test. That one is focused on the functionality of the car: can I open the door, put the ingredients in the car, close the door, and drive away?”
George looked puzzled:
“What kind of load do you mean?”

George nodded.
Scott made another attempt:
“A load for car software are heavy conditions. Does the car ride well with four adults, luggage for long holiday on slippery roads in a dark rainy night?”
“I only fetch my apple pie ingredients in my car during daylight, when the weather is good. ” George explained.
Scott threw his arms up in the air.
A frown appeared on Alice’s forehead.

Take 5

“You are close.”, George assured Scott.

“You know, mom, that a car has a lot of software.”, Scott stated.
“You say so, son.”, George answered. Scott continued with:
“The dashboard must show the right information at the right moment, if I am speeding on the highway. In this case the computers in the car must work very hard. That is the purpose of the performance test.

An automated test can be used to check, whether all buttons and displays of the dashboard work properly. If I drive fast, I am not using every button on the dashboard. So the automated test and performance test cannot be combined. It does not fit.”
Alice put her right hand on her chin.

“Thank you for the explanation, son. You definitely earned an apple pie.”
Alice started laughing merrily. Scott joined in.

After Alice had stopped with laughing, Scott looked at Alice:
“Do you need more arguments, Boss?”

Alice sobered up. She got a focused look:
“You know, that there is a lot of pressure. So I tried to take a shortcut. I notice, that you have a lot of anger. I assume, that you have a need to be understood. Am I right?”
Scott just nodded.
“This basically means, that a choice must be made between quality and functionality. “, Alice continued.
“At the moment Quality has the best chances.”

Alice turned away from Scott.
“George, I really want to thank you for ..”
George’s chair was empty. He had left the room.

Can we scale down the tests? Part 2

Sometimes you have a harmonica with the wrong scale. It is hard to scale it down.  A simple solution is to buy harmonicas in all scales. It will cost time and money, but it might save the day.

If a manager walks into your cubicle with a suggestion to scale down tests, then it is time to get the big picture before the decision to skip tests. Let’s go back to George.

Quality is an option

At eleven o’ clock in the morning George joined the meeting of the software testers. Cynthia was not looking very happy.
“What’s wrong with you, Cynthia?”, George asked.
“Management decided to skip the user acceptance test for the navigation system to save time.”, Cynthia answered.
“Did you point out the consequences?”
“Of course the interface can really be improved.”
“Can you prove it?”
“Sure.”
“OK, let’s call the PO for his opinion.”

John joined the meeting of the software testers.
“Hi Cynthia, this is supposed to be a tester only meeting.”
“You are welcome.” Cynthia reassured him. “We won’t bite you.”
“Would you give me a permission to let the other testers have a look to the navigation system?”
“No problem.”

George was studying his laptop.
“According to the user story it is possible to enter the right destination using voice commands within 10 seconds.
Your aunt asked you to come to Paris, which is in the neighborhood of Tupelo.”

First test:
“The destination is Paris.”, Pete said.
“What is destination?” was the answer of the navigation system.
“I want to go to Paris.”
“What means “I want to”?”
“Go to Paris.”
“Go to Paris go to Paris is an invalid voice command.”

Second test:
“Go to Paris.”
“Do you want to go to Paris in Arkansas, Paris in California, Paris in Idaho, Paris in Illinois, Paris in Kentucky, Paris in Maine, Paris in Michigan, Paris in Mississippi, Paris in Missouri, Paris in New York, Paris in Ohio, Paris in Pennsylvania, Paris in Tennessee, Paris in Texas, Paris in Virginia, Paris in Grant County in Wisconsin or Paris in Kenosha County in Wisconsin?”

Third test:
“Go to Paris in the neighborhood of Tupelo.”
“What is neighborhood?”
“Begin again.”
“Go to Paris, which is near Tupelo.”
“How far is near?”
“I don’t know.”
“Give an estimation.”
“I don’t know.”

Fourth test:
“Go to Paris via Tupelo.”
“Do you want to go to Paris in Arkansas, Paris in California, Paris in Idaho, Paris in Illinois, Paris in Kentucky, Paris in Maine, Paris in Michigan, Paris in Mississippi, Paris in Missouri, Paris in New York, Paris in Ohio, Paris in Pennsylvania, Paris in Tennessee, Paris in Texas, Paris in Virginia, Paris in Grant County in Wisconsin or Paris in Kenosha County in Wisconsin?”

Fifth test:
“Go to Tupelo.”
“The destination is Tupelo.”
“Go to Paris, which is closest to Tupelo.”
“Give an estimation.”
“Uuuuuh.”
”What is Uuuuuh?”

George looked at the PO:
“Do you think, that a user acceptance test is a considerable option?”