<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Testing Testing 1,2,3</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/testing123/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/testing123/feed.xml</link>
    <description>Software is meant to be broken.</description>
    <lastBuildDate>Thu, 02 Apr 2015 11:23:15 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Photographers@Microsoft 2009</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/photographersmicrosoft-2009</link>
      <pubDate>Thu, 01 Oct 2009 00:16:53 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2009/10/01/photographersmicrosoft-2009/</guid>
      <description><![CDATA[Check out this book!     This year fellow Microsofties who are photographer nuts from around the...]]></description>
      <content:encoded><![CDATA[<p>Check out this book!</p>  <p><a href="http://www.blurb.com/books/833258"><img height="237" src="http://assets2.blurb.com/images/uploads/catalog/61/1169861/833258-189b3e87bd2caf9426a26bd1a9a88bdf.jpg?1252535292" width="284" /></a> </p>  <p>This year fellow Microsofties who are photographer nuts from around the world spent five months assembling and publishing a world-class, fine art photo book.&#160; The time and talent that went into this project makes every copy of the book a gift to its owner.&#160; And guess what, one of my photos actually made it into the book.&#160; </p>  <p>Here is the <a href="http://www.blurb.com/books/833258">full book preview</a> online (160 pages of preview!).&#160; I should mention that if you purchase the book, 100% of the profit from sales goes directly to the United Way and you get a valued and timeless reminder of how you too make a difference for those in need. </p>  <p>You can preview the book, or order the book, from your desk.&#160; Not only does this book make a wonderful addition to any collection, and a thoughtful gift, each copy you purchase contributes directly to the ongoing, important work of United Way.&#160; This book is offered for purchase at the cost of printing plus $25.00. This additional amount is contributed directly to United Way in your name and is fully tax deductable as a charitable contribution.</p>  <p>Even if you don’t think you’ll buy a copy of the book, <a href="http://www.blurb.com/books/833258">go take a look at the online preview anyway</a>. It really is amazing!</p>  <p>Oh, and don’t forget to turn to page 114.&#160; :)</p>]]></content:encoded>
    </item>
    <item>
      <title>Session Based Testing</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/session-based-testing</link>
      <pubDate>Wed, 11 Mar 2009 14:21:43 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2009/03/11/session-based-testing/</guid>
      <description><![CDATA[As I was planning to do a team-wide presentation on Session Based Testing, I just thought I might as...]]></description>
      <content:encoded><![CDATA[<p>As I was planning to do a team-wide presentation on Session Based Testing, I just thought I might as well use this opportunity to blog and share my own learning on Session Based Testing and at the same time prepare for the talk.&#160; Killing 1 bird with two stones has been one of my repertoires (wait a minute….).&#160; I do apologize in advance that I am not able to share out the actual slides since it contains some Microsoft Confidential data.&#160; But I’ll do my best to summarize the main point here.</p>  <h3>What is Session Based Testing?</h3>  <p>Session Based Testing (SBT) is a form of Exploratory testing that is used for rapid testing, on project with tight schedule, or informal/incomplete/changing specifications.&#160; It was developed by Jonathan and James Bach, and now being used in many QA organizations, including Microsoft.&#160; Here is the <a href="http://www.satisfice.com/articles/sbtm.pdf">original paper (PDF)</a> written by Jon Bach defining SBT.&#160; For our test team, Session Based Testing represents an “optimized, ad-hoc E2E testing, but at the same time very disciplined and focus”.&#160; For us, it is being used to find bugs quickly and early in the product cycle.</p>  <p>Finding bugs very quickly, and very early is <u>extremely powerful</u>.&#160; Let’s think about that for a minute.&#160; Tradition test process which test plan needs to be written, follow by test cases, follow by numerous test passes, and then finally we start to see bug count going up.&#160;&#160; Session Based Testing has a much more lower “cost of entry”.&#160; It pretty much short-circuits the whole testing process with the goal of finding bugs.&#160; The instantaneous feedback to the development team is extremely beneficial.&#160; Now, everybody can gauge how well the product is performing event though it can still be under development.&#160; Any bugs identified may also help shape the way code is written, or how the spec is defined.&#160; It’s okay if developers do not want to fix these bugs right now (their usual counter-argument is always we are not code complete yet!).&#160; But with these bugs staring at their faces everyday, it’s easy for them to realize that they need to crank out better code.&#160; </p>  <p>I would want to point out that Session does not and should not replace the traditional test process.&#160; SBT’s goal is to lower down the initial cost of&#160; testing, and also increase flexibility and serendipity that makes Exploratory so useful.&#160; IMO, the combination of Session Based Testing AND a well thought-out test planning is definitely a one-two knock out punches to the major bugs hiding within the code.&#160; Every tester should definitely try it.</p>  <p>So, how can it be that SBT is ad-hoc and at the same time focused testing methodology?&#160; This more or less bring us to the next topic – the difference between Sessions and Bug Bash.</p>  <h3>Sessions VS Bug Bash</h3>  <p>As I talked to a few people about SBT, the #1 question that everybody asked is -- “So… what is the difference between Session and Bug Bash?”&#160; To the best of my knowledge, here is the similarities and differences between the two:</p>  <div align="center">   <table border="1" cellspacing="0" cellpadding="2" width="434" align="center"><tbody>       <tr>         <td valign="top" width="214">&#160;</td>          <td valign="top" width="110"><strong>Bug Bash</strong></td>          <td valign="top" width="108"><strong>Session based</strong></td>       </tr>        <tr>         <td valign="top" width="214">Ad Hoc</td>          <td valign="top" width="110"><font color="#008000">X</font></td>          <td valign="top" width="108"><font color="#008000">X</font></td>       </tr>        <tr>         <td valign="top" width="214">End to End</td>          <td valign="top" width="110"><font color="#008000">X</font></td>          <td valign="top" width="108"><font color="#008000">X</font></td>       </tr>        <tr>         <td valign="top" width="214">Real User Scenarios</td>          <td valign="top" width="110"><font color="#008000">X</font></td>          <td valign="top" width="108"><font color="#008000">X</font></td>       </tr>        <tr>         <td valign="top" width="214">Mission based</td>          <td valign="top" width="110">-</td>          <td valign="top" width="108"><font color="#008000">X</font></td>       </tr>        <tr>         <td valign="top" width="214">Planned/Organized</td>          <td valign="top" width="110">-</td>          <td valign="top" width="108"><font color="#008000">X</font></td>       </tr>        <tr>         <td valign="top" width="214">Visibility into test execution</td>          <td valign="top" width="110">-</td>          <td valign="top" width="108"><font color="#008000">X</font></td>       </tr>        <tr>         <td valign="top" width="214">Metrics tracking</td>          <td valign="top" width="110">-</td>          <td valign="top" width="108"><font color="#008000">X</font></td>       </tr>     </tbody></table> </div>  <p>I am not saying that holding Bug Bash is a bad thing.&#160; Bug Bash (and dogfooding) has been one of the staple diet for every testing organizations.&#160; The more eyes looking for bugs, the better.&#160; However, one of the main weakness of Bug Bash is that the whole process is very random and executed in somewhat ad-hoc manner.&#160; Many times I would see everybody pretty much find the same bugs over and again.&#160; In addition, since everybody is banging on the product at the same time, there is no good way to tell if the product has really been tested as thoroughly as it can, or if test executions are evenly spread out for all the features.&#160; And in my humble opinion, the greatest sin of all is that testing knowledge is lost the moment Bug Bash ends.&#160; </p>  <p>Session Based Testing is built on top of this same principles, but take it one step further.&#160; Test owner should do a little bit of homework on defining what are the test areas that he or she would like to be tested.&#160; And then the test owner will create a number of “sessions”, which typically last about 60-90 mins.&#160; There is a clear goal or mission of what each session aims to do (e.g. “Test open file dialog in Notepad”).&#160; But there is no execution steps defined on what steps to do, or how to go about doing that.&#160; Tester essentially becomes monkey tester (with a focus) and let the magic of Exploratory testing kick in.</p>  <p>During session, the tester would need to note down what he or she had done.&#160; More or less like micro-blogging or “tweet” if you know what I’m talking about.&#160; :)&#160; Could be something like this:</p>  <ul>   <li><em>I tried launching the Open File dialog using keyboard shortcut, and I found out that the hotkey to Open is “n” instead of the more traditional “o” (I just made this up).&#160; We should keep the hotkey consistent with other applications.&#160; Bug #123 filed.</em> </li>    <li><em>Dragging the Open File dialog window around, and this seems to work fine as expected.&#160; Also drag the window outside of the screen and the window redraws itself back correctly.&#160; (again just made this up)</em> </li>    <li><em>Tried opening file without extension, and Notepad crashes!&#160; Bug #456 filed.</em>&#160; </li> </ul>  <p>Information such as these are quite critical because it provides a lot of insights into how well the product is doing.&#160; Tester can report not only on just the issues that were identified, but also can report on the general feedback of the product itself.&#160; This can even be opinions on what the tester thought, whether it works great, intuitive to use, great experience, or just plain out sucks. </p>  <h3>Learning through Sessions</h3>  <p>I think this is probably the biggest advantage that SBT provided – the knowledge that is associated with it.&#160; Since every executed session will produce some form of data, we can then make use of those information to help us increase the quality bar.&#160; Information gathered from sessions are really quite simple.&#160; Here are some of examples:</p>  <ul>   <li>Number of sessions run</li>    <li>When were they run</li>    <li>Which target area were executed</li>    <li>Number of bugs filed</li>    <li>Any issues raised (that are not considered to be bugs)</li>    <li>…</li> </ul>  <p>With this set of inputs, we can easily perform the following simple analysis.&#160; In my team, we just plug the data into Excel and generate a Pivot Table out of it.&#160; This way, slicing and dicing the data is just one click away.</p>  <ul>   <li>Bug density per each target area. </li>    <li>Average bug yield per sessions</li>    <li>Bug trend over a given period of time (Example: Total # of sessions and total # of bugs week by week for the past 3 month).&#160; This is another way to pulse check on how good/bad the product is doing.</li>    <li>Who ran the most sessions/who filed the most bugs</li> </ul>  <p>Somebody once said “A picture is worth a thousand words”.&#160; So in order to save myself 2K words, let me present to you 2 pictures.&#160; :)&#160; </p>  <h5>Analysis 1: Bug density per each target area</h5>  <table border="0" cellspacing="0" cellpadding="2" width="784"><tbody>     <tr>       <td width="324" align="center">         <div align="center">           <table border="1" cellspacing="0" cellpadding="0" width="300" align="center"><tbody>               <tr>                 <td width="104">Row Labels</td>                  <td width="107">Total Sessions</td>                  <td width="87">Total bugs</td>               </tr>                <tr>                 <td width="104">Feature 1</td>                  <td width="107">20</td>                  <td width="87">4</td>               </tr>                <tr>                 <td width="104">Feature 2</td>                  <td width="107">10</td>                  <td width="87">8</td>               </tr>                <tr>                 <td width="104">Feature 3</td>                  <td width="107">31</td>                  <td width="87">86</td>               </tr>                <tr>                 <td width="104">Feature 4</td>                  <td width="107">29</td>                  <td width="87">79</td>               </tr>                <tr>                 <td width="104">Feature 5</td>                  <td width="107">11</td>                  <td width="87">22</td>               </tr>                <tr>                 <td width="104">Feature 6</td>                  <td width="107">14</td>                  <td width="87">37</td>               </tr>                <tr>                 <td width="104">Grand Total</td>                  <td width="107">115</td>                  <td width="87">236</td>               </tr>             </tbody></table>         </div>       </td>        <td width="458" align="center"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/testing123/WindowsLiveWriter/SessionBasedTesting_88F/image_4.png" original-url="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/SessionBasedTesting_88F/image_4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/testing123/WindowsLiveWriter/SessionBasedTesting_88F/image_thumb_1.png" original-url="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/SessionBasedTesting_88F/image_thumb_1.png" width="438" height="235" /></a> </td>     </tr>   </tbody></table>  <p>By looking at the graph, you can immediately tell that Feature 3 and Feature 4 are somewhat in trouble.&#160; The total number of bugs are pretty high compared with the other features.&#160; Using this data, you can start off investigating on why quality is lower than other areas.&#160; </p>  <p>In addition, a lot of sessions were executed for Feature 1, but the bug yield is extremely low.&#160; This might be a good indication that you might want to pull back on running more sessions this feature, and spend time on other area instead.</p>  <p>Okay, let’s do one more:</p>  <h5>Analysis 2: Bug trend over a given period of time</h5>  <table border="0" cellspacing="0" cellpadding="2" width="788"><tbody>     <tr>       <td width="319" align="center">         <div align="center">           <table border="1" cellspacing="0" cellpadding="0" width="200" align="center"><tbody>               <tr>                 <td width="96">Time</td>                  <td width="102">Avg Bug</td>               </tr>                <tr>                 <td width="96">Week 25</td>                  <td width="102">5.60</td>               </tr>                <tr>                 <td width="96">Week 26</td>                  <td width="102">4.31</td>               </tr>                <tr>                 <td width="96">Week 27</td>                  <td width="102">2.86</td>               </tr>                <tr>                 <td width="96">Week 28</td>                  <td width="102">2.68</td>               </tr>                <tr>                 <td width="96">Week 29</td>                  <td width="102">2.42</td>               </tr>                <tr>                 <td width="96">Week 30</td>                  <td width="102">1.32</td>               </tr>                <tr>                 <td width="96">Week 31</td>                  <td width="102">1.13</td>               </tr>                <tr>                 <td width="96">Week 32</td>                  <td width="124">1.50</td>               </tr>             </tbody></table>         </div>       </td>        <td valign="top" width="467"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/testing123/WindowsLiveWriter/SessionBasedTesting_88F/image_6.png" original-url="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/SessionBasedTesting_88F/image_6.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/testing123/WindowsLiveWriter/SessionBasedTesting_88F/image_thumb_2.png" original-url="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/SessionBasedTesting_88F/image_thumb_2.png" width="346" height="211" /></a> </td>     </tr>   </tbody></table>  <p>This example just show the average number of bugs filed per week over a 2 month period.&#160; It’s easy to see that the # of bugs are trending downwards, which is a good thing assuming that sessions are running constantly.&#160; If you see spikes in the trend which is out of place, then it can be due to poor check in or some form of regression.&#160; Inversely, if you see a sharp drop, it is something to look at as well.</p>  <p>I hope these 2 analysis help to illustrate some forms of measurement that QA team can derive and use.&#160; Session Based Testing has certainly helped our team.&#160; First and foremost, we are able to test creatively using Exploratory techniques, but at the same time, we are also disciplined in terms of relying on information obtained by running sessions to help us to be even more productive and efficient.&#160; </p>]]></content:encoded>
    </item>
    <item>
      <title>And the Oscar goes to… Live Search!</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/and-the-oscar-goes-to-live-search</link>
      <pubDate>Mon, 23 Feb 2009 17:58:00 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2009/02/23/and-the-oscar-goes-to-live-search/</guid>
      <description><![CDATA[That is a pretty bold blog title and absolutely had nothing to do with the Oscar itself.&nbsp; But I...]]></description>
      <content:encoded><![CDATA[<p>That is a pretty bold blog title and absolutely had nothing to do with the Oscar itself.&nbsp; But I had very little time last night to watch Oscar, and was somewhat curious about the winners and losers.&nbsp; So I hit up Google and use this search term “Oscar”.&nbsp; </p>  <p>Here is the front page search results.&nbsp; Seems pretty plain old Googley.</p>  <p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/09/44/18/66/Google_Oscar.jpg" original-url="http://blogs.msdn.com/photos/ch4n/images/9441866/original.aspx" mce_src="http://blogs.msdn.com/photos/ch4n/images/9441866/original.aspx" width="639" height="484"> </p>  <p>So then I got curious and want to see how Live Search is doing.&nbsp; And here is what is shown on the front page.&nbsp; Immediately, all the major winner results are displayed, which is exactly what I wanted to see.&nbsp; Impressive…</p>  <p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/09/44/18/69/Live_Oscar.jpg" original-url="http://blogs.msdn.com/photos/ch4n/images/9441869/original.aspx" mce_src="http://blogs.msdn.com/photos/ch4n/images/9441869/original.aspx" width="648" height="506"> </p>  <p>&nbsp;</p>  <p>Oh by the way, congrats to Slumdog.&nbsp; </p>]]></content:encoded>
    </item>
    <item>
      <title>Email Address test cases</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/email-address-test-cases</link>
      <pubDate>Fri, 06 Feb 2009 02:27:00 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2009/02/06/email-address-test-cases/</guid>
      <description><![CDATA[I've been on many teams in my whole testing career, and for some reason, I always end up getting...]]></description>
      <content:encoded><![CDATA[<p>I've been on many teams in my whole testing career, and for some reason, I always end up getting assigned to validate the email address field.&nbsp; So after numerous times of hunting down my old email test cases from previous team, I am giving up.&nbsp; I thought I am just going to list out all of them here out on the internet.&nbsp; I know that I probably going to have to refer to this list again and again in the future.&nbsp; Might as well help benefit others like me.</p>
 
<p>Here is the list of valid and invalid email format which can be used for testing.&nbsp; The list is not comprehensive by any means, and is probably missing a bunch of edge cases.&nbsp; However, it provides enough coverage for the majority of the allowed/disallowed email address according to <a href="http://www.ietf.org/rfc/rfc2822.txt" mce_href="http://www.ietf.org/rfc/rfc2822.txt">RFC 2822</a>.</p>
 
<p>BTW, if anyone else would like to contribute more cases to this list,&nbsp;or spot errors (fingers crossed), please feel free to let me know and I'll make sure the list is up-to-date.</p>
  
<table border="1"> <tbody> 
<tr> 
<td><b>Valid Email address</b></td>
 
<td><b>Reason</b></td>
</tr>
 
<tr> 
<td>email@domain.com</td>
 
<td>Valid email</td>
</tr>
 
<tr> 
<td>firstname.lastname@domain.com</td>
 
<td>Email contains dot in the address field</td>
</tr>
 
<tr> 
<td>email@subdomain.domain.com</td>
 
<td>Email contains dot with subdomain</td>
</tr>
 
<tr> 
<td>firstname+lastname@domain.com</td>
 
<td>Plus sign is considered valid character</td>
</tr>
 
<tr> 
<td>email@123.123.123.123</td>
 
<td>Domain is valid IP address</td>
</tr>
 
<tr> 
<td>email@[123.123.123.123]</td>
 
<td>Square bracket around IP address is considered valid</td>
</tr>
 
<tr> 
<td>"email"@domain.com</td>
 
<td>Quotes around email is considered valid</td>
</tr>
 
<tr> 
<td>1234567890@domain.com</td>
 
<td>Digits in address are valid</td>
</tr>
 
<tr> 
<td>email@domain-one.com</td>
 
<td>Dash in domain name is valid</td>
</tr>
 
<tr> 
<td>_______@domain.com</td>
 
<td>Underscore in the address field is valid</td>
</tr>

<tr> 
<td>email@domain.name</td>

<td>.name is valid Top Level Domain name</td>
</tr>

<tr> 
<td>email@domain.co.jp</td>

<td>Dot in Top Level Domain name also considered valid (use co.jp as example here)</td>
</tr>

<tr> 
<td>firstname-lastname@domain.com</td>

<td>Dash in address field is valid</td>
</tr>

</tbody></table>
 
<p>&nbsp;</p>

<table border="1" width="520" height="356"> <tbody> 
<tr> 
<td><b>Invalid Email address</b></td>
 
<td><b>Reason</b></td>
 </tr>
 
<tr> 
<td>plainaddress</td>
 
<td>Missing @ sign and domain</td>
 </tr>
 
<tr> 
<td>#@%^%#$@#$@#.com</td>
 
<td>Garbage</td>
 </tr>
 
<tr> 
<td>@domain.com </td>
 
<td>Missing username</td>
 </tr>
 
<tr> 
<td>Joe Smith &lt;email@domain.com&gt;</td>
 
<td>Encoded html within email is invalid</td>
 </tr>
 
<tr> 
<td>email.domain.com</td>
 
<td>Missing @</td>
 </tr>
 
<tr> 
<td>email@domain@domain.com</td>
 
<td>Two @ sign</td>
 </tr>
 
<tr> 
<td>.email@domain.com</td>
 
<td>Leading dot in address is not allowed</td>
 </tr>
 
<tr> 
<td>email.@domain.com</td>
 
<td>Trailing dot in address is not allowed</td>
 </tr>
 
<tr> 
<td>email..email@domain.com </td>
 
<td>Multiple dots</td>
 </tr>
 
<tr> 
<td>あいうえお@domain.com</td>
 
<td>Unicode char as address</td>
 </tr>
 
<tr> 
<td>email@domain.com (Joe Smith)</td>
 
<td>Text followed email is not allowed</td>
 </tr>
 
<tr> 
<td>email@domain</td>
 
<td>Missing top level domain (.com/.net/.org/etc)</td>
 </tr>
 
<tr> 
<td>email@-domain.com</td>
 
<td>Leading dash in front of domain is invalid</td>
 </tr>
 
<tr> 
<td>email@domain.web</td>
 
<td>.web is not a valid top level domain</td>
 </tr>
 
<tr> 
<td>email@111.222.333.44444</td>
 
<td>Invalid IP format</td>
 </tr>

<tr> 
<td>email@domain..com</td>
 
<td>Multiple dot in the domain portion is invalid</td>
 </tr>


 </tbody></table>

<p>&nbsp;</p>
<p>&nbsp;</p>
<hr>
<b>Contributors</b>
<p>List of people who help contribute to help solidify the cases</p>

<p><a href="http://gabriel.lozano-moran.name/blog">gabriel.lozano-moran</a>
</p>

<p><a href="http://www.webdotwiz.com/">bernie halpin</a></p>
<p>Avdhut</p>

]]></content:encoded>
    </item>
    <item>
      <title>Software development process</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/software-development-process</link>
      <pubDate>Tue, 25 Nov 2008 00:51:44 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2008/11/25/software-development-process/</guid>
      <description><![CDATA[1) Order t-shirts for the development team 2) Announce the release date 3) Write the code 4) Write...]]></description>
      <content:encoded><![CDATA[<p></p> <p>1) Order t-shirts for the development team <p>2) Announce the release date <p>3) Write the code <p>4) Write the manual <p>5) Hire a PM <p>6) PM spec the software based on the code (to ensure the software meets the specifications) <p>7) Ship/Launch <p>8) Test with real users (free) <p>9) Bugs are potential enhancements <p>10) Announce the upgrade <p>&nbsp; <p>Is your team practicing this?</p>]]></content:encoded>
    </item>
    <item>
      <title>Exploring “Exploratory Testing”</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/exploring-exploratory-testing</link>
      <pubDate>Thu, 02 Oct 2008 01:12:53 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2008/10/02/exploring-exploratory-testing/</guid>
      <description><![CDATA[My current team has been integrating this testing technique for a while now along with the...]]></description>
      <content:encoded><![CDATA[<p></p>  <p></p>  <p></p>  <p></p>  <p>My current team has been integrating this testing technique for a while now along with the traditional testing methods of manual testing as well as automation.&#160; Most of the testing community that I have known seem to brush this testing technique off simply as “monkey testing” which doesn’t really provide any significant yield on bugs nor achieve high quality bugs.&#160; However, I have been observing how powerful this testing method can be from my own perspective as well as by seeing the type of bugs that some of my team mates find.&#160; </p>  <p></p>  <p></p>  <p></p>  <p></p>  <p></p>  <p></p>  <p></p>  <p></p>  <p>Recently, I went for a test talk on this testing topic and to my surprise there are a few other teams within Microsoft that actually use this testing technique as well.&#160; Here are the short summary of what I did learn from that talk:</p>  <ol>   <li>In summary, many testers still under-estimate the power of this technique and simply disregard it as another “ad-hoc” testing.&#160; They think that this is simply ad-hoc testing or monkey testing where tester just randomly bang and shake the product until bugs are found.&#160; However, this technique is actually proven to find critical bugs, cool bugs, and more importantly the kind of bugs that customers would encounter as they use our products.</li>    <li>On the other hand, if testers use Exploratory testing in unplanned, undocumented, random manner, then that can be a waste of time and energy.&#160; </li>    <li>In order to maximize Exploratory testing, testers should sit down and come up with a strategy or plan on what testing techniques to use.&#160; This helps keep the testers stay in focus, and also apply the right techniques to get the most out of an Exploratory testing session time.</li>    <li>Knowledge sharing is key to Exploratory testing.&#160; Make use of historical data such as the type of bugs found in previous versions of the product, which features are buggy, customer-reported bugs, even knowing your own devs and their way of coding can also help uncover holes and bugs (human tend to repeat the same mistakes).</li>    <li>It’s quite difficult to determine what is the right balance between Exploratory testing and the traditional testing methodologies.&#160; How much exploration should a tester execute in order to get the biggest bang for the buck.</li> </ol>  <p><b>Exploratory Testing Techniques</b></p>  <p>According to the speaker, here are the 4 key techniques that any testers can refer to and use for their exploratory testing.&#160; Each component has its own strengths/weaknesses.&#160; Tester do not have to stick with a single component, but should spread out and make use of all of them or a combination of them.&#160; The trick is to know which one to choose and apply and when.&#160; </p>  <p><b>1. Freestyle</b></p>  <p>This is basically Ad-hoc testing.&#160; Hit the product from black box standpoint.&#160; From the customer’s perspective.&#160; Pros: Low cost.&#160; Anyone can do it.&#160; Encourage creativity.&#160; Cons: May not yield the critical bugs.&#160; Low quality bugs are typically found with lots of dupes.&#160; Difficult to determine coverage.</p>  <p><strong>2. </strong>&#160;<b>Scenario based</b></p>  <p>Using a pre-defined end-to-end scenarios, complete with actual reproducible steps and validation methods prior to testing.&#160; Testers can use these scenarios as the base, and figure out new end-to-end path that will achieve the same goals.&#160; Pros: Easy to trace the repro steps and follow.&#160; Can determine test coverage.&#160; Cons: Pre-defined scenarios may actually not represent what the customer really wants.&#160; </p>  <p><strong>3. </strong>&#160;<b>Strategy based</b></p>  <p>Testers do have some background of the product.&#160; Thoroughly understand the architecture and flow of the product.&#160; Tester can then leverage the product knowledge and combined with well-known testing techniques to go about testing.&#160; More to come on the techniques later.&#160; Pros: Test techniques are proven to be effective.&#160; Testers just need to master them and apply them in the right situation.&#160; Testers are also pretty much free to use their own instinct and creativity to go about testing the product.&#160; Focus on learning.&#160; Cons: Newer testers on the team may not have the sufficient experience or knowledge of the product to be completely effective.&#160; </p>  <p><strong>4. </strong><b>Feedback based</b></p>  <p>Start out pretty much same as Freestyle testing.&#160; But as testing sessions are conducted, testers build up a history of test executions, areas covered, bugs identified, code churns, etc.&#160; Very similar to our session notes.&#160; Testing from historical data such as bug records, data from automations and scripts, application logs, customer reported issues, etc.&#160; Use these data as input so tester can identify which areas may yield the most bugs.&#160; Pros: Knowledge is not lost.&#160; Make use of previous knowledge is very powerful.&#160; Cons: Sometimes it’s very difficult to make use of existing data effectively (especially if there are a lot).&#160; May actually spend more time gathering and processing these data rather than actual testing.</p>]]></content:encoded>
    </item>
    <item>
      <title>Help!  I found a bug in my code</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/help-i-found-a-bug-in-my-code</link>
      <pubDate>Mon, 28 Jul 2008 14:19:00 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2008/07/28/help-i-found-a-bug-in-my-code/</guid>
      <description><![CDATA[Okay, after a long sabbatical from writing blogs due to various reasons (over-worked, personal...]]></description>
      <content:encoded><![CDATA[<P>Okay, after a long sabbatical from writing blogs due to various reasons (over-worked, personal reasons, or just plain lazy), I am about to begin start blogging again.&nbsp; My MSDN blog ranking has taken such an embarrassing tumble that I think I need to start hustling up again.&nbsp; </P>
<P>So, to welcome myself back to blogosphere, what better way than to show off a bug in my code?&nbsp; I just found it this morning, in plain sight.&nbsp; </P>
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/testing123/WindowsLiveWriter/HelpIfoundabuginmycode_9F52/BugInCode_2.jpg" original-url="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/HelpIfoundabuginmycode_9F52/BugInCode_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/HelpIfoundabuginmycode_9F52/BugInCode_2.jpg"><IMG title=BugInCode style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=276 alt=BugInCode src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/testing123/WindowsLiveWriter/HelpIfoundabuginmycode_9F52/BugInCode_thumb.jpg" original-url="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/HelpIfoundabuginmycode_9F52/BugInCode_thumb.jpg" width=377 border=0 mce_src="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/HelpIfoundabuginmycode_9F52/BugInCode_thumb.jpg"></A> </P>
<P>Okay, I know this is pretty lame, and probably not the first picture of a “bug” in the code.&nbsp; In fact, the first ever recording of a bug in the software is probably this one here (according to various <A href="http://en.wikipedia.org/wiki/Software_bug" mce_href="http://en.wikipedia.org/wiki/Software_bug">sources</A>).&nbsp; </P>
<P><IMG height=297 src="http://upload.wikimedia.org/wikipedia/commons/8/8a/H96566k.jpg" width=377 mce_src="http://upload.wikimedia.org/wikipedia/commons/8/8a/H96566k.jpg"> </P>
<P mce_keep="true">This moth is probably the God of all bugs (well… it’s where the term <EM>bug </EM>came from).&nbsp; Mine is just a tiny, teeny little baby spider, whom my next door office mate has now kept it in his jelly bean jar as the team mascot.&nbsp; </P>
<P>Cheers, and hopefully, I’ll keep on blogging this time.</P>]]></content:encoded>
    </item>
    <item>
      <title>Code of the day: while(!asleep()) { sheep++; }</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/code-of-the-day-whileasleep-sheep</link>
      <pubDate>Wed, 05 Mar 2008 15:00:00 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2008/03/05/code-of-the-day-whileasleep-sheep/</guid>
      <description><![CDATA[Stumbled upon this great one liner off Bash.org (via Reddit) just moments ago.&nbsp; Made me...]]></description>
      <content:encoded><![CDATA[<p>Stumbled upon this great one liner off <a href="%20http://www.bash.org/?845468" mce_href=" http://www.bash.org/?845468">Bash.org</a> (via <a href="http://reddit.com" mce_href="http://reddit.com">Reddit</a>) just moments ago.&nbsp; Made me LOL.</p><p><br>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Y HALO THAR WURLD</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/y-halo-thar-wurld</link>
      <pubDate>Mon, 11 Feb 2008 02:51:51 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2008/02/11/y-halo-thar-wurld/</guid>
      <description><![CDATA[Today was an eye opener for me.&nbsp; When I browsed through my Flickr account, I happened to notice...]]></description>
      <content:encoded><![CDATA[<p>Today was an eye opener for me.&nbsp; When I browsed through my <a href="http://www.flickr.com/photos/ch4n/">Flickr</a> account, I happened to notice the greetings-in-different-language on my Flickr home page.&nbsp; You know the usual phrases "Kumusta ch4n!" (Tagalog), or "Hola ch4n!" (Spanish), or "Bonjour ch4n!" (French), etc. etc.&nbsp; </p> <p>However, I noticed something different today on that greeting.&nbsp; "OH HAI ch4n!".&nbsp; I just subconciously&nbsp;thought at first that's how Chinese greet one another, but then on second thought, that's actually not Chinese.&nbsp; That got me to look closer at the text which told me what language this was and wham! it hit me.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/testing123/WindowsLiveWriter/YHALOTHARWURLD_14F93/lolcat%5B2%5D.jpg" original-url="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/YHALOTHARWURLD_14F93/lolcat%5B2%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="192" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/testing123/WindowsLiveWriter/YHALOTHARWURLD_14F93/lolcat_thumb.jpg" original-url="http://blogs.msdn.com/blogfiles/testing123/WindowsLiveWriter/YHALOTHARWURLD_14F93/lolcat_thumb.jpg" width="393" border="0"></a> </p> <p>It's <a href="http://icanhascheezburger.com"><strong>LOLCAT</strong></a><strong>&nbsp;</strong>language!!!&nbsp; (not sure if the screenshot is clear enough)</p> <p>What?!&nbsp; The internet has evolved so fast that I didn't realize a new language was born completely out of weird cat pictures&nbsp;with&nbsp;funny-talk subtitles.&nbsp; &nbsp;<a href="http://icanhascheezburger.com/2007/01/11/i-can-has-cheezburger/">Happycat</a> must be proud feline today.</p> <p>Curiousity got a better hold of me and I start to Live search to see if this language really existed or was it just a bunch of cat-loving Flickr devs' doing.</p> <p>That's when the second wave of shock hit me.&nbsp; LOLCAT is truly a language on its own!&nbsp; There's a <a href="http://speaklolcat.com/">English-LOLCAT translator</a>, a <a href="http://search.cpan.org/~kcowgill/Acme-LOLCAT-0.0.4/lib/Acme/LOLCAT.pm">CPAN Perl&nbsp;module</a> which translate English to LOLCAT, and last but not least, a <a href="http://www.lolcatbible.com/index.php?title=Main_Page">LOLCAT bible</a>!!!</p> <p>Incredible...</p> <p>BTW, if you are wondering, this blog title is "Hello World" in uh.... LOLCAT.</p>]]></content:encoded>
    </item>
    <item>
      <title>2¹/2²/2³</title>
      <link>https://docs.microsoft.com/archive/blogs/testing123/222</link>
      <pubDate>Mon, 04 Feb 2008 04:52:00 GMT</pubDate>
      <dc:creator><![CDATA[ch4n]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/testing123/2008/02/04/222/</guid>
      <description><![CDATA[Today is meant to be the power of two's day.&nbsp;  2¹ =&gt; 2 2² =&gt; 4 2³ =&gt; 8 Putting...]]></description>
      <content:encoded><![CDATA[<p>Today is meant to be the power of two's day.&nbsp; </p> <p>2¹ =&gt; 2</p> <p>2² =&gt; 4</p> <p>2³ =&gt; 8</p> <p>Putting together make 2/4/8 =&gt; 2/4/08.</p> <p>Of course, back home in Asia and possibly in other places around the globe today is actually 2²/2¹/2³ which isn't as interesting.</p> <p>k. &nbsp;'nuff&nbsp;nerdinous for the day.</p>]]></content:encoded>
    </item>
  </channel>
</rss>