This post is a continuation of my previous post on the same topic and is based on the real time myths about Globalization testing as i have experienced.
Myth 13- A tester can perform tests specific to text inputs for Localized applications using the similar approaches as the English language testing
Introduction:
The testing specific to Input field validation is an important form of testing in any Software application. An example of such testing can be suppose an application having a text field to input Credit card details and a tester can test the same by including various possible inputs to ensure that the valid data is being accepted by the application and the user is presented with a valid message indicating that the input is incorrect.
There are a several techniques that can be used to test this aspect of the application properly. Some available resources listed below-
http://www.testingeducation.com/BBST/Domain.html
Book: Lessons Learned in Software Testing Chapter-3 Testing Techniques Section- "How to create a Test Matrix for an Input field"
What is an encoding system ?:
Though the known techniques do talk about usage of various types of inputs including Language reserved characters e.g. the characters specific to any language that a Software application may be supported such as German, Japanese etc. as these languages do have their own writing systems and character sets. It is of utmost importance to test a Localized application with the language specific characters as any user in any of the product's supported countries would expect the application to support data processing in their own native language e.g. a Japanese user using an email client would expect the application to support writing emails in the Japanese language, otherwise the customer may not find the application worthwhile at all.
One of the important aspects specific to Localized data processing that the known techniques do not specifically talk about is the dependency the Localized data has on the underlying encoding system in the application. If you are new to the term- "encoding system", please read below mini description from www.unicode.org-
Unicode provides a unique number for every character, no matter what the platform,no matter what the program, no matter what the language.
Fundamentally, computers just deal with numbers. They store letters and other characters by assigning a number for each one. Before Unicode was invented, there were hundreds of different encoding systems for assigning these numbers.
Does Unicode have different representations ?:
Unicode is actually an encoding system that encompasses virtually all the known character sets from different languages. There are several possible representations of Unicode data, including UTF-7, UTF-8, UTF-16 ,UTF-32 etc. Each of these different representations have its own advantages and disadvantages depending upon the context e.g.
UTF-8 is most common on the web. UTF-16 is used by Java and Windows. UTF-32 is used by various Unix systems.
Does encoding system representation affect the test data size ?:
One important fact to consider when testing the Input character set for an localized application is to know what type of encoding system is being used beneath. The reason why is it so important to know the underlying encoding system is that no. of bytes occupied for a certain character varies depending upon the encoding system used. Lets take a closer look at this statement by means of an example-
Take into consideration the following character from German language "ä". The byte count of this character depending upon the encoding system used is as follows-
UTF-16 Byte count for "ä"= 2
UTF-8 Byte count for "ä"= 2
UTF-7 Byte count for "ä"= 5
The above example shows that the encoding system do have an dependency on the no. of Bytes for a particular test character.
Different ways of Input text validation- No. of Bytes vs. No. of characters ?:
The next important factor before performing the Input validation testing in Localized applications is to know whether the validation logic is done as per no. of Bytes or the validation is done with no. of characters. Lets take a closer look at this statement by means of an example-
Suppose there is an application with a text field say Username. The usual assumption is that the validation will be done by no. of characters say the "Username" field will support maximum of 10 characters and a minimum of 3 characters.
Suppose a tester uses test data for "Username" as "ääääääääää" and the application is using encoding system as UTF-7. If the validation is done as per No. of characters, then the above is a valid test data as it represents 10 characters. In case the validation is done as per No. of Bytes, then it may not be a valid data (depending upon the Byte limit set), as the test data in the above example may amount to 50 bytes.
Thus, it is important to ascertain before you test to ensure the validation rules.
Summary:
So, before you consider performing the Input validation testing or even generate test data for testing for Localized application ensure that you know about the following-
- Encoding system used by the application
- Validation rule- does the application validates the data as per Bytes or by no. of characters ?
Tuesday, May 26, 2009
Sunday, May 24, 2009
Uncovering Myths about Globalization testing- Demystifying MUI Packs
This post is a continuation of my previous post on the same topic and is based on the real time myths about Globalization testing as i have experienced.
Myth 12: Testing International applications using "Microsoft's MUI Pack" or "Localized OS installation" means one and the same thing
Before we get into the fact underlying this myth, lets get to understand what MUI Pack is and their utility in International software design.
As wikipedia defines MUI-
" Multilingual User Interface (MUI) is the name of a Microsoft technology for Microsoft Windows, Microsoft Office and other applications that allows for the installation of multiple interface languages on a single system. On a system with MUI, each user would be able to select his or her own preferred display language. MUI technology was introduced with Windows 2000."
e.g. lets consider if a user has Windows XP Pro English version running for her usage and for some reason, the user want to change the XP Pro User Interface to German language- this can actually be achieved by installing the MUI pack on English XP Pro which will give the flexibility to the user to change the User Interface language.
One of the practical scenarios where MUI packs can prove to be of great utility is for the support organizations. With the the unique business model that the Software products offers, it takes no time for a successful software product to be made available in different countries (of course after including proper Internationalization engineering). In such a scenario, suppose the product has lot of penentration in German market and at the same time the support organization is located in China. And if Chinese support engineer is troubleshooting the issue online with the German customer, he may need to see the application is in English, German or a more familier Chinese OS environment. This is where MUI packs can help! If the MUI packs are installed, then the support engineer can change the language quite easily at the run time.
Just a note that there's a notable difference in the way MUI was handled pre Vista and pro Vista era. More information here.
With this background about MUI in mind, lets take a crack at the Myth- "Testing International applications using 'Microsoft's MUI Pack' or 'Localized OS installation' means one and the same thing.
In order to test the International software, the Microsoft Operating System setup can be largely created in these 2 broad ways-
1. Microsoft offers different ISOs for different languages e.g. for creating a Japanese Win XP from scratch, one can install Win XP Japanese ISO on the machine and prepare what is being referred to as "Localized OS installation" in the above statement.
2. One more possible way can be installing the English Windows XP and then later on installing the Japanese MUI pack which will result in the User Interface elements to be changed to Japanese.
Though the test setup using both these methods provide a sort of similar user experience but there are some fundamental technical differences between these two types of setups as listed in the table below-

Considering these difference may be there will be certain consistency in the UI display when an application is installed on these 2 different types of setup but I18N testing may result in different results.
Myth 12: Testing International applications using "Microsoft's MUI Pack" or "Localized OS installation" means one and the same thing
Before we get into the fact underlying this myth, lets get to understand what MUI Pack is and their utility in International software design.
As wikipedia defines MUI-
" Multilingual User Interface (MUI) is the name of a Microsoft technology for Microsoft Windows, Microsoft Office and other applications that allows for the installation of multiple interface languages on a single system. On a system with MUI, each user would be able to select his or her own preferred display language. MUI technology was introduced with Windows 2000."
e.g. lets consider if a user has Windows XP Pro English version running for her usage and for some reason, the user want to change the XP Pro User Interface to German language- this can actually be achieved by installing the MUI pack on English XP Pro which will give the flexibility to the user to change the User Interface language.
One of the practical scenarios where MUI packs can prove to be of great utility is for the support organizations. With the the unique business model that the Software products offers, it takes no time for a successful software product to be made available in different countries (of course after including proper Internationalization engineering). In such a scenario, suppose the product has lot of penentration in German market and at the same time the support organization is located in China. And if Chinese support engineer is troubleshooting the issue online with the German customer, he may need to see the application is in English, German or a more familier Chinese OS environment. This is where MUI packs can help! If the MUI packs are installed, then the support engineer can change the language quite easily at the run time.
Just a note that there's a notable difference in the way MUI was handled pre Vista and pro Vista era. More information here.
With this background about MUI in mind, lets take a crack at the Myth- "Testing International applications using 'Microsoft's MUI Pack' or 'Localized OS installation' means one and the same thing.
In order to test the International software, the Microsoft Operating System setup can be largely created in these 2 broad ways-
1. Microsoft offers different ISOs for different languages e.g. for creating a Japanese Win XP from scratch, one can install Win XP Japanese ISO on the machine and prepare what is being referred to as "Localized OS installation" in the above statement.
2. One more possible way can be installing the English Windows XP and then later on installing the Japanese MUI pack which will result in the User Interface elements to be changed to Japanese.
Though the test setup using both these methods provide a sort of similar user experience but there are some fundamental technical differences between these two types of setups as listed in the table below-
Considering these difference may be there will be certain consistency in the UI display when an application is installed on these 2 different types of setup but I18N testing may result in different results.
Tuesday, April 7, 2009
Unveiling the Mysterious World of an Ethical hacker
One of my recent articles got published in TheSmartTechie Magazine. Here's the unedited article for your reading pleasure-
The Ethical Hacker Snapshot
What is the first thing that comes to your mind when you think of the word ‘hacker’? Let me attempt to draw a snap here; a kid in his late teens or early 20’s displaying modern demeanors — wearing a turned around cap, having ruffled hair, wearing a spectacle, and dressed up casually in jeans and t-shirt. Someone who looks a bit immature in his mannerisms but at the same time sounds like a deep thinking individual, possibly knowing everything about computers and with a malicious intention to break into computer systems and networks and cause harm to individuals and organizations. If you are like many others who are baffled by the mystery surrounding the hackers, your image of a hacker may not be too different from the one described above. In short, there is always a notorious vagueness surrounding the word ‘hacker’. So, who is a hacker anyways, and what’s so ‘ethical’ about a hacker?
The Ethical Hacker Defined:
The Oxford dictionary’s definition of the word ‘hacker’ is ‘someone who uses a high degree of computer skill to carry out unauthorized acts within a network.’ And the definition of the word ‘ethical’ is ’being morally correct’. So in plain terms, an ‘ethical hacker’ is someone who uses a computer to gain unauthorized access to data in a computer or network and at the same time is morally correct and does not have a malicious intent. In industry jargon, an ethical hacker is a computer and network expert who attacks a security system on behalf of its owners, seeking to detect vulnerabilities that a malicious cracker could exploit. Some experts even argue that hackers, by definition, are supposed to have ethical intent and so there is no need for the phrase ‘ethical hacker’. In this article, I have used the term ‘ethical’ in an attempt to counter the negative impression that exists around hackers. On the contrary, a cracker is someone who is also a computer and network expert and attacks a computer system or network and has a malicious intent, unlike a hacker. An ethical hacker is also sometimes called a ‘white hat’; a term that comes from old Western movies where the ‘good guy’ always wore a white hat and the ‘bad guy’ wore a black hat. So, a hacker does not have a criminal intent but a cracker does.
A Few Cracker Stories
In 2007, nearly 3,000 customer records were accessed by crackers who hacked into the system of a small bank in central U.S. Though there is no official record of how this happened reports say that this was possibly done by using SQL Injection attacks. Whoever thinks that online banking is convenient may get a perspective of the considerable risk at which this convenience comes. In February 2007, more than 10,000 online game servers that were hosting games such as Return to Castle Wolfenstein, Halo, Counter-Strike, and many others were attacked by ‘RUS’ hacker group. The Distributed DoS attack was made from more than a thousand computer units located across the former republics of the erstwhile Soviet Union. A lot of research is carried out on the Wi-Fi networks by means of Wardriving. In Wardriving, the researcher looks for Wi-Fi networks using a PDA or portable computer while in a moving vehicle. The prime idea behind Wardriving is to find out the vulnerable Wi-Fi networks, and if the Wardriver has a malicious intent he can use this information to break into vulnerable wireless networks using the computer or network resources. In the recent terrorist attack incidents, vulnerable wireless networks were used to send emails to media houses, which certainly left ignorant Wi-Fi users in much of a trouble. The Internet is full of news stories related to organizations’ and even home users’ computer security being compromised by crackers. Hackers are the people who help prepare the organizations against such attacks of even more drastic consequences.
Exploring the Mind of an Ethical Hacker
As Ankit Fadia, one of India’s renowned computer security experts put it an ethical hacker, or simply a hacker, is someone who
* Likes to think out of the box.
* Likes to try out and experiment with the things not mentioned in a computer book. * Has unlimited curiosity.
* Is highly creative and innovative.
* Believes in testing and stretching the limits of his own technological abilities. * Has an ability to think and stand on his own feet and achieve things that are beyond the capacity of a normal person.
* Is trustworthy and honest. Hackers in reality are actually good, pleasant, and extremely intelligent people who, by virtue of their knowledge, help organizations in a constructive manner to secure documents of strategic importance.
Similarity Between Ethical Hacking and Software Testing
The prime purpose of software testing is to detect the bugs in a software application before the customer does it. On similar lines, the purpose of hacking is to find the vulnerabilities before a cracker with malicious intention does it. A hacker needs a kind of brazen mindset for breaking things in order to carry out hacking. The same kind of mindset is found among persons performing security testing on software applications. Like a typical software security tester a hacker also needs to have loads of perseverance, as the success ratio of finding a vulnerability is not always quite high and it usually requires trying out different things persistently and creatively to find out something wrong with a particular computer system or a network. One of the important things that a hacker usually relies on to carry out a simulated attack is called ‘penetration testing’. A penetration test is a method of evaluating the security of a computer system or network by simulating an attack from a malicious source, known as a Black Hat Hacker, or Cracker. The process involves an active analysis of the system for any potential vulnerabilities that may result from poor or improper system configuration, known or unknown hardware or software flaws, or operational weaknesses in process or technical countermeasures. There are lots of freely available tools as well as commercial ones that can help one perform Penetration tests on websites, computer networks, and so on.
Epilogue
To catch a thief, you must think like a thief. That’s the basis of ethical hacking. One of the first examples of ethical hackers at work was in the 1970s, when the United States government used groups of experts called Red Teams to hack its own computer systems. One of the key roles of Red Team activity was that it challenged preconceived notions by demonstration and served to elucidate the true problem state that the attackers might be attempting to exploit. In a similar way organizations and government agencies hire ethical hacking services to gain insights into the vulnerability assessment of their own computer systems and networks to know how sensitive information is externalized and can be exploited by the crackers. Gaining information about the loopholes in a system, the ethical hacking services work to plug the holes and make the systems more secure and less exploitable. Are you aware of the ‘cyber thieves’ stalking your organization’s computers and networks? If not, ethical hacking will sure give you an answer.
The Ethical Hacker Snapshot
What is the first thing that comes to your mind when you think of the word ‘hacker’? Let me attempt to draw a snap here; a kid in his late teens or early 20’s displaying modern demeanors — wearing a turned around cap, having ruffled hair, wearing a spectacle, and dressed up casually in jeans and t-shirt. Someone who looks a bit immature in his mannerisms but at the same time sounds like a deep thinking individual, possibly knowing everything about computers and with a malicious intention to break into computer systems and networks and cause harm to individuals and organizations. If you are like many others who are baffled by the mystery surrounding the hackers, your image of a hacker may not be too different from the one described above. In short, there is always a notorious vagueness surrounding the word ‘hacker’. So, who is a hacker anyways, and what’s so ‘ethical’ about a hacker?
The Ethical Hacker Defined:
The Oxford dictionary’s definition of the word ‘hacker’ is ‘someone who uses a high degree of computer skill to carry out unauthorized acts within a network.’ And the definition of the word ‘ethical’ is ’being morally correct’. So in plain terms, an ‘ethical hacker’ is someone who uses a computer to gain unauthorized access to data in a computer or network and at the same time is morally correct and does not have a malicious intent. In industry jargon, an ethical hacker is a computer and network expert who attacks a security system on behalf of its owners, seeking to detect vulnerabilities that a malicious cracker could exploit. Some experts even argue that hackers, by definition, are supposed to have ethical intent and so there is no need for the phrase ‘ethical hacker’. In this article, I have used the term ‘ethical’ in an attempt to counter the negative impression that exists around hackers. On the contrary, a cracker is someone who is also a computer and network expert and attacks a computer system or network and has a malicious intent, unlike a hacker. An ethical hacker is also sometimes called a ‘white hat’; a term that comes from old Western movies where the ‘good guy’ always wore a white hat and the ‘bad guy’ wore a black hat. So, a hacker does not have a criminal intent but a cracker does.
A Few Cracker Stories
In 2007, nearly 3,000 customer records were accessed by crackers who hacked into the system of a small bank in central U.S. Though there is no official record of how this happened reports say that this was possibly done by using SQL Injection attacks. Whoever thinks that online banking is convenient may get a perspective of the considerable risk at which this convenience comes. In February 2007, more than 10,000 online game servers that were hosting games such as Return to Castle Wolfenstein, Halo, Counter-Strike, and many others were attacked by ‘RUS’ hacker group. The Distributed DoS attack was made from more than a thousand computer units located across the former republics of the erstwhile Soviet Union. A lot of research is carried out on the Wi-Fi networks by means of Wardriving. In Wardriving, the researcher looks for Wi-Fi networks using a PDA or portable computer while in a moving vehicle. The prime idea behind Wardriving is to find out the vulnerable Wi-Fi networks, and if the Wardriver has a malicious intent he can use this information to break into vulnerable wireless networks using the computer or network resources. In the recent terrorist attack incidents, vulnerable wireless networks were used to send emails to media houses, which certainly left ignorant Wi-Fi users in much of a trouble. The Internet is full of news stories related to organizations’ and even home users’ computer security being compromised by crackers. Hackers are the people who help prepare the organizations against such attacks of even more drastic consequences.
Exploring the Mind of an Ethical Hacker
As Ankit Fadia, one of India’s renowned computer security experts put it an ethical hacker, or simply a hacker, is someone who
* Likes to think out of the box.
* Likes to try out and experiment with the things not mentioned in a computer book. * Has unlimited curiosity.
* Is highly creative and innovative.
* Believes in testing and stretching the limits of his own technological abilities. * Has an ability to think and stand on his own feet and achieve things that are beyond the capacity of a normal person.
* Is trustworthy and honest. Hackers in reality are actually good, pleasant, and extremely intelligent people who, by virtue of their knowledge, help organizations in a constructive manner to secure documents of strategic importance.
Similarity Between Ethical Hacking and Software Testing
The prime purpose of software testing is to detect the bugs in a software application before the customer does it. On similar lines, the purpose of hacking is to find the vulnerabilities before a cracker with malicious intention does it. A hacker needs a kind of brazen mindset for breaking things in order to carry out hacking. The same kind of mindset is found among persons performing security testing on software applications. Like a typical software security tester a hacker also needs to have loads of perseverance, as the success ratio of finding a vulnerability is not always quite high and it usually requires trying out different things persistently and creatively to find out something wrong with a particular computer system or a network. One of the important things that a hacker usually relies on to carry out a simulated attack is called ‘penetration testing’. A penetration test is a method of evaluating the security of a computer system or network by simulating an attack from a malicious source, known as a Black Hat Hacker, or Cracker. The process involves an active analysis of the system for any potential vulnerabilities that may result from poor or improper system configuration, known or unknown hardware or software flaws, or operational weaknesses in process or technical countermeasures. There are lots of freely available tools as well as commercial ones that can help one perform Penetration tests on websites, computer networks, and so on.
Epilogue
To catch a thief, you must think like a thief. That’s the basis of ethical hacking. One of the first examples of ethical hackers at work was in the 1970s, when the United States government used groups of experts called Red Teams to hack its own computer systems. One of the key roles of Red Team activity was that it challenged preconceived notions by demonstration and served to elucidate the true problem state that the attackers might be attempting to exploit. In a similar way organizations and government agencies hire ethical hacking services to gain insights into the vulnerability assessment of their own computer systems and networks to know how sensitive information is externalized and can be exploited by the crackers. Gaining information about the loopholes in a system, the ethical hacking services work to plug the holes and make the systems more secure and less exploitable. Are you aware of the ‘cyber thieves’ stalking your organization’s computers and networks? If not, ethical hacking will sure give you an answer.
Tuesday, March 31, 2009
The best way to make mistakes- "Fail faster"
I think one of the questions that you will always get an answer in Affirmative, when asked is- "Have you ever made a mistake ?". I believe till the time human race exists the answer to this question will always be "Yes". On the contrary, one of the more significant questions is- "What do you do when a mistake is made ?" or "How do you react to mistakes ?" or "What are the thoughts that run through your mind after you make a mistake ?". Answers to this questions largely depend upon myriad of factors such as one's social orientation, the education system which always teaches or rather prompt us to be "correct" or "perfect" always or sometimes the value system-which sees you in bad light on making mistakes.
The rule in learning something new is quite simple- You cannot learn to walk without falling down. You cannot learn to swim without accidentally slipping your head inside water. You cannot learn to ride a bicycle without falling down and hurting self.
Our present life is largely as a result of choices we make. So, after making a mistake one can either choose to criticize self and become overly cautious and defensive for rest of the life or one can safely ignore the mistake and live in the world of illusion as if nothing happened or one can move on and take the positives out of mistakes and learn from them.
I have been reading through a some stuff over the past few months and have observed some striking similarities in the thinking of successful people in how they dealt with their failures. Here are few instances-
Source# 1- http://www.rediff.com/getahead/2009/mar/12starting-a-business-on-your-own.htm
This article is about Anand Chhatpar who is the CEO of BrainReactions, which is in the business of identifying new opportunities for entrepreneurs and companies by generating creative new ideas. Anand says-"Let me assure you that everyone makes mistakes when starting a new business. What is needed to succeed is the will to recognise your mistakes and to fix them quickly. As I learned from my mentors during my internship, 'Fail fast to succeed sooner!'
Source# 2- Book: The little book of coaching (Authors: Ken Blanchard and Don Shula)
Don Shula , one of the most successful football coaches wrote in the book-"I had a Twenty-four rule. I allowed myself, my coaches, and our players a maximum of twenty four hours after a football game to celebrate victory or bemoan a defeat.
During that time, everyone was encouraged to experience the thrill of victory or the agony of defeat as deeply as possible, while learning as much as we could from that same experience. Once the twenty four hour deadline had passed, we put it behind us and focused our energies on preparing for next opponent."
Source# 3- Book: Micheal Phelps- The untold Story of a Champion (Author: Bob Schaller)
After his amazing feats in 2004 and 2008 Olympics, Michael Phelps
needs no introduction. This book primarily talks about his journey from childhood and exclusively covers his run in 2008 Olympics. There's a mention of one of his fellow champion swimmer in the book as follows-"Not making the Olympic team at 2004 Olympic trials really gave Garett Weber Gale a focus he needed in 2008 to avoid mistakes he made 4 years earlier."I have this quote from [UT Assistant] Kris Kubik,' Weber Gale said. "I was just totally broken up at the time, bawling. Kris came up and said, "The way to get through this is to take a minute, remember how this feels, and don't ever let it happen again." I promised myself that day, I wouldn't feel that again- that much disappointment. Its important, to me, to keep promises to myself- its a big deal."
Source# 4- Book: The Greatness Guide2 (Author: Robin Sharma)
"The CEO of Coca-Cola at the annual meeting informed shareholders that the company was now going on an innovation tear and that his organization's reinvention plan was contained in a documented entitled "The Manifesto for Growth." He noted that spending on marketing and innovation would increase by US$400 million and then- and here's the big line- observed, "You will see some failures. As we take more risks,
this is something we must accept as a part of the regeneration process." Which brings me to the imperative of Failing Fast. There can be no success without failure. Its just part of the success...You need to fail to win.
I think one thing that is quite clear from these instances is that the smart people know how to "Fail fast". To me Failing faster constitutes of several factors-
- First is to accept that failures are a part of day-to-day life. No matter how perfect may one claim to be, mistakes are inevitable.
- Do not kill yourself with negative thoughts whenever the mistakes happen.
- Let your failures have a limited shelf life. Remember, Don Shula's (Source# 2) Twenty-hour rule. Don't let your mistakes ruin your thinking after the shelf life expires. But do take learnings beyond twenty four hours.
- As with the case of swimmer Garett Weber Gale (Source# 3), always do remember how bad it feels whenever the mistake is made and use that feeling to enhance your resolve to not do it again.
- Don't just give up something that you believe in just because you have failed in a particular step.
- Learn not only from your mistakes but from others too and all the above rules apply appropriately.
The rule in learning something new is quite simple- You cannot learn to walk without falling down. You cannot learn to swim without accidentally slipping your head inside water. You cannot learn to ride a bicycle without falling down and hurting self.
Our present life is largely as a result of choices we make. So, after making a mistake one can either choose to criticize self and become overly cautious and defensive for rest of the life or one can safely ignore the mistake and live in the world of illusion as if nothing happened or one can move on and take the positives out of mistakes and learn from them.
I have been reading through a some stuff over the past few months and have observed some striking similarities in the thinking of successful people in how they dealt with their failures. Here are few instances-
Source# 1- http://www.rediff.com/getahead/2009/mar/12starting-a-business-on-your-own.htm
This article is about Anand Chhatpar who is the CEO of BrainReactions, which is in the business of identifying new opportunities for entrepreneurs and companies by generating creative new ideas. Anand says-"Let me assure you that everyone makes mistakes when starting a new business. What is needed to succeed is the will to recognise your mistakes and to fix them quickly. As I learned from my mentors during my internship, 'Fail fast to succeed sooner!'
Source# 2- Book: The little book of coaching (Authors: Ken Blanchard and Don Shula)
Don Shula , one of the most successful football coaches wrote in the book-"I had a Twenty-four rule. I allowed myself, my coaches, and our players a maximum of twenty four hours after a football game to celebrate victory or bemoan a defeat.
During that time, everyone was encouraged to experience the thrill of victory or the agony of defeat as deeply as possible, while learning as much as we could from that same experience. Once the twenty four hour deadline had passed, we put it behind us and focused our energies on preparing for next opponent."
Source# 3- Book: Micheal Phelps- The untold Story of a Champion (Author: Bob Schaller)
After his amazing feats in 2004 and 2008 Olympics, Michael Phelps
needs no introduction. This book primarily talks about his journey from childhood and exclusively covers his run in 2008 Olympics. There's a mention of one of his fellow champion swimmer in the book as follows-"Not making the Olympic team at 2004 Olympic trials really gave Garett Weber Gale a focus he needed in 2008 to avoid mistakes he made 4 years earlier."I have this quote from [UT Assistant] Kris Kubik,' Weber Gale said. "I was just totally broken up at the time, bawling. Kris came up and said, "The way to get through this is to take a minute, remember how this feels, and don't ever let it happen again." I promised myself that day, I wouldn't feel that again- that much disappointment. Its important, to me, to keep promises to myself- its a big deal."
Source# 4- Book: The Greatness Guide2 (Author: Robin Sharma)
"The CEO of Coca-Cola at the annual meeting informed shareholders that the company was now going on an innovation tear and that his organization's reinvention plan was contained in a documented entitled "The Manifesto for Growth." He noted that spending on marketing and innovation would increase by US$400 million and then- and here's the big line- observed, "You will see some failures. As we take more risks,
this is something we must accept as a part of the regeneration process." Which brings me to the imperative of Failing Fast. There can be no success without failure. Its just part of the success...You need to fail to win.
I think one thing that is quite clear from these instances is that the smart people know how to "Fail fast". To me Failing faster constitutes of several factors-
- First is to accept that failures are a part of day-to-day life. No matter how perfect may one claim to be, mistakes are inevitable.
- Do not kill yourself with negative thoughts whenever the mistakes happen.
- Let your failures have a limited shelf life. Remember, Don Shula's (Source# 2) Twenty-hour rule. Don't let your mistakes ruin your thinking after the shelf life expires. But do take learnings beyond twenty four hours.
- As with the case of swimmer Garett Weber Gale (Source# 3), always do remember how bad it feels whenever the mistake is made and use that feeling to enhance your resolve to not do it again.
- Don't just give up something that you believe in just because you have failed in a particular step.
- Learn not only from your mistakes but from others too and all the above rules apply appropriately.
Thursday, December 4, 2008
Are you being heard the way you want to be heard ?
Here's a real life story-
The Clallenger Spacecraft was launched on 28th-Jan-1986, but unfortunately exploded 73 seconds post liftoff. There has been a lot of research that has gone into finding the actual reasons for this crash. Much of the research of what went wrong with Challenger launch focuses on the lack of communication between NASA and Morton Thiokil, Inc (MTI). MTI was the contractor responsible for the component that failed during the launch. Almost 2 years before the fatal launch, MTI became aware that there could be a problem with O-ring, a sealing component that prevent hot gases from escaping the solid rocket booster and burning a hole in the fuel tank which was the physical cause of to this disaster. The engineers at MTI documented this problem and insisted that the further testing needed to be done to determine the reliability of O-ring. Upon further testing they confirmed that the O-ring was not reliable, particularly when temperatures dropped below 53 degrees. The question is-
Why then was the Challenger given the go to launch on that fateful day, when the temperature at launch time was 36 degrees, well below safety margin ?
One strong possibility, the researchers say- the people around the table were afraid to express their doubts or even to ask questions that they had determined before entering the room that morning that they would ask.
Source for above excerpt: The book- "Leading with questions" Author: Michael Marquardt
The above story caught my imagination because it was a very strong co-relation with Software Testing real life situations. The very fact that Engineers at MIT had documented the problem in advance was not enough to avert this disaster.
- How many times have you as a tester been in a situation or unknowingly gets into a situation wherein you feel your responsibility ends as soon as you log a defect ?
- Arent testers the owners of the defect- right from the time its logged till the time it is reported as fixed and later verified ?
Another point of view regarding the above excerpt-
- This story again shows that there is a vast difference between passive communication and an active, impact communication. What was required in above situation was the courage by the person who knew about the problem to raise his voice "loud enough" to be heard. And probably the person who tested was contented with the fact that he has already documented the problem and his job is done.
Conveying the bad news is an art that every tester has to master. And this is not as easy as it may seem. It does require a rare courage and will to stand by what is right and communicate with tact to all the stakeholders.
You must learn from the mistakes of others. You can't possibly live long enough to make them all yourself.
- Samuel Levenson
Are Software testers listening, and learning ?
Keep testing passionately!
The Clallenger Spacecraft was launched on 28th-Jan-1986, but unfortunately exploded 73 seconds post liftoff. There has been a lot of research that has gone into finding the actual reasons for this crash. Much of the research of what went wrong with Challenger launch focuses on the lack of communication between NASA and Morton Thiokil, Inc (MTI). MTI was the contractor responsible for the component that failed during the launch. Almost 2 years before the fatal launch, MTI became aware that there could be a problem with O-ring, a sealing component that prevent hot gases from escaping the solid rocket booster and burning a hole in the fuel tank which was the physical cause of to this disaster. The engineers at MTI documented this problem and insisted that the further testing needed to be done to determine the reliability of O-ring. Upon further testing they confirmed that the O-ring was not reliable, particularly when temperatures dropped below 53 degrees. The question is-
Why then was the Challenger given the go to launch on that fateful day, when the temperature at launch time was 36 degrees, well below safety margin ?
One strong possibility, the researchers say- the people around the table were afraid to express their doubts or even to ask questions that they had determined before entering the room that morning that they would ask.
Source for above excerpt: The book- "Leading with questions" Author: Michael Marquardt
The above story caught my imagination because it was a very strong co-relation with Software Testing real life situations. The very fact that Engineers at MIT had documented the problem in advance was not enough to avert this disaster.
- How many times have you as a tester been in a situation or unknowingly gets into a situation wherein you feel your responsibility ends as soon as you log a defect ?
- Arent testers the owners of the defect- right from the time its logged till the time it is reported as fixed and later verified ?
Another point of view regarding the above excerpt-
- This story again shows that there is a vast difference between passive communication and an active, impact communication. What was required in above situation was the courage by the person who knew about the problem to raise his voice "loud enough" to be heard. And probably the person who tested was contented with the fact that he has already documented the problem and his job is done.
Conveying the bad news is an art that every tester has to master. And this is not as easy as it may seem. It does require a rare courage and will to stand by what is right and communicate with tact to all the stakeholders.
You must learn from the mistakes of others. You can't possibly live long enough to make them all yourself.
- Samuel Levenson
Are Software testers listening, and learning ?
Keep testing passionately!
Saturday, November 29, 2008
Building communication bridges through better Vocabulary
For a while now, i have been thinking to start a Testing Thoughts series in my blog. Basically the thoughts that are an outcome of the day-to-day observations of seeing Software testing at in action. The inspiration of this is primarily to share the learnings arising from the myriad of testing activities and challenges from day-to-day life. True to the precept- "Begin with the end in mind", the end goal that i foresee with this series is to capture the imagination of anyone who reads this and initiate a thought process that may be unique or may be dormant in your minds or may be in sync with your thoughts. I am trying to keep the format - Simple and crisp.
Here's to a new beginning-
When was the last time you put an conscious effort to learn a new word in your business language ? Vocabulary enhancement is something we do as a kids quite actively but as the time passes the knack to learn new words somehow reduces as we get into our cozy comfort zones. According to a research- "The average student learns about 3,000 words per year in the early school years -- that's 8 words per day (Baumann & Kameenui, 1991; Beck & McKeown, 1991; Graves, 1986)". Do you think we match this or even half or one fourth of this in our day-to-day lives as business people or employees ?
Why am i bringing the point of Vocabulary building in my blog ? One prime reason is that Communication (be it verbal or written), plays a vital role in your success in Software Testing Profession. Be it your conversation with developer, fellow testers, offshore teams, clients, customers etc. , one thing that sets most of the testers apart from others is effective communication. And sound Vocabulary acts as a building block to effective communication. How often have you felt at loss of words to explain your thoughts in business language and preferred to stay quiet or wished that you could explain the matter in your native language ?
Isn’t it the time one starts rating communication skills also (in addition to other factors such as clarity, fluidity etc.) on number of new words learnt and implemented in day-to-day communication ?
Do you agree with me or differ with me ? Do share your thoughts...
Keep testing creatively!
Here's to a new beginning-
When was the last time you put an conscious effort to learn a new word in your business language ? Vocabulary enhancement is something we do as a kids quite actively but as the time passes the knack to learn new words somehow reduces as we get into our cozy comfort zones. According to a research- "The average student learns about 3,000 words per year in the early school years -- that's 8 words per day (Baumann & Kameenui, 1991; Beck & McKeown, 1991; Graves, 1986)". Do you think we match this or even half or one fourth of this in our day-to-day lives as business people or employees ?
Why am i bringing the point of Vocabulary building in my blog ? One prime reason is that Communication (be it verbal or written), plays a vital role in your success in Software Testing Profession. Be it your conversation with developer, fellow testers, offshore teams, clients, customers etc. , one thing that sets most of the testers apart from others is effective communication. And sound Vocabulary acts as a building block to effective communication. How often have you felt at loss of words to explain your thoughts in business language and preferred to stay quiet or wished that you could explain the matter in your native language ?
Isn’t it the time one starts rating communication skills also (in addition to other factors such as clarity, fluidity etc.) on number of new words learnt and implemented in day-to-day communication ?
Do you agree with me or differ with me ? Do share your thoughts...
Keep testing creatively!
Sunday, August 31, 2008
Wake up, Shake up and then test...
You can't master testing unless you reinvent it
This is how one of the lessons of the book "Lessons learned in Software Testing" goes. And this statement is so very true. Just adding to the above statement based on my experience-
You can't master testing unless you reinvent it and you can't reinvent testing unless you reinvent your thinking
Software Testing is a job that requires extensive thinking. And unlike many people's beliefs - thinking is a skill, something that can be acquired and sharpened always. In order to test an application efficiently, we do need to sharpen our thinking skills and mental routine and apply the renewed thinking to test an application. There are many credible ways by which thinking can be enhanced or sharpened. Some ways include mastering Edward de bono's better thinking principles, studying epistemology, understanding cognitive psychology etc. These are the techniques and studies which can be learnt and applied to enhance one's thinking skills and in turn the efficiency of a tester.
Recently, while reading a book- "Instant Analysis" by David J. Lieberman- i came across a different thought line on how our physical routines can affect our thinking and even our thinking outputs. Life does get monotonous, mechanical and predictable as we move on. For example, as the day passes notice certain day-to-day behaviors-
- Once you get into office, look around your desk- you would probably find that picture on the same place as it has been for months or years, same place for a to-do list, same place where you keep your laptop and work.
- Look at the pattern in which you decide your password. Its probably following the same sequence for as long as you can remember.
- Are you in a habit of keeping your desk or your PC desktop unorganized and cluttered ?
There can be a numerous such examples (based on one’s life style) that you can relate to just by looking around your physical world. Probably the list of things that you have been doing the same way for a long time just because they have been part of your habit, something your subconscious mind drives you to do without you realizing it. As Dr. David puts it-
"You see something and you instantly go into a conditioned state associated with your environment."
The idea here is to be aware of such sub-conscious habits and behavior patterns and take a step forward to break the pattern by shaking up your daily routine. By doing so, it helps to jolt your usual thought patterns and open up new avenues of thinking. And it does work! I have tried this in my daily life and this kind of pattern interrupting exercises actually help to open new pathways in your brain eventually affecting the thinking outputs. Here is what needs to be done -
- Based on your life style, make a note of different aspects of your daily routine.
- Slight change any of the ordinary behaviors (e.g. organize your desk, move the stuff and rearrange, slightly change the order of things you do when you reach office etc.)
- Do things that you usually dont do and vice versa (by slightly adjusting the behavior)
Have more awareness of self and age-old pattern and eventually breaking them introduces you to a new thought process. A thought process that has the potential to bring in new ideas to your work, help you in coming up with new ways of testing.
As Software Testing is a job that requires immense thinking abilities, these slight adjustments to the physical routine has a potential to go a long way to bring in necessary change and freshness in a way you have been approaching testing.
I am quite keen to experiment more with this thought while testing and managing the testing in the time to come.
This is how one of the lessons of the book "Lessons learned in Software Testing" goes. And this statement is so very true. Just adding to the above statement based on my experience-
You can't master testing unless you reinvent it and you can't reinvent testing unless you reinvent your thinking
Software Testing is a job that requires extensive thinking. And unlike many people's beliefs - thinking is a skill, something that can be acquired and sharpened always. In order to test an application efficiently, we do need to sharpen our thinking skills and mental routine and apply the renewed thinking to test an application. There are many credible ways by which thinking can be enhanced or sharpened. Some ways include mastering Edward de bono's better thinking principles, studying epistemology, understanding cognitive psychology etc. These are the techniques and studies which can be learnt and applied to enhance one's thinking skills and in turn the efficiency of a tester.
Recently, while reading a book- "Instant Analysis" by David J. Lieberman- i came across a different thought line on how our physical routines can affect our thinking and even our thinking outputs. Life does get monotonous, mechanical and predictable as we move on. For example, as the day passes notice certain day-to-day behaviors-
- Once you get into office, look around your desk- you would probably find that picture on the same place as it has been for months or years, same place for a to-do list, same place where you keep your laptop and work.
- Look at the pattern in which you decide your password. Its probably following the same sequence for as long as you can remember.
- Are you in a habit of keeping your desk or your PC desktop unorganized and cluttered ?
There can be a numerous such examples (based on one’s life style) that you can relate to just by looking around your physical world. Probably the list of things that you have been doing the same way for a long time just because they have been part of your habit, something your subconscious mind drives you to do without you realizing it. As Dr. David puts it-
"You see something and you instantly go into a conditioned state associated with your environment."
The idea here is to be aware of such sub-conscious habits and behavior patterns and take a step forward to break the pattern by shaking up your daily routine. By doing so, it helps to jolt your usual thought patterns and open up new avenues of thinking. And it does work! I have tried this in my daily life and this kind of pattern interrupting exercises actually help to open new pathways in your brain eventually affecting the thinking outputs. Here is what needs to be done -
- Based on your life style, make a note of different aspects of your daily routine.
- Slight change any of the ordinary behaviors (e.g. organize your desk, move the stuff and rearrange, slightly change the order of things you do when you reach office etc.)
- Do things that you usually dont do and vice versa (by slightly adjusting the behavior)
Have more awareness of self and age-old pattern and eventually breaking them introduces you to a new thought process. A thought process that has the potential to bring in new ideas to your work, help you in coming up with new ways of testing.
As Software Testing is a job that requires immense thinking abilities, these slight adjustments to the physical routine has a potential to go a long way to bring in necessary change and freshness in a way you have been approaching testing.
I am quite keen to experiment more with this thought while testing and managing the testing in the time to come.
Subscribe to:
Posts (Atom)