Tester’s Tool Kit – Test Design

Any good tester knows that no two testing engagements are exactly alike.  So, how does a good tester figure out what to test?  How do they decompose requirements that are unique from project to project in both content and format?  Faced with a mountain of technical and functional documentation, a robust test tool kit is key to go from documentation to validation.  Never underestimate the power of the right tool for the right job!

Just as a skilled carpenter knows which hammer or saw is best suited for the task, a good tester knows which test design tool is best for identifying the right test cases for the project.  Testing is all about writing important test cases that will find the important defects. 

Writing test cases directly from requirements without a solid test design is like building a new kitchen with materials you find in the Home Depot clearance aisle.  (Can you tell I am still remodeling?)  You might get lucky and pick components that fit, work well together, are functional in the way that you need them to be, and perform well.  Yes, well I have heard stories that every once in a while that actually happens, but it’s pretty random.

One size does not fit all and not all test cases are created equal.  These are the standards we apply to each testing engagement in the Galmont Lexington, Kentucky Rural Outsourcing office.  Our job is to know what is important to our clients and to their key business stakeholders.  When a new enhancement or new product goes into production, critical business functions have to be working correctly or the users cannot effectively perform their jobs.  As testers, our primary function is to sit in the chairs of those users, and uncover defects in the system before they do.  This is as important a task as there is in any IT project.

To do this, we need effective tools and solid test design.  As Quality Assurance and Testing consultants, we are not the subject matter experts.  But, we are the testing experts.  We approach each unique testing engagement armed with a robust testing tool kit that enables our test teams to extract from the requirements the critical information needed to develop important test cases.

Mind mapping is one of the most powerful test design tools in a tester’s tool kit.  A mind map is simply a diagram or model that organizes inputs and outputs, represented by key concepts and variables contained in the project documentation.  Representing complex technical variables in a visual model synthesizes complex technical concepts into structured testing ideas.  Converting words in a requirements document into a picture of related testing variables creates a much more understandable method of test approach review.  The mind map displays in one picture what the tester has extracted from the requirements in a way that can be presented to the subject matter experts and key business stakeholders.  The mind map illustration gives the Galmont consultant the opportunity to elicit valuable feedback in a very meaningful way.  The model says “here is what I understand from the documentation and this is what I believe needs to tested”.   The true system and business experts can then validate our vision.  All this is done before one test case is written, reducing the likelihood of running tests that are not important. 

Another key test design technique is the decision table.  A decision table is a graphical breakdown of conditions and the subsequent actions that occur when the conditions are true and when they are false.  The power in a decision table is again in its ability to break down difficult concepts in a logical manner that can be readily understood by technical and non-technical subject matter experts.  Decision tables are powerful test design tools for applications that are rich with business rules.

Mind mapping and decision tables are two of the most powerful tools a tester can have in their tool kit.  There are many more – combinations testing, user scenario testing, equivalence class partitioning, state modeling, and many, many more.  But, the road to becoming master tester, just as a master carpenter, begins with strong basics – and for that, my money is on mind mapping and decision table development.  You will be ready to tackle any testing challenge.

Posted in Uncategorized | Leave a comment

Plan Twice – Test Once

I have been in the midst of a kitchen remodeling the past month that has been a few yards short of joyful. As anyone who has been through a remodeling project can attest, initial estimates for construction projects tend to be more optimistic than realistic. What started as a simple floor replacement (okay, maybe not SO simple) has quickly turned into a full-blown remodel – complete with new cabinets, new countertops, and the necessary floor. Throw in the new door and full paint job…well, you get the picture.

Fortunately, I have been blessed with an accomplished home remodeling guru to ease the pain of continuous kitchen improvement. Tape measure in hand, she has systematically walked me through the otherwise painful process of selecting the right fixtures for the size and shape of my kitchen. Before I walked into Home Depot to pick out cabinets, we discussed, opined, debated, and finally, measured. Then she measured again – and then again. Not one step was taken toward the building of the kitchen until she had the exact measurements exactly right. Like all great carpenters, she was demonstrating that construction mantra “Measure Twice, Cut Once”.

Planning and design have been essential in working toward the final goal of a kitchen that will both serve my needs and provide the right aesthetic for my taste. I can visualize the functionality and usability that will fit within my current constraints, thanks in part to the picture I now have of my new kitchen, courtesy of the Home Depot kitchen designer. Abstraction has turned to confidence in having a real place to store my wine glasses.

Test planning and design can have the same effect on a software testing project. Like the carpenter’s measuring tape, planning and design tools can effectively create the model of what needs to be tested, and, perhaps more importantly, what does not. Test execution comes toward the end of a software development project, and time constraints are frequent concerns. Knowing what is important to test and keeping that focus, will ensure successful validation of the product.

Software developers, like accomplished home contractors, build applications according to development standards and customer need. Working alongside the developer is the software tester – checking “measurements”, analyzing plans, ensuring the finished product will meet the customer needs and will be fit for use. Test planning along with development planning is critical in creating effective test models that will allow test execution to focus on features important to the project and the customer.

Standard Test Plans are the first step in creating these effective models. Test plans act as the “blue print” plan for the validation of the finished product. There are many good test plan templates available, but it is content that matters. Every good test plan should concisely define what will be tested, what will not be tested and why (sometimes the effort or costs constrain the testing effort and the risks must be evaluated against the constraints), how will tests be validated, how will risk assessment be performed to determine high complexity and high impacts features that are important to the business, what skill sets are needed to create and execute tests, how will automation be used, and what data will be needed and how will it be created.

A visual model of the application and its integration points should be part of every effective test plan. This visual model displays the data flow, the integration points, and the areas of the system that are high risk that will require intensive testing. A visual test model can convey in one picture what narrative fails to do – capture the impact of testing the right features and functions. A visual model provides an important tool to the project’s non-technical members to understand exactly what will be tested in a picture, rather than in terminology not familiar to the business partners. These business stakeholders are critical to the success of the testing effort, and creating a visual model to promote understanding early in the project reduces the chances of missing critical business needs.

To round out the effective test plan, include another visual aid – a table of resource skill set and responsibilities for each area of testing. This table can be used to create the final planning model – the project plan. Knowing which skill sets are needed when will result in a sourcing strategy that uses the right resources at the right time, allowing project members to utilize their time productively.

Finally, the test plan reviews should occur continuously through the plan’s development. Engage the right stakeholders, include project team members who will be impacted by the plan, and partner with your development team – your expert construction team.
Create and revise, revise and remodel…test plans can direct your test effort early in the project. Bring your test approach to the project table throughout the planning phase of the project, not at the end. Remember to keep the Test Plan alive throughout the project, revising when the project shifts, and the likelihood of a smooth test execution resulting in a happy business customer is high.

Posted in Software Testing | Leave a comment

Elevating the Role of the Tester

Clearly I am a fan of testers. “Life’s work” and all that may have something to do with it, but here’s another part of the story. I like testers because they work on the treacherous border between an eager, often impatient business that is ready to get its product out the door and a hungry marketplace full of users that will crush tools and solutions that don’t live up to their expectations.

It’s a high pressure position and, let’s face it, fans are few and far between when the prevalent perception is that the test team is what stands between you and launch glory. But the right tester doesn’t mind being there because testing—at its best— is about simplification. We cut out all the noise and get down to the essential question: Does it work or doesn’t it?

This question and how to apply the right answer is always the goal of a Galmont tester.  The daily meetings, group problem-solving and trainings I shared with you in my “Tale of Two Cities” blog entry last month are examples of how our Galmont rural onshore testing team here in Lexington works together each day to approach every testing challenge: with logic and a shared foundation of proven testing skills. The beauty of attaining simplification in an otherwise chaotic environment is in the application of proven, consistent, and repeatable solutions.

At Galmont, our goal is to build test teams with universal testing skills—core skills that transfer from environment to environment and application to application, in addition to focusing on specific technologies, tools and domains. We give our testers the analytical skills required to boil down any system or product to its base requirements. From there, Galmont testers apply universal test design techniques that anticipate and identify defects and problems.

Why has achieving a powerful baseline analytical skill set become Galmont’s tester development approach? Because technology constantly and quickly evolves. Domains, platforms, program languages and applications will change, but the constant for success must be testing teams who can break any system down to its fundamental requirements and purpose to determine viability and effectiveness. By focusing the lion’s share of tester development on test design techniques and analytical capabilities in addition to specific tools and systems, Galmont is building teams that our clients can rely on for their full gamut of projects and for the long term.

In my view, we are elevating the role of tester by providing QA professionals with a universal skill set that allows them to contribute business-critical value and insight to any project. Will that elevate the status of a Galmont tester?  Absolutely!  We are in the business of excellence and world class testing practices.  Will it keep project teams from feeling any and all exasperation when testing is “holding up” their go-to-market schedule? Well, probably not. But don’t worry, excellent testers are tough. We don’t mind the heat.

Posted in Onshoring, Software Testing, Uncategorized | 2 Comments

A Tale of Two Cities

At five a.m., Monday morning, the air is already thick with 80-degree “dew” as I begin my commute.  Daylight hasn’t yet caught up with my schedule, but the sound of the car horn in my driveway lets me know my cab driver has.  By six, the airport is bustling with the typical Monday morning crowd –business jugglers with BlackBerrys, carry-ons, laptops, and lattes in precarious balance; sleepy-eyed Disney families with an early Orlando junket; and Vegas high rollers grabbing a cheap flight to the land of dreams.  I fall into line with my fellow lemmings, boarding pass and government-issued ID in hand, selecting the slowest moving queue in the airport.  My ID almost always gets a second look, along with the obligatory “Was? Never saw that name before.”  At least TSA is a friendly bunch.

I make my way to the gate – B20 – so this trek also doubles as my cardio for the day.  An hour later, I am snug in my favorite window seat, the scenes of the city below me, headed to my high-tech job in… yes, Kentucky.

This is my commute.  Every week, I do what some would consider a technology reverse commute – leaving Chicago to head for Kentucky. But I know better. While Chicago is my home on the weekends, on Monday through Friday, I take the reins of the rural onshore software testing practice at Galmont Consulting in Lexington.

It’s here at Galmont’s onshore quality assurance facility that the software of some of the world’s largest companies is tested, de-bugged and verified for meticulous quality assurance and performance optimization. Rural onshoring is a growing trend among our clients, who have made the discovery that you don’t have to move 3,000 miles away to save money and that the best and the brightest are not found exclusively in the country’s top 10 cities. On this Monday morning, our office is teeming with activity.

Today is the first day back for our large telecom client project team after two months at the client site in Illinois, training on all critical applications, release processes and procedures.  The execution of the monthly regression cycle is going smoothly.  We are much more seasoned the second time around.

My attention is drawn to the back of the office, where a team is huddled over the self-paced user training for test automation, evaluating pros and cons of the content and style.  They will present their findings to the team as part of our multi-tiered automation training and automation COE development.

The M&M candy dish is empty, which tells me it’s been a busy morning for everyone, and a sugar fix was required.  At a nearby desk, I overhear our network administrator on the phone in deep discussion about the telecom client’s VPN connection, ensuring that all security requirements are met on both sides.  The geek in me is very happy.

At three in the afternoon, we all gather to talk about our projects, new client announcements, and general information sharing.  The camaraderie is evident, and one consultant’s confusion with a test approach is quickly resolved by another’s voice of experience.

Automation is the training topic today.  Each meeting, we devote about ten minutes to a snippet of training.  Nothing long and drawn out – we are all very busy – just enough to take back to our desks and use.  Every day there’s a chance to learn something new or reinforce what is already known – priceless.

Even this late in the afternoon, the air is abuzz with energy.  The consultants around the table here in Lexington make up a microcosm of the greater IT community’s education, professionalism, and skills sets.   From UNIX billing systems to Bally’s Fitness “Results Center Wall” (think X-box Kinect), this Kentucky team is proud of its consulting portfolio.

To some, it’s a surprise to find a hidden high-tech gem like Galmont in Lexington, Kentucky. But as a QA practice director, I can’t think of a team I’d rather work with anywhere on the planet. On Friday, I will be making my way back to my hometown – Chicago.  That’s my reverse commute.  Chicago is my home, and I love it, but in my world, Lexington is where the cool toys are.  My rewards have less to do with frequent flier miles, and more with frequent client satisfaction.

From my window seat, I look down over rolling hills and the Kentucky River…an hour later, I am again awed by Lake Michigan.  Dual citizenship has its perks.

Posted in Center of Excellence, Onshoring, Outsourcing | 1 Comment