A one pager on automated checks

I was asked to summarise the process for automated checks in an easily readable format for non techies to understand, so heres a little snippet of what I can share:

A pragmatic approach to automated testing is taken.  Automating only where we see the value.

Testing layers

There are multiple layers of automated checks:

  • Unit – Run on every check in.  Check individual units of code. When code is checked in these tests are run and if any fail are fixed.   
  • Integration – Run overnight. Check where Enactor talks to other systems, e.g the database.
  • UI – Run overnight.  Follow a user journey, simulating button clicks and typing as if it was a real user.  

 

Manual to Automated

Scenarios are creating using Behaviour Driven Development (BDD) format for every user story.  A scenario is worded in the Gherkin language.  e.g.Given When Then 

These are output as Cucumber feature files, which can then be automated using Selenium Webdriver, using Java code
References

Cucumber  https://en.wikipedia.org/wiki/Cucumber_(software)

Selenium webdriver http://www.seleniumhq.org/projects/webdriver/

BDD – https://en.wikipedia.org/wiki/Behavior-driven_development

 

Time vs scope vs quality + cake!

We all want it now.

We all want it all.

We all want it right.

But sometimes something has got to give.

In software development time is always of the essence.  Demand can be high and the pressure is on to cut corners to try and keep customers happy.

While talking to a developer the other day I described this cake analogy so here it is to share:

 

Baking a cake

A cake takes a certain amount of time to bake.

A cake takes a certain amount of ingredients to bake correctly.

 

If I don’t bake a cake for long enough, it is not a cake

If I miss some ingredients, there is a risk that it will not be a cake

 

But really I need to define what a cake MVP is to know how to sacrifice time, scrope or quality

 

 

 

Lean Tea Making

Every morning after the run around with a 2 year old I come into work and make a cup of tea and I‘ve had some ideas bubbling in my head about how I can apply this to lean principles.
Tea making is an activity that all of us partake in pretty often.  Its a social activity as well as a great way to make friends (see Dan Ashbys blog Why tea is a great tool for a tester).
It got me thinking about the different ways I made tea, based on what criteria I set for it.

  • Sometimes I want a cup of tea FAST.  I have work to get on with (and blogs to write).
  • Sometimes QUALITY is the most important.  I am making tea for others.  I want them to enjoy my tea and commend me on my tea making skills.
  • Sometimes the SCOPE of tea making might increase. I might have a mini meeting with someone while making the tea.
For speed I want the fastest cup of tea, with no waiting for the kettle to boil so I can get back to my desk and start my day.  My steps are:
  1.  Fill kettle
  2. Put it on boil
  3. Wash cup (optional)
  4. Put tea bag in
  5. While kettle is boiling grab a glass of water and take it to my desk
  6. Back to kitchen and tea bag in cup
  7. Add the milk (controversial I know but for speed this is the key!)
  8. By the time the milk has finished the kettle has finished
  9. Pour the water into the cup
  10. Let it brew quickly then squeeze the bag a lot to get strong tea flavour.
  11. Take bag out and all done within 90 seconds I have a cup of tea.
Quality is a bit different:
  • Brew time would be higher.
  • Milk will go in last, which impacts speed.
  • I might have a lot of cups to wash which will increase the time, also impacting speed.
  • I wouldn’t be running around the office sorting my water out, I would have to do that later.
Scope is different too:
  • If a discussion happens while I am making tea for myself, I will straight away increase the quality by brewing more.  Speed isn’t too much a factor in this situation.
  • No time here for water either, so it would happen later
Let me know about any other daily tasks you do that gets your brain bubbling like this.
Oops – almost forgot to drink my morning tea!

The Pheonix Project – My Favourite Quotes

Its not rocket science but if everyone in the world read this book we might be in a better place.

People are amazing, but we can only do so much at one time.

Some of my favourite quotes from the book:

 Unplanned work has another side effect. When you spend all your time firefighting, there’s little time or energy left for planning. When all you do is react, there’s not enough time to do the hard mental work of figuring out whether you can accept new work. So, more projects are crammed onto the plate, with fewer cycles available to each one, which means more bad multitasking, more escalations from poor code, which mean more shortcuts.

I dared myself to say this one for a project I was working on last week that we were desperately trying to fix up before a large deployment.   I said it,  the project got delayed.

 It’s not a good sign when they’re still attaching parts to the space shuttle at liftoff time.

http://www.amazon.co.uk/The-Phoenix-Project-Helping-Business-ebook/dp/B00AZRBLHO

Car Building Live – Kaizen, Testing and Good Changes

For the past couple of nights there has been a show on BBC called Car Building Live.  I’m not a car fan but to be guided through the process was fascinating.

Kaizen

They talked a lot about Kaizen.  Kaizen is the practice of continuous improvement, change for the better.  Making improvements is something I’m always looking into, in my work and personal life.  Why compromise and do things one way when we could do it better?

In the show they talked about Kaizen being a team effort.  Employees are encouraged to come up with 2 every month.  As they are the ones doing the work they will be able to come up with ideas for improvement.

My favourite example from the show was the Sticker Picker

Sticker Picker

Each car has 96 stickers.  The sticker picker shaved off 0.3 seconds per sticker.  Thats 28.8 seconds per car @1000 cars a day.   Works out at 8 hours a day which is one whole worker for a whole year.  Crazy.

Giving people time and the opportunity to make improvements has a really positive affect., however small they are.  It saves time and people feel like they actually make a difference.

Kaizen for testers

I thought about how this was quite similar to the dreaded regression testing.   2 weeks of a testers time to go through the core features of a product.  Of course there are many ways to solve this but a quick win is just to spread the load.  Get help testing, so testers don’t have to feel like the bottlenecks.   (I may have referred to this to my team as sharing the pain)

This then leads onto more people offering their Kaizens for testing!

“Lets automate this flow”,   “I could add a unit test for that”, or even “why are we even testing this, users don’t use this functionality?”

Its all good,  its all change

Final Thoughts

There is always room for improvement and you have to make time to do them.   There are a number of areas I know my testing can improve so I will share my Kaizens as I go.   My current Kaizen is about making testing reports more valuable.   I don’t believe that counting scripts of pass/fail and counting bugs gives a good indication on the quality of the product.   But thats another blog post….

Oh and I now really really want a mini!

To read more about Kaizens and Katas have a read of these

The Toyota Way

The Lean Six Sigma Pocket Book

Kaizen

http://www.bbc.co.uk/iplayer/episode/b06kn5d7/building-cars-live-episode-2

How to get help regression testing

 

Testing Parties

Regression testing isn’t everyones favourite task so as testers we have tried to put a bit of fun into it.  Each time we have a theme.   At 10am we play music in the office to announce to everyone that it is testing time.   (Star wars -Imperial March being my current favourite).

Everyone gathers for testing kickoff, where we explain the teams and what each of them will test, and more importantly why they are testing.

Its a good way to get new starters involved, as it shares our testing mindset with them and they get a chance to learn our product.

During this time testers are on hand to support testing, not test everything.  We sit with developers, UI, UX etc to aid their testing and help them learn the product.

Testing Themes

When choosing a theme the song is really important.  This is played into the office to signal that it is testing time and to encourage people to leave their desks to join us for testing kickoff.  Past themes have been:

  • Star wars
  • Jurassic Park (to celebrate the film release)
  • Fraggle Rock
  • Looney Tunes
  • Puppies
  • Lego with ‘Everything is Awesome’  as the theme (this was very very successful)
  • Metallica
  • Wallace and Gromit
  • Game of Thrones (to celebrate the end of the series)
  • 80s cartoons (could go on for 100s of releases with that!)

How often do we run these?

We currently release the site every 2 weeks, although its becoming more regular which is great!

We are not at the stage where we have fully automated regression but how things are changing with automation is probably for another blog.

The ‘I feel Stuck!’ Heuristic – a real life example

This post doesn’t have a lot to do with testing software but does show some of the testing techniques that I used in a real life situation yesterday.  Its ultimately a fail post but demonstrates some of the ‘when to stop testing heuristics’ from Michael Boltons blog

For the month of July I spend a lot of my free time helping set up Standon Calling festival.

The art director is one of my close friends, and in exchange for a few tickets I help paint and sew while my toddler entertains everyone.  (probably more toddler supervision by me than anything else*)

My task for Saturday was to cover some sofa cushions with material.  My first thought was how can I get this material to stay put and I saw another girl was slowly sewing it onto the cushion.  So, I started my hunt for needle and thread.  Found it and started tacking the material on.   If anyone has ever tried to sew velvet into a really thick cushion and a small needle you can probably see what is coming.

It was hard.  Really hard.

I did a couple of stitches and stood back and thought to myself that if I was to sew this on it would take me all day, which wasn’t acceptable.  So I used the ‘Pause then refresh’ heuristic.

Staple gun! What a great idea.  So I walked back to my van to get the staple gun.  Sat down and started pushing the gun as hard into these cushions as I could.   Another fail!   Staples need something to hook onto.  There was no way they would ever stay in.

Wait!  Glue gun.  Awesome idea Liz!    This was easier to source than the needle and stapler, only problem was there was no power in the area I was and I could’t go anywhere else  (due to toddler duty) so I very disappointingly gave up.

I was stuck.

Sounds like a lot of excuses.

On reflection if I had thought about the task I was asked to do before I jumping in and started it, I could have used my time more effectively.

*Sorry for not being more helpful Standon Calling Art Crew!    Next week I will get my toddler to help me out with these problems.

Playing with words

I watched Dean Poole at the Design Indaba conference playing with the word Art and it inspired me to give word play a try.
As testers its important to be able to talk to people, and to know how to ask good questions, which means I really like words!
I have taken the word TEST to work on for the morning of our Friday projects day and see what I come up with.
I have chosen a number of techniques to have a play with, but there are many more out there!
It has been trickier that I thought and in hindsite using a word with the same letter in it twice has proved challenging but here are my results!

T  E  S  T
E  H  C  O
S  H  O  P
T  O  P  S

Testers love to ask questions
Explain to me how things work
Show me what things do
Tell me why it does it

Letter frequency
T is the most commonly used constanant and the second most common letter in English language
E is the most commonly used letter in many languages
S is the seventh most common letter in English and the third-most common consonant
T (we know this one already)

     InvesTigate
              Explore
  chapterS
ObservaTion

        AuTomate
            lEarn
      queStion
  evaluaTe

James Whittaker Tours
             inTellectual
          guidEbook
           muSeum
  couch poTato

Michael Kelly Tours

          feaTure
      complExity
       claimS
configuraTion

Up next it gets a bit trickier, so I am going to take a break and come back to it next week!
Diastics and Backronyms!