Render Testing and Debugging on Mobile Devices


Debug all the things!

I’ve been spending quite a lot of time render checking and debugging various new features recently. Whilst unit and acceptance tests are essential for ensuring an application functions correctly, rendering is an important thing to check too and often needs a variety of methods of testing to ensure pixel perfect results on all media. Continue reading

Agile Testing – In Search of Enlightenment

Review of the Agile Connexions Meetup event hosted at Trainline. A presentation by Schalk Cronjé on Agile Testing.

meetup-at-trainline-agile-testingTesting is an ever-changing discipline that has been disrupted and reworked after the dawn of Agile development. Traditional testing has made way for leaner, more focused alternatives- where it was once relegated to being a post-development step in Waterfall, testing has since been redefined as an integral part of Agile development and adapted to suit the faster pace of Continuous Delivery. Old practices have been re-examined and changed beyond recognition… but is Agile testing doing anything new? Is it delivering value, or is it too focused on process and management instead? Continue reading

Logstash: how to get logs in a readable format (part 3 of 3: Troubleshooting)

troubleshootingIn this third and final Logstash post on how to get logs in a readable format, I will talk about troubleshooting:


Verifying a config file

Note that you can verify a conf file by being in the logstash bin directory and running

logstash agent -f c:\ProgramData\logstash\<specific conf file> --configtest

When I first ran this I left off the specific conf file and so it validated every conf file I had.

It is worth realising that logstash first concatenates every logstash conf file relevant for that server (in its config directory e.g. C:\ProgramData\Logstash\ ) and then runs Logstash.  Thus if you don’t specify a file the line number of any error will probably be greater than the number of lines in any file. Continue reading

Logstash: how to get logs in a readable format (part 2 of 3: Basic Principles)

head-in-hands-sculptureIn this second Logstash post of three on how to get logs in a readable format, I will talk about the basic principles:

Basic Principles

Elements automatically provided by the file plugin

The interesting ones are

  • message
  • @timestamp

There are others.

Thus just by using the file plugin you will get you log entry returned in message and @timestamp will be set to when the log entry was read into the system by its input plugin. Continue reading

Logstash: how to get logs in a readable format (part 1 of 3: Parsing)

logstashI am new to Logstash and have suffered mightily trying to understand how to get my logs in a readable format and it needed a lot of googling around.

In addition many of the posts assumed a level of experience with concepts that I just didn’t have.

So I thought I would write up a summary of what I discovered and explain it to others who are capable, but not yet deeply immersed into this subject – some “Logstash FAQs” you could say.

This blog entry isn’t meant to be exhaustive – merely a rag bag of experience to complement what is already out there. Continue reading

AWS CodeDeploy: Heads Up

AWSCodeDeployLogoAt Trainline we embarked on an ambitious cloud migration journey to AWS around a year ago and as part of this we’ve adopted AWS CodeDeploy as our deployment management mechanism.

I recently presented at the DevOps Exchange Meetup in London on this topic. I discussed where we’re up to with a focus on some interesting challenges we’ve faced getting CodeDeploy to play nicely with our hosting model.

Here are the slides from my talk: Continue reading