<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>QA Insight: Brent Strange's Software QA blog</title>
  <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/" />
  <link rel="self" href="http://www1.qainsight.net:8080/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2008-11-30T17:59:42.9143264-08:00</updated>
  <author>
    <name>Brent Strange</name>
  </author>
  <subtitle>Brent Strange's thoughts on Software Quality Assurance and technology</subtitle>
  <id>http://www1.qainsight.net:8080/</id>
  <generator uri="http://www.dasblog.net" version="2.0.7180.0">DasBlog</generator>
  <entry>
    <title>This Christmas Eve it's snowing in Gilbert!</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/12/01/This+Christmas+Eve+Its+Snowing+In+Gilbert.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,e2d751ed-f1e8-4563-bdd2-b1ffffe6bb42.aspx</id>
    <published>2008-12-01T02:22:55-08:00</published>
    <updated>2008-11-30T17:59:42.9143264-08:00</updated>
    <category term="Life In AZ" label="Life In AZ" scheme="http://www1.qainsight.net:8080/CategoryView,category,Life%2BIn%2BAZ.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
December is here and so is the snow! 
</p>
        <p>
Yes, snow in the desert valley!  Well not yet... but on Christmas Eve there will
be. Guaranteed! 
</p>
        <p>
On December 24th, <a href="http://www.mission68.org/" target="_blank">Superstition
Springs Community Church</a> (SSCC) would like to celebrate Christmas Eve with you
and that celebration will include snow, SLEDDING, hot cocoa, wagon train rides, LIVE
MUSIC,  Bethlehem Village, and a petting zoo. I'm thinking this Christmas Eve
service is going to be a <em>BLAST</em>. So, mark your calendar and get more details
about it <a href="http://www.mission68.org/featured/christmasEve.htm" target="_blank">here</a>.
See you there!
</p>
        <p>
That's still 23 days away though.. the reason I'm bringing this up so early is because
it's also December which makes it officially time to enjoy some new Christmas music
right?  I also wanted to point you to the <a href="http://www.mission68.org/build/blog/?p=134" target="_blank">FREE
downloadable Christmas album</a> recorded by the SSCC Worship Band. Good stuff, these
guys and gals are <em>really</em> good. I can honestly say that I look forward to
hearing them every Sunday.
</p>
        <p>
Whether you are near to Gilbert or far, SSCC offers a lot. The prior two things I
mention are the tip of the iceberg. SSCC's community and WORLD involvement is <em>admirable</em>,
I'm 5 weeks new to SSCC, and let me tell you I'm excited about the impact this church
is making in the world. Check out what SSCC is doing on their <a href="http://www.mission68.org/build/blog/" target="_blank">"All
In" blog</a>.
</p>
        <p align="center">
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/ThisChristmasEveitssnowinginGilbert_10E52/SnowingInGilbert_2.png">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="370" alt="SnowingInGilbert" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/ThisChristmasEveitssnowinginGilbert_10E52/SnowingInGilbert_thumb.png" width="424" border="0" />
          </a>
          <br />
(Gilbert covered in snow...Cows? Yeah...our infamous, <em>stinky</em> dairy)
</p>
        <p>
I know this post isn't QA oriented, I'd like to remind you that you can refine you
RSS feed to QA posts only by subscribing to the "Quality Assurance" category. Anything
that has to do with SQA will always have that category assigned to it.
</p>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=e2d751ed-f1e8-4563-bdd2-b1ffffe6bb42" />
      </div>
    </content>
  </entry>
  <entry>
    <title>I'm Thankful For... CHEAP GAS</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/11/23/Im+Thankful+For+CHEAP+GAS.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,4bcde719-0cc0-4e17-b73f-943f0b1c0578.aspx</id>
    <published>2008-11-23T02:08:02-08:00</published>
    <updated>2008-11-23T17:44:38.7645328-08:00</updated>
    <category term="Life In AZ" label="Life In AZ" scheme="http://www1.qainsight.net:8080/CategoryView,category,Life%2BIn%2BAZ.aspx" />
    <category term="Miscellaneous" label="Miscellaneous" scheme="http://www1.qainsight.net:8080/CategoryView,category,Miscellaneous.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
The last few months we've heard <em>sooo</em> much about the declining economy...
On the flip side, I'm really liking the plummeting gas prices! Aren't you? I paid
$1.88 a gallon today! It's been <em>years</em> since I've seen prices like this. 
</p>
        <p>
When gas was over $3.00 the complaints were loud and often. Between the people that
surround me (don't get me wrong, me too) and the media, it was obvious that we were
not happy. Now that gas prices are down, the complaints stop but we don't seem to
be talking too much about how happy we are about it. Even worse on NPR, yesterday,
they were talking about the negative impact of it.
</p>
        <p>
That's sad. 
</p>
        <p>
Join me in the positive celebration of cheap gas! 
</p>
        <p>
This Thanksgiving I'm thankful for cheap gas (and a WHOLE LOT more, but I won't get
into that here).
</p>
        <p>
 
</p>
        <p align="center">
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/ImThankfulFor.CHEAPGAS_10D08/CheapGas_2.png">
            <img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="433" alt="CheapGas" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/ImThankfulFor.CHEAPGAS_10D08/CheapGas_thumb.png" width="215" border="0" />
          </a>
        </p>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=4bcde719-0cc0-4e17-b73f-943f0b1c0578" />
      </div>
    </content>
  </entry>
  <entry>
    <title>C# 4.0 Dynamic Types Allows Better Unit and Automated Tests</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/11/18/C+40+Dynamic+Types+Allows+Better+Unit+And+Automated+Tests.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,18c24e4a-8c25-4521-ba44-3b45b39a2270.aspx</id>
    <published>2008-11-18T04:51:56-08:00</published>
    <updated>2008-11-18T20:55:16.105128-08:00</updated>
    <category term="Automation" label="Automation" scheme="http://www1.qainsight.net:8080/CategoryView,category,Automation.aspx" />
    <category term="Quality Assurance" label="Quality Assurance" scheme="http://www1.qainsight.net:8080/CategoryView,category,Quality%2BAssurance.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <img style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: right; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px" src="http://www1.qainsight.net:8080/content/binary/csharp4.png" border="0" />I
noticed today that C# 4.0 <a href="http://tirania.org/blog/archive/2008/Nov-03-1.html" target="_blank">will
offer dynamic typing</a> (no, your keyboard will not type magically for you...the <em>other</em> typing).
Why mention it here? Well, if I understand the new feature right, this will fix a
fairly large unit testing and automation roadblock caused by static types. For example,
when writing tests in .NET and trying to consume/use a method on a .NET API or Web
Service your tests are constrained to the method's inputs static types at compile
time. In other words, in the old C# world, if you had a method that looked like this: 
<p></p><p><em><font color="#0000ff">public void</font> testMe(<font color="#0000ff">int</font> foo){
}</em></p><p>
and you wrote a test that called the method like this: 
</p><p><em>testMe( <font color="#804040">"poofoo"</font> );</em></p><p>
the test would fail at compile time due to static typing (because the method's input
parameter type is an <em>int</em>, but we're trying to pass a <em>string</em>) 
</p><p>
Thus the roadblock I was describing... There are a lot of tests, poor error handling,
AND hidden defects when you try to pass invalid types into inputs in a service. So,
about now you are saying..."Who gives a crap Brent, if my service's consumers use
.NET they'll compile, get the error and never even get a chance to send a <em>string</em> in
where an <em>int</em> should be". There was a day when I thought the same thing (a
long time ago), until I consumed a Web Service using a Java application. For example,
say you've exposed a .NET Web Service for the world to use... and I come along and
consume it with Java, by doing that I can ignore your static/strong typing and send
in that <em>string</em> that you weren't prepared for. Strings don't work so well
as <em>ints</em> (especially when it's "poofoo", or even better "2147483648"). Most
of the time the errors are just plain ugly, making the API or Web Service really hard
to work with when trying to do good error handling management (imagine getting "you
failed, line 67", but then a code change occurs and now it's line 68), but sometimes
things fail on a larger scale and make some really cool defects. 
</p><p>
Back to the point... 
</p><p>
I'm thinking the new <em>dynamic</em> type in C# 4.0 will allow you to avoid that
compile error if you're writing your tests using C#/.NET. Thus, I could send in that <em>string</em> as
an <em>int</em> and then see what happens at runtime. That test would look something
like this: 
</p><p><em><font color="#0000ff">dynamic</font> poo = <font color="#804040">"poofoo"</font> ;<br />
testMe(poo);</em></p><p>
Neither confirmed or denied at this point, but if true, I'M REALLY EXCITED. This will
fix a major issue that I've had with testing .NET services using .NET.
</p><p>
It's interesting the conversations that are spawned from the issues that come out
sending invalid types...
</p><p>
Brent: <em>The error message... "You failed, line 67" is poor and confusing, what
did I do wrong?<br /></em><br />
Developer: <em>It choked when you sent in the wrong type. Don't do that.<br /></em><br />
Brent: <em>That sucks...so when our customers do the same thing and then call in for
help we'll just tell them that?<br /></em><br />
Developer: <em>Well, uh..no. Okay, I'll put in a little error handling and a descriptive
error message.<br /><br /></em>Brent: <em>Sweet!<br /></em><br />
Brent:<em> (Evil laugh in head) Hey... Will we support that error message as part
of the API? Because, if you make it a message that I, a consumer can rely on, that
means my code will depend on it, meaning that changes to the error are breaking changes.
Breaking changes must be tracked and documented.<br /></em><br />
Developer:<em> (Slowly backing away) I CANT HEAR YOU!!!</em></p><img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=18c24e4a-8c25-4521-ba44-3b45b39a2270" /></div>
    </content>
  </entry>
  <entry>
    <title>Open Source Automated Tests</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/09/24/Open+Source+Automated+Tests.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,909444ad-6cb3-4c61-8435-4b2e0c61a53a.aspx</id>
    <published>2008-09-24T07:29:31.852-07:00</published>
    <updated>2008-09-24T07:30:46.2395024-07:00</updated>
    <category term="Automation" label="Automation" scheme="http://www1.qainsight.net:8080/CategoryView,category,Automation.aspx" />
    <category term="Quality Assurance" label="Quality Assurance" scheme="http://www1.qainsight.net:8080/CategoryView,category,Quality%2BAssurance.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Interesting... <a href="http://googletesting.blogspot.com/2008/09/google-maps-api-open-sources-their.html" target="_blank">Google
Maps has  open sourced their Selenium Test Suite</a> and less than humbly asks
you to add to it!
</p>
        <p>
Not only do we test Google's Beta applications...NOW, we can help them automate their
applications!
</p>
        <p>
BRILLIANT. Damn these guys are good.
</p>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=909444ad-6cb3-4c61-8435-4b2e0c61a53a" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Our son: '); DROP TABLE Students;--</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/09/21/Our+Son+DROP+TABLE+Students.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,012a7f4c-5606-47de-8a10-0f15abc7fc1f.aspx</id>
    <published>2008-09-21T00:51:02-07:00</published>
    <updated>2008-09-21T17:35:34.3379296-07:00</updated>
    <category term="Quality Assurance" label="Quality Assurance" scheme="http://www1.qainsight.net:8080/CategoryView,category,Quality%2BAssurance.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
This has been around a while but...
</p>
        <p align="center">
          <a title="xkcd" href="http://xkcd.com/327/" target="_blank">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="153" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/Momthetester_FC87/image_3.png" width="420" border="0" />
          </a>
        </p>
        <p>
I'll give $20 bucks to the brave QA Engineer who names their son or daughter one of
the following: 
</p>
        <ul>
          <li>
&lt;script&gt;alert('xss')&lt;/script&gt; 
</li>
          <li>
&amp;lt;script&amp;gt;alert('xss')&amp;lt;/script&amp;gt; 
</li>
          <li>
%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%27% 78%73%73%27%29%3C%2F%73%63%72%69%70%74%3E 
</li>
          <li>
PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4</li>
        </ul>
        <p>
...poor kid
</p>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=012a7f4c-5606-47de-8a10-0f15abc7fc1f" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Another Free Software Testing Magazine: testing experience</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/09/19/Another+Free+Software+Testing+Magazine+Testing+Experience.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,f5d94b2e-8045-4ded-a4b3-32deec1c25ff.aspx</id>
    <published>2008-09-19T00:58:53-07:00</published>
    <updated>2008-09-19T17:35:13.543832-07:00</updated>
    <category term="Quality Assurance" label="Quality Assurance" scheme="http://www1.qainsight.net:8080/CategoryView,category,Quality%2BAssurance.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/AnotherFreeSoftwareTestingMagazinetestin_12FDC/image_2.png">
            <img style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; float: right; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; border-right-width: 0px" height="98" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/AnotherFreeSoftwareTestingMagazinetestin_12FDC/image_thumb.png" width="244" border="0" />
          </a> There
is another software testing magazine available for professional testers!...
</p>
        <p>
          <a href="http://www.testingexperience.com/" target="_blank">
            <em>test experience</em>
          </a>
          <em>, </em>boasting
80,000 users (approximately 2 million readers less than QAInsight.net)
</p>
        <p>
Subscribe here: <a href="http://www.testingexperience.com/subscribe.php">http://www.testingexperience.com/subscribe.php</a></p>
        <p>
Read back issues in PDF format here: <a href="http://www.testingexperience.com/thanks.php">http://www.testingexperience.com/thanks.php</a></p>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=f5d94b2e-8045-4ded-a4b3-32deec1c25ff" />
      </div>
    </content>
  </entry>
  <entry>
    <title>uTest.com...Pay per bug!</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/09/04/uTestcomPay+Per+Bug.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,df94f7f2-a920-40d5-9601-2bc46979a851.aspx</id>
    <published>2008-09-04T04:24:38-07:00</published>
    <updated>2008-09-04T21:03:31.0278528-07:00</updated>
    <category term="Quality Assurance" label="Quality Assurance" scheme="http://www1.qainsight.net:8080/CategoryView,category,Quality%2BAssurance.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p align="center">
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/Payperbug...uTest.com_13DD4/image_4.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="324" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/Payperbug...uTest.com_13DD4/image_thumb_1.png" width="460" border="0" />
          </a>
        </p>
        <p align="center">
 
</p>
        <p align="center">
Don't quit your day job...
</p>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=df94f7f2-a920-40d5-9601-2bc46979a851" />
      </div>
    </content>
  </entry>
  <entry>
    <title>How to View JavaScript Errors in Google Chrome</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/09/04/How+To+View+JavaScript+Errors+In+Google+Chrome.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,90be9a15-9c94-485d-9c50-b2be7b6d4545.aspx</id>
    <published>2008-09-03T20:47:20.935-07:00</published>
    <updated>2008-09-03T20:49:30.5421952-07:00</updated>
    <category term="Quality Assurance" label="Quality Assurance" scheme="http://www1.qainsight.net:8080/CategoryView,category,Quality%2BAssurance.aspx" />
    <category term="Web Browsers" label="Web Browsers" scheme="http://www1.qainsight.net:8080/CategoryView,category,Web%2BBrowsers.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
In the slim and clean <a href="http://www.google.com/chrome" target="_blank">Google
Chrome</a> (beta) interface JavaScript issues are not easily detectable unless your
page or site is visually broken. Much like FireFox and Safari, a tester must open
the "JavaScript console" and keep it in visible view while they test in order to catch
JavaScript errors. Chrome's Javascript console is a <a href="http://bugcrushers.com/?p=7" target="_blank">lot
like Safari's</a>, but is a tad worse (see the gotchas at the bottom of this post). 
</p>
        <p>
My fellow testers, here is how to get to that JavaScript console and monitor for JavaScript
errors while you test:<br />
 
</p>
        <p>
Click the page icon to the right of the URL bar. Select "Developer" and then "JavaScript
console" from the menu:
</p>
        <p align="center">
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_4.png">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="309" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_thumb_1.png" width="404" border="0" />
          </a>
        </p>
        <p>
        </p>
        <p>
In the top of the JavaScript console window click the "Resources" button:
</p>
        <p align="center">
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_6.png">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="126" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_thumb_2.png" width="254" border="0" />
          </a>
        </p>
        <p>
        </p>
        <p>
Start testing. When an error occurs you'll see a red icon with a number in it next
to the page that the error occurs:
</p>
        <p align="center">
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_8.png">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="160" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_thumb_3.png" width="309" border="0" />
          </a>
        </p>
        <p>
        </p>
        <p>
You'll also see a log of the error in the bottom of the JavaScript console window,
if you click the provided link it will take you to the line of code where the error
occurs:
</p>
        <p align="center">
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_12.png">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="71" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_thumb_5.png" width="404" border="0" />
          </a>
        </p>
        <p>
Also, if you click the page in the "Resources" section the offending line of JavaScript
and the error will be displayed:
</p>
        <p align="center">
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_10.png">
            <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="169" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/HowtoviewJavaScripterrorsinGoogleChrome_119C5/image_thumb_4.png" width="404" border="0" />
          </a>
        </p>
        <p>
        </p>
        <p>
As of now, I see two <em>gotchas</em> in Google Chrome Beta when attempting to detect/find
JavaScript errors:
</p>
        <ol>
          <li>
The "JavaScript Console" reports more than JavaScript issues which makes sorting/distinguishing
JavaScript errors from other reported HTML style of formatting errors tough. A cheesy
visual helper is to also open up the "Debug JavaScript" window (found in the same
Page &gt; Developer menu to the right of the URL bar) and watch for new line items
to show up in the log. Those line entries are associated with JavaScript errors, unless.. 
</li>
          <li>
You changes sites/domain, in this case the previously opened JavaScript windows won't
display data for the new site. You have to close those instances and re-open them
to monitor the new site.  You know that the monitoring has stopped when you see
in the "Debug JavaScript" window the following log entry: "lost connection to tab"</li>
        </ol>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=90be9a15-9c94-485d-9c50-b2be7b6d4545" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Google Gives Us Another Browser to Test: Chrome</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/09/02/Google+Gives+Us+Another+Browser+To+Test+Chrome.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,dba0c70d-5078-4734-be2d-06d5cc501655.aspx</id>
    <published>2008-09-02T05:30:57-07:00</published>
    <updated>2008-09-02T22:09:36.0150272-07:00</updated>
    <category term="Quality Assurance" label="Quality Assurance" scheme="http://www1.qainsight.net:8080/CategoryView,category,Quality%2BAssurance.aspx" />
    <category term="Web Browsers" label="Web Browsers" scheme="http://www1.qainsight.net:8080/CategoryView,category,Web%2BBrowsers.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/OuchGooglegivesusChrometoaddtoourBrowser_139B4/image_4.png">
            <img style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: right; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px" height="186" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/OuchGooglegivesusChrometoaddtoourBrowser_139B4/image_thumb_1.png" width="244" border="0" />
          </a> Just
when you thought you had a handle on your browser compatibility testing, Google gives
us <a href="http://www.google.com/chrome" target="_blank">Chrome</a>.  What does
that mean for you, the infamous browser compatibility tester? Just another browser
to test? Yes and no...
</p>
        <p>
Have you seen my previous screencast on <a href="http://www1.qainsight.net:8080/2008/03/30/Screencast+Browser+Compatibility+Testing+Risk+Analysis.aspx" target="_blank">Browser
Compatibility Testing Risk Analysis</a>? If not, its a worthy watch if you want to
get a feel for how the browser generally works and how to trim that browser test list
based on a little bit of data and risk analysis. Once that's under your belt, continue
on my friend...
</p>
        <p>
Let's dive into the details of Chrome to get a quick grasp on where some new browser
compatibility defects for your site may be lurking:
</p>
        <p>
          <u>The Layout Engine<br /></u>What does Google Chrome use for a layout engine? <a href="http://webkit.org/" target="_blank">WebKit</a>.
The same layout engine that Safari uses. Will it render exactly like Safari? Well,
it depends on which version of WebKit that  your installations of Chrome and
Safari use. You can determine this quickly by looking at the user-agent string. A
quick way to do this is to go to <a href="http://www.browserhawk.com" target="_blank">BrowserHawk.com</a>,
click "more" in the top right menu, scroll to the bottom of the new page and look
for the text "User agent". Here is the Google Chrome user-agent:
</p>
        <p>
          <em>Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-US)+AppleWebKit/525.13+(KHTML,+like+Gecko)+Chrome/0.2.149.27+Safari/525.13</em>
        </p>
        <p>
As you can see we have a WebKit version of 525.13. Chances are that the latest version
of Safari runs WebKit 525 also (again do this by looking at the user-agent of the
latest version of Safari). Ignoring the minor version number and focusing on the major
version number, if they are the same we can feel comfortable that Chrome and Safari
will display layout the same...Meaning they will align objects on the page the same.
If you've already tested Safari, chances are you aren't going to find any unique layout
defects in Chrome.
</p>
        <p>
          <u>The JavaScript Engine<br /></u>This is where things start to get different. In Google Chrome we have a brand
new engine and way of doing JavaScript. Google calls their new engine <em><strong>V8</strong></em>.
Safari's engine is <em><strong>JavaScriptCore</strong>. </em>Night and day...expect
to see differences and potential issues here. When testing make sure to look for JavaScript
errors and possible issues with sites that us AJAX (in my next post I'll talk about
how to view JavaScript errors in Chrome) .
</p>
        <p>
          <u>The Shell<br /></u>What stands out the most to me in Chrome's "shell" is the fact that tabs, plug-ins,
and JavaScript run under there own process. On the surface this looks like an ideal
way to manage security and to keep memory in-check, but I would keep an eye on functionality
of pop-ups and session management between windows (as in, losing reference where there
needs to be reference). Also, notice the clean-cut/different "shell" that Chrome has...
This "shell" could also yield potential defects related to printing, or any other
page related features that you may find in the various menu bars/icons or "Options"
menu.
</p>
        <p>
          <br />
In summary, if you are asked to test both Safari and Chrome the layout is going to
be the same (if the WebKit versions are the same). However JavaScript and the Shell
could yield some unique defects.
</p>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=dba0c70d-5078-4734-be2d-06d5cc501655" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Automated Web-Site Layout Testing</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/09/01/Automated+WebSite+Layout+Testing.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,11e24ece-ed14-4928-9631-c8dd95749d0f.aspx</id>
    <published>2008-09-01T03:49:03-07:00</published>
    <updated>2008-09-01T20:28:33.93108-07:00</updated>
    <category term="Quality Assurance" label="Quality Assurance" scheme="http://www1.qainsight.net:8080/CategoryView,category,Quality%2BAssurance.aspx" />
    <category term="Testing Tools" label="Testing Tools" scheme="http://www1.qainsight.net:8080/CategoryView,category,Testing%2BTools.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/MultiBrowserLayoutTesting_13440/image_2.png">
            <img style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; FLOAT: right; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px" height="230" alt="image" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/MultiBrowserLayoutTesting_13440/image_thumb.png" width="240" border="0" />
          </a> Web-site
layout, one of the many things that can keep a tester busy. Uhm...overwhelmed? So
many browsers so little time... Wouldn't it be nice if you, the mighty tester, could
just review a butt-load of screen-shots of your Web application in multiple browsers
on multiple platforms to make sure there are no layout issues?  Wouldn't that
be quick and efficient?
</p>
        <p>
I've got 2 <em>semi-solutions</em> for you (keep in mind I've done little with both,
so forgive an misinformation):
</p>
        <p>
          <u>
            <strong>Litmus<br /></strong>
          </u>
          <em>"We've felt the pain of getting website designs to work correctly
across different browsers. Not to mention designing email newsletters that work on
all email clients. <a href="http://litmusapp.com/" target="_blank">Litmus</a> makes
compatibility testing easier. </em>Litmus is lightning-fast, reliable and affordable.
It's relied upon by thousands of smart freelancers and switched-on agencies; as well
as big companies like Yahoo!, Facebook and eBay.<em>"</em></p>
        <p>
          <strong>The FREE part of Litmus:</strong>
          <em>S</em>creen-shots of your site in IE
7 and FireFox 2. 
</p>
        <p>
          <strong>The $ part of Litmus:</strong> <a href="http://litmusapp.com/pricing" target="_blank">Pay
$24</a> a month to get 23 browsers and 14 email clients.
</p>
        <p>
          <u>
            <strong>BrowserShots<br /></strong>
          </u>
          <em>"<a href="http://browsershots.org/" target="_blank">Browsershots</a> makes
screenshots of your web design in different browsers. It is a free open-source online
service created by Johann C. Rocholl. When you submit your web address, it will be
added to the job queue. A number of distributed computers will open your website in
their browser. Then they will make screenshots and upload them to the central server
here."</em>
        </p>
        <p>
          <strong>The FREE part of BrowserShots:</strong> 70 browsers on various platforms!
Submissions get dumped to a queue for processing.
</p>
        <p>
          <strong>The $ part of BrowserShots:</strong>
          <a href="http://browsershots.org/priority/" target="_blank">Pay
$15</a> a month to get priority processing.
</p>
        <p>
          <br />
Both of these appear to be good services that can provide quick insight to layout
problems in your site. However, as far as I can tell the two big limitations are:
</p>
        <ul>
          <li>
You are limited to pages that you can navigate to via URL, which rips the grandiose
dream of having a screen-shot for every page in your website (pages that require form
post or special conditions to get to are not going to happen). However, Litmus does
provide a step in the right direction with it's functionality for authentication. 
</li>
          <li>
Your site must be exposed to the Web, doing little for internal Dev and QA project
cycles.</li>
        </ul>
        <p>
          <br />
I have a dream... 
</p>
        <ul>
          <li>
I want to screen-shot any page in my website (requires a decent engine that will allow
me to get to the various pages in my site). 
</li>
          <li>
I want to screen-shot my site that is not yet published for the world (requires the
service to exist within my local network). 
</li>
          <li>
Once I've approved an ideal layout screen-shot I want the software to determine and
tell me if the other screenshots are worth looking at (by doing a statistical image
comparison with a predefined pass/fail threshold). 
</li>
          <li>
I want to provide basic wire-frame definitions and have software determine if my screen-shots
are within reason (by analyzing elements in the DOM and browser dimensions) 
</li>
          <li>
Get rid of screen-shots and do DOM to DOM element width and height comparisons between
browsers (Come on, it's a dream, standards compliance for all browsers (another dream)
might make it possible?) 
</li>
        </ul>
        <p>
Honestly, I think the dream is doable... So many dreams/ideas, so little time.
</p>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=11e24ece-ed14-4928-9631-c8dd95749d0f" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Follow the Leader</title>
    <link rel="alternate" type="text/html" href="http://www1.qainsight.net:8080/2008/08/14/Follow+The+Leader.aspx" />
    <id>http://www1.qainsight.net:8080/PermaLink,guid,c2f7d074-086d-421e-8f26-d331486ebe35.aspx</id>
    <published>2008-08-14T02:50:25-07:00</published>
    <updated>2008-08-14T19:32:35.539424-07:00</updated>
    <category term="Miscellaneous" label="Miscellaneous" scheme="http://www1.qainsight.net:8080/CategoryView,category,Miscellaneous.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
A couple years ago my grandpa Alfred Olsen passed away and I wrote the following eulogy
entitled "Follow the Leader" that was read at his funeral. He was a truly remarkable
man, I miss him a lot, and the man he was, is what I strive to be. I was perusing
the hard drive this evening looking for something QA related and rediscovered this.
I thought I'd share since some of these lessons are applicable in the business world
too:
</p>
        <p>
          <b>
          </b> <br /><b>Follow the Leader</b></p>
        <p>
          <i>Written by Brent Strange in memory of Grandpa Olsen</i>
        </p>
        <p>
          <i>
          </i>
        </p>
        <p>
          <i>
          </i>
        </p>
        <p>
It’s funny, I always have fleeting thoughts of how I appreciate the little things
about a person or the different things I love about them but I’m always hard pressed
to put it into words or too chicken to tell that person about those things. “I Love
You” says a lot, but doesn’t say much for why. Putting the “Why” behind “I Love You”
is something I’ve thought about for a long time with my Grandpa Olsen but I never
did sit down to tell him. Now it’s too late to tell him in person, so here I am settling
down and am writing it out. I hope and pray that he is listening now… 
</p>
        <p>
My Grandpa is the most respectable person I’ve ever met. Let’s cut to the chase: Grandpa
was honorable, funny, kind, loving, giving, non-judgmental, and a man of God. He is
everything I want to and struggle to be. Over the years Grandpa has been a silent
leader for me. <b>Follow the leader!</b></p>
        <p>
          <b>
          </b>
        </p>
        <p>
          <b>
            <u>Follow the leader: give somebody some “bugs”!</u>
          </b>
          <br />
My first memories of Grandpa date back to when I was less than two years old. Back
then Grandpa preached at the Assembly of God in Naselle where he and Grandma lived
in the connecting house. I remember in the evenings we would sit in his vinyl, burnt-orange
chair together. Grandpa would bounce me on his knee helping me pretend I was a cowboy
riding his horse. The orange chair was where I first remember getting “bugs”. Yeah
bugs…Grandpa’s way of tickling was giving you little tickling pinches under your legs
and arms saying “You got bugs, BUGS, <b>BUGS!</b>” each bug bite made you squirm and
laugh trying to wriggle out of his reach to get rid of those darn bugs. When the horse
rides and bug bites died down I would sit on his lap, leaning against him listening
to him talk to others in the room. His voice was comforting to me. 
</p>
        <p>
          <b>
            <u>Follow the leader: sit on the edge!<br /></u>
          </b>Grandpa and I did a lot of fishing. My first remembered fishing trip was frightening!
Grandpa took me to the dock at the Chinook cannery where we sat on the edge to fish
for Perch. I remember sitting on that edge, feet hanging over, and looking down at
the water below scared to death since it was so far down (seemed to be about 20 feet
down to this day, probably was 10…). Grandpa didn’t seem too concerned and my fear
soon went away after we caught the first Perch. 
</p>
        <p>
          <b>
            <u>Follow the leader: cast through the brush, the fish are just past it!</u>
          </b>
          <br />
Summer visits to Grandpa and Grandma always meant a trip Martin Wirkkalla’s place
to fish in his private lakes. I remember walking behind Grandpa as he led me through
the trees and brush to find those hidden lakes. Fishing would usually start out with
me casting into the weeds and trees but after a couple hours of untangling weeds from
lures, and carefully finessing lures from tree branches Grandpa and I came back with
a few nice trout. Those times were always special to me because we were fishing in
lakes that nobody else could, and we ALWAYS caught fish!<b></b></p>
        <p>
          <b>
            <u>Follow the leader: take time out of your busy day for your loved ones!</u>
          </b>
          <br />
The last time I fished with Grandpa was on his 62<sup>nd</sup> birthday. I remember
the day pretty well. Grandpa was pretty busy for some reason but we headed to the
Naselle River off of South Valley Road to get a few quick casts in. What I remember
most about that day was walking down to the river with him and asking him how old
he was. He told me he was 62 and I remember thinking that 62 was REALLY OLD and that
he would die soon. My eyes welled up with tears with the thought. I managed to get
the tears dried up before they fell so he didn’t see. I spent the rest of that fishing
trip appreciating EVERY little thing about him (by the way, this was the ONLY trip
together that we didn’t catch anything). 
</p>
        <p>
          <b>
            <u>Follow the leader: make people laugh!<br /></u>
          </b>Grandpa was a prankster. If you didn’t know this, you didn’t know Grandpa!
Every time I visited he had a new trick up his sleeve. Even in his 80’s! The last
prank he played on me was his exploding pen cap. I think over the course of 2 years
I actually fell for that prank twice.<b></b></p>
        <p>
          <b>
            <u>Follow the leader: confirm those answers?<br /></u>
          </b>When Grandpa would ask a question and someone would reply he would always
follow up a reply with a “Huh?” I thought that was pretty funny because I knew he
heard the reply but he still always said “Huh?”. I remember listening to Grandma replying
to Grandpa, Grandpa then saying “Huh?” and then Grandma replying louder, firmer and
a bit annoyed. I always smiled to myself when I heard that word “Huh?”, it was a funny
habit of his. 
</p>
        <p>
          <b>
            <u>Follow the leader: Give!<br /></u>
          </b>Grandpa was so giving. With every visit I ended up with some sort of odd,
hand-me-down gift that meant a lot. Grandpa had a way of showing you all his cool
things throughout the house and shop and waiting for your eyes to sparkle about one
of those things. That THING usually was gifted to you by the end of your visit. Over
the years I obtained some pretty special gifts: stuffed baby alligator, pocket electronic
golf game, Skil-Saw, fishing lures, wood pens. 
</p>
        <p>
Thank you for your love and leadership Grandpa. I respect and honor your life and
am committed to providing the leadership to my family and friends as you have done
for yours.
</p>
        <table width="400" border="0" cellpadding="2" cellspacing="0">
          <tbody>
            <tr>
              <td valign="top" width="200">
                <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/FollowtheLeader_1170A/clip_image002_2.jpg">
                  <img style="border-width: 0px;" alt="clip_image002" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/FollowtheLeader_1170A/clip_image002_thumb.jpg" width="244" border="0" height="193" />
                </a>
              </td>
              <td valign="top" width="200">
                <a href="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/FollowtheLeader_1170A/clip_image002%5B4%5D.jpg">
                  <img style="border-width: 0px;" alt="clip_image002[4]" src="http://www1.qainsight.net:8080/content/binary/WindowsLiveWriter/FollowtheLeader_1170A/clip_image002%5B4%5D_thumb.jpg" width="180" border="0" height="244" />
                </a>
              </td>
            </tr>
          </tbody>
        </table>
        <img width="0" height="0" src="http://www1.qainsight.net:8080/aggbug.ashx?id=c2f7d074-086d-421e-8f26-d331486ebe35" />
      </div>
    </content>
  </entry>
</feed>