Monday, July 30, 2012

Tester Reading Challenge: Read Markus Gärtner's ATDD by Example in 15 Days or less!

Are you ready for a Tester Reading Challenge? Read Markus Gärtner's ATDD by Example in 15 Days or less!

Okay, one of my favorite testers, Michael Larsen, AST Board Member, This Week In Software Testing   producer,  a Boy Scoutmaster, and Weekend Testing America's driving member is often found saying, hey make a bold prediction, and then try and meet that prediction, you may just surprise yourself.  Well in the aftermath of CAST 2012 (Conference for Association of Software Testing), I noticed that he and a couple of my favorite testers and MiagiDo members went to by Markus Gärtner's ATDD by Example.  My copy arrived just today, and I've been looking forward to reading it during the next couple of weeks.  I was admiring the cover, and the size of the book is not too hefty, and thought hey, it's a shame I couldn't get Markus's picture with it.  Well actually I did thanks to tweetdeck (see here: http://twitpic.com/adnenn) As tasteful a picture of a book with my notebook computer as it will come. The thought then occurred to me, this book is 200 hundred pages.

I began to wonder, how long would it take me to read through this, at ten pages a day that would be 20 days.  No, that sounds too easy, and with some free time to read padded in my schedule, I decided to challenge myself, and anyone else so motivated to read Markus's book in 15 days or left.  For myself, I've set myself a challenge of August 12th to finish the reading.  (see: https://twitter.com/Veretax/status/230093387708125186)

I have no idea whether that's a reasonable challenge for me given my commute times to and from work at just over an hour and a half both ways.  Nor do i know how much free time I'll have in the next few weeks, yet ten pages a day seems a decent morsel to both read and digest and it's high time I tried something bold.  

Not only that, I'm challenging every tester in the community, who has not already done so to purchase this book, and try to beat, match, or meet the goal of reading this 200 page tome in 15 days or less.  If you take the challenge, I'd love to hear from you, and your impressions of the book as I'm fairly certain it's reading may help many testers look at their craft in new ways.


So, will you take the challenge?

Here's a quick link to the book on Amazon, should your local bookstore not carry it ATDD By Example: A Practical Guide to Acceptance Test-Driven Development


Wednesday, July 4, 2012

Are You Prepared for Crisis? Retailers Need a Back-Up Plan for Outages

As I mentioned in my previous post, many around us have been dealing with the effects of the Summer Derecho storm that has impacted much of the eastern US.  Some of us are even effected when our businesses and homes are not located in the path of the storm as its affects no doubt impacted communications for the internet, hosting for many internet sites, and as Matt Heusser has written over at 21st Century It: Cloud Computing: Keeping Things Simple, Except When It Doesn't, an article which discusses how this emergency impacted Amazon's EC2 for several businesses and how some CEOs may react to the outage.

I in turn, posted in the comments there a long comment about how people of non cloud hosted solutions should not feel themselves somehow safer either, but I wanted to also post that comment (edited a bit for grammar) for the rest of my readers to review.  Please take a look and let me know in the comments, what areas you may have seen where companies could do more to avoid catastrophes like this, and in some cases, if it is just an 'Act of God' away from occurring, what can we do to minimize how this affects, not only our own corporate bottom lines, but the citizenry of an ever growing networked society?  Note that I've added a lot to what may be a comment some of you will have already read, but I think it is worth reading a second time.

In an era with ever increasingly severe, and unpredictable weather at times, I find that the story of Amazon's EC2 services outage, (a major outage to be sure) to be just one of many.   Look at the recent storm which has impacted several million citizens in just one night from Indiana, all the way through Ohio, West Virginia, Virginia, Maryland, DC, etc.   So, it isn't just cloud hosted solutions which are vulnerable to outages of this type.  Non-cloud solutions are no safer at times.

A great example are Point of Sale systems, such as those used by so many grocers. retailers, gas stations, convenience stores, restaurants, etc.   When the power is out at many of these locations, the expectation is it will quickly turn back on.  Yet as I a West Virginian look at the news I cannot help but look at major chains, like Krogers, Walmart, Food Lion, Foodland, Dollar General, and others who serve a large area and have now after nearly two plus days of little if any power have had to dispose of millions of dollars, countless tons of perishable products - everything from meats, cheeses, refrigerated juices, prepared meals, milk and deli meats and side items, and also highly time sensitive produce.

It saddens me that in the effort to fine tune profit lines, companies like these which provide vital services are caught just as the local populace without any type of failover plan.  At some stores even things that could be used and necessary in the short term like candles, matches, propane, grills, charcoal, and bottled water remained on shelves because stores had no fail over plan for how to handle inventory when the computers and power were down.   Retailers of all sorts turned people away without cash as credit card and even check verifying machines remained unable to function or connect due to lack of power, or down telephone lines left many desperate consumers stranded without cash.  Even if people had cash though, many stores had insufficient cash reserves, or lack of ability to process and sell merchandise absent the scanner based UPC code look up machines that so many retailers are dependent upon.

What's worse?  (For the corporate bottom line, that is.) People look far outside their normal shopping zones to shop at other stores of the chain, or (perhaps even more likely), customers take their dollars to spend at your competitors, who no doubt raked in cash hand over fist on simple commodities like generators, ice, bottled water, paper plates, cleaning supplies, and canned and other non-perishable items.  Those retailers who had a plan, positioned themselves to not only help the people seeking to find these goods, but likely increased their profit margins in the short term, which no doubt investors of any major retailer will appreciate.

For me at least, this is something that all companies need to address.  Whether they are cloud or not cloud related seems irrelevant at this point.   When I read that retailer X or Y contemplated buying a generator at some point but thought it would be used too infrequently to justify it's cost, I can't help but shake my head as more money is walking out the door in dumpster bins then in their bank accounts. For me, it was sad to see so much, could have been bought, or given away product (if you wanted a public relations effort in this environment), been cooked, and eaten by some who maybe had nothing for that day.  With freak ice storms, out of control wildfires, rain storms, hurricanes and tornadoes, and other such weather phenomena becoming more common in occurrence if I were a CEO I'd be rethinking my fail over plans at the local level when connectivity and power goes down.

Unfortunately, for those of us still stuck in this state of emergency, we are forced to pick up the pieces and begin the clean up as many more tons of lost food, and damaged homes and businesses will have to be performed before we can all get back to a state of normalcy.  So if you happen to live in one of these areas, pay attention to your normal sanitation schedule, and watch for instructions on local news or radio broadcasts on how to properly dispose of the spoilage so as not to attract rodents, and further complicate an already abysmal situation for many of us.

After the July 2012 Derecho Storm: A Call for Service to all

Hello, again, I know it's been a while since I last picked up the blogger's pen.  While the initial cause of my absence was do to many a real life concern that had taken most of my attention, most recently I have accepted a job with Rackspace in Blacksburg, VA starting soon.  I can't wait to start my endeavors there, learning new stacks, new technology, and helping test the things they have coming down the pipe.  I may post more about this transition at some time, but for now I'm playing the blogging idea by ear.

However, before I put the pen down again for a bit as I transition to something new, I have one more thing I feel the urge to write about.  For those not aware, this past Friday, the 29th of June, 2012, the eastern US was hit by a massive fast moving derecho storm which caused destruction on a vast scale and scope.  A state of a emergency was declared in many states, including my home in West Virginia as high winds knocked down power transmission lines, felled trees and limbs, hindered communications, affected water supplies, and a host of other acts of destruction which are still impacting these areas.  My home in Summers County, West Virginia was in an area heavily impacted by this storm, and we went nearly 72 hours without electricity, internet, television, or other modern conveniences like air conditioning.  What's more many of my neighbors lost several hundred pounds of stored food ranging from meats to produce as the thermometer climbed to near 100 Fahrenheit on some days, with brief showers providing only a small respite.

As work crews, continue into their fourth or fifth day of activities in areas where repair times for an entire county may be measured in days or weeks instead of hours, it is easy for many to get hot under the collar, angry at the slow turn around times, gas shortages in some places, hard to find ice or bottled water, so I ask that everyone in these affected areas look to your neighbors.  Help each other, and try to be smart with any purchases you make during this crisis.   This storm is at the least a storm of the decade in terms of damage, but may approach century levels when you consider the amount of Fuel, Food, and equipment deployed in this massive repair effort.   So look to your fellow man or woman, and if it is in your ability to help out even in a small way, please do so.

I have a post I'm working on to illustrate one major testing issue that came to my awareness this past weekend, but I want to take time to revise it a bit before posting it.  So to those who cannot yet read this due to power outages, fear not, help is coming.  For those in unaffected areas, consider donating to your local food banks, and the families of those brave workers who are travelling far from home to help those who are in need.    A donation of food may be very helpful for a food bank or pantry already tapped and stretched to the limit as people in surrounding states tax a system that is already struggling to provide for so many unemployed families.  I encourage you to consider donating a couple canned goods or non perishable items (as defined by your local pantry) in support of relief efforts, not just in these affected areas, but in your home towns and counties, as well as for the areas even now affected by the wild fires in Colorado.

For those who have already given of their time and resources, I want to thank you for your help and offering, those of us who have experienced this crisis may never be able to thank you personally for your hard, tireless, and perhaps round the clock work to help those of us whom you may never even see face to face.  Thank you all.

Tuesday, March 27, 2012

Elevator Optimization Challenge: Part 2

Earlier I posted an Elevator Optimization Challenge and asked for feed back on what kinds of questions you might need to ask in order to begin suggesting a course of action to make the elevator's usage more efficient.

If however you missed it, please return to Elevator Optimization Challenge for an overview.

Once you've familiarized yourself, you can continue after the jump.


Friday, March 9, 2012

Elevator Optimization Challenge

In my life I've lived, worked, and visited many buildings with elevators.  Some had a single elevator and a single digit number of floors.  Some had multiple public, private, or service related elevators, twenty or more floors.  Some count starting at Ground or 1 (First Floor), some have basements, sub basements, garages, or other floors outside the normal first floor up to the top floor.  I once lived in a dormitory that had a ground and zero floor, consider that for possible context.

Much has been written about elevator optimization, and I feel just as I would for many other problems that optimizing the elevator's function might not only depend on the context of the tenants and users of the building's elevator.  The context could even change as tenants moved in and out of the building not just through the day, but throughout the life time of the building.

So the thought occurred to me, what if a tester were approached to work for an elevator tuning company to help optimize the flow of traffic in the elevators.  What common questions would need to be asked to figure out the building's context?  So here's the challenge.  Below I am presenting four different building possibilities. I'm less concerned about the optimization of each building in the future but how to currently maximize its efficiency.   So here are the Buildings:


Building 1:
Office Building A:
Floors: 5 Numbered 1 - 5
Entry/Exit: Floor 1
Elevators: 2: 1 Public
Tenants:
Floor 1: 2, Law Office, CPA's office
Floor 2: File Storage, Break Room, Copy Center
Floor 3: Conference Room, Reception area, Storage
Floor: 4: Software Company: Management, Developer Offices
Floor: 5: Training Room, Support Desk Cubes

Building 2:
Apartment Complex
Floors: 12 Numbered B, G, 0-9
Entry/Exit: Floors B and G
Elevators: 2 Public Single controller
Tennants:
Floor B: Small Commerce, Post Office, Book Store, Weight Room
Floor G: Managers Office, Cafe, Storage
Floors 0-9: Tenants about 25 apartments per floor (for the purpose of the exercise assume an assortment of, 2, 3, Bedroom furnishings, with kitchen, living room, and a single bathroom (not shared)

Building 3:
Hospital:
Floors: 15 Numbered, B, G1, G2, 1-13
Entry/Exit: B, G1, G2, 1
Elevators: 8 4 Public 4 Service/Maintenance   (2 separate banks on separate controllers)
Floors:
B: Basement/Storage, limited diagnostic laboratories
G1: Garage First Floor entrance/exit, Walk in Clinic
G2: Garage Second Floor, Reception area, and Shop, Cafeteria.
Floors 1-13 Various layouts for residents, surgery, etc Exact arrangement doesn't matter
Visiting Hours are typically from 8-11 AM, and from 3-830 PM for the hospital

Building 4
Small Office Building
Floors: 5 Numbered 1-5
Entry/Exit: 1, 2, 3
Elevators: 2, separate banks and controllers
Floors 1 and 2 are parking garages, where Floor 1 is the least used of the two.
Floors 3-5 are office spaces, most of the traffic is to floors 4 and 5 though


So given these buildings, what questions would you first need to answer before you could begin to recommend suggestions for optimization?  I know I have a few in mind myself, but I'll leave this post be for now, and then maybe add a continuation post later on.  What questions would you ask to accomplish the optimization?


Note: This is probably the first time I've proposed an idea for a Test Challenge, so if its formulation or presentation seem off, or missing something, please feel free to let me know.  You can drop me an email if you'd rather not post in the comments.

Thursday, March 1, 2012

Is the Context Driven School of Testing - Dead?

Earlier this week, Scott Barber pointed out an update to the Context-Driven-Testing page which has served as a starting point for people who want to learn about Context Driven Testing. In this post Kem Caner, one of the 'big four' of the Context Driven School gives an impression that the idea of Context Driven Testing being a 'School' has perhaps reached a point where it no longer exists.  He goes on to cite differences in vision among the founders of the movement, and I'll let you read his post above to draw your own conclusions.  However, when I was asked this question, I felt that I didn't agree.   I've seen places where friends or close colleagues go their separate ways because of a polarizing my way or the high way sort of mentality.  I'm not sure that's quite what Kem is referring too.

I debated whether to post my response or thoughts to this here at all as no doubt everyone involved or outside this movement will have their own opinions and beliefs.   I decided that for posterity's sake that I would indeed.  I have discussed this a bit with some fellow testers in the MiagiDo group, and Michael Larsen another MiagiDo member recently made a post giving his view on things (In Support of Context Driven Testing).  It's worth a read, and his thoughts were a bit similar but also slightly different from my own initial response to this question which I gave a bit earlier.  What follows was my initial response to this question of whether Context Driven School of Testing is Dead as it was originally shared with others in MiagiDo.  The only changes are the addition of Italics, and  a few grammatical improvements.
I'll have to quote Monty Python on this one. 
"I'm not dead yet!" 
I read Scott Barber's post, and I read the information there.  I really chaffe a bit and comparing this to the polarization of a few figure heads within the American republican party.  Kaner mentions Gingrich, who no doubt is a polarizing figure. If you're an American, you likely either like him, or you hate him, there probably isn't  a middle ground for most Americans.  However, I think perhaps the 4 Founders have gotten a bit too caught up in their own mystique. 
I see the same thing within our American political discourse.  People at the so called top seem so polarizing, and the media tries to frame discussions a certain way, and yet most of us at the bottom, outside that top so called 'chosen' echelon are not polarizing, we are not so closed minded or resistant to having honest discussions about things.   
I think this is true also for the Context-Driven Community, whether we call it a School or not, to me is irrelevant.   The point is we are making a fundamental distinction in where our thinking begins.  I see this same problem in the US Education system.  A lot of people expect school, especially college to prepare them for everything they need to succeed in a career.  The reality is quite opposite, it's a base, a starting point.  If you get that strong base, I believe a strong education helps you succeed no matter what you apply your life too.  I feel the same here with Context-Driven School of testing. 
Listen, so the four founders of the movement disagree.  There are four gospels in the New Testament of the Christian Bible, (I use this as an example), and all four a bit different, varied, and share some similarities too.   Those guys were alive at the time right?  Yet they were not the same as each other, they had differences and disagreements no doubt. So let's be clear the entire point of our School (in my estimation) is to not have Drone or Fake testing right?  I believe the point, as I understand it, is to encourage people to use and develop their critical thinking skills, and to not be satisfied with testing that feels lacking in covering the real risks of a project. 
Let's look at this another way.  James Bach gave a talk (I believe this was at Oredev, see James videos posted at his site at www.satisfice.org if interested) about Renaissance thinking a few years ago.  He describes what was fundamentally different about it, and how it wasn't just what was happening In Italy, or Scotland, or wherever else, that there were little movements pretty much elsewhere.  Think about the artists themselves, they all approached art a bit differently, yet they don't look like carbon copies even if they've learned some of the same skills and techniques.  This is no different than how we each approach testing in the Context Driven School of testing.  We are still different then what has come before.  We are still different than the more agile-centered testers. 
We cannot deny who we are.  We've been enlightened, we've grown as a community, a school.  It would be impossible for us to try to put the genie back in the bottle now.  What's done is done, the shot has been fired and heard around the world now.  The question is, in any revolution, what will each of us do because of it.

That's my feelings on it anyways.
Hope that wasn't too preachy,
-Tim Western

So in conclusion, while there may clearly be differences between the founders of the Context Driven moment, its principals and the School of thinking that it began, I must stand up and say, hey I'm still Context Driven, I still belong to that School of testing.   Now I do think there is a risk here.  There's a risk in perhaps holding too close to the fundamentals of the school.  We need to be aware of other ways of doing things, even if we may find that our way is better.  As an engineer, a tester, or a scientist I would be looking for ways to prove my own methods wrong, just as so many other scientists have done for centuries.  Yet for now, as a Dynamic and not a Static individual, my understanding of testing, and Context Driven Testing will only grow from here out.  It isn't a one time thing to learn, but a thing I will continue to learn and grow and mature as a tester as I put the ideas I've encountered into practice, as I test them, and work through the problems I face professionally.

So what about you?  What do you think is the Context Driven School of Testing really dead?

Note:  Since I set this post up for posting Scott Barber has added a part II on his thinking With the Context-Driven School "closed" what's next? He brings up a very good point about the need for testers to focus on the value they need to provide within their contexts, which I can totally agree with as I am driven to do whatever I can to provide value on a project.

Also I will note that James Bach has also put up a response (which I just now read) If you want to know James Bach's side, I suggest you read Context Driven Testing at a Crossroads.


Edit:

Since posting this, I've found Markus Gärtner blog about this at Lessons Learned from Context-driven testing  And note that Cem Kaner has given his comments on this as well.  It's definitely worth a read.


Additionally, Cem Kaner has added another response (blog) entry at http://context-driven-testing.com/?p=23 that I encourage everyone to read.   This certainly sheds some light on some of the issues that Cem is concerned about, and feels a bit clearer to me about what the issue as he saw it is.

Friday, February 17, 2012

Stepping in the shadow of a monument of process, or standing up?

Somewhere in an old and run down railroad boom town, stands a hundred churches.  Most of the churches were built nearly a century before the Americans with Disabilities Act was even contemplated on the floors of the US Congress.  Some have been updated with ramps or elevators, but most like this one old red brick church have only concrete stairs that lead up and into the hall where the people meet each Sunday morning.  Every Sunday a hundred people or more, women, men, children, and elderly walk up those old concrete steps before that service begins and then, retreats back down those stairs again after the service has concluded.

On this particular Sunday morning, many feet trod up and down those stairs. Each pair of feet appear only conscious of their forward motion, an attempt to keep things moving forward, progress, a process.   So one step after another and soon they reach the destination on another iteration of that Sunday morning hour or more of fellowship and learning.  These little feet may be blissfully unaware, or perhaps they know all too well  that the church is a hundred years old, and has stood tall for longer than those feet have been able to move.  Furthermore, it might seem to those feet, as the creep up those stairs in the shadow of that hundred year old steeple that those feet will continue to visit the same pattern of stairs until the trip can no longer be made.

Of course, then there will be other feet will take its place, and as many feet will continue this pattern to mark up and down those stairs, with their purpose focused on the zenith  where the door opens into the terrace of worship.  So common and repetitive might this routine become that these feet may pay little attention to anything except to each footfall after footfall.  While the conditions of the stairway may sometimes be traveled in the dry, the wet, or perhaps with salt or kitty litter spread about to enhance traction when snow or ice threaten the weekly ascent, but always these feet work their way upward, looking towards the doorway at the top, and yet despite the variety caused by the cycle of seasons, still these feet remain oblivious, giving less and less attention to the grind, the steps each foot falls upon as the habit of the process over takes the analysis and observation that once, during those first few trips up and down those stairs, where the mind noticed the grade, the hardness, and sound of those foot falls on their ascent.

Yet then one Sunday Morning, a half hour before the celebration of this years Scout Sunday a lone boy finds his way up these stairs.  He has walked these stairs before, but it has been months since he last made that climb.  While others around him may feel this is nothing but a normal routine, he takes in the moment, the smell of the cold snowy air, the feel of the chill wind against his cheeks, and the sound of each footfall as he climbs step by step, turning at its half way point to the side, and then up one more step to the doorway. That's when his senses detect it.  A sound altogether different from the sounds of all the previous steps he has heard ring out.

The sound catches his attention, and he lingers for a moment on that step, noting that it is different, but not so sure about it, he opens the door and enters the old church.   Others behind walk up the same step, and not one notices, or comments on the sound he heard as he stands back from the doorway and ponders, waiting for the latest bunch of congregational attendants to finish their ascent.   This boy doesn't attend this church regularly, he goes to another church nearby and across town.  He was only visiting on this occasion in support of the church that had graciously helped support his Cub Scout unit.  Yet a question forms in his mind, unlike all the other habitual comers and goers, going through the usual and traditional process of that weeks iteration that raises his curiosity.


Wednesday, February 8, 2012

Weekend Testers Americas #24 - Black Box Software Testing: Practice 3

Today I participated in Weekend Testers Americas Session #24.  The mission for this session was fairly open ended.

Mission: 
* In today's mission we would like you to frame your exploration on your 
own. 
* We are about to give you a 'black box machine'. 
* You will have 60 minutes. 
* At the end of the timebox present your notes (no more than page long) to the group chat.
* What to report and in what format - we leave it up to your decision. 
* We hope everybody will bring a unique bit of experience we all can learn from.

Ultimately it boiled down to an exploratory testing session on a practice  flash applet.  Because of the way the mission was framed, each individual tester, or testing pair defined the mission for themselves. Since the general feel of the mission was so open, and my instincts were to work the practice as an exploratory session, I felt there was a lot of room to try things, perhaps things I wouldn't normally have done.   While some of the testers paired, I elected to go it alone this time though.

Before I get into my synopsis of the exercise and my conclusions of how that session went, I'd like to give credit to James Lyndsay who I am told is the one who produced this particular practice over at his site http://www.workroom-productions.com/.  There are a number of practice exercises that could be used for some general and basic practice of exploratory testing skills.  From what I've read he also has some more in depth training as well, which could be a useful if exploratory testing is an area you feel could help you in your testing efforts.  I'll leave it to my readers to decide that for themselves.    Now, if you'd like to try the exercise before reading my report, head on over to http://www.workroom-productions.com/papers/puzzle_03.swf and explore it to your hearts content for up to an hour.  Otherwise, what follows would be considered a 'Spoiler'.   So when you are ready to continue reading, please click 'Read More' below.