Friday, October 02, 2015

Friday, June 19, 2015

A Tribute to My Father


-->
In honor of this upcoming Father’s Day here in the USA, I want to pay a special tribute to my dad, Marvin Rice. I’m thankful he is still alive and I am able to visit with him. I know that many people don’t have that blessing.

When my dad was very young he worked in the broomcorn fields of southern Oklahoma. As he grew into adolescence, he showed an aptitude for working with mechanical things, so he helped support his parents and siblings by working on cars. He was drafted into the Army after WWII to go to Japan as part of the rebuilding effort. There, he was a small arms specialist.

When he returned home from Japan, he opened a Texaco station in Chickasha, OK. The building is still standing today.

I got my love of business from my dad. From the age of 8 or 9, I was helping at the service station he leased in Chickasha from Champion Oil Company (that building is still there, too). That station was located in the “bad” part of town, but the early 60’s was a different time in our country, and especially in Chickasha. I remember how the old men, both white and black, would sit around the stove in the station just shooting the bull.

I saw how my dad served people of all races and economic levels the same way. (By the way, gasoline was 19 cents a gallon then!) For those of you too young to remember, there was a time when most gas stations were full-service. Not only did someone else put the gas in your car, but you got your windshield cleaned, your oil checked, hoses and belts checked, and maybe even your tires were checked.

As a kid, I washed a lot of windows and checked a lot of tire pressure!

I saw my dad bounce back from financial setbacks, like the time someone stole all the cash from the day’s business. That would have been roughly $3,000 in today’s money.

He worked long hours, gave good service and had loyal customers because he enjoyed what he did, even though it was hard at times. He was always working to improve himself. I remember early in my life when he took a Dale Carnegie course – a big thing back then. Guess what? I listened to the tapes as well and read the book, “How to Win Friends and Influence People” before I graduated High School and they shaped how I deal with people.

As I got older, Dad became my scoutmaster and I learned lessons of leadership. We also rebuilt two engines! In fact, we are working together right now to restore a 1949 Plymouth that has been in our family for 65 years. That has taught me a lot about problem-solving.

My dad is a man of few words, but I think the thing he told me most often (usually while working on something) is "If a job is worth doing, it's worth doing right." That sure fits into the quality picture, doesn't it?

Much of what you see in the work I do through Rice Consulting Services, is actually a branch off a tree with deep roots of skills, hard work, integrity, creativity, tenacity, and a strong belief in God and Country. I try my best to maintain the standards my dad has in his own life.


It is incredible, but at age ninety, he still works almost daily on sewing machines. He has a steady stream of customers. I find that both inspiring and depressing - inspiring that he still has the energy and desire to still be active and working - depressing that I may have inherited that same gene.

As I look at my two sons, both fathers, one a software tester and one an auto technician, I see his legacy forming in their lives as well and it makes me proud.

That’s what this posting is really about. Not just buying your father a card and gift for Father’s Day, but if you are able, to tell him what he has handed down to you in your life. Too many times we remember the disagreements or strife, but there were likely good times in there as well. How has he shaped your life? What is his legacy? I’ll bet if you tell him how he helped to shape your life, that will be the greatest Fathers’ Day gift of all. If you can’t tell him in person or by phone, then set aside a few quiet moments and reflect on his memory.

Have a great weekend (and a Happy Fathers’ Day if that applies to you)!

Randy


Friday, May 29, 2015

Flushing Out the Bugs

-->
First, let me say that all of May has been a very difficult month weather-wise for those of us in Oklahoma, then later in May, for folks in Texas. Thankfully, all the tornadoes and flooding did not affect us personally, but we have friends and neighbors who were impacted and some of the stories are just tragic. So, I ask that if you are able to send a relief gift to the Red Cross designated for these disasters, please do so. It would really help those in need.

Here in Oklahoma we have had two years of extreme drought. One of the major lakes was over 31 feet below normal levels. Now, it has risen to 99% capacity. We have some lakes that are 33 feet above normal. Just in the month of May we have had 27.5 inches of rain, which shatters the record for the wettest month in history 
--> (May 2013 with 14.52 inches and the all time monthly record was 14.66 in June of 1989). Texas has also seen similar records broken. In short, we’ve had all the rain we need, thank you. California, we would be happy for you to get some of this for your drought.

The image above is of the main street of my hometown, Chickasha, OK.

Then, there are the tornadoes that make everything even more exciting. One night this month, we had to take shelter twice but no damage, thankfully. Then yesterday morning I was awakened at 5:30 a.m. to the sounds of tornado sirens. That is freaky because you have to act fast to see what is really happening. In this case, the tornado was 40 miles away, heading the opposite direction. I question the decision to sound the alarm in that situation.

Anyway…with that context…

About a week ago, I started noticing ants everywhere in and around our house. I mean parades of them everywhere. Ironically, I even found one crawling on my MacBook Pro!

Then, came the spiders, a plethora of other bugs, snakes and even fish in some peoples’ years. A friend reported seeing a solid white opossum near his house, which is very unusual.

And you perhaps heard that in one tornado event nearby on May 6, a wild animal preserve was hit and it was reported for a while that lions, bears, tigers, etc. were loose. Turns out that was a false report, too. But it did make for some juicy Facebook pictures for “Tigernado” movies.

-->
Other weird things have happened as well, such as storm shelters and entire swimming pools popping out of the ground due to the high water table (and poor installation in some cases)!

But back to the ants and bugs and why they are everywhere. Turns out that we have had so much rain, their nests and colonies were destroyed and they are now looking for other habitats. The same has occurred with spiders, snakes, mice and rats.

In fact, my wife and I are finding bugs we have never seen before. I had to look some of them up on the Internet just to know what kind of bug I was killing.

That caused me to think about a new testing analogy to reinforce a really great testing technique. To flush out the bugs in something, change the environment.

Of course, the difference here in this analogy is that software bugs are not like actual bugs in many regards. However, there are some similarities:

·      Both have taxonomies
·      Both can be studied
·      Both can mutate
·      Both can travel
·      Both can destroy the structure of something
·      Both can be identified and removed
·      Both can be prevented
·      Both can be hidden from plain view

The main differences are:

·      Bugs have somewhat predictable behavior – not all software defects do
·      Bugs can inhabit a place on their own initiative – software defects are created by people due to errors

(Although I have wondered how squash bugs know how just to infest squash plants and nothing else…)

In the recent onslaught of ants, it is the flooding that has caused them to appear in masses. In software, perhaps if you flooded the application with excessive amounts of data such as long data strings in fields, you might see some new bugs. Or, you could flood a website with concurrent transaction load to see new and odd behavior.

Perhaps you could do the opposite and starve the environment of memory, CPU availability, disk space, etc. to also cause bugs to manifest as failures.

This is not a new idea by any means. Fault injection has been used for many years to force environmental conditions that might reveal failures and defects. Other forms of fault injection directly manipulate code.

Another technique is to test in a variety of valid operational environments that have different operating systems, hardware capacities and so forth. This is a great technique for testing mobile devices and applications. It’s also a great technique for web-based testing and security testing.

The main principle here is that if you can get the application to fail in a way that causes it to change state (such as from “normal state” to “failure state”, then it is possible to use that failure as a point of vulnerability. Once the defect has been isolated and fixed, not only has a defect been found and fixed, but also another security vulnerability has been eliminated.

Remember, as testers we are actually trying to cause failures that might reveal the presence of defects. Failure is not an option – it is an objective!

Although, we commonly say that testers are looking for defects (bugs), the bugs are actually out of our view many times. They are in the code, the integration, APIs, requirements, and so forth. Yes, sometimes we see the obvious external bug, like an error message with confusing wording, or no message at all.

However, in the external functional view of an application or system, testers mainly see the indicators of defects. These can then be investigated for a final determination of really what is going on.

As testers, we can dig for the bugs (which can also be productive), or we can force the bugs to manifest themselves by flushing them out with environmental changes.

There is one more aspect to this situation. With all the standing water and moisture, the next phase will be mosquitoes and ticks. The tick invasion has already started.  Instead of being flushed out my the flooding, these parasites are attracted to it. What attracts the bugs in your software?

And let’s be real here. In some software, the bugs are not at all hard to find!

Me? I’ll continue to both dig and flush to find those defects. Even better, I’ll go upstream where the bugs often originate (in requirements, user stories, etc.) and try to find them there!

Tuesday, May 26, 2015

Upcoming ASTQB Conference 2015 and Free Webinar

I hope you had a great weekend!

I want to let you know about two events that will add value to your testing efforts. 
 
I'm very excited to be a speaker at the upcoming ASTQB Conference 2015 in Washington, D.C. on September 14 - 16. This is a special conference because we are giving focus to critical topics such as Cybersecurity Testing, Testing of Critical Applications, The Business Value of Testing, Agile Testing, and Test Leadership. In this conference, our goal is to provide valuable take-away ideas for increasing the reliability, security and quality of software projects.

I often tell my clients there are two places you don't want to be during or after a project - the newspaper and the courtroom. Your organization's reputation is at stake with every project. I'm sure, like me, you hear stories every week of another cyber attack, system failure, or failed project. The costs of these failures are enormous.

At this conference, we are bringing together some of the country's leading experts on cybersecurity, software quality, and test management to provide real-world solutions to some of the most challenging issues we face as software testers.

Early-bird pricing is still available until June 15. But, if you use the code "astqb2015a2u" during registration, you get an extra 10% discount!


Free Webinar - Thursday, June 4 from 1 p.m. to 2 p.m. EDT

As part of the lead-up to the ASTQB Conference 2015, Taz Daughtrey and I will be presenting a free one-hour webinar on how to "Protect Your Company - and Your Software Testing Career." This free sneak peek of the ASTQB Conference will preview the keynote topics, tutorials and breakout sessions that are designed to keep you out of trouble.

In addition to the preview of the conference topics, Taz and I will share some practical information you can use immediately in testing cyber security, mobile applications and agile projects. I'll discuss a few of the new "Free and Cheap Tools" I have found recently as well.

I promise it will be an entertaining and informative time!


Very important note: This webinar will be full at 100 people. We will probably get 300 or more registrants, so if you want to actually get in to the session, you will want to log in early - at least 15 minutes prior.

I really hope you can join me at one or both of these events!

Thanks for reading,

Randy

Wednesday, May 06, 2015

Just Another Brick in the Wall ( And What it Means to Your Career)

I hope you are having a great week. I wanted to share some thoughts today about building your career. I hope you read through this short article and see some of the training events and offers I have for a limited time.
 
Recently, there have been two new homes built right next to me. The noise and mess can really get to my wife and I at times, but it’s a part of living in a partially developed neighborhood.

The house across the street caught my attention the other day. The house has been under construction for months and now the workers are in the process of laying natural stone on the entire front of the home.

What strikes me about this process is how slow it goes. This is not a process that can be completed in a day or two. This is more like a matter of weeks. Each stone must be made to fit in a particular spot to achieve a particular appearance. The stones can’t be cut in advance because each stone is uniquely fitted with other uniquely shaped stones.

This got me thinking about how we build our careers. Your basic education in school is the foundation, but after schooling is finished is when the real learning begins out in the real world.

All the skills we learn, the experiences we have with people, the books we read, the courses we attend, the projects we work on, are all stones in our wall. That’s why the wise person keeps fitting new stones into their wall.

Some people end up with a fully formed wall (i.e., career), although sometimes it may need even more stones added. Others lay only a few stones every so often that may look nice to a point, but fail to reach the level they desire.

This is hard work. It takes time to read the books, take the courses, complete the projects, get the mentoring, make connections, and do all the other things needed to keep building a career.

This is also why sometimes we see people with twenty years experience in their field, but it’s actually one year of experience repeated twenty times over. You want to be the person with diverse knowledge and experience. That’s one reason I went into consulting. I figure that one year of consulting experience is like three to five years of job experience in that I get to experience so many new things just in one year.

My encouragement to you in this short post is to stay at the work of adding those stones to your career wall. It’s slow and painstaking at times, but the reward is a beautiful work of craftsmanship – a career that serves you now and in the future.

E-Learning Specials

I have five courses on sale through Wednesday, May 13th:

Basic Training in Software Testing - $249 per person, a savings of $150.
Structured User Acceptance Testing - $349 per person, a savings of $221.
All ISTQB Advanced Level Courses - $100 off the normal price, exam still included! Use Coupon Code "ASTQB12A" to get the discount.

If you already have the ISTQB Foundation Level certification, now is a great time to go deeper with advanced level training!

Live Online Class - Establishing the Software Quality Organization - May 19 - 20, 2015, 1:00 p.m. - 4:00 p.m. EDT

This is a great class led by Tom Staab. In this course you will learn the activities required to establish a successful software quality organization (SQO). The SQO is comprised of three distinct quality functions, quality assurance, quality control (testing), and configuration management, that work in harmony and complement each other. The successful establishment of this function requires careful planning and execution. It is essential that the SQO function provides business value and ROI to the organization; therefore it is imperative that it has the proper placement, infrastructure, and governance. This class further defines all activities related to the successful planning and establishment of an SQO activity.


Thanks for reading this newsletter! Please contact me if I can be of any service to you. I am happy to create a custom quote on training and consulting for your team.

Best regards,

Randy Rice

Thursday, March 26, 2015

The Ins and Outs of Entrance and Exit Criteria

Hi All,

Here are the slides from today's webinar - "The Ins and Outs of Entrance and Exit Criteria".

You can find the webinar recording at: http://www.astqb.org/certified-tester-resources/istqb-certified-tester-resource-area/

Also, I am working to develop this topic into a micro-learning format for a 3-hour e-learning course. I may also conduct a live virtual session or two. If you are interested, just contact through my website at http://www.riceconsulting.com.

Thanks!


Friday, March 20, 2015

Live Virtual Training in User Acceptance Testing, Testing Mobile Devices, and ISTQB Foundation Level Agile Extension Certification


I am offering three courses in live virtual format. I will be the instructor on each of these. You can ask me questions along the way in each course and we will have some interactive exercises. Here is the line-up:

April 1 - 2 (Wed - Thursday) - User Acceptance Testing 1:00 p.m. - 4:00 p.m. EDT.  This is a great course to learn a structured way to approach user acceptance testing that validates systems from a real-world perspective. Register at https://www.mysoftwaretesting.com/Structured_User_Acceptance_Testing_Live_Virtual_p/uat-lv.htm

April 7 - 8 (Tuesday - Wednesday) - Testing Mobile Devices 1:00 p.m. - 4:00 p.m. EDT. Learn how to define a strategy and approach for mobile testing that fits the unique needs of your customers and technology. We will cover a wide variety of tests you can perform and you are welcome to try some of the tests on your own mobile devices during the class. Register at https://www.mysoftwaretesting.com/Testing_Mobile_Applications_Live_Virtual_Course_p/mobilelv.htm

April 14 - 16 (Tuesday - Thursday) - ISTQB Foundation Level Agile Extension Course 1:00 p.m. - 4:30 p.m. EDT. This is a follow-on to the ISTQB Foundation Level Certification. The focus is on understanding agile development and testing principles, as well as agile testing methods and tools. The course follows the ISTQB Foundation Level Extension Agile Tester Syllabus 2014. Register at https://www.mysoftwaretesting.com/ISTQB_Agile_Extension_Course_Public_Course_p/agilelv.htm

I really hope you can join me in one of these courses. If you want to have your team trained, just let me know and I'll create a custom quote for you.

Thursday, March 05, 2015

ISTQB Advanced Test Manager e-Learning Course Now Available

I am excited to announce the availability of the ISTQB Advanced Test Manager certification course in e-Learning format.

This course contains the equivalent of 4.5 days of live training. However, with e-learning, you can take the training in small pieces.

You get:
  • Narrated slide shows in mv4 format
  • Course notes in a PDF viewer
  • Exercises to help you apply the knowledge learned
  • Practice exams
  • Lifetime access
  • Access to me, Randy Rice, to ask any questions.
  • One electronic exam voucher 
Pre-requisites:
You must hold the CTFL certification and have at least 3 years of verifiable full-time experience in software or systems testing, development, quality assurance, engineering or a related field.

Click here for more details about the ISTQB Advanced Test Manager certification course.
Click here for a course demo.
Click here to register for the course. 

Feel free to contact me with any questions!

Thursday, February 26, 2015

Big Sale on e-Learning Courses in Software Testing!

For a limited time, I am offering discounted pricing on ALL my e-learning courses, including ISTQB Foundation Level and Advanced Level certification courses!

Just go to http://www.mysoftwaretesting.com to see the savings on each course.

Remember, as always, you get:
  • LIFETIME access to the training
  • In-depth course notes
  • Exams included on the certification courses
  • Direct access to me, Randy Rice, to ask any questions during the course
Hurry! This sale ends at Midnight CST on Friday, March 20th, 2015.
Questions? Contact me by e-mail or call 405-691-8075.

Friday, February 06, 2015

How Important is Credibility to Software Testers?

I have incorporated the importance of credibility in all my software testing training courses. Why? Because if people don't trust you as a person, they won't trust the information you provide. As testers, the end result of everything we do is information. That information must be timely, correct, and objective.

When teaching the importance of credibility, I always say "Just look at the current events to see how people have lost or gained credibility. You will find examples everywhere."

The issue of credibility came to mind in recent days as I have been watching the response unfold to the new revelation that Brian Williams admitted to incorrect reporting of an incident that occurred while embedded with troops in Iraq. Some might say Williams' account was mere embellishment of the event. Others, however, take a much stronger view and call it an outright lie. Williams has acknowledged the inaccuracy and issued an apology, which is always a good start to rebuild credibility.

In the case of Williams, the stakes are high since he is a well-respected news presenter on a major television network. This is also a good example of how credibility can rub-off on the entire team. Williams' story many well cause many to stop watching the entire network for news reporting. People may ask, "How many other reporters embellish or hide the truth?"

Now other reports from Williams, such as those from  Hurricane Katrina, have been called into question with reliable information from those who were there. Williams reported seeing a dead body floating face-down from his hotel in the French Quarter. The New Orleans Advocate states, "But the French Quarter, the original high ground of New Orleans, was not impacted by the floodwaters that overwhelmed the vast majority of the city."

I have a feeling this story will take on a life of its own. Now, there are accounts from the pilot of the helicopter saying they did take on fire, just not RPG fire. That may help clarify things, but it adds confusion to the issue which doesn't help rebuild credibility.

As a software tester, you may be tempted to overstate how many problems you have seen in a system or application, just to get people to pay attention to the fact there are problems. Don't succumb to that temptation. Instead, just show a really good example of a serious problem. If there are other similar issues, say so. As a tester, you can only report what you have seen. You can't predict what other problems may exist, even though you might be right.

In telling your testing story, the accurate, complete truth is all you need.

If you would like to read my three-part article series on How to Build, Destroy and Rebuild credibility, here are the links:

Building Your Credibility as a Tester

How to Destroy Your Credibility as a Tester

How to Rebuild Your Credibility as a Tester

I hope all this gives us all something to remember as a we report what we see in testing!

I would love to hear your comments, questions and experiences.

And...I would like to wish my son, Ryan Rice, a happy 34th birthday today!

Have a great weekend,

Randy

Friday, January 02, 2015

What Mythbusters Can Teach Software Testers

mythbusters
I hope you have all had a great Christmas and New Year. Normally at this time of year I write a posting about goal setting, reflecting on the past year for lessons learned or something similar, which are still important things to do.

I thought for this year, let's go for "Now for something completely different."

Between all the bowl games and Christmas movies on TV, the Science Channel has been showing a Mythbusters marathon for last couple of weeks. That, my friends, is a lot of episodes - more than I could ever take in. But I have enjoyed watching a few of the episodes.

I often refer to the Mythbusters show when explaining session-based testing in some of my software testing classes and workshops. Mythbusters is a perfect example of how to set-up a test, perform it, then evaluate the results.

However, in watching several episodes back-to-back, some clear trends emerged that I have not previously related to what we do as software testers.

Planning

You don't see the written plans, but believe me, they are there. Of course, you have the episode script, but there is much more going on behind the scenes. The crew has to get all the resources in place for the show. Some of the resources get expensive. In one episode I counted eight cars destroyed. Then you have explosives, the permissions to use the explosives, chemicals, the permission to use dangerous chemicals, special cameras and other devices. The list could go on, but the point is that those items, just like the items you need for testing, do not just magically appear. It takes planning.

Teamwork

It is impressive how each of the Mythbusters collaborate and get along. They may disagree on some things, but each one is committed to letting the test tell the story. They ask for input and feedback and it's refreshing to not see the drama that plays out in some of the "reality" shows.

Expert Consultation

When it comes to things beyond their scope of knowledge, the Mythbusters bring in a subject matter expert to evaluate the test results.

Measurement

The Mythbusters are fanatics which it comes to measuring what they do. Not only do they measure things, but they are careful to take good baseline and control measurements BEFORE they perform the test. If the Mythbusters can measure how much pressure it takes to get candy away from a baby, we can measure what we do in testing.

Estimation

The Mythbusters allocate certain amounts of time to their tests. That allows them to estimate the time needed for the entire test. The time for each of the tasks varies due to the complexity of the test. Setting the scope of the test is very important. The test is focused on ONE thing, not several. That allows them to stay right on point and on time.

It appeared to me the total test time broke into:
  • Planning - They discuss the urban legend to be busted or confirmed and how they plan to conduct the tests.
  • Set-up - This often takes up the largest percentage of time, depending on the specific test. In some cases, they go to very elaborate means to create the closest conditions possible to the purported occurrence of the original (supposedly) event. In one show, the crew built a jail cell out of cinder blocks, poured concrete in the inner space and reinforced it with rebar. That alone would have taken multiple days.
  • Performance - The tests themselves can go quickly, but the trick is that many of the tests are repeated either to confirm the findings or to get a large enough sample size. In fact, one impressive observation is that they will try a test several different ways. They might start by using just a model, then by using the real thing, such as car, motorcycle, etc.
  • Evaluation - This often goes quickly because the test has been so clearly defined, measured and documented.
  • Tear-down - This is the part we don't see, but in the case of the mock jail cell, I could see it taking a while.
I think a starting point for testers is to measure as a percentage of effort your testing tasks require, based on varying levels of test complexity.

Expected Results

The Mythbusters define what they expect to see either confirmed or busted. In fact, they know what constitutes "confirmed" or "busted" and what the measures must be to support the findings. It's at this point the viewer gets the clear impression that these guys practice science. Personally, I also practice testing as a science, not a guessing game or a diversion. However, the popularity of the show is that they have made science (and testing urban legends) fun and entertaining. I wonder if we could do that in testing?

No Boredom

This is the challenge for testers. We get to blow stuff up also, but not in a physical sense. Let's face it, a system crash is not as exciting as a car crash (Unless the system you are testing operates a car, but we won't go there...). So, how do we make software testing exciting and perhaps even entertaining?

By the way, if you haven't seen my video of testing a mobile phone radar app during a tornado, that was exciting! But, like the Mythbusters say "Don't try this at home."

The best answer I can give for this is to start thinking about testing software like the Mythbusters think about their tests. Create a challenge and build some excitement about confirming or busting ways that the software should work. You may not get to see a literal explosion, but you may make some people's heads almost explode in frustration when they see that really bad defect (I mean showstopper, dead-in-the-water, kind of defect) the day before the release is supposed to go out.

Some companies hold "bug bashes," but in my experience, most of the problems reported are either superficial or not actually a problem. The issues are often misunderstand of how the application should work. In one case, we held a bug bash at a company with customer service reps performing the tests. Over 200 issues were logged over a 4-hour period. 3 of the issues were actually confirmed defects!

Contests are fun, but be careful. Don't make the contest about who finds the most bugs. You will get a lot of bug reports and some of the better testing may be the tests that find few, but important, defects.

Perhaps a contest for the "Bug of the Week" or "Most Humorous Bug" (Hint: error messages are great places to look for humor) might be interesting. I would love to hear your ideas on this. I would also love to hear any things you or your company does to make testing exciting.

How's that for your New Year's challenge?

Now, go bust some of your own software myths!