Shivaji’s Epic Escape – Lessons learned for software Testing

Chhatrapati Shivaji (Maratha king) was one of the most progressive and sensible rulers in the history of India.  We have heard countless stories of his victories when his tactics and practicality helped him win battles even when he was outnumbered.



It was the time when Shivaji was annexing empires and had taken over most of India. The Mughals (rivals of Marathas) were losing their grip and were threatened by the increasing power of Shivaji. Aurangzeb (Mughal Emperor) was constantly devising plots to capture and defeat the invincible Maratha. Aurangzeb summoned Shivaji to Agra for a peace treaty on his 50th birthday. Shivaji was accompanied by his six-year-old son Sambaji and a small contingent of his forces.

Aurangzeb had made all the plans to humiliate the Maratha king and his son in every way possible. Aurangzeb sat on the high throne and the rest had to stand. Shivaji was also asked to stand in the second row of the officers. Shivaji objected this status and protested. The Emperor did not utter a word, Shivaji was led to the back of the hall. By now, it was clear that it was a trap and Shivaji and his son were captives. According to the court’s etiquette, all his weapons and swords were taken away before entering the court, so Mughal army took over Shivaji and his son easily and he was put under house arrest. Shivaji was sent to the guest-house which had very strong walls and high gates. Shivaji was totally cut off from outside world.  Shivaji learned that Aurangzeb planned either to kill him or send him to fight in the Afghan frontier.

Despite the gravity of the situation, Shivaji did not lose heart.  After few days Shivaji portrayed to be ill and he claimed to have an acute stomach ache. Day by day Shivaji feigned to have a fatal disease which cannot be cured. None of the mendicants could diagnose or could improve Sivaji’s condition. Security Guards were convinced that Shivaji will never recover from this and so was Aurangzeb. Aurangzeb was happy as Shivaji was dying but did not want to be blamed for the same. So, he left out the plan of executing Shivaji which might have led to a revolt from the Marathas.

Shivaji requested Aurangzeb to allow him to send sweets to saints and fakirs as offerings to get well. His request was accepted by the emperor but he made sure that each and every sweet box was thoroughly checked by the guards. Sweets were prepared in huge quantities and carried out of the guesthouse in two large bamboo baskets, each carried on a pole by two persons. For the first three or four days, the guards checked the sweet baskets leaving the guesthouse. This went on for many days till it became habitual for guards to check those boxes and find out nothing but sweets in them. Bored of checking guards paid little attention to those boxes. Afterward, they let the baskets pass without checking. The guards who had been examining the baskets were convinced by long custom that they contained nothing but sweets.

Shivaji found the right moment and escaped with his son Sambaji in a sweet basket. A horse was waiting for them. Instead of proceeding southeast towards his kingdom, he moved north. He eventually reached his capital in a disguise of a Holy man. After this incident, Shivaji’s fame spread all over India and the greatest schemer like Aurangzeb was humiliated.


What does this have to do with testing?

Testing software involves a lot of repetitive work which is tedious to do manually. People become bored and make mistakes when doing the same task over and over. For first few days the guards checked the sweet baskets that were leaving the guesthouse thoroughly and as days past they started being negligent as they were convinced that the boxes have only sweets and nothing else. Similarly, testers also might miss issues and leaks to production if they get bored testing the same features again and again.

Mundane repetitive tasks are not fascinating to for a guard or to a tester.

There’s a mechanism in our brain that plays with our ability to repeat tasks. Our brain is always trying to identify new patterns that will reward us with a nice dose of dopamine, which, of course, is impossible when our brain is searching for them based on old patterns (i.e., the repetitive tasks).To bypass this mechanism, we must introduce new angles every now and then to keep our repetitive tasks fresh and interesting. This is necessary to keep yourself engaged and be effective in testing the same features again and again.

People tend to do the same task differently when they are repeating it. The guards picked up some sweets for themselves for the first two-three days until they got bored of eating them. Then they started checking the very first sweetbox that was being carried. They did not have a specific pattern/procedure to check the sweets boxes. A tool will exactly reproduce what it did before, so each time it is run the result is consistent.The guards were not fortunate enough to have a machine that would scan the sweet boxes for them those days. But we can rely on test automation to reduce a lot of effort that is involved in regression testing which is perfect for repetitive tasks.

 Prima facie True; verify further to be certain!

During the escape, Shivaji left out one of the servants behind. The servant disguised himself as Shivaji and slept on the bed.This gave Shivaji additional time to escape as the guards never even doubted this possibility as guards could still see a person resting on the bed through the window but none of them had a clue that it was a servant in disguise.

One of the first lessons I learned in software testing is “Do not assume anything!” An old saying in the military – “Assumptions makes an ass out of you and me.” – ASS|U|ME.

Do not accept as correct until proved otherwise. Does this mean we should never trust anyone and anything? Of course not, we should be able to trust but we should also be able to verify our assumptions. Bring your assumptions to light by re-examining what you know from a different perspective.

What else can you learn from Shivaji’s story? Comment below

About the Author


Prashant Hegde is a passionate tester. He has ably led test teams to success in many organizations and helped them improve their application quality process. Prashant is an agile enthusiast and has worked in different roles on agile teams for the last five ten years. Prashant enjoys sharing his experiences by blogging and participating in agile communities around the world. Prashant is a Certified Scrum master and frequent speaker at industry conferences. Prashant has helped thousands of ISTQB aspirants to clear their certifications with his free app ISTQB test mentor. You can follow Prashant on his blog, website and on Twitter
Find out more about @prashant-hegde