tag:blogger.com,1999:blog-80671854947225178542024-03-06T09:02:33.740+05:30Nuts, bolts and bytesSudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-8067185494722517854.post-87517796282438013802023-01-02T09:11:00.004+05:302023-09-28T14:14:29.897+05:30Routespunkt Hiking Grid Diary - an iOS app for Hikers 'n Bikers<p> </p><p><span style="font-family: helvetica;"> </span></p><span style="font-family: helvetica;"><br /></span><div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: helvetica;"><a href="https://apps.apple.com/app/id1553673314" rel="nofollow" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img alt="A group of people with their mountain bikes, posing for a camera photo, in the middle of a forest" border="0" data-original-height="1500" data-original-width="2000" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs4EDK4oH-j2azuJcZFqE_ZaT6s9G3sjz9hskCiwN8tu8N_fqHONI56bAVoPN7Kn2whXttHXqalGjWiD81CyFaiaJPnEhKJgGDplF8hWsQzXV4uriVjbtbFexylk1KBnlNo07b9npvPp4hPQ_q0YWd4rT6WO2_PlaYiTRoeOKADOU41dY9KxrecNU6/w640-h506/Write%20your%20travel%20story%20with%20elan%20-%20v2.png" title="Write your Biking Stories with elan!" width="640" /></a></span></div></div><div><span style="font-family: helvetica;"><br /></span></div><div><span style="font-family: helvetica;"><br /></span></div><p><span style="font-family: helvetica;">About <a href="https://routespunkt.app" target="_blank">Routespunkt Hiking Grid Diary</a>:<br /></span></p><p><span style="font-family: helvetica;"> * Write Hiking and Biking Stories in your own handwriting</span></p><p><span style="font-family: helvetica;"> * Show places visited in your Trip, using maps</span></p><p><span style="font-family: helvetica;"> * Illustrate what you found exciting, with sketches and drawings</span></p><p><span style="font-family: helvetica;"> * Create a Collage with photos and map snaps of places visited</span></p><p><span style="font-family: helvetica;"> * Share the Adventure Story Articles with your friends/ family/ dear one, on Social Media platforms</span></p><p><span style="font-family: helvetica;"><br /></span></p><p><span style="font-family: helvetica;">This is a Subscriptions based app.</span></p><div><span style="font-family: helvetica;"><br /></span></div><span style="font-family: helvetica;"><br /><br /><br /></span>Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-76144871861983576212017-01-26T15:14:00.001+05:302017-02-10T08:03:46.207+05:30Study of an AngularJS application: Feeding Excel based data into an SVG Flowchart with AngularJS and NodeJS<div dir="ltr" style="text-align: left;" trbidi="on">
<strong>Reference article</strong> <br />
<blockquote>
<h5>
<a href="https://www.codeproject.com/articles/709340/implementing-a-flowchart-with-svg-and-angularjs">Implementing a Flowchart with SVG and AngularJS</a></h5>
</blockquote>
<blockquote>
Source code from original article is <a href="https://github.com/codecapers/AngularJS-FlowChart">here</a>.</blockquote>
<strong></strong> <br />
<strong>Customization goals</strong> <br />
<blockquote>
a) Feed the SVG flowchart nodes from excel datasheet <br />
b) Understand a bit of the AngularJS and NodeJS client-server communication <br />
c) Learn javascript debugging on server side as well as client side using VS Code editor <br />
As a beginner to AngularJS-NodeJS, the customization is based on a partial study of the original <a href="https://www.codeproject.com/articles/709340/implementing-a-flowchart-with-svg-and-angularjs">article</a>.<br />
<br />
<br /></blockquote>
<strong></strong> <br />
<strong>Most challenging challenge as a dummy</strong> <br />
<blockquote>
There was a space of time when I thought I was publishing the server side JSON data to the same URL as the front-end html page. And then trying to debug it and not knowing why: in one case the data was coming from the server side only, while in the other case it was coming from mocked data on client side. Kept on looking for whether data was getting lost, or did I need routing. There were debug sessions where both server side and client side individually appeared working correctly. <br />
Some days later I realized I needed to consume server response data from different URL (it had to be different than URL of Index HTML page being viewed from browser).</blockquote>
<strong></strong> <br />
<strong>Application environment</strong> <br />
<blockquote>
a) OS: Windows 10 desktop <br />
b) Code editor: Visual Studio Code <br />
c) Server-side: NodeJS + ExpressJS <br />
d) Client-side: AngularJS, SVG, JSON <br />
e) Application Data source: Excel <br />
f) Server Data-publish format: JSON<br />
<br />
<br />
<br />
<br /></blockquote>
<strong></strong> <br />
<strong>Snaps of the working application</strong> <br />
<blockquote>
1. Start the node server from the terminal: <br />
<a href="https://lh3.googleusercontent.com/-JSQ43Xpgo7M/WInEl2eHMzI/AAAAAAAAFkY/RV1Yd_6sXeg/s1600-h/image_thumb43%25255B6%25255D.png"><img alt="image_thumb43" border="0" height="544" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV0HOMeJK9Em-25Ym7B64q_rDCLsK-dZGU2sseRka-WLnsFywgHUMBSsAZ_XHESjTQdNzSnx31j6JVf9ndWGcyX_zOpA3tp8fq-qklMpsNJW96wmjLDOjaWeEUesNYNOKdnjhJ_K3Uytg/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb43" width="865" /></a> <br />
server is ready and starts listening on configured port: <br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4KubBJ112G3mmnaOicOWM9zCy079tQLIWy06_naWTTRAhhYV0BFMhy6d-TTN1hUgJnq66SrKHaLNnc0FizVN69zUj39Yh19k1iZ157_52KDc1SBrBYaY3nueAlqU-dhp8aKAjG2GJwt4/s1600-h/image_thumb44%25255B7%25255D.png"><img alt="image_thumb44" border="0" height="564" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDm_S4qkXjUthMJapsffRr1kb806O1QO1pC2e05tLViil_TcHA_7assaNwZf54YONOLZXUUsu1u7SX4ZT1MsLrlxMUANVFc9FEPB9jx9PQMnlLJ3pLmT20qmB-tHcf8UIvM_rCmSunv9U/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb44" width="867" /></a><br />
<br />
<br /></blockquote>
<blockquote>
2. Launch a browser and navigate to the application’s configured URL: <br />
<a href="https://lh3.googleusercontent.com/-C0UxN30M318/WInEpdNbt7I/AAAAAAAAFko/ME5JTxAQAV0/s1600-h/image_thumb45%25255B5%25255D.png"><img alt="image_thumb45" border="0" height="523" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmKNJNf25DXDGWP2iEzQaTzvclZNB-Nr1Fz3HpxjidnmW9PtBPdxx0yMsaVT-qKcw6yz7O0uAxXfByY4IZk1MT13TKvDQBOvDyN0B_HAeU7igh1zU9rZREj3jd5FDWLh7PSBW9AuFQeNc/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb45" width="867" /></a> <br />
a 2-paned application opens up with the left pane showing the json data and the right pane showing the SVG nodes read from excel sheet: <br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitYO73jIJZ6_2-S8xCZL2QyF6nOn-7FiNkTVMskV9s89t2PBQO7hrQjyFds5LVChYQGuh36RmDwKDuXDdYZVDbAF9QpL9KExmASGox5-rAlWrDg0mIiaoCxk8_GPnxZWsHK3lGT8A7tyA/s1600-h/image_thumb46%25255B5%25255D.png"><img alt="image_thumb46" border="0" height="522" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXginXdrC0zsutpb87fFmOk5ay9gAfo9dZ96a-tpdFlFa2iiwnArcCa0Ilm8FrTLWtWZmOnimEcV5mrWe_733pSt3ZIzhvws0DlxvX27ZSDb-CPqSs0hxwlLoNYQKLwp89vYO_HXNxO6E/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb46" width="867" /></a> <br />
the nodes can be rearranged by mouse drag and drop: <br />
<a href="https://lh3.googleusercontent.com/-eWOlhQPb1O4/WInEsv9bXLI/AAAAAAAAFk4/niKGYPoul7s/s1600-h/image_thumb48%25255B5%25255D.png"><img alt="image_thumb48" border="0" height="531" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgwSHkDUifyhSAjtdV1URviqgf7hXwtVUSZVmls9aurrRAnYIe10Hr5-Oez52AiRq7jOYJvL8XVIIeYh4S8lvTEvRmYxdaBOGf-MdsX7BuDZDFXGU8TlxJZBBsRmSkNDMeAjxXcwYJyu0/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb48" width="868" /></a><br />
<br />
<br />
<br />
<br /></blockquote>
<blockquote>
3. Delete one of the nodes from the feeder excel sheet: <br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaYwWajXNYqHkwSEBNQyG3DBK-OuSaVfeoC_-bafqlHok1bJTLCUetcfYcaaHaKZK1cAU9sBICbkyGHj1lnEN0-sCK7MiJIGJMt3hMFLdwUtyqo1OkCFg2KSl8inMFkBIxa3Bhiuah9RE/s1600-h/image_thumb49%25255B5%25255D.png"><img alt="image_thumb49" border="0" height="533" src="https://lh3.googleusercontent.com/-_2GHcojrkpU/WInEvIANQ6I/AAAAAAAAFlE/ZTRj7N1PFpE/image_thumb49_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb49" width="868" /></a> <br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKb8RlEU_5rIKPMTYM17iRPCLrYtdOyufdzsX-GZpSkVq-R2A_tZUP5_91JTo5gGYXix0scEeKPWwclmgGKuMKI1vlj35-SR3DuUjLVKiLd329RT25hzYZPW5e8YOQEtLxj2zytB03lOo/s1600-h/image_thumb50%25255B5%25255D.png"><img alt="image_thumb50" border="0" height="528" src="https://lh3.googleusercontent.com/-mGn6gNAa1W8/WInExcHDGYI/AAAAAAAAFlM/G3B2O5dYmvI/image_thumb50_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb50" width="870" /></a> <br />
refresh the browser and see the updated nodes – no server restart required: <br />
<a href="https://lh3.googleusercontent.com/-s71-GDOf57U/WInEyBFPgDI/AAAAAAAAFlQ/-cVhHMEIAtA/s1600-h/image_thumb51%25255B5%25255D.png"><img alt="image_thumb51" border="0" height="525" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmpKOWHJY9nWkMljx3k_pK2Q-BTfanuBrF4glGNKodMbqc_iC76QYJyv7zkqelcv1RPM1Pum5aDY7vKsa_DWdYXjkkxwMr0MgbPp6lMpwiKmmAKr5Kvy7aRvgGclvyPxiGZAVBlC5VHtI/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb51" width="870" /></a><br />
<br />
<br />
<br /></blockquote>
<blockquote>
4. Check the logs and see that only the server side logging done is visible: <br />
<a href="https://lh3.googleusercontent.com/-Ucn-DmYofMc/WInE0CnRlCI/AAAAAAAAFlY/wrMma6-7Fm0/s1600-h/image_thumb52%25255B5%25255D.png"><img alt="image_thumb52" border="0" height="523" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizot7Y9w_oACF21jNsH1ZR1Xh2Mw4S3ekUWxE4RguWDyJtTKyKs60wREbT_p3H_GjfxAMbZ777C4g2vDgwssEiY_-nq4tCrhAPx8pMH_t447Can4ghaQ1ZHKPA9Eza_qiJ46tSupi38lc/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb52" width="868" /></a></blockquote>
<strong></strong> <br />
<strong></strong> <br />
<strong>When can we see the client side logs?</strong> <br />
<blockquote>
Client side debugging is possible using VS Code editor. Some configurations are required – please refer the launch.json file from the <a href="https://drive.google.com/file/d/0ByNmPygfNjBZcHVhTWxJN3d3SDA/view?usp=sharing">customized application code base</a>. <br />
Also required is a VS Code extension - Debugger for Chrome: <br />
<a href="https://lh3.googleusercontent.com/-wduQl8ihUhg/WInE2RnCGzI/AAAAAAAAFlg/q1kadpeYIRE/s1600-h/image_thumb53%25255B5%25255D.png"><img alt="image_thumb53" border="0" height="530" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimH-D-NN-43hr4uLkrEU84p6gdeOemNzkmIZG__GhOJtH9vfaSUwdrVIUBTnrmVCg6xljGqm5b5n7cfBYzDttAH8fkIOAKNN5QkW2-Ga42us4DEThma6Ui3uCKC6b5mDbTwDZALfP6Zd8/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb53" width="868" /></a> <br />
as well as the remote debugging port setting while launching Chrome: <br />
<a href="https://lh3.googleusercontent.com/-NTWWVXT60Ew/WInE4czLcyI/AAAAAAAAFlo/OgCLma8Q2U8/s1600-h/image_thumb35%25255B9%25255D.png"><img alt="image_thumb35" border="0" height="513" src="https://lh3.googleusercontent.com/-dGqIb9d-Rqw/WInE5IYxOPI/AAAAAAAAFls/5eGeQaZLz0s/image_thumb35_thumb%25255B6%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image_thumb35" width="359" /></a><br />
<br />
<br />
<br /></blockquote>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com1tag:blogger.com,1999:blog-8067185494722517854.post-67420048415017540512016-01-16T09:10:00.000+05:302016-01-16T09:11:41.423+05:30Code share - Test Run Summary Table with collapsible point of failure details<div dir="ltr" style="text-align: left;" trbidi="on">
Video is <a href="https://youtu.be/nDdRrFAqFQU" target="_blank">here</a>.<br />
<br />
Code is here:<br />
<br />
<b>File: myscript1.js</b><br />
<br />
<span style="font-family: Verdana, sans-serif;">function repeatTest($scope) {</span><br />
<span style="font-family: Verdana, sans-serif;"> $scope.tests = [</span><br />
<span style="font-family: Verdana, sans-serif;"> {testName: "Test1", overallResult: "Pass", firstError: "-", lastError: "-"},</span><br />
<span style="font-family: Verdana, sans-serif;"> {testName: "Test2", overallResult: "Fail", firstError: "Page not found", lastError: "Page not found"},</span><br />
<span style="font-family: Verdana, sans-serif;"> {testName: "Test3", overallResult: "Fail", firstError: "Could not select value in combobox - EmpAgeRange", lastError: "Could not find editbox - EmpAddressLine2"}</span><br />
<span style="font-family: Verdana, sans-serif;"> ];</span><br />
<span style="font-family: Verdana, sans-serif;">}</span><br />
<div>
<br /></div>
<br />
<b>File: index.html</b><br />
<br />
<span style="font-family: Verdana, sans-serif;"><!DOCTYPE html></span><br />
<span style="font-family: Verdana, sans-serif;"><html></span><br />
<br />
<span style="font-family: Verdana, sans-serif;"> <head></span><br />
<span style="font-family: Verdana, sans-serif;"> <script src="http://code.angularjs.org/1.2.0-rc.2/angular.js"></script></span><br />
<span style="font-family: Verdana, sans-serif;"> <link rel="stylesheet" href="style.css" /></span><br />
<span style="font-family: Verdana, sans-serif;"> <script src="myscript1.js"></script></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"> </head></span><br />
<br />
<span style="font-family: Verdana, sans-serif;"> <body ng-app=""></span><br />
<span style="font-family: Verdana, sans-serif;"> <h1>Test Run Summary</h1></span><br />
<span style="font-family: Verdana, sans-serif;"> <div ng-controller="repeatTest"></span><br />
<span style="font-family: Verdana, sans-serif;"> <table></span><br />
<span style="font-family: Verdana, sans-serif;"> <thead style="background-color: lightgray;"></span><br />
<span style="font-family: Verdana, sans-serif;"> <tr></span><br />
<span style="font-family: Verdana, sans-serif;"> <td style="width: 30px;"></td></span><br />
<span style="font-family: Verdana, sans-serif;"> <td>Test Name</td></span><br />
<span style="font-family: Verdana, sans-serif;"> <td>Overall Result</td></span><br />
<span style="font-family: Verdana, sans-serif;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><td>Point of Failure</td></span><br />
<span style="font-family: Verdana, sans-serif;"> </tr> </span><br />
<span style="font-family: Verdana, sans-serif;"> </thead></span><br />
<span style="font-family: Verdana, sans-serif;"> </span><br />
<span style="font-family: Verdana, sans-serif;"> </span><br />
<span style="font-family: Verdana, sans-serif;"> </span><br />
<span style="font-family: Verdana, sans-serif;"> <tbody></span><br />
<span style="font-family: Verdana, sans-serif;"> <tr ng-repeat-start="test in tests"></span><br />
<span style="font-family: Verdana, sans-serif;"> <td></span><br />
<span style="font-family: Verdana, sans-serif;"> <button ng-if="test.expanded" ng-click="test.expanded = false">-</button></span><br />
<span style="font-family: Verdana, sans-serif;"> <button ng-if="!test.expanded" ng-click="test.expanded = true">+</button></span><br />
<span style="font-family: Verdana, sans-serif;"> </td></span><br />
<span style="font-family: Verdana, sans-serif;"> <td>{{test.testName}}</td></span><br />
<span style="font-family: Verdana, sans-serif;"> <td>{{test.overallResult}}</td></span><br />
<span style="font-family: Verdana, sans-serif;"> </tr></span><br />
<span style="font-family: Verdana, sans-serif;"> <tr ng-if="test.expanded"></span><br />
<span style="font-family: Verdana, sans-serif;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><td /></span><br />
<span style="font-family: Verdana, sans-serif;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><td /></span><br />
<span style="font-family: Verdana, sans-serif;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><td /></span><br />
<span style="font-family: Verdana, sans-serif;"> <td colspan="1">First Error: <br>{{test.firstError}}</td></span><br />
<span style="font-family: Verdana, sans-serif;"> </tr></span><br />
<span style="font-family: Verdana, sans-serif;"> <tr ng-if="test.expanded" ng-repeat-end=""></span><br />
<span style="font-family: Verdana, sans-serif;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><td /></span><br />
<span style="font-family: Verdana, sans-serif;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><td /></span><br />
<span style="font-family: Verdana, sans-serif;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><td /></span><br />
<span style="font-family: Verdana, sans-serif;"> <td colspan="1">Last Error: <br>{{test.lastError}}</td></span><br />
<span style="font-family: Verdana, sans-serif;"> </tr></span><br />
<span style="font-family: Verdana, sans-serif;"> </tbody></span><br />
<span style="font-family: Verdana, sans-serif;"> </table></span><br />
<span style="font-family: Verdana, sans-serif;"> </div></span><br />
<span style="font-family: Verdana, sans-serif;"> </body> </span><br />
<span style="font-family: Verdana, sans-serif;"></html> </span></div>
Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-16864839408124604032015-06-19T23:47:00.001+05:302015-06-19T23:47:15.549+05:30Experiment: Windows Host to Linux VM connection via SSH2<p> </p> <p><a href="https://youtu.be/v7bc-d57Nz0" target="_blank">Here</a>’s the video!</p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-62071202447314243242015-03-16T08:04:00.001+05:302015-03-16T08:05:40.160+05:30Multi XSD XML Validation<p> </p> <p>This program validates XMLs against referenced XSDs.</p> <p>The XSDs are assumed to be external to (not embedded in) the XML.</p> <p>List the XSDs and XMLs details in separate sheets in the program’s excel book and run the program.</p> <p>The <a href="https://drive.google.com/file/d/0ByNmPygfNjBZODdZNXJ6YV85UTQ/view?usp=sharing" target="_blank">program</a> will generate errors/ warnings in console window.</p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-2733077830158092762014-11-20T23:08:00.000+05:302014-11-20T23:08:35.300+05:30Hello World in iPhone<div dir="ltr" style="text-align: left;" trbidi="on">
meines erstes iphone Programm - Gemacht durch Code<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho7oHs7kAsXA1IjqbRpY1ekAiuYzQxqy2Y1EG9UhbiO7JbsZZMhUJUpzJ8uvFciH8_Uc9gUFx0WpBIk1JTCpZ92rGmBEuIz-WdtJIi7Rx_BD97dwF5Rex5ndmKrp0IBse7ZZuaQxtxtdk/s1600/iOS_Simulator_-_iPhone_5s_-_iPhone_5s___iOS_8_1__12B411_.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho7oHs7kAsXA1IjqbRpY1ekAiuYzQxqy2Y1EG9UhbiO7JbsZZMhUJUpzJ8uvFciH8_Uc9gUFx0WpBIk1JTCpZ92rGmBEuIz-WdtJIi7Rx_BD97dwF5Rex5ndmKrp0IBse7ZZuaQxtxtdk/s1600/iOS_Simulator_-_iPhone_5s_-_iPhone_5s___iOS_8_1__12B411_.png" height="320" width="173" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0Pune, Maharashtra, India18.5204303 73.85674369999992518.2795358 73.534020199999929 18.7613248 74.17946719999992tag:blogger.com,1999:blog-8067185494722517854.post-58826743186803675612014-11-10T22:48:00.000+05:302014-11-10T22:49:57.673+05:30Two-way XML Diffgram (XML structure sensitive)<p> </p> <p>With pretty printed source XMLs:</p> <p><a href="http://lh3.ggpht.com/-Wf6eaaJYG6g/VGDzqlqwAEI/AAAAAAAACjA/lrAUL-d-urc/s1600-h/image%25255B5%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWUEfa_Xn5rAmvjdCbDQ9gPM57UEh_vqNpblIW0iElAAckUouRld49VaVdyTkQ7VC8FEdsf_vekRQKK16vxGBNrudL26SB23wblxjCKI8yNtByaw1_C6PaUtLi061bE-xlpJr0A_cZcQI/?imgmax=800" width="915" height="538"></a></p> <p>Same source XMLs, but in single line – diffgram output remains the same:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNw-s9Hq8bA2IBZQByN2k-bHwV9ztIbKIK-nr94HlhgxLX5w255K_zh-0SuPoScI6KSbIOpT_o6vXNdjbfw4mz-pcvGYyk1h0kAzPRMGf8CBYFj6vhycVfK-_1ewk_7GjBLpVGR0P9ujg/s1600-h/image%25255B11%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP9HcWvLy0tIjSn080MA7N4s6xaHzGlHzfTGu4by8oOhx4aFHGJaD7S6-v75IfOItTwkxTXaoC4sDn9Piia4Cz37s5FGFkauoziWDxol6h_HYzyqQeqdrYABhgUqQHBAlBcbRIr6pc2QQ/?imgmax=800" width="916" height="544"></a></p> <p>Download the program files from <a href="https://drive.google.com/file/d/0ByNmPygfNjBZekZwUURwUXVEbTg/view?usp=sharing" target="_blank">here</a>.</p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-61455714896796095622014-06-01T06:05:00.001+05:302014-06-01T06:39:35.711+05:30Experimenting with Visio and VBScript<div style="text-align: left" dir="ltr" trbidi="on"><br><font color="#4bacc6" size="3">This diagram is created:<br></font><br></div> <div class="separator" style="text-align: center; clear: both" dir="ltr" trbidi="on"><a style="margin-bottom: 1em; float: left; clear: left; margin-right: 1em" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGx0K2iyBLeNl5IuFpOAo_T4svMYDLYjUo2943lzwGSd8ybhaudD0nRFcomfrA18WsZ_wyePKdPdbTAgEKVx7yhcbGUF2HiUrLgsTBsZaS8CnC_PoA2IP09ZZ61Rf4osgszb3MBhBHLIw/s1600/Image+-+visio.png" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGx0K2iyBLeNl5IuFpOAo_T4svMYDLYjUo2943lzwGSd8ybhaudD0nRFcomfrA18WsZ_wyePKdPdbTAgEKVx7yhcbGUF2HiUrLgsTBsZaS8CnC_PoA2IP09ZZ61Rf4osgszb3MBhBHLIw/s1600/Image+-+visio.png" width="850" height="463"></a></div> <div style="text-align: left" dir="ltr" trbidi="on"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" align="left" trbidi="on"><font color="#4bacc6" size="3">using this code:</font><br><br></div> <div class="separator" style="text-align: center; clear: both" dir="ltr" trbidi="on"><a style="margin-bottom: 1em; float: left; clear: left; margin-right: 1em" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr3iuJSPuQwoV_O1kJZ9-txkGlMs3Eml87NVumXv6wGrABecHTU_tnMfQhi05BxrijD3BTIjRQJ4ZvaKzAcj8aMsyfsv9tv8rAhCUK_af6gArUdU5CC2_3hRO-S5Zc40kq_yv3TP3u7_M/s1600/Image+-+vbscript.png" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr3iuJSPuQwoV_O1kJZ9-txkGlMs3Eml87NVumXv6wGrABecHTU_tnMfQhi05BxrijD3BTIjRQJ4ZvaKzAcj8aMsyfsv9tv8rAhCUK_af6gArUdU5CC2_3hRO-S5Zc40kq_yv3TP3u7_M/s1600/Image+-+vbscript.png"></a></div> <div style="text-align: left" dir="ltr" trbidi="on"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" trbidi="on"> </div> <div style="text-align: left" dir="ltr" align="left" trbidi="on"><font color="#4bacc6" size="3">Copy the code:</font><br><br></div> <p>Option Explicit</p> <p>Dim strVSDPath, filesys<br>Dim vsoApplication, vsoDocument, vsoPages, vsoPage<br>Dim vsoMaster1, vsoMaster2, vsoStencil<br>Dim vsoShape1, vsoShape2, vsoConnector1<br>Dim itr</p> <p>Const visAutoConnectDirDown = 2 'Connect down.<br>Const visAutoConnectDirLeft = 3 'Connect to the left.<br>Const visAutoConnectDirNone = 0 'Connect without relocating the shapes.<br>Const visAutoConnectDirRight = 4 'Connect to the right.<br>Const visAutoConnectDirUp = 1 'Connect up.</p> <p>' Visio file to be created.<br>strVSDPath = "D:\Workspace_Visio\TestRunFlow.vsd"</p> <p>'delete any previously existing Suite file<br>Set filesys = CreateObject("Scripting.FileSystemObject")<br>If filesys.FileExists(strVSDPath) Then<br> filesys.DeleteFile strVSDPath<br>End If <br>Set filesys = Nothing</p> <p>' Bind to Visio object.<br>On Error Resume Next<br>'Set vsoApplication = CreateObject("Visio.Application")<br>Set vsoApplication = CreateObject("Visio.InvisibleApp")</p> <p>If (Err.Number <> 0) Then<br> On Error GoTo 0<br> Wscript.Echo "Visio application not found."<br> Wscript.Quit<br>End If<br>On Error GoTo 0</p> <p><br>Set vsoDocument = vsoApplication.Documents.Add("Basic Diagram.vst")<br>Set vsoPages = vsoDocument.Pages<br>Set vsoPage = vsoPages.Item(1)<br>Set vsoStencil = vsoApplication.Documents("Basic Shapes.vss")</p> <p>Set vsoMaster1 = vsoStencil.Masters("Rectangle")<br>'Set vsoMaster2 = vsoStencil.Masters("Rectangle")</p> <p>Set vsoShape1 = vsoPage.Drop(vsoMaster1, 3.5, 7)<br>vsoShape1.Text = "Shape 1"<br>For itr = 2 to 3 <br> Set vsoShape2 = vsoPage.Drop(vsoMaster1, 3.5, 5.5 + (itr - 1)*2)<br> <br> vsoShape2.Text = "Shape " & itr</p> <p> vsoShape1.AutoConnect vsoShape2, visAutoConnectDirDown<br> <br> Set vsoShape1 = vsoShape2<br> Set vsoShape2 = Nothing<br>Next</p> <p>vsoDocument.SaveAs strVSDPath<br>vsoDocument.Close</p> <p>vsoApplication.Quit</p> <p><br>'Set vsoApplication = Nothing<br>Set vsoShape1 = Nothing<br>Set vsoShape2 = Nothing<br>Set vsoConnector1 = Nothing</p> <p>Set vsoMaster2 = Nothing<br>Set vsoMaster1 = Nothing<br>Set vsoStencil = Nothing<br>Set vsoPage = Nothing<br>Set vsoPages = Nothing<br>Set vsoDocument = Nothing<br>Set vsoApplication = Nothing</p> <p>Wscript.Echo "Done"</p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-84915256262348374482012-08-28T00:06:00.000+05:302012-08-28T00:17:18.305+05:30Minimal test cases to catch bugs in the Calendar Date to Day convertor<p> </p> <p>Here’re the fields and respective input values against which the Date to Day convertor can be tested (left-side-table):</p> <table style="line-height: normal; border-collapse: collapse" border="0" cellspacing="0" cellpadding="0" width="720"><colgroup><col style="width: 48pt" width="64" /></colgroup><tbody> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" width="80"><font style="font-size: 11pt" color="#000000"><strong>Month</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="80"><font style="font-size: 11pt" color="#000000"><strong>Day</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="80"><font style="font-size: 11pt" color="#000000"><strong>Year</strong></font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="80"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="80"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="80"> </td> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="80"><font style="font-size: 11pt" color="#000000"><strong>Month</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="80"><font style="font-size: 11pt" color="#000000"><strong>Day</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="80"><font style="font-size: 11pt" color="#000000"><strong>Year</strong></font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">1</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">1</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">3</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">3</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKB24SBw7pDDHc_IuWEpDeGgo_Wucm3K5LZFPsSxUlQ3GuePQzUpnZNDWWvyow6rfooYAnwIvGsSSNITAMSgIeq2Ztl3Hc3g7THE1ZJAbdp_aqwjxVkLiUKP2XqZnB2BYzVRl7rKiP3ss/s1600-h/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFVdCOBF9cDTjRdlHUql2dkU7n0y5zJCcnwqtMsSHI_kYlt-ATlSkmyB-Dga2Sc6FSo6dsTxfc4gphtlJMJLMCOcVNoFqLOdhyBfafeUd19mcdZSNoXWPa2N36dIaxa2JMMh52w6rcuT4/?imgmax=800" width="240" height="55" /></a></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: black 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" rowspan="28" align="center"><font style="font-size: 11pt" color="#000000"> </font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66"><font style="font-size: 11pt" color="#000000"> </font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66"><font style="font-size: 11pt" color="#000000"> </font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">5</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">5</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">6</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">6</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">7</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">7</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">8</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">8</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">9</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">9</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">10</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">10</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">11</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">11</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: black 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="456" rowspan="19" align="center"><font style="font-size: 11pt" color="#000000"> </font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" align="right"><font style="font-size: 11pt" color="#000000">13</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">14</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">15</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">16</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">17</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">18</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">19</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">20</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">21</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">22</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">23</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">24</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">25</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">26</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">27</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> <td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px"> </td> </tr> </tbody></table> <p>However, to break the software, a smaller set of values is sufficient enough! </p> <p>We can apply Boundary Value Analysis method at the upper end of days range to consider:</p> <ol> <li>1 case of a month having max 30 days </li> <li>1 case of a month having max 31 days </li> <li>2 cases for the month of February (max 28, 29 days) </li> </ol> <p>Thus, our set of values reduces to the second table shown above. Here we have randomly picked months 4, 12 and 2 respectively.</p> <p>Let’s take a closer look!</p> <p><a href="http://lh6.ggpht.com/--xk0YjyJCHY/UDu-xkyAPmI/AAAAAAAAB3s/yTwUwlgARd8/s1600-h/image26.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5h6LDujFfvDJh1tCYFdSsaE4PWdUh5FdasOhqRWkEMhyysZeD5tu9wOVI7f0g-mjdzsqP6qFDbBXsaEBzSpgbnrsiOTvVzkF3MaJilwfOSWue6KSARKaeF7mlC3Ilf27glQud1WFaGcA/?imgmax=800" width="814" height="263" /></a></p> <p>To consider both positive and negative test scenarios, we consider:</p> <ol> <li>An even numbered year (2010) </li> <li>An odd numbered year(2011) </li> <li>A leap year(2012) </li> </ol> <p>Now even this reduced set of values for Year, Month and Days of Month can lead to an overwhelming set when we consider the possible combinations that can be used to input data in the form. The number would be </p> <p>= (Number of Month Values) * (Number of Year Values) * (Number of Day Value)</p> <p>= 3 * 3 * 4</p> <p>= 36</p> <p>However, there’s a more efficient scientific technique available!</p> <p>So, let’s feed the reduced set of data to the <strong>All Pairs</strong> program from satisfice.com</p> <p>Here’s the raw set of test cases derived by the program:</p> <table style="line-height: normal; border-collapse: collapse" border="0" cellspacing="0" cellpadding="0" width="240"><colgroup><col style="width: 48pt" width="64" /></colgroup><tbody> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" width="80"><font style="font-size: 11pt" color="#000000"><strong>Month</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" width="80"><font style="font-size: 11pt" color="#000000"><strong>Day</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" width="80"><font style="font-size: 11pt" color="#000000"><strong>Year</strong></font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">~2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> </tr> </tbody></table> <p>Categorize it:</p> <table style="line-height: normal; border-collapse: collapse" border="0" cellspacing="0" cellpadding="0" width="641"><colgroup><col style="width: 116pt; mso-width-source: userset; mso-width-alt: 5489" width="154" /><col style="width: 48pt" width="64" /><col style="width: 125pt; mso-width-source: userset; mso-width-alt: 5944" width="167" /></colgroup><tbody> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23" width="193"><font style="font-size: 11pt" color="#000000"><strong>Test generation method</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="80"><font style="font-size: 11pt" color="#000000"><strong>Month</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="80"><font style="font-size: 11pt" color="#000000"><strong>Day</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="80"><font style="font-size: 11pt" color="#000000"><strong>Year</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" width="208"><font style="font-size: 11pt" color="#000000"><strong>Test type</strong></font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">+ive</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">not required</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">not required</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">-ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">not required</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">not required</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">-ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">+ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">not required</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">-ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">-ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">+ve</font></td> </tr> <tr style="height: 28.8pt" height="38"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="47" width="193"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80"><font style="font-size: 11pt" color="#000000">~2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">consider as additional case for Month value 2 only</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" height="23" width="193"><font style="font-size: 11pt" color="#000000">Additional cases</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="80" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl67" width="208"><font style="font-size: 11pt" color="#000000">+ve</font></td> </tr> </tbody></table> <p>Filter it:</p> <table style="line-height: normal; border-collapse: collapse" border="0" cellspacing="0" cellpadding="0" width="511"><colgroup><col style="width: 116pt; mso-width-source: userset; mso-width-alt: 5489" width="154" /><col style="width: 48pt" width="64" /><col style="width: 47pt; mso-width-source: userset; mso-width-alt: 2218" width="62" /></colgroup><tbody> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" height="23" width="193"><font style="font-size: 11pt" color="#000000"><strong>Test generation method</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" width="80"><font style="font-size: 11pt" color="#000000"><strong>Month</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" width="80"><font style="font-size: 11pt" color="#000000"><strong>Day</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" width="80"><font style="font-size: 11pt" color="#000000"><strong>Year</strong></font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; background-color: #d9d9d9; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: windowtext 0.5pt solid; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl66" width="78"><font style="font-size: 11pt" color="#000000"><strong>Test type</strong></font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">28</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65"><font style="font-size: 11pt" color="#000000">+ive</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65"><font style="font-size: 11pt" color="#000000">-ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65"><font style="font-size: 11pt" color="#000000">-ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">30</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65"><font style="font-size: 11pt" color="#000000">+ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">4</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65"><font style="font-size: 11pt" color="#000000">-ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2010</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65"><font style="font-size: 11pt" color="#000000">-ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">Program generated</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">12</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">31</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2011</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65"><font style="font-size: 11pt" color="#000000">+ve</font></td> </tr> <tr style="height: 14.4pt" height="19"> <td style="border-bottom: windowtext 0.5pt solid; border-left: windowtext 0.5pt solid; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" height="23"><font style="font-size: 11pt" color="#000000">Additional cases</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">29</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65" align="right"><font style="font-size: 11pt" color="#000000">2012</font></td> <td style="border-bottom: windowtext 0.5pt solid; border-left: medium none; padding-left: 1px; padding-right: 1px; vertical-align: bottom; border-top: medium none; border-right: windowtext 0.5pt solid; padding-top: 1px" class="xl65"><font style="font-size: 11pt" color="#000000">+ve</font></td> </tr> </tbody></table> <p>Execute these and report the bugs!</p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-67814389508157032372012-08-22T22:29:00.000+05:302012-08-22T22:29:57.011+05:30A simple WCF Service<p> </p> <p>Web services have been traditionally used to have the server-side perform the processing making the client-side a thin layer.</p> <p><a href="http://lh4.ggpht.com/-otAs5YmSqJo/UDUOv5t_aEI/AAAAAAAAB2w/wDYLOE0ej_Y/s1600-h/image%25255B6%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-gdKKpVLKgrg/UDUOyL6-0aI/AAAAAAAAB24/kWZPz1Hhm1o/image_thumb%25255B3%25255D.png?imgmax=800" width="925" height="691" /></a></p> <p>Here’s a simple web app that takes input (limited range) from the User and sends the Calendar date to the server. The server then processes the day of week and sends it back to the client for display.</p> <p><a href="http://lh5.ggpht.com/-TFFiMkHbbu4/UDUOzxn0rTI/AAAAAAAAB3A/CzoL6e0ddXI/s1600-h/image%25255B15%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNDIMEBFoPoJdjMIJrbuuWkfGXTv-COO3GVLdtd2XsnxYolXwkdbOAJUtEHvUkkB7iKDYBCs3yUol5xNCn2IgrM1hdWHMfI62m0bKSuxyLCS-KHwbDcFQ5NRsY6WwX0npAWG1pClh-Gq4/?imgmax=800" width="549" height="419" /></a></p> <p>Click <a href="https://docs.google.com/open?id=0ByNmPygfNjBZb0UzUERNUjhWV28" target="_blank">here</a> for the source code.</p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-12581273540004541002012-08-20T20:31:00.000+05:302012-08-20T20:33:18.093+05:30Excel Automation and a palatable QTP Suite<p> </p> <p>Excel automation and VBScript can be used to create a test suite that can control the run sequence of QTP scripts and present a Summary report of the automation run cycle.</p> <p>Its simple enough to double-click an icon and the VBScript program will create an excel sheet, populated with all the scripts from a Test folder. Here’s the folder structure:</p> <p><a href="http://lh3.ggpht.com/-ExHsdyaw_n4/UDJNoa8n8XI/AAAAAAAABz8/KfuMOyFCDVc/s1600-h/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-NDeiyzHsQhw/UDJNphd9-tI/AAAAAAAAB0E/R35GH2Q7aEA/image_thumb1.png?imgmax=800" width="255" height="155" /></a></p> <p>Click <a href="https://docs.google.com/open?id=0ByNmPygfNjBZd0twNkdoLXFmT3M" target="_blank">here</a> to get the files.</p> <p> </p> <p>The <strong>CreateSuite.vbs</strong> program creates an excel sheet ..</p> <p><a href="http://lh3.ggpht.com/-Q1RVWncERwo/UDJNq59ZajI/AAAAAAAAB0M/6vsELzv-Gps/s1600-h/image7.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-LBMVqNeFHfs/UDJNsGuTkBI/AAAAAAAAB0U/p8BPNgryWuI/image_thumb5.png?imgmax=800" width="610" height="286" /></a></p> <p>.. and populates it with all the QTP scripts from the <strong>Tests</strong> folder (folder hierarchy within the <strong>Tests</strong> folder does not matter, a valid script folder will be fetched).</p> <p><a href="http://lh3.ggpht.com/-dnWQ3o9R_nk/UDJRUTjjojI/AAAAAAAAB0g/GI4oDij4IZ8/s1600-h/image22.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-zcxWAdBMd3Y/UDJRWG5X5GI/AAAAAAAAB0o/F88RPNlw52E/image_thumb14.png?imgmax=800" width="612" height="447" /></a></p> <p>Here’s how the excel sheet looks after running the <strong>CreateSuite</strong> program:</p> <p><a href="http://lh4.ggpht.com/-Bw4YhKn1yZs/UDJRXX9MT-I/AAAAAAAAB0s/bpwV1tvT5oU/s1600-h/image17.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8wtu42jnr2K6Fewzz4nvCNHcOcDwDGBc19-rOdLlbprhmSBeCo_v2avp7jfr9SZKaUDO4QHJtrROCTsEmYBlwl6C-jRn5g0JUgk6gsmbe5FP-AlNi_DlIsZUivNmOePbeX1VR1DYqswg/?imgmax=800" width="880" height="203" /></a></p> <p>This Test Suite has been created in the <strong>TestSuite</strong> folder, as the <strong>Suite.xls</strong> file:</p> <p><a href="http://lh6.ggpht.com/-vR1H_SYj05I/UDJRZYPq_mI/AAAAAAAAB1A/4KylZ6Y-0gw/s1600-h/image%25255B6%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL4-4FUrXk3IplITsC54OhfcnRWTGXgPpxE48tdaxsbi0DIdKB_tPWcNxL5m374LWbO1-vTROrZCg3txMY8UwIzwCglNoEFKZ1XedrHBc7qNSWnAoxe_HKd8l38X2StowVHjD0tTOCg40/?imgmax=800" width="615" height="289" /></a></p> <p>Once the list of tests is available, one can choose to configure a subset of the listed tests to be run, like in the case below, we turn off the fourth test:</p> <p><a href="http://lh3.ggpht.com/-UiUyXunJj5Q/UDJRcKvYx7I/AAAAAAAAB1Q/Kq7QzuN7mSs/s1600-h/image27.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxU1KT5xKFNYPI-vkXieW1UggMCJj06h3-6nP-fBuBo0AFD6qcZaEi3fdIylNL_1oek0l56AgsBenXGEkeY8N-53c0PPIXeuznhjSRLlTp82SNrqPRdTtfCZA-sKLUskz7kRQs_yi0wR8/?imgmax=800" width="879" height="202" /></a></p> <p>Now that the list of tests to be run is ready, we can double-click the <strong>SuiteRunner.vbs</strong> program to get the automation run started:</p> <p><a href="http://lh5.ggpht.com/-fsZl50In5gU/UDJRfOpiP1I/AAAAAAAAB1c/zExTSRGOI4c/s1600-h/image%25255B12%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfwvd6B1edq8ByeZORehOvAJAzHe_0PsL8qX7vEa2Cx8DmWoSQXSCaTR_UkdEi5zFaIbQTewRvWSM5edJPCQ07Yq45EmqACvaXyh3Mqz0ML6vXkVY1FXikTl8rGZLIc8bgwLZvph2zXy4/?imgmax=800" width="618" height="291" /></a></p> <p>Some features of the Runner:</p> <ol> <li>The Suite Runner will read and run the scripts row-by-row. </li> <li>All scripts that are marked as <strong>Y</strong> in the <strong>Run ?</strong> column and that have a <strong>Not Run</strong> or a <strong>Failed</strong> result will be run. </li> <li>The full Suite can be iterated to run multiple times, for failed tests to get a chance to run in case some unexpected network state had prevented the earlier run. The last attempted iteration number is noted in the column <strong>Suite Cycle Itr</strong>. </li> <li>The Start and End times of each test are noted in the relevant columns. </li> <li>The Test Run Result is noted and highlighted with appropriate color in the <strong>Result </strong>column. </li> </ol> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBRSTan0rn_l3X_N8yJqDdP14WvvRjC5T1l6bVALuXsGk0DS8GLKWOy4KP-fWQzbiG_gHPdHNHfCJlult4S732H8parA9X0boLFVUrHL3cXKND97YbY-7GeDTbz2rjuM-iB4GBk43__IA/s1600-h/image32.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi13RuJChK2jp8k68zVQjYAIlnHoTVzf5DBEeI2Q_IcjYBLITpp1hsoY7S3aoKzGjpiwSyyZrfiGQy3cQB_1Rlak5NPeObh_l7dGXRM0w4Jg-PfkHf8mXWMi-85vkud5R864T7fW_taEMo/?imgmax=800" width="879" height="194" /></a></p> <p>This excel sheet can now be used for further analysis of failures and reporting the same to the Stakeholders!</p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-15887857348168352452012-04-11T22:48:00.001+05:302012-04-11T22:48:57.506+05:30Column info : Testing in Twos<a href="http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=17354&tth=DYN&tt=siteemail&iDyn=2">Column info : Testing in Twos</a>Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-71404803542089272482012-03-03T22:36:00.001+05:302012-03-03T22:38:35.464+05:30Fresh brew with NUnit for Selenium over a cuppa VS2010 Express’o<p> </p> <p><strong><font size="2"></font></strong></p> <p><strong><font size="2">Selenese coffee beans</font></strong></p> <p>1) A recorded Selenium script for a simple scenario of googling for the term Tomato. This recording should have been saved as an export in C# format.</p> <p>2) VS2010 express editors – for C# and Web dev</p> <p>3) MS Excel</p> <p>4) Browsers – Chrome, Firefox, IE</p> <p>5) WebDriver for Google Chrome</p> <p><font size="2"><strong></strong></font></p> <p><font size="2"><strong>Prepare the Coffee Machine</strong></font></p> <p>Let’s install NUnit extension, NuGet package manager, Selenium packages and include MS Excel Interop reference into VS2010.</p> <p>Essentially 2 different editors are required from the VS2010 stable:</p> <p>a) Microsoft Visual C# 2010 Express – get NUnit</p> <p>b) Microsoft Visual Web Developer 2010 Express – to get NuGet and Selenium</p> <p> </p> <p>Let’s get started with Microsoft Visual C# 2010 Express – </p> <p>Invoke Extension Manager:</p> <p><a href="http://lh3.ggpht.com/-gQfJuxQ8itk/T1JOuMjU-8I/AAAAAAAABm8/x0nVDognKVQ/s1600-h/1.-Invoke-VS-2010-Express-Extension-%25255B1%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="1. Invoke VS 2010 Express Extension Manager" border="0" alt="1. Invoke VS 2010 Express Extension Manager" src="http://lh4.ggpht.com/-8FkiVqn5Er8/T1JOvi_jbfI/AAAAAAAABnE/wO6KIzAOf2w/1.-Invoke-VS-2010-Express-Extension-%25255B2%25255D.jpg?imgmax=800" width="547" height="321" /></a></p> <p>Browse the Online Gallery and download NUnit Test Application:</p> <p><a href="http://lh5.ggpht.com/-yzAaMZOhPkk/T1JOx8xXICI/AAAAAAAABnM/aRXSID21MtM/s1600-h/2.-Visit-Online-Gallery-to-download-.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="2. Visit Online Gallery to download NUnit Test Application" border="0" alt="2. Visit Online Gallery to download NUnit Test Application" src="http://lh4.ggpht.com/-qQJh1ilLssc/T1JOz0MmVZI/AAAAAAAABnU/N_hQONSrAf4/2.-Visit-Online-Gallery-to-download-%25255B1%25255D.jpg?imgmax=800" width="618" height="472" /></a></p> <p>Install NUnit:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji9puByMWv_u5ih6eBa1wpkpHkPDz5p9V4L6uoNKMz0u1SOQFc3kLh_jvyT3taGezEgNp2CNG9vtQrCQnYX24c54qXNPMl9H5ZIc0sC9lSzade0YfyixIaOrP_FVsVg2DoIqJBJWwVlxY/s1600-h/3.-Download-and-Install-NUnit3.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="3. Download and Install NUnit" border="0" alt="3. Download and Install NUnit" src="http://lh6.ggpht.com/-32i__Pbogug/T1JO3D5z8VI/AAAAAAAABnk/zwJc6gVReFw/3.-Download-and-Install-NUnit_thumb1.jpg?imgmax=800" width="505" height="417" /></a></p> <p>Confirm that installation succeeded:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHZuoBDf3KBxZtysfnYC72xc-UmVncth8csgd8FH052UTmW2NyXTPamrmc2hWLoLygh8xW1W-aASQ8rfnMu3egv64jKJUiwcLRcUBpIWyc5bX58nQheL0WQsLz4eQsRrDUW10w920hr_E/s1600-h/4.-On-successful-installation-of-NUn%25255B1%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="4. On successful installation of NUnit" border="0" alt="4. On successful installation of NUnit" src="http://lh3.ggpht.com/-byZFsRTpLGQ/T1JO7eY37YI/AAAAAAAABn0/ckYLeHOeOFc/4.-On-successful-installation-of-NUn.jpg?imgmax=800" width="741" height="501" /></a></p> <p>and this page is displayed in your default browser:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzEmtScQdZNRv_kAHvilU3wL6uxjxlNnrJpsFOCb9HAA422VMZxifW5DVDR8pdJZMeHJrxcQJT_Ss6fXRKO4yn7GGLwc0YyEuaNED8N-VHpKk3b2jxnNEoUQyMe0gDwis7WYqLX1Xy5Yk/s1600-h/5.-On-successful-installation-of-NUn%25255B2%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="5. On successful installation of NUnit" border="0" alt="5. On successful installation of NUnit" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqL4QO3_ZLWkpBI9mDhlWv3b9oI5t-r_pruVuhKRGxIZfmS4TGkTSPXMLkpLHKbvXxMbt-knA-SHjKax77cKQbzVMKOu-N88PqqlSobbajL_fAwI8jAlRuXLT6UJSTlFma4VxS3acy-I8/?imgmax=800" width="984" height="752" /></a></p> <p>Choose to create a New Project:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKZhDWAfey4NmyVL0SNHhvF1V62xPfqQoj5GfVO_V6UpjmKPW8pmYBc1egHNSeurZNuYC2vevMo_0VdjpBudcbeeHh2IadlLgeO4PP0hnJwKojYDduweK-RR5rPjmXautSmI0qSy4wlWU/s1600-h/6.-Create-New-Project4.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="6. Create New Project" border="0" alt="6. Create New Project" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6i_OoG1it20bTbmeg9x-I2vXh8lVEMl4eyuxJO80w6OAiK311Ndf37S2TYmuFLHlKaXCQlnp_2X2GsZ9lHYfuN-x6Dy8ccr_-SwkDTdeT3AgU5ZNjuUuzzqhvjn3aJsCzY680VMNgXTA/?imgmax=800" width="821" height="606" /></a></p> <p>Select the NUnit Test Application template for new project, and click on OK:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTYNVJO6f76U2a39rHD4rk9tp97Hbp4iv4jKgabzbCT7DlQwdSsiZ4SWN2w2dF2zzGGUFtewrcCgDpi0FB_Xa2YdatHI7HS_dLSbVfFjosS2D_O8XKUeXtaRcv8zE-I2-PpbCYXHPGJ38/s1600-h/7.-New-Project-Template---NUnit-Test%25255B1%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="7. New Project Template - NUnit Test App" border="0" alt="7. New Project Template - NUnit Test App" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGc53upVdprCLzDnbsIGL-8dVvZEynMFTKs9JEpi1DI9uX5W7l6yf1Bj4KPSXyeyf2ppqiA-XLGxpI52Ft6TUCVc_5-ZtYRod_N1l57kZiwPOGBMPBw6plxFH_TJyzvVS1Pbiaa9XTKQk/?imgmax=800" width="802" height="510" /></a></p> <p>A new NUnit Test Project gets created with several useful references that make the NUnit features available to this VS2010 project:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizTzLT7BiP_eFGO0e6lxr9lTXeRdIkK1hPAVQGxMoN7DRQpfMcntceWqv4FopOKyQtv9fyZ72D8xghES3Ht8zLjTcAJpmm-JsYzgcXHqnhH6USdWahSjPQm7772HBcHQ8gOI-UjqvdIsM/s1600-h/8.-Default-files-in-an-NUnit-project%25255B2%25255D.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="8. Default files in an NUnit project" border="0" alt="8. Default files in an NUnit project" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgI9Rj911zbY57ic3A_uKw_QJ4qAVuBmNemaVL8fQ7Vb0iamnojrGMcX9_jd0lpjYUUuNDpd_iqg1DLgGu0shR_Mo7WBEPmD0prXE0zF6W5ZlSdOSs830Uqe0IfPYqXC9P5G9b4J4Dpwk/?imgmax=800" width="613" height="743" /></a></p> <p>Now save this project and close this editor.</p> <p>Launch Microsoft Visual Web Developer 2010 Express (in some cases one may need to invoke this as an Administrator, for installation of NuGet) and open the same project that we saved above.</p> <p>Launch the Extension Manager and Search for NuGet Package Manager. Install this extension. One may need to close VS2010 and re-launch it on successful installation. Post-installation, confirm that the Library Package Manager menu item is visible in the VS2010 Web Dev Express editor:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS-GG6Fso_ntEIyi3HSjXPgDY8Pv9yUXnh-T0ghuNGa8gtQ8d7iyn5Kxq9aKnporyBO99JoIJVk6vmtQ0dD87zNXZWFwYZKNY7-z8wtmZ6NhXI2G_FeMPiPimvSSshEX1qWGalc-jhLzI/s1600-h/9.-NuGet-Library-Package-Manager9.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="9. NuGet Library Package Manager" border="0" alt="9. NuGet Library Package Manager" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDuBqNyWO7P8NQbF_kNWF7lZjLr6m5nrowXqKwLltaTrCY1Y8PK0Prv23cOxYHSLEdQOgyvyirpGg1mqED5blIVXMbWOSvqXQqUR9dUeEgPt9d51UVfw2yHPb4uBC7D6t0OL9CFkfNvP4/?imgmax=800" width="892" height="657" /></a></p> <p>Open the saved project and then Invoke the Package Manager Console – at the prompt, run this command:</p> <p>PM> Install-Package Selenium.Support</p> <p>as per the guidelines here: <a href="http://www.nuget.org/packages/Selenium.Support">http://www.nuget.org/packages/Selenium.Support</a></p> <p><a href="http://lh4.ggpht.com/-Pl-JZ54CNPo/T1JPWKSlF3I/AAAAAAAABpM/RzaAY4uz_nA/s1600-h/image41.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-8jTN3s2mksI/T1JPYnP21vI/AAAAAAAABpU/y-ZRZkP1QxM/image_thumb2.png?imgmax=800" width="505" height="447" /></a> <br /></p> <p>This would trigger a dependency check and all required packages including Selenium.WebDriver should get installed. One may alternately choose to go per the seleniumhq website and individually install the WebDriver first and then the Support packages.</p> <p>Now choose to add a reference to the project:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdjwu20dWuZnnbs5mEK3PAwmbhIxFj6nwBISOaOl0PGBKz_Dz_cO5sdqHijw03TkYyplgQ3pE9FggUgLIR3omj5RadyIGg_AchqCkkjjEL7YJoBhOVHiJ9VDlLzKLe4fH8_nVBkd-47NM/s1600-h/image12.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-RtrYc5cA6XA/T1JPcS7wU6I/AAAAAAAABpo/O1XQv1g2txo/image_thumb6.png?imgmax=800" width="406" height="153" /></a></p> <p>In the Add Reference dialog, select and add reference to Microsoft Excel Object Library (for Excel 2010):</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU5Y3VWAdYhBHGoz9GEi47A1yDvFeCPkFXtmJb3hHXMp_OPS_WF8OMJ1xVXJh7X70tHh_MDqPcpx9u0coz2GBv2-D949Sufxy4svKag1PxEgbqXeqECO6wOiDlCtbWzZ47ZvhQgPVGsz0/s1600-h/image8.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-0c4BjTzDcEEAAcDxt7NUNRIx_9mzXH8hf1ak2qVZiRo0795QBDZBHYKEPAVpcfcXxupAYrq0Wa3I-xu3ajqy6B-I-CHYZ2DAeWkQuDNcJGJkQBNTHPVz8AqOUhIjhpeHBjP_QtcsuLI/?imgmax=800" width="564" height="501" /></a></p> <p>After the reference gets added, expand the References section in Solution Explorer to ensure that these packages are present:</p> <p>a) Microsoft.Office.Core</p> <p>b) Microsoft.Office.Interop.Excel</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2dGLqFAsm09rqzZ6srl1A2KKxoqdG0f7SBEuDEcKEBhB1vKQF_vbnHi0XtolFq8Gpt6kK2rBFeBptFLeVM-7HIgciXTuUbTtY_WJgw-r5T9U8UMpt6ASb_4lsYCSG0cz188M_JOu_IMU/s1600-h/image4.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhINFepRu_xzniC-RCciV0Ko0zritz3jV9bHJOga5DTn9QCVUnVa5cuaWaG4BDvdFavJOImMRMYNBqsQ-eBMfLXUOgKeWTG6LTw8cEpOB4jskGZzYrZI2Q2ifWnm78FiYvNY5vkmSh3RjQ/?imgmax=800" width="372" height="406" /></a></p> <p><font size="2"><strong>Pour the Coffee in a Mug</strong></font></p> <p>Let’s now open the Selenium C# script for Firefox. Copy all its contents. Paste into a new Class in VS2010.</p> <p>Build the project.</p> <p>Create new classes for IE and Chrome.</p> <p>Build the project.</p> <p>Copy Chrome driver file to the VS2010 project’s \bin\debug folder:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDUxM4b9cWDm6iQRkXIm_ObDkP92fpuquTZI_Ap4WraZ7N7PKM_YkI0PZ-mEqQraSsfSA4EapjP-qnymvXVF5FwYLGRLJW2-Gma1ZdSi6El8Rzm2ZugAWhAwlwD1koekMZOaL0iXM-xRk/s1600-h/image8%25255B1%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-SyNLSHjwejU/T1JPnBNp6vI/AAAAAAAABqY/bhlMuYHLsKE/image_thumb3.png?imgmax=800" width="860" height="271" /></a></p> <p><font size="2"><strong>Sip the Coffee</strong></font></p> <p>Run the NUnit project.</p> <p>Source code is <a href="https://docs.google.com/open?id=0ByNmPygfNjBZRUhSdEY2Mk1UUW02N3VqcFBLbU10dw" target="_blank">uploaded here</a> (minus these reference packages, in best interest of size):</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUcQ8oeL9TwJd4Qg5GQG1QFN5t2SVcVZOucDXxzVkbHN-FO8jyh70dDWroyAUbRWWSSinYppmSt5AGmVW1CwdYKYFJ9BbBOs24Cq5WnRiquB8SdMrjos4fOI8Z1S8d2mXWSnD34jGL8Fg/s1600-h/PackagesList%252520-%252520to%252520be%252520installed%252520for%252520the%252520project%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="PackagesList - to be installed for the project" border="0" alt="PackagesList - to be installed for the project" src="http://lh5.ggpht.com/-Prpo2HWHVcM/T1JPqKxixgI/AAAAAAAABqs/TRRZeRjtO-c/PackagesList%252520-%252520to%252520be%252520installed%252520for%252520the%252520project_thumb%25255B1%25255D.jpg?imgmax=800" width="630" height="299" /></a></p> <p>Here’s the run session:</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:032eb9a6-2188-4e42-884c-30e84a601780" class="wlWriterEditableSmartContent"><div id="cec361a0-ef6f-4024-a19c-eaddde82304a" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=bYMpifL1UOU" target="_new"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPkskVMVFbzT0vHWdh3drQg-u1U27-TBbXqvaKzUhW6cfxmMuKqtzxQEsSCzjr6Vy7V-3WxUIV5DNo79jead2zhs5y8sv5HfP9jwqTNXvIHIOCN3-rWgBX4uF6UA0Q2TmqB4NvScvWyJg/?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('cec361a0-ef6f-4024-a19c-eaddde82304a'); downlevelDiv.innerHTML = "<div><object width=\"945\" height=\"530\"><param name=\"movie\" value=\"http://www.youtube.com/v/bYMpifL1UOU?hl=en&hd=1\"><\/param><embed src=\"http://www.youtube.com/v/bYMpifL1UOU?hl=en&hd=1\" type=\"application/x-shockwave-flash\" width=\"945\" height=\"530\"><\/embed><\/object><\/div>";" alt=""></a></div></div><div style="width:945px;clear:both;font-size:.8em">NUnit – Selenium – Chrome_FF_IE</div></div> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-68604466051032262062012-01-01T14:06:00.001+05:302012-01-01T14:06:17.152+05:30QTP – search sub-folders for existence of QTP scripts<p> </p> <p>Suppose we want to report on all subfolders in a specific root folder that contain script files.</p> <p>Consider the example folder structure here – ODBC_MYSQL, ODBC_SQLEXPRESS and Test1 are the folders that have QTP scripts:</p> <p><a href="http://lh4.ggpht.com/-5A_AntHFhqg/TwAa1D-3saI/AAAAAAAABls/2LHDmHSdVSs/s1600-h/ScriptsInFolder_Base%25255B4%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ScriptsInFolder_Base" border="0" alt="ScriptsInFolder_Base" src="http://lh5.ggpht.com/-SY10C3s2eR8/TwAa4HPkFDI/AAAAAAAABl0/d2XIWWmIhTs/ScriptsInFolder_Base_thumb%25255B2%25255D.jpg?imgmax=800" width="301" height="355" /></a></p> <p>Here’s a VBScript program that takes the root (start) folder as input, and iterates all subfolders recursively to report on the ones that are actual QTP script folders:</p> <p><a href="http://lh4.ggpht.com/-kNFlhdISFq0/TwAa5eGSovI/AAAAAAAABl8/TEfPcxYLtc8/s1600-h/QTPScript_SubFolders%25255B4%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="QTPScript_SubFolders" border="0" alt="QTPScript_SubFolders" src="http://lh5.ggpht.com/-xq85hWgK3cQ/TwAa64UlioI/AAAAAAAABmE/OL67JxTDENs/QTPScript_SubFolders_thumb%25255B2%25255D.jpg?imgmax=800" width="863" height="1008" /></a></p> <p><strong>Note:</strong> This program can be run directly as a VBScript program, or from within a QTP script by toggling the comment between lines 17 and 18. (p.s.: if Print statement does not work on specific version of QTP, use the Msgbox statement. For real world test automation projects, do not use either – to avoid human intervention!)</p> <p>On running the program, Folders across various levels (Level 2, 3) get reported!</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYeO_qA13e7f2kanIgZiHJZ10g2Me69ln6i4A6h1HW-DXHXsVKEHdkytUYk2_2t4AyGLUE-CL0ezwJzEHBIthgzsY1zqrZsF6Ib5F2D1gMV8ymUVgeyRM9xAD1syWamD5VMNE_wRJ6QP0/s1600-h/ScriptsInFolder%25255B9%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ScriptsInFolder" border="0" alt="ScriptsInFolder" src="http://lh5.ggpht.com/-Ad2QZdVRhRI/TwAa9Wk_WeI/AAAAAAAABmU/FKyxeGN7iuE/ScriptsInFolder_thumb%25255B4%25255D.jpg?imgmax=800" width="589" height="475" /></a></p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com2tag:blogger.com,1999:blog-8067185494722517854.post-61148594917234766702011-12-31T22:52:00.001+05:302011-12-31T22:53:14.254+05:30Connecting to a database from QTP<p> </p> <p>The database arrangement:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLBjO14jb7FsPJEcihhATNt0RgrXuNnV573hsgEn-UFHdPcvAInJHib8OjQA_q0EzyDtFVzx9XewSyIUb2mEF739bjwU9QTzRk4hxAgC6NUk6ArM5h4zaF99wTQsXcpLkYc40NkYrSQBI/s1600-h/SQLEXPRESS_DB5.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SQLEXPRESS_DB" border="0" alt="SQLEXPRESS_DB" src="http://lh4.ggpht.com/-VqI935t_EdU/Tv9Es8OB5zI/AAAAAAAABlU/7BZiqM2CYIQ/SQLEXPRESS_DB_thumb3.jpg?imgmax=800" width="981" height="656" /></a></p> <p>How to connect to database and fetch the Address field 1 from QTP:</p> <p><a href="http://lh3.ggpht.com/-YUBy5gJ_6T0/Tv9EuN5TQ3I/AAAAAAAABlc/aPwnJW8CX5I/s1600-h/QTP_SQLEXPRESS_script5.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="QTP_SQLEXPRESS_script" border="0" alt="QTP_SQLEXPRESS_script" src="http://lh3.ggpht.com/-tKx0Ej9akZ0/Tv9EvSHaz4I/AAAAAAAABlk/82AirG0NMh0/QTP_SQLEXPRESS_script_thumb3.jpg?imgmax=800" width="980" height="768" /></a></p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-11918497661306181622011-12-13T17:16:00.003+05:302011-12-13T17:30:03.100+05:30Microsoft Test Manager – FUEL for test automation<div dir="ltr" style="text-align: left;" trbidi="on">(this is a follow-up post to this one: <a href="http://sudiptopaul.blogspot.com/2011/12/using-aspnet-page-state-and-theme-to.html">http://sudiptopaul.blogspot.com/2011/12/using-aspnet-page-state-and-theme-to.html</a>)<br />
<br />
Traditionally Test Management and Test Automation tools have been remotely related to each other.<br />
<br />
Microsoft’s Test Manager changes this -<br />
<ol><li>Manual Testers contribute effectively by creating action recordings for each test </li>
<li>Common portions of test steps can now be grouped into what is called as Shared Steps – again manual tester can create independent action recordings for these </li>
<li>Test Manager enables these action recordings to serve as active inputs to test automation – separate class is created for each test case, and a reusable function for each shared step <ul><li>This is very elegant as it saves the test automation engineer an amount of time required to refactor common portions of longish test path recordings </li>
<li>The Manual Tester gets to contribute in the Keyword definition phase – an important thing to do, because they are the subject matter experts! </li>
</ul></li>
</ol>Here’s a video that demonstrates this:<br />
<div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:30506eb7-53f2-4d9d-89ac-020bb9f6e72d" style="display: block; float: none; margin-left: auto; margin-right: auto; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 813px;"><div id="0938019b-f8d7-404b-aecd-2dfa25dfcc84" style="display: inline; margin: 0px; padding: 0px;"><div><a href="http://www.youtube.com/watch?v=izO7qNLjgxE&feature=youtube_gdata_player" target="_new"><img alt="" galleryimg="no" onload="var downlevelDiv = document.getElementById('0938019b-f8d7-404b-aecd-2dfa25dfcc84'); downlevelDiv.innerHTML = "<div><object width=\"813\" height=\"455\"><param name=\"movie\" value=\"http://www.youtube.com/v/izO7qNLjgxE?hl=en&hd=1\"><\/param><embed src=\"http://www.youtube.com/v/izO7qNLjgxE?hl=en&hd=1\" type=\"application/x-shockwave-flash\" width=\"813\" height=\"455\"><\/embed><\/object><\/div>";" src="http://lh6.ggpht.com/-pIvfqY03HXY/Tuc7E6pTZyI/AAAAAAAABZ8/BlKZ1B0UuiQ/videof55dcc02cf30%25255B15%25255D.jpg?imgmax=800" style="border-style: none;" /></a></div></div><div style="clear: both; font-size: .8em; width: 813px;">Microsoft Test Manager – FUEL for test automation</div></div></div>Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-1046381017081623852011-12-13T15:51:00.000+05:302011-12-13T15:59:31.571+05:30Using ASP.net Page state and theme to create Color effects on buttons – a Disco UI<p> </p> <p>About the app - how the UI color effects juggle:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjZBlw3ZnBRyFimlUbJVSrm9A9IaRKYYI2-7l46rVhP33xsPgQbmqhbqAQCKcRGOrAsDcm97pohWKKNbgAe8iebgfVlrKrstI4QUkolSx-YEFllsWW9bVcyUKb8can2WP7yCQjLerSfSM/s1600-h/Sequence.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Sequence" border="0" alt="Sequence" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg07JI_3soeU5xeKVnfZK1JT8IfvMkDCyff-zittPuafht-e6AtYFS13qPo3Nsw4S_eWX0ApucEkuv27h8pK_bV5glj7ANO0IYIB0JY6_L_VGL2T6FcgChLyeXayM3ZYS4NB0TDUAd__zI/?imgmax=800" width="802" height="1218" /></a></p> <p> </p> <p>The non-crossing activities for a specific button – Button_Red</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuhcDO36D4L_DFYtX2kq4tc6m7_qKH2wAw-Vp6ghI_IyuprQQ68Ptv2_Xx1sP5cSPt69FbmHvtpZTgaQz0heBq9U7ZJ55GBykSZVVk_QPb05Xryz6tdRB3gfWmqWQDMwY268JzAqjJMm0/s1600-h/Non-crossing-Activities-diagram5.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Non-crossing Activities diagram" border="0" alt="Non-crossing Activities diagram" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSc12uuNWa063_YvCCditj4FiQczvyzvS1Ddpj257gT3IDYfNoQO1uaysmeEOy-fwc9uUZ4fu3GCgCVfd_gZQsaPitMGFpDhaI1TKBfK6XnppcAs4j7hZnlm6y3cThXQLL9AkEYkcaK2M/?imgmax=800" width="942" height="895" /></a></p> <p> </p> <p>Click <a href="https://docs.google.com/open?id=0ByNmPygfNjBZMjhjYjMzMWYtNTU2Ny00YTQzLTgyYjAtMmU5NTgzMTlmM2I3" target="_blank">here</a> for the “VS2010 Web Developer Express” code for reference.</p> <p> </p> <p>After building the app, one can choose to deploy the web app to IIS rather than the default VS Development server.</p> <p>Deployment is only a few steps:</p> <p>1) Build the release version of the app</p> <p>2) Build the deployment package:</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTSREi-Urj1vKaOX_N_mUFB-zo-_N0U6xivqTlGGToaf96waOT5pb4INRY3lNsbT62maQd0cznRywjO96s9KIdJXDs8o6Tuf3-Xec5t9z_82g2G5sVwuS0llBOP43xbu_rhRRO9qfe5F4/s1600-h/Build-deployment-pkg4.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Build deployment pkg" border="0" alt="Build deployment pkg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbvPOf8cdAcntl-FdnJSfIQGPKHqjcqkhXA67K0XLJasnucec8lJefB69pnXQ3Z8s_EI0oQUz4aWf03OGOGco9MH1J8V7uXmCKQ0m7d9tbL6esoR8uq5htciDUJSWkvRAgdG75s3j-Td8/?imgmax=800" width="936" height="765" /></a></p> <p>A deployment package is created as a zip file:</p> <p><a href="http://lh4.ggpht.com/-45AcoFyslBg/TucntCVc_TI/AAAAAAAABZE/YYmid81XlOE/s1600-h/DeployPackage8.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="DeployPackage" border="0" alt="DeployPackage" src="http://lh3.ggpht.com/-wYZq0thFP0M/TucoBPm3xHI/AAAAAAAABZM/GgyDeA_Fm6g/DeployPackage_thumb6.jpg?imgmax=800" width="936" height="815" /></a></p> <p>3) Open the IIS Manager and import this app package</p> <p><a href="http://lh3.ggpht.com/-X5vCkTeGv0A/TucoCmJ1KOI/AAAAAAAABZU/KJ30Xe5Yask/s1600-h/ImportAppToIIS6.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ImportAppToIIS" border="0" alt="ImportAppToIIS" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgta1fyqGbHTRIo9Iyf5e8SYE0-y4sW7ytPPCn-VkG2_KbdygANPM13NY7Nb6PKfh9AMOIJV7SuWCMsS4E3_onVfJbNDipNlznAt6tf_AlqCCcAnj6yMiYCayGCqMJ-N9F6ebU9oVxBMiw/?imgmax=800" width="938" height="803" /></a></p> <p>Follow the wizard to deploy the package as a web app.</p> <p> </p> <p>Run the app and here’s how the website looks:</p> <p><a href="http://lh5.ggpht.com/-iFGFs7frheM/TucoF6HWZrI/AAAAAAAABZk/SmyHLJVnM4o/s1600-h/IIS---deployed-site7.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IIS - deployed site" border="0" alt="IIS - deployed site" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGcHDoEHKd0ilwHSeGuQV50vef0XEbFDt1PI0YdAHp6gbC5w9k8Qg86YfCjr_hIXGWBIAj4Cc4DYBdSMiv3tQpTnt612jOMa8FEGJjoQh5VjOi0EKhcqRAfTFjYy-JlIowmglGgnCv88w/?imgmax=800" width="942" height="638" /></a></p> <p> </p> <p>This post will have a follow-up post on the Microsoft Test Manager and CUIT for a testing perspective!</p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-21956555187247783472011-12-04T01:37:00.000+05:302011-12-04T01:38:43.180+05:30Getting familiar with the blog usage – Table & Image insertion<table border="2" cellspacing="0" cellpadding="2" width="561"><tbody> <tr> <td valign="top" width="80">Monday</td> <td valign="top" width="80">Tuesday</td> <td valign="top" width="80">Wednesday</td> <td valign="top" width="80">Thursday</td> <td valign="top" width="237">Friday</td> </tr> <tr> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80">7</td> <td valign="top" width="80"> </td> <td valign="top" width="237"> </td> </tr> <tr> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80">6</td> <td valign="top" width="237"> </td> </tr> <tr> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="237">5</td> </tr> <tr> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80">4</td> <td valign="top" width="237"> </td> </tr> <tr> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80">3</td> <td valign="top" width="80"> </td> <td valign="top" width="237"> </td> </tr> <tr> <td valign="top" width="80"> </td> <td valign="top" width="80">2</td> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="237"> </td> </tr> <tr> <td valign="top" width="80">1</td> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="80"> </td> <td valign="top" width="237"> </td> </tr> </tbody></table> <p><a href="http://lh6.ggpht.com/-PgiqtCkNcko/TtqBtSTGK9I/AAAAAAAABYE/weYpNqkqePo/s1600-h/image%25255B6%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju3tSz3BG9iqKecqM6e9SI0bATMQe52jNze_vqFWW_Qmou19LT3qOXP2Ddshzo3Yc7n-PSW3VAuVPU2t0lF2HCbd726YGMcKmtCsWYCDy9dhXEXs2CeFezVHP040ELpxXcrCsOZOwuS3k/?imgmax=800" width="563" height="486" /></a></p> Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-73870878953319500762011-11-29T02:04:00.003+05:302011-11-29T13:44:23.149+05:30No-sweat expansion of Oracle VirtualBox virtual disk<div dir="ltr" style="text-align: left;" trbidi="on"><br />
In VirtualBox 4.0 disk size expansion is supported <br />
-------------------------------------------------------------------<br />
1) Run this command on the host machine, with due consideration to the actual paths applicable:<br />
<span style="color: magenta;">d:\></span> <span style="background-color: white; color: blue;">vboxmanage modifyhd <span style="color: #a64d79;">winXP.vdi</span> -resize <span style="color: #a64d79;">25600</span></span><span style="color: #a64d79;"> </span> <br />
where, <span style="color: #a64d79;">25600 </span>is the absolute final size desired (<span style="color: red;">not</span> an incremental value)<br />
2) Once this command has run successfully, invoke the virtual machine<br />
3) Now, download/ install/ run the "EaseUS Partition Master" utility in the virtual machine<br />
4) Create a partition from the unallocated disk space<br />
5) Merge this partition to the main drive in virtual machine<br />
6) Boot the virtual machine couple of times, as directed by the UI messages.<br />
That's it!</div>Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0tag:blogger.com,1999:blog-8067185494722517854.post-53831244330990813492011-11-27T12:08:00.003+05:302011-11-27T12:15:40.157+05:30Google Calendar - High Level Design of tests<div dir="ltr" style="text-align: left;" trbidi="on">Last month I had the chance to work on a set of High level test design documents for the Google Calendar web application.<br />
<br />
Click <a href="https://docs.google.com/open?id=0ByNmPygfNjBZYjMwNGRkZjQtMDllNS00YWQxLTk0Y2YtMTI1ZGI0OTM4Yzll" target="_blank">here</a> to refer to the set of documents for reference.<br />
<br />
Please note that:<br />
1. Bullet marks are not accurately reflected in uploaded word documents.<br />
2. UI specific Images have been posted in automation scenario document only for ease of reference, in usual cases one should refrain from doing this in a running test automation project, because UI can undergo changes!</div>Sudipto Paulhttp://www.blogger.com/profile/09021894472926346336noreply@blogger.com0Pune, Maharashtra, India18.5204303 73.85674369999992518.4136698 73.738520199999925 18.6271908 73.974967199999924