How I discovered new heuristic by reading fiction book

Reading Time: 1 minute

I decided to read 1q84, a novel by Haruki Murakami, when I read novel excerpt as part of news that mr. Murakami is one of candidates for 2012 Nobel prize of literature. He did not won the prize, but excerpt:

A fictional story about best selling book in 1984 Japan that involves parallel worlds.

was my buy in to read the book. So what this book has to do with software testing? Chapter 4 in book 3, Occam’s Razor, is about detective Ushikawa and his reasoning as part of its detective assignment.

Occams’s Razor is a problem-solving principle devised by William of Ockham (c. 1287–1347). It states that among competing hypotheses, the one with the fewest assumptions should be selected. Other, more complicated solutions may ultimately prove correct, but—in the absence of certainty—the fewer assumptions that are made, the better [Wikipedia].

In science, Occam’s Razor is used as a heuristic (discovery tool) to guide scientists in the development of theoretical models rather than as an arbiter between published models [Wikipedia].

Here we are,  the connection with software testing! Heuristics are powerful tool of software testers.
I searched using Google, for any mentioning of  Occams’s Razor in software testing, but there were no any results.

Occams’s Razor could be used in two ways. To help us to answer question: “Do we have a problem here?”, and to help us to create model of software under test. I will start to apply Occams’s Razor in my daily testing job in order to test it on real testing problems.

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

How to speed up your learning?

Reading Time: 1 minute

In order to expand my testing knowledge, I read materials that I receive through my rss feed. First problem is that I am overwhelmed with amount of worth reading materials. There is no time to read it all.

So I started to look for tools that could help me to read and comprehend that material in faster way. I first read a book “How to read a book” by M.J. Adler and C. Van Doren that was recommended to me by Markus Gartner as part of BBST Test Design assignment feedback. This book will teach you how to effectively and faster learn from a book.

Second tool in my arsenal is Chrome extension, Read Fast. I had to use it for some time, before I was able to decide which settings work best for me. My settings are 250 words per minute and diamond visual mode. As I was using tool, my reading concentration was improving. I also do not select whole material at once, I split it in chunks of 1000 words (tool has word counter).

As I am regularly using OsX, last tool in my arsenal is integrated text to speech. I am using it to listen my writings (this blog) in order to proofread it and for listening instead of reading blog posts. OsX text to speech has intonation feature, and I am very impressed of its quality.

Pick your tool, but as as with all skills, you need to practice speed reading and comprehending craft.

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Bank lockdown of my company financial data, RIMGEA analysis

Reading Time: 3 minutes

I found out that my company financial data is lockdown by a Bank. Not all data, but using bank Internet banking service, I can only search for transactions that are no older than ninety days.
I will use this application behavior as my exercise of RIMGEA acronym for bug reporting.

Given that I am logged in
And I go to Reports–Transactions
And I select account in HRK
And I identify payment transaction with negative value
And I select date from older than 90 days
And I select date to today
When I click on accept
Then search result does not contain transactions older than 90 days

I think that this is a bug of Internet banking system, and I will try to prove that assumption using RIMGEA acronym. RIMGEA is acronym that helps testers to write better bug reports.

R is for replicate. I successfully replicated described application behavior. As issue variable is time, I used following follow up tests. I run the search first day. I remembered the transaction that was exactly ninety days old (I had to do it on several consecutive days until I found that transaction. So test lasted several days). I did the search the next day, and that transaction was not present in search result.

I is for isolate. Eliminate unnecessary steps and report only one issue. This issue is present for all my accounts (accounts differ in currency). So here is core of the issue:

Given that I am in transaction report menu
When I select any account
And I select date from older than 90 days
And I select date to today
When I click on accept
Then search result does not contain transactions older than 90 days.

M is for maximize. I did not maximize described issue. I was just able to replicate the issue. I varied my actions by creating pdf version of search results, by printing search results and using search results navigation buttons. I entered for starting date date that is four month before current date and for ending date date that is three months before current date. I varied program settings by changing account date and time format. I varied my environment by using Firefox browser.

G is for generalize. We need to replicate issue for different values of variables involved in this feature, less extreme values of those variables, or on broader range of systems. In this context I replicated issue for all three values of account type variable.

E is for externalize. Lets bring this issue in front of the stakeholders. I contacted application helpdesk. I was prepared for the answer: “This is a feature, not a bug”. I looked in the application manual the fact that search only looks for data 90 days in the past. I did not find that information. Helpdesk confirmed the behavior. Quote: “We are aware of this lack of functionality. We are preparing our next release in which this behavior will not be present.”

A is for the articulate. Write bug report in professional manner. So here is is.

Bug report.

Summary: Not searchable transaction older than 90 days.
Type: coding error or documentation mismatch

Given that I have transaction in previous year
And that I am in transaction report menu
When I select any account
And I select date from older than 90 days
And I select date to today
When I click on accept
Then search result does not contain transactions older than 90 days.

Reproducibility: yes
Severity: small
Base on my experience as customer, it is very rare case that I will need transaction older than 90 months. There is alternative way (snail mail) to obtain that data from a bank.

priority: set by project manager. From helpdesk response I figured that priority is set to low.
component: transaction reporting in JohnDoe application
release number: 1.04.008
version number: Build 15176
Latest Chrome and Firefox.
Account date format: DD.MM.GGGG
Account time settings: HH:MM:SS
Value format: 1.000,00

Suppose that you are developer or project manager, would I get your interest with this bug report?

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

How to connect Minas Tirith and Minas Morgul?

Reading Time: 1 minute
Minas Tirith. credit:

Minas Morgul.

Minas Tirith and Minas Morgul are two fortified cities from famous Tolkien’s Middle-Earth fictional world. In my current project, I had to connect from my Mac Book Pro (development machine) to remote Windows 2012 EC2 instance. Which means that I had to connect two Minas (means tower) from our current IT world, Microsoft and Apple. At the beginning, that mission seemed impossible. I tried various tools with various connection parameters.

To ease your pain, I finally found appropriate tool. This is Microsoft Remote Desktop for OSX.
For connection parameter user name be sure to put domain_name.localyour_user_name. This was not an obvious setting, and I spent some time with trial/error approach to figure it out. And connection lag does not make you to crash your precious Mac book.



Happy connecting!

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather