<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/&quot;CUUGQHc4cSp7ImA9Wx5TEUg.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107</id><updated>2010-07-26T07:07:01.939-07:00</updated><title>Testlabs.com</title><subtitle type="html">Sharing Software Testing and QA Tips, Techniques &amp;amp; Advice.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.testlabs.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>John Scoleri</name><uri>http://www.blogger.com/profile/01580124366457312611</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>237</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/testlabs/rtl" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="testlabs/rtl" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D04ERnw6fSp7ImA9WxFXGEQ.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-2347000073404821047</id><published>2010-05-19T08:00:00.002-07:00</published><updated>2010-05-26T10:45:07.215-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-26T10:45:07.215-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><title>Top 10 iPhone Groups On LinkedIn</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/StR9JI1JJ3I/AAAAAAAAAi0/AeSjrLmCrcc/s1600-h/linkedin-iphone.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/StR9JI1JJ3I/AAAAAAAAAi0/AeSjrLmCrcc/s400/linkedin-iphone.jpg" /&gt;&lt;/a&gt;Last month we posted an article on the &lt;a href="http://blog.testlabs.com/2009/09/top-10-software-testing-and-qa-groups.html"&gt;Top 10 Software Testing and QA Groups On LinkedIn&lt;/a&gt;.  Since I also belong to an iPhone group (&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=72283&amp;amp;trk=anet_ug_hm" target="_blank"&gt;iPhone Developers - www.iPhoneintouch.com&lt;/a&gt;) on LinkedIn, I thought I'd look to see if there were enough iPhone groups for a similar Top 10 list.  As it turns out, there are plenty of iPhone and mobile device groups on LinkedIn and definitely enough to round out a Top 10 list.&lt;br /&gt;
&lt;br /&gt;
Based on membership, the Top &lt;strike&gt;10&lt;/strike&gt; 11 iPhone groups on LinkedIn are: &lt;a name='more'&gt;&lt;/a&gt;&lt;ol&gt;&lt;li value="11"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=157071&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_3" target="_blank"&gt;iPhone Developers Connection&lt;/a&gt; (424 members):&lt;i&gt; This group intends to connect iPhone developers, designers, and entrepreneurs with each other. It intends to serve as platform for members to be able to share exclusive info, get peer reviews, get lead user feedback on apps, discuss projects etc.&lt;/i&gt;&lt;/li&gt;
&lt;li value="10"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=129535&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_2" target="_blank"&gt;iphone developers worldwide&lt;/a&gt; (463 members): &lt;i&gt;Worldwide group for professionals in iphone application development. Contact others, share ideas, business and job opportunities.&lt;/i&gt; &lt;/li&gt;
&lt;span id="fullpost"&gt;
&lt;li value="9"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=70011&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_2" target="_blank"&gt;Cocoa Touch - iPhone Technology Users Group&lt;/a&gt; (568 members): &lt;i&gt;Cocoa Touch Developers Network for software developers, managers and marketing professionals working with the Cocoa Touch platform for iPhone and iPod touch.&lt;/i&gt;&lt;/li&gt;
&lt;li value="8"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=127009&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_2" target="_blank"&gt;Mad4iPhone - The official iPhone users group&lt;/a&gt; (614 members): &lt;i&gt;Connect with the Mad4iPhone community today! Discover 3rd party solutions. This is a constantly growing, online, independent iPhone user group...a network of users and professionals. Solve iPhone problems. Get solutions. Give advice. Connect with other users and experts.&lt;/i&gt;&lt;/li&gt;
&lt;li value="7"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=73521&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_2" target="_blank"&gt;iPhone Dev Team&lt;/a&gt; (619 members): &lt;i&gt;For all iPhone developers.&lt;/i&gt;&lt;/li&gt;
&lt;li value="6"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=96032&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_2" target="_blank"&gt;Apple iPhone Enthusiasts&lt;/a&gt; (1,290 members): &lt;i&gt;This group is for iPhone enthusiasts. A place to share news, experiences, thoughts and cool things about this wonderful device from Apple.&lt;/i&gt;&lt;/li&gt;
&lt;li value="5"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=2013391&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255439389786_1" target="_blank"&gt;iPhone &amp;amp; Android Applications: Marketing &amp;amp; Outsourcing&lt;/a&gt; (1,327 members): &lt;i&gt;This group is dedicated to iPhone and Android Application Development Outsourcing and Marketing. Promote your iPhone Product application through App store. Also find professional Companies / Freelancers / Developers to outsource Android &amp;amp; iPhone games and application projects. Share information on technical, consulting and application issues. Discuss Unbiased iPhone App Reviews.&lt;/i&gt;&lt;/li&gt;
&lt;li value="4"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=121874&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_1" target="_blank"&gt;iPhone Developer's Group&lt;/a&gt; (1,801 members): &lt;i&gt;To help find iPhone developers to share information on iPhone technical, consulting and application issues.&lt;/i&gt;&lt;/li&gt;
&lt;li value="3"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=110586&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_1" target="_blank"&gt;Cocoa and Cocoa Touch Developers&lt;/a&gt; (2,076 members): &lt;i&gt;This group it to create a network and direct contact between Cocoa and Cocoa Touch developers. It is designed for iPhone, iPod Touch and Mac OS X developers.&lt;/i&gt;&lt;/li&gt;
&lt;li value="2"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=56468&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255440235767_1" target="_blank"&gt;iPhone Group&lt;/a&gt; (3,306 members): &lt;i&gt;iPhone Users Group, Fans, Lovers and customizers of iphone for everyday usage.&lt;/i&gt;&lt;/li&gt;
&lt;li value="1"&gt;&lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=72283&amp;amp;trk=anet_ug_hm&amp;amp;goback=%2Egdr_1255439389786_1" target="_blank"&gt;iPhone Developers - www.iPhoneintouch.com&lt;/a&gt; (7,754 members): &lt;i&gt;Community for iPhone Developers to share, learn, and network. The resource for connecting professionals with experience in developing, selling, marketing, managing, supporting and/or creating new businesses around the iPhone.&lt;/i&gt;&lt;/li&gt;
&lt;/span&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-2347000073404821047?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/2347000073404821047/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=2347000073404821047" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/2347000073404821047?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/2347000073404821047?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/10/top-10-iphone-groups-on-linkedin.html" title="Top 10 iPhone Groups On LinkedIn" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_aBrawRpJ2MY/StR9JI1JJ3I/AAAAAAAAAi0/AeSjrLmCrcc/s72-c/linkedin-iphone.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE8DRXo_fSp7ImA9WxFXE00.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-408922329196755215</id><published>2010-05-19T08:00:00.001-07:00</published><updated>2010-05-19T15:07:54.445-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T15:07:54.445-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><title>iPhone Development Basics - Memory Management Part 5</title><content type="html">This week is the final video from &lt;a href="http://www.linkedin.com/in/markjamesjohnson" target="_blank"&gt;Mark Johnson&lt;/a&gt; on iPhone memory management.  In case you missed any of the previous videos, here's a list of the articles we've posted with Mark's first 4 memory management videos:&lt;br /&gt;
&lt;blockquote&gt;&lt;a href="http://blog.testlabs.com/2009/10/iphone-development-basics-memory.html"&gt;iPhone Development Basics - Memory Management Part 1&lt;br /&gt;
&lt;/a&gt;&lt;a href="http://blog.testlabs.com/2009/10/iphone-development-basics-memory_12.html"&gt;iPhone Development Basics - Memory Management Part 2&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://blog.testlabs.com/2009/10/iphone-development-basics-memory_19.html"&gt;iPhone Development Basics - Memory Management Part 3&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://blog.testlabs.com/2009/10/iphone-development-basics-memory_26.html"&gt;iPhone Development Basics - Memory Management Part 4&lt;/a&gt;&lt;br /&gt;
&lt;/blockquote&gt;As in the previous articles, I've listed some suggested questions you might want to ask your development team in regards to memory management.  Today's video offers specific situations when an app might crash because of memory problems.  It would be particularly useful to ask your developers why this could happen - it may help them avoid these situations.&lt;br /&gt;
&lt;br /&gt;
Suggested questions for Part 5:&lt;br /&gt;
&lt;blockquote&gt;(4:21min) What does it mean to call dealloc to the super class?&lt;br /&gt;
(4:41min) What is a leaking object?&lt;br /&gt;
(5:29min) Supposedly there are two types of memory bugs - releasing an object that is already deleted and forgetting to send a release.  Why does the first one cause a crash and the second one just a memory leak?&lt;br /&gt;
(7:26min) What does it mean that there is only around 12MB of memory for an app before memory is increased?&lt;br /&gt;
&lt;/blockquote&gt;&lt;div align="center"&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BgyppGcwd_Q&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BgyppGcwd_Q&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-408922329196755215?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/408922329196755215/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=408922329196755215" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/408922329196755215?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/408922329196755215?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/11/iphone-development-basics-memory.html" title="iPhone Development Basics - Memory Management Part 5" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE8HRns8fip7ImA9WxFXE00.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-7394411916422335534</id><published>2010-05-19T08:00:00.000-07:00</published><updated>2010-05-19T15:07:17.576-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T15:07:17.576-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><title>Top 10 Tips For Testing iPhone Applications</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_aBrawRpJ2MY/SpXrEXmAXpI/AAAAAAAAAag/Jweyht4QXnk/s1600-h/top-10-tips-for-iphone-testing.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_aBrawRpJ2MY/SpXrEXmAXpI/AAAAAAAAAag/Jweyht4QXnk/s400/top-10-tips-for-iphone-testing.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;This article started out as a Top 5 list but quickly grew as we researched all the tips and techniques we use at &lt;a href="http://www.testlabs.com/" target="_blank"&gt;RTL&lt;/a&gt; for iPhone application testing. Most of these tips came from tracking down memory-related problems, which often resulted in defects that were very difficult to capture.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Accurately report available memory&lt;/b&gt;.&amp;nbsp; Many of the non-reproducible bugs you run into when testing iPhone apps are related to memory problems.&amp;nbsp; It's critical that you know and report available free memory before launching an application.&amp;nbsp; In all likelihood, the reproducibility of a crashing iPhone app bug is related to low memory conditions.&amp;nbsp; Consequently, a crashing defect may disappear when there's plenty of free memory.&amp;nbsp; In a previous article (&lt;a href="http://blog.testlabs.com/2009/08/using-memory-sweep-for-iphone-app.html" target="_blank"&gt;Using Memory Sweep for iPhone App Testing&lt;/a&gt;) we described a tool that can be used to determine free memory.&lt;span id="fullpost"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Provide 'crash reporter' logs with your defect reports&lt;/b&gt;.&amp;nbsp; Each time an iPhone application crashes, a &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;.crash&lt;/span&gt; file is created on your iPhone.&amp;nbsp; You can retrieve this file when you synch your iPhone with iTunes.&amp;nbsp; Here's a link that describes where those files are stored: &lt;a href="http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/" target="_blank"&gt;iPhone Crash Logs&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Spy on the app from the console&lt;/b&gt;.&amp;nbsp; iPhone apps will report application and system level warnings to the console.&amp;nbsp; You can view these warnings in real-time using Apple's &lt;a href="http://www.apple.com/support/iphone/enterprise/" target="_blank"&gt;iPhone Configuration Tool&lt;/a&gt;.&amp;nbsp; By knowing what's being reported when interacting with an app can help you refine the steps you need to reproduce tricky (and memory related) problems.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. Test under low memory conditions&lt;/b&gt;.&amp;nbsp; This relates to #1 above.&amp;nbsp; You'll be able to tease additional crashing bugs if you force free memory to a very low level, e.g. &amp;lt; 2MB, before proceeding with your tests.&amp;nbsp; One way to do this is to open several Safari windows before you start your testing.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. Screenshots, screenshots, screenshots&lt;/b&gt;. Nothing makes a UI bug stand out for a developer than when you send screenshots.&amp;nbsp; And with the iPhone's built-in screen capture, there's no excuse not to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6. Provide useful defect characterization information&lt;/b&gt;.&amp;nbsp; Developers always like to have help in their debugging process, and useful defect characterization helps them narrow down the root cause of a bug.&amp;nbsp; If a crash happens under low memory conditions (see #1 and #4 above), then try it under conditions where there's lots of memory available, e.g. &amp;gt;40MB.&amp;nbsp; If a problem occurs under iPhone OS 2.2.x, then try it under 3.x.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7. Create connectivity problems&lt;/b&gt;. If you're testing an iPhone app that depends on internet connectivity, then test for degraded or unavailable connectivity. It's easy to make connectivity unavailable by simply turning on Airplane Mode.&amp;nbsp; To degrade connectivity, especially on Edge or 3G, employ some sort of metallic "shield" on top of your iPhone.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8. Boundary test data input&lt;/b&gt;. Wherever an iPhone app asks for text input, you have an opportunity to find a bug.&amp;nbsp; My favorite technique for this is to copy a huge amount of text, then paste it into each text field.&amp;nbsp; You'd be surprised at how this trips up some apps.&lt;br /&gt;
&lt;br /&gt;
Additionally, we’ve been finding that application errors are generating when entering the following characters into text fields: !@#$%^&amp;*()_. (Note: Holding down letters (A, E, I, O, etc) or symbols ($, !, &amp;, etc) on the onscreen keyboard generates a keyboard popup that includes localized and 2-byte characters. These should also be entered into text fields.)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9. Gather up UDIDs (unique device identifiers) early&lt;/b&gt;.&amp;nbsp; This is a simple logistics task but seems to be one that becomes critical as the first build approaches.&amp;nbsp; And it's a hassle for the dev team to add new UDIDs and create new provisioning files as each new person wants to install an application during development.&amp;nbsp; Get the UDIDs of all known devices that will be used during testing and set a cut-off date for the addition of any new devices.&amp;nbsp; Check out &lt;a href="http://www.tuaw.com/2008/08/08/iphone-101-find-udid-with-a-single-click/"  target="_blank"&gt;Find UDID with a single click&lt;/a&gt;. You can also connect all your iPhones and iPods touches to your computer and use the iPhone Configuration Tool to collect UDIDs.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;10. Employ background applications&lt;/b&gt;.&amp;nbsp; But the iPhone can only have one application running at a time, right? That's true for those of us that develop and test applications, but not for Apple.&amp;nbsp; Applications that continue running in the background on the iPhone are Safari, iPod and Mail.&amp;nbsp; And what about reminders and push notifications?&amp;nbsp; These "interrupters" can affect the behavior of an application under test.&lt;br /&gt;
&lt;br /&gt;
Also, since iPhones and iPod touches are devices that users buy primarily to use as a phone or a music player, it’s important to test that an app can gracefully handle situations where the user receives a call or plays music from their music library (iTunes) while the app is running. We’ve seen issues here where apps aren’t smoothly multi-functioning in these areas.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-7394411916422335534?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/7394411916422335534/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=7394411916422335534" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/7394411916422335534?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/7394411916422335534?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/08/top-10-tips-for-testing-iphone.html" title="Top 10 Tips For Testing iPhone Applications" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_aBrawRpJ2MY/SpXrEXmAXpI/AAAAAAAAAag/Jweyht4QXnk/s72-c/top-10-tips-for-iphone-testing.jpg" height="72" width="72" /><thr:total>4</thr:total></entry><entry gd:etag="W/&quot;CkEFRX05cCp7ImA9WxBaEkU.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-6344624477373226572</id><published>2010-03-22T08:00:00.000-07:00</published><updated>2010-03-22T10:56:54.328-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-22T10:56:54.328-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="automated testing" /><title>Automated Web Services Testing - An Interview With Matt Krapivner of SmartPilot Software</title><content type="html">&lt;a href="http://1.bp.blogspot.com/_aBrawRpJ2MY/SvnVvmpv1qI/AAAAAAAAAlc/aTm7iTiWKK4/s1600-h/FitNesseLogoMedium.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_aBrawRpJ2MY/SvnVvmpv1qI/AAAAAAAAAlc/aTm7iTiWKK4/s200/FitNesseLogoMedium.jpg" /&gt;&lt;/a&gt;As more and more companies face decisions about automating their testing, it's important to understand some of the pitfalls of automation and explore methods that avoid those pitfalls.  Likewise, we need to find mature open source testing tools that help bend the test automation curve in the right direction.  In previous articles, we've written about model-based and keyword-driven testing, each promising to reduce test automation script maintenance costs while increasing effectiveness (coverage).  As I've searched for answers in this areas, I've sought examples of how others have approached test automation as a way of benchmarking good ideas.  Recently, I've had the good fortune to meet a practitioner who has pursued new and more effective approaches to test automation.  His name is &lt;a href="http://bit.ly/2JHPgI" target="_blank"&gt;Matt Krapivner&lt;/a&gt; and his consultancy business has provided a very impressive test automation framework to a local Web 2.0 company.&lt;br /&gt;
&lt;br /&gt;
We interviewed Matt recently and talked to him about the new approach he's using with his current client and how it's a step up from traditional test automation practices. &lt;span id="fullpost"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Q:  Matt, you started out with a Computer Science academic background and since have been working in the area of Quality Engineering.  What got you interested in that area versus software development and programming?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Ray, my first quality engineering engagement was actually as a developer on a quality engineering team.  I believe some companies call this Software Engineer in Testing, but in a nutshell the team was developing testing software.  I started as an individual contributor, but ended up managing the team of 7 engineers locally plus another 7 offshore.  I saw QE as an oft-undervalued field with an opportunity to make a great impact on the perception of the company’s products in the marketplace.  It is also quite fascinating because at different times you have to wear multiple hats, such as a developer at one time, a tough customer advocate at another, sometimes a product marketing/management hat, and so on. The opportunities for improving the product and making an impact are there, it’s just that many companies often overlook QE and do not get the deserved output from their teams, which in turn impacts their perception of QE overall.&lt;br /&gt;
&lt;br /&gt;
There are two different approaches to testing: Quality Assurance and Quality Engineering.  In my opinion, those are very different.  One will give you an assessment of the state of the system AFTER that system is put together.  The other will help you make sure that your system is ENGINEERED with the highest-quality possible.  Let me give your readers an analogy.  Say you are building a retaining wall and 2 years after it’s built the wall comes down in a mudslide.  Using the traditional QA approach, you would state “the wall fell down because the pressure was too large”.  If I was using QE methodologies, I would hire an engineer to build the wall according to the building code to begin with, to make sure that mudslides will not affect it.  That’s a fundamental difference, because the further you get in the product lifecycle, the more expensive it will get to fix the mistakes.  In my retaining wall example (which I actually just finished building in the backyard), I made a mistake of not putting in the drainage behind it.  It cost me more than the initial total construction cost to make an opening in the wall, add the pipe, and close the wall.  If I did what was necessary from the beginning, it would only add 5-10% to the construction cost.  Instead, by trying to save a few dollars and rushing the construction crew I ended up spending double the amount allocated initially.  The same can be said about software development – the longer you wait to find and address an issue, the more you will end up paying to correct the mistakes.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Q:  Can you tell us about your first test automation project and what you learned from it?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
My first automation engagement was at Palmsource, where I managed a team which was responsible for design and development of an automated test harness for the Palm OS API.  In a way, our team played a role of 3rd-party developers early on in the software development lifecyle (SDLC).  This was quite fascinating as we got to develop software using a cutting-edge OS before everyone else did.  We also received a lot of visibility in the company since as “early adopters” we were able to make informed suggestions for features, and avert a few blunders along the way before they hit the market.  As we drove internal adoption, our team started receiving praises from other groups which used our automated tests to validate their changes, small and large.  Very quickly, the automated tests were used as a means of certifying customers’ devices for deployment field.  This meant that no device could ship with Palm OS or bear the Palm OS logo until it successfully passed our automated tests.&lt;br /&gt;
&lt;br /&gt;
The interesting observation I have made since then in most companies I have worked with, is that very often the testing software ends up being more complex than the actual application under test.  There are multiple reasons for that, from the need to cover and verify various edge cases, to just being able to confirm the results.  In some cases, especially when you have a hardware/software interaction, this is not trivial at all.  One also has to learn where to draw the “line of trust”. Let me explain.  Assume that you are testing a PDA application and you need to verify that certain text appeared in a certain position on the screen.  While it sounds trivial, verifying the correct result often is anything but.  There are typically several solutions.  We can call an internal API to query it for the text at certain coordinates, or a text in a specific field.  But can you “trust” this API?  What if it doesn’t exist to begin with?  What if the API itself is buggy?  In that case, your test will be meaningless.  Another option is to ask your developers to give you a custom “hook” into the display buffer, but most likely this request will not be on top of their priority list.  Also, there is a chance it may introduce another point of failure.  Yet another option is using a software simulator, if one exists.  We actually had to write our own software simulator for testing purposes at one of the companies where I ran the QE group.  The point is that there are often many ways of verifying the information in your application under test, and the “easiest” choice may not necessarily be the right one.  The challenge then becomes to persuade upper management to invest time and money into building a test system, where an immediate ROI may not necessarily be realized, but rather will result in intangible benefits such as improved product quality, customer satisfaction, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Q:  I understand that you have recently provided test automation development services for several local companies.  What tools have you used and what was your assessment of the long term maintenance of the frameworks and test scripts you've delivered?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It’s true that there are many test automation systems, and there is no “perfect choice” that would work anywhere.  Over the course of the last few years, I have designed a house-grown test automation system; used a hybrid house-grown and commercial tool (Automated QA’s TestComplete); used a commercial tool in combination with open source ones (Squish and Selenium); and finally developed what I believe to be the future of automated testing – a system based on FitNesse.&lt;br /&gt;
&lt;br /&gt;
I will not dive deeply into the benefits and challenges of using commercial tools, there are countless articles and books written on the topic.   However, I would like to mention a few points from my experience as a manager/director of QE teams, and as a consultant working on implementing these systems.  When selecting an automation tool, one of the main things a company should look at is whether or not a specific tool will work with their application.  If it will not, all other benefits become a moot point.  Another significant factor is price.  In some cases, it will run into tens of thousands of dollars for the tool alone.  As a QE director, I had to restrain my teams quite often because the price of the tool was just prohibitive given our budget.  Most often though, there is no technical reason to select those tools anyway as there often is a less-expensive alternative.  With any commercial tool though, a person responsible for test automation will have to know at least a scripting language, such as Perl or Python.  Ideally, that person will be able to program in a higher-level language as well, such as C++ or Java.  As a result, your automation system will most likely be built fairly well.  The major limiting factor to the tool’s adoption then becomes its scalability, or how quickly can new tests be developed to ensure adequate test coverage.  It is, of course, less of a factor for large companies with deep pockets as these companies can most likely just organically grow the test automation team.  For startups and smaller companies though, this becomes a major hurdle and automation efforts sometimes may not succeed, or may not provide the desired ROI.&lt;br /&gt;
&lt;br /&gt;
At my last consulting engagement, my client approached me with a similar problem and suggested that I implement a system based on &lt;a href="http://fitnesse.org/" target="_blank"&gt;FitNesse&lt;/a&gt;.  FitNesse is a Wiki-based system where tests are written in natural English language in the form of a Wiki table.  Underneath, there is a “fixture” (in Fit-speak) which does the “translation” between English and the underlying tool.  That’s right, we can still plug in any test automation tool with FitNesse (well, as long as it exposes some API).  With this system, the automated tests now can be written by anybody in the company, including manual testers, product management folks, even a VP of Engineering.  It is also easy to answer questions such as “what’s our testing coverage for feature XYZ”, “why did the latest ABC test failed”, and so on.  Granted, there still needs to be someone to integrate FitNesse with a testing tool of choice, but this approach provides companies with the much-desired scalability of their testing efforts and a tool with no price tag and ample documentation.&lt;br /&gt;
&lt;br /&gt;
I have integrated FitNesse with Selenium Grid for my client’s web application, and with CruiseControl for continuous build integration.  We can now simultaneously test over 30 various targets (different OS/browser combinations), and get results within 15-20 minutes for a test run that spans the entire product in 10 languages.  It is easy for anyone now to add to the automated test collection.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Q:  For those of us that have tried to bring more automation to testing, we've each run into the problem of "brittle" automated test cases, as well as the need to generate more test cases early on in the development cycle.  How has FitNesse solved this problem?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
FitNesse is actually a great tool for this, since it allows non-programmers to write test cases which are immediately automated by definition.  Most likely, the product managers in this case will not even have to change their logic since they will write the test cases in the form of a “use case”, using more or less the same English language to define a feature.  So when the feature is defined, it is put into FItNesse.  When the feature is implemented, the test case can be executed to provide immediate response to the team.  This becomes even less labor-intensive when a continuous build integration system is utilized.  In fact, it is so easy for developers to utilize it to achieve the ever-elusive target of “test-driven development”, that there are no reasons for them NOT to use it…&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Q: Given what you've said about FitNesse, particularly the ability for non-programmers to write test cases using a Wiki, how easy is it for someone to produce a test case?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As easy as it is for someone to edit a Wiki page.  The tests literally look like:&lt;br /&gt;
&lt;br /&gt;
|user clicks button|Submit|&lt;br /&gt;
|page reloads in less than|30|seconds|&lt;br /&gt;
|page contains text|Hi Ray|&lt;br /&gt;
…&lt;br /&gt;
If a person can write a manual test case, they can write a test case in Wiki.  If a person can write a use case in Word, they can write a test case in Wiki.  You get the idea.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Q: What would you say is the most compelling reason to adopt FitNesse and what challenges are there for organizations to take this path?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The most compelling reason for companies to adopt FitNesse is its ability to provide so much valuable output with so little effort.  Granted, it is a relatively new tool and sometimes you will stumble but in my experience the hurdles one will face with FitNesse are not any greater than with any other commercial test automation tool.  In fact, the major challenge will likely be organizational in nature as it will require a slight change in the way people operate and contribute to the testing efforts.  A FitNesse endeavor is much more likely to be successful if folks from multiple departments contribute. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Q:  How extensible is FitNesse, i.e. what if my web service uses a lot of AJAX or components that don't work well with Selenium?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As long as Selenium can handle it, so can FitNesse.  Remember that FitNesse operates with “fixtures”, which provide translation between English (the language of FitNesse) and Selenium API.  &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_aBrawRpJ2MY/Svnbys71-LI/AAAAAAAAAlk/ELcwPlTnHtk/s1600-h/fitnesse_architecture.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_aBrawRpJ2MY/Svnbys71-LI/AAAAAAAAAlk/ELcwPlTnHtk/s400/fitnesse_architecture.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
I chose to use Java API for Selenium, because FitNesse is written in Java and it is technically easier to use Java for the fixture.  I was comfortable with Java, so I chose not to change something I did not have to.  Any language can be used though, and if your automation tool of choice can only speak Python, for example, then you simply write your fixture in Python.&lt;br /&gt;
&lt;br /&gt;
AJAX is an interesting case though, and the limitations one will face will have nothing to do with FitNesse, but rather with Selenium’s ability to handle AJAX.  In my case, we handle AJAX by a combination of standard Selenium APIs, custom Selenium APIs that I wrote specifically for my client’s application, and custom hooks that developers have provided on the server-side.  However, all of this is hidden from the tester since their tests are written in plain English.  That’s the beauty of FitNesse – it really hides implementation details from a tester who is only concerned with, for example, whether or not a text appeared in the right spot on the page.  We provide a custom action for the testers, and they simply do not and should not care how we implement this action behind the scenes.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Q: What would you recommend to those that want to adopt FitNesse for their test automation projects and where can they go for help in getting a FitNesse framework up and running at their company?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
First of all, find a test automation tool that you would use without FitNesse.  Then, find out if this tool has an API that you can call from FitNesse.  Some tools do, and some do not.  Some tool companies will be willing to open up their API for you, and some may even be willing to write a sample fixture for you that you would be able to extend.  Some may prohibit you from calling their tools from anything besides their own proprietary interface.  When in doubt, just ask the tool vendor.&lt;br /&gt;
&lt;br /&gt;
As for FitNesse, there is plenty of easily-digestible documentation that comes along with the distribution of FitNesse.  If you search online, you may even find ready-to-use “fixtures” for the most popular open source automation tools, such as Selenium for example.  Those fixtures will give you a very good start.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;You can reach Matt Krapivner by email at &lt;a href="mailto:matt@smartpilotsoft.com"&gt;matt@smartpilotsoft.com&lt;/a&gt;.&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-6344624477373226572?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/6344624477373226572/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=6344624477373226572" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/6344624477373226572?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/6344624477373226572?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/11/automated-web-services-testing.html" title="Automated Web Services Testing - An Interview With Matt Krapivner of SmartPilot Software" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_aBrawRpJ2MY/SvnVvmpv1qI/AAAAAAAAAlc/aTm7iTiWKK4/s72-c/FitNesseLogoMedium.jpg" height="72" width="72" /><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;DkMHQHYyeip7ImA9WxBQE0g.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-2328379248487387497</id><published>2010-01-12T08:00:00.003-08:00</published><updated>2010-01-12T19:47:11.892-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-12T19:47:11.892-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="compatibility" /><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><title>Google Chrome Not Ready For Prime Time Compatibility Testing Yet (Still)</title><content type="html">&lt;a href="http://www.amazon.com/Web-Geeks-Guide-Google-Chrome/dp/0789739739?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img alt="Web Geek's Guide to Google Chrome" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=0789739739&amp;amp;tag=testlabscom-20" /&gt;&lt;/a&gt;&lt;b&gt;This Just In: &lt;/b&gt; CNET reports that Chrome has overtaken Safari in the latest usage stats (&lt;a href="http://news.cnet.com/8301-30685_3-10415824-264.html?tag=newsEditorsPicksArea.0" target="_blank"&gt;Chrome edges out Safari in browser usage&lt;/a&gt;). What exactly does this mean to developers and testers? &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;I think it's an interesting statistic but not significant (yet).&amp;nbsp; Why? For one thing, Chrome doesn't ship as a standard browser on any system (yet).&amp;nbsp; And until it does, a browser like Safari, which is the browser of choice for each new Mac user (until their friends somehow con them into using FireFox), will remain one of the two browsers (the other being Firefox) you must test on for the Mac OS.&amp;nbsp; For a second reason, read the article below we posted last week.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color: #999999; font-size: x-small;"&gt;December 9, 2009 8:00 AM PST&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Even though Chrome has gained a 3.93% &lt;a href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0" target="_blank"&gt;market share&lt;/a&gt; (as compared to Safari at 4.36%, IE at 63.62% and Firefox at 24.72%), it's not ready to be added to compatibility testing matrices yet. There are two reasons for this (besides still being in beta):&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;It doesn't run on Mac OS 10.4.x (only on Leopard)&lt;/li&gt;
&lt;li&gt;Features are not equally supported on all platforms, in particular there's a lack of support for extensions on the Mac&lt;/li&gt;
&lt;/ul&gt;So what's the big deal here?  Well for starters, by not supporting the next-to-the-next-to-the-last version of Mac OS X (as opposed to support for the 7+ year old Windows XP) , the adoption by Mac users will be limited to those that don't like Safari and Firefox on their Leopard machines, which might as well be no adoption at all.   &lt;br /&gt;
&lt;br /&gt;
Furthermore, because extensions are not supported on the Mac (and Linux) versions of Chrome, testing on Chrome is only worthwhile on Windows.  That makes Chrome a single-platform browser bet when it comes to compatibility testing.&lt;br /&gt;
&lt;br /&gt;
With such limited prospects for use on the Mac platform, it's not worth QA testing Chrome on the Mac, and making a case for testing it on Windows alone will be hard to make given the bigger numbers for IE and Firefox.  &lt;br /&gt;
&lt;br /&gt;
Chrome doesn't warrant a line on the browser compatibility testing matrix yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-2328379248487387497?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/2328379248487387497/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=2328379248487387497" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/2328379248487387497?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/2328379248487387497?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/google-chrome-not-ready-for-prime-time_09.html" title="Google Chrome Not Ready For Prime Time Compatibility Testing Yet (Still)" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkMERHk8eSp7ImA9WxBQE0g.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-8110506711894846473</id><published>2010-01-12T08:00:00.002-08:00</published><updated>2010-01-12T19:46:45.771-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-12T19:46:45.771-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="management" /><title>Understanding The Differences Between Testers And Developers</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/Syo6oLRZ6AI/AAAAAAAAAo8/3S2IP-3DVjU/s1600-h/tester-developer-differences.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="159" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/Syo6oLRZ6AI/AAAAAAAAAo8/3S2IP-3DVjU/s200/tester-developer-differences.jpg" width="200" /&gt;&lt;/a&gt;Are testers from Venus and developers from Mars? In an &lt;a href="http://www.acm.org/" target="_blank"&gt;ACM&lt;/a&gt; article titled &lt;i&gt;An Exploratory Research Study on Interpersonal Conflict between Developers and Testers in Software Development&lt;/i&gt;, the authors look at the difference between testers and developers. &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;As stated in the article, the goal is to better understand the differences between thse two actors in order to produce better software. The authors' call to action is based on two reasons:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Because of a trend toward more &lt;a href="http://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;agile software development&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0321482751" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;, testers are in contact with developers earlier and more often&lt;/li&gt;
&lt;li&gt;Conflict can have negative consequences not only in relation to the end product but also in relation to the job satisfaction of both developers and tester &lt;/li&gt;
&lt;/ol&gt;This paper points to studies that clearly separate testers from developers in terms of their goals: &lt;b&gt;developers&lt;/b&gt; seek to maximize &lt;b&gt;efficiency&lt;/b&gt; while &lt;b&gt;testers&lt;/b&gt; are all about &lt;b&gt;effectiveness&lt;/b&gt;. Developers seek to do get their work done with the least effort while testers seek the highest quality.&amp;nbsp; Those are clearly different goals that can easily create conflict if each group sub-optimizes. Unless upper management reconciles these different goals and helps align them to reach the broader objective of the company, failure may ensue.&lt;br /&gt;
&lt;br /&gt;
In addition to understanding the goals of each actor, managers need to understand and work with the differences between testers in terms of what makes them good at what they do.&amp;nbsp; The authors point to a list of the twelve traits that make good testers and developers (Pettichord&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0471081124" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;, 2000):&lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;&lt;iframe frameborder="0" height="270" src="http://spreadsheets.google.com/pub?key=t-HQ6mHm7vixrLRXBxrJr5A&amp;amp;single=true&amp;amp;gid=0&amp;amp;range=A1%3AB13&amp;amp;output=html&amp;amp;widget=false" width="350"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
If these are truly the traits that make for good testers and developers, then you can see why those bug review meetings tend to be a little tense at times, especially when one group or the other has to justify fixing or not fixing a bug.&amp;nbsp; Unless management understands the differences between the respective goals and attributes of developers and testers, and fails to effectively manage the natural conflict, the risk of failing will always be high.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.amazon.com/Lessons-Learned-Software-Testing-Kaner/dp/0471081124?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img alt="Lessons Learned in Software Testing" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=0471081124&amp;amp;tag=testlabscom-20" /&gt;&lt;/a&gt;So how do you effectively manage the conflict? I suggest taking the list above and adding another column with notes on how to address the conflict when it arises.&amp;nbsp; For example, what do you say when a tester points out a bug (what's observed) and the developer say it's a feature (how it's designed)? Do you blow it off and agree with the developer or do you take the issue on as something that needs to be resolved either as an issue with the design or the documentation? By thinking through examples for each conflicting pair of attributes, and writing down examples and responses, you'll be able to better manage the conflict.&lt;br /&gt;
&lt;br /&gt;
You can read the entire article &lt;a href="https://umdrive.memphis.edu/g-mis/www/memphis/step/documents/papers/ZhangX.step-07.pdf" target="_blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-8110506711894846473?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/8110506711894846473/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=8110506711894846473" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/8110506711894846473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/8110506711894846473?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/understanding-differences-between.html" title="Understanding The Differences Between Testers And Developers" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_aBrawRpJ2MY/Syo6oLRZ6AI/AAAAAAAAAo8/3S2IP-3DVjU/s72-c/tester-developer-differences.jpg" height="72" width="72" /><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;DkQCRXw8fyp7ImA9WxBQE0g.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-77580048072503853</id><published>2010-01-12T08:00:00.001-08:00</published><updated>2010-01-12T19:46:04.277-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-12T19:46:04.277-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="test theory" /><title>How Much Is Your Offshore/Outsource Testing Defect Find/Fix Cycle Costing You?</title><content type="html">&lt;b&gt;&lt;a href="http://astore.amazon.com/testlabscom-20/detail/0321223918" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5316768825562406114" src="http://2.bp.blogspot.com/_aBrawRpJ2MY/Scj1E9CEnOI/AAAAAAAAAEA/5E4a0g80L8M/s200/find-the-bug.jpg" style="float: left; margin: 0pt 10px 10px 0pt;" /&gt;&lt;/a&gt;&lt;i&gt;Update&lt;/i&gt;&lt;/b&gt;&lt;i&gt;:&amp;nbsp; Linda G. Hayes, who is the CTO of Worksoft, Inc., and the founder of three software companies including AutoTester, the first PC-based test automation tool, wrote &lt;a href="http://www.stickyminds.com/s.asp?F=S11528_COL_2"&gt;an interesting article on this subject&lt;/a&gt; at &lt;a href="http://stickyminds.com/"&gt;StickyMinds.com&lt;/a&gt;.&amp;nbsp; &lt;/i&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;i&gt;She wrote about the "promise of the same value proposition" and outlined some key factors for success or failure with offshoring.&amp;nbsp; One of the more interesting, and relevant comments (at least as it pertains to this article), was on "Time to Value".&amp;nbsp; Linda said:&lt;/i&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;i&gt;Offshore resources are never a quick fix, especially for testing. A 2005 report from AMR Research found that it took between fourteen months and three years before the offshore testers had sufficient familiarity to be effective in finding the root cause of problems. Others have found that the lack of domain knowledge resulted in spurious defects being reported that actually increased development overhead due to review and response times. In fact, one organization identified that as many as 33 percent of reported issues were traceable to tester error.&lt;/i&gt;&lt;br /&gt;
&lt;/blockquote&gt;There are many reasons to involve external testing services.  Sometimes companies need the expertise of an interoperability lab, other times they are attempting to reduce testing staff costs.  Whatever the reason, one cost that should be calculated based on a known process is the Find/Fix Cycle Cost for defects. It's important to evaluate these costs not just based on the hourly rate of the offshore/outsource testing service provider, but on the total cost involved in finding and fixing defects.  Ultimately, this cost involves all QA and developer resource costs. &lt;br /&gt;
&lt;br /&gt;
The find/fix cycle represents the time required to find and fix one defect and you should know what that cost is to your company.  In order to calculate this cost, you need to collect information along the way.  I found a nice source for this calculation, as well as a number of other interesting testing topics, at Software Quality Consulting, Inc. &lt;a href="http://www.swqual.com/newsletter/vol2/no11/vol2no11.html"&gt;&lt;span style="font-style: italic;"&gt;Food For Thought&lt;/span&gt;&lt;/a&gt;.  Steve Rakitin does a very nice job in describing this cost in the table below.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" border="1" bordercolor="#000000" cellpadding="5" cellspacing="0"&gt;&lt;tbody&gt;
&lt;tr bgcolor="#ffff00"&gt;&lt;td colspan="2" valign="top" width="413"&gt;&lt;div align="center"&gt;&lt;b&gt; Estimate the find/fix cycle Cost &lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;T1 is time required to run a test that finds a potential defect &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;T1 &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;T2 is time required to report a defect &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;T2 &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;T3 is time required to determine that this is a defect &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;T3 &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;T4 is time required to determine if the defect should be fixed &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;T4 &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;T5 is time required to fix the defect &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;T5 &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;T6 is time required to include fix in a build &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;T6 &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;T7 is time required to run regression tests to determine if defect is really fixed and close out defect report &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;T7 &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;Total time required… &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;TT = (T1 + … + T7) &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;LC represents fully loaded labor cost ($/hour) for engineering time (development and QA) &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;LC &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;C represents cost to find and fix&lt;b&gt; one &lt;/b&gt;defect &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;&lt;b&gt; C = LC * TT &lt;/b&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign="top" width="290"&gt;TC represents the total cost to find and fix the defects found and fixed in the last release (F1) &lt;br /&gt;
&lt;/td&gt;&lt;td valign="top" width="124"&gt;&lt;b&gt; TC = C * F1&lt;/b&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
As you can see from this table, the "round trip" cost of a defect incorporates 7 different time elements that add up pretty quickly, especially if you have any inherent time delays such as dealing with remote test teams, external test staff turnovers, re-requests for defect characterization information, etc.  And the final cost is not just that of the test team, but also incorporates the dev team costs.&lt;br /&gt;
&lt;br /&gt;
My guess would be that T1 and T5 would be the largest time elements, while times T3 and T4, which require more verbal communication, could very well match T1 and T5, depending on the teams involved.  It would be interesting, and most likely revealing, to measure these times and factor them into the costs associated with each project's QA and dev team composition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-77580048072503853?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/77580048072503853/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=77580048072503853" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/77580048072503853?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/77580048072503853?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/03/how-much-is-your-offshoreoutsource.html" title="How Much Is Your Offshore/Outsource Testing Defect Find/Fix Cycle Costing You?" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_aBrawRpJ2MY/Scj1E9CEnOI/AAAAAAAAAEA/5E4a0g80L8M/s72-c/find-the-bug.jpg" height="72" width="72" /><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;CUQCQ3s8cCp7ImA9WxBQE00.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-1313658589794330362</id><published>2010-01-12T08:00:00.000-08:00</published><updated>2010-01-12T05:36:02.578-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-12T05:36:02.578-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="USB 3.0" /><title>USB 3.0 Adapters Available Now</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/SwyvqLPbGjI/AAAAAAAAAoI/_l0zqgzCTFw/s1600/expcard_1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="147" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/SwyvqLPbGjI/AAAAAAAAAoI/_l0zqgzCTFw/s200/expcard_1.jpg" width="200" /&gt;&lt;/a&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;b&gt;Update&lt;/b&gt;: USB 3.0 finally arrives on consumber laptops.&amp;nbsp; &lt;a href="http://news.cnet.com/8301-13924_3-10428132-64.html"&gt;CES: USB 3.0 arrives in HP laptop: Yes, it's fast.&lt;/a&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="color: #666666;"&gt;&lt;span style="font-size: x-small;"&gt;November 25, 2009 8:00AM PDT&lt;/span&gt;&lt;/div&gt;We may not have readily available computer systems with USB 3.0 yet, but there are USB 3.0 host cards and cables available now for compatibility testing of USB 3.0 supported devices. Several motherboard manufacturers &lt;a href="http://www.techspot.com/news/37082-Gigabyte-adds-USB-30-6Gbps-SATA-to-AMD-boards.html" target="_blank"&gt;have announced offerings with USB 3.0&lt;/a&gt;, but until we see them in mainstream computer systems, it will be hard to justify their use for testing USB 3.0 supported devices.&amp;nbsp; Third party USB 3.0 adapters, on the other hand, are available to consumers and are a perfectly reasonable addition for your compatibility test matrices.&lt;br /&gt;
&lt;br /&gt;
The adapters and cables listed below are available for purchase now:&lt;br /&gt;
&lt;blockquote&gt;&lt;a href="http://www.usbgear.com/U3-PCE.html" target="_blank"&gt;USB 3.0 Super High Speed 2-Port PCI Express Card for Windows 7 and Vista&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://usb.brando.com/expresscard-usb-3-0-2-ports-hub_p01296c046d15.html"&gt;ExpressCard USB 3.0 2-Ports Hub&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.pcconnection.com/IPA/Shop/Product/Detail.htm?sku=10726219" target="_blank"&gt;USB 3.0 Hi-Speed PCIe Card 2-Port&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.pcconnection.com/IPA/Shop/Product/Detail.htm?sku=10805283" target="_blank"&gt;2-Port ExpressCard SuperSpeed USB 3.0 Card Adapter&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a _blank="" href="http://www.startech.com/Product/ItemList.aspx?itematr=KEYPHRASE:USB%203.0%20Cable&amp;amp;gclid=CIiqs7jspJ4CFRWbnAodoln0lA" target=""&gt;USB 3.0 Super High Speed Cables&lt;/a&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span style="font-size: large;"&gt;Throwing Hard Disks With USB 3.0?&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;It has been difficult to find shipping USB 3.0 adapters, but this research has not been without some humor.  I ran across an interesting article titled "&lt;a href="http://pchardwaretroubleshooting.blogspot.com/2009/11/buffalo-wants-to-be-first-ones-in.html" target="_blank"&gt;Buffalo wants to be the first ones in throwing hard disks with USB 3.0&lt;/a&gt;", and could not resist reading it.&amp;nbsp; Given the title, the following sentence from the article seemed to make sense:&lt;br /&gt;
&lt;/div&gt;&lt;blockquote&gt;&lt;i&gt;It is clear that he has not too much sense to acquire a disk like that if we have not a compatible groove with USB 3.0 in the computer.&lt;/i&gt;&lt;br /&gt;
&lt;/blockquote&gt;I think anyone that throws hard disks with USB 3.0 probably "has not too much sense" to begin with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-1313658589794330362?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/1313658589794330362/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=1313658589794330362" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/1313658589794330362?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/1313658589794330362?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/11/usb-30-adapters-available-now.html" title="USB 3.0 Adapters Available Now" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_aBrawRpJ2MY/SwyvqLPbGjI/AAAAAAAAAoI/_l0zqgzCTFw/s72-c/expcard_1.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEQFQ3w8fCp7ImA9WxBQEk8.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-5805597218026559040</id><published>2010-01-11T08:00:00.000-08:00</published><updated>2010-01-11T08:11:52.274-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-11T08:11:52.274-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tool" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><title>Things You Should Know About Windows 7 - God Mode</title><content type="html">&lt;a href="http://3.bp.blogspot.com/_aBrawRpJ2MY/S0oJijSg_vI/AAAAAAAAAp8/GKzzR_ZEdic/s1600-h/god_mode.jpeg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_aBrawRpJ2MY/S0oJijSg_vI/AAAAAAAAAp8/GKzzR_ZEdic/s200/god_mode.jpeg" /&gt;&lt;/a&gt;Take a tip from &lt;a href="http://en.wikipedia.org/wiki/Bruce_Almighty" target="_blank"&gt;Bruce Almighty&lt;/a&gt; - use Windows 7 "God Mode" wisely.&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.amazon.com/Windows-7-Secrets-Paul-Thurrott/dp/0470508418?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Windows 7&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0470508418" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;God Mode provide shortcuts to various Windows 7 settings. God Mode is a folder naming trick and it's easy to do. &lt;br /&gt;
&lt;br /&gt;
As the video below will show, you just create a new folder and rename it using one of the God Mode strings.&lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;&lt;object height="280" width="364"&gt;&lt;param name="movie" value="http://www.cnet.com/av/video/flv/universalPlayer/universalSmall.swf" /&gt;&lt;param name="wmode" value="transparent" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="FlashVars" value="playerType=embedded&amp;type=id&amp;value=50081662" /&gt;&lt;embed src="http://www.cnet.com/av/video/flv/universalPlayer/universalSmall.swf" type="application/x-shockwave-flash" wmode="transparent" width="364" height="280" allowFullScreen="true" FlashVars="playerType=embedded&amp;type=id&amp;value=50081662" /&gt;&lt;/object&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Special thanks to Marius Oiaga for providing this list of God Mode strings in the article &lt;a href="http://news.softpedia.com/news/Windows-7-and-Windows-8-GodModes-the-Complete-List-131598.shtml"&gt;Windows 7 and Windows 8 GodModes, the Complete List&lt;/a&gt;:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Action Center Microsoft.ActionCenter (Windows 7 and later only) {BB64F8A7-BEE7-4E1A-AB8D-7D8273F7FDB6} &lt;/li&gt;
&lt;li&gt;Backup and Restore Microsoft.BackupAndRestore (Windows 7 and later only) {B98A2BEA-7D42-4558-8BD1-832F41BAC6FD} &lt;/li&gt;
&lt;li&gt;Biometric Devices Microsoft.BiometricDevices (Windows 7 and later only) {0142e4d0-fb7a-11dc-ba4a-000ffe7ab428} &lt;/li&gt;
&lt;li&gt;Credential Manager Microsoft.CredentialManager (Windows 7 and later only) {1206F5F1-0569-412C-8FEC-3204630DFB70} &lt;/li&gt;
&lt;li&gt;Default Location Microsoft.DefaultLocation (Windows 7 and later only) {00C6D95F-329C-409a-81D7-C46C66EA7F33} &lt;/li&gt;
&lt;li&gt;Desktop Gadgets Microsoft.DesktopGadgets (Windows 7 and later only) {37efd44d-ef8d-41b1-940d-96973a50e9e0} &lt;/li&gt;
&lt;li&gt;Devices and Printers Microsoft.DevicesAndPrinters (Windows 7 and later only) {A8A91A66-3A7D-4424-8D24-04E180695C7A} &lt;/li&gt;
&lt;li&gt;Display Microsoft.Display (Windows 7 and later only) {C555438B-3C23-4769-A71F-B6D3D9B6053A} &lt;/li&gt;
&lt;li&gt;Getting Started Microsoft.GettingStarted (Windows 7 and later only) {CB1B7F8C-C50A-4176-B604-9E24DEE8D4D1} &lt;/li&gt;
&lt;li&gt;HomeGroup Microsoft.HomeGroup (Windows 7 and later only) {67CA7650-96E6-4FDD-BB43-A8E774F73A57} &lt;/li&gt;
&lt;li&gt;Infrared Microsoft.Infrared (Windows 7 and later only) {A0275511-0E86-4ECA-97C2-ECD8F1221D08} &lt;/li&gt;
&lt;li&gt;Location and Other Sensors Microsoft.LocationAndOtherSensors (Windows 7 and later only) {E9950154-C418-419e-A90A-20C5287AE24B} &lt;/li&gt;
&lt;li&gt;Notification Area Icons Microsoft.NotificationAreaIcons (Windows 7 and later only) {05d7b0f4-2121-4eff-bf6b-ed3f69b894d9} &lt;/li&gt;
&lt;li&gt;Pen and Touch Microsoft.PenAndTouch (Windows 7 and later only) {F82DF8F7-8B9F-442E-A48C-818EA735FF9B} &lt;/li&gt;
&lt;li&gt;Phone and Modem Microsoft.PhoneAndModem (Windows 7 and later only) {40419485-C444-4567-851A-2DD7BFA1684D}&lt;/li&gt;
&lt;li&gt;Recovery Microsoft.Recovery (Windows 7 and later only) {9FE63AFD-59CF-4419-9775-ABCC3849F861} &lt;/li&gt;
&lt;li&gt;Region and Language Microsoft.RegionAndLanguage (Windows 7 and later only) {62D8ED13-C9D0-4CE8-A914-47DD628FB1B0} &lt;/li&gt;
&lt;li&gt;RemoteApp and Desktop Connections Microsoft.RemoteAppAndDesktopConnections (Windows 7 and later only) {241D7C96-F8BF-4F85-B01F-E2B043341A4B} &lt;/li&gt;
&lt;li&gt;Sound Microsoft.Sound (Windows 7 and later only) {F2DDFC82-8F12-4CDD-B7DC-D4FE1425AA4D} &lt;/li&gt;
&lt;li&gt;Speech Recognition Microsoft.SpeechRecognition (Windows 7 and later only) {58E3C745-D971-4081-9034-86E34B30836A} &lt;/li&gt;
&lt;li&gt;Troubleshooting Microsoft.Troubleshooting (Windows 7 and later only) {C58C4893-3BE0-4B45-ABB5-A63E4B8C8651}&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-5805597218026559040?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/5805597218026559040/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=5805597218026559040" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/5805597218026559040?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/5805597218026559040?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2010/01/things-you-should-know-about-windows-7.html" title="Things You Should Know About Windows 7 - God Mode" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_aBrawRpJ2MY/S0oJijSg_vI/AAAAAAAAAp8/GKzzR_ZEdic/s72-c/god_mode.jpeg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEMEQHk4cSp7ImA9WxBRGUs.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-9183712295365953914</id><published>2010-01-08T08:00:00.000-08:00</published><updated>2010-01-08T08:00:01.739-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-08T08:00:01.739-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="advisory" /><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><title>Technology Advisory: FireFox 3.5.7 Released</title><content type="html">&lt;a href="http://www.mozilla.com/firefox/all.html"&gt;Firefox 3.5.7&lt;/a&gt; fixes the following issues:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Fixed a common stability issue.&lt;/li&gt;
&lt;li&gt;Fixed a problem with how updates were being presented to users.&lt;/li&gt;
&lt;/ul&gt;&lt;a href="http://www.mozilla.com/firefox/all-beta.html"&gt;FireFox 3.6 beta&lt;/a&gt; is also available. This soon-to-be-released version is is built on Mozilla's Gecko 1.9.2 web rendering platform, which has been under development for several months and contains many improvements for web developers, Add-on developers and users. This version is also faster and more responsive than previous versions, and has been optimized to run on small device operating systems such as Windows CE and Maemo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-9183712295365953914?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/9183712295365953914/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=9183712295365953914" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/9183712295365953914?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/9183712295365953914?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2010/01/technology-advisory-firefox-357.html" title="Technology Advisory: FireFox 3.5.7 Released" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CE4EQng-cSp7ImA9WxBRGEo.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-2698552772620718007</id><published>2010-01-07T08:00:00.000-08:00</published><updated>2010-01-07T06:01:43.659-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-07T06:01:43.659-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="automated testing" /><category scheme="http://www.blogger.com/atom/ns#" term="load testing" /><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><title>Using Selenium And BrowserMob For Load Testing</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_aBrawRpJ2MY/SxNNqHI6ibI/AAAAAAAAAoM/E26wUCK47MA/s1600/browsermob.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_aBrawRpJ2MY/SxNNqHI6ibI/AAAAAAAAAoM/E26wUCK47MA/s640/browsermob.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Update&lt;/b&gt;&lt;/span&gt;:&amp;nbsp; Who doesn't like &lt;b&gt;FREE&lt;/b&gt;!&amp;nbsp; The folks at BrowserMob now give you an instant free test. No signup necessary. Uses real browsers. See screenshots, DNS lookup times, time-to-first-byte, and more! It's worth checking out.&amp;nbsp; Click to get your &lt;a href="http://browsermob.com/instant-website-test"&gt;Free Instant Test&lt;/a&gt;.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;November 30,, 2009 8:00AM PDT&lt;/span&gt;&lt;br /&gt;
We've written several articles on using Selenium for web testing, including a HOWTO series on "&lt;a href="http://blog.testlabs.com/2009/07/automated-cross-browser-testing-with_24.html"&gt;Automated Cross-Browser Testing With Selenium&lt;/a&gt;". We plan to expand beyond these functional testing articles by looking at how Selenium can be used for other types of testing.  Today's video on BrowserMob shows how you can use Selenium for low-cost load testing service that uses real web browsers. &lt;br /&gt;
&lt;br /&gt;
The video below takes you through recording a Selenium test case using the Selenium IDE and then running it using BrowserMob. I'm particularly interested in how easily you can set up your load tests and the great information provided in their dashboard.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note&lt;/b&gt;:&amp;nbsp; I've not figured out the pricing yet (seems a bit complicated). They claim that you can "Simulate 2,000 VUs for only $150" but if you look at &lt;a href="http://browsermob.com/load-testing-prices"&gt;their pricing table&lt;/a&gt;, it's difficult to immediately see that sort of pricing.&lt;br /&gt;
&lt;br /&gt;
&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pzeomCeeIaE&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pzeomCeeIaE&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-2698552772620718007?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/2698552772620718007/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=2698552772620718007" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/2698552772620718007?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/2698552772620718007?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/11/using-selenium-and-browsermob-for.html" title="Using Selenium And BrowserMob For Load Testing" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_aBrawRpJ2MY/SxNNqHI6ibI/AAAAAAAAAoM/E26wUCK47MA/s72-c/browsermob.png" height="72" width="72" /><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;DEcHRHY8cCp7ImA9WxBRF0Q.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-8103708521370567962</id><published>2010-01-06T08:00:00.000-08:00</published><updated>2010-01-06T08:40:35.878-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-06T08:40:35.878-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="deploystudio" /><title>Latest DeployStudio Tips, Techniques And News</title><content type="html">&lt;a href="http://2.bp.blogspot.com/_aBrawRpJ2MY/S0OtXedlpRI/AAAAAAAAAp0/1u0jSLNJYTM/s1600-h/DeployStudioMaster.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_aBrawRpJ2MY/S0OtXedlpRI/AAAAAAAAAp0/1u0jSLNJYTM/s200/DeployStudioMaster.png" width="154" /&gt;&lt;/a&gt;If you're a DeployStudio fan, or are looking to learn what's behind the growing popularity of this tool, then be sure to attend the upcoming DeployStudio Seminar described in today's article.&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href="http://www.amazon.com/How-REALLY-use-LinkedIn-Vermeiren/dp/1439229635?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;LinkedIn&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=1439229635" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; Event&lt;/b&gt;: If you're a Mac Systems Administrator with more work on your plate than time to complete it you can't miss this seminar. Oliver Block of Skeleton Key will present a demonstration of DeployStudio, which enables you to streamline the deployment of multiple machines. This and similar technology has saved our customers hundreds of hours. &lt;a href="http://www.linkedin.com/osview/canvas?_ch_page_id=1&amp;amp;_ch_panel_id=1&amp;amp;_ch_app_id=7083120&amp;amp;_applicationId=2000&amp;amp;_ownerId=0&amp;amp;appParams=%7B%22go_to%22:%22events/181898%22,%22referrer%22:%22public%22%7D"&gt;DeployStudio Seminar&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's a nice PDF that covers a lot of the basics of installing and using DeployStudio. &lt;a href="http://web.me.com/johnd/JohnDs_Site/Tips_&amp;amp;_Tricks/Entries/2009/4/29_Sys_Mgmt_Add-ons_files/DeployStudio.pdf"&gt;DeployStudio Tips &amp;amp; Tricks&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This blog has a number of tips and techniques for using DeployStudio.&amp;nbsp; &lt;a href="http://krypted.com/mac-os-x/creating-a-master-deploystudio-image/"&gt;Creating a Master DeployStudio Image &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Latest DeployStudio Server with new features that allow you to define an authentication domain when configuring a workflow Active Directory binding task; provides packages management (packages sets and basic ACLs); an option to disable wireless support from DeployStudio NetBoot / external drive systems; and, an option to force UDIF disk images to be converted a second time to the same format before being scanned (multicast configuration panel). &lt;a href="http://www.deploystudio.com/News/Entrees/2009/11/14_DeployStudio_Server_1.0rc16.html"&gt;DeployStudio Server 1.0rc16&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
A recent HOWTO article on using one master Deploy Studio server and host the images at different sites. &lt;a href="http://www.macosxhints.com/article.php?story=20090227083540481"&gt;Use one Deploy Studio server with images on many servers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-8103708521370567962?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/8103708521370567962/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=8103708521370567962" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/8103708521370567962?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/8103708521370567962?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2010/01/latest-deploystudio-tips-techniques-and.html" title="Latest DeployStudio Tips, Techniques And News" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_aBrawRpJ2MY/S0OtXedlpRI/AAAAAAAAAp0/1u0jSLNJYTM/s72-c/DeployStudioMaster.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkIEQHY_cCp7ImA9WxBRF0U.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-1668069879536492449</id><published>2010-01-05T08:00:00.000-08:00</published><updated>2010-01-06T05:28:21.848-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-06T05:28:21.848-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tool" /><title>Would You Like To Browsersize That?</title><content type="html">&lt;a href="http://1.bp.blogspot.com/_aBrawRpJ2MY/S0K_-5l7KzI/AAAAAAAAAps/ojAKyqM9Dz4/s1600-h/browser-size.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_aBrawRpJ2MY/S0K_-5l7KzI/AAAAAAAAAps/ojAKyqM9Dz4/s320/browser-size.png" /&gt;&lt;/a&gt; Ever wonder what appears on real users' browsers when they visit your website? &lt;a name='more'&gt;&lt;/a&gt;If you want a certain percentage of users, let's 90%, to all see the same thing, then you're going to need a tool that tells you in what percentile your web pages fall.&lt;br /&gt;
&lt;br /&gt;
The Google Browser Size is just that tool and is a must have for anyone creating websites. It provides a visualization of browser window sizes, as a percentage of people who visit &lt;a href="http://www.amazon.com/Google-Story-David-Vise/dp/0330508121?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Google&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0330508121" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;, superimposed on your website. You just enter your website URL, and you get to see contours that match up with different precentages. For example, the "90%" contour means that 90% of people visiting Google have their browser window open to at least this size or larger.  Here's how they position this tool at their website:&lt;br /&gt;
&lt;blockquote&gt;This is useful for ensuring that important parts of a page's user interface are visible by a wide audience. On the example page that you see when you first visit this site, there is a "donate now" button which falls within the 80% contour, meaning that 20% of users cannot see this button when they first visit the page. 20% is a significant number; knowing this fact would encourage the designer to move the button much higher in the page so it can be seen without scrolling.&lt;br /&gt;
&lt;/blockquote&gt;And here's what this blog looks like using the Google Browser Size tool:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/S0LCHiaJ4WI/AAAAAAAAApw/7oSIelHGlmE/s1600-h/blog-testlabs-com.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="245" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/S0LCHiaJ4WI/AAAAAAAAApw/7oSIelHGlmE/s400/blog-testlabs-com.jpg" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
To view your own Web site with this same visualization overlaid on it, go to &lt;a href="http://browsersize.googlelabs.com/"&gt;http://browsersize.googlelabs.com/&lt;/a&gt;, type your URL into the "Enter URL here" textbox at the top of the window and click Go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-1668069879536492449?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/1668069879536492449/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=1668069879536492449" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/1668069879536492449?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/1668069879536492449?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2010/01/would-you-like-to-browsersize-that.html" title="Would You Like To Browsersize That?" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_aBrawRpJ2MY/S0K_-5l7KzI/AAAAAAAAAps/ojAKyqM9Dz4/s72-c/browser-size.png" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DUYHSHw6cSp7ImA9WxBRF08.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-8042965374431655971</id><published>2010-01-04T08:00:00.000-08:00</published><updated>2010-01-05T13:32:19.219-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-05T13:32:19.219-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="automated testing" /><title>Crawljax For Testing AJAX Applications</title><content type="html">&lt;a href="http://2.bp.blogspot.com/_aBrawRpJ2MY/S0H-8Sq5qdI/AAAAAAAAApo/iPH03E24ztU/s1600-h/crawljax.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://2.bp.blogspot.com/_aBrawRpJ2MY/S0H-8Sq5qdI/AAAAAAAAApo/iPH03E24ztU/s200/crawljax.jpg" width="200" /&gt;&lt;/a&gt;Wouldn't it be nice to finally have a tool that solves all the problems we encounter with automated testing? &lt;a name='more'&gt;&lt;/a&gt;So often we find test teams going down the path of automating individual test cases knowing that the cost to maintain each of those individual test cases will grow. And for those that have looked at advanced automated testing methodologies, such as model-based and keyword driven testing, they know there's a better way, yet they proceed with developing large suites of automated test cases that end up creating a maintenance nightmare later on when things changes.&lt;br /&gt;
&lt;br /&gt;
In 2010, we will continue to work with our clients to use open source frameworks that solve some of the problems inherent with developing automated tests.&amp;nbsp; In particular, we recommend &lt;a href="http://blog.testlabs.com/2009/11/automated-web-services-testing.html" target="_blank"&gt;FitNesse&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0955683602" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; for anyone testing web applications and &lt;a href="http://www.testoptimal.com/"&gt;TestOptimal&lt;/a&gt; for those interested in using model-based testing.&amp;nbsp; For those of you that have already invested in using Selenium, you should consider FitNesse as THE framework for delivering a more effective automated test development and execution capability.&lt;br /&gt;
&lt;br /&gt;
As for that new tool that will solve all our problems?&amp;nbsp; We haven't found it yet, but we will keep looking.&amp;nbsp; And this year, as we develop more FitNesse automated test solutions for our clients, we'll be keeping an eye on new tools like Crawljax.&amp;nbsp; Crawljax is yet another open source tool that has received great attention through Google's Test Autotmation Conferences. It&amp;nbsp; is a tool for crawling any &lt;a href="http://www.amazon.com/Ajax-Definitive-Anthony-Holdener-III/dp/0596528388?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;AJAX&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0596528388" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;/&lt;a href="http://www.amazon.com/GWT-Action-Easy-Google-Toolkit/dp/B002T452PS?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;GWT&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=B002T452PS" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; application (GWT = Google Web Toolkit). It uses WebDriver to navigate through the different states of a web application. It creates a state-flow graph of the dynamic DOM states and the transitions between them. This inferred state-flow graph forms a very powerful base for many types of automated web testing. With plugins and invariants Crawljax can be used to perform various automated tests. For example: security testing, regression testing, accessibility testing, performance testing, cross-browser testing.&lt;br /&gt;
&lt;br /&gt;
And as with most new open source tools, it takes time to create polished marketing and support material - the developers wisely spend their time making the tool better and better.&amp;nbsp; The video below has a lot of information and detail on Crawljax. The audio is not great, but if you're motivated to see if Crawljax can solve some of your automated testing problems, then this video is worth watching. And you'll probably want to supplement what you watch with more info at this &lt;a href="http://crawljax.com/"&gt;link&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;object height="295" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rYAO94GnBlY&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rYAO94GnBlY&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-8042965374431655971?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/8042965374431655971/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=8042965374431655971" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/8042965374431655971?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/8042965374431655971?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2010/01/crawljax-for-testing-ajax-applications.html" title="Crawljax For Testing AJAX Applications" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_aBrawRpJ2MY/S0H-8Sq5qdI/AAAAAAAAApo/iPH03E24ztU/s72-c/crawljax.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0AHRX88fCp7ImA9WxBSF0U.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-7690816445345142417</id><published>2009-12-23T08:50:00.000-08:00</published><updated>2009-12-25T16:02:14.174-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-25T16:02:14.174-08:00</app:edited><title>Happy Holidays!</title><content type="html">&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_oS_vhZQxNVM/SzJTMuENssI/AAAAAAAAAAM/hCaqreAfVFM/s1600-h/HPIM0372.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5418484779669369538" src="http://4.bp.blogspot.com/_oS_vhZQxNVM/SzJTMuENssI/AAAAAAAAAAM/hCaqreAfVFM/s320/HPIM0372.jpg" style="cursor: pointer; display: block; height: 155px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;We'd like to take a moment to thank all of our readers for your support in 2009. We'll be back with new posts on the world of testing beginning January 4th, 2010.&lt;br /&gt;
&lt;br /&gt;
Wishing you all a safe holiday and happy New Year from everyone here at Testlabs.com.&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-7690816445345142417?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/7690816445345142417/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=7690816445345142417" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/7690816445345142417?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/7690816445345142417?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/happy-holidays.html" title="Happy Holidays!" /><author><name>John Scoleri</name><uri>http://www.blogger.com/profile/01580124366457312611</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11469913292455651438" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_oS_vhZQxNVM/SzJTMuENssI/AAAAAAAAAAM/hCaqreAfVFM/s72-c/HPIM0372.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkUCRH04fyp7ImA9WxBSFEQ.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-97630614997632134</id><published>2009-12-22T08:00:00.000-08:00</published><updated>2009-12-22T07:04:25.337-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-22T07:04:25.337-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="test theory" /><title>Testing on Agile Projects</title><content type="html">&lt;a href="http://astore.amazon.com/testlabscom-20?%5Fencoding=UTF8&amp;amp;node=29" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5306835530101312994" src="http://4.bp.blogspot.com/_gLElEG-fSJ0/SaWqzD0cTeI/AAAAAAAAALI/xxdRB0cxp1g/s200/agile-testing-book.jpg" style="float: left; margin: 0pt 10px 10px 0pt;" /&gt;&lt;/a&gt;Do agile projects become the brunt of cubicle Dilbert jokes? Scott Ambler confronts Scott Adams.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Agile projects are both interesting and challenging, especially for testers.  Too often these projects and their processes are misunderstood or misapplied.   What's most uncomfortable to testers is what appears to be a complete abandonment of any sort of serial testing flow.Moreover, the lack of upfront specifications for all features and functionality seems to be a complete affront to not only testing best practices but also common sense.  Suffice it to say that a lot is misunderstood about Agile testing. &lt;br /&gt;
&lt;br /&gt;
Unfortunately this misunderstanding of what can be an effective development and testing process ends up being the brunt of cubicle jokes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://astore.amazon.com/testlabscom-20/detail/0740777351" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5306821750462916322" src="http://3.bp.blogspot.com/_gLElEG-fSJ0/SaWeQ-qopuI/AAAAAAAAAKo/Qr2hAIKhVsE/s400/dilbert-agile_programming.gif" style="cursor: pointer; display: block; height: 139px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now I wouldn't say that testers assigned to agile projects see things as comically as &lt;a href="http://www.amazon.com/Dilbert-2-0-20-Years/dp/0740777351?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Dilbert&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0740777351" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;, but it can be confusing for testers if the development processes don't include them. For this very reason, and based on some past experience, I was happy to find an article, titled &lt;a href="http://www.ddj.com/development-tools/196603549?pgno=1"&gt;Agile Testing Strategies&lt;/a&gt;, that spoke to agile testing specifically.  Of all the articles I've read on agile development, this one made the most sense to me as a tester.&lt;br /&gt;
&lt;br /&gt;
The author, Scott Ambler, does a great job of relating agile practices to testing and breaks down this subject into 5 parts:&lt;a href="http://4.bp.blogspot.com/_gLElEG-fSJ0/SaWqIpr6rxI/AAAAAAAAALA/_CozCwsQq5c/s1600-h/agile-testing-book.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.ddj.com/development-tools/196603549?pgno=1"&gt;Philosophical Groundwork&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ddj.com/development-tools/196603549?pgno=2"&gt;Testing Throughout the Lifecycle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ddj.com/development-tools/196603549?pgno=3"&gt;Testing During a Construction Iteration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ddj.com/development-tools/196603549?pgno=4"&gt;Investigative Testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ddj.com/development-tools/196603549?pgno=5"&gt;Quality Is Job #1&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;This is a good read and reference document for any tester trying to make sense of their agile development process.  I believe that if you spend the time needed to begin to understand the agile process and use Scott's advice and testing process overlays, you'll be able to not only understand your role as an agile tester, but graduate to driving the agile testing strategies for your projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-97630614997632134?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/97630614997632134/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=97630614997632134" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/97630614997632134?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/97630614997632134?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/03/testing-on-agile-projects.html" title="Testing on Agile Projects" /><author><name> RTL</name><uri>http://www.blogger.com/profile/04405592389091559341</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17942632921915462964" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_gLElEG-fSJ0/SaWqzD0cTeI/AAAAAAAAALI/xxdRB0cxp1g/s72-c/agile-testing-book.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEUHQn0_cCp7ImA9WxBSFE4.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-5003624804647624145</id><published>2009-12-21T08:00:00.000-08:00</published><updated>2009-12-21T13:50:33.348-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-21T13:50:33.348-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="deploystudio" /><title>University Of Utah Mac Managers Share Their DeployStudio Experience</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/Sy-qL0t-AAI/AAAAAAAAApk/cofqmMUwMiQ/s1600-h/deploystudio_assistant.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="133" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/Sy-qL0t-AAI/AAAAAAAAApk/cofqmMUwMiQ/s200/deploystudio_assistant.jpg" width="200" /&gt;&lt;/a&gt;DeployStudio University! Mac Managers from the University of Utah share their DeployStudio secrets on iTunes &lt;a name='more'&gt;&lt;/a&gt;in a presentation from their monthly Mac Managers meeting.  Each month they upload their presentations to iTunes U. The video below is a comprehensive presentation on DeployStudio they gave in June 2009:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/utah.edu.1380568002.01380568015.2254374636?i=1085425985" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_aBrawRpJ2MY/Sy-oSba_aQI/AAAAAAAAApc/ZW2sFBaX-_I/s400/deploystudio-movie.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
All of the slides shown in this video presentation are &lt;a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/utah.edu.1380568002.01381129957.2254522210?i=1814823186"&gt;available as a PDF document here&lt;/a&gt;. Additionally, all of their presentations are available on iTunes U.  Here's the &lt;a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/utah.edu.1380568002.01380568015.2254374636?i=1085425985"&gt;link for all the Mac Manager Meetings presentations&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-5003624804647624145?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/5003624804647624145/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=5003624804647624145" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/5003624804647624145?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/5003624804647624145?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/university-of-utah-mac-managers-share.html" title="University Of Utah Mac Managers Share Their DeployStudio Experience" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_aBrawRpJ2MY/Sy-qL0t-AAI/AAAAAAAAApk/cofqmMUwMiQ/s72-c/deploystudio_assistant.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0QHSX0-fyp7ImA9WxBSEUs.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-6393322249685794783</id><published>2009-12-18T10:18:00.000-08:00</published><updated>2009-12-18T12:48:58.357-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-18T12:48:58.357-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="advisory" /><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><title>Technology Advisory: FireFox 3.5.6 Released</title><content type="html">Mozilla has released Firefox 3.5.6, which fixes the following issues:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Several security issues.&lt;/li&gt;
&lt;li&gt;Fixed several stability issues.&lt;/li&gt;
&lt;/ul&gt;The update can be downloaded at &lt;a href="http://www.mozilla.com/en-US/firefox/upgrade.html"&gt;Mozilla’s site. &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You may also be interested in the Firefox 3.5.5 &lt;a href="http://www.mozilla.com/en-US/firefox/3.5.5/releasenotes/"&gt;release notes&lt;/a&gt;  for a list of changes in the previous version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-6393322249685794783?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/6393322249685794783/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=6393322249685794783" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/6393322249685794783?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/6393322249685794783?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/technology-advisory-firefox-356.html" title="Technology Advisory: FireFox 3.5.6 Released" /><author><name>Amy</name><uri>http://www.blogger.com/profile/10080499534031431677</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11606906263713511472" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CE8GR3kzeCp7ImA9WxBSEUw.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-6072480022768298869</id><published>2009-12-18T08:00:00.000-08:00</published><updated>2009-12-17T21:07:06.780-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-17T21:07:06.780-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="automated testing" /><category scheme="http://www.blogger.com/atom/ns#" term="tool" /><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud computing" /><title>Using Sauce OnDemand To Run Automated Cross-Browser Tests In The Cloud</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/SysE36iDjAI/AAAAAAAAApA/sH9MNTUGwBc/s1600-h/sauce-labs.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/SysE36iDjAI/AAAAAAAAApA/sH9MNTUGwBc/s400/sauce-labs.png" /&gt;&lt;/a&gt;&lt;b&gt;Update&lt;/b&gt;:&amp;nbsp; What has the original creator of Selenium (Jason Huggins) been cooking up lately?  Hint: it has to do with Sauce.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Jason and his colleagues at Sauce Labs have been very busy since last we wrote about their product offerings. &amp;nbsp;They've renamed their cloud-hosted service to &lt;a href="http://saucelabs.com/products/sauce-ondemand"&gt;&lt;b&gt;Sauce OnDemand&lt;/b&gt;&lt;/a&gt; (formerly called "SauceRC") and announced a Sauce Labs &lt;b&gt;enhanced version of Selenium RC&lt;/b&gt; (versions for both PC and Mac) which they are calling &lt;a href="http://saucelabs.com/products/sauce-rc"&gt;&lt;b&gt;Sauce RC&lt;/b&gt;&lt;/a&gt;. To find out more about Sauce RC, here's a &lt;a href="http://saucelabs.saucerc.s3.amazonaws.com/sauce-rc.mov"&gt;link to a screencast video&lt;/a&gt; that describes the product and how to get started using it. &lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: #999999;"&gt;&lt;span style="font-size: x-small;"&gt;August 21, 2009 8:00AM PDT&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;In May we wrote an article about a service we discovered called Sauce OnDemand (formerly called "SauceRC") from &lt;a href="http://saucelabs.com/" target="_blank"&gt;Sauce Labs&lt;/a&gt; (&lt;a href="http://blog.testlabs.com/2009/05/selenium-rc-in-cloud-saucerc.html"&gt;Selenium RC In The Cloud - SauceRC&lt;/a&gt;).  We found this service interesting because it allows you to do browser compatibility testing without the hassle (let alone cost and energy) of configuring local machines and installing browsers. Instead, you push your tests into the Sauce Labs cloud. Simply create test scripts using the Selenium IDE plug-in for FireFox, designate the browser you want to test on (see code below) and let Sauce OnDemand do all the work. Repeat for each browser you want to test on, then go to the Sauce Labs website to retrieve the results.  And the cool part is that you get a movie, as shown in the graphic above, of an actual browser session running your tests.  Talk about convenience!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It's best if you know how to use Selenium RC before you start using Sauce OnDemand, but, according to the developer, some customers have successfully used the service without previous use of Selenium RC.&amp;nbsp; In our case, we had already written scripts for Selenium RC, so it was simply a matter of changing 1 line in our script using the code below:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;/code&gt;DefaultSelenium selenium = new DefaultSelenium(
                "saucelabs.com",
                4444,
                "{\"username\": \"rvizzone\"," +
                "\"access-key\": \"xxxxxxxxxxxxxxxxxxx\"," +
                "\"os\": \"Windows 2003\"," +
                "&lt;span style="color: red;"&gt;\"browser\": \"firefox\"," +
                "\"browser-version\": \"3.\&lt;/span&gt;"}",
                "http://www.google.com/");&lt;/pre&gt;Note the browser and version designated in &lt;span style="color: red;"&gt;red.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/So3HblyGufI/AAAAAAAAAaQ/pQsnhv8oXn4/s1600-h/sauce-rc.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/So3HblyGufI/AAAAAAAAAaQ/pQsnhv8oXn4/s200/sauce-rc.jpg" /&gt;&lt;/a&gt;After we made this change, our scripts ran as they had using Selenium RC on our localhost, with the actually processing taking place at Sauce Labs, and the results, both a movie and log, available to use anytime through links accessible through our Sauce Labs account.&lt;br /&gt;
&lt;br /&gt;
Here's a set of high-level HOWTO steps for using Sauce OnDemand:&lt;br /&gt;
&lt;blockquote&gt;1. Record and edit your test script with the Selenium IDE plug-in for Firefox.&lt;br /&gt;
2. Export your script and make sure it runs with Selenium RC on your localhost.&lt;br /&gt;
3. Make the 1 line change to your script that includes your user name, access key, etc., as shown above.&lt;br /&gt;
4. Now run the script again (which will now be directed to the Sauce OnDemand server).&lt;br /&gt;
5. Retrieve results from with your Sauce Labs account&lt;br /&gt;
&lt;/blockquote&gt;If you're looking for your investment in Selenium to pay off even more, I suggest you try Sauce OnDemand. Sauce Labs offers both a subscription plan and pre-paid minutes. And if you sign up during their public beta program, the minutes you buy will be doubled, e.g. buy 250 minutes for $10 and you'll get 250 minutes free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-6072480022768298869?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/6072480022768298869/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=6072480022768298869" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/6072480022768298869?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/6072480022768298869?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/08/using-saucerc-to-run-automated-cross_21.html" title="Using Sauce OnDemand To Run Automated Cross-Browser Tests In The Cloud" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_aBrawRpJ2MY/SysE36iDjAI/AAAAAAAAApA/sH9MNTUGwBc/s72-c/sauce-labs.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CE8HRXY4eip7ImA9WxBSEEs.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-5707055227284197850</id><published>2009-12-15T08:00:00.000-08:00</published><updated>2009-12-17T07:13:54.832-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-17T07:13:54.832-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="automated testing" /><title>Automated Testing Institute</title><content type="html">&lt;a href="http://3.bp.blogspot.com/_aBrawRpJ2MY/Syedad0izfI/AAAAAAAAAo0/5HNCwyOaCLw/s1600-h/automated-testing-institute.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="45" src="http://3.bp.blogspot.com/_aBrawRpJ2MY/Syedad0izfI/AAAAAAAAAo0/5HNCwyOaCLw/s200/automated-testing-institute.png" width="200" /&gt;&lt;/a&gt;While doing some article research this week I came across a website on automated testing called the &lt;a href="http://www.automatedtestinginstitute.com/" target="_blank"&gt;Automated Testing Institute&lt;/a&gt;. Here's a synopsis of the content:&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;blockquote&gt;The ATI Online Reference is the web’s foremost comprehensive online resource for obtaining, exchanging and certifying industry standard test automation knowledge, information, and techniques. With key elements such as automation articles, automation specific news, searchable tools and book, discussion forums, free video tutorials, other automation specific videos, and more, this free, member-based site is the most comprehensive resource for helping you excel at &lt;a href="http://www.amazon.com/Just-Enough-Software-Test-Automation/dp/0130084689?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;test automation&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0130084689" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;.&lt;br /&gt;
&lt;/blockquote&gt;From my initial review of the main sections of this website, I was impressed with the variety of articles, video, tips and techniques offered.&amp;nbsp; There's a wide range of articles, from those that appeal to the beginner&amp;nbsp; (How Do I Get Started With Test Automation?&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0130084689" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;), to more advanced topics on ROI, frameworks, etc.&amp;nbsp; Check it out &lt;a href="http://www.automatedtestinginstitute.com/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-5707055227284197850?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/5707055227284197850/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=5707055227284197850" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/5707055227284197850?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/5707055227284197850?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/automated-testing-institute.html" title="Automated Testing Institute" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_aBrawRpJ2MY/Syedad0izfI/AAAAAAAAAo0/5HNCwyOaCLw/s72-c/automated-testing-institute.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CE8NQHw4cCp7ImA9WxBSEEs.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-996470342044881423</id><published>2009-12-14T08:00:00.000-08:00</published><updated>2009-12-17T07:14:51.238-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-17T07:14:51.238-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="automated testing" /><category scheme="http://www.blogger.com/atom/ns#" term="browsers" /><title>Selenium 2.0 and Beyond!</title><content type="html">For those of you that are fans of &lt;a href="http://www.amazon.com/Introduction-Testing-Applications-twill-Selenium/dp/B001O7HEPW?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;Selenium&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=B001O7HEPW" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;, you'll probably want to hear what Simon Stewart (Google) and Jason Huggins (Sauce Labs) have to say about Selenium 2.0 and beyond.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;In particular, the merging of efforts by Huggins (Selenium Core) and Stewart (&lt;a href="http://google-opensource.blogspot.com/2009/05/introducing-webdriver.html" target="_blank"&gt;WebDriver&lt;/a&gt;) is very important to understand where Selenium is headed.&lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="370" id="viddler" width="437"&gt;&lt;param name="movie" value="http://www.viddler.com/player/d326d4d1/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="flashvars" value="fake=1"/&gt;&lt;embed src="http://www.viddler.com/player/d326d4d1/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" flashvars="fake=1" name="viddler" &gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-996470342044881423?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/996470342044881423/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=996470342044881423" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/996470342044881423?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/996470342044881423?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/selenium-20-and-beyond.html" title="Selenium 2.0 and Beyond!" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE4NR3czfSp7ImA9WxBTGE0.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-7140533512608831503</id><published>2009-12-11T08:00:00.000-08:00</published><updated>2009-12-14T08:09:56.985-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-14T08:09:56.985-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tool" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>Using The National Vulnerability Database During Security Testing</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/SjeofWUprmI/AAAAAAAAARc/UErCSJI3eDU/s1600-h/nvd.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347928339047362146" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/SjeofWUprmI/AAAAAAAAARc/UErCSJI3eDU/s400/nvd.jpg" style="cursor: pointer; float: right; height: 59px; margin: 0pt 0pt 10px 10px; width: 483px;" /&gt;&lt;/a&gt;The National Vulnerability Database (NVD) is a comprehensive cyber security vulnerability database&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt; that integrates all publicly available U.S. Government vulnerability resources and provides references to industry resources. NVD's mission involves warning the public about vulnerabilities in computer systems. NVD provides this information using a search engine while integrating all publicly available U.S. government vulnerability resources. All of this information is given away for free with no licensing restrictions through XML and RSS feeds.&lt;br /&gt;
&lt;br /&gt;
The NVD is easy to use and should be used during security testing. In fact, depending on which security tool you use, the results will most likely reference items in the NVD.  I tried searching the NVD with some familiar software we use and the results were impressive.  I did a search on the open source defect tracking system &lt;span style="font-weight: bold;"&gt;Bugzilla&lt;/span&gt;, and found numerous security flaws. I did this search by first going to this URL:&lt;br /&gt;
&lt;blockquote&gt;&lt;a href="http://web.nvd.nist.gov/view/vuln/search?execution=e1s1"&gt;http://web.nvd.nist.gov/view/vuln/search?execution=e1s1&lt;/a&gt;&lt;br /&gt;
&lt;/blockquote&gt;And then entering "bugzilla". The result was a list of 88 vulnerabilities that show up in an easy to read list with links that give you more specific details on each item:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/SjeosQr1ONI/AAAAAAAAARk/bsIX4Cbn53A/s1600-h/nvd-results.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347928560872274130" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/SjeosQr1ONI/AAAAAAAAARk/bsIX4Cbn53A/s400/nvd-results.jpg" style="cursor: pointer; display: block; height: 117px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;Here's a closer look at some of the results from the list above:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;&lt;a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-1213"&gt;CVE-2009-1213&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;: Cross-site request forgery (CSRF) vulnerability in attachment.cgi in Bugzilla 3.2 before 3.2.3, 3.3 before 3.3.4, and earlier versions allows remote attackers to hijack the authentication of arbitrary users for requests that use attachment editing.&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Published&lt;/span&gt;: 04/01/2009&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;CVSS Severity&lt;/span&gt;: &lt;a href="http://nvd.nist.gov/cvss.cfm?name=CVE-2009-1213&amp;amp;vector=%28AV%3AN/AC%3AM/Au%3AN/C%3AP/I%3AP/A%3AP%29&amp;amp;version=2"&gt;6.8 (MEDIUM)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;&lt;a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-6098"&gt;CVE-2008-6098&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;: Bugzilla 3.2 before 3.2 RC2, 3.0 before 3.0.6, 2.22 before 2.22.6, 2.20 before 2.20.7, and other versions after 2.17.4 allows remote authenticated users to bypass moderation to approve and disapprove quips via a direct request to quips.cgi with the action parameter set to "approve."&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Published&lt;/span&gt;: 02/09/2009&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;CVSS Severity&lt;/span&gt;: &lt;a href="http://nvd.nist.gov/cvss.cfm?name=CVE-2008-6098&amp;amp;vector=%28AV%3AN/AC%3AL/Au%3AS/C%3AN/I%3AN/A%3AP%29&amp;amp;version=2"&gt;4.0 (MEDIUM)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Searching for vulnerabilities is just one feature of the NVD.  There are number of checklists, statistics and other information available at the main NVD URL:&lt;br /&gt;
&lt;blockquote&gt;&lt;a href="http://nvd.nist.gov/home.cfm"&gt;http://nvd.nist.gov/home.cfm&lt;/a&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-7140533512608831503?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/7140533512608831503/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=7140533512608831503" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/7140533512608831503?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/7140533512608831503?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/06/using-national-vulnerability-database.html" title="Using The National Vulnerability Database During Security Testing" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_aBrawRpJ2MY/SjeofWUprmI/AAAAAAAAARc/UErCSJI3eDU/s72-c/nvd.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUYDQnY7cCp7ImA9WxBTGE0.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-2624666313497777786</id><published>2009-12-10T08:00:00.000-08:00</published><updated>2009-12-14T08:12:53.808-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-14T08:12:53.808-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="load testing" /><category scheme="http://www.blogger.com/atom/ns#" term="stress testing" /><category scheme="http://www.blogger.com/atom/ns#" term="firefox addons" /><title>Add These Website Performance Test Tools To Your Toolkit</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_aBrawRpJ2MY/SyEIqoWCKuI/AAAAAAAAAow/kmUP8NPfDB0/s1600-h/speedtracer-large.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_aBrawRpJ2MY/SyEIqoWCKuI/AAAAAAAAAow/kmUP8NPfDB0/s200/speedtracer-large.png" /&gt;&lt;/a&gt;I've listed some performance testing resource links that are worth looking at if you do any sort of website performance testing. &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;One of the more difficult tasks when conducting load and stress testing is identifying bottlenecks and suggesting areas on which developers should concentrate.  Often this type of testing uses tools that are tuned to put a load on a website (e.g. JMeter) and consequently generates a lot of test data, primarily because these tools simulate lots of users. It helps to have another perspective to corroborate the data from your load tests.  This is where these website performance tools may help:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://code.google.com/webtoolkit/speedtracer/get-started.html" target="_blank"&gt;Speed Tracer&lt;/a&gt;&lt;/b&gt;.  &lt;i&gt;Speed Tracer is a Google Chrome extension that helps you identify and fix performance problems in your web applications. It visualizes metrics that are taken from low level instrumentation points inside of the browser and analyzes them as your application runs. Using Speed Tracer you are able to get a better picture of where time is being spent in your application. &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/5369" target="_blank"&gt;YSlow&lt;/a&gt;&lt;/b&gt;. &lt;i&gt;This tool analyzes web pages and why they're slow based on Yahoo!'s rules for high performance web sites. YSlow uses Yahoo!'s Smush.it service.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://code.google.com/speed/page-speed/" target="_blank"&gt;Page Speed&lt;/a&gt;&lt;/b&gt;. &lt;i&gt;An open-source Firefox/Firebug Add-on. Webmasters and web developers can use Page Speed to evaluate the performance of their web pages and to get suggestions on how to improve them.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://code.google.com/webtoolkit/" target="_blank"&gt;Google Web Toolkit (with Speed Tracer)&lt;/a&gt;&lt;/b&gt;. &lt;i&gt;Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. GWT is used by many products at Google, including Google Wave and Google AdWords. It's open source, completely free, and used by thousands of developers around the world.&lt;/i&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://code.google.com/speed/page-speed/docs/rules_intro.html" target="_blank"&gt;Web Performance Best Practices&lt;/a&gt;&lt;/b&gt;. &lt;i&gt;When you profile a web page with Page Speed, it evaluates the page's conformance to a number of different rules. These rules are general front-end best practices you can apply at any stage of web development. We provide documentation of each of the rules here, so whether or not you run the Page Speed tool — maybe you're just developing a brand new site and aren't ready to test it — you can refer to these pages at any time. We give you specific tips and suggestions for how you can best implement the rules and incorporate them into your development process.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;&lt;object height="295" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Sn_3rJaexKc&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Sn_3rJaexKc&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-2624666313497777786?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/2624666313497777786/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=2624666313497777786" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/2624666313497777786?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/2624666313497777786?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/add-these-website-performance-test.html" title="Add These Website Performance Test Tools To Your Toolkit" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_aBrawRpJ2MY/SyEIqoWCKuI/AAAAAAAAAow/kmUP8NPfDB0/s72-c/speedtracer-large.png" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEIMQnc-fyp7ImA9WxBSEEs.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-6865682838286381184</id><published>2009-12-08T08:00:00.000-08:00</published><updated>2009-12-17T07:09:43.957-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-17T07:09:43.957-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tool" /><category scheme="http://www.blogger.com/atom/ns#" term="load testing" /><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term="stress testing" /><title>Tips and Techniques for Using Apache JMeter for Load Testing</title><content type="html">&lt;a href="http://www.amazon.com/Apache-JMeter-practical-performance-measurement/dp/1847192955?ie=UTF8&amp;amp;tag=testlabscom-20&amp;amp;link_code=bil&amp;amp;camp=213689&amp;amp;creative=392969" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img alt="Apache JMeter: A practical beginner's guide to automated testing and performance measurement for your websites" src="http://ws.amazon.com/widgets/q?MarketPlace=US&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;ASIN=1847192955&amp;amp;tag=testlabscom-20" /&gt;&lt;/a&gt;Apache JMeter&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=testlabscom-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=1847192955" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; is a great tool for load testing and we use it  for LAN-based products as well as web sites and hosted services. And lately we've used it in conjunction with Amazon's Elastic Cloud Compute (EC2) service.  Along the way, we've collected a number of tips and techniques that are sometime difficult to find in the documentation.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here's a list of changes that we've found to be necessary each time we use jmeter:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Change Memory Settings&lt;/span&gt;&lt;br /&gt;
The default memory settings are too low need to be increased to the maximum memory available.  To do this:&lt;br /&gt;
&lt;br /&gt;
1. Navigate to jmeter/bin.&lt;br /&gt;
2. Edit jmeter (Linux command-line: "pico jmeter", Windows: open jmeter.bat with wordpad)&lt;br /&gt;
3. Scroll to the line that reads: HEAP="-Xms256m -Xmx256"&lt;br /&gt;
4. Change the numbers to meet your system specs (first number is the minimum, second maximum). For example: HEAP="-Xms1024m -Xmx1024"&lt;br /&gt;
5. Save changes.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Retries &amp;amp; Timeouts&lt;/span&gt;&lt;br /&gt;
If you are doing load testing with jmeter, inevitably you'll place enough of a load on your target server that it may have trouble responding.  In order to give the server a chance to respond you may want to change the retries and timeout values.  To do this, edit the jmeter.properties file for retries = 3 and timeout = 120. Be sure to delete the #s at the start of the lines or they will remain commented out.&lt;br /&gt;
--Note: The generic HTTP Request does NOT support these features, and the HTTP Request HTTP Client sampler type must be used.&lt;br /&gt;
--Note: The HTTP Request HTTP Client sampler does NOT support automatic redirect so be sure to deselect this (its checked by default) when creating the JMeter tests.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Ports (Windows only)&lt;/span&gt;&lt;br /&gt;
If you've ever seen this error message when running jmeter "JMeter Exception: java.net.BindException: Address already in use: connect" you've run out of ports.  To avoid running out of available ports on Windows (and thus seeing a Address Already In Use error), there's a great explanation and solution posted on the &lt;a href="http://twit88.com/blog/"&gt;twit88.com&lt;/a&gt; blog at this &lt;a href="http://twit88.com/blog/2008/07/28/jmeter-exception-javanetbindexception-address-already-in-use-connect/"&gt;article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-6865682838286381184?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/6865682838286381184/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=6865682838286381184" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/6865682838286381184?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/6865682838286381184?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/01/tips-and-techniques-for-using-apache.html" title="Tips and Techniques for Using Apache JMeter for Load Testing" /><author><name> RTL</name><uri>http://www.blogger.com/profile/04405592389091559341</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="17942632921915462964" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUUMRXozfyp7ImA9WxBTGE0.&quot;"><id>tag:blogger.com,1999:blog-6804036780515725107.post-1026763196763432681</id><published>2009-12-07T08:00:00.000-08:00</published><updated>2009-12-14T08:14:44.487-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-14T08:14:44.487-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="test theory" /><category scheme="http://www.blogger.com/atom/ns#" term="compatibility" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud computing" /><title>Vint Cerf - The Internet Today</title><content type="html">In today's video, Vint Cerf, &lt;a href="http://en.wikipedia.org/wiki/Vint_Cerf" target="_blank"&gt;often referred to&lt;/a&gt; as "the Father of the Internet", gives a lecture at Singularity University (www.singularityu.org) that first provides a history of the internet, &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;then covers the state of the Internet today, and what issues are arising as it continues to evolve. He talks about technology platforms - IPv6, cloud computing, etc. - that are sure influence how we evolve our test labs.&lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;&lt;object height="295" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KeAIwLp9YmA&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/KeAIwLp9YmA&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6804036780515725107-1026763196763432681?l=blog.testlabs.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.testlabs.com/feeds/1026763196763432681/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6804036780515725107&amp;postID=1026763196763432681" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/1026763196763432681?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6804036780515725107/posts/default/1026763196763432681?v=2" /><link rel="alternate" type="text/html" href="http://blog.testlabs.com/2009/12/vint-cerf-internet-today.html" title="Vint Cerf - The Internet Today" /><author><name>Ray Vizzone</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10549570806177940228" /></author><thr:total>0</thr:total></entry></feed>
