<?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/"
	>

<channel>
	<title>Wildbit &#187; Quality Assurance</title>
	<atom:link href="http://wildbit.com/blog/category/quality-assurance/feed/" rel="self" type="application/rss+xml" />
	<link>http://wildbit.com/blog</link>
	<description>Thoughts on building web apps, businesses, and virtual teams</description>
	<lastBuildDate>Thu, 09 Sep 2010 16:44:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Reducing ticket noise</title>
		<link>http://wildbit.com/blog/2010/06/01/reducing-ticket-noise/</link>
		<comments>http://wildbit.com/blog/2010/06/01/reducing-ticket-noise/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 17:21:43 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[qa]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=1110</guid>
		<description><![CDATA[Creating a ticket in the task management system is easy. But frequently, you probably run into the situation where your tickets get &#8220;noisy&#8221; and become unreadable. 
Why does this happen? Well, when many people are involved in a specific ticket, there will be bunch of assigning, back and forth communication, until the ticket is approved, [...]]]></description>
			<content:encoded><![CDATA[<p>Creating a ticket in the task management system is easy. But frequently, you probably run into the situation where your tickets get &#8220;noisy&#8221; and become unreadable. </p>
<p>Why does this happen? Well, when many people are involved in a specific ticket, there will be bunch of assigning, back and forth communication, until the ticket is approved, and resolved in the end. I am referring here to tickets that are related to new features or complex bugs. Dealing with simple bugs is easy and this would probably never happen.</p>
<h3>How to deal with ticket readability</h3>
<p>So, how to deal with tickets and avoid &#8220;noise?&#8221; You don&#8217;t want developers to miss out on features or bugs in the ticket and you also want testers to see what they need to review so it can be properly checked and approved. </p>
<p>I prepared a list of things we do to improve ticket readability and reduce the risk of missing valuable information.</p>
<h4>Separate discussion from tickets as much as possible</h4>
<p>We are lazy in nature, so from time to time, we tend to discuss things in tickets more than needed. Try to avoid this. Leave out all unnecessary information from the ticket and leave only clean concise data which is required for people working on the ticket. For additional details link to an external discussion, which is posted separately. </p>
<p>For example, say you are not sure how you want to implement a feature. The feature was discussed and final requirements are settled. </p>
<p>Now think about if you have all this information in ticket. This is a lot of unneeded data. The person to which ticket is assigned only needs to know about the final decision, and perhaps something else, but this can be all written down cleanly with a link to the discussion in which final decision was made. </p>
<h4>Always attach links to the final copy and design updates to the ticket</h4>
<p>When a developer is working on a feature, the ticket also includes a link to <a href="http://beanstalkapp.com/">Beanstalk</a> changeset and the latest design pages. Now these pages can change many times through the ticket. Attaching all the changeset changes and design pages at bottom of the ticket is a huge help. </p>
<h3>Clean tickets reduce the probability of error</h3>
<p>The bottom line is that you should try to keep your tickets clean and easily readable, at the same time try not to have long tickets which have thousands of lines of text. This means you should have separate tickets in smaller pieces.</p>
<p>Let me know what you think and how you are working in your task management system with tickets.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2010/06/01/reducing-ticket-noise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How we work at Wildbit</title>
		<link>http://wildbit.com/blog/2010/01/21/how-we-work-at-wildbit/</link>
		<comments>http://wildbit.com/blog/2010/01/21/how-we-work-at-wildbit/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 20:09:41 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Web/Tech]]></category>
		<category><![CDATA[q]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=951</guid>
		<description><![CDATA[Since we have moved from <a href="http://wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/">Basecamp</a> for task tracking to <a href="http://lighthouseapp.com/">Lighthouse</a> our workflow has changed significantly. Our workflow improved not just because of using a new task tracking system, but also due to learning from mistakes and figuring out what works best for us. It's something that did not happen over night. We have made numerous small improvements over time and achieved much better productivity. This article is a small insight in the practices we use.]]></description>
			<content:encoded><![CDATA[<p>Since we have moved from <a href="http://wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/">Basecamp</a> for task tracking to <a href="http://lighthouseapp.com/">Lighthouse</a> our workflow has changed significantly. Our workflow improved not just because of using a new task tracking system, but also due to learning from mistakes and figuring out what works best for us. It&#8217;s something that did not happen over night. We have made numerous small improvements over time and achieved much better productivity. This article is a small insight in the practices we use.</p>
<p><span id="more-951"></span></p>
<h3>Communication is the key</h3>
<p>In order to make products like <a href="http://beanstalkapp.com/">Beanstalk</a>, <a href="http://newsberry.com/">Newsberry</a> and <a href="http://postmarkapp.com/">Postmark</a>, you need to have great communication in the team. Without communication, projects would quickly lose their pace. We made a bunch of small improvements to keep everybody on the team happy:</p>
<h4>Quiet time</h4>
<p>When we are working, our goal is to not disturb each other,  so we don&#8217;t break the persons &#8220;mojo&#8221;. Every piece of communication that can wait is not discussed directly through IM. We use <a href="https://basecamphq.com/">Basecamp</a>, emails or tasks for this, depending on nature of the topic which needs to be discussed.</p>
<h4>IM Status</h4>
<p>IM status can be a really handy piece of information. It can help you figure out whether person is working, whether a person is super busy, when a team member will get back or whether someone is just hanging around after the work day. Although IM status-es are easy to use and pretty obvious, we started using them more intensively just recently.</p>
<h4>Discussing features</h4>
<p>When we are discussing features, we use <a href="http://wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/">Basecamp</a> and include everyone in the team on topics, even if they are not assigned on the project. You never know if someone has a great idea.</p>
<h4>Release notes</h4>
<p>When we started using <a href="http://wildbit.com/blog/2008/12/04/scrum-in-virtual-teams/">scrum</a>, we started using release notes too. Release notes are quite handy. They are not just valuable for Chris (team lead), but it&#8217;s also a small retrospective of the work a team member has done over the last iteration. They give an insight for all members of the team about how the project is doing from a high level.</p>
<h4>Posting plans</h4>
<p>Another great method is posting plans for the work in previous 24 hours, progress at the moment and plans for next 24 hours. It&#8217;s one more benefit of using <a href="http://wildbit.com/blog/2008/12/04/scrum-in-virtual-teams/">scrum in our virtual team</a>. We tend to post plans in our morning meetings in <a href="http://campfirenow.com/">Campfire</a>.</p>
<h3>Managing tasks efficiently</h3>
<p>Managing tasks in a task system is never easy. After time tasks pile up and it gets harder and harder to maintain them.  We added a couple of rules to our process to avoid this.</p>
<h4>Use simple states</h4>
<p>We had a long discussion on which states we would use in the task management system. The more we talked about it, the more states we came up with. <a href="http://wildbit.com/blog/2009/07/30/learning-a-new-codebase/">Hristo</a> sugested that we use simple states, like</p>
<ul>
<li>not started &#8211; nobody is working on the task at the moment</li>
<li>in progress  - someone is currently working on the task</li>
<li>complete &#8211; task is complete and deployed to production site</li>
</ul>
<p>and it proved to be the best choice for us. By using three simple states, we could easily define the state and have a clear view on the status. We added three more states (which I will mention later), but basically these three states are the ones used most of the time.</p>
<h4>Assigning tasks and Milestones</h4>
<p>When no one is working on a task, the task is not assigned. That is usually happening in the Backlog. We assign tasks to a person in case we know that person will work on it. Assigning a case is also a way of notifying the person by email about the task. Tasks are usually assigned when we are creating new Milestones. Milestones contain all the tasks you will work on, and usually last between one and three weeks. Two weeks is kind of optimal. If milestones stretch for too long, they get harder to maintain and deploy.</p>
<p>By the end of the milestone, all tasks in the Milestone need to be finished. Now, this is not always possible. Sometimes tasks in a milestone simply get out of hand and can&#8217;t be finished in time. In this case we move them to another Milestone, estimated with other tasks in hand.</p>
<h4>Backlog and On The Radar</h4>
<p>The Backlog is where we hold all of the tasks we plan to work on in the future. When there is a huge list of tasks, the backlog tends to turn into a place where tasks will &#8220;die&#8221; after a period of time, and will never be implemented. That&#8217;s why we try to look over the backlog after some time and clear it up. In addition to the Backlog, we use a milestone called On The Radar, in which we store backlog tasks which we will work on in the near future (next month or so). On The Radar can be handy when you need to figure out the next Milestone for the project.</p>
<h3>Small things that make life easier</h3>
<p>There is a variety of very small things that can make your everyday workflow easier. Here are some that help us out:</p>
<h4>Additional Task states &#8211; approved, hold, invalid</h4>
<p>I mentioned that we are using a few additional states next to the three basic states:</p>
<ul>
<li>approved &#8211; task is finished and reviewed on staging, but not deployed yet to production</li>
<li>hold &#8211; task is on hold due to a variety of reasons</li>
<li>invalid &#8211; the task was canceled out for some reason</li>
</ul>
<p>I find the <strong>approved</strong> state above the most important. This state happens after we have completely finished the task, but did not deploy the updates to the production website. The task is marked approved and assigned to a developer. When updates are deployed to production, the task is assigned to QA, who checks the production site and marks the task complete (or not).</p>
<h4><strong>Allowing the team to be creative</strong></h4>
<p>Working on something different and new from time to time can boost your creativity. That&#8217;s why we introduced <a href="http://wildbit.com/blog/2010/01/15/open-source-fridays-at-wildbit/">Open Source Fridays</a> and Paired Milestones:</p>
<h4>Open Source Friday</h4>
<p>Open source Fridays allow team members to work on something different every other week, and to release the product of their work to the open source community. You can read more about OS Fridays <a href="http://wildbit.com/blog/2010/01/15/open-source-fridays-at-wildbit/">in this post</a>.</p>
<h4>Paired Milestones</h4>
<p>We&#8217;ve also started to explore less rigid work flows. An example is Paired Milestones. With this concept, we define some general high-level goals for a project and assign two people to accomplish it in two weeks. This could be a designer / developer pair, two designers, or two developers depending on the goals. Instead of having a project lead and specific tasks, the pair is completely responsible for organization, detailed ideas, and the outcome without outside influence.</p>
<h3>What&#8217;s next?</h3>
<p>We have no idea. When we take a look  back, our workflow was completely different and we just can&#8217;t image how we could live without some of the improvements we have made. We are constantly improving and would probably say the same when we take a look back one year from now.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2010/01/21/how-we-work-at-wildbit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automated testing &#8211; organizing data and test cases</title>
		<link>http://wildbit.com/blog/2009/08/25/automated-testing-organizing-data-and-test-cases/</link>
		<comments>http://wildbit.com/blog/2009/08/25/automated-testing-organizing-data-and-test-cases/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 08:36:38 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[About Us]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Web/Tech]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[quality assurrance]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=757</guid>
		<description><![CDATA[I&#8217;ve been using Selenium for different types of automated testing for some time, and I decided to share my thoughts on the importance of organizing data and test cases when doing automated testing.
Preparing data
When you are testing existing or new features of your application, it&#8217;s very important to have adequate testing data. The more data [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://seleniumhq.org/">Selenium</a> for different types of automated testing for some time, and I decided to share my thoughts on the importance of organizing data and test cases when doing <a href="http://en.wikipedia.org/wiki/Automated_testing">automated testing</a>.</p>
<h4>Preparing data</h4>
<p>When you are testing existing or new features of your application, it&#8217;s very important to <strong>have adequate testing data</strong>. The more data you have, the more bugs can be spotted early in the testing/development stage.</p>
<p>Having good test data is very important for both <a href="http://en.wikipedia.org/wiki/Manual_testing">manual</a> and <a href="http://en.wikipedia.org/wiki/Automated_testing">automated testing</a>. Before writting the tests, it&#8217;s wise to think through and see which data you will need to run the tests.</p>
<p>Some of the questions you need to ask yourself before starting <a href="http://en.wikipedia.org/wiki/Automated_testing">automated testing</a> are:</p>
<ul>
<li>What functionality do you want to test?</li>
<li>Will you be able to test the functionality (limits of automated testing tools, etc)?</li>
<li>What data do you need for the testing?</li>
<li>How do you organize the test cases to be reusable and easy to use?</li>
</ul>
<p>Before you start writting the test cases, think of all the data you will need and the stages of the testing which will require it. This can save a lot of time and make your automated tests consistent. You will need to have data which is needed in all stages of testing (like login credentials), and data which would be used during testing. Managing data will probably include 4 steps:</p>
<ul>
<li>Prepare data needed in all stages of testing</li>
<li>Prepare test data which would be used during testing</li>
<li>Delete all data used during testing</li>
<li>Delete all data needed in all stages of testing</li>
</ul>
<p>By following the steps mentioned above, you will have the data you need during the tests, and you will leave the application data intact &#8211; by deleting all data you used during testing, you will get the system back in the state in which it was before testing. You should always make sure to set the application back to the original state, this way your automated tests can be run unlimited number of times and would not leave the application in an undesired state.</p>
<h4>Reusability</h4>
<p>When writing test cases, though you don&#8217;t need to be an expert programmer, try not to repeat the code too often. You would probably want to run those test cases daily, and updating a bunch of repeating code in your test cases can be hard and time consuming.</p>
<p>Always try to separate the parts which you will reuse often in your test cases.  For example, a developer changed a part of the code, which you test often. If you did not repeat your code, you would probably need to update your test cases in only one place. Same goes for data. I usually store data like login credentials and automated testing settings in separate files, so I can easily update them later.</p>
<h4>Use meaningfull names for the test cases</h4>
<p>Using meaningfull names for the test classses and test cases can be handy too. It will allow you to find the code you need to update easier. I usually call the test classes by the name of the section I am testing. For example, in web applications, I use the name &#8220;Account&#8221; for test class which will contain all related test cases to &#8220;Account&#8221; section in web application. This way I can also find the test class easier when I want to include/exclude it from the test suite for the next run.</p>
<h4>Always be prepared</h4>
<p>The most important part of automated testing, as for any other type of testing is being prepared: being familiar with the system which needs to be tested. Thinking through all the actions needed to create automated tests and organizing data and test cases will help you create a test suite (test cases) of high quality.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/08/25/automated-testing-organizing-data-and-test-cases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pivotal Tracker &#8211; Closest to Agile</title>
		<link>http://wildbit.com/blog/2009/07/29/pivotal-tracker-closest-to-agile/</link>
		<comments>http://wildbit.com/blog/2009/07/29/pivotal-tracker-closest-to-agile/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 14:38:41 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Business Strategy]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Web/Tech]]></category>
		<category><![CDATA[bug tracking]]></category>
		<category><![CDATA[tracker]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=611</guid>
		<description><![CDATA[We have been using <a title="Basecamp" href="http://www.basecamphq.com/" target="_blank">Basecamp</a> for bugs and features tracking for a while, and we have realized that it doesn't work well for us. We were struggling to make it work until we realized that we needed to search for another tool, since Basecamp is not suited for <a title="Agile" href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">agile software development</a>. I'll be reviewing a series of applications in the next few weeks. The first up, <a href="http://pivotaltracker.com">Pivotal Tracker</a>.]]></description>
			<content:encoded><![CDATA[<p>We have been using <a title="Basecamp" href="http://www.basecamphq.com/" target="_blank">Basecamp</a> for bugs and features tracking for a while, and we have realized that it doesn&#8217;t work well for us. We were struggling to make it work until we realized that we needed to search for another tool, since Basecamp is not suited for <a title="Agile" href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">agile software development</a>. I&#8217;ll be reviewing a series of applications in the next few weeks. The first up, <a href="http://pivotaltracker.com">Pivotal Tracker</a>.</p>
<h4>The features we miss</h4>
<p>We have been using <a href="http://en.wikipedia.org/wiki/Scrum_%28development%29" target="_blank">scrum</a> for a while and we could not adapt it to <a title="Basecamp" href="http://www.basecamphq.com/" target="_blank">Basecamp.</a> It&#8217;s missing a few features that are basics for <a title="Agile" href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">agile</a>:</p>
<ul>
<li>Backlog &#8211; a place where we could store tasks that we are not working on currently</li>
<li>Task states &#8211; we could not change the state of the tasks (started, accepted, delivered, etc)</li>
<li>Prioritizing tasks &#8211; <a href="http://www.basecamphq.com/help/todos" target="_blank">todo lists</a> in Basecamp are not well suited for grouping tasks. If we add tasks to todo lists, we cannot prioritize them well, since some tasks in one todo list should have a higher priority than other tasks in another todo list</li>
</ul>
<p>Not to mention that we don&#8217;t have burn-down charts, velocity, etc. These things are not top priority though.</p>
<h3>Seeking a different issue tracker</h3>
<p>The problem we had while searching for a different solution was that many systems out there try to improve things based on <a title="Basecamp" href="http://www.basecamphq.com/" target="_blank">Basecamp</a>. Then <a href="http://wildbit.com/blog/2009/02/10/327/" target="_blank">Petyo</a> suggested that we try out <a href="http://www.pivotaltracker.com/">Pivotal Tracker</a>.</p>
<p>I had a look at and it seems that it is the closest solution to the <a href="http://en.wikipedia.org/wiki/Agile_software_development" target="_self">agile principles</a> and <a href="http://en.wikipedia.org/wiki/Scrum_%28development%29" target="_blank">scrum</a> I’ve seen so far.</p>
<p>Pivotal Tracker  is much more complex than <a href="http://sifterapp.com/" target="_blank">Sifter</a> which I reviewed a week earlier (Review coming soon &#8211; Sifter’s biggest advantage is the simplicity, great dashboard, task type states and filters, though some features are missing like proper backlog). On the other hand, Pivotal Tracker  has a very interesting approach to task management, and all the functionality needed to track tasks properly.</p>
<p>The main screen of Pivotal Tracker contains columns which can be changed based on what you need and want to see. Tasks are separated in iceboxes, backlog and current task list.</p>
<h3>The good</h3>
<h4>Iceboxes</h4>
<p>Iceboxes are place where you create tasks. In the icebox you have all the tasks that you plan to work on someday, and they are not ordered.</p>
<h4>Backlog</h4>
<p>Backlog contains all the tasks you plan to work on, but you did not start to work on yet. Backlog is ordered, and tasks can shift from it to current milestone dynamically.</p>
<h4>Current tasks</h4>
<p>The current tasks list is the place where you can find tasks which you are working on in the current iteration.</p>
<h4>Velocity</h4>
<p>One more interesting feature of Pivotal Tracker is velocity. It is the average number of points accepted per iteration, based on recently completed iterations.     It measures progress, and allows Tracker to predict when milestones will be completed based on past performance.</p>
<h4>Everything is in task lists</h4>
<p>Pivotal Tracker is task oriented. Everything you need to see in <a href="http://www.pivotaltracker.com" target="_blank">Pivotal Tracker</a> is related to tasks (releases, comments, backlog, current tasks) and can be seen in task lists named current, backlog, icebox etc. Even release date looks like a task. It is created in the same way as the tasks only it’s marked with a different type.</p>
<p>Not all tasks can have points in Pivotal Tracker, only features do, which is logical, since the estimates are related to the features, and when they will be finished, so bugs, chores do not have points.</p>
<h4>Burn-down chart</h4>
<p>Another great feature in <a href="http://www.pivotaltracker.com/" target="_blank">Pivotal Tracker</a> is the burn down chart which is generated automatically based on the work completed. It can be reviewed in the same way you would review tasks.</p>
<h4>Search, group tasks</h4>
<p>Pivotal Tracker also contains a way to have proper todo lists, by adding tags. Every task can have a tag which gives you an easy way of searching and grouping tasks.</p>
<h4>Report generating</h4>
<p>It contains simple report generating, although as far as we&#8217;ve seen, it’s disadvantage is that you can’t export them.</p>
<h3>The bad</h3>
<p>Well, on the bad side, <a href="http://www.pivotaltracker.com/" target="_blank">Pivotal Tracker</a> is strictly a tracker, so there is no way to use it for messaging, project specifications etc.. What we love about  <a title="Basecamp" href="http://www.basecamphq.com/" target="_blank">Basecamp</a> is that you have separate sections like messaging and writeboards, which can be used for communication and project specifications. But when you take a closer look, that is not a purpose of <a href="http://www.pivotaltracker.com/" target="_blank">Pivotal Tracker</a>, it’s not meant to be used as an all-in-one solution.</p>
<p>One more thing to note is that Pivotal Tracker is  complex at first glance at it and requires time to get used to it. It seems it&#8217;s developed in a way so you have to follow the rules, which is a good thing.</p>
<p>The feature we would miss most from Basecamp is the communication between more than one person on a task. Pivotal tracker has it but it works in a way that only the owner, requester and all members who have posted comments are emailed when a new comment is posted. There is no way to choose users to notify. Also reply from email would be nice. This is the feature we seek most, since this could make it hard for us to communicate with the client directly about a task.</p>
<p>I must say that Pivotal Tracker is interesting, and a nice approach to management. We are still reviewing it, and who knows, maybe this will be our next task management system.</p>
<h3>Review is still in progress</h3>
<p>We&#8217;re trying Pivotal Tracker on a small project for now to see if it fits. In the mean time, we&#8217;re also trying some others tools to get a feel of what is out there. It&#8217;s almost impossible to tell if a tool is right unless you try it on a real project. Stay tuned for more reviews in the coming weeks.</p>
<p><strong>We are in search of the good solution which could improve our process, feel free to recommend any other task management systems.</strong></p>
<p><img class="alignleft size-full wp-image-630" title="screen" src="http://wildbit.com/blog/wp-content/uploads/2009/07/screen.png" alt="screen" width="500" height="320" /></p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/07/29/pivotal-tracker-closest-to-agile/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Speeding up manual testing with Selenium IDE</title>
		<link>http://wildbit.com/blog/2009/07/07/speeding-up-manual-testing-with-selenium-ide/</link>
		<comments>http://wildbit.com/blog/2009/07/07/speeding-up-manual-testing-with-selenium-ide/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 09:08:14 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Newsberry]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Web/Tech]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://wildbit.com/blog/?p=561</guid>
		<description><![CDATA[In the quality assurrance field, the main goal is to ensure the quality and reliability of the product. Manual testing is the most common way of testing and it consumes a lot of time. However, there are techinques to shorten the time needed for manual testing by automating time-consuming tasks.]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://http://en.wikipedia.org/wiki/Quality_assurance">quality assurrance</a> field, the main goal is to ensure the quality and reliability of the product. Manual testing is the most common way of testing and it consumes a lot of time. However, there are techinques to shorten time needed for <a href="http://en.wikipedia.org/wiki/Manual_testing">manual testing</a> by automating time-consuming tasks.<br />
<span id="more-561"></span></p>
<h3>Selenium IDE</h3>
<p>There are many different ways to automate tasks and <a href="http://seleniumhq.org/projects/ide/">Selenium IDE</a> is just one of them. Selenium IDE has been around now for some time. It&#8217;s a small add-on for firefox which allows you to run and record tests for your web application. The reason I use Selenium IDE is because you can use it without almost any interference in your process of manual testing. Selenium IDE is lightweight and very easy to use and it&#8217;s constantly improved.</p>
<p>When I do <a href="http://en.wikipedia.org/wiki/Manual_testing">manual testing</a>, I cover the areas that I wante to test, and as I go, I turn on Selenium IDE and record tasks. I try to record scenarios that I will use later in other tests. These small Selenium IDE test cases are recorded so I will not waste time on common tasks, which would be repeated numerous times. Automating small tasks can speed up testing tremendously. This way you would spend time on reviewing parts of the application which are important, rather than spending time on common, everyday tasks.</p>
<p>Here is a simple scenario of my usual review of new functionality on our <a href="http://newsberry.com/">Newsberry</a> project: Recently we released <a href="http://newsberry.com/pricing">monthly plans</a>, which required a lot of sign up testing. During testing of the sign up process, I recorded some scripts in Selenium IDE (simple html scripts), for signing up users, adding senders and activating them. This is the usual process you would use when you are creating a new account. Now, these scripts were used a lot during the review of <a href="http://newsberry.com/pricing">monthly plans</a>, but they were used a lot later during other reviews too. By recording small tasks, you can simply re-run them later, and not worry about doing the same process manually over and over again.</p>
<p><img title="Selenium IDE Plugin for Firefox" src="http://wildbit.com/uploads/2009/07/selenium.jpg" alt="Selenium IDE Plugin for Firefox" /></p>
<p>The beauty of the process is that it takes only couple of minutes to do this. These are not complicated test cases, test suites, no, these are <strong>very simple scripts, which everyone can run</strong>. You can simply send them over to developers, designers, and they can use it the same way you did, as long as they have firefox installed on their computers.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2009/07/07/speeding-up-manual-testing-with-selenium-ide/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free tools for QA testers</title>
		<link>http://wildbit.com/blog/2008/12/17/free-tools-for-qa-testers/</link>
		<comments>http://wildbit.com/blog/2008/12/17/free-tools-for-qa-testers/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 19:10:45 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=315</guid>
		<description><![CDATA[There are many tools testers use for reviewing web applications every day. In daily tasks some of the most used applications include virtual machine for testing in different enviroments and a screen capturing application for reporting bugs with screenshots. I will present you couple of free tools for Windows which I use all the time.]]></description>
			<content:encoded><![CDATA[<p>There are many tools testers use for reviewing web applications every day. In daily tasks some of the most used applications include virtual machine for testing in different enviroments and a screen capturing application for reporting bugs with screenshots. I will present you couple of free tools for Windows which I use all the time.</p>
<p><span id="more-315"></span></p>
<h3>Dexpot</h3>
<p><a href="http://www.dexpot.de/index.php?id=produkt">Dexpot</a> is a great <a href="http://en.wikipedia.org/wiki/Virtual_desktop">virtual desktop</a> tool, which allows you to switch between desktops easily. I usually have a <a href="http://en.wikipedia.org/wiki/Virtual_machine">virtual machine</a> located in one of the desktops, so I can easily switch between the operating system in the virtual machine and the one in which I run the virtual machine. With Dexpot you can easily configure every desktop separately, move applications from one desktop to another and many more.</p>
<p><img src="http://wildbit.com/uploads/2008/12/pic001.png" alt="" /></p>
<h3>Virtual PC</h3>
<p><a href="http://en.wikipedia.org/wiki/Microsoft_Virtual_PC">Virtual Pc</a> is a free virtualization suite from Microsoft. It allows you to run different versions of Windows operating systems. In Virtual PC, you can use a free trial image of operating systems which you can download on Microsoft&#8217;s website. I use Virtual PC often for testing in IE6, FF2 and Safari browsers. </p>
<p><img src="http://wildbit.com/uploads/2008/12/pic002.png" alt="" /></p>
<h3>Jing</h3>
<p><a href="http://www.jingproject.com/">Jing</a> is a free screen capturing application from the makers of <a href="http://www.techsmith.com/screen-capture.asp">SnagIt</a>. Jing allows basic operations like adding text, arrows, marking area, highlighting, and also allows making videos too. By the number of operations and quality it&#8217;s far from SnagIt, which is an awesome screen capturing application, but it is more than enough for basic screen capturing operations.</p>
<h3>Taskbar Shuffle</h3>
<p><a href="http://www.freewebs.com/nerdcave/taskbarshuffle.htm">Taskbar Shuffle</a> is a very small, but usefull free utility which let&#8217;s you drag and drop your Windows taskbar buttons to rearrange them.  It can be very usefull when you have a ton of opened applications  in your taskbar and you need to order them in some way.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2008/12/17/free-tools-for-qa-testers/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Scrum in virtual teams</title>
		<link>http://wildbit.com/blog/2008/12/04/scrum-in-virtual-teams/</link>
		<comments>http://wildbit.com/blog/2008/12/04/scrum-in-virtual-teams/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 17:20:04 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=286</guid>
		<description><![CDATA[<a href="http://en.wikipedia.org/wiki/SCRUM">Scrum</a> as a process of software development is often used in agile <a href="http://en.wikipedia.org/wiki/Agile_software_development">development environment</a>, and no wonder that it's so popular: it's  very easy to learn and requires little effort to start using it.

Chris recommended scrum to the team and after couple of months of experimenting and polishing the process, we are using it successfully in our virtual team.  I will show you how we are using scrum.]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/SCRUM">Scrum</a> as a process of software development is often used in agile <a href="http://en.wikipedia.org/wiki/Agile_software_development">development environment</a>, and no wonder that it&#8217;s so popular: it&#8217;s  very easy to learn and requires little effort to start using it.</p>
<p><a href="http://www.thinkvitamin.com/features/biz/building-and-managing-virtual-teams">Chris</a> recommended scrum to the team. After a couple of months of experimenting and polishing the process, we are using it successfully in our <a href="http://www.wildbit.com/blog/2008/10/28/being-part-of-a-virtual-team-the-good-the-bad-the-awesome/">virtual team</a>.  I will show you how we are using <a href="http://video.google.com/videosearch?hl=en&amp;q=scrum&amp;um=1&amp;ie=UTF-8&amp;sa=X&amp;oi=video_result_group&amp;resnum=4&amp;ct=title#">scrum</a>.</p>
<p><span id="more-286"></span></p>
<h3>Virtual teams and scrum &#8211; no way</h3>
<p>Before we start, you are probably thinking: scrum in virtual teams &#8211; no way, that&#8217;s impossible or at least there is no way to be as productive when you have team members all around the world. It&#8217;s harder to communicate with everybody when they are far a way, by IM or phone, different time zones, etc. It&#8217;s so much easier when the team member is sitting right next to you in the office.</p>
<p>You are probably right, but there are ways to get similar comfort in virtual teams, if you try hard enough.</p>
<h3>Communication</h3>
<p>The key for delivering a quality product is good communication between team members. You have to have good developers, designers, project managers, qa, but if the communication is bad, you will end up with bad product or at least you will miss your deadlines. Scrums forces the team members to communicate on the projects. To our team, scrum improved the communication and took it to a whole new level.</p>
<p>We communicate in three ways: Campfire, <a href="http://www.wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/">Basecamp</a> and IM. For <a href="http://video.google.com/videosearch?hl=en&amp;q=scrum&amp;um=1&amp;ie=UTF-8&amp;sa=X&amp;oi=video_result_group&amp;resnum=4&amp;ct=title#">scrum</a> we use Campfire.  <a href="http://www.campfirenow.com/">Campfire</a> is a place where we have 10AM meetings and hang around during work day.</p>
<h3>Scrum meetings</h3>
<p>Most important part of scrum are certainly scrum meetings.  We tend to have scrum meetings between 10 and 10:15AM, so everyone can continue working after that. If somebody forgets the meeting, he is reminded by the <a href="http://www.mountaingoatsoftware.com/scrummaster">scrum master</a>.  Our scrum meetings are bit different compared to the original scrum meetings idea. By scrum, in scrum meetings, team members should answer three questions:</p>
<ul>
<li>What have you done since yesterday?</li>
<li>What are you planning to do by today?</li>
<li>Do you have any problems preventing you from accomplishing your goal?</li>
</ul>
<p>First we used <a href="http://www.campfirenow.com/">Campfire</a> for answering all three questions. But after using scrum for couple of months,  we realized that answering all three questions is unnecessary.  We use <a href="http://www.backpackit.com/">Backpack</a> for tracking our work. By logging into backpack, everybody can see what was done yesterday and what everybody is working on currently.</p>
<p>Two questions need to be answered in our scrum meetings:</p>
<ul>
<li>What are you planning to do today?</li>
<li>Do you have any problems preventing you from accomplishing your goal ?</li>
</ul>
<p>and we post them in this form for easy overview:</p>
<p><strong>[Plan] 1) publish presentation and continue with fixing N2 bugs 2) need to discuss N2 bugs with Andrey</strong></p>
<p>This way messages are short and concise, and provide enough information for our team members.</p>
<h3>Planning</h3>
<p>For planning sprints, product backlog, sprint backlog, etc. we are using Basecamp. For product backlog we use writeboard in <a href="http://www.wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/">Basecamp</a>,  for sprint backlog we use Basecamp to-do lists. Clients can see what&#8217;s happening all the time with their project. You can read how we are using Basecamp <a href="http://www.wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/">here</a>. We don&#8217;t have burndown charts for now, since we can live without them, but we plan using something like it in the future.</p>
<h3>Sprint retrospective</h3>
<p>To improve our process we have sprint retrospectives, but not after every sprint and not as four hour meetings.</p>
<p>Since we are using <a href="http://www.campfirenow.com/">Campfire</a> every day, besides scrum meetings, ideas of improvement come up. After discussing them, they are posted to Basecamp, where we discuss them further. This way new ideas are discussed on the way and tried out, to see whether they can improve our process.</p>
<p>We had the last retrospective a couple of months ago. One hour was enough to discuss process improvements. We use <a href="http://www.campfirenow.com/">Campfire</a> for sprint retrospectives too.</p>
<h3>Summary</h3>
<p>We are using scrum in our <a href="http://www.wildbit.com/blog/2008/10/28/being-part-of-a-virtual-team-the-good-the-bad-the-awesome/">virtual team</a> and we love it. Only real difference as we see it, is that our meetings are conducted in <a href="http://www.campfirenow.com/">Campfire</a>, not in the office. But that is not a problem if you are working with people who want to make things happen. In some situations, we see virtual meetings in Campfire as an advantage: it&#8217;s a place where you can always find someone to help you (now or later), which is not always the case in the office (what if the person is on second floor&#8230;).</p>
<p>Virtual teams are not perfect, but compared to a traditional office it has advantages and disadvantages. We are not complete strangers though, thanks to Chris, we met on the <a href="http://www.wildbit.com/blog/2008/10/05/turkey-were-here/">Wildbit retreat</a> recently, which was an amazing experience. We do plan on using video conferencing in the near future.</p>
<p>Scrum improved are process significantly. Our team is more productive, aware of what others are doing and what obstacles might be in the way of finishing products on time.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2008/12/04/scrum-in-virtual-teams/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Basecamp as a bug-feature tracking system</title>
		<link>http://wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/</link>
		<comments>http://wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 15:50:09 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[basecamp]]></category>
		<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[Newsberry]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[quality assurrance]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=276</guid>
		<description><![CDATA[We were using many different bug tracking systems in the past, but none of them suited our needs.  Some of them were too complex, some did not have features which we needed, but mainly most of them weren't easy to use with easy overview of tasks.  Besides bug tracking system, we were using basecamp from 37signals mainly for messaging and for simple todo lists. Recently basecamp was updated with cool new features, and our team decided to try it out for project management - bug tracking too. 

I will show you how we use basecamp :]]></description>
			<content:encoded><![CDATA[<p>We were using many different bug tracking systems in the past, but none of them suited our needs.  Some of them were too complex, some did not have features which we needed, but mainly most of them weren&#8217;t easy to use, and did not have easy overview of tasks.  We needed something easy to use for us an our clients. Besides bug tracking system, we were using <a href="http://www.basecamphq.com/">Basecamp</a> from <a href="http://www.37signals.com/">37signals</a> mainly for messaging and for simple to-do lists. Recently <a href="http://www.37signals.com/svn/posts/1230-big-new-basecamp-feature-attach-files-and-post-comments-on-to-dos-and-milestones">Basecamp was updated</a> with some cool new features, and our team decided to try it out for project management &#8211; bug tracking. Here is how we use it:</p>
<p><span id="more-276"></span></p>
<h3>Milestones</h3>
<p><span style="font-weight: normal;">Each milestone contains the to-do lists and messages related to it. We use milestones as <a href="http://en.wikipedia.org/wiki/SCRUM">sprints</a>. Milestones keep us focused on finishing small sets of tasks on a short and strict schedule.</span></p>
<h3>To-do Lists</h3>
<p>The key feature for tracking tasks is the to-do list (in other tracking systems usually called a ticket). Each to-do lists contains a list of tasks. To-do list contains a group of similar tasks, so for example, if we are working on &#8220;Login&#8221; functionality, the to-do list would look something like this:</p>
<ul>
<li>Login page
<ul>
<li>[Dev] implement login screen</li>
</ul>
<ul>
<li>[Design] Implement validation of fields</li>
</ul>
<ul>
<li>[Review] Implement forgot password functionality</li>
</ul>
</li>
</ul>
<p>In the example above &#8220;Login&#8221; would be the name of the to-do list, and below it, you would see the tasks related to it. Tasks are simply prioritized by order, which can be changed very easy in <a href="http://www.basecamphq.com/">Basecamp</a> by drag and drop.</p>
<h3>Task tagging</h3>
<p>Chris, our team lead suggested one more very useful feature, which we use when creating tasks &#8211; tagging tasks. As you can see in the sample above, every task has a tag: dev, design, review. Based on the tag type, everybody knows what kind of task types remain in the to-do list, and the team members can claim it, when they are available for work. Tasks with top priorities (tasks at top of the to-do list) are claimable.</p>
<p>This allows the team to work together, instead of one person assigning each task. Developers know which tasks are for them, designers have their tasks, and the client or QA can look at tasks with the &#8220;review&#8221; tag. This way each to-do can live through the life cycle of development.</p>
<h3>Tasks with comments and attachments</h3>
<p>The cool feature that made us realize that we can use <a href="http://www.basecamphq.com/">Basecamp</a> for bug and feature tracking, is that you can have comments in every to-do. You simply create a small to-do task, and we add comments and screen shots in it.</p>
<h3>Allowing to clients to use basecamp</h3>
<p>One more cool feature about Basecamp is that clients love it too, since it&#8217;s easy to use. We usually create a separate to-do list for them, where they can report the bugs or new features which they would like to see in the future. This way they are involved in the development process as well.</p>
<h3>Prioritizing</h3>
<p>The last step, after creating bunch of to-do lists is prioritizing to-do lists and tasks within them. So in the end, you have:</p>
<ul>
<li>prioritized to-do lists</li>
<li>prioritized task lists within to-do lists</li>
</ul>
<h3>Anything else we need for tracking tasks?</h3>
<p>Basically, that&#8217;s it! You don&#8217;t need anything else to start managing your project. By using simple rules for <a title="bug tracking tips" href="http://www.wildbit.com/blog/2008/10/23/bug-tracking-tips/">bug tracking</a> and <a href="http://www.basecamphq.com/">Basecamp</a> you can easily manage your projects. Later, you will discover other features (most important: messages, overview and writeboard ) which will make managing your project even more efficient.</p>
<h3>Summary</h3>
<p>After using several different systems I can say that <a href="http://www.basecamphq.com/">Basecamp</a> is a very good system for project management. Not only that you can use it for bug tracking, but for messaging too. There is room for improvement, but I am sure it will get even better by time.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2008/11/03/basecamp-as-a-bug-feature-tracking-system/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Bug Tracking Tips</title>
		<link>http://wildbit.com/blog/2008/10/23/bug-tracking-tips/</link>
		<comments>http://wildbit.com/blog/2008/10/23/bug-tracking-tips/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 20:00:43 +0000</pubDate>
		<dc:creator>Igor Balos</dc:creator>
				<category><![CDATA[Beanstalk]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[assurance]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://www.wildbit.com/?p=260</guid>
		<description><![CDATA[I put together a small set of tips for tracking bugs, ideas, and changes when working with software projects. We're always trying to find the right balance between organization and simplicity. If you have your own tips, please let me know and post a comment.]]></description>
			<content:encoded><![CDATA[<p>My name is Igor Baloš and I&#8217;m QA consultant at Wildbit. </p>
<p>I put together a small set of tips for tracking bugs, ideas, and changes when working with software projects. We&#8217;re always trying to find the right balance between organization and simplicity. If you have your own tips, please let me know and post a comment.</p>
<p><span id="more-260"></span></p>
<h3>Create small tasks</h3>
<p>Bug tracking can be hard when there are a large number of tasks. What makes the tracking of tasks even harder are the large tasks. Sometimes people tend to put as much as possible into one task, or the task grows when assigning between members of the team (developers, designers, testers, etc.) with no intention, which is a bad practice. </p>
<p>When creating tasks, they should be small, and should not include multiple tasks in them.  Split larger tasks into smaller ones. Create small tasks which can be easily reviewed by all members of the team.</p>
<h3>Group tasks</h3>
<p>Always group similar tasks into categories (groups). This way tasks can be tracked easier, and it will be easier to find them for all members of the team. Also try separating tasks by type (bugs, features, etc).</p>
<h3>Write down steps to reproduce</h3>
<p>For bugs, write down steps to reproduce for developers &#8211; try to avoid large number of steps for reproducing. Smaller number of steps to reproduce &#8211; easier way for finding the bug for a developer.</p>
<h3>Task flow</h3>
<p>Task should always get back to the person who created it or needs to review it. If it&#8217;s a bug, it should be always assigned back to tester. Only tester can close this bug, since he is the only one who saw the bug first and can be sure it&#8217;s fixed.  Task should <strong>never</strong> be closed by a person other than the one who created and assigned it.</p>
<h3>Less means more</h3>
<p>In your bug tracking system, try to hide the tasks which are currently not important &#8211; by filtering data or any other method which you find suitable. By seeing only tasks important for your iteration (sprint, deadline, milestone.. etc), the team gets a much better overview.</p>
]]></content:encoded>
			<wfw:commentRss>http://wildbit.com/blog/2008/10/23/bug-tracking-tips/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
