Tag Archives: #agiletd

Programming for Testers

Abstract:

We hear a lot these days about how testers should learn to code, become more technical, and have more development orientated skills. Unless you came into software testing as a ‘burnt out’ developer, it is unlikely that you have coding skills, or a deep understanding of the technical ins and outs of your current systems landscape.

What can you do about it? Is programming hard? How can you learn to code, gain the benefits and still master your current workload, which keeps on relentlessly increasing?

This workshop will show you how easy it actually is, as a tester, to learn how to program. The hard part, as always, is how to start. We will start with 3 simple steps and get you up and running with Python. You will write the simplest “Hello World” program. However, we will not stop there. We will then explore the ‘next steps’, and give you the confidence to write more complex programs.

Sound great, but when you are back in the office, sitting in front of a blank screen, doing this on your own will suddenly get much harder. To combat that we will arm you with some of the most useful on-line information available. Someone, somewhere on the planet, has already found the answer to your problem, and most likely created a YouTube video showing you how!

As a Tester you know that just writing code is not enough. It has to be shown to work. So not only will we write some code, we will ‘Test’ it as well. To make this even more enjoyable, together we will write programs to control a simple USB Robotic Arm, connected to a Raspberry Pi computer, on which we will run and ‘Test’ our code. We Testers can have fun too!

We will conclude by drawing up a personal development plan for how you can continue to develop your Programming skills, and how you can deploy them back in the office.

To participate it is highly recommended that you bring along a laptop with Wi-Fi that you can; download to, install software on, and edit the path variable. (If you can’t download and install software, i.e. your machine is a secure build, you will still be able to write code in text files that may be transferred to another machine for compilation and running.)

Each journey starts with a single step. Let me help you take your first programming steps today.

Downloads:

Impress  .odp format      pdf  Presentation      pdf  PFT Paper Gold Star

Webinar EuroSTAR Webinar     PowerPoint Show  Webinar Slide Show    You_Tube  YouTube Video

Code examples:

Python  Exercise 1      Python  Ex. 2      Python  Ex. 3      Python  Ex. 3.5

Python  Arm Template      Python  Arm Hint Template

(Please note: Due to the limitations of this Server, .py extension files can not be served direct. After opening, whilst saving the file, remove the .txt E.g. Exercise1.py.txt is saved as Exercise1.py)

PearlTrees2  PearlTrees Collection
(This is an on-line collection of web links referenced in the presentation)

Presented at:

1. Belgium Testing Days, Bruges, Mar 2014. (Workshop)
2. TMF Summit, London, Apr. 2014.  (½ Day Workshop)
3. Czech Test, Prague, Jun. 2014. (Tutorial)
4. Agile Testing Days, Potsdam, Nov. 2014. (Workshop)
5. EuroSTAR, Dublin. Nov. 2014.  (Workshop)  Gold Star
6. BCS SIGiST, London, Dec. 2014.  (½ Day Workshop)
7. EuroSTAR Webinar, Sep. 2015.

A blog post telling the story of the workshops can be read here http://badgerscroft.com/home/a-year-in-the-life-of-programming-for-testers/.

Notes:

This session was developed jointly with my good friend Phillip Isles.  We co-presented all of the workshops, except for the Czech Test Tutorial.
Phill and I co-wrote the Programming For Testers paper which was nominated for EuroSTAR 2014 best paper. Gold Star

Natural Born Tester

Abstract:

Forget all that talk of methods, process, tools and training. The other 99% of presentations at the conference. You might just be a Natural Born Software Tester. You don’t need all that good stuff above, you just need to hone your natural skills.

So what is a Natural Born Software Tester and how will you know if you are one.

Here is a simple check-list.

1. Can you play Lemmings?
2. Can you play Railroad Tycoon?
3. Can you play Angry Birds?

OK, so you are beginning to think that this is either the wackiest presentation you have ever been to or there might be something to this. Read on.

Lemmings, a fun to play computer game of the early 1990s, was essentially a parallel programming interface. You had to explore. Then plan. Then execute, in parallel. Does that sound a little bit like software testing?

Railroad Tycoon was a Train Simulator that combined cutting edge game play and visuals with complex project management and control. You had to build a railway, operate it, and develop it. Very much a planning, monitoring and control exercise. Surely an excellent training activity for budding testers and test managers.

Angry Test Birds

Angry Test Birds ?

Angry Birds. Isn’t this just the greatest exploratory game? You have a number of birds, which I analogise to test techniques, and it is up to you to work out which birds / techniques to use, in which order, and when, to the have the greatest effect. Does this also sound a little bit more like software testing?

I firmly believe that we all have the ability to test. However I think those skills and abilities can be enhanced by non-test related activities, such as the games identified above, to increase our effectiveness as testers, or to put it another way, to become a Natural Born Tester.

So let’s put this to the test . . . . .

Downloads:

PowerPoint

Presented at:

1. Agile Testing Days, Potsdam, Oct. 2013.
2. Scottish Testing Group, Glasgow, Apr 2014. (Keynote)
3. Czech Test, Prague, Jun 2014 (Keynote)