tag:blogger.com,1999:blog-32953690385685074302024-03-05T22:59:34.680+02:00Tester MindsetTesting is fun. My mind is set to fun. Let's talk about fun. When it comes to testing, I don't like to save my opinions to myself. Feel free to criticize and comment. I always welcome meaningful discussionIssi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.comBlogger29125tag:blogger.com,1999:blog-3295369038568507430.post-43391767339042343662021-01-24T12:57:00.004+02:002021-01-24T12:59:07.201+02:00<div class="feed-shared-update-v2__description-wrapper ember-view" id="ember1955" style="background: rgb(255, 255, 255); border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 16px; margin: 0px; padding: 0px; text-align: start; vertical-align: baseline;"><div class="feed-shared-inline-show-more-text feed-shared-update-v2__description feed-shared-inline-show-more-text--minimal-padding feed-shared-inline-show-more-text--expanded ember-view" data-artdeco-is-focused="true" id="ember1956" style="-webkit-line-clamp: initial; background: transparent; border: 0px; box-sizing: inherit; line-height: 2rem; margin: 0px 16px; max-height: none; max-width: 928px; outline: none; overflow: hidden; padding: 0px; position: relative; vertical-align: baseline;" tabindex="-1"><div class="feed-shared-text relative feed-shared-update-v2__commentary ember-view" dir="ltr" id="ember1957" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 1.4rem; line-height: 1.42857; margin: 0px; padding: 0px; position: relative; vertical-align: baseline;"><span class="break-words" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 14px; line-height: inherit; margin: 0px; outline: 0px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; word-break: break-word;"><span style="background: transparent; border: 0px; box-sizing: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><span dir="ltr" style="background: transparent; border: 0px; box-sizing: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">1st column of a series I am writing in "Testing World" magazine(in Hebrew) about thinking patterns that I found useful in our work as Testers.<br style="box-sizing: inherit; line-height: inherit;" />First column subject is about the definition of quality.<br style="box-sizing: inherit; line-height: inherit;" /><br style="box-sizing: inherit; line-height: inherit;" />Link to the full magazine issue: <a data-attribute-index="0" href="https://bit.ly/39Wm3BV" style="background: transparent; border: 0px; box-sizing: inherit; font-weight: 600; line-height: inherit; margin: 0px; padding: 0px; position: relative; text-decoration-line: none; touch-action: manipulation; vertical-align: baseline;">https://bit.ly/39Wm3BV</a></span></span></span></div><div class="feed-shared-text relative feed-shared-update-v2__commentary ember-view" dir="ltr" id="ember1957" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 1.4rem; line-height: 1.42857; margin: 0px; padding: 0px; position: relative; vertical-align: baseline;"><span class="break-words" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 14px; line-height: inherit; margin: 0px; outline: 0px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; word-break: break-word;"><span style="background: transparent; border: 0px; box-sizing: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><br /></span></span></div><div class="feed-shared-text relative feed-shared-update-v2__commentary ember-view" dir="ltr" id="ember1957" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 1.4rem; line-height: 1.42857; margin: 0px; padding: 0px; position: relative; vertical-align: baseline;"><span class="break-words" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 14px; line-height: inherit; margin: 0px; outline: 0px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; word-break: break-word;"><span style="background: transparent; border: 0px; box-sizing: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_ORIiBaPDadj1wznCwGdUhPLAuFzPpAUaXCIXGK6B32TwxxkDZoG85O_b1ZX5jHA4qZrsWeWA7XOTWNbkE9hkNbwm56PMYI3Ml3NTu_qQ481fzc0xv6kF3nutrDXlqZ5qqk3d5f9yGoBW/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="583" data-original-width="800" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_ORIiBaPDadj1wznCwGdUhPLAuFzPpAUaXCIXGK6B32TwxxkDZoG85O_b1ZX5jHA4qZrsWeWA7XOTWNbkE9hkNbwm56PMYI3Ml3NTu_qQ481fzc0xv6kF3nutrDXlqZ5qqk3d5f9yGoBW/w400-h291/TW1.jpg" width="400" /></a></div><br /><br /></span></span></div><div class="feed-shared-text relative feed-shared-update-v2__commentary ember-view" dir="ltr" id="ember1957" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 1.4rem; line-height: 1.42857; margin: 0px; padding: 0px; position: relative; vertical-align: baseline;"><span class="break-words" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 14px; line-height: inherit; margin: 0px; outline: 0px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; word-break: break-word;"><span style="background: transparent; border: 0px; box-sizing: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><br /></span></span></div><div class="feed-shared-text relative feed-shared-update-v2__commentary ember-view" dir="ltr" id="ember1957" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 1.4rem; line-height: 1.42857; margin: 0px; padding: 0px; position: relative; vertical-align: baseline;"><span class="break-words" style="background: transparent; border: 0px; box-sizing: inherit; font-size: 14px; line-height: inherit; margin: 0px; outline: 0px; overflow-wrap: break-word; padding: 0px; vertical-align: baseline; word-break: break-word;"><span style="background: transparent; border: 0px; box-sizing: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><br /></span></span></div></div></div><p style="direction: ltr;"><br /></p>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-19794327069121677452016-07-15T12:35:00.001+03:002016-07-15T12:46:07.298+03:00Experience report of a Tester in (fr)agile world <div class="separator" style="clear: both; text-align: left;">
The following video shows an experience report of a tester working in different scrum team by my friend Yaakov Morgenstein, a Tester and scrum master. </div>
<div class="separator" style="clear: both; text-align: left;">
This short talk given during the latest <a href="http://www.meetup.com/TestIL/" target="_blank">Jerusalem SW testing meetup</a> that <a href="http://gershon.info/" target="_blank">Shmuel Gershon</a> and I organize from time to time.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
A nice taste from a <a href="https://en.wikipedia.org/wiki/Lightning_talk" target="_blank">lightning talks</a> meetup.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Enjoy!</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/3qWOKBh_AMY/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/3qWOKBh_AMY?feature=player_embedded" width="320"></iframe></div>
<br />Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-1264204978213148962016-06-17T15:30:00.000+03:002016-06-17T15:34:52.935+03:00White elephants<br />
According to the legend, the kings of Siam would gift a <b><span style="color: #20124d;">white elephant</span></b> to courtiers who had rendered themselves obnoxious, in order to ruin the recipient by the cost of its maintenance. Based on that, the term <b><span style="color: #20124d;">“white elephant”</span></b> is used to describe a possession which its owner cannot dispose of and whose cost, particularly that of maintenance, is out of proportion to its usefulness.<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEpFAbneuEB6W_8mr2cLslcxyRl2G7Ch55vOrK38B4p5DZN4TiIpDjV6oFGYkQitoqAekiOrBlUgH8X6zEqUJ6-e74RGslwFfvZitLKixaxIwwi4QkUJpLmWKilmX13zpFlNhJP8i6ESn8/s1600/ride.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEpFAbneuEB6W_8mr2cLslcxyRl2G7Ch55vOrK38B4p5DZN4TiIpDjV6oFGYkQitoqAekiOrBlUgH8X6zEqUJ6-e74RGslwFfvZitLKixaxIwwi4QkUJpLmWKilmX13zpFlNhJP8i6ESn8/s400/ride.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both;">
It’s very easy to spot a real white elephant. They are rare and stand out from the background. However, Testing projects tend to attract lots of white elephants which are less easy to identify.</div>
<div class="separator" style="clear: both;">
I would like to share with you my observation of the white elephants life cycle in testing projects.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<b><span style="color: #20124d;">Birth</span></b></div>
<div class="separator" style="clear: both;">
The birth of white elephants is usually a result of a match between cool ideas and resources. A future parent with a cool idea pitches it to the herd, which are carried away by it. The cooler the idea is, the bigger the resources allocated to create and maintain it. Many times the declared goal of the cub creation is to save efforts in the long term. Different ideas takes different forms. Common examples are tools that automate manual tasks, enforce a better process, save testers from writing code, etc.</div>
<div>
<br /></div>
<div>
<div>
<b><span style="color: #20124d;">Childhood</span></b></div>
<div>
The early days of the white elephant are exciting. Brainstorming happens, designs are created and an<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlrSF75R7Cb_hmtDVjTwaBWRTKXg22eSnggIlOVdz-38Do8FZpuRgWUWG-PZP0aYJgW1OEPgUbYwaF9rXXLetu6AlMxbO0fRJ3DPKZADTJYKGxFZHn21aH8sLO8H7rf4xrdRQXqGSuC_nJ/s1600/demo.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlrSF75R7Cb_hmtDVjTwaBWRTKXg22eSnggIlOVdz-38Do8FZpuRgWUWG-PZP0aYJgW1OEPgUbYwaF9rXXLetu6AlMxbO0fRJ3DPKZADTJYKGxFZHn21aH8sLO8H7rf4xrdRQXqGSuC_nJ/s320/demo.jpg" width="320" /></a></div>
artist is invited. He is freed from his usual less cool tasks, to give life and nurture the young elephant. New technologies and approaches are learnt. A lot of fun happens all around.</div>
<div>
</div>
<div>
On the elephant’s first birthday, the POC is ready and a demo is presented to the herd. The herd is<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
excited. The elephant shows a great potential. The proud parents beam and relatives from distant places come to observe the miracle taking his first steps.</div>
</div>
<div>
<b><br /></b></div>
<div>
<div>
<b><span style="color: #20124d;">Youth</span></b></div>
<div>
The elephant’s caretakers keep raising the cub. They take him outside so he can start living independently and begin contributing to the community. Often, the community members find out that the young beast is not stable enough. The community is very happy to receive him and show a high tolerance of his childish behavior in the early stages. This tolerance may be challenged by the elephant’s habit of requiring too much attention and performing incomplete work.</div>
<div>
</div>
<div>
<b><span style="color: #20124d;"><br /></span></b>
<b><span style="color: #20124d;">Adulthood</span></b></div>
<div>
While the white elephant allegedly reached adulthood it still does not act like an adult. On the one hand, the people enjoy his company and the cool atmosphere that he spreads around him and they are still hoping he fulfills his potential. On the other hand, each time they try to use him, they are disappointed. Often they continue using the ordinary work elephants and return the white one to his caretaker who still spends too much time nurturing him. On the outside, the picture looks much more ideal. Every guest is taken to see a demo of the white elephant working. His caretaker takes him to conferences within and outside the organization. Prestige is acquired as well as prizes. People still hope the elephant will fulfill the purpose of its creation, despite the growing concerns.</div>
<div>
</div>
<div>
<b><span style="color: #20124d;"><br /></span></b>
<b><span style="color: #20124d;">Death </span></b></div>
<div>
Most of the white elephants dies naturally when the community gets rid of them. The community reaches a point where they lose hope of benefiting from the contribution they had imagined and understand that they do not gain real benefits from the white elephant. Getting rid of the beast is very painful to the people, but they understand that there is no choice. Many times, in order to ease the pain, the birth of elephant 2.0 is declared. The parents plan to make him a better elephant that won’t turn out to be a white one. A soon as the white elephant is gotten rid of, the pain is reduced. </div>
<div>
In very rare cases, instead of killing the white elephant, the people are able to transform it. In most cases such attempts only consume more resources and delay the inevitable.</div>
<div>
</div>
<div>
<b><span style="color: #20124d;"><br /></span></b>
<b><span style="color: #20124d;">Spotting White elephants</span></b></div>
<div>
No modern white elephant is designed to be one. The guy who can help us spot a white elephant, so we can kill him in early stages, is called Roi, or in his full long boring name: Return On Investment calculation.</div>
<div>
When the community forgets to invite Roi to the party, no one is there to set real expectations of the elephant. The most romantic time, the birth of the cool idea, is also the time to make the non-emotional calculations of ROI. It is the time to think about the possible lowlights the new approach is based on.</div>
<div>
I suggest that as much as our idea is cool and looks good, so should our ROI calculation be ruthless, to make up for our strong bias in support of our idea.</div>
<div>
Doing the ROI calculation once and forgeting about it, is a common mistake. The unexpected happens and turns our elephant into a white one. As more resources are consumed working on the idea, we are more biased towards it and we start to “throw good money after bad”. We tend to take into account the sunk costs. which is not a best decision making practice.</div>
<div>
<br /></div>
<div>
Monitoring the ROI, and continuously comparing our expectation to the reality, can help us identify our white elephant early, so we will be able to get rid of him before he consumes too much of our resources.</div>
<div>
<br /></div>
<div>
</div>
<div>
<b><span style="color: #20124d;">Can you spot the white elephant near you?</span></b></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-76981156592296555002014-05-13T09:27:00.000+03:002015-07-23T14:43:16.977+03:00Multi-purpose Testing Tool Kit<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWQSTKEAUfUEF1IAhUJqdYUbWjQ11AsvCqcrLtxPQLSYPtJEyi2_kqpjmJM7O3vFzo4N5pl-9-qrwLJjNBK0_KuOY-5iuGvGmG8HvxifYoDvHud2l5ZDSaYcfovpsvbLlxcSVxfS6Ev3p0/s1600/leatherman.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWQSTKEAUfUEF1IAhUJqdYUbWjQ11AsvCqcrLtxPQLSYPtJEyi2_kqpjmJM7O3vFzo4N5pl-9-qrwLJjNBK0_KuOY-5iuGvGmG8HvxifYoDvHud2l5ZDSaYcfovpsvbLlxcSVxfS6Ev3p0/s200/leatherman.jpg" width="185" /></a></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: Arial, sans-serif; font-size: 12pt;">I would like to reveal my secret toolkit which
I use to tackle any test challenge.</span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><br /></span>
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">These three thinking tools are shaped to work
on every Testing task from small to big. Sometimes, using these tools makes the
difference between the ordinary and the expert testers’ way of thinking.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: Arial, sans-serif; font-size: 12pt;">What is in my kit?</span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">I keep the following three thought tools at
hand:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"></span></div>
</div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><br /></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin: 0cm 0cm 0.0001pt 72pt; text-indent: -18pt; unicode-bidi: embed; vertical-align: baseline;">
<!--[if !supportLists]--><b><span style="color: #20124d; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Definition of Quality<o:p></o:p></span></b></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin: 0cm 0cm 0.0001pt 72pt; text-indent: -18pt; unicode-bidi: embed; vertical-align: baseline;">
<!--[if !supportLists]--><b><span style="color: #20124d; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Risk Formula<o:p></o:p></span></b></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin: 0cm 0cm 0.0001pt 72pt; text-indent: -18pt; unicode-bidi: embed; vertical-align: baseline;">
<!--[if !supportLists]--><b><span style="color: #20124d; font-family: Symbol; font-size: 10.0pt; mso-bidi-font-family: Symbol; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span></b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><b>Awareness to ROI</b><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 12pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Definition of Quality</span></b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Every action that we do as testers should have
connection to the quality of the product. We </span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="color: #20124d; font-family: Arial, Helvetica, sans-serif;">learn the product, test it and provide
information, in order to improve the quality. Otherwise - what is the point?</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span><br />
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">To decide whether an activity is connected to
the quality of the product - we must first align ourselves on “what is quality”.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">My preferred definition for quality is <b>“value
to someone”</b> (Jerry Weinberg). Cem Kaner adds the extension <b>“who matters”</b>, which
is useful for focusing on the needs of the person that we are testing for. The
benefit of such a basic definition is that it can be used to criticize less
basic baselines of quality, like “adhering to the official requirements” or quantitative
measurements which are used in the organization process.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">The Risk Calculation Formula</span></b><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></b></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Our testing is an activity to mitigate risk.
We test in order to provide information about the quality of the product, so
that defects with the higher risk to the product quality will be fixed. </span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">A basic formula of calculating a risk is:</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_PGvWtTDQ9r4TIKJwm2giSrODgSZIOqrJt8zfjKWZ8WzpYDpMknw2LhKnoBcvSdcE76QXK7gVpZr-szaGMfYuNjtnX-pVrq4oRJ7BU_MHkKmSleAMu1ORCl-h5M1PAIUiWDRZHowvdUuX/s1600/risk.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_PGvWtTDQ9r4TIKJwm2giSrODgSZIOqrJt8zfjKWZ8WzpYDpMknw2LhKnoBcvSdcE76QXK7gVpZr-szaGMfYuNjtnX-pVrq4oRJ7BU_MHkKmSleAMu1ORCl-h5M1PAIUiWDRZHowvdUuX/s320/risk.jpg" width="320" /></a></div>
<h2 style="text-align: center;">
</h2>
<div style="text-align: center;">
<span style="color: #073763; font-size: large;">Risk = Probability multiple by impact</span></div>
</div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br />
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Using this formula helps us to compare between
the different risks that we want to address. We will try to focus our work first
on areas which have the highest probability of having issues that will have the
highest impact on quality.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span><br />
<br />
<span style="color: #20124d; font-family: Arial, sans-serif;">[<b>Late note:</b> My coulege,<b> Amit Wertheimer</b> <a href="http://www.tapuz.co.il/forums2008/ViewMsg.aspx?ForumId=936&MessageId=174876853" target="_blank">point out in the hebrew testing forum of Tapuz</a> that it is important to remember that the caculation is based on our limited analisys and not on accurate certain factors ]</span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 12pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Awareness of ROI</span></b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Testing is an economic activity. Testing consumes
resources and is done in order to supply the one who send us to test with
information that he values. Whether it is issues that he chooses to fix or risk
assessment that will allow him to determine the shipping time of the product.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">ROI - return on investment, means that
something we do is “worth it” and does not cost us more than what we will get
from it. Of course, since Testing is an activity of learning and gathering
information, we can’t know ahead of time whether we will learn something that is
“worth it”. Here, performing Risk analysis will help us to decide if a testing
activity has a good probability of resulting in positive ROI or not.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Examples</span></b><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></b></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Let’s look at some examples for using the
tools:</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">A tester gets a new version of the SW and has
to decide what to test first. The <b>risk formula </b>will guide him by viewing
the <b>risk</b> factors: Looking at the <b>Probability</b> of possible
failures, he will determine the areas which have higher <b>probability</b> of having
defects - areas that been changed. Areas that tend to be buggy and so on... On
the other hand he will look at the <b>impact</b> of possible issues that he can
test for: what flows are the most critical for the product users, what type of
defects are more costly to the firm. The first areas that he will pick to test
will be the ones that will calculate the highest <b>risk</b> - <b>probability</b>
to fail, multiplied by the <b>impact </b>the <b>quality.</b> These areas will
have the most <b>ROI</b> as he assesses them as the most valuable.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">This example can be true also when planning a
test strategy for a whole product for a whole team.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Discussing Whether to fix a Defect or not</span></b><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></b></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">If you consider quality, risk and ROI, you
understand that fixing a bug is not always the right choice.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">A smart tester will use the <b>risk </b>formula
and will guide the discussion to consider the<b> impact</b> on the <b>quality</b>,
the <b>probability</b> that a user will be effected by the defect on the one
hand, and on the other hand - the <b>probability</b> that fixing the defect
will cause other <b>defects</b>. This way we can estimate the total cost of the
fix in terms of <b>risk</b> and decide whether the defect fix has positive <b>ROI</b>.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Sometimes, a proposal to fix a defect is
actually a choice between different <b>quality </b>attributes. For example,
making the product more secure may reduce the performance. Examining the impact
on the<b> “someone who matters”</b>, usually our user, will help us make a
choice.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">ROI </span></b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">is a key thinking tool to examine investments in infrastructure,
tools and automation. A realistic estimation of how much the tool will cost -
in terms of development, integration, maintenance and fees versus the benefits we
expect to gain, such as time saving, additional test coverage, will help us decide
whether to “go for it” or not.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<b><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Some Critique of the Above</span></b><b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></b></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-bottom: 0.0001pt; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">Essentially, all models are wrong, but some
are useful - said</span><a href="http://en.wikipedia.org/wiki/George_E._P._Box"><span style="color: #1155cc; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"> George E. P. Box</span></a><span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";">. This is true for the thought models that I
just described. Since Testing is a learning activity, and learning is unpredictable,
sometimes wandering around may be the right thing to do. Low risk and low ROI
activity that we barely connect to the product quality in the first place, may
lead us to critical information that has high ROI and high risk which is
connected to the product quality.</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<br />
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #20124d; font-family: "Arial","sans-serif"; font-size: 12.0pt; line-height: 115%; mso-fareast-font-family: "Times New Roman";">What is your secret
tool? Do you use a different version of similar tools? Let me know.<br />
</span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; line-height: 115%; mso-fareast-font-family: "Times New Roman";"><br />
<br />
<br />
<br />
<br />
<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></span><o:p></o:p></div>
Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com1tag:blogger.com,1999:blog-3295369038568507430.post-76786754269653906712014-01-12T15:54:00.000+02:002014-03-27T09:05:51.868+02:00Professional meeting? JeST DO IT<div style="text-indent: 48px;">
This post is about my experience of organizing Tester’s meeting. It is true as well for any other meeting, be it Software Developers, Social workers or a meeting of Puppeteers.</div>
<div class="MsoNormal" style="text-indent: 36.0pt;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
The 3rd meeting of<a href="http://jerwst.blogspot.co.il/"> JeST</a> –
the Jerusalem workshop on SW Testing is just over. Such a meeting is a great
opportunity to meet fellow testers, and share experiences and ideas. <o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
I am the proud founder of JeST, together with Shmuel Gershon, Asher
Samuels and Alon Waisbard (look in Twitter for @sgershon, @absamuels and <a href="https://twitter.com/awaisbard"><span style="color: windowtext; text-decoration: none; text-underline: none;">@awaisbard</span></a>
). I am telling you that because less than a year ago, organizing such a
meeting, looked to me as a distant vision, something that will happen in the
far future when I will develop the complex skills necessary to organize such an
event.<o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
But it doesn’t.<o:p></o:p></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT4KJ-_cpmROw3i8cKqpYyudBXCGqmYlTFJ_GPdfpqaZBxi-XAB06aVjaT94o0jvm0rrBbPROQWO2U0rXn3ZZ-bh79-fgUL3nlkgDoCEzQvcdvrGvsQosJR43dYaTkcUAR0gBCTaau9p68/s1600/jest2_table.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT4KJ-_cpmROw3i8cKqpYyudBXCGqmYlTFJ_GPdfpqaZBxi-XAB06aVjaT94o0jvm0rrBbPROQWO2U0rXn3ZZ-bh79-fgUL3nlkgDoCEzQvcdvrGvsQosJR43dYaTkcUAR0gBCTaau9p68/s1600/jest2_table.jpg" height="239" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A moment during JeST2</td></tr>
</tbody></table>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
Organizing a meeting is so easy, that I must share how easy it is, with
you. The main issue to overcome is the mental block and <b>just do it.</b> To
help you overcome this block, I prepared a list of the things that you <b>don’t
</b>need, in order to hold such a meeting:<span style="color: #351c75;"><o:p></o:p></span></div>
<div class="MsoListParagraphCxSpFirst" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #351c75;">1)<span style="font-size: 7pt;">
</span><!--[endif]--><span dir="LTR"></span><b>A budget </b><o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; unicode-bidi: embed;">
<span style="color: #351c75;">You will be able to find a place to host a
short meeting. You don’t need to rent a conference hall. It can be the room in
the company of one of the meeting participants, or one’s home living room.
Refreshments can be brought by the host or by the participants. If it works for you and the potential
participants, you can schedule a meeting in a quiet restaurant and address the
need for both the location and refreshments.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #351c75;">2)<span style="font-size: 7pt;"> <b>
</b></span><!--[endif]--><b><span dir="LTR"></span>Sponsors</b><o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; unicode-bidi: embed;">
<span style="color: #351c75;">Since you don’t need a heavy budget, you
don’t need an organization to support your meeting. Although I welcome
cooperation and networking, which naturally happens in such meetings, I prefer
to remain independent and stay away from organizations that try to use the
meeting for their own promotion. <o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; unicode-bidi: embed;">
<span style="color: #351c75;">A thank you note should be enough as a return
of the hosts good will.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #351c75;">3)<span style="font-size: 7pt;">
</span><!--[endif]--><span dir="LTR"></span><b>Heavy logistics</b><o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; unicode-bidi: embed;">
<span style="color: #351c75;">You don’t need a full-time administrator to
organize such a meeting. Split the tasks between a few friends and it will not
consume too much time. Use social networks to spread the word. <a href="http://www.meetup.com/">Meetup</a> service can simplify the process even
more, in return for a payment of a few bucks.<o:p></o:p></span><br />
<span style="color: #351c75;"><br /></span>
<span style="color: #351c75;">(Late note: there are many Meetup groups which are allready dedicated to promote events like yours. See for example: ILTechTalks group. All you need is to suggest your event in such group, free of charge)</span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #351c75;">4)<span style="font-size: 7pt;"> <b>
</b></span><!--[endif]--><b><span dir="LTR"></span>Professional presenters and
presentations</b><o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; unicode-bidi: embed;">
<span style="color: #351c75;">Not everyone who has interesting things to
say is a professional presenter and the length of a <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Qgyx-xxivTMtHUVk2TFWliLRXl0bWVcnRNGKpLMVAYdv6z8HuXoDCd5-wC7UAJkNq3Dp2FttcxL8UXSY5_ZSIET3bowUxHAjDWdHJbb6g3Kx7gvPQ8Pqrwf6mjNe0GXeX38fnnGGbws8/s1600/jest3_agenda.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Qgyx-xxivTMtHUVk2TFWliLRXl0bWVcnRNGKpLMVAYdv6z8HuXoDCd5-wC7UAJkNq3Dp2FttcxL8UXSY5_ZSIET3bowUxHAjDWdHJbb6g3Kx7gvPQ8Pqrwf6mjNe0GXeX38fnnGGbws8/s1600/jest3_agenda.jpg" height="320" width="238" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">JeST3 agenda</td></tr>
</tbody></table>
presentation does not make
it better (most times it’s the opposite). For our meetings, we chose a format
of <a href="http://en.wikipedia.org/wiki/Lightning_talk">lightning talks</a>
followed by a discussion. One time, we
had a “regular” presentation, which was great too, but the most significant
part for most of the participants was the discussions that we held.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #351c75;">5)<span style="font-size: 7pt;">
</span><!--[endif]--><span dir="LTR"></span><b>A large number of participants</b><o:p></o:p></span></div>
<div class="MsoListParagraphCxSpLast" dir="LTR" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; unicode-bidi: embed;">
<span style="color: #351c75;">Rating is overrated. While it is nice to see
many people come to “your” meeting, a large audience has its drawbacks too – the
atmosphere is less intimate, it’s harder to facilitate the discussion, and not
every participant feels free to express his opinion. When I started to organize
the first JeST meeting, I was worried that the meeting would not draw a “respectful” number of participants. I did the “Worst case scenario” drill and came
to conclusion that if only me and the other 3 folks that shared the idea of organizing
the meeting would come, it would not be a waste of time. At the end the meeting turned out to be a
success, also by the number of participants.</span><o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; text-indent: 36pt; unicode-bidi: embed;">
All the above are not a “must have” in order
to organize your testers meeting. All you need is Testers and a love of testing.<o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; text-indent: 36pt; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<br />
<div class="MsoNormal" dir="LTR" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com3tag:blogger.com,1999:blog-3295369038568507430.post-75136290032064891712013-11-08T14:09:00.000+02:002013-11-10T14:54:33.074+02:00A small cool macro that makes Mind Maps and Spreadsheets better friends<span style="color: #073763;">In
case, like me, you belong to the Mind Maps lovers’ group, there’s good chance
this tool will interest you.</span><br />
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #073763;"><o:p></o:p></span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #073763;">I like
Mind Maps because they are easy to create and evolve. They represent data in a
way that makes sense to human beings. </span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #073763;">When
you want to add a leaf to any branch of the data structure, you don’t need to mess
around, as it is just a natural development of the idea representation.</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<o:p></o:p></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
On
the other hand, Spreadsheets have their own advantages. They are able to perform
calculations on the data, and sort and filter it.<o:p></o:p></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4_ASHSaK-5c04LYhO8pSsJyL2NZ2UEoO-wlbN0CfvCFLYEQ32FwxOdSB46-NSwToMUpaLg5xV2gbDTUwxEddfbWEswLxVl3adEQYbMRjXkzygHTPwxPQVY-sUt0YXaU9AWIgw_qy2jZjd/s1600/800px-PikiWiki_Israel_13316_Ben_Gurion_University.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4_ASHSaK-5c04LYhO8pSsJyL2NZ2UEoO-wlbN0CfvCFLYEQ32FwxOdSB46-NSwToMUpaLg5xV2gbDTUwxEddfbWEswLxVl3adEQYbMRjXkzygHTPwxPQVY-sUt0YXaU9AWIgw_qy2jZjd/s400/800px-PikiWiki_Israel_13316_Ben_Gurion_University.jpg" width="400" /></a></div>
<br /></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
I
like to combine both Mind Maps and spreadsheets in my work. I summarize ideas
in a Mind Map and move it to an Excel™ spreadsheet in order to use it in a way
that involves calculations and filtering.<o:p></o:p></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
I
use <a href="http://www.xmind.net/" target="_blank">Xmind</a> for creating Mind Maps. Moving the data from the Xmind application to
an Excel sheet is very easy: copy-paste the central subject into the sheet. </div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
However, the data format in the target sheet is not very useful for my goal –
each hierarchy is placed in a new column, as you can see in picture #1. </div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
I would be happier if I were able to have all the
data in same column, indented by the hierarchy, as
you can see in picture #2. </div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
It would be even cooler if we were able to use
Excel’s “grouping” feature so we could see the exact hierarchic level of the
data, see picture#3.<o:p></o:p></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwuXbY0HgsOz0M-zG5c6Ihx4hPlkf3hoP5tgqSBrDP_zvdwR8iIvOljy4NbnBHt-z8GtAm9rMpJgamYSmQO_-w_Jn8Jb8bA3X1kRZVkqDYmMMANh_Fxs91vwyPU4m_coM6wpEv2zzE59ss/s1600/mindmap_1.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwuXbY0HgsOz0M-zG5c6Ihx4hPlkf3hoP5tgqSBrDP_zvdwR8iIvOljy4NbnBHt-z8GtAm9rMpJgamYSmQO_-w_Jn8Jb8bA3X1kRZVkqDYmMMANh_Fxs91vwyPU4m_coM6wpEv2zzE59ss/s320/mindmap_1.jpg" width="260" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pic#1</td></tr>
</tbody></table>
<div style="text-align: left;">
</div>
<span style="color: #073763;">I will not keep secrets from you. I wrote an Excel VBA Macros that provides the wish list above. Feel free to use it, just copy it into your VBA editor.</span><br />
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #073763;"><o:p></o:p></span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
</div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<br />
Note: while this tool is great for porting the Mind Map
data into Excel, once you’ve used it, the data won’t be easily exported back to
MindMap. If you find it necessary, you can create a VBA macro that will help to
do that.</div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<o:p></o:p></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxMDBqPL6RL7WS6kJqoMhS-8B0n3jUYbCAMYWG5x5kkaG_1V3Wjl0l0jIzPIM9baMoWu3ceuwtMReQxH6aZJ_UwR6eawE7h1Q1pZzjp6C0WGNk00QelgVWn7rBHQsGmPbZzrCgE2JxFtPQ/s1600/mindmap_moved_indent_grouped.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxMDBqPL6RL7WS6kJqoMhS-8B0n3jUYbCAMYWG5x5kkaG_1V3Wjl0l0jIzPIM9baMoWu3ceuwtMReQxH6aZJ_UwR6eawE7h1Q1pZzjp6C0WGNk00QelgVWn7rBHQsGmPbZzrCgE2JxFtPQ/s320/mindmap_moved_indent_grouped.jpg" width="233" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pic#3</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7PH2ZNj8PuKUYGbljeCO6q2jHTSDYQDthm-ucdPWYCX5QkDPmLS-wLCQEMg6PUJuVp0d4D0Ynlcd2lGUjFwXPycWNRU2wTUmJRTdqBdlvTm3Sac0oFQ60gGqv8Q1XDaQ6JTMv9NA_MlOb/s1600/mindmap_moved_indent.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7PH2ZNj8PuKUYGbljeCO6q2jHTSDYQDthm-ucdPWYCX5QkDPmLS-wLCQEMg6PUJuVp0d4D0Ynlcd2lGUjFwXPycWNRU2wTUmJRTdqBdlvTm3Sac0oFQ60gGqv8Q1XDaQ6JTMv9NA_MlOb/s320/mindmap_moved_indent.jpg" width="227" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pic#2</td></tr>
</tbody></table>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
I created three macros: one that moves the data to one column and indents it according the hierarchy. The other groups the data according to the indentation and the third one which calls both macros.<br />
Before that you run the macro, make sure that the cells that conatins the data are in the "selection" as you can see in the following video:<br />
<div class="separator" style="clear: both; text-align: center;">
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i1.ytimg.com/vi/Rux4EK4_tC0/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/Rux4EK4_tC0?version=3&f=user_uploads&c=google-webdrive-0&app=youtube_gdata" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="http://www.youtube.com/v/Rux4EK4_tC0?version=3&f=user_uploads&c=google-webdrive-0&app=youtube_gdata" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<br />
If you have any questions, Tweet me: <b><span style="color: #073763;">@testermindset</span></b><br />
<b><span style="color: #073763;">Enjoy!</span></b><br />
<b>The VBA code:</b></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;">Sub moveIndentGroup()</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
</div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;">' This macro call the 2 other Macros in order to perform all actions usingcommand</span></div>
<div>
<span style="color: #38761d;"><br /></span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> LastRow = Selection.Cells.Rows.Count</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Call moveAndIndent</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Call GroupIt(LastRow)</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;">End Sub</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"><br /></span>
<span style="color: #38761d;">Sub moveAndIndent()</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Dim rCell As Range</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Dim rRng As Range</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Set rRng = Selection</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> For Each rCell In rRng.Cells</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> If ((rCell <> "" Or rCell <> 0)) Then</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Cells(rCell.Row, 1).Value = rCell.Value</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Cells(rCell.Row, 1).IndentLevel = rCell.Column - 1</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> If rCell.Column > 1 Then rCell.Value = ""</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> End If</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Cells(rCell.Row, 1).HorizontalAlignment = xlLeft</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Next rCell</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;">End Sub</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"><br /></span>
<span style="color: #38761d;">Sub GroupIt(Optional LastRow)</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> If IsMissing(LastRow) Then LastRow = Selection.Cells.Rows.Count</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> For j = 1 To 5</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> For i = 1 To LastRow</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> If Cells(i, 1).IndentLevel = j Then</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> FirstCell = i</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> LastCell = i</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> While (Cells(FirstCell, 1).IndentLevel <= Cells(LastCell + 1, 1).IndentLevel) And LastCell <= LastRow</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> LastCell = LastCell + 1</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Wend</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Range(Cells(FirstCell, 1), Cells(LastCell, 1)).Select</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Selection.Rows.Group</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> i = LastCell + 1</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> End If</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Next i</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"> Next j</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;"><br /></span>
</div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="color: #38761d;">End Sub</span></div>
Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0ירושלים, ישראל31.768319 35.21370999999999231.768319 35.213709999999992 31.768319 35.213709999999992tag:blogger.com,1999:blog-3295369038568507430.post-22028385633928873502013-11-03T22:00:00.001+02:002013-11-10T08:41:11.466+02:00Dealing with Stress take 2 In
case that you are reading this post, there is a chance that you read my <a href="http://testermindset.blogspot.co.il/2012/12/dealing-with-stress.html" target="_blank">blog post</a> about Stress.<br />
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<o:p></o:p></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
This
post was transformed twice: first, I turned it into an article in <a href="http://issuu.com/teatimewithtesters/docs/tea-time_with_testers_january_2013__year_2__issue_?e=2548716/4481455" target="_blank">Tea Time with testers</a> magazine, than it became a presentation in <a href="http://www.qatest.org/en/" target="_blank">QA&Test 2013</a> conference
at <b>Bilbao</b>, <b>Spain</b>.<o:p></o:p><br />
<br /></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
The
conference was awesome. Hospitality was great. I had an opportunity to get to
meet and share ideas<br />
<o:p></o:p></div>
with many cool testers from all over the world. I was also
able to experience presenting at an International conference.<br />
<br />
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY73SwmUiL4g2NYDTrCa8XCYIC7CKPsfil0HBcR2vSNEvW1ccN6FSExbdvVeMR6JDmm_mmRLhfl1cPo70nJm3htsz01OyCsfUT09zZvW9sztDVevaCvBxNowmiswSnXess_ddO1MKKvZGQ/s1600/Issi_Stress.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY73SwmUiL4g2NYDTrCa8XCYIC7CKPsfil0HBcR2vSNEvW1ccN6FSExbdvVeMR6JDmm_mmRLhfl1cPo70nJm3htsz01OyCsfUT09zZvW9sztDVevaCvBxNowmiswSnXess_ddO1MKKvZGQ/s320/Issi_Stress.jpg" width="320" /></a></div>
Besides
the format change – from a blog post to an article and then into a presentation,
the ideas themselves emerged and developed as I got a lot of feedbacks while
working on the material.<o:p></o:p><br />
<br /></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
The
main idea behind the work is the need to connect our Stress tests to the user’s
needs . To do that, I suggest categorizing our Stress tests and failures into 3
main categories: Multiple experiments, Stability over time and Load.<o:p></o:p></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
While
working on the presentation I added a few aspects which are connected to the failure
classification and Stress test planning:<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span><span style="color: #20124d;">Assessment of risk when
selecting risky flows for multiple experiments.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #20124d;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span>Taking in account the impact
of the product on the system stability.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #20124d;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span>The need to find good
oracles beyond the official requirements when defining the load and stability
targets.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #20124d;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span>Perform load tests of few
types : <o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" style="direction: ltr; margin: 0cm 0cm 10pt 72pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #20124d;"><span style="font-family: "Courier New"; mso-fareast-font-family: "Courier New";">o<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span>The largest amount of data
or actions which has meaning for the
users<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" style="direction: ltr; margin: 0cm 0cm 10pt 72pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #20124d;"><span style="font-family: "Courier New"; mso-fareast-font-family: "Courier New";">o<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span> The full capacity of the product – in order to
spot degradation in the capacity before they has impact on the users.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #20124d;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span>Use good logging mechanism
to gather data on all the experiments that your stress performs.<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpLast" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]--><span style="color: #20124d;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-size: 7pt;">
</span></span><!--[endif]--><span dir="LTR"></span>Monitor the system
resources in order to quickly find stability issues .</span><o:p></o:p></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
Since
I was scheduled to present on the last day of the conference, I had some time to
get inspiration from a few people that I met during the 1<sup>st</sup> two days.
The night before the presentation, I changed the summary slide from a list into
a mind map that summarizes my takes on the subject.<o:p></o:p></div>
<br />
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
I
am publishing the mind map and would like to ask you to review it and contribute
to my initial work on that. I promise to give you credit if you’ll provide
meaningful input.<o:p></o:p><br />
<br /></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjut5b-tDwyd_oNxumlIEfCO-A1J-gkIRoSrUJR_KAhibcP8kazUVNeQVpoGSuBTxbvb3qSe0FcNK_2eREnOODhRf8bnXyMKmEOEglsoq4VTNw_jo0ASZb_4NF9B7JB4dJPzRnd5Y-lvcbd/s1600/StressMindMap.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjut5b-tDwyd_oNxumlIEfCO-A1J-gkIRoSrUJR_KAhibcP8kazUVNeQVpoGSuBTxbvb3qSe0FcNK_2eREnOODhRf8bnXyMKmEOEglsoq4VTNw_jo0ASZb_4NF9B7JB4dJPzRnd5Y-lvcbd/s320/StressMindMap.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Click to enlarge</td></tr>
</tbody></table>
<br /></div>
Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0ירושלים, ישראל31.768319 35.21370999999999231.552388 34.89098649999999 31.984250000000003 35.536433499999994tag:blogger.com,1999:blog-3295369038568507430.post-44389956954559598522013-05-30T11:38:00.002+03:002013-11-04T20:05:35.011+02:00Notes from the 1st conference at Ben-Gurion University of the Negev: Software Quality and Testing - Academia and Industry Get Together <br />
<br />
<span style="color: #20124d; font-family: Arial, Helvetica, sans-serif;">I participated in the <a href="http://in.bgu.ac.il/en/engn/ise/QT/Pages/default.aspx" target="_blank">conference</a> and would like to share my impressions and notes.</span><br />
<span style="color: #20124d;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">I really liked the idea of having such a conference, to get some exposure to what’s going on in the academic world regarding SW testing. This, together with promising talks from industry practitioners, was a good reason to head south and participate.</span></span><br />
<span style="color: #20124d; font-family: Arial, Helvetica, sans-serif;">The hosting was great and the organizers deserve a good word for their efforts. The conference was held in the university “Senath auditorium”, which is a very pleasant and cozy (although well air conditioned) place. Everything was well organized.</span><br />
<span style="color: #20124d; font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6x6HRAgYBrnVz9imJ1J_p0XADqcgE49RI0-fTFl0YXh-HSfiapJzvd5GMBfWxWYGO71zQ5LXBRLlL3rtvxdrkefn_7lB_q8Ill_Z5l-NJisyLCdWR0O6bYL4fOsQB9UkBmU1KrBjmdJFS/s1600/800px-PikiWiki_Israel_13316_Ben_Gurion_University.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6x6HRAgYBrnVz9imJ1J_p0XADqcgE49RI0-fTFl0YXh-HSfiapJzvd5GMBfWxWYGO71zQ5LXBRLlL3rtvxdrkefn_7lB_q8Ill_Z5l-NJisyLCdWR0O6bYL4fOsQB9UkBmU1KrBjmdJFS/s400/800px-PikiWiki_Israel_13316_Ben_Gurion_University.jpg" width="400" /></span></a></div>
<span style="color: blue; font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">The first talk, after a few greetings was by<b> Dr. Jasbir Dhaliwal </b>from the University of Memphis who talked about his experience in collaboration with the industry. He established the Systems Testing Excellence Program (<a href="https://umdrive.memphis.edu/g-mis/www/memphis/step/default.htm" target="_blank">STEP</a>) in collaboration with Fedex.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">He talked about the challenge of collaboration between the scientific approach of the academia and the art approach of the industry practitioners, which he called the Science – Art gap. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">During the day, several speakers referred to the different approaches between the industry and the academia, where the academia is focused on verification and the industry is more concerned with validation. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"><b>Nir Caliv</b>, a Principal Test Architect from Microsoft Israel, talked about Continuous Delivery and Test in Production. He talked about how the shift from producing boxed software packages to services in the cloud changed their development and testing methodology. For example, shifting from long development and test cycles that ends in mass distribution to very short ones that reach the production environment very fast. He talked about the impact of the need and ability to change the SW quickly. He mentioned the move from modeling the system to using the “Real thing”, and from simulation of the end-user environment to monitoring of the production service itself. Monitoring gained a much more significant place than in the past and “Quality features” that enabled this monitoring were added to the product. The analysis of the monitored data become a major role of the “SW Development Engineer in Testing” as Microsoft calls their testers. They changed from passive monitoring to data mining that involves machine learning. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">It seems that when the monitoring capabilities role changed from being a “luxury” to a “necessity”, it forced them put a large effort on this area. This being done can teach organization whose product nature has not yet made the move to look at the benefits of this direction for their testing, and invest more in monitoring capabilities and gathering data from the production environment. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">In the lobby, <b>Dr.</b> <b>Avi Ofer</b> from <a href="http://www.alm4u.com/" target="_blank">ALM4U</a> displayed a demo of a new method for verification using temporal logic . This method started with Hardware verification, but he shows how it can be used in Software verification, including the ability to go back in time and debug by replaying the actions without running the debugger again.</span><br />
<div>
<br /></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"><b>Dr. Meir Kalech</b> from the Ben-Gurion University talked about “Artificial Intelligence Techniques to Improve Software Testing”. In his talk, he described a project that uses model based approach to diagnostics in complex environment like software, based on the IEEE Zoltar toolset for automatic fault localization. His system suggests scenarios for failure isolation. While he suggested that the system be used to suggest the “next step” to testers that experience a failure, my view is that this is more suitable to be an addition to automation checks than as a tool for human beings.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"><b>Ron Moussafi</b> from Intel talked about "The Fab Experience: What Intel Fabs can teach us about Software”. Ron has a lot of experience in the semiconductors manufacturing world, but he is currently managing two test departments, one of them, I work in. He talked about the difference in the approaches of the two industries. While the fab(Semiconductor fabrication plant</span><span style="font-family: Arial, Helvetica, sans-serif;">) has a culture which focuses on quality, and quality is a main factor that is measured with no tolerance for incompatibility, the software industry culture is focused on other aspects. One of the causes of the difference is that in the manufacturing world the cost of one error is very noticeable, while in the SW industry, most of times the cost of error is hard to measure, but has the impact of “death by a 1000 papercuts”. While “Fab” people see themselves as scientists, the image of the SW guy is more of a “Lone ranger”. Ron suggested some actions to improve the quality culture of SW development organizations, like calculating and publishing the cost of defects and connecting between failure and the cause, in order to improve the process, instead on just focusing on fixing the problem.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"><b>Prof. Mark Last </b>from the host University talked about Using Data Mining For Automated Design of Software Tests. He showed a method that does data fuzzing on a legacy “known to be good” software and uses data mining techniques in order to select a regression package and run it on a new version of the software.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"><b>Prof. Ron F. Kenet</b> from KPA Ltd. talked about "Process Improvement and CMMI for Systems and Software". Since I am not really interested in the subject, I did not take notes on his talk. However, one of the examples he gave did grab my attention as it can be connected to one of the other talks. He demonstrated measurement of point of fault during the development process, which can be useful if you want to try Ron Moussafi’s suggestion to connect between failure and cause.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"><b>Dr. Amir Tomer</b> from the Kinneret Academic College talked about "Software Intensive Systems Modeling - A Methodological Approach”. He described his method of using UML to describe SW systems. In his method, each entity has four characteristics: The ones that relate to the requirements from the entity: the environment it operates in and the services it provides, and ones that relate to the design: the structure and the behavior. He showed how he connects between the entities so the services and behavior of one entity, are actually the environment of the other entity.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"><b>Scott Barber</b> is a well-known tester, especially if you are interested in performance testing. With no offence to the other speakers, he was the main reason for my participation in the conference. Scott’s talk was "A Practitioner's View of Commercial Business's Desired Value Add from Software Testing”. He was able to educate not only the academic participants, but also the industry people on what is the view of the Commercial Business's decision makers of Testing and the challenges of explaining the added value of testing to them. This can be quite difficult when they think about testing as an additional thing they have to pay for having software built, like caffeine is needed, and don’t distinguish between Testing and quality. Scot’s said that “the industry pays for value to get to the market sooner, faster and cheaper”, these are the things that you want to focus on and make sure to communicate your contribution to their achievement.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">I was not able to participate in the panel discussion afterwards “Product Quality and Software Quality: Are They Aligned?”</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="color: #20124d; font-family: Arial, Helvetica, sans-serif;">To summarize, the conference was very interesting and exposed the participants to different views of Testing. While, as practitioner I was not familiar with the language and approach of the academic speakers and I have to admit that I giggled a bit when they talked about a “lines of code” or gave an example in FORTRAN, it was refreshing to hear such different views. </span><br />
<span style="color: #20124d; font-family: Arial, Helvetica, sans-serif;">The academic engagement with Testing is in its early phases which mean that it has lot of space for great things to happen. This conference was a big step in this direction and a good way to connect between people from the two disciplines. </span><br />
<span style="color: #20124d;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">As an Intel employee, I am proud that Intel was a major sponsor of such a great event, which was open to anyone who has an interest in our field.</span></span><br />
<span style="color: #20124d; font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfjhVzDCXarIeKZ2Ui2KldNfeGPL95UYptmgz6Eko0L7P-6QSZOiOMOvT3O5UqRapFn-lWyUBoKvKGTGKd0fP0xz5_cxGbwRMCqdbgl-3tzolpCnO_ZFH_B_CL8hvrCBNMGsj6998oMuND/s1600/hamarpe6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: #20124d;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfjhVzDCXarIeKZ2Ui2KldNfeGPL95UYptmgz6Eko0L7P-6QSZOiOMOvT3O5UqRapFn-lWyUBoKvKGTGKd0fP0xz5_cxGbwRMCqdbgl-3tzolpCnO_ZFH_B_CL8hvrCBNMGsj6998oMuND/s320/hamarpe6.jpg" width="320" /></span></a></div>
<span style="color: #20124d;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">While the Verification aspects of the profession were well heard, I was missing academic speakers from other disciplines which have no less impact on our practice and I would argue that even more. Cooperation with researchers in the areas of Psychology, Anthropology, Education and more, may able the academia to address more of the industry’s needs and be more relevant to the industry.</span></span><br />
<div>
<span style="color: blue; font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com5tag:blogger.com,1999:blog-3295369038568507430.post-63176017718511300292012-12-23T09:51:00.002+02:002012-12-23T16:06:47.540+02:00Dealing with Stress <br />
<div class="MsoNormal" style="direction: ltr; text-align: justify; unicode-bidi: embed;">
<span class="Apple-style-span" style="color: blue; font-size: large;">Stress
failures and bug advocacy - looking at stress tests from a value perspective</span><o:p></o:p></div>
<div class="MsoNormal" style="direction: ltr; text-align: justify; unicode-bidi: embed;">
<span class="Apple-style-span" style="font-size: large;"><br /></span></div>
<div class="MsoNormal" style="direction: ltr; text-align: justify; unicode-bidi: embed;">
</div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; text-align: justify; unicode-bidi: embed;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlhyphenhyphenzTsUWbDmWdARrJH8JF7-8iWdqdx1vOTZzhQXrv3Op5z5XpB5JcvRQpYNcKq17ro8aezTz80C47dVE6XxL4A9K_XSGGgoe7quyDZtbN80gp1Tnw2gJkdEbbMLl6iFBERnKIUtIGCdF5/s1600/stress.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlhyphenhyphenzTsUWbDmWdARrJH8JF7-8iWdqdx1vOTZzhQXrv3Op5z5XpB5JcvRQpYNcKq17ro8aezTz80C47dVE6XxL4A9K_XSGGgoe7quyDZtbN80gp1Tnw2gJkdEbbMLl6iFBERnKIUtIGCdF5/s320/stress.jpg" width="245" /></a>Stress is part of your test strategy. You use it as a tool to test your
product and find bugs. This is one of the “non-functional” test categories you
run. Did you devote the time to think about what is actually being tested by
your stress tests? <o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; text-align: justify; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; text-align: justify; unicode-bidi: embed;">
You may continue to test without answering this question, but when the time
comes for bug advocacy, you have to defend your test strategy and findings, and
this may force you to search for an answer.<span class="Apple-style-span" style="color: blue;"><o:p></o:p></span></div>
<br />
<div class="MsoNormal" dir="LTR" style="color: blue; direction: ltr; text-align: justify; unicode-bidi: embed;">
What are we stressing for?<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" dir="LTR" style="color: blue; direction: ltr; margin-bottom: 10pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: justify; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]-->1)<span style="font: 7.0pt "Times New Roman";">
</span><!--[endif]--><span dir="LTR"></span>Statistical failure - Stress increases the chances of the
appearance of a sporadic defect since it executes a flow a lot of times<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="color: blue; direction: ltr; margin-bottom: 10pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: justify; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]-->2)<span style="font: 7.0pt "Times New Roman";">
</span><!--[endif]--><span dir="LTR"></span>Run stability tests in a shorter
time – the stress speeds up the time factor – failure reveals in a short time a
defect that a system which runs in normal conditions (amount of data, number of
simultaneous actions, etc.) will experience after a longer run. A common example of such a failure is a memory
leak found using the stress setup. <o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="color: blue; direction: ltr; margin-bottom: 10pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: justify; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]-->3)<span style="font: 7.0pt "Times New Roman";">
</span><!--[endif]--><span dir="LTR"></span>Load (sometimes defined as
a category by itself) – when we test how our system scales with multiple calls,
large amount of data or both. Here, the failure reveals a point when the system
fails to handle the load.<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" dir="LTR" style="color: blue; direction: ltr; margin-bottom: 10pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: justify; text-indent: -18pt; unicode-bidi: embed;">
<!--[if !supportLists]-->4)<span style="font: 7.0pt "Times New Roman";">
</span><!--[endif]--><span dir="LTR"></span>Any combination of 1, 2 or 3.<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" dir="LTR" style="color: blue; direction: ltr; margin-bottom: 10pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: justify; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
In a utopic scenario, when a stress related
defect is reported, it follows the path of debug, root cause and fix. But in
many cases, we will need our bug advocacy skills in order to convince our
stakeholders of the need to fix the defect.<o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
A typical bug discussion can start like this:<span class="Apple-style-span" style="color: blue;"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="color: blue; direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
Developer: “Stress of 4½ hours and 5MB data
files is not a normal usage of our system. A typical use case takes 15 minutes
and a smaller amount of data. We should reject this bug.”<o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
This point in the discussion can reveal whether
you did your homework or not. <o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
To decide that the failure is from the 1<sup>st</sup>
classification – statistical, we need to decompose the stress to a meaningful use
case and run it over and over while bringing the system to a clean state
between the each use case. Automation can be a big help here. <o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
If we succeed in reproducing the failure
under such conditions, our report will transform from a stress failure report
to a use case failure report with reproduction rate. When we have a sufficient statistical
sample, the impact is clear.<o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
Pinpointing whether the failure is related to
time or to load is more complex, as we need to “play” with both factors in
order to reach a conclusion about the amount of time, load or both that is
needed in order to cause the system to reach a failure point. The awareness of
the possible options is an important tool in bug advocacy. For example, it can
enhance stakeholder’s perspective when you are able to say that <span class="Apple-style-span" style="color: blue;">“we’re not sure
yet, but it is possible that we will see the failure in normal conditions after
a long period of time.” <o:p></o:p></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglUi-KD9qZXsWP0LWp4lie2U0wmEHO1rqKDOCAWcm2dx9po8W8ROPIo5HytMSahPnrFhSw4eJvY-qpyBPVBJPwYUsa4CcL4zDBY-EiHVAadGWnKkVWGYQTCFywaHdjR_72wR5uHgHwfuRE/s1600/clock.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglUi-KD9qZXsWP0LWp4lie2U0wmEHO1rqKDOCAWcm2dx9po8W8ROPIo5HytMSahPnrFhSw4eJvY-qpyBPVBJPwYUsa4CcL4zDBY-EiHVAadGWnKkVWGYQTCFywaHdjR_72wR5uHgHwfuRE/s200/clock.jpg" width="200" /></a></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
Doing complete research before reporting the
stress failure can consume lot of resources and time, so I don’t suggest delaying
the report till the tester has all of the answers. Many times, we can reach
faster and better conclusions about the failure from a focused code review or a
debug log analysis. <o:p></o:p></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
I would like to suggest the following: learn
to classify your stress failures. When
you see and report a stress failure, treat it as a start of the classification
and investigation. While sometimes the report will be enough to call for a bug
fix, many times it will serve as a call for investigation. During the
investigation – make clear to stakeholders what you already know and what you
don’t know yet. Make sure that new findings are updated in the bug and don’t be
afraid to change the title to reflect it.<span class="Apple-style-span" style="color: blue;"><o:p></o:p></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
<span class="Apple-style-span" style="color: blue;"><br /></span></div>
<div class="MsoNormal" dir="LTR" style="direction: ltr; margin-left: 18pt; text-align: justify; unicode-bidi: embed;">
<span class="Apple-style-span" style="color: blue;">There is much more to learn than the basics I
summarized in this post. Learning more about stress in general and about your
specific system, can help you classify and investigate your stress failures and
no less important – plan your stress tests better.</span><span class="Apple-style-span" style="color: blue; font-size: large;"><o:p></o:p></span></div>
<br />Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-27065045845350717662012-02-23T14:58:00.000+02:002012-02-23T14:58:06.230+02:00DOWNTIME NOTIFICATION<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">If you will it, it is no dream.</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">One day, the test engineers in the Testing lab came to work and went through their inbox. Among the mail was a short message from the Testing lab manager: </span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: "Courier New";"><span style="color: #20124d;">To: All testers</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: "Courier New";"><span style="color: #20124d;">Subject: QC DOWNTIME NOTIFICATION: unlimited period</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: "Courier New";"><span style="color: #20124d;">Dear testers, in order to try new ways of work, our test management system, Quality Center (AKA “QC”), will be down until further notice. There is no change in your task definitions, roles and responsibilities.</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: "Courier New";"><span style="color: #20124d;">P.S. I will be out of office on vacation for the next two weeks.</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">At first glance, the testers were shocked, they re-read the message and moved their eyes to the message date, but it wasn’t April 1<sup>st</sup>. They looked at the Hebrew calendar, but the month of Adar hadn’t started yet. As seasoned testers, they didn’t take the message as a fact and tried to enter the Quality Center site, without success.<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">The coffee corner was crowded. Continuous humming of testers and team managers shaking their head from side to side in disbelief. Managers tried to reach the test lab manager via cell phone, SMS, email, Facebook, and twitter, but got no response. They approached the manager’s manager who told them: “Please talk with your test lab manager. I believe that it is important, but in order to change his decision you must contact him. Till then I will back his decision and won’t interfere.”</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">The most concerned was the project testing leadership team. They realized that they would not be able to query progress indicators and track whether they had reached coverage expectations for each work week: ww25 10%; ww26 20%; ww27 40%; ww28 60%; ww29 80%; ww30 90% and so on.</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">The Security team manager gave his team clear instructions: “Perform any legal or semi-legal operation to hack and bring up the system”. But even the efforts of the best white hat hackers team in the industry were not enough to bring up a system that was shutdown, power unplugged, behind a locked door.</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">Team leaders sat in the labs perplexed. Some asked their team members to perform some bug verifications and handle other minor issues, but didn’t have an idea as to what to do next. One of the leads had an idea: Shmuel, from the Sustaining product test team, told him once that he does not work with QC. As he knew Shmuel managed to perform testing, they could ask him for advice.</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">An expedition of several people approached Shmuel. The following dialogue took place:</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Crowd: “Please help us. We need to run our cycle, but QC is down. How can we do it? Do we need some kind of magic?”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "Does QC run the cycle for you?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Crowd: “No! But how will we know what tests to run?”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "Oh, knowing what tests to run is important, as we will want to look for information about what we don't know, and get a feeling for areas we consider at risk. Is that what you want from your tests too?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Crowd: “Yes”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "So let's see: How do you decide what tests to run?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Sara: "I go to QC and pull the list of tests that are not 'done'."</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "We said we are looking for risk and new info – is that what you have in the not-’done’ list?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Herzl: "Not exactly, it is a list of tests for old info."</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "But your team does find new bugs using them, Herzl, how do you do that?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Herzl: “I guess we find them because when we run the list of tests, we somehow know where things can show problems.”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Josh: “During test execution sometimes I see something behaves suspiciously. I investigate it and find a bug.”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "Josh, this is what happens in my team, too! But you said 'somehow', Herzl... how do you think you knew?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Herzl: "I don't know... we've seen similar problems in the past?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "Ah, so you use your experience as part of the secret. Do you have seasoned testers in your team?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Herzl: “Yes."</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Sara: "We also have new testers, they sometimes tests things we hadn't written or thought of."</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "It looks like we let our teams think about risk and new information (what we said we were looking for) everyday! Is that so? Sara?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Sara: "Well, yes... in a sense... for bugs."</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "So what do you need QC for?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Herzl: "How will they start if we don't give them a cycle?"</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: "How about you just tell them to start? You can ask them to list what they want to test without another list distracting them.”</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQq0422n1Wd3x6jx_wAHPphAH456ntUwwPTM9JpM5BiZ4pEiDPMTrmCcayWsd1IO8yuG8IaJ7NJ3SXs9A7HiLVOStYD4PAT3Pyaev33D5Ra-bTDmODgUQ4NBMwHQvs9dm00oACOfiCuLe5/s1600/200px-Theodor_Herz007.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQq0422n1Wd3x6jx_wAHPphAH456ntUwwPTM9JpM5BiZ4pEiDPMTrmCcayWsd1IO8yuG8IaJ7NJ3SXs9A7HiLVOStYD4PAT3Pyaev33D5Ra-bTDmODgUQ4NBMwHQvs9dm00oACOfiCuLe5/s1600/200px-Theodor_Herz007.jpg" yda="true" /></a></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Herzl: If you will it, it is no dream</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Sara: “How would we make sure that teams distribute the work correctly and focus on the risk areas?”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: “You do talk with your team members, don’t you? “</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Sara (a bit offended): ”Sure, constantly!”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: “When talking with your team you learn about what they tested, so you can take the opportunity to discuss focus areas and distribute the work.”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Sara: ”I guess this can be more meaningful than when I just hand them the test cycle and ask about progress.”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Josh: ”Without a list of test cases, how do you make sure that you will not forget to check important things or some details? Our product is pretty big and you can easily forget a part.”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Sara: ”I agree with Josh and want to add that sometimes we do find a bug when a test case fails.”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: “Sara and Josh, this is a good question, and hard to answer. It seems that there’s an assumption that the central test list will solve the problem for you.</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Testers work is solving this problem, and they have a wealth of tools for that – the test case repository is one of them. Renewing the test case list is another, which can be done by interviewing managers and programmers. Now you don’t have the central repository, but you can organize your own checklists and areas of coverage.”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Herzl: “Sound great, but are you able to report coverage and test results without having numbers of test cases and pass/fail results?”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: “Let’s take a closer look at these results and see if we’ll miss them. Are found problems lost, unless there’s a failed test? We use a bug repository to log and study them, which is reviewed by the project managers.”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Herzl: “But without the pass results, do you suggest providing our message about coverage without supporting numbers?”</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Shmuel: “Not at all! If you have supportive numbers you should provide them. But in your cycle case... if the receiver does not know what the tests are, there’s little support by counting them.“</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">Sara: “Well, all they ask is whether we will complete our work in time. And I think we will.“</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">The test team leaders start to disperse, each to his own team, to discuss the work without the test management database. In a few hours the whole testing department was back at work. Issues were raised, bugs were opened, and short meaningful coverage reports were provided.</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">Two weeks later. A short message appeared in the tester’s inbox:</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: "Courier New";"><span style="color: #20124d;">To: All testers</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: "Courier New";"><span style="color: #20124d;">Subject: COMPLETED: QC DOWNTIME NOTIFICATION: <span style="mso-spacerun: yes;"> </span>server is up again</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #20124d;">No one bothered to read the rest of the message.</span></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="font-family: "Calibri", "sans-serif"; line-height: 115%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-language: HE; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Special thank to <a href="http://testing.gershon.info/">Shmuel Gershon</a> for participating as a guest author in this post</span> </span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<br />
<span style="font-family: Calibri;">=====================================================================</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">Further reading: </span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">Pradeep Soundararajan, </span><a href="http://testertested.blogspot.com/2011/12/truth-about-test-plan-document-test.html"><span style="font-family: Calibri;">Truth about test plan document & test case document</span></a></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">James Bach, , </span><a href="http://www.satisfice.com/presentations/dashboard.pdf" target="_blank"><span style="font-family: Calibri;">A Low Tech Testing Dashboard</span></a></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<br /></div>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com1tag:blogger.com,1999:blog-3295369038568507430.post-16170403642321650982011-11-17T19:29:00.001+02:002011-12-21T15:43:05.935+02:00When you Feel Rejected…<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">It is common to see a bug rejected as “Not a requirement”. It sometimes hurts as it pushes aside your valuable feedback with a process related excuse.</span></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">Common examples are</span></div>
<div class="MsoListParagraphCxSpFirst" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: left; text-indent: -18pt; unicode-bidi: embed;">
<span style="color: #351c75;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-family: "Times New Roman";"> </span></span></span><span dir="ltr"></span><span style="font-family: Calibri;">When a requirement includes implementation details and the devil (our bug) is in those details – the bug is actually in the requirements.</span></span></div>
<div class="MsoListParagraphCxSpLast" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: left; text-indent: -18pt; unicode-bidi: embed;">
<span style="color: #351c75;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-family: "Times New Roman";"> </span></span></span><span dir="ltr"></span><span style="font-family: Calibri;">When an issue is detected by using an oracle other than the official requirement (for example one of the HICCUPPS heuristics). </span></span></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt 18pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: black;">Some less logical examples that I’ve actually seen:</span></span></div>
<div class="MsoListParagraphCxSpFirst" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; mso-add-space: auto; mso-list: l2 level1 lfo2; text-align: left; text-indent: -18pt; unicode-bidi: embed;">
<span style="color: #351c75;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-family: "Times New Roman";"> </span></span></span><span dir="ltr"></span><span style="font-family: Calibri;">When the fix involves someone who is not committed to the effort yet – for example when a Platform bug requires a Software workaround, especially if the effort is big. “Not a requirement” here actually means “Not my responsibility”. </span></span></div>
<div class="MsoListParagraphCxSpLast" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; mso-add-space: auto; mso-list: l2 level1 lfo2; text-align: left; text-indent: -18pt; unicode-bidi: embed;">
<span style="color: #351c75;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;">·<span style="font-family: "Times New Roman";"> </span></span></span><span dir="ltr"></span><span style="font-family: Calibri;">When a bug is the result of a design limitation. “Not a requirement” here is actually “It’s not my fault, it’s the Designers fault” and many times the “Bug fix is too expensive”. </span></span></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">Choose the playing field according to the context.</span></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">There’s a big field of product value that includes a smaller field of the requirements scope. I play in both. When in order to find this disputable bug, we kicked the ball to the big field, when someone moved its status to “Not a requirement”, he kicked the ball to a smaller field. </span></div>
<div align="center" class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: center; unicode-bidi: embed;">
<span style="mso-no-proof: yes;"><shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdNqZPDTn7eb05EhmD6kfSNodw8lq0C6g7DnoW8ZWh6HAmlytpOSm5t_PDkSeez4iQIOuw8H85HYmEFwCy8qw2312IULHWdjvpMxm1UcyGHzytaXqZho-OZmXvlQ8svzFvFsQeVAQYbXyK/s1600/Big_fieldandReqField.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" hda="true" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdNqZPDTn7eb05EhmD6kfSNodw8lq0C6g7DnoW8ZWh6HAmlytpOSm5t_PDkSeez4iQIOuw8H85HYmEFwCy8qw2312IULHWdjvpMxm1UcyGHzytaXqZho-OZmXvlQ8svzFvFsQeVAQYbXyK/s320/Big_fieldandReqField.jpg" width="320" /></a></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">Now it’s your turn to select your move according to the context:</span></div>
<div class="MsoListParagraph" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; mso-add-space: auto; mso-list: l1 level1 lfo3; text-align: left; text-indent: -18pt; unicode-bidi: embed;">
<span style="color: #351c75;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">1)</span><span style="font-family: "Times New Roman";"> </span></span></span><span dir="ltr"></span><span style="font-family: Calibri;">Accept the bug rejection</span></span></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt 18pt; text-align: left; text-indent: 18pt; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #351c75;">Sometimes the other side of the coins’ argument has validity.</span></span></div>
<div class="MsoListParagraph" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; mso-add-space: auto; mso-list: l1 level1 lfo3; text-align: left; text-indent: -18pt; unicode-bidi: embed;">
<span style="color: #351c75;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">2)</span><span style="font-family: "Times New Roman";"> </span></span></span><span dir="ltr"></span><span style="font-family: Calibri;">Kick the ball within the requirements field</span></span></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #351c75;">While the “requirements – yes or no?” argument limits the discussion, if you are able to win it, it will be easier to lead the bug to fix, as the bug handling process is usually more efficient and faster than the requirements definition and approval process. Beware of being too persuasive and winning the argument without a proper reviewer.</span></span></div>
<div class="MsoListParagraph" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; mso-add-space: auto; mso-list: l1 level1 lfo3; text-align: left; text-indent: -18pt; unicode-bidi: embed;">
<span style="color: #351c75;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-family: Calibri;">3)</span><span style="font-family: "Times New Roman";"> </span></span></span><span dir="ltr"></span><span style="font-family: Calibri;">Kick the ball to the big field of value again</span></span></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt 36pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;"><span style="color: #351c75;">When the rejection is correct process-wise but not product value wise, it’s time to play in the big field with the big boys. Advocate your bug to stakeholders and decision makers, learn more from customer support and architects or submit a requirement change request. Running in this field is long distance, scoring a goal is much rarer, but this is where you will meet the professional players and improve your own skills.</span></span></div>
<div class="MsoNormal" style="direction: ltr; margin: 0cm 0cm 10pt; text-align: left; unicode-bidi: embed;">
<span style="font-family: Calibri;">While the requirements discussion can be more or less relevant, playing beyond it might bring the best rewards.</span></div>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com1tag:blogger.com,1999:blog-3295369038568507430.post-26229481083829161192011-07-24T22:25:00.000+03:002011-07-24T22:50:45.383+03:00The Double Sin of the Early Perfect Test Case<br />
<br />
Since I started leading my current testing team, I’ve been struggling with the test case base.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
There are a few factors that made the test case base clumsy and outdated. One of the most stunning facts for me was that even test cases that demonstrated big investment in details were often out dated. Despite the large investment, some details were wrong, had changed, had never been true, or were outdated. Often, you could find new testers struggling to understand and execute the test baseline.<br />
<br />
<span style="color: blue;"><strong>The First Sin: Detailed Gen 0 Test Cases</strong></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyimI0Q6PJWbkA-H4UzNJBkcezEAiv98Fs85iNIoOh-pwX97vGpZ62boaKch7Z8W30tW8LY1MvrD1fdjpvVvznjTr7uptCroLPUrNvzU1r4o82ZROrpAVRxRUazk3MHnO35Ry-E6iuqdaY/s1600/carry_books.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyimI0Q6PJWbkA-H4UzNJBkcezEAiv98Fs85iNIoOh-pwX97vGpZ62boaKch7Z8W30tW8LY1MvrD1fdjpvVvznjTr7uptCroLPUrNvzU1r4o82ZROrpAVRxRUazk3MHnO35Ry-E6iuqdaY/s200/carry_books.jpg" t$="true" width="133" /></a></div>
In my experience when test cases are created before the test designer sees and experiences the product, it’s more than likely that they will not be accurate. <br />
<br />
The reason for the failure is the limitation of our mind to perfectly imagine an abstract design. Sometimes even the designers doesn’t have a 100% complete design. While you can plan many things ahead of time, you can also anticipate that you will have gaps in your planning, but not anticipate their exact location.<br />
<br />
<span style="color: blue;"><strong>The Second Sin: Detailed Gen 1 Test Cases</strong></span><br />
<br />
What about tests that successfully made it from Gen 0 to Gen 1 and proved to be correct? What about tests that were designed after the product was introduced and tried? They might not suffer from the first sin, but they will suffer from the second sin. Although these tests were accurate in the assumptions about the product itself, not all of them were the correct ones to run. Moreover, some of the tests that did a great job for Gen 1, finished their duty. Using these tests in regression will not be efficient.<br />
<br />
As we progress with the test execution, we learn more about the risks of the product. At the end of the first generation testing we can plan better regression testing for the next generations. Typically we will add a small number of test cases and get rid of a larger amount of tests.<br />
<br />
<span style="color: blue;"><strong>Conclusion: investing in too many detailed test cases during Gen0 and Gen1 is not efficient.</strong></span><br />
<br />
I’ll try to define basic guidelines to deal with this issue:<br />
<br />
1) Lower the expectations from Gen0 and Gen 1 test cases – understand the built-in limitation of these test cases: Gen 0 might be inaccurate and Gen 1 will not fit your regression needs.<br />
<br />
2) Seek for alternatives when planning Gen 0 and Gen 1 test cases. For example, use checklists instead of steps (See “<a href="http://www.kaner.com/pdfs/ValueOfChecklists.pdf">The Value of Checklists and the Danger of Scripts</a>” by Cem Kaner). <br />
<br />
3) Try to thinks of better uses of your time during test planning. For example, invest in automation infrastructure during preparation.<br />
<br />
4) Realize that moving from Gen 1 o Gen 2 will require more time in test documentation, and is not just copy-paste from Gen0-1 test cases. In this stage, you can save time by creating less “perfect” test cases of new features in the same product introduced at this time. <br />
<br />
5) Consider the possibility that you will come to like your lean Gen 0 and Gen 1 test cases so much, that you won’t want to invest in more details for the regression test case base. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW3aiMJjPMxvUp8d94jXD5G6Oji5tmwwFAOUxs3lbrMd5fo6KfCxo5r-lHtIbMwKe77DGsbonD12LdB0Jczeo2Phi-dPtC_mVShHwCaYk8nfB2sPTvIEg_lrk4PU36SRqc6nQ_KBA2IwHf/s1600/clock_sand.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW3aiMJjPMxvUp8d94jXD5G6Oji5tmwwFAOUxs3lbrMd5fo6KfCxo5r-lHtIbMwKe77DGsbonD12LdB0Jczeo2Phi-dPtC_mVShHwCaYk8nfB2sPTvIEg_lrk4PU36SRqc6nQ_KBA2IwHf/s320/clock_sand.jpg" t$="true" width="320" /></a></div>
<br />
In case you claim that your experience is different and it’s possible to create perfect re-usable test plans in early stages, I can think of the following possibilities: <br />
<br />
1) You are a better product and test designer than the ones I work with (please mentor me). <br />
<br />
2) You don’t have complex and innovative products like the products that I test. <br />
<br />
3) You follow a perfect process that prevents you from falling in such traps (and I would like to hear more about it). <br />
<br />Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com5tag:blogger.com,1999:blog-3295369038568507430.post-43572566697432363672011-05-08T14:30:00.000+03:002012-03-19T15:19:49.139+02:00Is there a Pesticide paradox in testing?As a tester, I have heard and read the term “Pesticide paradox “ on many occasions . However, I do not feel comfortable with it so I avoid using it. In the last few days, I decided to examine it more carefully – does this term makes sense? I did some googling to explore the common use of the term in SW testing, the definition of the paradox in the real pesticide world, and to try to give an answer to the question.<br />
<br />
The original paradox is explained in <span bab_id="0" style="color: red; cursor: hand; font-weight: bold; text-decoration: underline;"><a href="http://en.wikipedia.org/wiki/Paradox_of_the_pesticides">Wikipedia</a></span> :<br />
<span style="color: blue;">“The Paradox of the pesticides is a paradox that states that by applying pesticide to a pest, one may in fact increase its abundance. This happens when the pesticide upsets natural predator-prey dynamics in the ecosystem.”</span> I'll refer to this definition as the "original".<br />
<br />
The common use of the term in Testing as I experienced it, is to describe that when using scripted tests (automated in most cases), which are repeated over and over again, eventually the same set of test cases will no longer find any new defects (I took a quote from the ITCQB syllabus which is great source to find "terms of common use"). I'll refer to this definition as the "common use"<br />
<br />
I also found the explanation that <span style="color: blue;">"A static set of tests will become less effective as developers learn to avoid making mistakes that trigger the tests."</span> (<a href="http://www.rbcs-us.com/images/documents/Introduction-to-Critical-Processes-(Article).pdf">A paper by Rex Black</a> ). <br />
<br />
I could say that the common use of the term is to describe that repeating the same checks tends to yield less bugs from run to run. I agree that usually this is true – according to my experience, since bugs get fixed, and usually when no major changes are introduced and no very bad development occurs, products become more stable from release to release also, the development learning explanation is logical.<br />
<br />
If we try to correlate between the Testing common use of the term and the original one, we will be able to see a very loose connection – SW bugs do not increase due to the fact that you repeat some checks, and moreover, where is the paradox here? If you ask a question over and over, it is very likely that most of times you'll get the correct answer. I don’t call this a paradox.<br />
<br />
When you analyze a term, it is good practice to read the source. I on't have the book Software testing techniques by Boris<strong> </strong>Beizer, from which is the term origin, but thanks to <a href="http://www.softwarequotes.com/">http://www.softwarequotes.com/</a> , I found it:<br />
<span style="color: blue;">First law: The pesticide paradox. Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffective. </span><br />
<span style="color: blue;">- Boris Beizer - Chapter 1, Section 1.7. Boris notes that farmers solve this problem by planting sacrifice crops for the bugs to eat, and laments that programmers are unable to write sacrifice functions., Software testing techniques by Boris Beizer , ISBN: 0442206720. </span>I'll refer to this quote as "Bezier's".<br />
<br />
Well, that makes sense too, and is a good foundation law before you learns about methods – any method is not fully effective. Like with the common use term, I don't see the paradox.<br />
<br />
<span style="color: blue;">I'll summarize my conclusions on the subject </span><br />
<br />
• The connection between the original term – the biological phenomena of the "Pesticide paradox" and the common use in the testing world is mostly due to the use of the term “bug” to describe a defect, and that the original paradox deals with type of in efficiency when trying to pesticide pests. <br />
<br />
• A clear logical paradox appear in the original phenomena – you kill bugs, but this increases their abundance, while the Bezier's and the common use of the term talk about less efficiency, not a paradox. A possible response to this statement will be to argue that when you do something and it is not efficient this is a paradox, to my taste this is too apologetic argument.<br />
<br />
• The original SW testing usage quote from Bezier is a warning about relying on a sole method, while the common use by others, which usually refer to Bezier as the source, is to describe the decreased efficiency of repeating a scripted test. <br />
<br />
<span style="color: blue;">It’s fine to use a cool term with loose analogy to describe your idea, but as you can see in our example, this might cause others to "steal" your term to describe other things (and worse – reference you as the source). In addition, it will be hard to convince people with critical thinking to use your term. I will leave the pesticide paradox to its original meaning.</span>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com4tag:blogger.com,1999:blog-3295369038568507430.post-71519513447847845802011-01-04T18:14:00.000+02:002011-01-04T18:16:34.371+02:00Note about terminologySometimes, It’s all about branding. When you want to sell a product or an approach, using terminology that will "sell" your approach to your stakeholders or the professional community has impact on the chances that it will be accepted . <br />
When Fred Hoyle coined the term Big Bang during a 1949 BBC radio broadcast, he did not anticipate that he is doing a branding service to the competitive theory. According to Hoyle, who favored an alternative "steady state" cosmological model, he used the striking image to highlight the difference between the two models. Probably he did it too well :-)<br />
<br />
<a href="http://www.shino.de/" rel="home" title="Markus Gärtner"><span style="color: black;">Markus Gärtner</span></a> in his post <a href="http://www.shino.de/2010/12/22/active-vs-passive-testing/">Active vs. passive testing</a> introduce refreshing terminology for what we use to call Testing Vs. Checking or Exploratory Vs. Scripted. He uses the terms Active Vs. Passive testing. He also talk about the role of judgment which is part of being active, but basically, the new pair of active Vs. Passive comes to describe Research, critical, exploratory approach versos executing the planned tests, checking and following defined scripts.<br />
<br />
This new terminology has some benefits on the terms we are used to. It's not using a term that we already use to describe wider area like "Testing". And unlike the term exploratory it's not suffer from the "unstructured" public image.Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-62222389417877908332010-11-11T17:00:00.000+02:002010-11-11T21:13:44.327+02:00Using the definition of quality as a tool for context awareness<span style="color: #351c75; font-size: large;">What is quality?</span> <br />
Since testers job is to perform quality assessments, ask questions and provide answers regarding quality, understanding what quality is can help identify dilemmas in our work and put them in context.<br />
My preferred definition for quality is “value to someone” (Jerry Weinberg). Cem Kaner adds the extension “who matters”. Usually I refer to this VIP as a “User”.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div>Recently, I noticed that using this definition helps identify context and explain the context to others during discussion.<br />
A few examples:<br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<span style="color: #351c75; font-size: large;">Focusing a discussion on the goal rather than the process.</span><br />
Process is important, but sometimes process discussions disconnect from the goal. For example, when a bug is opened and there is a discussion about whether it’s a requirement violation or not, providing insight on the User value could help direct the discussion to a productive place. This is also true when a tester spots an issue and is not sure whether it falls under his responsibility to report it – “is there a threat to the value to the users?” is a good litmus test to aid the decision.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsiAZw7tbkeTP3r48nQsWu3ssiN_0WidPstVT9jgF0s6StZwsqsLvzpVMzP-F-IaHdC51OtItytBOtJJ_rJyVt8gbpMtXCDKs8iZj_fAiAbMNRZ1kE9rkFSRoAlnuuDABvGD9CEQV5sI2s/s1600/120px-Geodetic_compass.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" px="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsiAZw7tbkeTP3r48nQsWu3ssiN_0WidPstVT9jgF0s6StZwsqsLvzpVMzP-F-IaHdC51OtItytBOtJJ_rJyVt8gbpMtXCDKs8iZj_fAiAbMNRZ1kE9rkFSRoAlnuuDABvGD9CEQV5sI2s/s1600/120px-Geodetic_compass.jpg" /></a><br />
<span style="color: #351c75; font-size: large;">Selecting a process</span><br />
When defining a process, understanding how it’s connected to the value to the user is a good way to examine it. When we define a process it should connect our efforts to the goal rather than disconnect them. A negative example is when mixing between the priority for fixing the bug and the bug Severity. Many times there is correlation between the two, but it will be a good idea to define process that will address the cases when there is a difference between the two (like setting different field for each goal) so the information of the value threat severity will not be replaced by the work plan.<br />
<br />
<span style="color: #351c75; font-size: large;">Determine classification of a problem</span><br />
We face many types of problems. Some related to the quality of the product and some interfere with other aspects of our work, delay our progress or block our testing efforts. When a testability issue is examined in perspective of user value, it can be underrated since our inability to test efficiently is the real issue here, and not the impact of the tested attribute on the end user.<br />
Sometimes there are two types of issues combined together in one problem description. Distinguishing between the value to the user and the other issue, helps provide a clearer explanation.<br />
<br />
<span style="color: #351c75; font-size: large;">Overcoming the tunnel effect when setting bug severity</span><br />
Setting correct bug exposure classification helps the bug life cycle start on the right foot. When a tester tests his area of responsibility and spots a problem, sometimes it’s not easy to relate to the big picture – what will be the impact on the user? Will he be able to recover? Or in other words – what is the threat in terms of value to the user. Answering this question easily directs the bug submitter to specify the correct bug severity.Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-77883038667088394542010-09-02T15:49:00.000+03:002010-09-02T16:06:14.453+03:00Indicators of Useful or Useless IndicatorsThe Testing Experience magazine published my article about Indicators of Useful or Useless Indicators In its recent issue about metrics.<br />
<br />
<div>I am very happy with this article publication for the following reasons: </div><ul><li>I was able to transform my thoughts that came from my experience, into a context-driven article.</li>
<li>The publication exposed more of my thoughts and writing to my colleagues within the design center. </li>
</ul>Following is an embedded version of the article. I recommend to <a href="http://www.testingexperience.com/testingexperience11_09_10.pdf">download the magazine issue itself</a> .<br />
<a href="http://www.scribd.com/doc/36795852/testingexperience11-09-10-Hazan-Fuchs" style="-x-system-font: none; display: block; font-size-adjust: none; font-stretch: normal; font: 14px Helvetica, Arial, Sans-serif; margin: 12px auto 6px; text-decoration: underline;" title="View testingexperience11_09_10_Hazan-Fuchs on Scribd"></a><object data="http://d1.scribdassets.com/ScribdViewer.swf" height="500" id="doc_818192739448162" name="doc_818192739448162" rel="media:document" resource="http://d1.scribdassets.com/ScribdViewer.swf?document_id=36795852&access_key=key-1tpd5njvxq1mcjrnjcky&page=1&viewMode=list" style="outline-color: invert; outline-style: none; outline-width: medium;" type="application/x-shockwave-flash" width="100%"> <param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf"><param name="wmode" value="opaque"><param name="bgcolor" value="#ffffff"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><param name="FlashVars" value="document_id=36795852&access_key=key-1tpd5njvxq1mcjrnjcky&page=1&viewMode=list"><embed id="doc_818192739448162" name="doc_818192739448162" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=36795852&access_key=key-1tpd5njvxq1mcjrnjcky&page=1&viewMode=list" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="500" width="100%" wmode="opaque" bgcolor="#ffffff"></embed> </object> <br />
<br />
<br />
Wishing you a Happy Hebrew New Year שנה טובה ומתוקה,<br />
Issi<br />
<div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihqPAVbKOkmn_XJeE-iiT3iosf3oPo2_9so03gTj_IpmQ6_XNeLvDNIPDzmy7e0ZcX6FW3CLnWf72rgBdiin53GCRVNLO4q0zcqIldT1QM5wbmp1KxuLr7e5SlUYRlYin6SoRj3fW9UEwy/s1600/ShanaTova.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" ox="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihqPAVbKOkmn_XJeE-iiT3iosf3oPo2_9so03gTj_IpmQ6_XNeLvDNIPDzmy7e0ZcX6FW3CLnWf72rgBdiin53GCRVNLO4q0zcqIldT1QM5wbmp1KxuLr7e5SlUYRlYin6SoRj3fW9UEwy/s320/ShanaTova.jpg" width="320" /></a></div>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-57605268753786387822010-08-01T14:43:00.000+03:002010-08-01T16:13:03.720+03:00Peaks are fun, but bit scary<span style="color: purple; font-size: large;">Writer Meta Thoughts.</span><br />
<span style="color: black; font-size: small;">Last week was definitely a peak in my writing journey. On Sunday, an article of mine was accepted for print by "Testing Experience" magazine. On Tuesday, Pradeep Soundararajan mentioned my name among other "Good thinkers and future experts". I wrote a post on Wednesday, and on Thursday discovered that my site had a record number of visitors. A short investigation led me to the traffic source - The following Tweet by James Bach:</span><br />
<span style="font-size: small;"><span style="color: black;"><span style="color: blue;"><strong>jamesmarcusbach:</strong> Another new sapient testing blogger (avoids pat answers, critical self-analysis). I like this guy</span> <a href="http://bit.ly/dl042u">http://bit.ly/dl042u</a></span> </span><br />
<span style="color: black; font-size: small;">Thank you, James!</span><br />
<span style="color: black; font-size: small;">What a week! No wonder, this week was also my Birthday week. While enjoying the compliments, a concern sneaks into mind - How do I maintain my reputation? The concern fades when I look down the path - remembering the journey I started a year and a half ago, daring to blog my first post and going from there, searching for my inner voice and improving my writing skills. Continuing the journey, looks less scary than taking the first step.</span><br />
<span style="color: black; font-size: small;">Here's to another year of new Insights and Peaks.</span>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-44890691635066366012010-07-28T08:35:00.000+03:002010-07-29T07:58:47.631+03:00The numbers monsterI just finished polishing my article about meaningful indicators; I had hit the "Send" button and felt good. I was able to express my thoughts about meaningful and meaningless numbers, and my article had been accepted to print. <br />
<br />
While writing about indicators and numbers, I remembered that James Bach described the moment when he realized that the test cases count he had been asked to give his manager was meaningless as a turning point in his career (<a href="http://blog.utest.com/testing-the-limits-with-james-bach-part-1/2009/12/">utest blog</a>, "Testing the limits" with James Bach).<br />
<br />
smiling, I lean my head towards my laptop, taking a small nap.<br />
Through the mist, an email message popped up to my face. The magical forest keeper forwarding me a message from the numbers monster: <span style="color: blue;">The numbers monster is hungry and wants me to give her some numbers.</span><br />
<br />
I replied to the forest keeper:<span style="color: purple;"> I understand that the numbers are very tasty, but they are complete junk food. We can ask the monster what is her purpose in digesting the numbers, so I will be able guide her to find some good herbs that will satisfy her, instead of fattening her with the junk food she asked for. </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHosi6TbLGn0_jvr1x1zZY2YTVfuPDftI6FxeeCKzsJcaQWntNW1Tyarc6VugGVI5cP0N6Z0QURCsCHuL2BJ8AVJa6JdVrJ2RdBRbRjcTClJhCr6X_RYjxpOH6VQts4giSRnxGlIkcOnEw/s1600/monster.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" hw="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHosi6TbLGn0_jvr1x1zZY2YTVfuPDftI6FxeeCKzsJcaQWntNW1Tyarc6VugGVI5cP0N6Z0QURCsCHuL2BJ8AVJa6JdVrJ2RdBRbRjcTClJhCr6X_RYjxpOH6VQts4giSRnxGlIkcOnEw/s200/monster.jpg" width="156" /></a></div>The forest keeper replied again in few seconds: <span style="color: blue;">The monster demand her numbers.</span><br />
<br />
I replied back: <span style="color: purple;">our forests success depends on the monsters health. I know that she is used to the junk food that she gets from other creatures in the forest, but I don't think it is good for her. I watch monsters when they eat the numbers junk food, they start going in the wrong direction, and even when they go in the right direction, they waste the dwarfs energy supplying them junk food, instead of gardening the herb plot and taking care of the forest's prosperity.</span><br />
<br />
The forest keeper replied again: <span style="color: blue;">The monster demands her numbers. As a forest keeper, I need you to co operate in order that the dwarfs will keep feeding the monsters numbers. It’s easy for you and for them, and most importantly, it gives the monsters the feeling that they control the forest and not the dwarfs.</span><br />
<br />
My mind starts thinking how to convince the forest keeper to give up his tradition and do a better job for our forest, but then I woke up from the dream.<br />
<br />
What do you do when you meet the forest keeper and the numbers monsters?Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com2tag:blogger.com,1999:blog-3295369038568507430.post-30756719247489354302010-06-16T21:26:00.000+03:002010-06-20T20:39:41.388+03:00Humor and bug submission - comedy or tragedy?One of the testers working on the validation project I am leading, submitted a bug with the following title: <b><span style="color: #20124d;">"Unbelievably short period of appearance of the feature menu - feature impossible to use"</span></b>. In addition he mentions in the bug description that<span style="color: #20124d;"> <b>the feature is impossible to enter for anyone but an experienced "Quake Tournament Player"</b></span>. <br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
Both the title and the description made me laugh, especially since I remember that many years ago, a few of my fellow testers and myself used to spend our lunch breaks playing Quake. <br />
<br />
While enjoying the humor, all of my bells of bug submission guidelines rang. We know that bug submission is a very sensitive and responsible task, and the bug must be presented in an objective manner, which was not the case here. On the other hand, reading the bug gave me a real laugh, which we need while working so hard. In addition, I can even say that using the funny example helped me identify with the end-user described as not an experienced "Quake Tournament Player", since I suck at playing arcade Quake, too.<br />
<br />
We know that humor should be used wisely - to relieve tension and give us a good laugh that relieves the stress. Even the serious discipline of medical treatment is aware of the contribution of humor and laugher to the patients and invented the profession of medical clown.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFEc-khxKlTDBkQ48e1xoe7juyravIR5oBQQWl62pa2jAoJWUGscjH7TSUPofwYngWzK_Mx4ypzXis40Vf3twnWiYR5l-1l_oqatoXzoUKvNX364xbDY8to-7qXOAP-Lj6-9P7aZvV4rfJ/s1600/comedyTragedyGold.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="229" qu="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFEc-khxKlTDBkQ48e1xoe7juyravIR5oBQQWl62pa2jAoJWUGscjH7TSUPofwYngWzK_Mx4ypzXis40Vf3twnWiYR5l-1l_oqatoXzoUKvNX364xbDY8to-7qXOAP-Lj6-9P7aZvV4rfJ/s320/comedyTragedyGold.jpg" width="320" /></a></div><br />
<div></div>Should we go in the sterile “BKM” direction or share our sense of humor even in our bug descriptions? <br />
<br />
Since I value risk taking, I would say that sometimes we can allow ourselves to go a bit wild with a few guidelines: <br />
<ul><li><span style="color: #20124d;">Make sure you personally know the possible stakeholders who will look at, or work on, the bug, and make sure they know you and value a sense of humor. </span></li>
<li><span style="color: #20124d;">Don’t start with jokes before you've established your credibility as a serious bug submitter.</span></li>
<li><span style="color: #20124d;">Don’t do it too often. Once or twice in a project life cycle is enough. </span></li>
<li><span style="color: #20124d;">Make sure your joke is funny (perhaps you would like to test it before hand). </span></li>
<li><span style="color: #20124d;">No need to mention that the joke should not be offensive in any manner to anyone.</span></li>
<li><span style="color: #20124d;">At the end, make sure that the bug is perfect and clear from all other aspects. A bug with a joke, but without steps to reproduce, might look even worse than just a bad bug missing steps to reproduce.</span></li>
<li><span style="color: #20124d;">Understand that following all of the guidelines above cannot guarantee that you will not fall into hidden traps.</span></li>
</ul><br />
<div></div>Comedy can easily turn into tragedy. Sometimes taking risks pays off, and sometimes not. Do it, but at your own risk!Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com3tag:blogger.com,1999:blog-3295369038568507430.post-65387390213706356952010-04-27T22:35:00.000+03:002010-09-02T15:53:40.600+03:00Celebrating 10 years of testing - the Milestones and the People<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3YQ6RO5vVOw8x-pS8HTuMs1hxBHQJrBta1zBL9u1366QPUGdLhrEnEb8gU5gxyXEsj6PxaAdyUKFDzI3hZbmGoiODYmDJWcJjUUZEdtCdabY3f5zkHec2QSb_2zdOtu75vo9Tg5VATrA8/s1600/fireworks.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5464905596913569074" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3YQ6RO5vVOw8x-pS8HTuMs1hxBHQJrBta1zBL9u1366QPUGdLhrEnEb8gU5gxyXEsj6PxaAdyUKFDzI3hZbmGoiODYmDJWcJjUUZEdtCdabY3f5zkHec2QSb_2zdOtu75vo9Tg5VATrA8/s320/fireworks.jpg" style="cursor: hand; float: left; height: 256px; margin: 0px 10px 10px 0px; width: 320px;" /></a><br />
<div>This month marks 10 years since I moved from the I.T. support field into SW testing. Celebrations often find you very busy with other activities like I am now these days, in a middle of a validation project, but nevertheless I would like to give some thought to important milestones during this testing decade. <br />
<br />
I will follow the <a href="http://www.context-driven-testing.com/">context driven school of testing</a>, which emphasizes the people as the most important part of the Testing project and I will celebrate each milestone and mention the related people who helped me reach it.<br />
<br />
<strong>Milestone:</strong> First mistake<br />
<strong>Person:</strong> Myself (who else could I blame…?)<br />
Bad decision – bad result – when I let development close a non-reproducible bug, it was a mistake - since such bugs tend to reproduce at a later stage... Fortunately, failure reproduced again before the product went out to certification, during the pre-certification process, but that caused a lot of noise. Believe me - learning this lesson made me a much better tester.<br />
<br />
<strong>Milestone:</strong> Leading a team of really great testers<br />
<strong>People:</strong> Jose & Itzik<br />
Jose, a new student (now a firmware architect) and Itzik, a tester with some experience (now a SW developer) joined my team. Together we built a team of passionate testers who challenged the tested SW. Without knowledge of too many methodologies and processes we explored and invented new methods and tools. We did a great job for our stakeholders.<br />
I discovered my skill as a team leader – not intimidated by the talents of others – but helping the team express their abilities.<br />
<br />
<strong>Milestone:</strong> My really great bug<br />
<strong>Person:</strong> Jose<br />
When I wondered “what would happen if…” and did the extra action that exposed a major failure in the product, I did not recognize how great a bug it was. Only when Jose (appearing in this post for the 2nd time), pointed out the thought process and mindset that led me to find this bug did I understand the significance of this occasion. Since then, a framed hard copy of the bug entry hangs in my cubicle and I refer to it as my own Tester Certification.<br />
<br />
<strong>Milestone:</strong> Redefining myself as a Tester<br />
<strong>Person:</strong> <a href="http://www.satisfice.com/blog/">James Marcus Bach </a><br />
When I was sent to his “How to be an expert tester” session, I did not anticipate its impact. Perhaps I was ready after 5 years of experimenting and perhaps it was James’ style, but this session made me start a journey of reading, talking and thinking about testing, exposing myself to different approaches, finding my preferences and defining my approach to different aspects of our profession.<br />
<br />
<strong>Milestone:</strong> Participating in the Methodologies workgroup<br />
<strong>People:</strong> The workgroup members<br />
Participating and contributing to the methodologies workgroup of my testing department was not only an honor, but a challenge. Besides reviewing the work of others, I contributed two of the chapters of our methodology document. I had to explore, define, write and discuss the methodology of bug submission and test case authoring, exposing myself to criticism and debate.<br />
<br />
<strong>Milestone:</strong> Starting to blog<br />
<strong>People:</strong> Shmuel Gershon, Pradeep Soundararajan, Parimala Shankaraiah<br />
During the last year, I started blogging. The inspiration came from my friend <a href="http://testing.gershon.info/">Shmuel Gershon </a>who has been blogging about testing for a few years. I started blogging with a first post that reviewed Test books and magazines. Then I read Pradeep Soundararajan’s post <a href="http://testertested.blogspot.com/2009/06/why-good-software-testers-should-come.html">“Why good software testers should come out of the well?”</a>, and started blogging my own ideas too. I had been thinking about it for a long time, but his last post gave me the final push after a few months of an idle blog. Parimala Shankaraiah with her refreshing blog <a href="http://curioustester.blogspot.com/">“Curious Tester”</a> inspired me by showing how simple ideas turn into brilliant and refreshing posts.<br />
<br />
All of these people and milestones have made me the Tester that I am today, and made for a thoroughly enjoyable decade. Thank you, And have a great next decade.</div>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com4tag:blogger.com,1999:blog-3295369038568507430.post-52697314427947545742010-03-29T15:02:00.000+03:002010-04-28T09:47:35.469+03:00Bugs in children’s literatureDuring the last week, we heard that the famous books illustrator <strong><span style="color: blue;">Shmuel Katz</span></strong> (<a href="http://he.wikipedia.org/wiki/%D7%A9%D7%9E%D7%95%D7%90%D7%9C_%D7%9B%D7%A5_(%D7%A6%D7%99%D7%99%D7%A8)">see also Hebrew Wikipedia article )</a> passed away. His biography as a holocaust survivor, Kibbutz member and an extreme left-wing activist may be very interesting, but he is most famous for illustrating the children’s book <a href="http://he.wikipedia.org/wiki/%D7%93%D7%99%D7%A8%D7%94_%D7%9C%D7%94%D7%A9%D7%9B%D7%99%D7%A8"><strong>Dira Lehaskir</strong></a> ("Apartment for Rent") by <a href="http://en.wikipedia.org/wiki/Leah_Goldberg">Lea Goldberg</a> which was written in 1959 and became one of the classics of Hebrew children's literature. <br />
<br />
<br />
Katz’s painting on the book cover is also the most famous kid’s literature painting bug.<br />
The book starts with the following words: <span style="color: blue;">"בְּעֵמֶק יְפֵה בֵּין כְּרָמִים וְשָׂדוֹת עוֹמֵד מִגְדָּל בֶּן חָמֵשׁ קוֹמוֹת",</span> or in my free english translation <strong><span style="color: blue;">"In a beautiful valley between vineyards and fields stands a five floor tower".</span></strong><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><img border="0" height="320" nt="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggzXO4spVAt6XBhR9XQ6ya5qKu15z42Q_gFvAF3Mu9D7ITrYFMRR9c_mWsWWDB7SydMxLERDyT0AGHEI6D0NsGzuGJ4QCPSXp2xqyPwrqLB39guqvjZfBktVrR_KeeVOzj8-Gpb-2EtD6r/s320/diralehaskir_w_frame.jpg" width="244" /></div>When <strong><span style="color: blue;">Katz</span> </strong>passed away, one of the T.V. channels broadcast a recent interview with him. In the interview he admits that he regrets the moment when he noticed that he painted only four floors(As you can see in the picture above) while there are five in the text. He didn’t take the time to fix his mistake since he believed that no one would notice. (Un)fortunely, the book become a best seller and he got many complaints about this bug for the rest of his life. <br />
<br />
If you are in the business of Testing and Development that sounds familiar, no?<br />
<br />
Even when the author himself is the illustrator bugs slip through the paintbrush.<br />
The great Israeli Children books author and illustrator of the current century (And I can say that as a father of three who has been reading bed time stories for few years), <strong><span style="color: blue;">Rinat Hoffer</span></strong> (No Wikipedia article about her yet) does it too. In her funny book <strong><span style="color: blue;">“Tom’s day”</span></strong>,about a day's in a nutty girl's life, she asks:”What's Grandpa hiding in his coat? A toy car? Or a lollipop? No! today he brings Grandma Rachel!” Very funny, and when you open the coat you can actualy see Grandma Rachel hiding, but also a lollipop, which we just said is not there... My son spots the bug easily, and when we will have time we might complain to <strong><span style="color: blue;">Rinat</span></strong>.<br />
<br />
These are only two examples. From time to time me and my kids spot more bugs in our books. <strong><span style="color: blue;">You are welcome to submit your examples in this posts' comments</span>.</strong><br />
<br />
The thing that most annoys me when spotting such bugs is that I suspect that most of the time the bugs were spotted before the publishing of the books, but the editors did not have enough respect for our kids intelligence to think that they would notice the mismatches. <br />
<br />
The analogy for SW development is obvious. Who didn’t hear “<span style="color: blue;">Who will ever use this feature?”</span> or <span style="color: blue;">“No one will notice?”</span>. We would better remember Katz’s lesson and respect the anonymous user.Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com1tag:blogger.com,1999:blog-3295369038568507430.post-45925214677179466742010-02-08T23:15:00.000+02:002010-02-10T08:52:53.521+02:00Methods for testing in a scripted test design environment<p>The original title of the post was "Methods for <strong>exploration </strong>in the scripted enviroment". However I went a step forward, using Michael Boloton's distinction, to sharpen the point of the discussion. I know that not all of my points in this post adhere to Michael's definitions in his article (for example about using specs), but I permit myself to use his most basic definitions for the sake of my post.<br /><span style="font-size:130%;"></span></p><p>Michael Bolton in his famous post about <a href="http://www.developsense.com/2009/08/testing-vs-checking.html">Testing Vs. Checking</a><span style="font-size:100%;"> defines:</span><br /><span style="font-family:times new roman;"><span style="color:#000099;"><strong><em>Checking</em> Is Confirmation<br /></strong>Checking is something that we do with the motivation of confirming existing beliefs. Checking is a process of confirmation, verification, and validation. When we already believe something to be true, we verify our belief by checking…. Checking is focused on making sure that the program doesn't fail. </span><br /></span><span style="color:#000099;"><br /><span style="font-family:times new roman;"><strong><em>Testing</em> Is Exploration and Learning<br /></strong>Testing is something that we do with the motivation of finding new information. Testing is a process of exploration, discovery, investigation, and learning. When we configure, operate, and observe a product with the intention of evaluating it, or with the intention of recognizing a problem that we hadn't anticipated, we're testing. We're testing when we're trying to find out about the extents and limitations of the product and its design, and when we're largely driven by questions that haven't been answered or even asked before… </span></span><br /><span style="color:#000099;"><br /></span>Now that we have refreshed our minds with Bolton’s definition of <em>Testing</em>, the challenge of doing testing in a scripted environment is clearer. In other words – when we are in a scripted environment that naturally emphasizes following the written instructions which is actually <em>checking</em>, how do we encourage the testers to do t<em>esting</em></string> when scripted test design is a given? This is the case in most of the testing that I am involved in, although ET is getting more and more space in the activities that I am part of.<br /></p><p><br /><span style="font-size:100%;"><span style="color:#000099;">I would like to list a few methods that I used, learned or was witness to. I don't have a “preferred one”, but I like them all:</span></span></p><p><span style="color:#000000;"><strong>"Run, then read”</strong></span> –Read the test title, design the test in your mind or on a piece of paper, run the test, then read the test steps and complete any items you hadn't thought of, if there are such items. </p><p><span style="color:#000000;"><strong>“Do something new”</strong></span> – In this method test results of “Pass” or “Fail” are not enough. The test report tool also has a mandatory field of a description of an additional test that you perfomed.<br /><br /><span style="color:#000000;"><strong>“Reveal the sources”</strong></span> – the test case author attached, linked or copied the requirements and/or design document as a relevant part of the test case. When the base of the test design appears in front of the tester as part of the test design itself – the tester is invited to again review the logic behind the design and to think about new ideas.<br /><br /><span style="color:#000000;"><strong>“Dialogue with the script”</strong></span> - Use the script as an exploration tool - see what the test case isn’t telling me, and to do so in each of its steps. “Do A, B, C; expect D” becomes: “Does it matter where A started from? What happens to B if A isn’t done? In how many ways I can do C? What else happens to the system apart from D?<br /><br /><span style="color:#000000;"><strong>“Doubt everything” or “Challenge everything”</strong></span> - start the tests considering the Test Case as wrong, equivocating and lying; everything is disputed (sometimes aggressively). The script told us to do something, we didn’t agree with it, or with the design that generated it, or with the requirement that generated the design, or even with the customer who generated the requirement.<br /><span style="color:#000099;"><span style="font-size:85%;"></span></span></p><p><span style="color:#000099;"><span style="font-size:85%;">(Thanks to my colleagues: BatSheva, Itzik, Shmuel and Jose who inspired me with these and other methods during the last decade.)</span><br /></span></p><p><br /><strong>Enviromental factors that increase <em>Testing</em> among testers:</strong> </p><p>Focus on bugs, less on coverage: A culture of “Fail is good”, example - “Bug of the week” discussion in each team meeting... </p><p>Emphasize the responsibility of the testers for the quality, not for the test execution</p><p>Encourage continuous learning - reading the requirements(again…), learning the product technologies and continuous discussions with the customers (and their rep. in the organization) architects and developers .</p><p></p><p><br /><br /><span style="font-family:times new roman;font-size:130%;color:#000099;">Are you (still) working in a scripted environment? How do you increase t<em>esting</em>? please Tell me.</span></p>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-67457411404187380102009-11-03T21:58:00.000+02:002010-02-10T08:41:42.738+02:00Read the requirements (again)!This week I helped my 7 years old Son, Harel, in a school project – building a model of Noah’s Ark. Since I liked it to be educational and to teach him a bit about approaching a project, I asked him to list all the Ark's requirements directly from the source. We opened the Bible and read (I am quoting here the original Hebrew text and the American standard version, Genesis 6,13):<br /><div align="right"><br /><span style="color:#000099;">עֲשֵׂה לְךָ תֵּבַת עֲצֵי-גֹפֶר, קִנִּים תַּעֲשֶׂה אֶת-הַתֵּבָה; וְכָפַרְתָּ אֹתָהּ מִבַּיִת וּמִחוּץ, בַּכֹּפֶר. </span><a name="15"></a><span style="color:#000099;">טו וְזֶה, אֲשֶׁר תַּעֲשֶׂה אֹתָהּ: שְׁלֹשׁ מֵאוֹת אַמָּה, אֹרֶךְ הַתֵּבָה, חֲמִשִּׁים אַמָּה רָחְבָּהּ, וּשְׁלֹשִׁים אַמָּה קוֹמָתָהּ. </span><a name="16"></a><span style="color:#000099;">טז צֹהַר תַּעֲשֶׂה לַתֵּבָה, וְאֶל-אַמָּה תְּכַלֶּנָּה מִלְמַעְלָה, וּפֶתַח הַתֵּבָה, בְּצִדָּהּ תָּשִׂים; תַּחְתִּיִּם שְׁנִיִּם וּשְׁלִשִׁים, תַּעֲשֶׂהָ. </span><a name="17"></a><span style="color:#000099;">יז וַאֲנִי, הִנְנִי מֵבִיא אֶת-הַמַּבּוּל מַיִם עַל-הָאָרֶץ, לְשַׁחֵת כָּל-בָּשָׂר אֲשֶׁר-בּוֹ רוּחַ חַיִּים, מִתַּחַת הַשָּׁמָיִם: כֹּל אֲשֶׁר-בָּאָרֶץ, יִגְוָע. </span><a name="18"></a><span style="color:#000099;">יח וַהֲקִמֹתִי אֶת-בְּרִיתִי, אִתָּךְ; וּבָאתָ, אֶל-הַתֵּבָה--אַתָּה, וּבָנֶיךָ וְאִשְׁתְּךָ וּנְשֵׁי-בָנֶיךָ אִתָּךְ. </span><a name="19"></a><span style="color:#000099;">יט וּמִכָּל-הָחַי מִכָּל-בָּשָׂר שְׁנַיִם מִכֹּל, תָּבִיא אֶל-הַתֵּבָה--לְהַחֲיֹת אִתָּךְ: זָכָר וּנְקֵבָה, יִהְיוּ. </span><a name="20"></a><span style="color:#000099;">כ מֵהָעוֹף לְמִינֵהוּ, וּמִן-הַבְּהֵמָה לְמִינָהּ, מִכֹּל רֶמֶשׂ הָאֲדָמָה, לְמִינֵהוּ--שְׁנַיִם מִכֹּל יָבֹאוּ אֵלֶיךָ, לְהַחֲיוֹת. </span><a name="21"></a><span style="color:#000099;">כא וְאַתָּה קַח-לְךָ, מִכָּל-מַאֲכָל אֲשֶׁר יֵאָכֵל, וְאָסַפְתָּ, אֵלֶיךָ; וְהָיָה לְךָ וְלָהֶם, לְאָכְלָה. </span><a name="22"></a><span style="color:#000099;">כב וַיַּעַשׂ, נֹחַ: כְּכֹל אֲשֶׁר צִוָּה אֹתוֹ, אֱלֹהִים--כֵּן עָשָׂה. וַיֹּאמֶר יְהוָה לְנֹחַ, בֹּא-אַתָּה וְכָל-בֵּיתְךָ אֶל-הַתֵּבָה: כִּי-אֹתְךָ רָאִיתִי צַדִּיק לְפָנַי, בַּדּוֹר הַזֶּה. </span><a name="2"></a><span style="color:#000099;">ב מִכֹּל הַבְּהֵמָה הַטְּהוֹרָה, תִּקַּח-לְךָ שִׁבְעָה שִׁבְעָה--אִישׁ וְאִשְׁתּוֹ; וּמִן-הַבְּהֵמָה אֲשֶׁר לֹא טְהֹרָה הִוא, שְׁנַיִם--אִישׁ וְאִשְׁתּוֹ. </span><a name="3"></a><span style="color:#000099;">ג גַּם מֵעוֹף הַשָּׁמַיִם שִׁבְעָה שִׁבְעָה, זָכָר וּנְקֵבָה, לְחַיּוֹת זֶרַע, עַל-פְּנֵי כָל-הָאָרֶץ</span> </div><div align="right"></div><div align="right"></div><div align="right"></div><div align="right"></div><div align="right"></div><div align="right"></div><div align="right"></div><div align="left"><span style="color:#000099;"></span></div><div align="left"><span style="color:#000099;"></span></div><div align="left"><span style="color:#000099;"></span></div><div align="left"><span style="color:#000099;"></span></div><div align="left"><span style="color:#000099;">Make thee an ark of gopher wood; rooms shalt thou make in the ark, and shalt pitch it within and without with pitch. And this is how thou shalt make it: the length of the ark three hundred cubits, the breadth of it fifty cubits, and the height of it thirty cubits. light shalt thou make to the ark, and to a cubit shalt thou finish it upward; and the door of the ark shalt thou set in the side thereof; with lower, second, and third stories shalt thou make it. And I, behold, I do bring the flood of waters upon this earth, to destroy all flesh, wherein is the breath of life, from under heaven; everything that is in the earth shall die. But I will establish my covenant with thee; and thou shalt come into the ark, thou, and thy sons, and thy wife, and thy sons wives with thee. And of every living thing of all flesh, two of every sort shalt thou bring into the ark, to keep them alive with thee; they shall be male and female. Of the birds after their kind, and of the cattle after their kind, of every creeping thing of the ground after its kind, two of every sort shall come unto thee, to keep them alive. And take thou unto thee of all food that is eaten, and gather it to thee; and it shall be for food for thee, and for them. Thus did Noah; according to all that God commanded him, so did he. And Jehovah said unto Noah, Come thou and all thy house into the ark; for thee have I seen righteous before me in this generation. Of every clean beast thou shalt take to thee seven and seven, the male and his female; and of the beasts that are not clean two, the male and his female."</span></div><div align="left"><span style="color:#000099;"><br /></div></span><div align="left"></div><div align="left"></div><div align="left"></div><div align="left"></div><div align="left"><span style="font-size:130%;"></span></div><div align="left"><span style="font-size:130%;"></span></div><div align="left"><span style="font-size:130%;"></span></div><div align="left"><span style="font-size:130%;"><span style="font-size:100%;">So Harel took a pencil and listed the requirements of his model in his own words:</span> </span></div><div align="left"><span style="font-size:130%;"><br /></div></span><div align="left"><span style="color:#000099;">1. It should be made pales from a certain wood type </span></div><div align="left"><span style="color:#000099;">2. The ark should be sealed (with pitch) </span></div><div align="left"><span style="color:#000099;">3. Size in cubits will be 300(Length) X 50(width) X 30(height) </span></div><div align="left"><span style="color:#000099;">4. A window should be on the upper floor in size of one cubit </span></div><div align="left"><span style="color:#000099;">5. A door should be on the side of the Ark </span></div><div align="left"><span style="color:#000099;">6. The Ark should have 3 floors </span></div><div align="left"><span style="color:#000099;">7. In addition: The Ark will hold Noah’s family and the beasts: a pair of each kind, but seven of each “clean” kind.</span></div><div align="left"></div><div align="left"><br /><span style="font-size:130%;"></span></div><div align="left">When he was done listing, we noticed a few things which are not usually shown in the typical drawings or models of this favorite subject: I never saw anyone painting the Ark in black, however, it’s very likely that after Noah pitched the Ark from outside and inside he didn’t paint it brown and draw wood parts on it, like is shown in most pictures. No one also painted seven sheep or giraffes although these animals are from the “clean” type according to the tradition and Noah might have brought seven of them. We also noticed that the triangle roof and the ramp are optional components. Then we went to work – fulfilling the requirements without the bias we had from other sources, and learned a lesson about getting the requirements from the original source. </div><br /><p></p><p></p><div align="left"><br />Harel demonstrates great requirements reading skills. I am not sure what is the chance that my son will be a tester in his future (currently he wants to have a career as a gaming SW tester, which in his eyes is the perfect profession), but for me this experience is an additional reminder of the danger of executing a test from a test plan without reading <strong><span style="color:#000099;">again</span></strong> the requirements. </div><div align="left">The traditional test execution process (unlike ET), is built as a linear line of of turning the requirments and SW design into test cases and then executing them, but our mind is not linear. The ideas and understanding of the product evolve with time and experience, and our original perspective changes - for better, since it's more mature with time, and for worse, since it's likly to disconnect from the original sources of knowledge. Returning to the requirements at each stage of the execution will reconnect us to our mission definition and will give us an opportunity to relearn the material when our mind is more ready.</div><div align="left"></div><div align="left">My recommendation to everyone who opens a bug or executes a test is always: <span style="font-size:180%;color:#000066;">Read the requirements (again)!</span></div><br /><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6s_Vg3NmjsxyN7VFiLI5S1DWj9C1CMoO1YN9Jo5r1S8mHRknnwLqoa1WmvYT9v6sRpvSnwFDg8eUzA8KTaGqtHW_8T3j-KZsyeksX_9i7j2La4v3Nx_phLQ4Pa7gfEIMhi4SP-IH44mDA/s1600-h/Arkmodel.JPG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 300px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5399970009495114530" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6s_Vg3NmjsxyN7VFiLI5S1DWj9C1CMoO1YN9Jo5r1S8mHRknnwLqoa1WmvYT9v6sRpvSnwFDg8eUzA8KTaGqtHW_8T3j-KZsyeksX_9i7j2La4v3Nx_phLQ4Pa7gfEIMhi4SP-IH44mDA/s400/Arkmodel.JPG" /></a><br /><div align="center"><br /><span style="color:#000099;"><span style="color:#000000;">The Ark model.</span> </span></div><div align="center"><span style="color:#000099;">We didn’t paint it black (we thought brown is nicer). We placed </span><span style="color:#000099;">two</span></div><div align="center"><span style="color:#000099;">sheep and not seven (resources limitation), but we did it consciously.</span> </div>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com7tag:blogger.com,1999:blog-3295369038568507430.post-68513674782060490732009-10-21T23:11:00.000+02:002009-10-22T08:19:27.802+02:00Observations, Art, practicing and inspiration from other blogsPracticing in the art of description.<br /><br />Recently, I have read few blogs that introduce the idea of practicing in describing art in order to improve the skill of description.<br /><br />Describing what we see is essential part when we test complicated systems. Beyond being accurate, objective and concise, you need to take the system generalist role - be able to conclude.<br /><br /><span class="blsp-spelling-error" id="SPELLING_ERROR_0">Parimala</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_1">Shankaraiah</span> talks in her <a href="http://curioustester.blogspot.com/">refreshing blog "curios tester"</a> about <a href="http://curioustester.blogspot.com/2009/10/painting-right-picture.html">painting the picture</a> - she describes how she addressed the challenge in Marlena Compton <a href="http://marlenacompton.com/?p=492">blog post “Visionary Testing”</a> . I am quoting Marlena:<br /><br /><span style="color:#000099;">I challenge you to find a work of art be it a painting, sculpture, installation or anything you deem “art-worthy” and study it. This can be in a museum, a coffee house or your mom’s living room. Once you feel you have an understanding of what you are looking at, try to communicate your understanding with words.</span><br /><br />Not only that I decided, like <span class="blsp-spelling-error" id="SPELLING_ERROR_2">Parimala</span> to address it and post my notes in my blog, but I also told <span class="blsp-spelling-error" id="SPELLING_ERROR_3">Parimala</span> that I want to do that. She replied to me that I’ll let her know how I did this exercise, so now I am obligated to try this :-). Hopefully you will see that in few lines.<br /><br />Another interesting thing was that <span class="blsp-spelling-error" id="SPELLING_ERROR_4">Parimala</span> wrote about different perceptions of different people, and that Interpretation requires more knowledge about the context.<br />We could see a deomonstration of of that if we will look at the example that Marlena gave in her post. she shows a picture named “Esther before <span class="blsp-spelling-error" id="SPELLING_ERROR_5">Ahasuerus</span>”. She describes Esther (the women in the picture) as “another chick in a dress who was fairly bitter about life in general”.<br /><br />I guess that when <span class="blsp-spelling-error" id="SPELLING_ERROR_6">Parimala</span>(She is an Indian women) read that post, she might agree or not, but when I did, that description looked so out of the context. I also saw a women and a king, but reading the picture name rang all of my bells. As an Israeli and Jewish, I have heard the story behind the scene so many times, so for me Esther is not a “bitter chick” but a great women in a middle of a brave act that saved our people from destruction. Eventually, that gave us a great holiday - <a href="http://en.wikipedia.org/wiki/Purim">Purim</a>, that we celebrate every year, having lot of fun.<br /><br />As for the exercise of picking and describing a picture?<br /><br />I picked the “The Raft of the Medusa” (1819) by Theodore <span class="blsp-spelling-error" id="SPELLING_ERROR_7">Gericault</span>. I saw the picture around 13-14 years ago, when I visited the museum <span class="blsp-spelling-error" id="SPELLING_ERROR_8">Deorsey</span> in Paris. I remember that I was very impressed, but don’t recall any specific observations when I saw it. Forgive me if it will be too depressing, but this is a really impressive piece of art. Let's go to my lab notes:<br /><br /><br /><br /><br /><img id="BLOGGER_PHOTO_ID_5395165531861494722" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 270px; TEXT-ALIGN: center" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Ue2SrxwtF85t1nDcsQ6s6e0dTvPAcxS1HoDdUs8rtICeTjZBC5tQRjmVwIPJ7MJ09WlS2D-yiiYcSjetGrdl8jRMT8vWfoYM5MC2P-5RhgSnDPDu4fgEaJrunP-2B1rOBsdPg3j1PXRJ/s400/gericault_raft_of_the_medusa.jpg" border="0" /><br /><br /><br /><br /><strong>What I saw?<br /></strong><br />A raft full of survivors from a ship sink.<br />Survivors pack fills the raft with desperate and terrified people. exception for that is the black man that waves towards the horizon<br />the view behind is depressing dark skies with clouds that promise a storm that could sink the raft<br /><br /><strong>What I inferred?</strong><br />Depression. The end is coming. The black waving man looks like an exception that should be examined carefully.<br /><br /><br /><strong>What I saw?<br /></strong>On the lower left side, fainted, almost dead bodies. Near them a desperate man sitting hopeless perhaps mourning for them<br />On the upper right side, near the mast, few terrified people, probably seeing their death in their eyes. Going right – we could see the black man waving. His look is hidden, but we could tell that he is looking forward something (rescue? Freedom?). beneath him another man, bent is waving to the same direction few other figure point to that direction too<br /><br /><strong>What I inferred?</strong><br />The situation puts the different people in different states: some are lost their consciousness, some are mourning, some are terrified and some are hoping for rescue<br /><br /><strong>What I saw?</strong><br />Examining the different figures one by one, There is a gradual progress from one side of the people that lies down to the black man which stands up and waving. Some of the figures shows both the “hope” and the “terrified” situation<br /><br /><strong>What I inferred?</strong><br />A fragile situation, that moves like a raft, between desperation and hope.Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0tag:blogger.com,1999:blog-3295369038568507430.post-58920612799732692222009-09-22T21:25:00.000+03:002009-09-23T08:33:09.679+03:00Create your tester portfolioThe following presentation that I have created with my friend <a href="http://testing.gershon.info/ target="_new"">Shmuel Gershon</a>, suggest ways for novice testers to gain experience by doing open source and crowd source testing and. We did not invent the wheel here, but we discuss and give some guiding that could be useful for novice testers.<br />This presentation was a result of a request that we got from few <a href="http://www.tech-career.org" target="_new">Tech career</a> SQA course graduates, for some training that will increase their value in the eyes of potential employers. they suggested that we will teach them the ITCQB certification exam. however, we thought that we could do something more meaningful by giving them this workshop.<br /><br />link to our work:<br /> <div style="width:425px;text-align:left" id="__ss_2042239"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/sgershon/create-your-tester-portfolio-2042239" title="Create Your Tester Portfolio">Create Your Tester Portfolio</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=createyourtesterportfolio11-090922130820-phpapp01&stripped_title=create-your-tester-portfolio-2042239" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=createyourtesterportfolio11-090922130820-phpapp01&stripped_title=create-your-tester-portfolio-2042239" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/sgershon">sgershon</a>.</div></div><br /><br />and as a <a href="http://www.scribd.com:/doc/20075955">shared document in scribd</a>Issi Hazan-Fuchshttp://www.blogger.com/profile/11137247541306088422noreply@blogger.com0