Developing a test framework

  • June 3, 2015
  • Agile

should be approached like any application framework, and the true value of building a framework, is only really apparent when you reuse it.

UI test: the last resort

You can make your life hard doing all test automation using UI tests, or play it smarter, using API services, when the focus of testing is not concerned with actual UI. UI checks are of course always a test requirement, but that does not mean all tests need to be UI, or even the largest percentage. One of strengths of BDD approach to test automation, is in it’s use of a natural specification language (Domain Specifc Language) used to define the test scenarios. These mask underlying test code that can be executed at UI, API or Unit level (or combinations within a test script/scenario).

Utilising API services is useful for background data creation (though also possible to do database unit-level coding to achieve same results). It can also be used when you want to bundle functional steps into one. For example, instead of following verbose Gherkin lines when filling a form, it could be a simpler one liner:

Given I create new valid registered user

Behat meets Travis

  • May 30, 2015
  • Agile

This is a simple Travis config file to get Behat test applications builds running through Travis CI. It’s is based on several assumptions:-

The Behat github repo is not part of the application(s) it is testing (which would require more environment config).
You have a Travis account with the Behat github repo set up (the one we are going to add the Travis config file to)


  • May 29, 2015
  • Agile

I had a long think on what common questions I have when walking into a new project.  The process was more difficult than I thought, but I came up with ten important questions.  I am assuming these questions are in fact, automatic these days.  II am not going to divide them up by any methodology, but I feel they are all valid,  regardless.  I not assuming all these questions will be answerable, CI (continuous integration) is a case in point – not as common as perceived.  But once I have responses to all these, then I can understand the state of the project, and know better where I can contribute, and also possible improvements.

Selenium: The doom merchant favourite

Selenium – a firm favourite amongst the doom merchants. You know the suspects – the one who delight in announcing the death of “old thing” to promote “new thing”.  Lazy young bucks, trying to get a ride off slating what came before, with no analysis or reason.  Selenium has stood the test of time, and STILL people misunderstand what it actually is. Strictly speaking, it is a testing framework, which we can “talk” to Selenium (i.e. write test scripts) in many languages (originally just javascript).  It’s strength lies in it’s extensibility, plugging in to all the major browsing clients, including newer javascript-focused headless browser clients such as Phantomjs and Protractor.   Of course here, I am referring to Selenium WebDriver, which is the most used of the Selenium suite of products.