Just fiddling around…

This month I started a mini project on Github to create a small knowledge base, all around the REST Client tool Postman. I’ve been using this tool for a while now and I’m a massive fan, I want to share some of the knowledge that I have gained, with other people.

It’s basically a list of examples that use the tool and its many cool features to interact with a public API. This wonderful resource has been created by Mark Winteringham. Mark has created Restful-Booker, a safe place for people to learn more about API testing and an active platform to try out tools like Postman.

In one of the examples, I explain how to the use Manage Environments feature. This will allow you to create an environment file, then assign pieces of data to variables. That data can then be referenced in any of your Requests within a Collection. This is very handy during the creation of an API, where you may have different environments to test the API like development, staging, pre-production etc. The routes of the API will generally stay the same but the baseURL will change depending on the environment location. Check out the example to learn more about this in more detail.

So why write a separate blog post?

I’m always fully open to learning new things and sometimes you stumble across things by accident or as the result of looking into something else. I love creating visual helpers when I’m trying to explain something – “A picture paints a thousand words”.

To fully explain what I meant by the different environments in the ramblings above, I thought I would just create a couple of super basic Nodejs Express APIs locally and then edit the Hostfile on my local machine to override the DNS for the localhost domain, so that I could show requests being made to dev-restful-booker and staging-restful-booker in Postman.

The code for each API is crazy simple, I wanted to mimic the actual Restful-Booker API so I added the Content-Type header and also made it return a 201 Created status code. The only real difference between my mock dev and staging APIs was the .send() value and the port number that is was running on.
API_Code
Mock API code

So I added the names to my local Hostfile and started the APIs…that’s when I hit my problem…I wasn’t aware, until I tried it out, that you couldn’t use the IP + port number as an entry in the Hostfile. Using the IP on its own is fine but it didn’t like me adding the port number too! 😦

This meant that my amazing idea of showing this in action on Postman was ruined….or was it?! I headed to Google, that’s what we all do right – Thankfully, It didn’t take long till I found a comment on Stackoverflow, that mentioned that you could just use the HOSTS feature on Fiddler to do this instead. Fiddler is a free web debugging proxy tool and is an absolute must have for Developers and Testers working in the web development space. I use it all the time but because I never had a need to do it, I wasn’t even aware that you could do that within the tool.

To access this feature is simple. In Fiddler, select the Tools menu option and then select the HOSTS… option at the bottom of the list. I added the following entries and hit Save.

Fiddler_HOSTS
Fiddler HOSTS feature

 

I spun up my two mock node APIs and bingo!! We were back in business!!

dev-env
Dev Environment
staging-env
Staging Environment

So that was it, Fiddler saved the day and I was able to add what I needed to the Postman example and learnt something new in the process! Win – Win!!

Please do check out my examples on Github if you’re interested in learning more about different ways that you can use Postman.

Thanks for reading!!

Advertisements

Our current Testability trajectory

I absolutely love Testability as a topic and to my delight, Ash Winter wrote a great post recently where he posed a series of questions – Naturally, I jumped all over these to see how my team measures up against these questions. In fact, I was a little too quick to react and came up with a score that wasn’t actually on the page (Blame the typo on Ash, not my poor reading skills).

I wanted to write this post to try and explain where I feel my team is at right now and give my answers to the questions. Some people may feel that I haven’t really answered the question correctly but I can only answer them based on my current team and in our current context.


1 – If you ask the team to change their codebase do they react positively?

For me, that all depends on what the change is you’re being asked to make and who is requesting the change. No one in the team is massively nervous about making changes to the codebase but the change has to be something that we, as a team, all agree on and believe it to be the right thing to push us forward. With any change, big or small, we will always plan it out together as a full team and walk through the changes to assess any risk that this may introduce, based on the current information and our understanding of our services. If there are gaps in the information during the walk through, we will spike ahead and try to uncover the answers to the known unknowns.

2 – Does each member of the team have access to the system source control?

I believe this is a fundamental part of being a member of a development team. In our team, as it stands today, only the Product Owner doesn’t currently have access. That’s not to say that he doesn’t because he’s not allowed, he just feels that he doesn’t really need it. Everyone apart from him has checked in “something” to source control over the last 18 months. This could be production code, a utility script or a testing tool, a JSON template for one of our monitoring Grafana dashboards etc.   

3 – Does the team know which parts of the codebase are subject to the most change?

Every member of the team has been on the project from Day 1, the collaboration and communication are something that I feel we excel in. Everyone is capable of working on any aspect of the project, we identified certain silos forming early on and made changes to spread the knowledge amongst the whole team so we don’t have a single point of failure. People will always be stronger in some areas but we all have a collective understanding of the changes being made at all times. We do a 3 Amigos on every story before starting the work and as we are quite a small team this generally involves every team member so everyone knows what changes are being made to what area.

4 – Does the team collaborate regularly with teams that maintain their dependencies?

Our API was released as a pilot a few months ago to a selected amount of customers who are giving us valuable feedback, as the project matures the data available to them is becoming a lot richer, which is of benefit to the end user, we are always constantly aware that our changes are not breaking ones as the API is being used to create custom integrations. Over the last few weeks, we have picked up some internal consumers that are creating an integration based on the data we provide. This has been very collaborative and it’s awesome from a testing perspective as we get super quick feedback and can react to this and make changes where necessary.    

5 – Does the team have regular contact with the users of the system?

Before the internal consumers started their integration we were only dealing with 1 or 2 main external contacts who were providing us with feedback. For me, this could have been better or more structured. The customer was based in the States so there were time zone issues to address and the general information passed back to us was hard to decipher and not clearly presented so it just ended up being a bit too much back and forth. It’s a lot better now but it could always be improved. At the end of the day, we’re creating software for our customers/end users so they should be involved as much as possible.

6 – Can you set your system into a given state to repeat a test?

This is one that I’m extremely happy with, as a tester, having the ability to control the system and put it into any state you want and at any point, is a priority. We have built Testability in from the start, there are hooks in place to stop a specific service, we can easily spin up or tear down services to get to a set point. We have also created a suite of tools to allow us to achieve many things, one favourite of mine is a tool that grabs all the events from any live interaction and replays these in a local environment as if they were happening in real time. This can be done in seconds and helps with debugging issues to get to a solution quicker.

7 – Is each member of the team able to create a disposable test environment?

We use a Vagrant development environment which is just awesome, the instructions are clear and well laid out which allows anyone in the business to bring up their own environment within a few minutes. There are a few requirements for certain applications and languages to be installed but a script has been created to pull down all of these items, this is also attached to the set of instructions. Each service has a set of rake tasks, so building the C# .Net services or the Node.js API and starting them up is just a single line in a terminal. Our team has created an events Simulator that will mimic a live Contact Centre (The core service of NewVoiceMedia) and feed these events into the locally running services. At this point the endpoints are available and requests can be made to get the data. I’ve not timed the installation but it’s pretty bloody quick to go from nothing to seeing a response from the API.

8 – Is each member of the team able to run automated unit tests?

Of course! This goes hand in hand with being able to access the source control and spinning up your own local development environment. I would have serious concerns if this wasn’t the case.

9 – Can the team test both the synchronous and asynchronous parts of their system?

This is very closely related to question 6 in my opinion, knowing what control you have over the system in order to put it into a specific state. More important than being able to test these parts, you first of all need to know where and when they occur in your system.

10 – Does each member of the team have a method of consuming the application logs from Production?

We mainly use Papertrail (we also have other tools available) to aggregate the logs (All Staging, Pre-Prod and Production environments) I have set up groups within the tool to make it easier to see what is happening on all our boxes in one central place. I’m all for consistency and the group names are the same in each environment, apart from the environment identifier. Papertrail is great at what it does but I find the UI not amazing to look at so I use a Chrome extension called Stylish to present it in a way that works for me. It just manipulates the CSS to present the page in a way that you want, I tend to use colour to show specific pieces of information.

Sylish_Logs
The same log output but the top image has “Stylish” enabled

11 – Does the team know what value the 95th percentile of response times is for their system?

We have gone a bit mental in this area, the team loves monitoring and performance based metrics. We’ve invested a lot of time and effort so that we are answering questions about the impact of increased load and stress on the services, with data rather than a best guess finger in the air measurement. Not only do we cover performance but we have also exposed the state of the resources (CPU, memory and disk space, etc.) on each box. We have multiple different Grafana boards giving us constant real time feedback. 

Dashboards
One of our many Grafana Dashboards

12 – Does the team curate a living knowledge base about the system it maintains?

At NVM we use Confluence from Atlassian, each team has its own space as well as the wider department spaces. Our team has built up a wealth of information about all aspects of the project. We did this from the start to document our journey but this has grown and improved as the platform has matured. It’s full of useful information about our architecture, environments, how-to guides, team culture, deployment and release information etc. We periodically curate the content to ensure that it’s still relevant and the space is just not full of dead/redundant information.


Hope my answers provide some information about how we function as a team and gives you an insight into things that we feel are important. For things that I would add, currently, we also deploy our services to multiple regions around the world so having a team based understanding of how that all pins together is very valuable. We are still learning and growing as a team, we started out on this project with the intention of having Testability baked in from Day 1 – I personally think we’re doing pretty well but we haven’t stopped yet so maybe I will have an updated list of answers in a few months.

Any questions you would like me to answer based on my responses, please leave a comment below! Cheers for reading!

Bringing external content in-house…

Being an active member of the test community, I sometimes don’t appreciate how difficult it must be for other, not as involved testers, to find great resources outside of their workplaces.

I have the benefit of knowing or being aware of certain prominent testers who write about topics or have a specialist area that they tend to blog/talk about – it’s easy for me to say “he’s blogged about that lately” or “she’s spoken at a conference about that topic recently” and straight away I have an entrance point, so that I can expand on an idea I may have and go from there to move things forward.

I’m probably one of the only people left in the test team at NVM that is always on Twitter or watching conference talks etc. People learn in different ways and subscribe to other channels to get their testing information – I get that, it’s a personal learning and development thing. What I wanted to do is expose/share some of the great resources that I love, with the test team, in a not so “in your face” way. I didn’t want to push anything on other people, that they didn’t want to read or watch so I set up something that they could tap into or look at if they have some spare time.

So much to choose from…Where do I start?

There really is so much content out there, that I could absolutely flood my team with lots of blogs, articles and videos but I don’t think that would be useful and could potentially have the opposite effect and scare people away. I started with 2 resources that pack a lot of items in a couple of links.

I saw this tweet from Katrina Clokie where she mentioned one of the resources I had in mind, I love that see was recommending people to follow the Testing Curator!! I’ve followed this account for a while, as it really is something special – well worth subscribing too!! Great job Matt!

 

katrina_tweet
Go and follow @testingcurator

 

 

Making the content easily accessible…

I’ve blogged in the past about using Hipchat at NVM, although some people may prefer Slack, this is fine for us and suits our current needs. Hipchat has an API, like many other platforms, that allows you to send messages into “rooms”. Our Test Team has its own room where we can exchange test ideas, test improvements, new things that we’re learning etc. This seemed like the perfect place for these new testing resource feeds. As well as the Testing Curator feed, I’ve added Simon Schrijver‘s 5 blogs feed. This is excellent and provides the team with 5 new blogs to read each day! Thank you so much for providing this service!! I love that the blogs are not only about testing, it’s a great mix!

 

hipchat
Hipchat messages

 

 

A Helping hand…

Although I’m loving coding little applications at the moment and I could have attempted to do this from scratch but…I thought “What’s the point?!” I would have either epically failed or it would have taken me too long to achieve. I’m a huge fan of integration services like Zapier and IFTTT – they are just really simple to set up and so useful for what I wanted to do. I’ve chosen Zapier for my integrations, I love that it has really intuitive UI and you can test each step as you go, so you can clearly see what’s happening.

This is an example of the 5 blogs “Zap” that I have created, It’s triggered by a new item on the RSS feed and then sends a configurable (see image below) message to the Hipchat room. Simples. The task runs every 15mins, looking for changes – there are different account plans that you can have on Zapier but the free plan is sufficient for what I have it set up to do.

 

zapier_hipchat_integration
5 blogs Zap

 

 

message_configuration_
Configuring the Hipchat message

 

So that’s it…Something that is extremely simple to set up and has hopefully provided my fellow testers with additional testing knowledge. I’m not forcing people to click on the links and read the blogs, it’s all there if they want to take a look.

These integrations can be set up on Slack, etc. in exactly the same way so if you would like to provide your team with some excellent content I’d recommend taking a look. Once it’s set up, it’s going to just run in the background.

I would love to hear if anyone has a similar sort of thing set up already and how it went down with the rest of your team.

Cheers!

I kinda didn’t go to TestBash…

It seems slightly strange to be writing a post about a conference that I didn’t physically attend but the awesomeness that is TestBash, made me feel like I was part of it anyway!!

Testbash has been part of my own personal journey for a number of years now, It was the very first testing conference that I attended back in 2013 and I was hooked! I’ve helped out Rosie at a couple of the events and I have also been an attendee at a couple too, both of which were wonderful and rewarding experiences. When I heard the announcement for TestBash Manchester, I was instantly thinking, I’m going to that event!! I bought my ticket (not before Chris Chant…because no one does…) and was looking forward to seeing the talks, familiar faces, meeting new people and of course learning loads – but I also had something else very important going on this year. My wife and I were expecting our first child so, I had a dilemma and a choice to make. I made the decision, the only one I was ever going to make, to stay at home with Sophie and my Wife.

As a huge fan of Testbash, I wanted to ensure that someone else would be going in my place – It would have been easy to get the money back but I wasn’t really interested in that and I wanted to pay it forward. I’ve sponsored a ticket in the past so this is not a new thing for me and I wanted to do it again. I met Patrick Prill for the first time, in person, at TestBash in Brighton after talking to him on Twitter for several months. This guy is awesome, not as moody as his profile/any other picture suggests and I couldn’t think of a better person to gift the ticket too.

Making me feel part of the day…

I was up early on the day of the event, I normally am anyway since the arrival of our little lady. So there I was, feeding Sophie and a flood of messages came rolling in from Twitter!

*UPDATE* – Can’t believe I missed this photo of Patrick (semi-smiling) and Rosie!!

testbash_05

 

Patrick had attached a sticker to himself, with my name on, and was having photos taken with lots of lovely people. It made me feel really happy and part of the conference! This is what I love about the test community, you get moments like this that make you feel valued and part of something special. Throughout the day I was getting notifications about different things that were happening and finally, I received a mention/shout out during Patrick’s 99 second talk! It perfectly rounded the day off for me. Thank you!!

From a non-attendees viewpoint…

I’m completely bias, so I’m always going to think that TestBash is awesome, no matter where it’s held! There was something different about this one and I can’t quite put my finger on why. Richard Bradshaw has a huge part in this I feel, along with Rosie, they made TestBash Manchester very special. The social media buzz was amazing to see, maybe because I’ve found myself on the outside looking in this time – Everyone looked and sounded like they were having a really great time!!

One of the things that I felt was a master stroke was “The Teshbash Challenge”. It was an absolutely perfect way to get everyone talking to each other and a fantastic ice breaker. I love talking to other people and I don’t really mind walking up to strangers and having a chat, others are not so comfortable doing this but by having this challenge open as part of the event, it meant that it would be far easier to talk to other people during the day.

testbash_challenges

Photo by Phil Hargreaves

All is not lost…

Although I missed the event itself, as a Pro Member of the Ministry of Testing Dojo I get to watch the talks back in my own time when they get uploaded to the site. I don’t think I’ll go as far as trying to hold my own TinyTestbash Bristol in my house but I will enjoy all the talks over the up-coming weeks.

If you’re not a member of the Dojo already, I would thoroughly recommend signing up to it. Not only does it have all the previous TestBash talks it’s also home to lots more great content and is getting added to all the time!! Go check it out!!

I’ve already sent out a pre-advance warning to my Wife so I’ll be at the next UK based Testbash event in Brighton next year – Hopefully, I’ll see many of you there!!

Good Luck to everyone involved in TestBash Philadelphia and TestBash Netherlands – I know that those will be equally as awesome!!

My experiences as a Remote Worker

This week I had the honour and pleasure of being interviewed for an episode of the wonderful Testing In The Pub podcast. I love this podcast and it’s one that I’ve really enjoyed listening too since the first episode went Live. Stephen Janaway asked me if I’d like to come on and talk about being a tester on a remote team…

I was actually a little bit nervous, which is strange but I didn’t want to sound like a fool and let anyone down. I obviously missed points that I wanted to talk about and glossed over some of the points that I did talk through – This post hopefully adds to the topic and fills in some of the missing blanks.

You can check out the full podcast episode here: http://testinginthepub.co.uk/testinginthepub/testing/testing-pub-episode-36-part-remote-team/

How did I become a remote worker…

Being a remote worker is not all fun and games, it’s really not for everyone but it works for me. For the last 18 months, I’ve been pretty much a remote worker – The pure hardcore remote people would probably call me a fraud as I’m not full-time at home but I feel I do this more than enough to have some personal experiences to share.

I joined NewVoiceMedia at the beginning of 2014, it was always going to be a move that would either make me or destroy me. I wanted to work for them, they had a huge reputation in the test community, Rob Lambert was leading the test team at the time and they had some amazingly talented people who I knew I can learn so much from – The trouble was that it was just under a 4 hour round trip to get there and back. Looking back now, I think I had my rainbow-tinted glasses on and was only seeing the learning and personal development aspects of the job and not the huge strain physically, financially and mentally that I was about to put myself under.

Luckily, the role involved the ability to work from my home during the week and that was key to me jumping on board and accepting the job offer.

During my 3 month probation period I was in the office 5 days a week, it was a killer! I was overwhelmed by new surroundings, new people, new well….everything! I’ve always said that this is when I became a tester, this was my first proper testing role so as well as all the new environmental changes I was learning how to be a tester!!

Thankfully they wanted to keep me on after the probation period and then after establishing a good working relationship with my feature team and the members of the test team, I started to work from home once a week, this over time, increased to 4 days a week and that where I find myself now…

My pattern of life…

Most people, in my experience, have a Pattern Of Life that they follow. They tend to wake up at the same time, have a standard morning routine in regards to getting ready/having breakfast, they catch the train or bus at the same time and sit roughly in the same seat, they read, watch or listen to something similar on the commute each day, get the same coffee at the same shop before going into the office etc.

A daily routine has always been part of my life in the British Army, for 11 years I was told what time I had to get out of bed, what time to eat, what uniform to wear, what location I had to be at certain times of the day, etc. – It was an extremely structured life.

My daily routine during the week would always follow something similar to this:
0600 – Reveille/Rouse
0630 – Block Jobs (Cleaning)
0700 – Breakfast
0800 – First Parade
0830 – Platoon Administration
1000 – Physical Training
1230 – Lunch
1330 – Rifle Drill
Etc.

I’m a creature of habit and some things have stayed with me since leaving, I follow a loose routine when working at home. These actions ensure that I’m not letting my own personal standards slip and that I have a level of structure to my working day, while at home.

I tend to stick to this daily routine more or less, there are occasions that timings slip but I don’t let myself feel bad about that:

0700 – Morning Dog Walk
0730 – Breakfast including reading a selection of blogs from my backlog
0830 – Showered and Dressed for work
0900 – Get into my office and fire up my laptop
0915 – Daily Stand Up
1230 – Lunch (Timing dependent on the morning meetings or tasks )
1700 – An hour of personal learning

I only have semi-set times on the things that I can control, every day is different in terms of the work that I’m doing so those activities are harder to predict. This might seem far too rigid for a lot of people but if you look back and analyse your day in the office you may be doing something slightly similar without even knowing it.

Feeling like part of the team…

In your office environment, people can physically see you with their own two eyes, remote workers don’t really have this as an option. Members of my team obviously know that I’m working because they would have seen and spoken to me during the daily stand up but after that call – It’s very easy to become invisible. I love talking, I’ll talk to anyone so I’m often on a text chat or video chats with my developers. Collaboration is key and the only way to ensure that we’re all talking to each other is by…actually talking to each other!

We use Hipchat as our main method of communication, every team has their own room that people can drop in and out of if they need anything but teams also have “banter” rooms where its open season. I work with some very funny guys and if I haven’t laughed at least once from something that has been posted to the room, there’s something going wrong.

I also stay very active with people outside of my team, this can be asking questions in the other rooms or responding to other people’s questions if I know that answers. I love to try to improve things for the test team at NVM, I have created a personal Trello board with areas that I would like to make changes – Communicating these ideas and changes to the team via Hipchat or Emails, has indirectly made me more visible. It’s also made me feel less isolated and part of a bigger team.

Access to all the things…

A big part, for me, in knocking down any home vs office mindsets is ensuring that I have access to everything that I can get my hands on. I don’t want to every use the excuse of “I can’t get to that internal page from home” – I don’t ever want my location to dictate what I can and cannot view. Nothing is impossible to get access too, it may take a little time and effort but it’s not unachievable.

I’m inquisitive and I also love having control over my own environment, If I can’t get to an admin page on the local network because the firewall is blocking me from doing so at home – I’m going to be contacting the relevant people to set up a proxy or provide me with a workaround. You never want to feel reliant on someone in the office to make changes for you, you lose the element of control and that’s never a good thing.

One person is remote, we’re all remote…

I’m not the only person in my team that works from home, during the week we will have at least 1 person from the team at home. We have an ethos within my team, if one person is remote then we are all remote. This basically means that all of our meetings are done online and not in an office meeting room. We could only have 1 of the team at home and the rest in the office and we will all still jump on the call individually. This ensures that we can all hear and see each other, one person will share their screen so we are all looking at the same thing – It works really well for us and saves us all fighting to hear each other in an echo-filled meeting room with terrible audio and visual equipment.

This has really helped with things like 3 Amigos, Sprint Planning and Retrospectives. We are able to have a productive meeting rather than fighting with any sort of tech issues or getting access to meeting rooms. Personally, I feel that we are more focused and productive during our meetings.

The challenges…

Currently, we’re in a very good place. We all know what call to be on and at what time. We have team specific permanent Skype links that we always use or tools that we know work for us to achieve a certain goal. I don’t ever feel like I can’t get hold of someone quickly or feel like I’m on my own. It hasn’t always been this way…

Working from home used to be a very painful experience, I remember a couple of things in particular. We would have our morning stand-up meeting in the office, the guys in the office would gather in a circle and run through the standard set of questions. We had 1 person remote working so we would grab an Ipad and dial them in via Hangouts. We would then pass the Ipad around like “pass the parcel” style – god knows why it even began let alone lasted for as long as it did! Another painful one was everyone using their own favourite tool for communication, at one point I was monitoring…Lync, Hangouts (lot’s of different ones), Hipchat, Email, GoTo Meeting – it was insane!! I don’t know how we actually got anything done!!

One last thing that we have thankfully sorted ish, the audio and visual equipment in the meeting rooms was very poor – Pair that with the dodgy network at the time, this made being part of meetings a non-event. I had several occasions where I just dropped out of the meeting completely because is was absolutely unworkable.

Not everyone in the business likes remote working, your company may have a culture that lends itself to this way of working but companies are made up of people. If they have had a poor experience of remote workers in the past, it’s very difficult to change their mindset.

Things that have helped me the most…

  • Invest (get your company to pay) in a decent Headset and Camera – I had a rubbish headset and my laptop webcam was pointed at the side of my face. As soon as I got some new ones, conversations and meetings were 100% better!
  • Try and organise an office day to get the whole team together. Make it a social event and not just about work. Get to know your team mates!!
  • Have a space in your home that’s just for work – avoid working in your family space. You need to have a clear divide between the two or you never really finish work for the day. Leave work at work.
  • Have patience – People in the office are not actively ignoring you. Their status may say that they are free but they could be talking to someone at their desk. If you really need them, try speaking to someone from another team and ask them to get “eyes on” they can give you a much clearer picture of the office.
  • Don’t be afraid to leave your desk, people in the office do it all the time. Don’t feel like you’re doing something wrong by not being chained to your desk.

I can’t tell you how to succeed at working from home, there’s not a one size fits all approach to it I’m afraid. Experiment with different things and see what works and what doesn’t work for your team. Good luck and if you ever need to speak to someone, give me a shout on Twitter or Skype and we can have a chat about it! Always remember, you’re not on your own.

 

Noted!

Most of the blog posts that I tend to write are as a result of reading other people’s work or watching an interesting video – This one follows the same trend.

I’ve just finished watching John Stevenson’s (@steveo1967) excellent Whiteboard Testing (@WhiteboardTest) YouTube video explaining the Cornell Method of taking notes – I’ve heard of this method in the past and watched a few similar YouTube videos on the subject but have never really applied it to my day to day testing activities. The truth is, I have never really formally been taught how to take good notes – It sounds strange that I would want that but for me it would have given me the foundations earlier on in my life so that I could then change, adapt and develop my own style into something that worked for me.

My past experiences…

Most of my previous working life I was made to carry with me, at all times, a Notebook and Pen – I was asked to show this to the Corporal, Serjeant, Etc. every day on the first Parade of the morning until it became just a normal pattern of life to have these items on you. When I was promoted, I would be asking the same question and punishing (restriction of privileges) the soldiers that did not produce these.

Looking back, I couldn’t see the reasons and importance of having a Notebook and Pen with you – This was vital for daily life in barracks during the various classroom-based lessons and also on Operations and Pre-Deployment Exercises, taking down important information that could prove life-saving in certain situations. I know that now but back then when I was a boy soldier of 17/18 years old, I just didn’t get it, and was going through the motions.

IMG_0784

Selection of Notebooks that I’ve kept from my time in the Army

I’ve kept many of my old Notebooks from that time of my life – I like to look through them to see, not only the types of notes that I was taking but how my style developed as I gained more military experience while progressing through my career.

Some of these notebooks included:

  • Helpful mnemonics and abbreviations
  • Instructions on Specific Infantry Radio Systems and Frequency ranges
  • Packing Lists for Exercises or Operations
  • Patrol Orders including the Mission, Commanders Intent, RV Grid References, Etc.
  • Ammo States of the Sections taken during Platoon and Section Attacks
  • Quick Sketch Drawings for a Range Card and Arcs of Fire for the Sentry position

Doing a very small amount of research while thinking about this blog post I came across a perfect article which displayed the pieces of equipment carried by Soldiers throughout the years – I’ve chosen a few examples and as you can see, a Notebook was a very important part of military life over many conflicts.

1815 Private Soldier, Battle of Waterloo (bottom left) 49 – 1807 British Army drill regulations and leather covered notebook

1916 Private Soldier, Battle of the Somme (bottom right) 8 – Notebook and Service Warrant Card

1982 Royal Marine Commando, Falklands War (bottom centre) 18 – British army notebook and pens, compass and protractor, which were used for marking maps, for example, plotting minefields.

2014 Close-Support Sapper, Royal Engineers, Helmand Province (top centre) 5 – Notebook

Source: http://www.telegraph.co.uk/history/world-war-one/11011316/Military-kit-through-the-ages-from-the-Battle-of-Hastings-to-Helmand.html

How good are the notes that I take now?

Note taking is a skill and like any other skill you need to practice it – If you’re not prepared to put the effort in, then the notes that you take during your exploratory sessions are meaningless and don’t tell the story of your testing. Rob Lambert (@Rob_Lambert) mentions in one of his posts about making your notes 60 Days proof – This means that you can pick up that notebook or open that file and still be able to recall exactly what you meant when you first made that entry. I’m not amazing at doing this but i’m working towards getting there and looking at ways to improve all the time. Internal Company presentations and also short TED Talks are great ways, that i have found to practice note taking skills.

I continue to fight with myself over what works well for me and my own style has changed and morphed over the last couple of years, I’ve used different bullet points, checklists, mind-maps and also created templates in order to keep things consistent but i haven’t found the one thing that fits me….yet. That’s what I love about learning and experimenting – you tend to do it for every aspect of your testing, i don’t think i will ever stop trying to improve on what i’m currently doing.

I would love to hear from people and hear the way they take and capture their testing notes. Are there certain applications that you find useful (Rapid Reporter, Evernote, One Note, etc.). Do you consider who the audience is when writing notes? How did you find your style or if they are like me, are still trying to get there?

Please feel free to get in touch!

A few great resources about taking notes and techniques to improve your note taking:

Michael Bolton – http://www.developsense.com/presentations/2007-10-PNSQC-AnExploratoryTestersNotebook.pdf

Rob Lambert – http://thesocialtester.co.uk/explaining-exploratory-testing-relies-on-good-notes/

Alan Richardson –http://blog.eviltester.com/2013/09/10-experiments-to-improve-your.html

Shmuel Gershon – https://testhuddle.com/resource/recording-your-story-note-taking-in-software-tests-with-shmuel-gershon/

If you don’t ask, you don’t get…

I’ve been suffering from a little bit of writers block of late (few months), I have loads of unfinished posts that NEED to be completed but i thought i would ease myself back in by writing a very short post first.

Over the last few days my twitter feed has been absolutely taken over by all the awesome testers that I follow talking about #CAST2014….to be honest, I’m completely jealous!! It looks and sounds like it’s going to be a hell of a conference and one that I’ll be following closely during next week.

It’s not all doom and gloom for me – I was always told that “If you don’t ask, you don’t get” and if you never ask, the answer will ALWAYS be no. So i thought i would take the chance at work to ask “Is there and chance that i could go to Agile Testing Days?”. I love attending and being a part of conferences and as it stands I’ve only been part of the awesome 1 Day event that is TestBash here in the UK. Obviously i was keen to attend an overseas event, the chance to see the talks and also to share experiences with other testers around the world is something I’ve really wanted to do for a while now.

So to cut a long story short – my amazing company newvoicemedia are footing the bill to send myself and two others to the event in Potsdam, Germany. As you can see from the ATD Program it’s going to be a very very very hard decision choosing which talks I want to see. One I’m looking forward to hearing is by Sami Soderblom (@pr0mille) “They made me a combat medic?!”  – coming from a military background this one jumped out at me straight away and I will be very interested to hear his take on things.

I’m looking to take as much away from these talks as I physically can and bring all this new information back to the office and share it with my awesome test team. Also it’s a chance to meet up with testers that i’ve already had the pleasure to meet and to meet some new ones.

What are the things that you want to do? Is there anything that someone can help you with? If so, ask – You never know, you might get those lovely Y E S letters back.