<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Tasting --by Geordie Keitt &#187; rapid testing</title>
	<atom:link href="http://tester.geordiekeitt.com/category/rapid-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://tester.geordiekeitt.com</link>
	<description>sitting in a corner like little jack horner, testing your software pie</description>
	<lastBuildDate>Fri, 21 May 2010 13:24:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Testing In Principle: Root</title>
		<link>http://tester.geordiekeitt.com/2008/11/testing-in-principle-root/</link>
		<comments>http://tester.geordiekeitt.com/2008/11/testing-in-principle-root/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 03:58:23 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[rapid testing]]></category>
		<category><![CDATA[t'ai chi]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/archives/19</guid>
		<description><![CDATA[T’ai chi hurts to do.  The benefits are enormous, and the cost is pain.  The nice part is, the same deal applies to most things in life.  If you want to be a great guitar player, your fingers will hurt.  If you want to be a great athlete, your muscles will [...]]]></description>
			<content:encoded><![CDATA[<p>T’ai chi hurts to do.  The benefits are enormous, and the cost is pain.  The nice part is, the same deal applies to most things in life.  If you want to be a great guitar player, your fingers will hurt.  If you want to be a great athlete, your muscles will hurt.  My teacher Chris Casey says, “There is no way out.  But there is a way through.”<span id="more-19"></span><br />
<br />
What hurts is letting go of the tension in my body and feeling that tension come into consciousness.  When I work this while standing and imagining that I am connected with the earth through the soles of my feet, the pain is incredible in my feet and legs, the burn of chi blowing through parts of my body that I’ve denied it access to for many years.  The gains of course are commensurate with the effort I put in.  The key win while rooting is that I am connected to something much larger than myself, a thing to which everything and everyone else is connected as well: the earth. When I am participating consciously in that connection I have insight into the connections others have with the earth as well, and can analyze and manipulate it to my benefit in tai chi, and to their benefit too as a friend.  The pain comes from losing the shell of ego I have built that separates me from my surroundings.<br />
<br />
The testing parallel is obvious from my other blog entries: the bare facts of your context are the ground you stand on when choosing what to test and why.  A great Rapid Tester does not arrive in a context already thinking she knows all she needs to know, fully formed, individuated and full of opinions about what is best.  She learns.  She crawls, then walks, then runs.  Asks questions, appears clueless, and opens herself to learning about everything from everything.  She molds herself into a teammate in order to be useful, takes on all the different viewpoints of the stakeholders, and also learns to “think like the code” (model the system) as well.<br />
<br />
This is a painful process for those of us with egos that tell us to look like we have the answers.  It is hard work to catalog my biases and weaknesses, and to systematically counteract them.  One of the best methods for analyzing my tendencies is to participate in friendly competitions and debates with fellow testers.  I learn that all of my favorite tricks have pitfalls, and there are a lot of great ways to test and manage testing that I have not yet thought of.  I have become more comfortable with that fact.  And I have become comfortable in my community, a vibrant and living aspect of my context that I am very happy to be able to tap when necessary.<br />
<br />
One more point about Root.  The tai chi player with more root always wins.  That is because they can extend their root beneath their opponent and cut them off from the earth.  A good player can literally bounce me like a basketball when they sink below me, test my connection to the earth, and find the flaws in it.  We have the same job as testers, to probe the structure of our systems and the strength and depth of their logic and implementation, and to work on the flaws we see or suspect, until we break the illusion that the system “just works” and can bounce it around like a basketball.  When I do good Rapid Testing, I am sinking deeply into the problem space, asking the hardest questions, getting at the heart of the matter, and feeling the burn.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2008/11/testing-in-principle-root/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Testing In Principle: Work Directly Toward the Center</title>
		<link>http://tester.geordiekeitt.com/2008/10/testing-in-principle-work-directly-toward-the-center/</link>
		<comments>http://tester.geordiekeitt.com/2008/10/testing-in-principle-work-directly-toward-the-center/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 01:19:36 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[james bach]]></category>
		<category><![CDATA[pirsig]]></category>
		<category><![CDATA[rapid testing]]></category>
		<category><![CDATA[t'ai chi]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/archives/18</guid>
		<description><![CDATA[When I worked with James Bach on a Satisfice project he would ask me uncomfortable questions about what I was doing and why I was doing it.  He&#8217;d ask, &#8220;Tell me what this bug is at its core.&#8221;  I&#8217;d say, &#8220;When I click this button, I get an error message instead of the [...]]]></description>
			<content:encoded><![CDATA[<p>When I worked with James Bach on a Satisfice project he would ask me uncomfortable questions about what I was doing and why I was doing it.  He&#8217;d ask, &#8220;Tell me what this bug is at its core.&#8221;  I&#8217;d say, &#8220;When I click this button, I get an error message instead of the dialog I&#8217;m expecting.&#8221;<br />
<br />
&#8220;Why do you expect a dialog?&#8221;<br />
<br />
&#8220;Because that&#8217;s how the app is supposed to work.&#8221;<br />
<br />
&#8220;How do you know?&#8221;<br />
<br />
&#8220;It worked that way another time.&#8221;<br />
<br />
&#8220;Ahh, so there is an inconsistency between how it worked before and the way it works now.  What is different?  How do you know that they are not both right?&#8221;  <span id="more-18"></span><br />
<br />
What he needed me to get at was the clearest possible understanding of the issue, and the clearest and  simplest expression of it.  He imposed a 75-character limit on bug report summaries.<br />
<br />
A typical progression of a bug report might go like this:<br />
<br />
<em>Error message appears after user selects calendar icon on application page<br />
<br />
Calendar sometimes fails to load on application page<br />
<br />
Calendar sometimes fails to load on any page<br />
<br />
Calendar sometimes fails to load on low-RAM system (256MB)<br />
<br />
All Java calendars fail to load when less than 50MB RAM available<br />
</em><br />
<br />
I have found that I know when I have hit the core of a bug (or at least close enough).  My mind comes to rest.  Robert Pirsig describes the feeling very nicely in &#8220;Zen and the Art of Motorcycle Maintenance&#8221;: &#8220;the material and the craftsman&#8217;s thoughts change together in a progression of smooth, even changes until his mind is at rest at the exact instant the material is right.&#8221;<br />
<br />
In t&#8217;ai chi we focus on the center of everything.  The center of your weight, the tan tien, is the source of all your power.  If you can control your opponent&#8217;s center then you can control his balance in push hands and you will win.  When you shift weight you will shift it to the center of your foot and the center of your knee will travel straight over the center of your foot.<br />
<br />
I read a book about Abraham Lincoln that described his mental processes as slowly but inexorably penetrating to the heart of every matter.  He paid attention to all the sides of an issue, peeling back the layers of emotion and baggage that people allow to accumulate on an issue such as the continuance of slavery in America, while aiming over and over and over for the heart of the matter.  He didn&#8217;t mind if he didn&#8217;t fathom it all at once, he was patient and confident that when he arrived at the core it would be evident.  It is this grasp of the issues that led him to be such a fierce debater.  His stance was always more deeply rooted than his opponent, who inevitably would grasp at an argument thinking it was the core that Lincoln had already peeled back for himself and exposed as more mere baggage.<br />
<br />
Rapid Testers directly approach the areas of greatest risk, greatest uncertainty, least clarity, greatest fear and greatest neglect.  These are the leverage points where we can be the most use in the least time.  The proper attitude is humble and fearless.  Like a great martial artist we understand that we must dispatch these enemies of quality as quickly as possible because although only one thing happens at a time, there are no guarantees about when the next thing will happen.  There are no shortcuts to the center though.  You aim and release your best energy at it &#8211; tests, weight shift, tai chi push &#8211; and then adjust as your feedback returns to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2008/10/testing-in-principle-work-directly-toward-the-center/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Testing In Principle: Relaxation</title>
		<link>http://tester.geordiekeitt.com/2008/05/testing-in-principle-relaxation/</link>
		<comments>http://tester.geordiekeitt.com/2008/05/testing-in-principle-relaxation/#comments</comments>
		<pubDate>Thu, 15 May 2008 04:17:26 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[james bach]]></category>
		<category><![CDATA[rapid testing]]></category>
		<category><![CDATA[t'ai chi]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/archives/11</guid>
		<description><![CDATA[At the time I first took a class with James Bach on Rapid Software Testing (RST), I had been studying t&#8217;ai chi chuan for about 7 years.  Throughout the class I kept hearing James say the same things my instructors told me: relax, be open to the energy of what&#8217;s around, listen and adapt, [...]]]></description>
			<content:encoded><![CDATA[<p>At the time I first took a class with James Bach on Rapid Software Testing (RST), I had been studying t&#8217;ai chi chuan for about 7 years.  Throughout the class I kept hearing James say the same things my instructors told me: relax, be open to the energy of what&#8217;s around, listen and adapt, and keep your balance.  Of course, he didn’t use those exact words.  What he said was, “To do Rapid Testing, you don’t need permission.  It is completely within your own control.”  <i>Keep your balance.</i>  “Rapid Testing is like team sports: quickly establishing the proper relationships with your team, handling the ball properly when it comes to you, passing it off to the right person at the right time, staying aware of the time and the score, and furthering the goals of the team.” <i>Adapt to your situation.</i>  “Give up responsibility for impossible testing tasks like ‘complete coverage’ and ‘zero defects’, and instead do your best with what you have and be prepared to explain the choices you make.” <i>Relax.</i>  “Do everything you can to improve your skill as a testing problem-solver and teller of the quality story.”  <i>Practice, practice, practice.  T’ai chi will aid everything else you do.</i><br />
<br />
Key principles taught in t’ai chi class are Relaxation, Straightness, Separation of Yin and Yang, Empty Steps, and Focus in the Tan T&#8217;ien.  I&#8217;d like to share how I apply these to Rapid Software Testing.<br />
<br />
<strong>Imagining Strength, the Relaxed Way</strong><br />
<br />
My first t&#8217;ai chi teacher, Dan Ogrydziak, made a point about strength.  He said that strength is not just in how much we can do, but in how easily we can do it.  Imagine, he said, a cartoonish strongman and a pencil-necked geek each lifting a 10 lb barbell.  They each could do so, probably, but the stronger one will be much more relaxed about it.  Now imagine the weaker man practicing lifting that barbell with as much relaxation as possible, with the goal to be as relaxed as the other man &#8211; what would his body look like when he was done?  What would lifting that barbell feel like?  What else could he lift, or do, more easily?  T&#8217;ai chi is a path to explore the benefits of this re-definition of strength, strength through softness rather than through the usual method of over-work and damage and rebuilding the muscle tissue, which leads to hard, stiff, bulging muscles.<br />
<br />
I had to make a similar transition between the goals I wanted to achieve when I began practicing rapid testing.  I’d been told that I was “in charge of quality” and that “we should have bug-free software”, so I was pretty stressed: bugs were my responsibility, since I was in charge of quality, but I didn’t have any power over the bug-insertion process.  I looked at the software and decided the UI was too complicated, so I tried to get the design team to change how it did its business, and promptly created significant ill-will with that team.  I did not understand the central engine of the software, and did not want to appear dumb by asking too many questions, so I remained ignorant and covered my tail by finding low-hanging bugs.  At the same time the code was being developed and morphed at a dizzying rate by a young, talented design team.  I was in over my head, and tried to control the chaos by doing what I had been told: Requirements &#8211; Test Matrices (“Where are the requirements docs?  How can I work like this?”), being the Gatekeeper (“We don’t release it until I say it’s fully tested!”), trying to nail down a Dev Process (“Which bug was this fix for?  No bug, no fix!”).  This is like being the weak guy, and coveting the way the strong guy looks, with his big bulging, inefficient muscles and his injury-prone joints.<br />
<br />
The RST class gave me a new frame of reference for my success: actual value to the team, instead of control of the product.  I began by throwing away the process documents and matrices, and asking the people who were in charge what they wanted from me right now.  I kept lists of concerns raised by people who mattered, and followed up on them as well as I could.  I swallowed my pride and got training in the innermost workings of the system, and ultimately decided that it was not worth my time to test it explicitly, since the developers were using TDD and xUnit &#8211; but at least I had done so rationally and with a clear conscience.  And I involved the whole team in testing their product with several after-hours bug hunts where the Design team and I assigned user personae to the team and we all acted out scenarios &#8211; this built bridges back to the Design team, and also gave the developers a taste of testing, immediately improving my credibility when I asked them for testability suggestions and improvements.  In other words, I gave up trying to control everything, and redefined my job into something that I could do where I was with what I had.<br />
<br />
I resumed sleeping at night, another fabulous side benefit of practicing relaxation.<br />
<br />
<strong>Letting Go of Preconceptions</strong><br />
<br />
When we relax under our current burdens, we become usefully strong in all the ways that can help us do what we are doing right now.  The most important thing that relaxation does for us is to open the pathways of chi energy in our bodies.  The feeling is immediate and clear: better blood flow, more energy, better coordination, more sureness and precision in movement.  The same physical letting go I do when I relax can have immediate mental and emotional effects too: a clearer sense of the din, the energy right around me, less anxiety, a more appraising eye, more self-confidence and humility.   This in turn leads to considered action which is more likely correct or correctable.<br />
<br />
In the RST course, James spoke about this by saying, “Testing is applied epistemology.”  If we want to know how a thing works, we have to open our eyes and ears and gather evidence, and open our analogic mind to create testable hypotheses which interpret that evidence.  Then to test the hypothesis we need to separate what we want to keep stable from what we want to vary, and introduce those variations in a controlled, observable way.  The enemy of this process is preconception.  Tension, whether mental, emotional, or physical, is the result of anticipating something happening to us like something that happened in the past, and being on hair trigger alert to respond in the pre-planned fashion that our tension facilitates.  We become predisposed to interpreting any stimuli as being whatever we are anticipating, whether it really is or not, and once we do that, we trip the trigger of whatever response we have already decided on and have prepared to do.  Obviously, this is terrible testing practice.  How many entire problem spaces have I ignored because I was not open to seeing any problems there?<br />
<br />
James also addressed the idea of using the benefits of relaxation when he spoke about testing in a “flow state”, usually during exploratory testing.  When we have granted ourselves the freedom to act as we see fit and to follow up on any leads we see, even within the bounds of a charter, we have chosen to test with our minds open.  We can use our enhanced awareness of the energy of the team, of the project, and of the software itself to guide our tests to focus on the greatest risks or the most pressing needs.  This is important when we are going to report our testing status and need to be accountable for our decision-making.  It was easy when I had my matrix to be able to say, “I had to cover squares B5-C12 today.  It isn’t my fault no one cares about the contents.”  Now I need to be able to tell my team that I spent the week trying to calm down this particular customer, even at the expense of following up on that bug fix that the developer wanted feedback on.  I find that I am in much closer touch with my leaders when I use this approach, because I have to make sure that they buy into my read of the situation.  I find I’m usually right, and when I’m not, I am able to change course and accept the new direction with equanimity because my criterion for success is value to the team, not control of the product.<br />
<br />
<strong>Avoiding Injury</strong><br />
<br />
Another important benefit of relaxation is that you avoid injury from failing at something that is too much for you.  Tendon and ligament damage only happen when you cannot lift something with some relaxation.  By working to do everything with relaxation, we start to notice when we can&#8217;t be relaxed, and perhaps ask ourselves what the problem is: too heavy a burden?  Too hard an assignment?  Too contrary a lover?  Too high an expectation?  Then we can work to shed the excess and recover our marginal capacity, and our relaxation, and our productivity, and our health.<br />
<br />
The analog in the RST course is the Status Report game.  “On a scale of 1 to 100”, asks your boss’s boss, “how done is testing?”  The sort of answer James was looking for is, “0 to 100 what?  I have a better idea, let me tell you about our product and our testing.”  The usual answer, of course, was something like “85 &#8211; We’ve done most of our testing, there’s still a bunch to go, and 80 sounded too small.”  People fall into the trap of playing up to the expectations that they believe others put on them, and then they paint themselves into a corner.  Much better is to tell the story of quality, plainly and openly.<br />
<br />
In terms of project work, the analog is to say, “I don’t know how to do that (ensure zero defects / program in PHP / make sure we are CMM-Level-2-compliant)” or “You might want to find someone else who can help you with that (gin up numbers for a sales brochure / close out defects to hit a quota / give the thumbs-up for a release)”.  Otherwise I just take on stressful jobs that I can’t do.<br />
<br />
<strong>Better Listening and Responding</strong><br />
<br />
One interactive t&#8217;ai chi activity we practice is called push hands or listening hands.  We stand a few inches apart and place our hands lightly on one another&#8217;s arms.  Then we relax and listen to each other&#8217;s bodies as we move our weight back and forth, with the goal to unbalance your partner while remaining balanced, and to use as little force as possible.  It is a lot like trying to hack a system and keep from being hacked, and relaxation is your firewall and also your penetration strategy.  With more relaxation you can hear your partner&#8217;s body, its limitations and its intentions, sometimes even before it physically moves.  At the same time your body loses its tendencies and predictability, gains flexibility in the joints, and is able to sink lower and lower to be more stable, so you are harder to unbalance.<br />
<br />
James and Michael Bolton have come up with a vast array of lists of options that are available to a tester: test techniques, analytical methods, planning methods, logistical issues, reporting techniques, and on and on, coalescing the hard experience of decades of testing and thinking into a diamond-dense pith of instantly-accessible heuristics to apply.  Much of the RST course is built on these lists, and the goal is to open the student’s eyes to the incredible array of possibilities at their disposal without making it seem like to landscape is so limitless that they freak out.  For some reason, my mind does not do well trying to memorize these lists (even though I can remember thousands of lines of song lyrics &#8211; strange).  But I’ve developed a working familiarity with them, so that I understand when I’m in a situation where one might come in handy.<br />
<br /> <br />
The most satisfying testing, though, comes when my interaction with the software takes on the characteristics of push hands, and I am working on its balance with variations of data and timing and environment, and it is challenging me with nuances of responses that require deep analysis to be sure what they are saying.  Was that “success” message really valid, or was it given to me erroneously?  Did it round down properly, or just truncate the response?  One false assumption, and I miss a lead, and down I go on my butt when a customer calls with a a bug report.  Or, when I write the exact right oracle utility (using perl, of course) for a new feature, and find the hidden showstopper &#8211; boom, down the app goes on its butt.<br />
<br />
<strong>RST = Relaxed Software Testing</strong><br />
<br />
A Rapid Tester relaxes and remains useful while situations change around her.  She has good work capacity and precision, dampens stress and anxiety, and inspires confidence.  She appraises the energy around her and is able to respond appropriately: this rumor is a new risk item, this nagging flicker might be a bug, this email is a charter, this design tidbit is a model update.  The Rapid Tester sheds what she cannot lift: she knows when to ask for guidance or state that she does not know how to accomplish an objective.  She does her best and reports plainly on her progress.  She knows her tendencies, her strengths and weaknesses, and exploits them and those of others in service to her mission.  She can pinpoint the source and nature of the issues she encounters, and can imagine options to choose from in how to solve them.<br />
<br />
Does this sound like you? </p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2008/05/testing-in-principle-relaxation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I&#8217;m Gonna Be a Rapid Tester Someday</title>
		<link>http://tester.geordiekeitt.com/2008/01/im-gonna-be-a-rapid-tester-someday/</link>
		<comments>http://tester.geordiekeitt.com/2008/01/im-gonna-be-a-rapid-tester-someday/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 04:50:53 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[james bach]]></category>
		<category><![CDATA[rapid testing]]></category>
		<category><![CDATA[satisfice]]></category>
		<category><![CDATA[song]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/?p=5</guid>
		<description><![CDATA[Welcome to my testing blog, offering an interesting, perhaps funny, perhaps entertaining, perhaps thoughtful view of my profession of software testing.

To kick this blog off right, I offer you Rapid Tester, a song about a tester at wit&#8217;s end about how to test all the stuff that he&#8217;s expected to test, and how the Rapid [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to my testing blog, offering an interesting, perhaps funny, perhaps entertaining, perhaps thoughtful view of my profession of software testing.<br />
<br/><br />
To kick this blog off right, I offer you <a href="http://tester.geordiekeitt.com/wp-content/uploads/2008/01/rapid_tester.mp3">Rapid Tester</a>, a song about a tester at wit&#8217;s end about how to test all the stuff that he&#8217;s expected to test, and how the Rapid Testing course gave him hope that he could at least do a defensibly reasonable job given what he has to work with.<br />
<br/><br />
I this wrote on the occasion of attending my first <a href="http://www.satisfice.com/seminars.shtml" title="RST">RST</a> class at James Bach&#8217;s <a href="http://www.satisfice.com" title="Satisfice" target="_blank">Satisfice </a>world headquarters in Front Royal, VA.  I&#8217;ve edited it slightly since then as my understanding of the material has grown, but the essence remains the same.  It borrows pretty much everything from Steve Earle&#8217;s beautiful song &#8220;Someday&#8221;.<br />
<br/><br />
Enjoy the song.  Did you change your opinion of yourself or your job because of the RST course or others like it?</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2008/01/im-gonna-be-a-rapid-tester-someday/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
<enclosure url="http://tester.geordiekeitt.com/wp-content/uploads/2008/01/rapid_tester.mp3" length="4037402" type="audio/mpeg" />
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.592 seconds -->
