It’s Tick Season

Tick, public domain photo from the CDC

Tick, public domain photo from the CDC

I hate these things.  Its tick season, and I’ve been doing a lot of hiking with the dogs, which means that I’ve brought a few ticks home with me.  Getting a tick bite is a pain, and removing a tick does take some skill.  However, its better to avoid the bites because you can become infected with lyme disease.

So, I’ve taken to dropping my outer clothes on the porch (not visible to the neighbors), and doing an inspection when I get home.  I’ll shake out the clothes then go inside.  I also work on preventing ticks in the first place.  When the trail offers a choice between one with tall grass vs one without, I’ll take the route without the grass. (I tried to work a road lesser traveled reference, but the words didn’t come to me).  Recently, I found out about Permethrin, an insect repellant/insecticide that I can treat my clothing and it will keep the ticks off of me.

Now, I have multiple layers of protection. First layer is preventing the bugs in the first place, next is inspection to find the bugs before they bite, and finally, skills, methods and equipment to remove the bugs if they do bite.

Why am I writing about ticks?  Recently, I was sharing my point of view on Quality Engineering Leadership – and articulated this exact mindset:

  • Find & fix the bugs (hopefully before the customers find them)
  • Even better, Find and fix the bugs earlier in the development cycle
  • Best, prevent the bugs from happening in the first place.

As testers, we are pretty adept at finding bugs on completed software. Great question to ask ourselves, what can we do to find them earlier in the cycle (before they bite), and even better question, how can we prevent bugs.

Dragons, Ponies, and Unicorns: Testing TESS

On Monday, April 16th, NASA will launch TESS – Transiting Exoplanet Survey Satellite, which will search for nearby planets over the next 2 years.  This is a follow on to the Kepler mission, and pre-cursor to the James Webb Space Telescope.  What a time to be alive.   You can follow the launch at NASA’s live site.

The TESS Spacecraft. Image Credit: NASA

The TESS Spacecraft. Image Credit: NASA

One interesting tidbit, the TESS orbit is optimized to be able to observe the stars, and its not a near-Earth orbit. This means that the team needs to get it right, there won’t be an ability to fix the satellite after launch, like we did with Hubble.  This means the team needs to get it right the first time.

MIT has produced a short (10 minutes) documentary about the making of TESS.  This shows several interesting tidbits about testing:

TESS has 4 cameras, each with a test setup named after dragons.  They used a simulated star field for each.  For the cameras to operate correctly, each environment is in a vacuum chamber cooled down to -75C, and the ambient light is blue to minimize light pollution.

Testing the optics required the a team at the University of Geneva to invent “the most stable light source on earth”. (link) This light source had to be 10x more stable than the camera sensors.

Integration testing shows how the cameras are each mated to an assembly which holds all 4 cameras, then mounted to the main spacecraft.

The test team is predominately women, who are obviously passionate about this mission.

These videos, and the TESS program, are a great distraction from the other things happening in the news.  We wish them luck.

 

 

New venture for me…

After 32 years working for some of the top corporations, I’ve decided to go on my own. I’m my own boss.

Blessed in life, with a supportive family, and numerous people that I’ve worked with and admired, I’m going to try my hand at making a living by doing just my favorite parts of my job. These include:

  • Coaching engineers and managers to help them become great leaders at the Software Leadership Academy
  • Helping organizations apply Quality Engineering practices
  • Transform test organizations into Quality Engineering Organizations
  • Bring customer focus into the software development life-cycle with Customer-Driven Quality
  • Accelerate testing by reducing or eliminating long regression cycles and moving to a continuous delivery model
  • Help investors understand the developer productivity and testing tool/service marketplace.

I’ll be sharing more about my plans in the coming weeks, including a product launch for the online leadership course. You can watch progress at http://www.swleadership.com

Wish me luck!

John

Testing Practice – Find my Bugs

Some of my favorite experiences with learning about testing is is do exercises where there are known bugs.  Somehow, knowing that the bugs exist, and my challenge is to find them, is energizing.  That is probably a good mindset to have when approaching testing in the first place. There are always bugs…

I created a couple of modules, called bugPractice, with intentional bugs for you to practice your skills.  There are likely more bugs than what I purposely put in, maybe you will find those as well.

The first module is a classic testing interview question, test a palindrome checker.  The function is called is_palindrome and it takes a single string.  It returns True if that string is a palindrome. Otherwise, it returns False.    I put in 5 bugs. If you find all 5, congratulations. If you find more, well, shame on me.  Here is the happy path execution for is_palindrome:

Transcript of happy path execution of is_palindrome()

Transcript of happy path execution of is_palindrome()

The second module is an implementation of a very simple stack data structure.  A stack simulates a stack in the real world, you can add items on top of the stack (push action), or pull items off the top of the stack (a pop).  Here is the transcript for the stack happy path:

Transcript of happy path execution for a stack class.

Transcript of happy path execution for a stack class.

These use Python, my favorite language.  If you need to brush up on your Python, I recommend a couple of resources. First, a software testing class from Udacity uses Python to teach testing fundamentals.  Second, Codecedemy’s class on Python teaches the fundementals of the language.

The most simple way to get started, download the archive, unzip it, then invoke Python interactive from that folder and follow the transcripts above to get started.