<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Maftahur&#039;s Blog</title>
	<atom:link href="http://maftahur.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://maftahur.wordpress.com</link>
	<description>My thoughts</description>
	<lastBuildDate>Sun, 02 Oct 2011 16:30:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='maftahur.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Maftahur&#039;s Blog</title>
		<link>http://maftahur.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://maftahur.wordpress.com/osd.xml" title="Maftahur&#039;s Blog" />
	<atom:link rel='hub' href='http://maftahur.wordpress.com/?pushpress=hub'/>
		<item>
		<title>A Silly Mistake Can Lead to a Big Mistake</title>
		<link>http://maftahur.wordpress.com/2011/05/13/a-silly-mistake-can-lead-to-a-big-mistake/</link>
		<comments>http://maftahur.wordpress.com/2011/05/13/a-silly-mistake-can-lead-to-a-big-mistake/#comments</comments>
		<pubDate>Fri, 13 May 2011 05:53:24 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=139</guid>
		<description><![CDATA[Writing code and testing software are both challenging tasks in Software Development. It is never easy to make cent percent synchronization between these two. It is challenging for a developer to write almost flaw less code similarly it is challenging for a tester to cover almost cent percent of testing path. Very often we are in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=139&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Writing code and testing software are both challenging tasks in Software Development. It is never easy to make cent percent synchronization between these two. It is challenging for a developer to write almost flaw less code similarly it is challenging for a tester to cover almost cent percent of testing path.</p>
<p>Very often we are in a situation where we are forced to or we have to overlook some minor analyses and we leave some very minor flaws in code or in testing.  Because of the ignorance of the analysis apparently we think that those minor flaws won&#8217;t affect the whole system in its major functionalities. But in reality a very minor flaw in the system can lead it be an unusable system.</p>
<p>Few days back I was asked to develop a tool to modify an SQL file which were generated form a replicated database and had to execute the modified SQLs to a pgSQL database. The original file size was 70-80MB and total number of lines were about 600K.</p>
<p>The main task was to filter out some specific SQL blocks from the file then writing those modifications into two set of files. One set of files was a single file that contained the whole modified SQLs and another set of files was with multiple files that contained the modified SQLs as several chunks.</p>
<p>Since number of lines were huge so it was difficult for me to test all those line manually, but I tried my level best and found it to be according to the requirement. I opened those files manually and seemed to be OK. I executed the second set of files (the chunk SQL blocks) and these were successfully executed to the desired database. BUT when I executed the first set which contained the whole modified SQLs then it showed me syntax error.</p>
<p>I started to analyze the file and found that very few of the very last lines were not present in it. It was also very interesting that the skipped lines were started from a middle of a line, I was sure about my logic that either it will write a complete line or skip it completely, fraction of line is impossible.</p>
<p>So at first glance I supposed it to be a memory related problem and started to minimize the original file size but found the same problem every time  I minimized the files. That really shocked me as the other chunk files even bigger than my problematic was OK. Then I went to the source code and found that every StreamReader or StreamWriter I used for reading/writing files were properly closed except the problematic one. I modified the source code and then executed the tool which then solved the problem.</p>
<p>As we know an opened stream made a file inaccessible but in my case I was able to use it and that made me think that closing the stream wasn&#8217;t big a issue apparently.  But that silly mistake made my application a useless one. That is why every developer and tester should be aware about his silly mistake, they need to increase their analysis even after a very very minor case, they have to increase their foreseeable power.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=139&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2011/05/13/a-silly-mistake-can-lead-to-a-big-mistake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Testing in Proper Test Environment is a Great Challenge in SDLC</title>
		<link>http://maftahur.wordpress.com/2010/12/11/software-testing-in-proper-test-environment-is-a-great-challenge-in-sdlc/</link>
		<comments>http://maftahur.wordpress.com/2010/12/11/software-testing-in-proper-test-environment-is-a-great-challenge-in-sdlc/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 18:38:52 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=136</guid>
		<description><![CDATA[No doubt software testing is a great challenge in SDLC. To get a clear picture of your testing application you must have proper preparation in proper time and you have to execute all those preparations in proper time and proper places. On the other hand all the plans, hard works regarding software testing will be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=136&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No doubt software testing is a great challenge in SDLC. To get a clear picture of your testing application you must have proper preparation in proper time and you have to execute all those preparations in proper time and proper places. On the other hand all the plans, hard works regarding software testing will be in vain if testing is not done in proper <span style="color:#003300;"><strong>Test Environment</strong></span>.</p>
<p>In my professional experience I had found some bugs that were bugs because of not testing the application in proper test environment. Similarly I have missed some bugs that were because of not testing the application in proper test environment.</p>
<p>Proper test environment is not an easy term to understand. A proper test environment may relate hundred of tasks to do before testing any application. Here are some of  them:</p>
<p>&gt; Application is built from proper SVN revision?</p>
<p>&gt; Application is installed/deployed in proper way?</p>
<p>&gt; In which OS the application is running on? What version is it?</p>
<p>&gt; In which Browser it is running? Version?</p>
<p>&gt; It is running where? Location, time, timezone, daylight saving?</p>
<p>&gt; and so on&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>Very recent I was missing a bug because of improper <span style="color:#003300;">test environment</span>. A desktop application runs mainly in USA, it communicates with server DB through web services.  The application is used by many users from several places of USA. Recently two date fields are added in it. The DB columns for these fields are of type Date, so it doesn&#8217;t consider Time/Zone related information.</p>
<p>In the mean time client complained us that many times they saw different dates than they provided for those fields. So I started to investigate the problem, executed different scenarios but couldn&#8217;t reproduce the bug. I tested the application both in local and live environment. The dates are selected from a calendar control and these are properly saved in DB server. Since the data type was Date so I thought there won&#8217;t be any TimeZone issues.</p>
<p>Just for curiosity I set different TimeZonse in my application running machine and server running machine and then started code debugging. From web service the data were returning to client side through a DataSet. When the data are assigned into a DataTable in client side then I wondered to see the return values in different environments. Here are the environments and return values:</p>
<p><strong>Environment #1:</strong><br />
a)      App in Local PC (Time: 14:50, Time Zone GMT +6)<br />
b)      Webservice in Live PC( Time: 03:50, Time Zone GMT-5)<br />
c)      Original Start Date=12/05/2010 and End 12/11/2010)<br />
d)      Now the DataTable have Start Date=12/05/2010 11:00:00 AM, End Date=12/11/2010 11:00:00 AM.<br />
e)      So Start Date and End  Date are showing as 12/05/2010 and 12/11/2010.</p>
<p><strong>Environment #2:</strong><br />
a)      App in Local PC(Time: 15:01, Time Zone GMT -5)<br />
b)      Webservice in Live PC( Time: 04:01, Time Zone GMT -5)<br />
c)      Original Start Date=12/05/2010 and End 12/11/2010)<br />
d)      Now the DataTable have Start Date=12/05/2010 12:00:00 AM, End=12/11/2010 12:00:00 AM.<br />
e)      So Start Date and End are showing as 12/05/2010 and 12/11/2010.</p>
<p><strong>Environment #3:</strong><br />
a)      App in Local PC(Time: 15:01, Time Zone GMT +13)<br />
b)      Webservice in Live PC( Time: 04:01, Time Zone GMT -5)<br />
c       Original Start Date=12/05/2010 and End 12/11/2010)<br />
d)      Now the DataTable have Start Date=12/05/2010 06:00:00 PM, End=12/11/2010 06:00:00 PM.<br />
e)      So Start Date and End Date are whowing as  12/05/2010 and 12/11/2010.</p>
<p><strong>Environment #4:</strong><br />
a)      App in Local PC(Time: 04:10, Time Zone GMT -5)<br />
b)      Webservice in Local Newtwork( Time: 04:01, Time Zone GMT +6)<br />
c)      Original Start Date=12/05/2010 and End Date 12/11/2010)<br />
d)      Now the DataTable have Start Date=12/04/2010 01:00:00 PM, End=12/10/2010 01:00:00 PM.<br />
e)      So Start Date and End Date are showing as <span style="color:#ff0000;"><strong>12/04/2010</strong></span> and <span style="color:#ff0000;"><strong>12/10/2010</strong></span> respectively. And this was the bug in different TimeZone.</p>
<p>Later I knew that whenever data/time related information are passed/retrieved to/from web service through DataSet/DataTable then it automatically adjusts time with TimeZone in SOAP XML [<a href="http://support.microsoft.com/kb/842545">see here</a>].</p>
<p>I couldn&#8217;t reproduce the bug if I had all things right except the different TimeZone. So this is how it is important to test application in proper environment.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=136&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2010/12/11/software-testing-in-proper-test-environment-is-a-great-challenge-in-sdlc/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
		<item>
		<title>DATABASE MIGRATION TESTING</title>
		<link>http://maftahur.wordpress.com/2010/09/17/database-migration-checklist/</link>
		<comments>http://maftahur.wordpress.com/2010/09/17/database-migration-checklist/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 05:13:20 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=132</guid>
		<description><![CDATA[Many often you are required to perform database migration testing. The task isn&#8217;t easy but if you follow some instructions one by one then the task will be easy for you. In my professional experience I&#8217;ve executed three types of database migration testing. These are MySQL to SQL Express, pgSQL to SQL Server and SQL [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=132&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Many often you are required to perform database migration testing. The task isn&#8217;t easy but if you follow some instructions one by one then the task will be easy for you. In my professional experience I&#8217;ve executed three types of database migration testing. These are MySQL to SQL Express, pgSQL to SQL Server and SQL Server to pgSQL.</p>
<p>When you will execute the task then you will have to face many db specific challenges, but here I&#8217;m presenting only the cases that are very to common to every database migration task.</p>
<h3><span style="color:#003300;">Following cases should be considered in database migration task</span></h3>
<ol>
<li>Unless specified, the migrated database should have equal number of tables, views, stored procedures, user defined data types,… and equal number of columns for each of the mentioned objects.</li>
<li>Unless specified, the migrated database should have same name and same letter case for the names of tables, views, stored procedures, user defined data types and columns.</li>
<li>Unless specified, the column/parameter order in tables, views, stored procedures and user defined data types should be same as original database.</li>
<li>The type and size including precision of every column should be same as original database.</li>
<li>If migrated database doesn’t have exact type as original database then it should use the type which is most similar to original database. Special consideration should be taken for numeric, bit, binary, image and date/time [with/without time zone] related data types.</li>
<li>The constraints <em>Primary Key</em>, <em>Foreign Key</em>, <em>Unique Key</em>,<em> Default</em>, Check, <em>NULL</em> and <em>NOT NULL</em> on column(s) of table(s) in migrated database should be same as original database.</li>
<li>Unless specified, the constraint names on every table should be same as original database.</li>
<li>The actions of <em>CASECADE DELETE</em> and <em>CASCADE UPDATE</em> of foreign key(s) should be same as original database.</li>
<li>Unless there has any limitation in migrated database, then the migrated data should be same as the data of original database.</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/132/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=132&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2010/09/17/database-migration-checklist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
		<item>
		<title>Take Care of Your Alternative Email!</title>
		<link>http://maftahur.wordpress.com/2010/05/05/beware-of-your-alternative-email-id/</link>
		<comments>http://maftahur.wordpress.com/2010/05/05/beware-of-your-alternative-email-id/#comments</comments>
		<pubDate>Wed, 05 May 2010 15:32:08 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[Helpful Topics]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=119</guid>
		<description><![CDATA[Alternative email ID is an easy way of retrieving forgotten password. Many of us use this feature in many applications. To use this feature we use two email IDs. Basically one email ID is for prime usages and another(the alternative email ID) is for retrieving the forgotten password of the prime email ID. Since the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=119&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Alternative email ID is an easy way of retrieving forgotten password. Many of us use this feature in many applications. To use this feature we use two email IDs. Basically one email ID is for prime usages and another(the alternative email ID) is for retrieving the forgotten password of the prime email ID.</p>
<p>Since the usages of prime email ID are very frequent, therefore we take care of the ID and it&#8217;s password regularly. BUT have you thought about your secondary email ID? If the password of this ID is weak then it may cost you harmfully! If someone knows this ID&#8217;s password then you will loose everything! At first he will retrieve the password of your prime email ID [<em>basically email IDs are public</em>] and then &#8230; everything!</p>
<p>So beware about your secondary or alternative email ID and password. For security purposes you can use some unconventional secondary email ID[so that someone gets difficulty to know the ID] and of course a strong password. Those who use more than two email IDs should also be concerned about the passwords.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=119&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2010/05/05/beware-of-your-alternative-email-id/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
		<item>
		<title>UserScript and greasemonkey an Easy Way to Modify Web Pages</title>
		<link>http://maftahur.wordpress.com/2010/04/30/userscript-and-greasemonkey-an-easy-way-to-modify-web-pages/</link>
		<comments>http://maftahur.wordpress.com/2010/04/30/userscript-and-greasemonkey-an-easy-way-to-modify-web-pages/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 18:02:04 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[Helpful Topics]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=99</guid>
		<description><![CDATA[Do you want to see a web page as you like? Do you want to add some extra functions to a web page that will work for you? Do you want to make these changes On-the-Fly to a web page? Do you want these to a web page that you haven&#8217;t developed by you or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=99&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Do you want to see a web page as you like? Do you want to add some extra functions to a web page that will work for you? Do you want to make these changes <span style="color:#808000;"><em><strong>On-the-Fly</strong></em></span> to a web page? Do you want these to a web page that you haven&#8217;t developed by you or you have no modification access to it? Then here is <span style="color:#008000;"><strong><a href="http://userscripts.org/">UserScript</a></strong></span> and <span style="color:#008000;"><strong><a href="https://addons.mozilla.org/en-US/firefox/addon/748">greasemonkey.</a></strong></span></p>
<p><span style="color:#008000;"><span style="color:#000000;">You can achieve those goals easily in <a href="http://www.mozilla.com/en-US/firefox/upgrade.html">Mozilla Firefox.</a> You are needed only five basic steps:</span></span></p>
<p><span style="color:#008000;"><span style="color:#000000;">1.  Add the <a href="https://addons.mozilla.org/en-US/firefox/addon/748">gresemonkey</a> [a <a href="http://www.mozilla.com/en-US/firefox/upgrade.html">Mozilla Firefox</a>] extension to your Firefox browser</span></span></p>
<p><span style="color:#008000;"><span style="color:#000000;">2. Write your desired functionality/features to a UserScript. Include/Exclude the web address(es) in your UserScript that you want/doesn&#8217;t want to have the feature(s)</span></span></p>
<p><span style="color:#008000;"><span style="color:#000000;">3. Then add your UserScript to the greasemonkey</span></span></p>
<p><span style="color:#008000;"><span style="color:#000000;">4. Enable(if not) the greasemonkey into your browser</span></span></p>
<p><span style="color:#008000;"><span style="color:#000000;">5. Finally open your desired web page into the Firefox web browser.</span></span></p>
<p>Here I&#8217;m not going to explain more about the greasemonkey and UserScript. but the basic idea of UserScript is:<br />
UserScript is nothing but JavaScript code. It has two main sections: a) Header: where you will provide the Name/Description of the script, include/exclude the web pages that you want/doesn&#8217;t want to have this UserScript and b) Body: where you will write your desired feature in JavaScript code.</p>
<p>Once you write a UserScript then greasemonkey will provide you option to attach the file into it. An important point is that a UserScript file will have the extension .user.js [e.g. MyFeature.user.js]</p>
<p>Here is a sample UserScript:</p>
<p><span style="color:#003366;">// ==UserScript==<br />
// @name SayHelo<br />
// @description Whenever a page of google will be loaded then it will say Helo to user</span></p>
<p><span style="color:#003366;"> // @include *google.com*<br />
<span style="color:#003366;">// ==/UserScript==</span></span></p>
<p><span style="color:#003366;">function SayHeloToUser()<br />
{<br />
alert(&#8220;Helo I&#8217;m from UserScript&#8221;);<br />
}<br />
SayHeloToUser();</span></p>
<p><span style="color:#003366;"><span style="color:#000000;">After adding this UserScript if you open any page that has google.com in address bar then the message </span></span><span style="color:#003366;"><em>Helo I&#8217;m from UserScript</em></span><span style="color:#003366;"><span style="color:#003366;"> </span><span style="color:#000000;">will be shown by the browser.</span></span></p>
<p>&gt; To know about greasemonkey follow the links <strong><a href="https://addons.mozilla.org/en-US/firefox/addon/748">greasemonkey</a></strong> and <strong><a href="http://en.wikipedia.org/wiki/Greasemonkey">greasemonkey wiki</a></strong>.</p>
<p><span style="color:#003366;"><span style="color:#000000;">&gt; To know about how to add/delete/manage UserScript please click this <strong><a href="http://wiki.greasespot.net/Main_Page">link</a></strong>. Also don&#8217;t miss out to read the article from this </span></span><strong><a href="http://diveintogreasemonkey.org/">diveintogreasemonkey</a></strong><span style="color:#003366;"><span style="color:#000000;">, especially the <strong><a href="http://diveintogreasemonkey.org/download/book/diveintogreasemonkey-pdf-2005-05-09.zip">PDF</a></strong> doc.<br />
</span></span></p>
<p><span style="color:#003366;"><span style="color:#000000;">&gt; To find existing UserScript that might work for you, follow the link <a href="http://userscript.org"><strong>www.userscript.org</strong></a>. This is a huge resource of UserScripts.</span></span></p>
<p><span style="color:#003366;"><span style="color:#000000;">I hope you enjoyed this article! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
</span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=99&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2010/04/30/userscript-and-greasemonkey-an-easy-way-to-modify-web-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
		<item>
		<title>How to Describe Table in MS SQL Server</title>
		<link>http://maftahur.wordpress.com/2010/04/28/how-to-describe-table-in-ms-sql-server/</link>
		<comments>http://maftahur.wordpress.com/2010/04/28/how-to-describe-table-in-ms-sql-server/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 18:39:42 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=86</guid>
		<description><![CDATA[Unlike Oracle or MySQL there is no DESCRIBE or DESC command to describe a table or object in MS SQL Server. But to describe a table or object MS SQL Server provides a very useful command or built-in stored procedure sp_help.  One can easily describe an object using this command.  You can use this command [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=86&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Unlike <span style="color:#333333;"><strong>Oracle</strong></span> or <strong>MySQL</strong> there is no <span style="color:#0000ff;">DESCRIBE</span> or <span style="color:#0000ff;">DESC</span> command to describe a table or object in <span style="color:#008000;"><strong>MS SQL Server</strong></span>. But to describe a table or object <span style="color:#008000;"><strong>MS SQL Server</strong></span> provides a very useful command or built-in stored procedure <span style="color:#993300;">sp_help</span>.  One can easily describe an object using this command.  You can use this command in the following ways:</p>
<p><em>&gt; </em><span style="color:#993300;">sp_help</span><em> <span style="color:#ff0000;">&#8216;your_object_name&#8217;</span> or<br />
&gt; </em><span style="color:#993300;">sp_help</span><em> your_oject_name<br />
</em>The first method is more useful because you can specify db/schema name here. Here is the command along with output:<em><br />
</em><span style="color:#993300;">sp_help</span><em> <span style="color:#ff0000;">&#8216;dbo.Sales&#8217;</span></em><br />
Output:<em><br />
<a href="http://maftahur.files.wordpress.com/2010/04/sp_help1.png"><img class="aligncenter size-full wp-image-89" title="sp_help" src="http://maftahur.files.wordpress.com/2010/04/sp_help1.png?w=479&#038;h=269" alt="Output of sp_help command" width="479" height="269" /></a></em></p>
<p>More info  is available <em><em><strong><a href="http://msdn.microsoft.com/en-us/library/aa933429%28SQL.80%29.aspx">here</a></strong></em></em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=86&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2010/04/28/how-to-describe-table-in-ms-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>

		<media:content url="http://maftahur.files.wordpress.com/2010/04/sp_help1.png" medium="image">
			<media:title type="html">sp_help</media:title>
		</media:content>
	</item>
		<item>
		<title>Finding Distance between Two Points Given in Latitude and Longitude Points</title>
		<link>http://maftahur.wordpress.com/2010/03/30/finding-distance-between-two-points-given-in-latitude-and-longitude-points/</link>
		<comments>http://maftahur.wordpress.com/2010/03/30/finding-distance-between-two-points-given-in-latitude-and-longitude-points/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 19:02:12 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[Helpful Topics]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=66</guid>
		<description><![CDATA[In many application especially in GIS system it requires to find distance between two points given latitude and longitude. Here I&#8217;m explaining the procedure to find distance from such type of points. At First, Let Us See How a Point is Represented: A point P is given in the format P(40°44′55″N, 73°59′11″W ). The first [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=66&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In many application especially in GIS system it requires to find distance between two points given latitude and longitude. Here I&#8217;m explaining the procedure to find distance from such type of points.</p>
<p><span style="color:#003300;"><strong>At First, Let Us See How a Point is Represented:</strong></span><br />
A point <span style="color:#003300;"><strong>P</strong></span> is given in the format <span style="color:#003300;"><strong>P(40°44′55″N, 73°59′11″W )</strong></span>. The first part is called latitude and the last part is called longitude.  We read a latitude/longitude [e.g.] <span style="color:#003300;"><strong>40°44′55″N</strong></span> as 40 <span style="color:#003300;"><strong>degree</strong></span> 44 <strong><span style="color:#003300;">minute</span></strong> and 55 <span style="color:#003300;"><strong>second North</strong></span>[N=North, S=South and so on E and W].</p>
<p><span style="color:#003300;"><strong>Formulas:</strong></span><br />
There has many formulas to find distance from given latitude and longitude points. Among them two formulas are very easy to implement and give result with a very little error. One is <em><strong><span style="color:#003300;">Haversine</span></strong></em> and another is <span style="color:#003300;"><strong><em>Spherical Low of Cosine</em></strong><span style="color:#000000;">.</span></span></p>
<p><strong><span style="color:#003300;">Keep It Mind:</span></strong><br />
<span style="color:#003300;"><span style="color:#000000;">The above formulas are for spheroidal shape. </span></span>The earth is not quite a sphere, there are small errors in using spherical geometry; the earth is oblate spheroidal with a radius varying between about 6,378km (equatorial) and 6,357km (polar),  and local radius of curvature varying from 6,336km (equatorial meridian) to 6,399km (polar). <span style="color:#003300;"><em><strong>6,371 km</strong></em></span> is the generally accepted value for the Earth’s mean radius. This means that errors from assuming spherical geometry might be up to 0.55% crossing the equator, though generally below 0.3%, depending on latitude and direction of travel. AND both the formula find shortest distance on earth surface [as-the-crow-flies]. One can use <strong><a href="http://www.movable-type.co.uk/scripts/latlong-vincenty.html">Vincenty</a></strong> formula for accuracy up to 1mm</p>
<p><span style="color:#003300;"><em><strong>Haversine:</strong></em></span><br />
If <span style="color:#003300;"><strong>P1(lat1, long1)</strong></span> and <span style="color:#003300;"><strong>P2(lat2, long2)</strong></span> are two given points, <strong><span style="color:#003300;">R</span></strong> is radius of the Earth and <strong><span style="color:#003300;">D</span></strong> is the distance between the points then<br />
<em><span style="color:#003300;"><strong>D=C*R</strong></span></em>, Where<br />
<strong><span style="color:#003300;">C</span> = <span style="color:#003300;">2*atan2(√a, √(1−a))</span>,</strong><br />
<span style="color:#003300;"><strong>Δlat = lat<sub>2</sub>− lat<sub>1 </sub></strong></span><br />
<strong><span style="color:#003300;">Δlong = long<sub>2</sub>− long</span><sub><span style="color:#003300;">1</span><br />
</sub></strong><strong><span style="color:#003300;">a = sin²(Δlat/2) + cos(lat<sub>1</sub>)*cos(lat<sub>2</sub>)*sin²(Δlong/2)</span> </strong></p>
<p>Here <em><span style="color:#003300;"><strong><a href="http://en.wikipedia.org/wiki/Atan2">atan2(y,x)</a></strong></span></em> is a special implementation of arctangent <strong><span style="color:#003300;">atan</span><span style="color:#003300;">(y/x)</span></strong> in programming languages.</p>
<p><span style="color:#003300;"><em><strong>Spherical Low of Cosine:</strong></em></span><br />
For the same two points and same assumption the distance <span style="color:#003300;"><strong>D</strong></span> is<br />
<span style="color:#003300;"><strong>D = acos(sin(lat<sub>1</sub>)*sin(lat<sub>2</sub>)+cos(lat<sub>1</sub>)*cos(lat<sub>2</sub>)*cos(Δlong))*R</strong></span><br />
The Spherical Low of Cosine gives more computational precision and finds distance as small as 1m.</p>
<p><span style="color:#ff0000;"><em><strong>Please Note That:</strong></em></span><br />
Depending on the calculation of trigonometric function you are required to convert the latitude and longitude into radian unit.  So if we convert the point <strong><span style="color:#003300;">P(40°44′55″N, 73°59′11″W )</span> </strong>into radiance then,<br />
<span style="color:#003300;"><em>Latitude = <span style="color:#000000;"><strong>(</strong></span> <strong>(</strong>40 + 44/60 + 55/(60*60) <strong>)</strong>/180 <strong><span style="color:#000000;">)</span></strong>*π</em></span> and<br />
<span style="color:#003300;"><em>Longitude =<span style="color:#000000;"><strong>( </strong></span><span style="color:#003300;"><strong>(</strong></span>73 + 59/60 + 11/(60*60) <strong><span style="color:#003300;">)</span></strong>/180<strong><span style="color:#000000;">)</span></strong>*π</em></span></p>
<p>Then depending on the unit of <em><strong><span style="color:#003300;">R</span></strong></em> the distance <span style="color:#003300;"><em><strong>D</strong></em></span> will be in <strong>km</strong>/<strong>miles</strong>/&#8230;</p>
<p><strong><span style="color:#9c1806;">When a latitude/longitude will have S/W direction then put the negative(-ve) value of the latitude/longitude into those formula.</span></strong></p>
<p>So let start to compute distance between tow points given in latitude and longitude.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=66&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2010/03/30/finding-distance-between-two-points-given-in-latitude-and-longitude-points/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
		<item>
		<title>Really Software Testing is Not Inevitable and Never Complete</title>
		<link>http://maftahur.wordpress.com/2010/03/29/really-software-testing-is-not-inevitable-and-never-complete/</link>
		<comments>http://maftahur.wordpress.com/2010/03/29/really-software-testing-is-not-inevitable-and-never-complete/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 18:47:49 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=52</guid>
		<description><![CDATA[It is not new or I need not to prove it again that Testing is not Inevitable and Never Complete. But last month I had an experience from where again I have concluded that really Testing is not Inevitable and Never Complete. I&#8217;m sharing the experience here. It was the day when we planned to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=52&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It is not new or I need not to prove it again that <em><span style="color:#003300;"><strong>Testing is not Inevitable and Never Complete</strong></span></em>. But last month I had an experience from where again I have concluded that really <span style="color:#003300;"><em><strong>Testing is not Inevitable and Never Complete.</strong></em><span style="color:#000000;"> I&#8217;m sharing the experience here.</span></span></p>
<p><span style="color:#003300;"><span style="color:#000000;">It was the day when we planned to ship a pilot release. According to our plan we were testing the product and on the final day and final moment we were not getting any bug from the product. Our SQA manager asked me whether there were any findings or we would ship the product. I told him that the product seemed to be stable, and we were ready for the release. I requested few minutes from him just for an overview of the product.</span></span></p>
<p><span style="color:#003300;"><span style="color:#000000;">In the last moment I found a bug that was not a bug to me until a new feature was implemented in this new release. I reported the bug in the issue tracker and manually informed our SQA manager. Our SQA manager took it and instantly went to the Project Manager room. While the bug was fixing then I found another bug and before reporting it to the issue tracker I went to the Project Manager room and notify it to both SQA manager and PM.</span></span></p>
<p><span style="color:#003300;"><span style="color:#000000;">Within a very short time the bugs were fixed and again we were testing the product. After finding those bugs some exploratory thinking came to my mind that I could find more bugs in the same area. Alas! I was true! I found another new bug that wasn&#8217;t a bug to me until I reported those bugs and started thinking about those bugs. In that day we found another three/four bugs in the same area. So a total of 6/7 bugs were found and that was within a very short time. The moment was really very exciting. We found a bug and PM fixed it and again we found a new bug and PM fixed it&#8230;. Once a time our PM told us that really it was interesting. It was like ACM Programming contest.<br />
</span></span></p>
<p><span style="color:#003300;"><span style="color:#000000;">Form this experience, I found how Software Testing is challenging and how unpredictable is it! While a minute ago I was thinking there was no bug in the product there we fond so many bugs within very short time.  The software testing seems me like Unpredictable Test Cricket. Look at the score of <a href="http://www.cricinfo.com/bdeshvind2010/engine/current/match/434257.html">2nd Innings of 2nd Test Match 2010</a></span></span><span style="color:#003300;"><span style="color:#000000;"> between Bangladesh and India. Once a time Bangladesh were 290 for 3 and the innings came last to 312 for 10.  7 wickets gone for only 22 runs. Can you believe it?</span></span></p>
<p><span style="color:#003300;"><span style="color:#000000;">That is why all we say <span style="color:#003300;"><strong><em>Really Software Testing in Not Inevitable and Never Complete</em></strong></span>.<br />
</span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=52&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2010/03/29/really-software-testing-is-not-inevitable-and-never-complete/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
		<item>
		<title>Usages of ROW_NUMBER() in MSSQL SERVER</title>
		<link>http://maftahur.wordpress.com/2010/02/14/usages-of-row_number-in-mssql-server/</link>
		<comments>http://maftahur.wordpress.com/2010/02/14/usages-of-row_number-in-mssql-server/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 16:55:40 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=11</guid>
		<description><![CDATA[A very important feature of SQL Server is the usages of ROW_NUMBER() function. It gives sequential row number[starts from 1] over duplicate touple (a set of column[s]) and the order you set. The sequence of using ROW_NUMBER() in your SELECT SQL is: ROW_NUMBER ( ) OVER ( [ partition_by_clause ] order_by_clause ) The PARTITION BY [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=11&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A very important feature of SQL Server is the usages of <strong><span style="color:#3366ff;"><span style="color:#003300;">ROW_NUMBER()</span> </span></strong>function. It gives sequential row number[starts from 1] over duplicate touple (a set of column[s])  and the order you set.  The sequence of using<span style="color:#003300;"><strong> ROW_NUMBER()</strong></span> in your SELECT SQL is:</p>
<p><em><span style="color:#003300;"><strong>ROW_NUMBER ( )</strong></span> OVER ( [ partition_by_clause ] order_by_clause )</em></p>
<p>The PARTITION BY clause determines the duplicate touples on which you<br />
want the sequential row number and ORDER BY clause determines the<br />
criteria to set row number.<br />
Lets see how it works and how it helps us&#8230;.</p>
<p>In a simple way consider you have a table <strong>SALES</strong> like</p>
<table style="border:3px solid #345677;">
<tbody>
<tr>
<th><strong><span style="color:#003300;">CustomerID</span></strong></th>
<th><strong><span style="color:#003300;">ProductID</span></strong></th>
<th><strong><span style="color:#003300;">PurchasedDate</span></strong></th>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-01</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-01</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-02</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-02</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span><br />
</strong></td>
<td><strong><span style="color:#003300;">P000002</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-03</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-03</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000002</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-04</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-04</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-04</span></strong></td>
</tr>
</tbody>
</table>
<p>Now if you execute the following SQL:</p>
<p>SELECT CustomerID, ProductID, PurchasedDate, <strong><span style="color:#003300;">ROW_NUMBER() </span>OVER (</strong></p>
<p><strong>PARTITION BY CustomerID, ProductID ORDER BY PurchasedDate DESC)</strong> AS <strong>RowNo</strong></p>
<p>FROM SALES;</p>
<p>Then the output will be</p>
<table style="border:3px solid #345677;">
<tbody>
<tr>
<th><strong><span style="color:#003300;">CustomerID</span></strong></th>
<th><strong><span style="color:#003300;">ProductID</span></strong></th>
<th><strong><span style="color:#003300;">PurchasedDate</span></strong></th>
<th><strong><span style="color:#003300;">RowNo</span></strong></th>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-04</span></strong></td>
<td><strong><span style="color:#003300;">1</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-03</span></strong></td>
<td><strong><span style="color:#003300;">2</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-02</span></strong></td>
<td><strong><span style="color:#003300;">3</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-01</span></strong></td>
<td><strong><span style="color:#003300;">4</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000002</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-03</span></strong></td>
<td><strong><span style="color:#003300;">1</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-04</span></strong></td>
<td><strong><span style="color:#003300;">1</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-02</span></strong></td>
<td><strong><span style="color:#003300;">2</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-01</span></strong></td>
<td><strong><span style="color:#003300;">3</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000002</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-04</span></strong></td>
<td><strong><span style="color:#003300;">1</span></strong></td>
</tr>
</tbody>
</table>
<p>Explanation of the output:<br />
In the SALES table there has total four distinct CustomerID-ProductID combination. In the SELECT statement this distinct combination is gained by partitioning the column with CustomerID and ProductID columns. Then the partitioned columns are given row number based on PurchasedDate column. In this case the order is DESC.</p>
<p>So the combination <strong>C000001-P000001</strong> has <strong>4</strong> rows with dates &#8217;2010-02-01&#8242; to &#8217;2010-02-04&#8242;. So the <span style="color:#003300;"><strong>ROW_NUMBER()</strong></span>[here the alias RowNo] of row <strong>C000001-P000001-2010-02-04</strong> is <strong>1</strong> and then <strong>C000001-P000001-2010-02-01</strong> is <strong>4</strong>. Similarly the combination <strong>C000002-P000001</strong> has three rows with dates &#8217;2010-02-01&#8242;, &#8217;2010-02-02&#8242; and &#8217;2010-02-04&#8242;. So <strong>RowNo</strong> for the combination <strong>C000002-P000001-2010-02-04</strong> is <strong>1</strong>, <strong>C000002-P000001-2010-02-02</strong> is <strong>2</strong> and  <strong>C000002-P000001-2010-02-01</strong> is <strong>3</strong>. Here if you use the <strong>ASC</strong> as <strong>ORDER BY</strong> then the RowNo would be reverse than it is shown.</p>
<p>Now if you carefully see the second table then imagine how easy it is for you to select distinct CustomerID-ProductID based on most or least or Nth recent sales.</p>
<p>For example you now want to know the 3rd recent sales date of every  CustomerID-ProductID combination. So your SQL will look like:</p>
<p>SELECT temp.CustomerID, temp.ProductID, temp.PurchasedDate<br />
FROM (<br />
SELECT CustomerID, ProductID, PurchasedDate, <strong><span style="color:#003300;">ROW_NUMBER()</span> OVER(<br />
PARTITION BY CustomerID, ProductID ORDER BY PurchasedDate ASC) AS RowNO</strong><br />
FROM SALES<br />
) AS temp<br />
WHERE <strong>temp.RowNo = 3</strong>;<br />
The output is:</p>
<table style="border:3px solid #345677;">
<tbody>
<tr>
<th><strong><span style="color:#003300;">CustomerID</span></strong></th>
<th><strong><span style="color:#003300;">ProductID</span></strong></th>
<th><strong><span style="color:#003300;">PurchasedDate</span></strong></th>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000001</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-03</span></strong></td>
</tr>
<tr>
<td><strong><span style="color:#003300;">C000002</span></strong></td>
<td><strong><span style="color:#003300;">P000001</span></strong></td>
<td><strong><span style="color:#003300;">2010-02-04</span></strong></td>
</tr>
</tbody>
</table>
<p>Isn&#8217;t it very useful feature?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=11&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2010/02/14/usages-of-row_number-in-mssql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
		<item>
		<title>Do You Have a Hit List?</title>
		<link>http://maftahur.wordpress.com/2009/12/30/do-you-have-a-hit-list/</link>
		<comments>http://maftahur.wordpress.com/2009/12/30/do-you-have-a-hit-list/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 16:25:52 +0000</pubDate>
		<dc:creator>maftahur</dc:creator>
				<category><![CDATA[Software Testing]]></category>

		<guid isPermaLink="false">http://maftahur.wordpress.com/?p=4</guid>
		<description><![CDATA[In software development life cycle this is a common scenario that the tester gets less time than the anticipation. And when he goes to execute test runs then he finds a very big gap between time and test cases. He blames the shortage time. But devising a technique he can overcome much of the &#8216;time [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=4&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In software development life cycle this is a common scenario that the tester gets less time than the anticipation. And when he goes to execute test runs then he finds a very big gap between time and test cases. He blames the shortage time.</p>
<p>But devising a technique he can overcome much of the &#8216;time limitation&#8217; problem. If he has a list with some key points that does not require writing down in test cases and without altering the keys he can apply much of the points in any situation and in any type of application, then of course it will save time to find/identify bugs. I call this list as a <strong>Hit List</strong>.</p>
<p>Basically the Hit List will have two types of contents. One is Context dependent key points and another is context independent key points.</p>
<p><strong>Context dependent key points:</strong> Basically these key points remain unchanged throughout the application, points are identified through testing experiences on the application.  Example: Fixed format of Price, Acc No, Title, frequent occurrence of critical bug,…, etc.</p>
<p>If your are keen to grab these type of points then you can easily apply these to your testing software very quickly.</p>
<p><strong>Context independent key points:</strong> These points that do not depend on your testing software. Example: data type conversion/overflow error, rounding/truncating problem of number/string/character.. data types, entering special characters to input fields, unplug network connection, read/write file accessing error, &#8230;,etc. You can identify same type of more points for your <strong>Hit List</strong>.</p>
<p>When you have identified the key points then you can apply these to your testing software/application very quickly. Depending on how fast you have access on the points, it will save much of your testing time.</p>
<p>Now the question where you will save your <strong>Hit List</strong>? The best position is to keep it in your mind. If the List grow enough or you are confused recalling them in time, then you can save these to writing documents like notepad, wordpad,..,etc.</p>
<p>On July 28, 2009 I had a presentation on it. You can find more from here(<a href="http://www.sqabd.com/lt_present.php?id=lt5">http://www.sqabd.com/lt_present.php?id=lt5</a>).</p>
<p>Good luck<br />
﻿</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/maftahur.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/maftahur.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/maftahur.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/maftahur.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/maftahur.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/maftahur.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/maftahur.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/maftahur.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/maftahur.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/maftahur.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/maftahur.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/maftahur.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/maftahur.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/maftahur.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=maftahur.wordpress.com&amp;blog=11169406&amp;post=4&amp;subd=maftahur&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://maftahur.wordpress.com/2009/12/30/do-you-have-a-hit-list/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/557537b86f09a621924a305852b9f324?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Shishir</media:title>
		</media:content>
	</item>
	</channel>
</rss>
