<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rss [<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">]>
<rss version="0.92" xml:base="http://www.testingreflections.com">
<channel>
 <title>testingReflections.com - design &amp; development</title>
 <link>http://www.testingreflections.com/taxonomy/view/or/48</link>
 <description></description>
 <language>en</language>
<item>
 <title>Software Performance Engineering</title>
 <link>http://www.testingreflections.com/node/view/7551</link>
 <description>Trying to make some suggestions for &lt;a href="http://www.cmg.org/cgi-bin/agenda_2008.pl?action=more&amp;token=8226"&gt;Building Responsive and Scalable Applications panel&lt;/a&gt; I contemplated for a while on this topic.  &lt;br /&gt;
&lt;br /&gt;
For a long time we have Software Performance Engineering addressing these issues. As it described in the books and papers of &lt;a href="http://www.spe-ed.com/"&gt;Dr. Connie Smith&lt;/a&gt; and &lt;a href="http://www.perfx.net/pubs.htm"&gt;Dr. Lloyd Williams&lt;/a&gt;, it looks rather as a methodology for me.</description>
<pubDate>Tue, 11 Nov 2008 22:34:31 -0600</pubDate></item>
<item>
 <title>The short and the long of IT:  two videotaped presentations</title>
 <link>http://www.testingreflections.com/node/view/7437</link>
 <description>&lt;p&gt;Since the middle of the year, I&amp;#8217;ve presented and facilitated about 12 hours of sessions at 2 traditional and 3 open space conferences, plus a Googleplex visit.  Two presentations are now on video, both filmed on the other side of the world from my usual location of Melbourne, Australia. 
&lt;p&gt;A lightning talk (at the functional tools workshop held before Agile 08 in Toronto, Canada) called &lt;a href="http://video.google.com/videoplay?docid=1922281420908038401"&gt;Shades of Green&lt;/a&gt; discusses how the &amp;#8220;green&amp;#8221; passing tests of functional automation may not be as green as they seem. Note the static pose to stay within camera range, compensated for by the wildly waving arm.  And yes, the audience was not limited to a leg and a foot.
&lt;p&gt; An order of magnitude longer at around 50 minutes, a Google Tech Talk (filmed at the San Francisco Googleplex) called &lt;a href="http://au.youtube.com/watch?v=zXRxsRgLRZ4"&gt;80:20 Rules! Building Software Smarter&lt;/a&gt; looks at formal and informal ways to get significant improvements in creating software, including various puzzles and questions for viewers.  I had looked at some tech talks by other people I know, and they had been watched around 1000 times over a year or so.  It looks like I may hit that mark only a few days after the video was posted which is great.  I hope my talk inspires people to build their software smarter.  Can I turn &amp;#8220;shades of green&amp;#8221; into a similar talk? Probably not!&lt;/p&gt;</description>
<pubDate>Tue, 14 Oct 2008 17:28:09 -0500</pubDate></item>
<item>
 <title>ISubmitBlogPosts - a nice twist on Apps Hungarian Notation for Interfaces...</title>
 <link>http://www.testingreflections.com/node/view/7234</link>
 <description>&lt;p&gt;I've been pairing with &lt;a href="http://andypalmer.com/"&gt;Andy Palmer&lt;/a&gt; over this last week. I have to say it's been a lot of fun... and I think we've learned a lot from the experience. One of the things I learned from Andy this week was an innovative use of Hungarian notation for interfaces... Andy told me about &lt;a href="http://www.udidahan.com/"&gt;Udi Dahan's&lt;/a&gt; presentation on &lt;a href="http://cid-c8ad44874742a74d.skydrive.live.com/self.aspx/Blog/Intentions%20and%20Interfaces.pdf"&gt;intentions and interfaces (PDF)&lt;/a&gt;&lt;/p&gt;</description>
<pubDate>Tue, 18 Nov 2008 13:26:44 -0600</pubDate></item>
<item>
 <title>Pitfalls of the "Waterfall" Approach to Performance Testing</title>
 <link>http://www.testingreflections.com/node/view/6784</link>
 <description>Looks like the pre-production validation approach to performance testing becomes typical for large corporations (if there is any at all):&lt;br /&gt;
&lt;br /&gt;
-get the system ready&lt;br /&gt;
-develop all scripts requested (sometimes offshore)&lt;br /&gt;
-run them all together  &lt;br /&gt;
-compare with the requirements provided&lt;br /&gt;
-allow some percentage of errors according to the requirements&lt;br /&gt;
-involve the development team if requirements were missed</description>
<pubDate>Mon, 24 Mar 2008 16:23:17 -0500</pubDate></item>
<item>
 <title>The P28 virtual fence: Borderline success or virtual vaporware?</title>
 <link>http://www.testingreflections.com/node/view/6685</link>
 <description>I&amp;#8217;ve already noted some of the issues around the virtual fence &lt;a href="http://www.testingreflections.com/node/view/6584"&gt;here&lt;/a&gt;.  In May 2006, George W. Bush called &lt;a href="http://seattletimes.nwsource.com/html/nationworld/2004247618_fence28.html"&gt;it&lt;/a&gt; &amp;#8220;the most technologically advanced border-security initiative in American history&amp;#8221;. In a flash of originality, the 28 mile virtual fence in Arizona was called Project 28, or P28 in Chertoff-speak.  Micheal Chertoff has now accepted the fence system, on the &lt;a href="http://www.businessweek.com/bwdaily/dnflash/content/feb2008/db20080224_162462.htm?chan=top+news_top+news+index_businessweek+exclusives"&gt;basis&lt;/a&gt; that &amp;#8220;all of the defects&amp;#8221; in the prototype project were either &amp;#8220;cured&amp;#8221; or &amp;#8220;immaterial.&amp;#8221;  He also &lt;a href="http://www.reuterssummits.com/news/articlenews.aspx?type=scienceNews&amp;#38;storyID=2008-02-23T023234Z_01_N22608938_RTRUKOC_0_US-USA-IMMIGRATION-BORDER.xml&amp;#38;pageNumber=1&amp;#38;imageid=&amp;#38;cap=&amp;#38;sz=13&amp;#38;WTModLoc=NewsArt-C1-ArticlePage1"&gt;said&lt;/a&gt; &amp;#8220;In some form or fashion, technology is going to be virtually every place on the border, but it&amp;#8217;s not necessarily going to be in the configuration of P28,&amp;#8221;  The chair of the House Committee on Homeland Security, Representative Bennie Thompson, sees it differently, &amp;#8220;The poorly structured contract that prevented the line Border Patrol agents from pointing out obvious flaws and caused an overreliance on contractors has resulted in a system that has been described as providing &amp;#8216;marginal&amp;#8217; functionality at best,&amp;#8221; I wonder if he was tempted to say the Border fence had borderline functionality. [grin]  
&lt;p&gt;The technology stack on top of each tower looks
&lt;a href="http://bp0.blogger.com/_gxNFoOtI86A/R8yjM8277-I/AAAAAAAAANA/zUPYOoBppps/s1600-h/virtual+fence.jpg"&gt;impressive&lt;/a&gt; . 
  The project is 
&lt;a href="http://blog.foreignpolicy.com/node/8292"&gt;anything but impressive&lt;/a&gt; , with many of the &lt;a href="http://www.pcworld.idg.com.au/index.php/id;1275789676;fp;4;fpid;782452;pf;1"&gt;issues&lt;/a&gt;  
 typical in the IT industry: badly underestimated effort, not involving users, and not enough testing,  While there was evidently a push for reuse of existing systems and components, it caused many difficulties: trying to base the system around a law enforcement dispatch system (!) that couldn't scale, trying to use off-the-shelf components that weren't designed to integrate, and a lack of standards for the sensors.  
The builder of the system, Boeing, has only taken 3/4s of the $20 million fee, granted a $2 million credit, and apparently paid $40 million to get this far on a project that will now finish in 2011, not the end of this year (which was already a year and a half past the original schedule). That will only be phase one!&lt;/p&gt;</description>
<pubDate>Wed, 05 Mar 2008 04:06:01 -0600</pubDate></item>
<item>
 <title>CMG Opens Its Content to the Public</title>
 <link>http://www.testingreflections.com/node/view/6572</link>
 <description>&lt;a href="http://www.cmg.org/national/about-cmg.html"&gt;The Computer Measurement Group (CMG)&lt;/a&gt; is making its conference proceedings from 1997 through 2005 available to the public. I believe that &lt;a href="http://www.cmg.org/conference/"&gt;CMG holds the best practical conference in performance analysis, capacity planning, and related areas&lt;/a&gt;. In addition to the areas listed below, I'd definitely add performance testing. Here is the official mail CMG sent:</description>
<pubDate>Tue, 12 Feb 2008 13:30:21 -0600</pubDate></item>
<item>
 <title>Education</title>
 <link>http://www.testingreflections.com/node/view/6501</link>
 <description>With great interest read &lt;a href="http://itmanagement.earthweb.com/career/article.php/3722876"&gt;Who Killed the Software Engineer? (Hint: It Happened in College)&lt;/a&gt; by James Maguire as well as the original article &lt;a href="http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html"&gt;Computer Science Education: Where Are the Software Engineers of Tomorrow?&lt;/a&gt; by Dr. Robert Dewar and Dr. Edmond Schonberg.</description>
<pubDate>Sat, 02 Feb 2008 23:08:05 -0600</pubDate></item>
<item>
 <title>Performance Requirements</title>
 <link>http://www.testingreflections.com/node/view/6397</link>
 <description>My performance requirements paper was published in &lt;a href="http://www.stpmag.com/issues/stp-2008-01.pdf"&gt;the January issue&lt;/a&gt; of &lt;a href="http://www.stpmag.com/"&gt;Software Test &amp; Performance&lt;/a&gt; (pp.18-24).&lt;br /&gt;
&lt;br /&gt;
It was simple: I just sent a draft – and now I am reading it printed. With a new name - or even two: it is referred as &lt;i&gt;You Can Gauge Performance Without Requirements&lt;/i&gt; in one place and &lt;i&gt;Gauging Performance in The Absence of Measures&lt;/i&gt; in another. Not to mention other minor improvement.</description>
<pubDate>Sun, 06 Jan 2008 17:08:27 -0600</pubDate></item>
<item>
 <title>From the Mailbox: Software Development: Art or Science?</title>
 <link>http://www.testingreflections.com/node/view/6091</link>
 <description>&lt;dl&gt;&lt;dt&gt;Here’s a question that I didn’t realize I had much to say about until I read my own response.&lt;/dt&gt;
&lt;dt&gt;&amp;nbsp;&lt;/dt&gt;
&lt;dt&gt;&lt;b&gt;The Question:&lt;/b&gt;&lt;/dt&gt;
&lt;dt&gt;&lt;blockquote&gt;Software Development: Is it an art or a science?  An age old question I know, but what do you think and why?&lt;/blockquote&gt;&lt;/dt&gt;&lt;dt&gt;&amp;nbsp;&lt;/dt&gt;
&lt;dt&gt;&lt;b&gt;My Response:&lt;/b&gt;&lt;/dt&gt;
&lt;dt&gt;&amp;nbsp;&lt;/dt&gt;
&lt;dt&gt;I refer to new software development as a scientific art. I've seen some maintenance work, platform porting, etc. that has been almost entirely mechanical -- I'm not sure what that counts as, but I certainly didn't witness anything "artistic".</description>
<pubDate>Thu, 18 Oct 2007 14:47:12 -0500</pubDate></item>
<item>
 <title>What Skills Performance Testers Need and How to Get Them?</title>
 <link>http://www.testingreflections.com/node/view/6037</link>
 <description>From time to time I see questions on different forums asking what skills are necessary for performance testers. There were pretty &lt;a href="http://www.sqaforums.com/showflat.php?Cat=0&amp;Number=47176&amp;an=&amp;page=0&amp;vc=1"&gt;interesting discussions&lt;/a&gt;. Looks like most experts agree that performance testing requires more skills than just knowledge about how to create a script for a particular load testing tool. While it is still possible to imagine a performance tester in a large corporation with deep specialization who only creates scripts and mechanically runs them while other performance experts monitor the system and analyze results, I don't see many perspectives neither for this person, nor for the approach. Systems become so complicated now that the sum of specialized expert views doesn't give the whole performance picture.</description>
<pubDate>Mon, 15 Oct 2007 09:31:39 -0500</pubDate></item>
<item>
 <title>Guerilla Approach</title>
 <link>http://www.testingreflections.com/node/view/6030</link>
 <description>&lt;a href="http://www.cmg.org/measureit/issues/mit44/m_44_18.html"&gt;&lt;br /&gt;
Mark Friedman reviewed Neil J. Gunther's new book "Guerilla Capacity Planning: A Tactical Approach to Planning for Highly Scalable Applications and Services"&lt;/a&gt;&lt;br /&gt;
in &lt;a href="http://www.cmg.org/measureit/"&gt;MeasureIT&lt;/a&gt; (free registration may be needed - I hate registrations, but this one is worth efforts if you care about performance: it is a very good newsletter).</description>
<pubDate>Thu, 04 Oct 2007 14:06:44 -0500</pubDate></item>
<item>
 <title>"Shot in the Dark" anti-pattern</title>
 <link>http://www.testingreflections.com/node/view/4093</link>
 <description>Kirk proposed the &lt;a href="http://www.kodewerk.com/proposed_antipattern_shot_in_the_dark.htm"&gt;"Shot in the Dark" anti-pattern&lt;/a&gt;. By my opinion, a must reading for all working with performance issues.</description>
<pubDate>Fri, 01 Sep 2006 21:00:50 -0500</pubDate></item>
<item>
 <title>Predicting the Path of the Storm</title>
 <link>http://www.testingreflections.com/node/view/3873</link>
 <description>Recently, three unrelated events have given birth to a new idea in my head, and I wanted to share it with you.  So, to properly set up the background, the three unrelated events:&lt;br /&gt;
&lt;br /&gt;
At the recent CAST, James Bach presented a keynote, “&lt;a href="http://www.associationforsoftwaretesting.org/conference/keynote.html#"&gt;Against Certification&lt;/a&gt;”.  During that presentation, one of the things he did was to review some of the “Body of Knowledge” documentation upon which such certifications were based.  As he reviewed this documentation, one of the things I was struck by was an underlying pattern of motive driving much of the documentation.  That motive was the ability to predict, manage, and control the SDLC.  Much of this “Body of Knowledge” for test certification was obviously written by managers, not testers.</description>
<pubDate>Tue, 27 Jun 2006 12:11:11 -0500</pubDate></item>
<item>
 <title>Python - log parsing, statistical analysis, and performance graphs</title>
 <link>http://www.testingreflections.com/node/view/3764</link>
 <description>&lt;b&gt;Python - log parsing, statistical analysis, and performance graphs:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Over the past few years, Python has become my favorite language to program in.  I do tools development and work regularly on a variety of platforms, so I try to stay versatile with respect to languages.  I've written lots of code in a variety of languages over the years (C, C++, Scheme, Pascal, Java, C#, Perl, Python, etc.).  For a long time, Perl and Java were my goto languages.  Any quick script or heavy text slinging; I would reach for Perl.  Any larger project that needs an organized class structure; I would reach for Java.  Then a few years back I started banging around Python and learned what a fantastic programming language it can be for _anything_.&lt;br /&gt;
&lt;br /&gt;
The past few days I have been working on a tool for analyzing performance data that an application logs during load tests.&lt;br /&gt;
&lt;br /&gt;
I needed a working version quickly that I can show as a proof of concept.  Part of the requirements is that the tools must integrate well with a .NET environment, and be maintainable and extendable by people in the .NET shop.  Many people claim Python is a great prototyping language.  It has clean syntax and structure and is great for quickly building class libraries.   I started to think I would create something quick in Python and then maybe later port it to C#.  Well it turned out so nice and so easy to work with, that I can't imagine using anything but Python for it now.  (IronPython perhaps?)&lt;br /&gt;
&lt;br /&gt;
so I ended up creating a generic framework in Python and exposed a scriptable API.&lt;br /&gt;
&lt;br /&gt;
It can:&lt;br /&gt;
- parse MS Event Logs&lt;br /&gt;
- slice the data up into a time-series&lt;br /&gt;
- run some statistical calculations on the time series&lt;br /&gt;
- output graphs (to gif/png images for web display, or to a GUI with more powerful viewing)&lt;br /&gt;
&lt;br /&gt;
It is built with:&lt;br /&gt;
- Python&lt;br /&gt;
- Matplotlib&lt;br /&gt;
- MS Log Parser 2.2&lt;br /&gt;
&lt;br /&gt;
I had to do a lot of work with crunching data sequences and slicing up time series data.&lt;br /&gt;
Python's dynamic typing and simple data structures made it very flexible to handle all the data processing with a minimal amount of code.  The most useful thing was Python's &lt;a href="http://en.wikipedia.org/wiki/List_comprehension"&gt;List Comprehension&lt;/a&gt; features.  List Comprehensions are very powerful constructs for list processing that allow you to do some heavy lifting with numeric sequence processing in a very concise way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;MS Log Parser 2.2&lt;/b&gt;&lt;br /&gt;
Log Parser is a tool from Microsoft that lets you query log files with an SQL dialect.  I built a wrapper around this with Python's popen methods.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Matplotlib&lt;/b&gt;&lt;br /&gt;
Matplotlib is a 2D plotting library written in Python.  I created a graphing API for my framework that uses this.  It was simple to create and the graphs look great.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;corestats.py&lt;/b&gt;&lt;br /&gt;
One of the classes I wrote was for doing simple statistical calculations.  You can grab a copy here if you are interested:  &lt;a href="http://www.goldb.org/corestats.html"&gt;http://www.goldb.org/corestats.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Corey Goldberg&lt;br /&gt;
 &lt;a href="http://www.goldb.org"&gt;www.goldb.org&lt;/a&gt;</description>
<pubDate>Sun, 04 Jun 2006 16:07:26 -0500</pubDate></item>
<item>
 <title>Performance vs. Testability and semi-virtual method calls</title>
 <link>http://www.testingreflections.com/node/view/2557</link>
 <description>I won't try to sit here and say that the issue of performance vs. testability can be summed up in one blog post (or a full article for that matter). However, it's an important one and during my consulting gigs I've come across some interesting questions and answers regarding this area. Here are some of my thoughts on this. &amp;nbsp; In languages like C++ developing real-time performing applications may also mean having coding-call standards such as "do not use virtual functions" in the feat that a virtual call repeated enough times may slow the system substantially.</description>
<pubDate>Mon, 25 Jul 2005 00:41:26 -0500</pubDate></item>
</channel>
</rss>
