<?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>Google Data &#187; Allen Hutchison</title>
	<atom:link href="/author/allen-hutchison/feed/" rel="self" type="application/rss+xml" />
	<link>https://googledata.org</link>
	<description>Everything Google: News, Products, Services, Content, Culture</description>
	<lastBuildDate>Wed, 18 Mar 2015 21:09:38 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.7.5</generator>
	<item>
		<title>Testing systems with large and complex test spaces</title>
		<link>https://googledata.org/google-testing/testing-systems-with-large-and-complex-test-spaces/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testing-systems-with-large-and-complex-test-spaces</link>
		<comments>https://googledata.org/google-testing/testing-systems-with-large-and-complex-test-spaces/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 11:12:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Adam Porter, Professor Department of Computer Science, University of Maryland, and Associate Director, University of Maryland Institute for Advanced Computing Studies[From time to time, we invite software testing experts to write about their ...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by <a href="http://www.cs.umd.edu/%7Eaporter/">Adam Porter,</a> Professor Department of Computer Science, University of Maryland, and Associate Director, University of Maryland Institute for Advanced Computing Studies</span><br /><br /><i>[From time to time, we invite software testing experts to write about their ideas and research. - Ed.]</i><br /><h3> Motivation: </h3>  <p> Software systems are getting larger, more complex and more configurable all the time. While beneficial in many ways, these changes dramatically increase testing obligations.</p>  <p> For example, today's systems are increasingly built to run on multiple OS, compiler and library platforms. They are composed from multiple components, each with multiple versions. They are configured by manipulating numerous compile- and run-time options. Additionally, distributed applications add an allocation dimension in which runtime topologies can vary widely.  </p>  <p> This situation is further complicated by agile and flexible  development practices in which systems are evolved incrementally over short, but varying update cycles and in which development  teams may be geographically distributed.  </p>  <p> Basically, each new configuration dimension increases the number of potential runtime configurations combinatorially. Since each of these configurations might behave differently or host different bugs, each of these configurations, at least in theory, must be tested.   Furthermore, this increased amount of testing must be done in  shorter and shorter time frames because the systems themselves  are changing faster than ever. </p>  <h3> The Skoll project: </h3>  <p> Our research aims to create better, faster and more powerful techniques for testing these kinds of systems. Our vision is to redesign traditional testing processes so that they can be executed around-the-world, around-the-clock.  These processes are logically divided into multiple tasks that are distributed intelligently to client machines around the world and then executed by them. The results from these distributed tasks are returned to central collection sites where they are merged and analyzed to complete the overall QA process. </p>  <p> At the second Google Test Automation Conference, I and my colleague Atif Memon presented an infrastructure and approach called <a href="http://www.cs.umd.edu/projects/skoll"> Skoll </a> that was created to support this vision. The video is embedded below.</p><p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/OiE9zRPD6ps&amp;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/OiE9zRPD6ps&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /></p>      <h3> Skoll in action: </h3>  <p>  To give you a better sense of how this works we're going to walk you through how we set up a Skoll server to run a simplified version of the continuous build, test and integration process we've developed to run the <a href="http://forge.mysql.com/wiki/MySQL_Build_Farm_Initiative"> MySQL Build Farm Initiative. </a> This process runs on computing resources that are temporarily volunteered by members of the MySQL developer and user communities.  After reading the rest of this post, we hope you too will be ready and willing to volunteer as well! </p>  <p> MySQL, as you probably know, is a very popular open source database comprising over 2 million lines of code. It is developed by a world wide community and runs on many different platforms, has over 150 configuration options, and allows substantial static and runtime end-user customization. For instance, you can select different database front- and back-ends, and you can run the system with different runtime topologies to support database replication. In short, it's exactly the kind of system we had in mind when we created Skoll.</p>  <p> We first started speaking with MySQL developers after the first Google Test Automation Conference. They were interested in running a continuous build, integration and test (CBIT) process. They had several goals, such as: testing a broader variety of configurations, not just a handful of popular ones; giving developers greater visibility into the quality and stability of the system; improving bug fix turnaround time; and managing test data to enable long term statistical analysis and improved decision making. </p>  <p> Since they couldn't seem to find anything off-the-shelf that was sufficiently targeted to their needs, we worked with them to develop a Skoll-based CBIT process. This process has several parts: defining a configuration model, implementing a sampling strategy, executing the tests, and analyzing and visualizing the results.  </p>  <p> We will discuss each of these below. Readers who just want to run a client can jump straight to the Section marked <a href="https://docs.google.com/a/google.com/RawDocContents?docID=agddk33wwk_166g52hskgw&amp;justBody=false&amp;revision=_latest&amp;timestamp=1200309023140&amp;editMode=true&amp;strip=true#testEx">Test execution</a>.  </p>  <h3> Some more details:</h3>  <p> <b>Configuration Model: </b> We are starting out by looking at 23 options. There are some inter-option constraints as well.  For example, a configuration can compile in support for either the libedit library (--with-libedit) or the readline library (--with-readline), but not both. Here's a ling to the  <a href="http://www.cs.umd.edu/projects/skoll/projects/mysql51/config_model.html">  current configuration model </a>.  We will expand this model as we gain more experience with this process and more insight into the key issues concerning MySQL. </p>    <p> <b>Sampling strategy:</b> There are over 48 million unique configurations in this test space. Since testing 1 configuration can take up to 2 hours and because new releases come out more or less daily, exhaustive testing of each check-in is clearly impossible. Therefore, we only test specially-chosen subsets of configurations in which all t-way (2 <= t <= 4) combinations of option settings are tested at least once. Our particular algorithm for selecting these configurations, which we invented with <a href="http://cse.unl.edu/%7Emyra/"> Myra Cohen </a> of the University of Nebraska, works incrementally. First it tests 3 sets of ~23 configurations, each set of which covers all combinations of settings between every pair of options (i.e., 2-way combinations).  We then move up to testing 3 sets of ~84 configurations that cover all settings of every triple of options and then move up again to cover all quadruples (~272 configurations), also 3 times each. This allows us to test low level interactions quickly, even if new releases come in before all levels of interactions can be tested. As we gain experience with this process, we will evaluate whether and how much we may need to increase t.<a name="testEx"><b><br /></b></a></p><p><a name="testEx"><b>Test execution:</b></a> To participate in this process, users can go to our <a href="http://www.cs.umd.edu/projects/skoll/contribute/mysql.html"> MySQL 5.1 project page</a>. On that page you can find links to  download a client along with instructions on how to install and run it. This client is a simple Perl script that connects to a Skoll server and asks for a test job. The server examines its internal databases, selects an outstanding job and returns it to the client who then executes it. Currently, testing a configurations involves compiling MySQL in a specific configuration and then running about 750 MySQL-supplied tests on that configuration. The test scripts determine which test cases can be run in the current configuration and runs them. After completing the tests, the client uploads the results to the server. </p>  <p><b>Feedback, analysis and visualization:</b> For this process, we are interested in understanding where configuration-related bugs might be hiding. To figure this out, we periodically analyze test results by building a classification tree for each test that has failed in a minimum number of configurations. These trees model test failures in terms of the configuration option and settings that were set when the tests failed. Users can look at a web page to see the  <a href="http://www.cs.umd.edu/projects/skoll/results/mysql51/">  current test results </a>.  This page shows summary statistics for each build ID. Clicking on a build ID takes you to a detail page listing each test that failed a minimum number of times. Each test presents classification information, both in a raw form and as an interactive <a href="http://www.cs.umd.edu/hcil/treemap/">  treemap</a>. </p>  <h3> Current status:</h3>  <p> We have just started running this process on a continuous basis using an  a small number of MySQL developer community machines. We hope to bring  many more test machines online in the coming weeks. Please check out the results web page to watch our progress. And don't let everyone else have all the fun -- <a href="http://www.cs.umd.edu/projects/skoll/contribute/mysql.html">  download your client today!</a> Thanks!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-8788733126512789894?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/testing-systems-with-large-and-complex-test-spaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GTAC videos now online</title>
		<link>https://googledata.org/google-testing/gtac-videos-now-online/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gtac-videos-now-online</link>
		<comments>https://googledata.org/google-testing/gtac-videos-now-online/#comments</comments>
		<pubDate>Tue, 28 Aug 2007 16:20:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering ManagerWe finished up the second annual Google Test Automation Conference on Saturday with a boat cruise around Manhattan. There's still a lot of work for us to do to wrap up all the loose ends, but one that we ha...]]></description>
				<content:encoded><![CDATA[Posted by Allen Hutchison, Engineering Manager<br /><br />We finished up the second annual <a title="Google Test Automation Conference" href="http://googletesting.blogspot.com/search/label/GTAC" id="hggr">Google Test Automation Conference</a> on Saturday with a boat cruise around Manhattan. There's still a lot of work for us to do to wrap up all the loose ends, but one that we have gotten to right away is posting the videos on <a title="YouTube" href="http://www.youtube.com/view_play_list?p=7D3E685B59779C16" id="t6hs">YouTube</a>.<br /><br /><object width="530" height="370"><param name="movie" value="http://www.youtube.com/p/7D3E685B59779C16"></param><embed src="http://www.youtube.com/p/7D3E685B59779C16" type="application/x-shockwave-flash" width="530" height="370"></embed></object><br /><br />We hope that you enjoy the videos, and we'd like you to join everyone already conversing on our <a title="Google Group" href="http://groups.google.com/group/ltac" id="bn45">Google Group</a>. Several people have posted their reviews of the conference; you can find them in the comments on the <a title="GTAC Community Thread" href="http://googletesting.blogspot.com/2007/08/gtac-community-thread.html" id="jucz">GTAC Community Thread</a>, or through a <a title="blog search for GTAC" href="http://blogsearch.google.com/blogsearch?hl=en&q=GTAC&amp;btnG=Search+Blogs" id="ocdl">blog search for GTAC</a>. Finally, our team posted several conference photos on <a title="Picasa Web Albums" href="http://picasaweb.google.com/NYC1119thave/TheSecondAnnualGoogleTestAutomationConference" id="ej:i">Picasa Web Albums</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-5508199163506532899?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/gtac-videos-now-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GTAC Community Thread</title>
		<link>https://googledata.org/google-testing/gtac-community-thread/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gtac-community-thread</link>
		<comments>https://googledata.org/google-testing/gtac-community-thread/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 10:35:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering ManagerWe're moments away from the beginning of the Google Test Automation Conference. If you are attending in person, then I'll see you shortly. If you plan to watch the videos on YouTube, then keep an eye on thi...]]></description>
				<content:encoded><![CDATA[Posted by Allen Hutchison, Engineering Manager<br /><br />We're moments away from the beginning of the <a title="Google Test Automation Conference" href="http://googletesting.blogspot.com/search/label/GTAC" id="v6s.">Google Test Automation Conference</a>. If you are attending in person, then I'll see you shortly. If you plan to watch the videos on <a title="YouTube" href="http://www.youtube.com/user/google" id="ov3s">YouTube</a>, then keep an eye on this space. We'll be posting links to the talk videos throughout the next few days. The conference isn't just about the talks, though: this is a community conference. So use the comment space on this post to point people to your GTAC Live Blog, your pictures from the conference, and your thoughts about the conference.<br /><br />We also have a <a title="Google Group" href="http://groups.google.com/group/ltac" id="nbc1">Google Group</a> set aside for discussion about the conference and test automation. There are several people there from past conferences as well as this one.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-4966946268104103025?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/gtac-community-thread/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GTAC registration closed</title>
		<link>https://googledata.org/google-testing/gtac-registration-closed/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gtac-registration-closed</link>
		<comments>https://googledata.org/google-testing/gtac-registration-closed/#comments</comments>
		<pubDate>Tue, 19 Jun 2007 13:29:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Harry Robinson, Software Engineer in TestThank you to everyone who applied to attend the Google Test Automation Conference in New York on August 23rd-24th. We received lots of applications for a very limited number of seats, so the choices we...]]></description>
				<content:encoded><![CDATA[Posted by Harry Robinson, Software Engineer in Test<br /><br />Thank you to everyone who applied to attend the Google Test Automation Conference in New York on August 23rd-24th. We received lots of applications for a very limited number of seats, so the choices were not easy.<br /><br />The sign-up website is now closed, and this week we'll be sending out acceptances and wait list notices. If you get an acceptance, congratulations -- we look forward to seeing you in New York. If you don't receive one, you'll be on the wait list, and we'll let you know if spaces become available. Either way, we'll let you know. If you don't hear from us in the next week, drop us <a title="a note" href="mailto:gtac-submission@google.com">a note</a>.<p>All the presentations from the conference will be posted on <a title="YouTube Google Channel" href="http://www.youtube.com/user/google">YouTube Google Channel</a> within a New York minute after the speaker leaves the podium (well, maybe 72 New York minutes). We look forward to seeing you at the conference.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-1069377068281266535?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/gtac-registration-closed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sign up to attend our Test Automation Conference</title>
		<link>https://googledata.org/google-testing/sign-up-to-attend-our-test-automation-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sign-up-to-attend-our-test-automation-conference</link>
		<comments>https://googledata.org/google-testing/sign-up-to-attend-our-test-automation-conference/#comments</comments>
		<pubDate>Wed, 23 May 2007 10:54:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[posted by Allen Hutchison, Engineering Manager A few months ago we announced that we would be holding a Google Test Automation Conference in New York City on August 23-24. Today, I'm happy to tell you that we've finalized the speaker list and have open...]]></description>
				<content:encoded><![CDATA[<p>posted by Allen Hutchison, Engineering Manager<br /><br /> A few months ago we announced that we would be holding a <a href="http://googletesting.blogspot.com/2007/03/2nd-annual-google-test-automation.html" title="Google Test Automation Conference">Google Test Automation Conference</a> in New York City on August 23-24. Today, I'm happy to tell you that we've finalized the speaker list and have opened the <a href="http://services.google.com/events/gtac2007" title="registration process">attendee registration process</a>.<br /><br />The conference is completely free; however, because we have room for only 150 people, everyone who wishes to attend must apply and be accepted. You can apply to attend via <a href="http://services.google.com/events/gtac2007" title="this link">this link</a>, and we'll let you know by June 15 if your application has been accepted. </p> <p>     </p> <p> At last year's conference, we found that the informal hallway discussions were tremendously valuable to everyone who came, and we would like to continue that custom. Therefore, the main point in the application process is to tell us how you can contribute to the conversation and what you would like to learn from the conference. </p> <p>     </p> <p>   To get you started, here is what our speakers will be talking about:<br /></p> <ul><li>     Apple Chow and Santiago Etchebehere -- Building a flexible and extensible automation framework around Selenium   </li><li>     Ali-Akber Saifee -- muvee Framework for Autonomous Testing   </li><li>     Olivier Warin -- Spirent's WorkSuite Manager   </li><li>     Douglas Sellers -- CustomInk Domain Specific Language for automating an AJAX based application   </li><li>     Julian Harty -- Mobile Wireless Test Automation   </li><li>     Matt Heusser and Sean McMillan -- Examining Interaction-Based testing   </li><li>     Risto Kumpulainen -- Automated testing for F-Secure's Linux/UNIX Anti-Virus products   </li><li>     Sergio Pinon -- User Interface Functional Testing with AFTER (Automated Functional Testing Engine in Ruby)   </li><li>     Vivek Prahlad -- Functional Testing Swing applications with Frankenstein   </li><li>Simon Stewart -- Web Driver   </li><li>     Adam Porter and Atif Memon -- Skoll distributed continuous quality assurance system   </li><li>     Cedric Beust -- TestNG   </li><li>     Hadar Ziv -- Specification-based Testing   </li></ul> <p>     </p>    We look forward to your application and to a great conference.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-1959518006146064676?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/sign-up-to-attend-our-test-automation-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8-year-old exploratory testing</title>
		<link>https://googledata.org/google-testing/8-year-old-exploratory-testing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=8-year-old-exploratory-testing</link>
		<comments>https://googledata.org/google-testing/8-year-old-exploratory-testing/#comments</comments>
		<pubDate>Wed, 02 May 2007 12:23:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering ManagerEarlier this week a colleague sent me a link to this post over on doodlebyte. In the post, Michael Schidlowsky talks about a recent experience watching an 8-year-old, play with Logo for the first time. The ...]]></description>
				<content:encoded><![CDATA[Posted by Allen Hutchison, Engineering Manager<br /><br />Earlier this week a colleague sent me a link to <a title="this post" href="http://www.cs.nyu.edu/%7Emichaels/blog/?p=15">this post</a> over on <a title="doodlebyte" href="http://www.cs.nyu.edu/%7Emichaels/blog/">doodlebyte</a>. In the post, Michael Schidlowsky talks about a recent experience watching an 8-year-old, play with Logo for the first time. The child was able to crash Logo in just a few commands. After that, Michael wanted to try to reproduce the bug:<br /><blockquote>I had played with UCBLogo for two weeks and hadn’t made it crash once. Brian brought the whole thing down in three commands. The most telling part is that when I tried to reproduce the defect a week later I couldn’t. I issued rt with a ton of 9s and just couldn’t get it to break. As it turns, it only crashes when you omit the space, which of course I didn’t think of doing. It took me more time to reproduce the defect than it took Brian to discover it.<br /></blockquote>This story vividly demonstrates two points about <a title="exploratory testing" href="http://en.wikipedia.org/wiki/Exploratory_test">exploratory testing</a>. First is that you have to be very careful to record everything you do during a testing session. In this case, Michael overlooked the fact that the 8-year-old had issued an "rt999..." instead of an "rt 999...". That made a huge difference to his testing and resulted in his taking a lot of time to reproduce the error. Some testers use screen recorders or key loggers to help with this issue.<br /><br />The other point is that we who use computers every day tend to adopt certain assumptions in our interaction with them. Michael didn't try "rt999..." because he knew that he should always put a space between a command and a parameter. When testing an application, we have to remember that our customers don't always hold the same assumptions that we do, whether they are 8 or 80 years old. Approach your testing with an awareness of your assumptions, and try to find out what happens when you break them. Often the results will surprise you.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-2383599154884582507?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/8-year-old-exploratory-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TotT: Refactoring Tests in the Red</title>
		<link>https://googledata.org/google-testing/tott-refactoring-tests-in-the-red/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tott-refactoring-tests-in-the-red</link>
		<comments>https://googledata.org/google-testing/tott-refactoring-tests-in-the-red/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 10:28:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[With a good set of tests in place, refactoring code is much easier, as you can quickly gain a lot of confidence by running the tests again and making sure the code still passes.As suites of tests grow, it's common to see duplication emerge. Like any co...]]></description>
				<content:encoded><![CDATA[<p>With a good set of tests in place, refactoring code is much easier, as you can quickly gain a lot of confidence by running the tests again and making sure the code still passes.</p><p>As suites of tests grow, it's common to see duplication emerge. Like any code, tests should ideally be kept in a state that's easy to understand and maintain. So, you'll want to <strong><span style="color:#993300">refactor your tests</span></strong>, too.</p><p><strong><span style="color:#993300">However, refactoring tests can be hard because you don't have tests for the tests.</span></strong></p><p>How do you know that your refactoring of the tests was safe and you didn't accidentally remove one of the assertions?</p><p>If you <strong><span style="color:#993300">intentionally break the code under test</span></strong>, the failing test can show you that your assertions are still working. For example, if you were refactoring methods in <code>CombineHarvesterTest</code>, you would alter <code>CombineHarvester</code>, making it return the wrong results.</p><p>Check that the reason the tests are failing is because the assertions are failing as you'd expect them to. You can then (carefully) refactor the failing tests. If at any step they start passing, it immediately lets you know that the test is broken – undo! When you're done, remember to fix the code under test and make sure the tests pass again.<br>(<code>revert</code> is your friend, but <strong><span style="color:#993300">don't revert the tests</span></strong>!)</p><p>Let's repeat that important point:</p><p><strong><span style="color:#993300">When you're done...remember to fix the code under test!</span></strong></p><p><strong>Summary</strong></p><ul><li>Refactor <strong><span style="color:#993300">production</span></strong> code with the tests <strong><span style="color:#993300">passing</span></strong>. This helps you determine that the production code still does what it is meant to.</li><li>Refactor <strong><span style="color:#993300">test</span></strong> code with the tests <strong><span style="color:#993300">failing</span></strong>. This helps you determine that the test code still does what it is meant to.</li></ul><p>Remember to download <a href="http://code.google.com/testing/TotT-2007-04-25.pdf">this episode</a> of Testing on the Toilet and post it in your office.</p></p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-7199874977032232233?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/tott-refactoring-tests-in-the-red/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Engineering in Zurich</title>
		<link>https://googledata.org/google-testing/test-engineering-in-zurich/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=test-engineering-in-zurich</link>
		<comments>https://googledata.org/google-testing/test-engineering-in-zurich/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 12:25:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Phil Rollet, Senior Software QA EngineerZurich, Switzerland is the location of one of Google's largest engineering offices in Europe. We like to say it is no longer necessary to live in Silicon Valley to develop great software for Google, and...]]></description>
				<content:encoded><![CDATA[Posted by Phil Rollet, Senior Software QA Engineer<br /><p class="MsoNormal"><a title="Zurich, Switzerland" href="http://maps.google.com/maps?f=q&hl=en&amp;q=Freigutstrasse+12,+8002+Z%C3%BCrich,+Switzerland&sll=37.0625,-95.677068&amp;sspn=97.532845,75.234375&layer=&amp;ie=UTF8&z=16&amp;om=1&iwloc=addr">Zurich, Switzerland</a> is the location of one of Google's largest engineering offices in Europe. We like to say it is no longer necessary to live in Silicon Valley to develop great software for Google, and the Zurich office has over 100 software engineers working on Google products and infrastructure. As a result the Zurich Test Engineering team is kept very busy. </p>  <p class="MsoNormal">Producing great software is the driving motivation for each member of the Test Engineering team, which is relatively small by industry standards. But we're growing quickly and are passionate about software development, software quality, and testing. </p>  <p class="MsoNormal">We work on several projects: some are customer-facing and some are infrastructure. We currently work on <a title="Google Maps" href="http://www.google.com/maps">Google Maps</a>, which has testers and developers in several of our offices around the world. Our team builds tools to check the consistency of the data feeds that support the local search features in Maps. Another project mainly developed in Zurich is <a title="Google Transit" href="http://www.google.com/transit">Google Transit</a>, which provides public transportation <span style="">itineraries</span> and schedule information for commuters who take trains, buses, and trams. On this project, we build tools to verify the proper alignment of the transportation layer of the map with the actual location coordinates of transit stops. We also focus on many projects related to Google’s infrastructure. For example, with <a title="Google Base API" href="http://code.google.com/apis/base">Google Base API</a>, we work with the Software Engineering team to measure response time and to track bottlenecks during large-scale bulk updates. </p> <p class="MsoNormal"><span style=""></span>Our aim is to assign local test engineers to most projects developed in this office, so <a title="hiring for this team is always a priority" href="http://www.google.ch/support/jobs/bin/topic.py?dep_id=1094&amp;loc_id=1115">hiring for this team is always a priority</a>. Candidates are from all over the world, and many different nationalities are represented in our office. Adapting to Zurich is quite easy, because it is already an international place: many companies have their headquarters here, and Zurich has been named the <a title="best city in the world for its quality of life" href="http://www.citymayors.com/features/quality_survey.html">best city in the world for its quality of life</a> in 2005, 2006, and 2007.</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-1306987514498447314?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/test-engineering-in-zurich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Engineering around the world</title>
		<link>https://googledata.org/google-testing/test-engineering-around-the-world/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=test-engineering-around-the-world</link>
		<comments>https://googledata.org/google-testing/test-engineering-around-the-world/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 12:21:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering ManagerThe Test Engineering group at Google is truly a global organization. Our team is made up of test engineers in every corner of the world, working on all kinds of interesting projects. Today we are starting a...]]></description>
				<content:encoded><![CDATA[Posted by Allen <span class="blsp-spelling-error" id="SPELLING_ERROR_0">Hutchison</span>, Engineering Manager<br /><br />The Test Engineering group at Google is truly a global organization. Our team is made up of test engineers in every corner of the world, working on all kinds of interesting projects. Today we are starting a series of blog posts to introduce you to our teams in different offices. Each post will give you some information on the testing projects we have in that particular office, and a little bit of the flavor of that region of the world. The global effort that makes up our test engineering team, and the diversity of ideas that are brought to bear on the challenges that we face, is one of our greatest strengths as a team.<br /><br />In the coming weeks and months, join me in learning more about Google Testing from a global perspective. Perhaps you'll find that we have a team in your part of the world.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-1974043656084761356?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/test-engineering-around-the-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GTAC Speaker Submission Window Closed</title>
		<link>https://googledata.org/google-testing/gtac-speaker-submission-window-closed/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gtac-speaker-submission-window-closed</link>
		<comments>https://googledata.org/google-testing/gtac-speaker-submission-window-closed/#comments</comments>
		<pubDate>Tue, 17 Apr 2007 07:54:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering ManagerThank you to everyone who submitted a proposal to speak at the Google Test Automation Conference. We'll be reading each proposal closely and selecting those that we think are best for the conference. If you...]]></description>
				<content:encoded><![CDATA[Posted by <span id="mgSecretSpan_0" class="mgSecretSpan">Allen Hutchison,</span> Engineering Manager<br /><br />Thank you to everyone who submitted a proposal to speak at the <a title="Google Test Automation Conference" href="http://googletesting.blogspot.com/2007/03/2nd-annual-google-test-automation.html">Google Test Automation Conference</a>. We'll be reading each proposal closely and selecting those that we think are best for the conference. If you submitted a proposal, <span id="mgSecretSpan_1" class="mgSecretSpan">then</span> we'll be getting in touch with you directly to let you know if it was accepted or not.<br /><br />If you didn't submit a proposal, but are interested in attending, <span id="mgSecretSpan_2" class="mgSecretSpan">then</span> check back on the <a title="Google Testing Blog" href="http://googletesting.blogspot.com/">Google Testing Blog</a> on May 7 to see the conference schedule and instructions for how to apply to attend.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-7923020007676146941?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/gtac-speaker-submission-window-closed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test Engineering Internships</title>
		<link>https://googledata.org/google-testing/test-engineering-internships/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=test-engineering-internships</link>
		<comments>https://googledata.org/google-testing/test-engineering-internships/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 13:49:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Zuri Kemp, Lead Software Quality Assurance EngineerThinking about becoming a Google test engineering intern? Want to help us organize the world's information and make it universally accessible and useful -- but you're not sure what it's reall...]]></description>
				<content:encoded><![CDATA[Posted by Zuri Kemp, Lead Software Quality Assurance Engineer<br /><br />Thinking about becoming a Google test engineering intern? Want to help us organize the world's information and make it universally accessible and useful -- but you're not sure what it's really like here? Over the next several months we'll be featuring articles by former Test Engineering interns. Until then, here's a top-10 list of adjectives to describe software engineers at Google:<br /><ul><li>Global - Google has engineering offices (and, of course, customers) all over the world. So not only do we have engineers from everywhere, every engineer gets the chance to make software that will be as great in Singapore as it is in Finland.</li><li>Comfortable - Engineers need to be comfortable to be effective...and Google gives us the equipment to be comfortable. And if our muscles get tight from sitting, we can get an on-site professional massage.</li><li>Flexible -  Getting work done is more important than what time we work.</li><li>Unhampered - We're a company designed by engineers for engineers, so functional merit tends to outweigh other considerations at decision-making time.</li><li>Entertained - We have lots of fun activities. Every winter, there's a company-wide ski trip. Every summer, there's an all-engineer picnic on the Santa Cruz beach boardwalk. Google has bought out theaters for opening days of films like Star Wars and Lord of the Rings.</li><li>Listened to - Google has a very open environment and truly values each employee's opinions. Every Friday, there's a company-wide meeting where Larry and Sergey (our founders) report on significant events and have an open-to-all Q&A session.</li><li>Stuffed - In most offices, Google provides free gourmet-quality breakfast, lunch, and dinner. If you come in too late to get breakfast (or you get hungry between meals), you can always head to the nearby mini-kitchen and grab some fruit, cereal, and tea (or crisps, chocolate, and espresso for the less healthily inclined).</li><li>    Cutting-edge - We have the audacious goal of organizing the world's information -- and to meet it, we've built the largest distributed computer system in the world and written some of the world's most widely-used software.</li><li>    High-impact - People in every country and every language use our products.</li><li>    Dependable - We try to keep a high bar for hiring, so you can depend on the ability of your teammates to handle most any engineering problem.</li></ul>If all of that (<a href="http://www.google.com/support/jobs/bin/static.py?page=about.html&amp;about=eng2">and this</a>) wasn't enough to convince you that Google is a fantastic environment for a software engineer in test, consider being able to "make and break" cool Google products. That is exactly what test engineers at Google do. We not only manually find flaws in software engineers' code, we also build smart, home-grown tools that effectively break and test the limits of web software.<br /><br />While the deadline for Test Engineering internships for this summer is past, we want to help you make a decision for your internship next year. Stay tuned to our blog, we'll be posting a regular series on Test Engineering internships at Google.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-4695027454724990070?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/test-engineering-internships/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TotT: Stubs Speed up Your Unit Tests</title>
		<link>https://googledata.org/google-testing/tott-stubs-speed-up-your-unit-tests/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tott-stubs-speed-up-your-unit-tests</link>
		<comments>https://googledata.org/google-testing/tott-stubs-speed-up-your-unit-tests/#comments</comments>
		<pubDate>Wed, 04 Apr 2007 11:12:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Michael Feathers defines the qualities of a good unit test as: “they run fast, they help us localize problems.” This can be hard to accomplish when your code accesses a database, hits another server, is time-dependent, etc.By substituting custom ob...]]></description>
				<content:encoded><![CDATA[<p>Michael Feathers defines the qualities of a good unit test as: “they run fast, they help us localize problems.” This can be hard to accomplish when your code accesses a database, hits another server, is time-dependent, etc.</p><p>By substituting custom objects for some of your module's dependencies, you can thoroughly test your code, increase your coverage, and still run in less than a second. You can even simulate rare scenarios like database failures and test your error handling code.</p><p>A variety of different terms are used to refer to these “custom objects”. In an effort to clarify the vocabulary, Gerard Meszaros provides the following definitions:</p><ul><li><strong>Test Double</strong> is a generic term for any test object that replaces a production object.</li><li><strong>Dummy</strong> objects are passed around but not actually used. They are usually fillers for parameter lists.</li><li><strong>Fakes</strong> have working implementations, but take some shortcut (e.g., InMemoryDatabase).</li><li><strong>Stubs</strong> provide canned answers to calls made during a test.</li><li><strong>Mocks</strong> have expectations which form a specification of the calls they do and do not receive.</li></ul><p>For example, to test a simple method like getIdPrefix() in the IdGetter class:</p><blockquote style="background: rgb(255, 255, 224) none repeat scroll 0% 50%;"><pre><br /><strong>public class <span style="color:#993300">IdGetter</span></strong> {  <span style="color:#0000FF">// Constructor omitted.</span><br />  <strong>public</strong> String <span style="font-weight:bold; color:#993300">getIdPrefix</span>() {<br />    <strong>try</strong> {<br />      String s = db.selectString("select id from foo");<br />      <strong>return</strong> s.substring(0, 5);<br />    } <strong>catch</strong> (SQLException e) { <strong>return</strong> ""; }<br />  }<br />}</pre></blockquote><p>You could write:</p><blockquote style="background: rgb(255, 255, 224) none repeat scroll 0% 50%;"><pre><br />  db.execute("create table foo (id varchar(40))");  <span style="color:#0000FF">// db created in setUp().</span><br />  db.execute("insert into foo (id) values ('hello world!')");<br />  IdGetter getter = <strong>new</strong> IdGetter(db);<br />  assertEquals("hello", getter.getIdPrefix());</pre></blockquote><p>The test above works but takes a relatively long time to run (network access), can be unreliable (db machine might be down), and makes it hard to test for errors. You can <strong>avoid these pitfalls by using stubs:</strong></p><blockquote style="background: rgb(255, 255, 224) none repeat scroll 0% 50%;"><pre><br />  <strong>public class <span style="color:#993300">StubDbThatReturnsId</span> extends</strong> Database {<br />    <strong>public</strong> String selectString(String query) { <strong>return</strong> "hello world"; }<br />  }<br />  <strong>public class <span style="color:#993300">StubDbThatFails</span> extends</strong> Database {<br />    <strong>public</strong> String selectString(String query) <strong>throws</strong> SQLException {<br />      <strong>throw new</strong> SQLException("Fake DB failure");<br />    }<br />  }<br />  <strong>public void</strong> testReturnsFirstFiveCharsOfId() <strong>throws</strong> Exception {<br />    IdGetter getter = <strong>new</strong> IdGetter(<strong>new <span style="color:#993300">StubDbThatReturnsId</span></strong>());<br />    assertEquals("hello", getter.getIdPrefix());<br />  }<br />  <strong>public void</strong> testReturnsEmptyStringIfIdNotFound() <strong>throws</strong> Exception {<br />    IdGetter getter = <strong>new</strong> IdGetter(<strong>new <span style="color:#993300">StubDbThatFails</span></strong>());<br />    assertEquals("", getter.getIdPrefix());<br />  }</pre></blockquote><p>Remember to download <a href="http://code.google.com/testing/TotT-2007-04-04.pdf">this episode</a> of Testing on the Toilet and post it in your office.<br />&nbsp;</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-5947176721635235314?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/tott-stubs-speed-up-your-unit-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Test Automation Conference submission deadline coming soon</title>
		<link>https://googledata.org/google-testing/google-test-automation-conference-submission-deadline-coming-soon/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-test-automation-conference-submission-deadline-coming-soon</link>
		<comments>https://googledata.org/google-testing/google-test-automation-conference-submission-deadline-coming-soon/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 08:48:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering ManagerIf you recall, we announced the Google Test Automation Conference here about a month ago. To everyone who has submitted a proposal to speak at the conference, thank you. To those of you who haven't yet subm...]]></description>
				<content:encoded><![CDATA[Posted by <span class="mgSecretSpan"><span id="mgSecretSpan_0" class="mgSecretSpan">Allen Hutchison,</span></span> Engineering Manager<br /><br />If you recall, <a href="http://googletesting.blogspot.com/2007/03/2nd-annual-google-test-automation.html" title="we announced the Google Test Automation Conference here">we announced the Google Test Automation Conference here</a> about a month ago. To everyone who has submitted a proposal to speak at the conference, thank you. To those of you who haven't yet submitted your proposal, I want to remind you that the deadline for submissions is this Friday, April 6.<br /><br />We're looking for speakers with exciting ideas and new approaches to test automation. If you have a subject you'd like to talk about, please send an email to <a href="mailto:gtac-submission@google.com/" title="gtac-submission@google.com">gtac-submission@google.com</a> and include a description of your 45 minute session in 500 words or less (no attachments, please). Deadline for submissions is <span style="font-weight: bold;">April 6</span>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-8929130970843213113?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/google-test-automation-conference-submission-deadline-coming-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TotT: JavaScript: Simulating Time in jsUnit Tests</title>
		<link>https://googledata.org/google-testing/tott-javascript-simulating-time-in-jsunit-tests/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tott-javascript-simulating-time-in-jsunit-tests</link>
		<comments>https://googledata.org/google-testing/tott-javascript-simulating-time-in-jsunit-tests/#comments</comments>
		<pubDate>Thu, 29 Mar 2007 07:27:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Sometimes you need to test client-side JavaScript code that uses setTimeout() to do some work in the future. jsUnit contains the Clock.tick() method, which simulates time passing without causing the test to sleep. For example, this function will set up...]]></description>
				<content:encoded><![CDATA[Sometimes you need to test client-side JavaScript code that uses <code>setTimeout()</code> to do some work in the future. <code>jsUnit</code> contains the <code>Clock.tick()</code> method, which simulates time passing without causing the test to sleep. For example, this function will set up some callbacks to update a status message over the course of four seconds:<br /><br /><blockquote style="background: rgb(255, 255, 224) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin:-moz-initial; -moz-background-inline-policy: -moz-initial;"><pre><br />function showProgress(status) {<br />  status.message = "Loading";<br />  for (var time = 1000; time <= 3000; time += 1000) {<br />    <em>// Append a '.' to the message every second for 3 secs.</em><br />    setTimeout(function() {<br />      status.message += ".";<br />    }, time);<br />  }<br />  setTimeout(function() {<br />    <em>// Special case for the 4th second.</em><br />    status.message = "Done";<br />  }, 4000);<br />}<br /></pre></blockquote><br /><br />The jsUnit test for this function would look like this:<br /><br /><blockquote style="background: rgb(255, 255, 224) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin:-moz-initial; -moz-background-inline-policy: -moz-initial;"><pre><br />function testUpdatesStatusMessageOverFourSeconds() {<br />  Clock.reset(); <em>// Clear any existing timeout functions on the event queue.</em><br />  var  status = {};<br />  showProgress(status); <em>// Call our function.</em><br />  assertEquals("Loading", status.message);<br />  Clock.tick(2000); <em>// Call any functions on the event queue that have</em><br />                    <em>// been scheduled for the first two seconds.</em><br />  assertEquals("Loading..",  status.message);<br />  Clock.tick(2000); <em>// Same thing again, for the next two seconds.</em><br />  assertEquals("Done", status.message);<br />}<br /></pre></blockquote><br /><br />This test will run very quickly - it does not require four seconds to run.<br /><br /><code>Clock</code> supports the functions <code>setTimeout()</code>,<br /><code>setInterval()</code>, <code>clearTimeout()</code>, and<br /><code>clearInterval()</code>. The Clock object is defined in<br /><code>jsUnitMockTimeout.js</code>, which is in the same directory as<br /><code>jsUnitCore.js</code>.<br /><br />Remember to <a href="http://code.google.com/testing/TotT-2007-03-29.pdf">download this episode</a> of Testing on the Toilet and post it in your office.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-4731914586629232935?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/tott-javascript-simulating-time-in-jsunit-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robot testers invade Portland</title>
		<link>https://googledata.org/google-testing/robot-testers-invade-portland/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=robot-testers-invade-portland</link>
		<comments>https://googledata.org/google-testing/robot-testers-invade-portland/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 13:48:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Harry Robinson, Software Engineer in TestSoftware testing is tough. It can be exhausting, and there is rarely enough time to find all the important bugs. Wouldn't it be nice to have a staff of tireless servants working day and night to make y...]]></description>
				<content:encoded><![CDATA[Posted by <span class="mgSecretSpan"><span class="mgSecretSpan"><span id="mgSecretSpan_0" class="mgSecretSpan">Harry Robinson,</span></span></span> Software Engineer in Test<br /><br /><p><span class="Text"><span class="Text"><span class="Text"><span class="Text">Software testing is tough. It can be exhausting, and there is rarely enough time to find all the important bugs. Wouldn't it be nice to have a staff of tireless servants working day and night to make you look good? <span class="Text">Well, those days are here.</span></span></span></span></span> On Thursday, March 22, <span class="mgSecretSpan"><span class="mgSecretSpan"></span></span>I'll give a lunchtime presentation titled "<strong><a title="How to Build Your Own Robot Army" href="http://db.sao.org/calendar2/event_description.htm?eventID=3/22/07">How to Build Your Own Robot Army</a></strong>" for the Quality Assurance SIG of the <a title="Software Association of Oregon" href="http://www.sao.org/">Software Association of Oregon</a>. </p> <p><span class="Text"><span class="Text"><span class="Text"></span></span></span></p> <p><span class="Text"><span class="Text"><span class="Text"></span></span><br /></span></p> <p><span class="Text">Two decades ago, machine time was expensive, so test suites had to run as quickly and efficiently as possible. Today, CPUs are cheap, so it becomes reasonable to move test creation to the shoulders of a test machine army. But we're not talking about the run-of-the-mill automated scripts that only do what you explicitly told them. We're talking about programs that create and execute tests you never thought of to find bugs you never dreamed of. From Orcs to Zergs to Droids to Cyborgs, this presentation will show how to create a robot test army using tools lying around on the Web. Most importantly, it will cover how to take appropriate credit for your army's work!</span> </p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-5601414323604654672?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/robot-testers-invade-portland/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developer-Tester/Tester-Developer Summit</title>
		<link>https://googledata.org/google-testing/developer-testertester-developer-summit/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=developer-testertester-developer-summit</link>
		<comments>https://googledata.org/google-testing/developer-testertester-developer-summit/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 12:16:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Harry Robinson, Software Engineer in Test           The first-ever industry Developer-Tester/Tester-Developer Summit was held at the Mountain View Googleplex on Saturday, February 24th. Hosted by Elisabeth Hendrickson and Chris McMahon,  the ...]]></description>
				<content:encoded><![CDATA[Posted by <span class="mgSecretSpan"><span id="mgSecretSpan_0" class="mgSecretSpan">Harry Robinson,</span></span> Software Engineer in Test   <div style="color: rgb(0, 0, 0);">   <p>     <span style="font-family:Arial;font-size:100%;">The first-ever industry </span><a href="http://chrismcmahonsblog.blogspot.com/2007/01/announcing-bay-area-developer.html" title="Announcing the Bay Area Developer-Tester/Tester-Developer Summit "><span style="font-family:Arial;font-size:100%;">Developer-Tester/Tester<wbr>-Developer Summit</span></a><span style="font-family:Arial;font-size:100%;"> was held at the Mountain View Googleplex on Saturday, February 24th. Hosted by </span><a href="http://www.testobsessed.com/"  title="Elisabeth Hendrickson"><span style="font-family:Arial;font-size:100%;">Elisabeth Hendrickson</span></a><span style="font-family:Arial;font-size:100%;"> and </span><a href="http://chrismcmahonsblog.blogspot.com/"  title="Chris McMahon"><span style="font-family:Arial;font-size:100%;">Chris McMahon</span></a><span style="font-family:Arial;font-size:100%;">,  the all-day workshop consisted of experience reports and lightning talks including:</span>    </p> </div> <div style="color: rgb(0, 0, 0);">    </div> <ul style="color: rgb(0, 0, 0);"><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;">Al Snow - Form Letter Generator Technique </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;">Chris McMahon – Emulating User Actions in Random and Deterministic Modes </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;font-size:100%;">Dave Liebreich – Test Mozilla </span>     </p>   </li><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;">David Martinez – Tk-Acceptance </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;font-size:100%;">Dave W. Smith – System Effects of Slow Tests</span>     </p>   </li><li>     <p>       <span style="font-family:Arial;font-size:100%;"><span class="mgSecretSpan"><span class="mgSecretSpan"><span id="mgSecretSpan_1" class="mgSecretSpan">Harry Robinson</span></span></span> – <a href="http://model.based.testing.googlepages.com/exploratory-automation.pdf" title="Exploratory Automation">Exploratory Automation</a> </span>     </p>   </li><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;">Jason Reid – Not Trusting Your Developers  </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;">Jeff Brown – MBUnit </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;">Jeff Fry – <a href="http://testingjeff.wordpress.com/2007/01/27/creating-methods-on-the-flyand-bugs-in-google-phonebook/" title="Generating Methods on the Fly">Generating Methods on the Fly</a> </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;">Keith Ray – ckr_spec </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;">Kurman Karabukaev – Whitebox testing using Watir </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;"><span style="font-size:100%;"><span class="mgSecretSpan"><span class="mgSecretSpan">Mark Striebeck</span></span> – How to Get Developers and Tester to Work Closer Together </span></span>     </p>   </li><li>     <p>       <span style="font-family:Arial;font-size:100%;">Sergio Pinon – UI testing + Cruise Control </span>     </p>   </li></ul>  <ul style="color: rgb(0, 0, 0);"><div>   </div></ul> <div style="color: rgb(0, 0, 0);">   <p>     <span style="font-family:Arial;font-size:100%;">There were also brainstorming exercises and discussions on the benefits that DT/TDs can bring to organizations and the challenges they face. Several participants have <a href="http://chrismcmahonsblog.blogspot.com/2007/02/bay-area-td-dt-summit-happened.html" title="The Bay Area TD-DT Summit happened">blogged</a> <a href="http://www.spsolutionscorp.com/blog/PermaLink,guid,dc8c28b9-477e-49f0-ba4c-1ffe88129bb7.aspx" title="My take of the Bay Area DT/TD Summit">about</a> the Summit. The discussions continue at </span><a href="http://groups.google.com/group/td-dt-discuss"><span style="font-family:Arial;font-size:100%;">http://groups.google.com/group/td-dt-discuss</span></a><span style="font-family:Arial;font-size:100%;">.</span> </p> </div> <div style="color: rgb(0, 0, 0);">    </div> <ul style="color: rgb(0, 0, 0);"><div>   </div><div>   </div></ul> <div style="color: rgb(0, 0, 0);">   <p>     <span style="font-family:Arial;font-size:100%;">If you spend your days coding and testing, try this opening exercise from the Summit. Imagine that:</span><br /></p> </div> <div style="color: rgb(0, 0, 0);" align="left">    </div> <ul style="color: rgb(0, 0, 0);"><div>   </div><div>   </div></ul> <div style="text-align: center;">   <span style="font-family:Arial;"><span style="font-size:100%;">T – – – – – – – – – – D</span></span>   <br /></div>   <p style="color: rgb(0, 0, 0);"><span style="font-family:Arial;"><span style="font-size:100%;">is a spectrum that has "Tester" at one end and "Developer" at the other. Where would you put yourself, and why? </span></span> </p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-6169943990631187059?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/developer-testertester-developer-summit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2nd Annual Google Test Automation Conference</title>
		<link>https://googledata.org/google-testing/2nd-annual-google-test-automation-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=2nd-annual-google-test-automation-conference</link>
		<comments>https://googledata.org/google-testing/2nd-annual-google-test-automation-conference/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 21:23:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[   Posted by Allen Hutchison, Engineering Manager  Some of the most difficult challenges in creating great software are guaranteeing it works every time, for every customer, ensuring that it will scale well, and making it accessible to all users. Over ...]]></description>
				<content:encoded><![CDATA[<p>   Posted by <span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan">Allen Hutchison,</span></span></span></span> Engineering Manager </p> Some of the most difficult challenges in creating great software are guaranteeing it works every time, for every customer, ensuring that it will scale well, and making it accessible to all users. Over the years, languages have become easier to work with, frameworks have become extensible for the creation of several products, and integrated development environments have made the software developer faster and more productive. But automation techniques, extensible testing frameworks, and easy-to-use test tools have lagged behind. While there are many good solutions for automated testing, there is plenty of room for innovation.<br /><br />I'm happy to announce that Google will be hosting our <span style="font-weight: bold;">2nd Annual</span> <b>Google Test Automation Conference (GTAC) </b>in our New York office on August 23 and 24, 2007. Our goal is to create a collegial atmosphere where participants can discuss challenges facing people on the cutting edge of test automation, evaluate solutions for meeting those challenges, and have a little <span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan">fun.</span></span></span></span></span><br /><br /><span style="font-weight: bold;">Call for Proposals</span><br />We're looking for speakers with exciting ideas and new approaches to test automation. If you have a subject you'd like to talk about, please send an email to <a href="mailto://gtac-submission@google.com/" title="gtac-submission@google.com">gtac-submission@google.com</a> and include a description of your 45 minute session in 500 words or less (no attachments, please). Deadline for submissions is <span style="font-weight: bold;">April 6</span>.<br /><br />We're planning to have 10 people give presentations at the conference, followed by adequate time for discussion. If you'd like to attend as a non-speaker, please check back to this <span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan">page</span></span></span></span></span></span></span> on May 7, when we'll post our slate of speakers and <span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan">information about how to attend.</span></span></span></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-7062716762289356754?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/2nd-annual-google-test-automation-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The difference between QA, QC, and Test Engineering</title>
		<link>https://googledata.org/google-testing/the-difference-between-qa-qc-and-test-engineering/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-difference-between-qa-qc-and-test-engineering</link>
		<comments>https://googledata.org/google-testing/the-difference-between-qa-qc-and-test-engineering/#comments</comments>
		<pubDate>Tue, 06 Mar 2007 11:22:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering Manager and Jay Han, Software Engineer in TestThe testing world has a lot of terms for the activity that we undertake every day. You'll often hear the words QA, QC, and Test Engineering used interchangeably. While...]]></description>
				<content:encoded><![CDATA[Posted by <span class="mgSecretSpan"><span id="mgSecretSpan_0" class="mgSecretSpan">Allen Hutchison,</span></span> Engineering Manager and <span class="mgSecretSpan"><span id="mgSecretSpan_1" class="mgSecretSpan">Jay Han,</span></span> Software Engineer in Test<br /><br />The testing world has a lot of terms for the activity that we undertake every day. You'll often hear the words QA, QC, and Test Engineering used interchangeably. While it is usually enough to get your point across with a developer, it is helpful to think about these terms and how they apply to the world of software testing. In the classic definition QC is short for Quality Control, a <a href="http://www.chesapeakebay.net/info/qa_glossary.cfm" title="process of verifying pre-defined requirements for quality">process of verifying predefined requirements for quality</a>. In the terms of an assembly-line this might involve pulling manufactured units off at the end of the process and verifying different parts of the assembly process. For software the QC function <span class="mgSecretSpan"><span class="mgSecretSpan"><span id="mgSecretSpan_2" class="mgSecretSpan">may</span></span></span> involve checking the software against a set of requirements and verifying that the software meets the predefined requirements.<br /><br />Quality Assurance, on the other hand, is much more about providing the continuous and consistent improvement and maintenance of process that enables the QC job. We use the QC process to verify a product does what we think it does, and we use the QA process to give us confidence that the product will meet the needs of customers. To that end the QA process can be considered a meta process that includes aspects of the QC process. It also goes beyond that to influence usability and design, to verify that functionality is not only correct, but useful.<br /><br />Here at Google, we tend to take a third approach that we call Test Engineering. We look at this as a bridge between the meta world of QA and the concrete world of QC. Our approach allows us to ensure that we get the opportunity to think about customers and their needs, while we still provide results that are needed on day to day engineering projects.<br /><br />Our teams certainly work with Software Engineers in QA and QC roles, but we also work with teams to ensure that a product is testable, that it is adequately unit tested, and that it can be automated even further in our teams. We often review design documents and ask for more test hooks in a project, and we implement <span class="mgSecretSpan">mock</span> objects and servers to help developers with their unit testing and to allow our teams to test components individually.<br /><br />We put an emphasis on building automated tests so that we can let people do what people are good at, and have computers do what computers are good at. That doesn't mean that we never do manual testing, but instead that we do the "right" amount of manual testing with more human-oriented focus (e.g. exploratory testing), and we try to ensure that we never do repetitive manual testing.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-558245430895923853?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/the-difference-between-qa-qc-and-test-engineering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testapalooza</title>
		<link>https://googledata.org/google-testing/testapalooza/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=testapalooza</link>
		<comments>https://googledata.org/google-testing/testapalooza/#comments</comments>
		<pubDate>Wed, 28 Feb 2007 07:40:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Mark Striebeck, Engineering Project ManagerYesterday we held a global internal test conference that we called "Testapalooza".The idea for Testapalooza came out of discussions about how to build a vibrant testing community here at Google. Many...]]></description>
				<content:encoded><![CDATA[Posted by <span class="mgSecretSpan"><span class="mgSecretSpan">Mark Striebeck,</span></span> <span class="red"><span style="font-size:-1;">Engineering Project Manager<br /><br /></span></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1q8NnJSkAgc/ReUyBxr4piI/AAAAAAAAAAM/LTVYRqCmwjA/s1600-h/testapalooza200.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_1q8NnJSkAgc/ReUyBxr4piI/AAAAAAAAAAM/LTVYRqCmwjA/s320/testapalooza200.jpg" alt="" id="BLOGGER_PHOTO_ID_5036486764382430754" border="0" /></a><span class="red"><span style="font-size:-1;">Yesterday we held a global internal test conference that we called "Testapalooza".</span></span><p><span class="red"><span style="font-size:-1;">The idea for Testapalooza came out of discussions about how to build a vibrant testing community here at Google. Many diverse groups work daily on quality-related activities, b</span></span><span class="red"><span style="font-size:-1;">ut each group uses <span class="red"><span style="font-size:-1;">different tools and has different ideas for testing an application, so it can be difficult to find out what others are doing.</span></span> So we decided to put on a conference!</span></span></p><p><span class="red"><span style="font-size:-1;">We asked engineers from Testing, Development, User Experience, and other groups to submit conference sessions: tool presentations, tutorials, workshops, panels, and experience reports. We hoped to get 30-40 submissions from which we could select about 20. In typical conference mode, the day before the submission deadline, we had 12 submissions. The day after the deadline, we had more <span class="mgSecretSpan">than</span> 130! It was very impressive and <span class="mgSecretSpan">fun</span> to read what our engineers submitted. We had some of our most involved engineers on the reviewing committee, and even they were surprised about the breadth and depth of the proposed sessions. It was extremely hard to pick just 41 of these proposals, but we couldn't fit any more into a one-day conference.</span></span></p><p><span class="red"><span style="font-size:-1;">We ran 11 tracks: Agile, Automation, Developer, Internationalization, Perf, QA, Release Engineering, Security, Reliability, SysOps, and User Experience. Registrations for the event filled up quickly and proved that there is indeed a great desire for more cross-specialty collaboration: software developers signed up to attend QA sessions, operations engineers learned more about unit testing, and QA engineers were everywhere.</span></span></p><p><span class="red"><span style="font-size:-1;">The conference</span></span> was a great success. We had sessions going the whole day, and people were discussing testing in the hallways. New ideas were generated and debated in every corner of the Googleplex. People appreciated the variety of topics from agile testing to micro-level unit testing to testing tools to usability testing. We also had a poster session, where internal groups could show other Googlers what they were doing, our equivalent of the conference expo.<br /></p><p>Of course, this wouldn't be a true Google event without some great food, and we were fortunate to have enthusiastic participation from our chefs: Taste-a-Palooza!<br /></p><p>We finished the day with an hour of lightning talks. At the end of the day everybody was exhausted, but with new and interesting ideas to think about.<span class="red"><span style="font-size:-1;"><br /></span></span></p><p><span class="red"><span style="font-size:-1;">All Testapalooza sessions were video recorded (many were videoconferenced to other offices). We want to publish as many of these videos as possible, and will review them over the coming weeks to publish sessions which did not contain any confidential information. Watch this space for more information on the videos.</span></span></p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-8571424298686995903?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/testapalooza/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Improving the accuracy of tests by weighting the results</title>
		<link>https://googledata.org/google-testing/improving-the-accuracy-of-tests-by-weighting-the-results/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=improving-the-accuracy-of-tests-by-weighting-the-results</link>
		<comments>https://googledata.org/google-testing/improving-the-accuracy-of-tests-by-weighting-the-results/#comments</comments>
		<pubDate>Tue, 13 Feb 2007 16:40:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering ManagerGooglers in our Test Engineering group often speak at, and write for, forums on testing all over the world. This week our own Julian Harty has published an interesting article titled "Improving the Accuracy...]]></description>
				<content:encoded><![CDATA[Posted by <span id="mgSecretSpan_0" class="mgSecretSpan">Allen Hutchison,</span> Engineering Manager<br /><br />Googlers in our Test Engineering group often speak at, and write for, forums on testing all over the world. This week our own <span id="mgSecretSpan_1" class="mgSecretSpan">Julian Harty</span> has published an interesting article titled "<a title="Improving the Accuracy of Tests by Weighing the Results" href="http://www.stickyminds.com/s.asp?F=S11983_COL_2">Improving the Accuracy of Tests by Weighing the Results</a>". In this piece, Julian says:<br /><blockquote><span class="Text"> In software as in life there are things we notice that help confirm whether something is satisfactory or unsatisfactory. Let's call these things that affect our judgment of the results "factors." Some factors provide stronger indications than others. When using these factors to rate results, we will assign higher scores (or "weightings") to the stronger indicators. By assigning higher weightings to the stronger indicators, we enable these to have a stronger influence on the overall outcome. </span><br /><span class="Text"></span></blockquote><span class="Text">You can read the rest of the article on </span><a title="Stickyminds.com" href="http://www.stickyminds.com/s.asp?F=S11983_COL_2">Stickyminds.com</a><span class="Text">.<br /></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-7848219883503380658?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/improving-the-accuracy-of-tests-by-weighting-the-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life&#8217;s too short to worry about slogans</title>
		<link>https://googledata.org/google-testing/lifes-too-short-to-worry-about-slogans/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lifes-too-short-to-worry-about-slogans</link>
		<comments>https://googledata.org/google-testing/lifes-too-short-to-worry-about-slogans/#comments</comments>
		<pubDate>Tue, 06 Feb 2007 11:55:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[   Posted by Harry Robinson, Software Engineer in Test    Several readers have commented that our current blog slogan, "Life is too short for manual testing," implies that we don't value manual and exploratory testing. In fact, we are big fans of explo...]]></description>
				<content:encoded><![CDATA[<p style="margin: 0in 0in 0pt;">   Posted by <span class="mgSecretSpan"><span class="mgSecretSpan">Harry Robinson,</span></span> Software Engineer in Test</p><p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;"><br /></span></span></p>    <p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;">Several readers have commented that our current <span class="mgSecretSpan"><span class="mgSecretSpan">blog <span class="mgSecretSpan">slogan,</span></span></span> "Life is too short for manual testing," implies that we don't value manual and exploratory testing. In fact, we are big fans of exploratory testing, and we intended the message to be liberating, not insulting.</span></span></p><p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;"><br /></span></span></p>    <p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;">Manual testing can find bugs quickly and with little overhead in the short run. But it can be expensive and exhausting in a long project. And manual testing is gated by how fast and long humans can work. Running millions of test sequences and combinations by hand would take longer than most people's lifetimes - life is literally too short for manual testing to reach all the bugs worth reaching.</span></span> <span style="font-size: 11pt;"><span style="font-size:85%;"><br /></span></span></p><p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;"><br /></span></span></p>   <p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;">We originally featured the "Life is too short ..." <span class="mgSecretSpan"><span class="mgSecretSpan"><span class="mgSecretSpan">slogan</span></span></span><span style="color:#000000;"> on <a href="http://images.google.com/images?q=life.is.too.short.for.manual.testing" >T-shirts</a> at the </span></span><span style="font-size:85%;color:#000000;">Google London Test Automation Conference</span><span style="font-size:85%;"><span style="color:#000000;">.</span> One theme of that conference was that it makes sense to get machines to do some of the heavy lifting in software testing, leaving human testers free to do the kinds of testing that people do well.<span style="font-size: 11pt;"><span style="font-size:85%;"><br /></span></span></span></span></p><p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;"><span style="font-size: 11pt;"><span style="font-size:85%;"><br /></span></span></span></span></p>   <p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;"><span style="font-size: 11pt;"><span style="font-size:85%;">If you'd like to find out more about computer-assisted testing, check out the <a href="http://video.google.com/videosearch?q=London.Test.Automation.Conference" >LTAC videos</a> as well as Cem Kaner's excellent STAR 2004 presentation on <a href="http://www.kaner.com/pdfs/HVAT_STAR.pdf" >High Volume Test Automation </a>. </span><span style="font-size:85%;">And if you can wait a bit, I will be doing a talk on "The Bionic Exploratory Tester" at </span><a href="http://www.associationforsoftwaretesting.org/conference/" ><span style="font-size:85%;color:#800080;">CAST 2007</span></a><span style="font-size:85%;"> in Bellevue, Washington, in July.</span></span></span></span></p><p style="margin: 0in 0in 0pt;"><br /><span style="font-size: 11pt;"><span style="font-size:85%;"><span style="font-size: 11pt;"></span></span></span></p><p style="margin: 0in 0in 0pt;"><span style="font-size: 11pt;"><span style="font-size:85%;"><span style="font-size: 11pt;"></span>I asked </span><a href="http://video.google.com/videoplay?docid=7894844001159492923" ><span style="font-size:85%;">Jon Bach</span></a><span style="font-size:85%;"> 's opinion on the <span class="mgSecretSpan">slogan,</span> and he suggested that what we are really trying to say is:</span></span> </p>  <p style="margin: 0in 0in 0pt;">   <span style="font-size: 11pt;"></span> </p> <blockquote>   <p style="margin-top: 0in; margin-right: 0in; margin-bottom: 0pt;">   <span style="font-size: 11pt;"><span style="font-size:85%;">Life's too short to only use an approach for testing that relies solely on a human's ability to execute a series of mouse clicks and keystrokes when the processing <span class="mgSecretSpan">power</span> that makes computers so useful can be leveraged to execute these tests, freeing testers from especially mundane or repetitive testing so that their brains can be used for higher order tests that computers can't do yet. </span></span>   </p>   <p style="margin-top: 0in; margin-right: 0in; margin-bottom: 0pt;">   <span style="font-size: 11pt;"></span>   </p> </blockquote>     <p style="margin: 0in 0in 0pt;">   <span style="font-size: 11pt;"><span style="font-size:85%;">I agree, but it would've been <a href="http://model.based.testing.googlepages.com/modified-slogan.jpg" ><span style="color:#0000cc;">a heck of a T-shirt</span></a>. :-)</span></span><br /></p><p style="margin: 0in 0in 0pt;"><br /></p> <p style="margin: 0in 0in 0pt;">   <span style="font-size: 11pt;"></span> </p> <p style="margin: 0in 0in 0pt;">   <span style="font-size: 11pt;"></span> </p> <p style="margin: 0in 0in 0pt;">   <span style="font-size: 11pt;"></span> </p> <p style="margin: 0in 0in 0pt;">   <span style="font-size: 11pt;"></span> </p> <p style="margin: 0in 0in 0pt;">   <span style="font-size:85%;"><b><span style="font-size: 11pt;">Future slogans</span></b><span style="font-size: 11pt;">: </span></span> </p> <p style="margin: 0in 0in 0pt;">   <span style="font-size: 11pt;"><span style="font-size:85%;">Testing is about being willing to try different approaches and entertain different perspectives, so a single slogan can't do it justice. We are planning to feature different slogans on a regular basis, and already have a few of our favorites lined up. If you've got a slogan to share, we'd love to hear it. Post it in the comments below or </span></span><a href="mailto:testing-blog@google.com" title="email us">email us</a><span style="font-size: 11pt;"><span style="font-size:85%;">.</span></span> </p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-9125039837439495720?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/lifes-too-short-to-worry-about-slogans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where are the developer-testers and tester-developers?</title>
		<link>https://googledata.org/google-testing/where-are-the-developer-testers-and-tester-developers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=where-are-the-developer-testers-and-tester-developers</link>
		<comments>https://googledata.org/google-testing/where-are-the-developer-testers-and-tester-developers/#comments</comments>
		<pubDate>Wed, 31 Jan 2007 18:21:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Harry Robinson, Software Engineer in Test        On Saturday, February 24, the Mountain View Googleplex will offer hospitality, support and free munchies for the first-ever "Developer-Tester/Tester-Developer Summit" -- a peer-driven gathering...]]></description>
				<content:encoded><![CDATA[<p dir="ltr" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;">Posted by Harry Robinson, Software Engineer in Test</span></p><p dir="ltr" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><br />  </span> </p>  <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt;">On Saturday, February 24, the <span class="" name="st">Mountain View Googleplex</span> will offer hospitality, support and free munchies for the first-ever "Developer-Tester/Tester<wbr>-Developer Summit" -- a peer-driven gathering of developer-testers and tester-developers from around the industry to share knowledge and code.</span></p><p dir="ltr" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><br /></span> </p>  <p dir="ltr" style="margin: 0in 0in 0pt;"> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt;">The Summit is being organized by <a href="http://www.testobsessed.com/" >Elisabeth Hendrickson </a>of Quality Tree Software and <a href="http://chrismcmahonsblog.blogspot.com/" >Chris McMahon</a> of Lyris Technologies, who describe the day </span><a title="this way" href="http://chrismcmahonsblog.blogspot.com/2007/01/announcing-bay-area-developer.html">this way</a><span style="font-size: 10pt;">:</span> </p> <blockquote> Our emphasis will be on good coding practices for testing, and good testing practices for automation. That might include topics like: test code and patterns; refactoring test code; creating abstract layers; programmatically analyzing/verifying large amounts of data; achieving repeatability with random tests; OO model-based tests; creating domain specific languages; writing test fixtures or harnesses; and/or automatically generating large amounts of test data. <span> <p dir="ltr" style="margin: 0in 0in 0pt 0.5in;">   <span style="font-size: 10pt; color: blue;"><span style="color:#800080;"><wbr><wbr></span></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt 0.5in;">   <span style="font-size: 10pt; color: blue;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt; color: black;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt; color: black;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt; color: black;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt; color: black;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt; color: black;"></span> </p> <p dir="ltr" style="margin: 0in 0in 0pt;">   <span style="font-size: 10pt; color: black;"></span> </p></span></blockquote> <span> <p dir="ltr" style="margin: 0in 0in 0pt;">   <a href="http://www.testobsessed.com/2007/01/19/where-are-the-developer-testerstester-developers/" > Check out </a><a href="http://www.testobsessed.com/2007/01/19/where-are-the-developer-testerstester-developers/" >this post at Test Obsessed</a> to <span><span style="font-size: 10pt; color: black;">learn more about the inspiration behind DT/TD and how you can participate. </span></span> </p></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-6023553256439827683?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/where-are-the-developer-testers-and-tester-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to the Google Testing Blog</title>
		<link>https://googledata.org/google-testing/welcome-to-the-google-testing-blog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=welcome-to-the-google-testing-blog</link>
		<comments>https://googledata.org/google-testing/welcome-to-the-google-testing-blog/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 16:27:00 +0000</pubDate>
		<dc:creator><![CDATA[Allen Hutchison]]></dc:creator>
				<category><![CDATA[Google Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Posted by Allen Hutchison, Engineering ManagerI work in the Test Engineering team, and have always been passionate about sharing my test experiences with others. Last year we organized the first Google Test Automation Conference, where about 150 people...]]></description>
				<content:encoded><![CDATA[Posted by <span id="mgSecretSpan_0" class="mgSecretSpan">Allen Hutchison,</span> Engineering Manager<br /><br />I work in the Test Engineering team, and have always been passionate about sharing my test experiences with others. Last year we organized the first <a title="Google London Test Automation Conference" href="http://video.google.com/videosearch?q=london+test+automation+conference">Google Test Automation Conference</a>, where about 150 people from the testing community got together at our London office for two days to talk about testing. One of the great bits of feedback that we heard was that people were very interested in our experiences with testing at Google. We decided to start this blog to share our experiences with the rest of the developer community, and so that we can learn about some of your smart solutions to the same sorts of problems.<br /><br />From unit testing to performance testing and beyond, the testing umbrella is vast, and hopefully this blog will be the start of a great conversation about these important issues. Whether you're already deeply immersed in the world of testing or just starting to get your feet wet, we hope that this blog will help spread our enthusiasm about testing and help you to write better code. We don't have all the answers, but we have gained a lot of experience and we are anxious to share it with you! So please keep reading, and do <a href="mailto:testing-blog@google.com">send us your comments</a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15045980-1978765419436995254?l=googletesting.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-testing/welcome-to-the-google-testing-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
