Dedicated to thoughts about software testing, QA, and other software quality related practices. I will also address software requirements, tools, standards, processes, and other essential aspects of the software quality equation.
Wednesday, February 24, 2010
Toyota and Software Problems
Here's the deal. More than ever, software is an integral part of the electronics that control cars. All software has defects. When a software defect causes a car to accelerate to 100+ mph, that's not a bug. That is catastrophic system failure. A few years back, Volvos were coming to dead stop at highway speeds because of software defects.
A friend of mine last year spent months trying to convince multiple Ford dealers that her Ford Expedition was stalling in the highway. They all said the Electronic Control Unit was fine. Eventually they found the problem - the ECU was bad.
The facts are not all in, but I would not be surprised if many of the Toyota problems are software defects.
My prediction for many years is that one day a major software failure will cause such death and destruction, that congress will start to regulate any software development with safety impact, much like is currently done in the FDA and NRC. The next big area of regulation will likely be transportation. Not that this is the answer. Regulations have fallen short because people find ways to get around them. Ultimately, quality is an ethical business issue.
For many, many years, Toyota has had a halo in terms of quality. Now that halo is gone and may never be recovered.
Keep an eye on this story.
Thursday, February 18, 2010
ISTQB Advanced Level Certification Public Courses
If you hold the ISTQB Foundation Level certification (CTFL) and are ready to move to the next level in ISTQB software testing certification, we are offering advanced level courses in Oklahoma City staring in May, 2010.The courses offered are ISTQB Advanced Core (2 days) and ISTQB Advanced Analyst (3 days). To sit for the ISTQB Advanced Analyst Exam on the last day of the course, both courses must be completed.
To see the complete schedule of all courses and pricing, click here.
If you would like to have advanced courses in your city in the USA and have 6 or more people that can attend, contact me and I would be happy to schedule a class close to you.
To learn more about ISTQB Advanced Level Certification and the pre-requisites, please click here.
Rice Consulting Services has teamed with Grove Consultants (http://www.grove.co.uk) to provide an outstanding training experience for advanced level certification.
I will be the trainer for these courses. I bring over 20 years software testing training experience in major organizations worldwide, as well as holding the full CTAL certification. The materials are licensed from Grove Consultants in the U.K. If you have seen any conference tutorials or presentations by Grove Consultants, you know the high quality and engaging nature of their presentations and materials.
ISTQB Advanced Level testers are an elite group in the USA right now, so now is the time to join that special minority of software testers and managers!
Friday, February 12, 2010
Foundation Exam and Book Now Included in ISTQB e-Learning
In our never-ending dedication to bring you the best value in training, we are excited to provide our students one electronic exam voucher per student as part of the registration. Each student also receives a copy of the book Foundations of Software Testing.
Our students have great success in passing the exam. Every student has direct access to Randy by phone and/or e-mail to answer any questions along the way.
Combine all this with a money-back guarantee, 12 months access to materials (even after you take the exam) and you have a great deal for preparing for the CTFL exam and building your testing skills to apply on your job.
Click here to read more about the course.
Click here to take a free demo.
Click here to buy a registration for the course.
Tuesday, February 09, 2010
Instant Software Testing Metrics
It seems that so many people I consult and train want quick and easy measures from their software development or testing efforts. I wish I had that shiny silver bullet, but in my experience and observation it takes time to really get the metrics in place that works for you and your organization.
And, really, you sure don't want to make decisions based on faulty information.
Here's why good metrics take time:
You Need History
At any point in time, a measurement is like taking one frame from a movie. For it to make sense, you need to see what has happened prior to the frame. To know how things turn out, you need to see what happens after the frame.
In software, this history starts when you start taking measurements. It continues as you keep measuring and refining your measurements.
The longer the history, the more accurate your understanding of your metrics tend to be. The key word is “understanding”. Your measurements may not necessarily get more accurate over time unless you keep questioning and improving them.
Too many people want to substitute other organizations' history for their own. I discourage this practice because every situation is different. Just because one company has a certain level of success with a given level of people or type of test technique doesn't mean you will have that same level of success.
Just start measuring a few key things that are easily obtainable and that are meaningful. It's important to track measures over time with specific dates associated with them. For example, you can start measuring the number of defects found by project. While this measure alone doesn't make a metric, you can start to see trends concerning the rate of defect discovery.
You Need Context
Metrics give context to measurements. A measure is a single count or extent of something, such as the number of defects. A metric is a measure taken in context with other measures. So, the average number of defects per function tells us the defect density from the functional perspective.
It takes time to know the best way to get this context and understand what it really means to you. I was once on a project where the client wanted to know how many test cases passed during a test. Fine. That's a good thing to know, right?
Then, people started to observe that the measure of passed tests has different meaning depending on when it is measured and reported. For example, a very high percentage of passed tests in the first round of testing may indicate the tests are too weak. Just before deployment, you want a high percentage of passed tests to indicate the application is ready to release. So, you may want to have two metrics: “first time tests that pass” and “final test pass percentage.”
You Need Time for Refinement
After you measure things for awhile, you may learn you aren't measuring the right things, or you may be measuring the right things in the wrong way.
It's fine and even expected to make major re-adjustments in your measurements. Just make sure to indicate on charts and tables when the adjustments were made.
You Need Growth
Please don't start a big metrics program with dozens of measurements. These programs often fail under their own weight. They are so big and complex, people either ignore them or give up quickly. Instead, start small and grow over time.
Metrics is a discipline that takes time and attention to do right. It also takes time to gain people's trust about how the metrics will be used. Sometimes people are fearful that the measures will be used against them, such as in a performance review.
You Need Early Successes
Pilot projects or proofs of concept are great to show the value of ideas and approaches. They reduce the risk of failure and gives you a place to practice and perfect things before trying them in the larger arena where everything becomes much more visible. It's a lot better to build positive public image based on small successes that to overcome the negative image from a major public failure.
You Need Management Understanding and Buy-in
As you grow and publish your metrics, management needs to learn the great value in them for the management of projects. Management also needs to get used to the information you can provide. They may suggest or request additional metrics or changes to existing ones. That's a good thing because it shows their minds are into the effort. This only happens over time.
Summary
I hope this shows why it takes time to get reliable and meaningful metrics. There are no magic answers, tools or techniques for getting a good set of metrics in place. That's why so few organizations reach this level. It's hard work and takes time, but it's worth the effort to show the added value you bring to your company. When you are “the” person that understands the metrics, that makes you a key person not only for your team, but for your company...and that's a very good thing!
Free Virtual Conference on Application Performance Management
Here's the announcement from SearchSoftwareQuality.com:
We're just 2 weeks away from the complimentary virtual seminar
'Application Performance Management: Build, Bug and Lifecycle
Strategies.' Gain access to industry experts and real-world
practitioners who reveal new insights to boost app performance and
ensure it remains a key focus throughout your application development
lifecycle.
Don't miss this opportunity - register here and mark your calendar:
http://go.techtarget.com/r/10840914/7113473
===============================================================
TITLE: Application Performance Management: Build, Bug and
Lifecycle Strategies
WHEN: Wednesday, February 24, 2010
TIME: 9:30 am - 6:00 pm EST
WHERE: Your Desktop
COST: Free
REGISTER FOR THIS VIRTUAL SEMINAR TODAY:
http://go.techtarget.com/r/10840915/7113473
===============================================================
TOP 5 REASONS TO ATTEND THE APPLICATION PERFORMANCE MANAGEMENT
VIRTUAL SEMINAR:
1. GET PRACTICAL INFORMATION TO USE IMMEDIATELY
Hear relevant advice that you can put into action right away to help
your organization build the foundation for high performance. No
pie-in-the-sky theories, just practical, useful information from
today's top performance experts.
2. EXPAND YOUR NETWORK OF PEERS
Share insights and discuss relevant strategies in our unique virtual
environment with those facing the same challenges you're up against
when testing and setting the stage for monitoring and maintaining
application performance throughout its lifecycle. Stop by the
networking lounge to hear success stories and lessons learned.
3. INTERACT WITH EXPERT SPEAKERS DURING OUR PANEL DISCUSSION
Discuss performance implications and testing tools for running
application components in private and public clouds. Don't go it
alone when you can benefit from the experience of these true
performance and cloud experts.
4. PRIZES!
Sessions are an intensive, educational experience that will prove
incredibly valuable to your organization, but we've built in some
fun, interactive breaks during which we'll announce our prize
winners. Attend the day's seminar for a chance to win a Sony
Cyber-shot camera, an Amazon.com gift card, or a book on dependency
injection. You'll have multiple chances to win - by visiting a booth,
attending a session and just for coming to the event!
5. INTERACT WITH TOP VENDORS
Speak directly to leading performance vendors and test drive the
latest solutions with live product demos. They understand your pain
points, and strive to help you make the best IT investments for your
organization.
Ensure quality in your application performance management. Register
with one click here:
http://go.techtarget.com/r/10840916/7113473
Friday, February 05, 2010
Book Review - Managing the Testing Process, 3rd Ed. – Rex Black
Published by Wiley, 2009, 638 pages
In the third edition, Rex extends a work he started in 1998 with the first edition. At that time, and still today, practical books on software test management are in a minority of the books on software testing. This book has become a commonly referenced work on software test management for a reason - it is practical.
Two things I really like about this book are that it is very readable and it has broad coverage of test management topics. As a trainer of thousands of test managers, I have learned that many test managers are thrust into the role with little knowledge or preparation. So, my perspective is that test managers need to know the mechanics of the software test profession as well as the managerial and leadership aspects of the job. This book delivers well on both counts.
By reading and applying the information in this book, you will learn the testing process from test planning and building the test architecture to building a test team, measuring test results, and conveying those results in a value-added way. Rex covers topics that are very relevant including test outsourcing and the context of projects and software lifecycles. I also very much appreciate the discussion of dealing with the people issues in testing.
Just a note on the use of spreadsheets and vendor non-specific tool examples is that once you understand the structure of organizing testware, you can apply that structure in a specific test tool. Plus, not everyone owns a commercial test management tool. I know many people who manage a lot of test items using Excel.
I can highly recommend this book to test managers and leaders, as well as people who aspire to be in those roles.
Randy Rice
Wednesday, February 03, 2010
Software QA and Testing Salaries
Wednesday, January 20, 2010
Articles of Interest
1) Here's a great slide show. Those of us who are in the software quality field will recognize the "7 Deadly Sins of IT" - http://www.cioinsight.com/c/a/IT-Management/Deadly-Sins-of-IT-Operations-658137/?kc=CIOMINUTE01202010CIO1
I think it's great to see this kind of thing in CIO Insight!
2) In my Becoming an Influential Test Team Leader workshop we talk about how to influence management. Here is a great article from Michael Hyatt on making a pitch to your boss: http://www.stumbleupon.com/su/4ff3lg/michaelhyatt.com/2007/01/how-to-get-your-boss%E2%80%99s-approval-when-you-need-it.html/r:t
Enjoy!
Wednesday, January 06, 2010
Tester to Developer Ratio Initial Research Findings
This short article is to document early findings and I plan to continue surveys and data gathering, so if you did not get in on the first round of surveying, I would like to hear about your ratios.
The participants of the recent survey were subscribers to my newsletter, The Software Quality Advisor, and the audience at my StarWest tutorial on Becoming an Influential Test Team Leader. There were 53 respondents in all, mostly from North America, but six were from Europe and one was from Asia.
I asked four questions:
1) How many developers are in your organization?
2) How many testers are in your organization?
3) On a scale of 1 to 6, where 1 is poor and 6 is super, how would you rate the effectiveness of your current ratio?
4) Do you have any anecdotal information about how your current ratio effectiveness?
The leanest ratio was twenty developers to one tester (effectiveness rating of “two”), while the richest ratio was fifteen developers to eighteen testers (effectiveness rating of “four”). There was one anomalous response of four developers to zero testers (The effectiveness rating on that one was “three”). The average ratio was 4.52 developers to one tester. The most common response was three developer to one tester (six responses), the next most common was 2.5 developers per tester (five responses). There were twenty-six responses with developer to tester ratios of 3:1 or lower.
Here are some of my initial observations and comments:
1) The responses varied greatly.
For those looking for an “industry norm” of developer to tester ratios, this may show that the range of workable ratios is wide. Effective testing may be achieved by better practices, tools and leveraging developer-based testing instead of having more testers.
2) Over half of the responses were at the “richer” ratios.
The average effectiveness reported by this group (3:1 or less) was four – above average. Interestingly, the average effectiveness for the higher ratios was three – average, and not a huge difference from the lower ratio group.
3) In the higher ratio group, there were some with higher than average test effectiveness of four or five.
This tells me that you have a higher ratio and still be effective at software testing. Put another way, the magic of good testing may not be in the ratio of developers to testers.
I have always questioned the idea of using developer to tester ratio as a way to staff or estimate testing efforts. Sheer body count is just not enough information to base testing effort upon.
That said, I think developer to tester ratios may be a helpful metric to understand the workload in a test organization. For example, if I were presented with a situation where the developer to tester ratio is ten to one, I would ask:
- Are any test automation tools being used? If so, how effective are they?
- How much responsibility do developers have in the testing process?
- Is testing based on risk?
- Are test optimization techniques used in test design?
- What is the defect detection percentage (DDP)?
- Are defect trends tracked and studied?
- Have the developers and testers been trained in software testing?
- Is there a defined testing process in place and being used?
I did this on my first job as a test manager. I had a team of three people testing the work of thirty developers. The ten to one ratio told me that we could not test all the work coming our way.
We had no tools, just our wits. So, we developed a strategy:
1) Get management to lead the way to make the message to developers that testing is part of their job
2) Train and mentor each developer to be a good tester
3) Test the high risk changes at the highest priority
4) Test anything a developer asked us to test (unless there was no documentation)
5) Do not test anything without a defined user requirement
6) Use cause/effect graphing and other test optimization techniques to get the most testing from the fewest tests
7) Build a robust and repeatable test data set for manual regression testing
The result was that 1) we kept up with the workload and 2) the error rate went from 50% of changes with defects to 2%. At this point, we still had a ten to one developer to tester ratio. This may work for you, too. If it does, please send your check made out to Rice Consulting Services at P.O. Box 892003, Oklahoma City, OK 73170. :-)
I hope this information helps you understand your own ratio a little better. If you would like to contribute your own ratio to my data, just reply to me here with the four items:
1) How many developers are in your organization?
2) How many testers are in your organization?
3) On a scale of 1 to 6, where 1 is poor and 6 is super, how would you rate the effectiveness of your current ratio?
4) Do you have any anecdotal information about how your current ratio effectiveness?
Thanks!
Tuesday, December 08, 2009
Jim Rohn Has Left the Building
As not only a software tester, but a business owner, I learned early on that I had to learn about what it means to be successful in business. Not in a greedy way, but in a way that helps others. Mr. Rohn taught me how to do that.
I'm not a believer in "The Secret" - the idea that you attract the things that come into your life - good and bad. (I do believe we can attract certain things by what we do, but that's different.) Anyway, I did have an experience that was amazing in the realm of goals.
I started Rice Consulting back in 1990 with no idea of where it would lead or even if it would be successful. I just knew that very few consultants and trainers specialized in testing at that time.
Before long, I realized my business lacked direction and control, so I started looking for how to get that positive direction. One resource I found was a tape set called "The Art of Exceptional Living" by Jim Rohn. I listened to those tapes at least a dozen times while I would be on walks, driving, etc. In fact, I still listen to them on occasion.
I thought, "I would sure like to meet Mr. Rohn in person one day." Then, amazingly about six months later he came to Oklahoma City to present a half-day session on The Seasons of Life. I bought the VIP ticket so I could attend a pre-event reception. I remember like yesterday seeing Mr. Rohn standing at the side of the room with no one else around, so I introduced myself and asked if it was OK to ask a question. He graciously said, "Of course."
I asked Mr. Rohn a question I would not have asked anyone else because I knew he came from the same spiritual perspective as me. "Do you think it is possible to be too rich?" I asked.
He paused, pursed his lips and said, "Well...let me see...Is it possible to be too happy? Or too healthy? Or have too many good relationships? No...I don't think you can be too rich."
Now, context is important here. I had heard Jim's teaching on "enlighted wealth" where it's not the accumulation of prosperity for the sake of ourselves, so I knew he was not advocating wealth at any cost. I was just curious because of my lower middle class background and past spiritual teachings.
Since then, I have heard him say that humans are the only creatures that place limits on their own growth. So, it would be like asking, "Can a tree grow too tall?"
Jim was the person that taught me the importance of communication and how ideas are conveyed. He also taught me that it's possible to create something tangible from something intangible, like an idea.
Jim touched millions of people around the world. If you would like to see the tributes, there are many at http://tribute.jimrohn.com/. There are also some video clips there of his teaching. If you are inspired and want to go deeper, I highly recommend "The Art of Exceptional Living (abridged version)" or full version as a starting point.
Jim Rohn will be missed, but he left a legacy of teaching that will endure for a long, long time. I know he is in a better place.
Tuesday, November 24, 2009
Back in the USA, Flu and all
It's good to be back in the USA. The courses in Rome went very well. It's always fun and the people are super, but also a challenging adjustment to be teaching from 2 a.m. to 10 a.m. body time. It's also nice to do things without converting time, money, language or electricity.
Janet went with me on the trip and we saw some sights both in London and Rome. I was able for the fifth or sixth straight year to get my annual journal at Harrods. It winds up costing me about $50, but that's a motivator to actually use it. That has become a tradition for me.
I promised Janet that the first thing I would do is buy a cup of Starbucks coffee in NYC, since we arrived at JFK, took a taxi to LaGuardia and then after spending the night at a really nice Hampton Inn (I'm serious, it was great), on to DFW and OKC. All went well until DFW, then the flu hit me and the last thing I wanted was coffee. Those who know me know coffee is a very, very important thing to me, so Janet knew I was sick. That and wearing a coat while shivering.
I went to the doctor yesterday and he confirmed flu, but not sure of "regular" or "swine". He percribed Tamiflu and I'm feeling much better today, so I'm thinking "regular".
Back to the coffee...The gentle bagage handlers managed to break my French press on the way back home. Also, I took several packets of the new Starbucks VIA instant coffee on the trip and it helped. I give the Starbucks people credit for a good instant coffee. It's not that I hate Italian coffee, it just that the intensity is pretty strong - basically expresso.
I plan to return there in June to teach Innovative Software Testing Approaches, one I've taught there before, and Practical Software Test Automation, a new class for the spring I am very excited about.
Well, back to resting some. By the way, I'll be posting soon the prelimiary research on the tester to developer ratios.
Until then, I wish all in the USA a blessed Thanksgiving!
Sunday, October 25, 2009
Join Me in Rome for Software Testing Courses in November

Hi everyone,
For those of you in Europe, or anyone interested in visiting Rome and attending a testing class, here's your chance. On November 16 - 20, I'll be presenting two popular courses:
Testing SOA (Nov. 16 - 17, 2009)
Advanced Software Testing (Nov. 18 - 20, 2009)
Just click on the links above for more information and to register go to www.technologytransfer.eu.
I hope to see you there!Randy
Tuesday, October 20, 2009
EuroStar 2009 Software Testing Conference Ticket on eBay!
Here's a great deal, especially for those of you reading this in Europe. Last year, I won a conference pass to this year's EuroStar Testing Conference to be held in Stockholm, Sweden.
I can't use the pass this year, so I have placed it up for auction on eBay. The starting price is $500 and the auction lasts for 10 days. So, if you are looking for a great deal on a great conference, here's your chance!
http://global.ebay.com/EuroStar_2009_Testing_Conference_-_Stockholm_Sweden/190346246440/item
Thanks,
Randy
Tuesday, October 13, 2009
Major Apple Snow Leopard Defect...Warning
I'm not one of those Mac users who downplay the problems just to make the Mac look better than a PC! There is a major problem with Snow Leopard that everyone should be aware of. Under Snow Leopard when you log into a guest account, you lose all your data. I think this may have happened to my son. All I know is he lost everything, too. Here is a full account of the problem from Computerworld:
http://www.computerworld.com/s/article/9139250/Snow_Leopard_bug_deletes_all_user_data?source=CTWNLE_nlt_pm_2009-10-12
So...if you have upgraded to Snow Leopard, keep making those backups and don't log in to a guest account! Oh, and to Apple...fix it!!! I can see the new Mac vs. PC commercials now (of course, it would need to be a parody since Apple won't make an ad where their guy just disappears!).
Thursday, October 08, 2009
StarWest 2009
I'm returning home from StarWest 2009 and found some time to blog as we are delayed out of Orange Country airport by about 3 hours.
It was a good conference. I was glad to see a higher attendance than at StarEast this year. In fact, the conference had a good feel for the week attendance-wise. It makes me hopeful that the economy is coming back.
There also seemed to be quite a few international attendees and people from the central and eastern parts of the U.S.
My Monday tutorial on Becoming an Influential Test Team leader went well and the two track sessions (one on Cheap and Free Test Tools and the other on Making Your Defects Pay) seemed to go well also. It's always great to meet new people and hopefully provide some helpful information.
It was also great to connect with friends. I really enjoyed Lloyd Roden's keynote on Top Testing Challenges. He and I approach the challenges from different perspectives, mine from a survey basis and Lloyd's from an observation perspective, but I really have a lot to think about from his session. I have been working a lot with test metrics lately and Lloyd's thoughts on making metrics meaningful and accurate is one that we should all take to heart. Everyone talks about test metrics, but few understand the work it takes to define them for a particular organization. I'll blog more about that later.
I also enjoyed Julie Gardner's session on test environments. Very few people tackle that topic in a conference setting and she did a good job on striking a balance of covering the topic without getting too specific.
I heard several people say they had a hard time deciding which sessions to attend. To me, that's the sign of a good program. It seemed that people were picking up lots of good testing tips and techniques.
The vendor expo was pretty well attended by vendors and attendees. Once again, another hopeful sign of an economic recovery.
So, I give the conference high marks. Kudos to SQE for a great conference.
On my free day, Tuesday, Janet and I went to a taping of the Jay Leno Show, but got there a little late. So, instead being part of the studio audience, we got to watch the outdoor segment where Tim Allen raced a Ford electric car. That was fun. We were just a few feet away from Tim and Jay and we were on camera, too. Last year, Jay waved at us at the stop light as he was one his way home driving his Arial Atom hot-rod.
http://www.thejaylenoshow.com/video/episodes/#vid=1164214/?__source=recent-eps-module
Later,
Randy
Monday, August 31, 2009
Mac Snow Leopard and Parallels 3.0
Sorry for the long delay in posting. I've been busy...really, busy.
This past weekend I installed Snow Leopard on my Mac Book and overall, have been happy with it. One problem that I want to warn people about is an incompatibility with Parallels 3.0.
Apple lists incompatibility with Parallels 2.5 and earlier, but when I upgraded and then tried to access Parallels, I got an incompatibility message. Postings at Parallels forum have been ignored on this issue, so before you upgrade to Snow Leopard, you would be wise to upgrade to Parallels 4.0 first.
The good news for me is that I basically abandoned Parallels several months ago due to instability and bugs. I have found VM Ware to be much more stable. That one works just fine under Snow Leopard.
You will likely find other incompatibilities, especially with open source software. So, take those backups.
More to come very soon...
Randy
Wednesday, May 27, 2009
Where's My Gate?
I travel a lot. I have almost 2 million program miles just on American.
A couple of weeks ago, I experienced a new one. My wife and I were returning from Orlando and StarEast, connecting through DFW on American. (By the way, we had a great week at StarEast. It was good to see everyone.)
We were stranded in DFW on Friday evening due to the flight being delayed from Orlando so we stayed at the Hyatt in Terminal D. On Saturday morning we cleared security in Terminal D and saw that our gate to OKC was A22. So, we hopped on the SkyTrain and went to Terminal A. As we were walking to the gate, I looked at the monitors and saw to my dismay that the flight to OKC was leaving from gate D28. "Crap", I thought (and said, I think). I looked again just to make sure I wasn't looking at arrivals. Nope, it was D28.
So, we went back to Terminal D. As a sanity check, I looked again at the monitors and the flight was listed at gate A22. The information man must have seem my stunned look and asked if he could help. When I asked "Yes, which gate is the flight to Oklahoma City really leaving from?" He said, "Gate A22, just like it says there." I tried explaining that in Terminal A, the monitors said something different. By then, my wife was threatening to file for divorce.
We verified there was no plane at gate D28 heading to OKC, so BACK we went to A22. Finally, at gate A22 (my critical mistake was not actually going to gate A22 the first time), I told the gate agent that the monitor was showing the wrong gate. Her response? "Oh, those are wrong all the time."
Here's my question. Shouldn't the monitors be getting the data from the same source? Second question. If these are wrong "all the time" should someone be looking in to that? Oh well...at least we made it home. I just won't be quite as trusting in the future.
Now for something completely different....
I keep finding these great videos I intend to share and never get around to it. You really need to check these out.
The "Retroincabulator" - This must have been filmed for the Rockwell Christmas party!
http://www.youtube.com/watch?v=pb7OWlVYYRw
If you liked that, check this one out as well: http://www.youtube.com/watch?v=rLDgQg6bq7o
Watch your grammar. Otherwise, you may be visited by the grammar police!
http://www.youtube.com/watch?v=u9_kahA_wQo
Here is amazing one. Three guys playing one guitar!
http://www.youtube.com/watch?v=lrpwDvuNWro
Finally...Do you have ping pong ball skills? These guys do!
http://www.youtube.com/watch?v=LLByTnNwico
OK...now back to work! Have a great week!
Randy
Wednesday, April 22, 2009
Project Life
I know you may have been wondering if I fell off the face of the earth, got abducted by aliens, or whatever. Well, I have ventured on to a full-time project in San Francisco. This requires that I commute from Oklahoma City each week, which is about 7+ hours each way, including connections. (That is, when I actually make it home without getting stranded someplace!)
Of course, this really constrains my time for blogging and writing. I've also not presented a podcast or webcast for over a month. I hope to get back into that soon.
This has presented some other interesting challenges and changes. For the past 6 or 7 years, I have done about 80% training and 20% consulting. Now, it's 5% training and 80% consulting and 15% travel! I enjoy consulting and getting into the trenches of testing. I'm doing a lot of mentoring, which is gratifying.
I am also experiencing death by meetings. Take today, for example. I had to cancel by participation in one last-minute called four-hour meeting so I could attend attend another more important four-hour meeting (at least they had better food!). I also had to cancel three other meetings because of the two other four-hour meetings. Then, this afternoon, I had back to back meetings from 1 until 6 PM. That's almost 10 hours straight! I look forward to the meetings tomorrow may bring.
OK...enough about that. I'm not bitter, I'm better.
I am posting three pictures I took recently. The first is a rainbow over downtown San Francisco taken from my hotel room on the 30th floor of the Westin.

The next two are also unique. I have found that one of the best places to grab a quick dinner that's really good is in the basement of Macy's across from Union Square. There's a Boudin Bakery (which has some of the best clam chowder and tomato soup I've ever had - and yes, I've been to Boston!), also there's a Wolfgang Puck Express (I love the rosemary chicken there), and other places that are good.
Outside of Macy's nearly every day, you will see people with their cameras and cell phones out taking pictures of this guy. He's got a big dog, a cat that sits on the dog, and a rat that sits on the cat. Now, it's amazing to see them just laying there on each other.Believe it or not, the other day, I saw him walking his dog, with the cat STANDING balanced on the dog, and the rat resting on the dog. There are many homeless people on the street begging for money. I saw this guy counting his tips the other day and he had a wad of bills. I think that's awesome! He asks for a dollar tip for taking a picture. The way I see it, he's in the entertainment business. I was happy to contribute to a friendly guy with quite a little show going on.

I ought to title this picture, "Can't We All Just Get Along?"
I am also working on two books - Testing Dirty Systems and also one on UAT. I do get some time to write a little in the evenings.
I'm really looking forward to presenting a tutorial, track session and keynote at StarEast in a couple of weeks. Then, I conduct two days of training on use cases and root cause analysis in Kansas City on May 13 and 14. (We still have some seats available - go to www.kcqaa.org for details.)
I also have some other blog posts cued up, so I should have another posting soon.
Thanks for checking in!
Randy
Monday, March 23, 2009
5 IT Roles That Drive Cost Reduction...Plus One.
When you consider the billions of dollars ($59.5 billion to be in the ballpark, based on a NIST study), that are spent on software defects, it would make sense that this is one gap to be closed.
This also shows me how far the business case for quality has fallen. Back in the last recession (early nineties), Deming was king and U.S. industry was clammoring for anything about quality. Unfortunately, here in the USA we fell victim to the marketing (TQM) and forgot the discipline involved. So, a few years later we had regressed to the same attitudes that had prevailed earlier.
Here's my point. If you want to cut costs AND increase profits, learn from those defects we all experience. Take those learnings and improve the processes, or at least learn how to catch the defects while they are small and less expensive to fix.
I won't list the other 5, you can read the slide show here:
http://www.cioinsight.com/c/a/Bottom-Line/5-IT-Roles-That-Drive-Cost-Reduction/?kc=CIOMINUTE03232009CIO1
Just don't forget my nomination of #6 - Software Quality
Have a great day!
Randy
Thursday, March 19, 2009
New Service Offering - Live Online Training in Software Testing and QA

I just finished speaking at the Oklahoma City Red Earth QA SIG at lunch today. Thanks to everyone that attended. I spoke on the same topic I'll be presenting as a keynote at StarEast (May 4 - 8). I hope you can make it to Orlando in May. It will be a great conference!
I've been very busy lately. First, we have a totally redesigned web site - same URL - www.riceconsulting.com. If you haven't seen it, please drop by and let me know what you think.
Part of this effort is a new service offering for me. Sure, web seminars are nothing new. However, I haven't used this medium as a standard training offering - until now.
Because the current economy has forced many companies to cut training budgets, travel budgets, etc. Since 2001, I have been working to deliver online training in effective ways.
So far, we have a great line-up of pre-recorded training courses, which many people have found a great way to balance time, money and content.
However, some people just like live training - and that's fine. The problem is that it's not always feasible to have me live at your location.
Imagine having your team of any size in any number of locations linked together, being taught live! You can ask questions, make comments and work on exercises - just like if I was at your site.
We've been doing this type of training on a limited basis for several years. Now we are offering it to you and your team at very affordable prices. You pick the course and we work together to set the outline and schedule.
The possibilities are many. You can have:
- a 3-hour morning session and a 3-hour afternoon session
- a 3-hour morning session or a 3-hour afternoon session, conducted for as many days as needed to complete the course. You can train half the day and still work on your projects.
- a weekly session of 3-hours on the day of your choice
(the 3-hour sessions have a 15 minute break at the 1.5 hour point)
Example: Your team can take our Basic Training in Software Testing course (a 2-day class) in four 3-hour sessions! All-day Monday and Tuesday, or just in the mornings or afternoons four days out of the week.
Here's the best part - the pricing!
Because of the current economic conditions, I am going all out to help. Each 3-hour training segment is priced at $500! Course books can be printed and shipped to your site for roughly $30 per book in the USA. For international pricing, please contact me for options.
So, you could have your entire team trained live online in a 2-day class (4 sessions) for $2,000 plus books. No travel expenses, even if your team is located in multiple locations. A one-day (2 session) class would be $1,000, plus books.
There are some logistical details that have to be planned, such as getting a training room with projector, computer with Internet access, and having someone you can designate as an on-site facilitator.
If you want to learn more, contact me by e-mail or call 405-691-8075. Let's keep building those skills so you can do more with less!
Friday, March 13, 2009
Today's Webcast on Charting For Root Cause Analysis
Help me test a new platform for web seminar delivery!
Today, March 13, 2009, 12:00 Noon Eastern Daylight Time I will be conducting a live web tutorial at:
http://webmeeting.dimdim.com:80/portal/JoinForm.action?confKey=rrice
The topic will be Charting Events for Root Cause Analysis. In this session you will learn how to diagram a timeline of events, identify contributing causes, and hopefully, identify the root cause of a problem.
You can download the notes here:
http://www.riceconsulting.com/public_pdf/charting_for_root_cause_analysis.pdf
This is a free session and is limited to 24 people, so please arrive a little early to get a spot. The session will last one hour or less.
Also, please understand that this is also a test. We may experience some problems, so please be patient in that regard. The audio should play over your computer speakers.
I hope you can be there!
To hear this session, click here:
http://recordings.dimdim.com/view/dimdim/da27f404-6136-102c-9991-003048944478
To download the session, click here:
http://recordings.dimdim.com/saveflv/dimdim/da27f404-6136-102c-9991-003048944478
Randy
Friday, March 06, 2009
Getting Started in Root Cause Analysis
To listen live toady at 12 Noon, EST, just go to:
http://www.talkshoe.com/tc/27009
You can call in or type in your questions. After the live session, you can visit the same link and listen to the recorded call.
Here are the notes for today's call:
http://www.softwaretestingtrainingonline.com/public_pdf/getting-started-in-root-cause-analysis.pdf
I hope to see you in the podcast today!
Thanks,
Randy
Wednesday, February 04, 2009
Five Ways to do More With Less in Software Testing
While I understand the need for efficiency in today's economy, this is not a new message. When I first started training in software testing back in 1990, there was a recession underway. There was also a quality crisis as U.S. manufacturers were battling against higher quality foreign imported items which included everything from VCRs to cars.
We learned how to recoup for the cost or quality with high-quality methods. This is what Phillip Crosby wrote about in his book "Quality is Free". In IT, however, the message of the economy of high quality has been lost over the years. In fact, in recent years I have found that senior IT and business management in many of the companies I have worked with will spend lots of money and take lots of risks with little to show for it.
So, for this window of time (hopefully a small stretch of time), the kinds of things I'll be discussing here have a home in the minds of people. However, the principles are profitable in any economy and we need to remember them.
#1 - Know What You are Doing
The number one value of training and skill building in my opinion is to learn the best and most efficient ways of doing things. After all, someone with no training could attempt just about any job but the results wouldn't be very good in most cases.
In software testing, there is a popular misconception that anyone can test. I have learned that many people have the ability to test, but there are skills that must be developed before someone can do a decent job of testing. And, some people just don't have the mindset or patience to be a good tester.
Training is how you learn what to do at the right times. Repetition is an important part of the training process. So, a three-day class once a year isn't enough to build skills.
Training can be expensive, but doesn't have to be. There are effective options:
* Self-study on the web and by reading books
* Team study such as reading and discussing the same book for a month or more
* Design and conduct your own in-house mini-course
* Have someone share a great new technique or tool at each test team meeting
* Webinars and teleconferences
* E-learning - its better than it used to be!
#2 - Reuse What You Use
This is really basic, but can be a big timesaver. If you have a good test plan or test strategy for one project, make a template and use it as the basis for other projects.
This idea can extend to detailed test design and test automation.
Perhaps the hardest part of reuse is managing the items as they are shared. This is the situation when people share and reuse test cases and test automation. There must be control over the items.
#3 - Define Tests Efficiently
There is an economy of testing. More tests are not necessarily better. In fact, each test case you have is one more you must maintain and perform. If a test case isn't adding specific value to your understanding of the software under test, you should consider why it is in the test.
Many people are surprised that once they start to analyze combinations of tests, how few tests they actually need.
While not every project is a good application of pairwise testing, it is a good technique to explore and try.
#4 - Automate Well
There is a great potential in good test automation. Some have realized this value is actual practice while others still struggle. In my experience, test automation is one of those areas where you can spend a lot of money in a hurry with little to show for it.
There are some free test tools such as FitNesse (www.fitnesse.org) that can be helpful, as well as scripting languages. Other free tools are at www.opensourcetesting.org.
It's good to learn the lessons of automation on the free and less expensive tools before moving on to the more robust and expensive tools.
#5 - Learn From Your Defects
Each defect tells a story. If you take the top 10 defects (as measured by the frequency and impact) in the previous month and perform root cause analysis to learn why the defect occurred, you will make significant strides toward improving your processes. The main investment in this effort is time. It will also take management support to fix the processes. However, these are things you can often do with very little direct cash outlay and they yield big value.
#5.5 - Bonus - Write and Use Checklists
Checklists are easy and inexpensive to create. They help improve processes and prevent mistakes. They also add consistency as to how things are done. If you don't believe me about the value of checklists, ask a pilot.
Summary
Going back in time again, one of the first books I read when starting out as a consultant in the early 90's was Jerry Weinberg's, The Secrets of Consulting. One of the laws is the "Law of Raspberry Jam", which basically says the wider you spread something, the thinner it gets.
Like jam, you can only spread people and tests so far before they lose their effectiveness and value.
We should be lean and mean in our testing because we just don't have the luxury of time (and right now, of money). So it's a good thing to learn efficient ways of testing. Just remember there are limits.
To hear my podcast on this topic, visit http://recordings.talkshoe.com/TC-27009/TS-182201.mp3
Saturday, January 31, 2009
Software Testing e-learning
Not only does e-learning cost less than live public or in-house training, it is a great solution for people who don't have the time to devote 7 or 8 hours (or 2 - 5 days) for training.
Studies have shown that e-learning is just as effective in getting the information across as live training. I think it may be even more effective because you can repeat material as needed. You can't do that in a live class.
It's also a great way to make sure everyone gets the same training no matter where they live.
And...for those training managers concerned about any trainer behavior (jokes, comments, etc.), e-learning is safe. No profanity, no inappropriate remarks, etc.
I have found that the key for effective e-learning is to interact with the instructor. That's why I offer teleconference sessions for my e-learning participants. You get the chance to ask questions and interact with me. Of course, I am always reachable by e-mail and try my best to answer questions by phone.
These are just a few of the benefits of e-learning. If you want to learn more about my e-learning courses (I have 13 of them now, including an ISTQB foundation level course), just visit http://www.riceconsulting.com/training/e-learning.htm.
To experience free demos of any of my courses, just visit http://www.softwaretestingtrainingonline.com/moodle and select the demo section. You can login as a guest.
To buy a course, just visit www.mysoftwaretesting.com. We have a sale on right now!
Riceconsulting.com banned from Google
It is frustrating to go from the #1 listed site for "software testing consulting" and the #4 site for "software testing training" to not even being in the search results at all.
So, if you are looking for me on the web, I hope this post helps you to find me.
I have gone through the steps to request re-inclusion and hope to be back in there soon.
Wednesday, January 28, 2009
Battling the Russian Hackers
Also, my Moodle e-learning environment is on a new secure server as well for several months now.
So, here's what happened. I hope this helps someone else defeat these guys.
In early December I noticed that my home page at riceconsulting.com was no longer an html page, but rather a php page. Also, my htaccess file had been changed to point to this new php file. I called my web host and they didn't know how it had been changed. So, I changed my ftp password and changed things back.
Last week, this happened again and I changed it back again to index.html. The next day the home page was index.php again.
After doing some research I discovered that my old version of Moodle still on the site had vulnerabilities which allowed the attackers to place the first Mad Shell script. So, I deleted every php application on my site. I also got rid of some old cgi scripts.
Then, they messed up. That's why I think it was just script kiddies.
They added a new file, named after one of my other pages, but appended with .php. By listing the main directory in my ftp client, I found the recent change.
I looked at the page source and found an encoded script on the page, which I was able to identify as Mad Shell. Now, this is a powerful script. It allows an attacker to do anything an ftp program can do. If you want to know more about Mad Shell, visit this blog.
I deleted that page, changed my htaccess file back to normal and started watching the server logs.
Sure enough, about 10 hours later, another change!
So I started studying the server logs again. This attack was using a redirect to bounce traffic from Yahoo Slurp through my site and on to a site selling drugs that enlarge things.
I was able to identify exactly when the redirects started happening again in the log and found two deeply embedded files - both newly created as php files. So, I deleted them. They had tried to hide them deep in my folder structure, but sorting by modification date helped find the folders.
Finally, that stopped the attack.
Here are my lessons learned (you may see others - if, please comment):
1) Whenever you introduce an application to a web site you are very likely to also introduce vulnerabilities. This is especially true for php apps and even more true for open source php apps.
2) Don't leave unused apps laying around on the site. I'm the kind of person that doesn't like to throw things away. In this case, I should have!
3) Take those security updates seriously. However, in the case of open source, you may not be notified of a vulnerability. It helps to keep an eye out on the support boards for the apps you use.
4) Keep an eye on your server logs and visitor stats. I have known for some time that bots kept hitting my site, but that's just the deal with bots. Every web site owner deals with bots. However, the server logs can be very revealing.
5) Don't expect much help from the web host. While a couple of people at my web host were informative and helpful, one guy told me to "do a Google search" to learn how to secure my files. I was looking for some specific ideas and his response was one of the most unhelpful. Back in December when I was asking support for reasons why my htaccess file had changed, they didn't have a clue. I would expect a tech support person with about one week of experience to suggest that an attack might be occurring. I think I'm ready to change hosting service providers.
6) Stay vigilant and fight back. These attacks can be defended and defeated.
Now, hopefully, it's on to more productive work!
Wednesday, January 14, 2009
Calling All Dashboards
The reason I'm asking is because I am working on a keynote presentation for StarEast 2009 on that topic. It would be good to share the most popular dashboard items as described by you, my loyal blog readers, clients, students and friends (hey, some of you may be in all three of those categories!).
In case you are wondering what a testing dashboard is, you can view and listen to my original presentation here: Keeping it Between the Ditches - A Dashboard to Guide Your Testing. It's about 35 minutes long.
By the way, for all those who submit their ideas, I will send a copy of my StarEast presentation.
Also, I hope you can join me and my special guest Fiona Charles on Friday, January 16th at Noon Eastern time as we discuss the new book "The Gift of Time". This book is a tribute to the life of Jerry Weinberg and is a collection of essays by people like James Bach, Michael Bolton, Ester Derby, Johanna Rothman and many others.
I think you will leave this teleconference with wisdom and insights that Jerry Weinberg has imparted to us that can add a new perspective on "why" you do "what" you do in IT.
This Friday (January 16th) at noon Eastern time, you can get in on this call. You can also call in to ask your questions live!
There is no cost for this call, except for the long distance charges if you choose to call in. (You can listen free on the web.) If you can't be there live, it will be recorded for later listening.
Just go to http://www.talkshoe.com/tc/27009. The call in number is (724) 444-7444 Call ID: 26874 The start time is 12:00 EST (Friday) and the call will last no longer than an hour.
Once again, you can listen over the web and ask your questions by text message if you are in another country or just don't want to call in.
Thanks!
Randy
Tuesday, January 06, 2009
New Year, New Goals
It seems that everyone I've been speaking with over the past week or so is really glad we have 2008 behind us. I am, too, but I'm not very sure 2009 will be better (at least in terms of the economy). I hope it is better, but I like to keep my expectations in line. We have pretty big challenges as a country and world.
I try to avoid making New Year resolutions because they are so easily forgotten. Instead, I try to focus on goals. One year, I made a list "10 things I want to remember" for the coming year. That was interesting to bring to mind throughout the year the important things.
I have some pretty major goals this year:
- Finish three books I have in progress
- Get about six more e-learning courses produced and out on the website.
- Develop some test strategies and content for cloud computing (Thanks, Mike for that suggestion).
- Contact at least two people in my network each day, just to stay in touch (so don't be surprised if you get a call from me).
- Complete my advanced level test certification (one part down - two to go!)
- Actually publish my newsletter every month this year!
- I'm also working on this major project to document all of the processes used in my office - all the way from accounting to website maintenance.
Then, there are my personal goals: books I want to read, people I want to develop deeper relationships with, a better use of my time, and then the big one: to organize my office!
I also have this car restoration project (a 1949 Plymouth) I would like to finish while my dad is still alive to see it and ride in it.
One more thing - My goal is to journal each day. I have been hit and miss, but at least have been doing it for a few years. Back in November while in London I was able to stop by Harrods and get their 2009 Diary, which I find perfect for journaling. Plus, it's expensive enough to give me the incentive to actually use it.
I learned a great tip on this from my mentor, Jim Rohn. Mr. Rohn says that it's good to have a notebook with loose leaf pages for all my projects. Each project gets a tab. Throughout the year I will make notes about how each project is going. On the journals, the one time I spoke face to face with Mr. Rohn he told me that if I stay consistent, one day I'll have an entire shelf of journals to document for my kids and grandkids my ideas, experiences, pictures and thoughts. Today, I look at my shelf and I have about ten of those books. My goal is one book per year.
I hope this prompts you to make a short list of things you would like to do, be, or experience this year. It's easy to dismiss goals, like resolutions. But they really do propel us forward and give a chance to review at the end of the year the progress we have made. For me, if it's not a goal I probably will get distracted and not do it.
Your goals might be:
- To learn a new skill
- To visit a new place
- To make a new friend
- To be better at what you do
I hope you comment on this post and share some of your goals and thoughts about the New Year!
Tuesday, December 30, 2008
Blended e-Learning Gets Higher Grades
One of the tools I use for creating e-Learning content is Articulate. It creates Flash presentations from PowerPoint and has a nice interface with many good features such as bookmarking, notes, attachments, etc. I ran across an interesting post on the Articulate blog recently about how one college professor compared the grades of two similar classes - one using traditional classroom teaching only and the other using blended learning (e-Learning with live reinforcement).
From the report: "A technical report from a University of Houston Department of Health and Human Performance researcher finds that students in a hybrid class that incorporated instructional technology with in-class lectures scored a letter grade higher on average than their counterparts who took the same class in a more traditional format."
You can read more here:
http://www.articulate.com/blog/use-articulate-get-better-grades/
So, why is this important to testers and managers? I think the way we build skills is as important as the skills we build. Training and skill building can be transforming and exciting, or it can be torture.
Some people look forward to a day of training (for more reasons than just getting away from work) while others dread it. When people get excited about learning, amazing things can happen. The link to the Articulate blog is interesting because it goes "behind the scenes" in the theory and practice of e-Learning.
As testers and managers, we must learn about learning. We need to understand the different learning styles, attention spans and what works in training adult learners. My observation is that it's the people that don't care about how to make training effective that are the worst trainers.
By the way, as my way of saying "thanks" for reading this post, here is a link to one of my conference presentations (The Risks of Risk-Based Testing) created using Articulate:
http://www.riceconsulting.com/articulate/risks_of_risk_based_testing/player.html
Best regards,
Randy
Monday, December 29, 2008
COTS Testing Course is Now Online
To see a free demo of this course, just visit http://softwaretestingtrainingonline.com/moodle/course/view.php?id=45. To buy a registration, go to https://www.mysoftwaretesting.com/ProductDetails.asp?ProductCode=COTS101.
To see all the details about my e-learning courses and how they can help you build your skills on your own schedule, visit http://www.riceconsulting.com/training/e-learning.htm.
Thanks!
Wednesday, December 24, 2008
Merry Christmas!
At this special time of year I will be thinking of all my friends around the world and will be enjoying time with family here in Oklahoma.
Regardless of your beliefs, my wish is that the Prince of Peace will be real to all of us this year.
Warm regards,
Randy
Tuesday, December 23, 2008
A Good Resource for Government Computing Projects
I like this book because it hits at the heart of IT projects - making the right choices based on risk and value. It's all common sense stuff tailored for the government sector. It proves that the answers are in plain sight. Now, the tough part is to actually act on them.
My experience is that the hard part is dealing with the stakeholders who want something different every day and the vendors who are more than happy to promise it to get more money by stringing the project out almost forever. We as taxpayers end up paying the enormous bill for this nonsense.
Doing the research for this even makes me sick, but I am glad there are those out there at least shining a light in the darkness of many IT projects.
Tuesday, December 16, 2008
Book Review - Clean Code by Robert C. Martin
Published by Prentice Hall
Buy at Amazon.com -
http://www.amazon.com/gp/product/0132350882?ie=UTF8&tag=randyricessof-20
(5 stars out of 5)
I knew I was going to like this book after I read the Foreword and
Introduction. I know not many people read those and as an author
myself this bothers me, but it gives insight to why the author has
written the book, which is a very important thing to understand. I
was hooked by the affirmation that details are important and that
the only meaningful metric is the number of "wtfs" per minute in a
code review. For a long time I have kept my "profanities per test
session" metric as a way to measure software usability.
Long before I was a software testing guy, I was a coder. Back in
those days it was common for rookie coders to sit next to guys with
gray hair and bad breath (or if lucky next to ladies with better
appearance and who smelled better) to learn the craft of writing
code. Yes, coding was a craft before the attempt to make it an
engineering discipline. Although there was a lot of bad code, there
were plenty of people who took pride in how they coded. This book
reminds me of what it was like to sit next to these intelligent
people as mentors.
I have often lamented that today's young coders don't have this
mentor/apprentice relationship. A reasonable facsimile would be to
read this book and practice these very sensible and helpful lessons
in coding. As a testing guy who has been through those 30 wtf/hour
code reviews, my bulletin to developers is that: Your code can be
better! This book can show you how!
Here's one example: Have meaningful names. Instead of a function
named "int d", how about "int ElapsedTimeInDays;"? There's a whole
chapter about naming things. It reminds me of the coder I knew that
liked to label COBOL paragraphs after towns and cities in Kansas.
Why? So he could write GOTOs that read "GOTO Topeka." He thought
that was cute but the rest of us found it confusing and not-so-cute.
I also appreciated the chapter on Unit Testing. As a tester, I love
it when testing is mentioned, but Martin actually has specific
guidance on what makes for good Test Driven Development and Unit
Testing.
This book is very readable, makes a lot of sense and would make
most coders better. For testers that sit in on code reviews, this
would be a great read for understanding how good code should be. I
wish every coder in college or tech school would read this book
before unleashing their creations upon the world.
Wednesday, December 10, 2008
Skills for Software Testers in the Future
First, let me say that the list could be long and your list probably will differ from mine and that's fine. In fact, please comment with your answers to this important question.
Skill #1 -Thinking Skills
Too many testers fail to think through what they are doing and why they are doing it. They also fail to use imagination and instead rely on a repository of knowledge somewhere that is probably outdated and incorrect. Sure, we can curse the darkness of bad documentation, but we've been doing that for over 30 years already so let's get over it. Let's light a few candles to illuminate the subject of hidden understanding.
So, for example, when doing a boundary test, ask, "Is this test meaningful?", "What will it prove or disprove?", "Are there more important tests that I haven't done yet?".
As testers we have to be very careful about falling into ruts and thinking the same way all the time. Learn to look at problems from different angles.
I like to play thinking games just to stay in practice. One game that is helpful for test teams is "20 questions for software". I improvised this game in a class on exploratory testing when only I had my computer at the front of the room. Here's how it works. The leader (perhaps you) are at the front of the room with an application projected on a screen. Then, go around the room in order (a u-shaped room or circle is best), with one person starting the questioning of the application. They should ask a question such as "What happends when you...(fill in the blank)?". Then, the person next to them asks a question based on their question. This continues around the room, maybe even multiple times. There are only two rules: 1) you must wait your turn, and 2) your question must be based on someone else's question or answer before you.
You may be surprised about how much you can learn about the application by doing this. You may also be surprised (perhaps dismayed) about the quality of questions. This gives the team leader insight into where to develop the thinking skills of the test team or individuals on the team.
I also like to work Sudoku puzzles because they require deducing, eliminating possible solutions to find the right number(s), and using other thought processes that are the same as used in exploratory testing. I've never tried to work one puzzle together as a group, but that would be an interesting experiment.
Skill #2 - Communication Skills
I believe that communication is the basis for everything else we do in IT. Without good communication, we can't even define the problem to be solved, much less define the solutions to the problem or the testing of the solutions. Ironically, communication is the last thing we take training for, or practice, or apply in the workplace.
Testers especially need to be good communicators in the following ways:
Accuracy - People must be able to trust the accuracy of test results and other information from testing. Once the accuracy slips, so does the credibility.
Timeliness - Timely communication helps people to form good responses to problems, take advantage of opportunities, and generally work together better. Sitting on bad news, hoping for it to become better news, is not a good approach.
Thoroughness - Telling only part of a story is as bad as giving inaccurate information.
Courtesy - How people say things is just as important as what they say.
Helpfulness - Overall, the information a tester provides should help the rest of the project team to fix issues, make improvements and deliver a great project on or ahead of schdeule.
Meaningfulness - The information must have value to the audience, otherwise people will disregard it as "just another report" that may or may not be read.
Skill #3 - Measurement Skills
When you think about it, testing is measurement. However, we as testers often struggle with what to measure, how detailed the measures should be, what to do with the measurements, etc.
It takes skill to know what to measure without going overboard. It also takes skill to make the correct interpretation from the measurements and metrics. But how does one build these skills? I'm going to suggest a radical approach. Don't start by reading books on measurement, unless they are basic.
Like many things, including testing, we are up against Parkinson's Law that says "work expands to fill available time." My variation on this is that simple things can become complex just by writing books, having conferences, etc. As an example, function points started as a fairly simple idea but then evolved into more complex ways to count and apply them. So when you read a book on measurement your first thought may be that you need a large set of measurements to "do it right."
Instead, simply look at what needs to be improved and find two or three things to measure that could show progress in meeting those goals. You can also consider a typical project and what you need to know to stay on track. This is the dashboard concept. Have five or six indicators at the high end.
Then, find ways to measure without being intrusive. This in itself can be a big challenge. That's why simple is good.
Skill #4 - Configuration Management Skills
CM has always been an essential skill for testers. After all, what good is it if you test the wrong version or configuration of the software?
With virtual environments, it is even more important to know how to manage them. At this point, you may be thinking, "Yes, but the tool has features for that." Consider though, that a tool is not a process.
So testers need to know how to control all the items in the environment - software, hardware, data, and any other system components.
Skill #5 - Technical Skills
This is an interesting debate. How technical does a tester need to be anyway? On one hand, it is the lack of technical perspective that gives testers the same view as users. Too much technical knowledge and they may apply workarounds that users would not think of, therefore not seeing problems from a true user perspective.
The term "Technical Skills" is a fuzzy one, so I'll clarify my meaning a bit. The technical skills I refer to here are those that allow testers to use new tools and approaches effectively. I don't believe that testers need to be coders, although sometimes that skill comes in handy. But, if a tester likes to code and they can maintain objectivity, it does open some options.
I believe it is a mistake to eliminate a tester from hiring consideration just because they can't code or work with a particular tool. There are simply too many other needed skills and attributes to limit the decision to technical skills alone.
It's like being in a swimming pool and being able to go in the deep end as opposed to just staying in the shallow end. While we can all be in the pool and have fun. Some will be able to do more advanced things, like diving and snorkeling. It's not about worth or value, but about the ability to experience different things. So, if an inexperienced swimmer gets thrown into the deep end, it's "sink or swim", and that can sometimes be a dangerous thing. You may have experienced that "over my head" feeling.
Another example is owning and driving a car. Some people are happy just driving the car and keeping it filled with gas and having the fluids changed on schedule. Others want to get more involved in their vehicle's maintenance and repair by doing things such as changing the oil, replacing air filters and spark plugs, replacing fan belts, hoses and brake pads, etc. A few braver souls with older cars get into major engine repair or replacement. All of these types of car owners can drive the car well. Some can perform maintenance but due to time issues prefer to have the work done for them. All are valid owners and I would rather be on the road with good drivers who know little about auto maintenance than bad drivers who can replace engines in a day.
At the end of the day, the answer to this question of should a tester have technical skills may be a firm "it depends!" It depends on the person and their abilities, the projects they work on and the types of testing their job requires them to perform.
Skill #6 - Business Skills
Testers need to be able to speak the language of business. How can we as testers expect to be invited into business-level meetings if we don't understand the culture and language of business? This is more than just understanding business processes. We must know what's important to the business - profits, market share, strategic goals, markets, growth, legal, return on investment, and trade issues.
So, these are some of the important skills as I see them. Agree or disagree? I would like to hear your comments and ideas!
Thursday, December 04, 2008
Leadership by the Book
It's not how much you read, but what you read and how you apply it. You could read a book in one day and get nothing from it, or you could read a page a day and get a nugget of wisdom each day.
Unfortunately, too few IT professionals read books or articles about our profession. Testers are no exception. When I meet people in IT or not, I can normally tell within 10 minutes if they read very much.
For the price and payback, books are a great value. A $50 book can well contain thousands of dollars worth of valuable ideas and advice.
When faced with a problem, I usually ask myself, "Who can I ask?", or "What can I read?" to get a solution.
Here's a great quote from this article:
"When I was the Department of the Navy CIO, I started a leadership forum called Expanding Boundaries, which I have now continued in my DOD job as Expanding Horizons. The idea is to get the leadership team together once every couple of months, read a good book and then discuss how we could apply the book, to our work and our lives. It’s been a great way to understand the art of the possible and best practices, but even more importantly, it has helped to align the leadership team, improve trust and serve an idea creation engine as we strategize about next steps in our information transformation work."
One challenge that teams have is to communicate together well. This would be a good venue to help break that ice.
So, here's the assignment. Read this article, then let me know your thoughts.
Thanks,
Randy
Monday, December 01, 2008
The Sports Secret to Building Software Testing Skills
1) To improve a skill, you must focus on it like a laser beam. Improvement often occurs a little bit at a time (painfully slow at times), but then sometimes you have a breakthrough moment.
2) You must be willing to move out of your comfort zone to improve. Don't just work on your strengths, but also your weaknesses. Actually, I teach becoming exceptional in your strong areas and not to worry too much about the weak points. While I still believe in this philosophy, I also believe that we can all work on our weaknesses to become more well-rounded.
3) A good coach is willing to place a player in a position to fail so they will learn and improve. The player must also have the mindset that failing is an essential part of improvement.
Here's a quote I liked in the article from Steve Bzomowski, a former NBA scout and founder of Never Too Late Basketball Camps: “Pros take themselves seriously. And even though recreational players aren’t going to become pros, there’s no reason for them not to take themselves seriously. We’re always preaching, ‘Respect the game.’ So when you don’t run the court, you’re not respecting the game. Play the game right.”
So, testers, take heart. Identify your strengths and weaknesses. Practice on both, remembering it's OK to try things and fail - if you learn and improve.