Welcome Social Media Visitors

My name is Alan Richardson. I'm a Software Development and Test consultant.

I use my experience to work with you, hands on, quickly, and uniquely, to solve your problems.

Tell me how you want to improve.

You can find links I mention on Instagram Below


Blogs: blog.eviltester.com, javafortesters.com, seleniumsimplified.com


I'm working on videos to support my javalibraries project on github, which has simple introductory code for a variety of libraries we use when automating REST, and Web applications through Java. I'll be adding more videos to this playlist over the coming week or so. This would be a good time to subscribe to my Youtube channel if you haven't already subscribed.⠀ ⠀ http://buff.ly/2rYEP8g

Learn More

View Original

I started talking at conferences because I was sick of listening to people describing a world of work that I didn't inhabit.⠀ ⠀ I listened to speakers telling me that "Tester's should do X". But I was doing X and it was working quite successfully.⠀ ⠀ I heard pronouncements from the stage that "Tester's should always do Y". But I had stopped doing that and was doing something different and it was working much better.⠀ ⠀ Essentially I started talking at conferences because my experience was contrary to what I was hearing on the stage. And I knew that some people were leaving the talks thinking "Hmm, the expert says I shouldn't so I won't" but I knew that they could.⠀ ⠀ I needed to have my experience and my voice heard.⠀ ⠀ So if your experience is contrary to the "standard message" presented online, or at conferences then you should certainly submit to conferences to talk about it.⠀ ⠀ If you have changed your mind about something, or change the way you do something, and now it is 'better' then you could talk about that.⠀ ⠀ The great thing about talking from experience is that you already have a 'story' structure in place.⠀ ⠀ - I used to do this⠀ - we struggled⠀ - we tried to change⠀ - it was hard⠀ - this is how we learned to do it⠀ - and now we do this⠀ - and now we live in happy land⠀ ⠀ I'm sure you can map that on to the Monomyth . It provides a framework with a beginning, middle and end, and there are trials and tribulations throughout with a happy ending.⠀ ⠀ And if the ending isn't happy - also good - you get to say all the things that didn't work, and what impacted and prevented change.⠀ ⠀ The key is to talk from experience. No-one can say you are wrong, because it happened. You will have to be careful about your interpretations of 'why' things went wrong, but if you say "I felt that" then no-one can say you are wrong. Which is great as a first time speaker because you can handle all questions and objections.⠀ ⠀ And if you are passionate about the change, the alternative, or the learning experience then it will come through in your talk and your CFP submission.⠀ ⠀ PS. UKStar 2017 Call for papers ends 30th July. Make your voice heard. http://buff.ly/2rYSGLS

Learn More

View Original

I have uploaded a playlist to Youtube showing basic videos of how I started creating a Mobile version of my Evil Tester Sloganizer app. These use Phonegap which allows me to easily convert JavaScript and HTML into a mobile app, and I used the online services provided for free by Adobe to compile and build the application into a mobile app - this made it really easy to get started quickly.⠀ ⠀ http://buff.ly/2rYwNfK

Learn More

View Original

Do you want to talk at conferences? But...⠀ ⠀ "No-one would want to hear what I have to say"⠀ "I don't have the experience to talk about that"⠀ "I have nothing new to say"⠀ ⠀ Some people call that Impostor Syndrome.⠀ ⠀ I encourage you to call it Resistance.⠀ ⠀ If you call it "Impostor Syndrome" then you can then go off and research the syndrome and look for hints and tips to overcome specific variants of Impostor Syndrome. You can learn that other people suffer from this syndrome. You can learn that this is normal.⠀ ⠀ You could do all that, and you would still be no closer to your goal of speaking at a conference. You just allowed your mind to distract you from your goal again using science as an excuse. We call that distraction process "procrastination".⠀ ⠀ If you call what is stopping you, Resistance then you already have a set of common sense approaches to dealing with it.⠀ ⠀ - just do it⠀ - understand why it is is important for you to do it (purpose), and then just do it⠀ - break it down into small steps (plan) and start working through them (action)⠀ - just do it anyway⠀ ⠀ When we take action purposefully then we build momemtum that is hard to stop.⠀ ⠀ We defeat Resistance with Action.⠀ ⠀ Take Action.⠀ ⠀ PS. I'm on the programme committee for UKStar 2017 and we are looking for speaker call for papers deadline is 30th July 2017 - take action now and submit a proposal http://buff.ly/2sO4NeP

Learn More

View Original

Firefox 54 now has a [Learn More] link in the network tab which you can use to increase your knowledge of HTTP. Check out the video url below (or use the link in the profile): https://youtu.be/JDzf5bY7lgM Very handy.

Learn More

View Original

Released a Java Refactoring Blog Post which includes a 15 minute live refactoring video on YouTube (Free Bonus Video)⠀ ⠀ http://buff.ly/2rmQxoP⠀ ⠀ - explanations and tips⠀ - introduction to refactoring⠀ - live coding⠀ - stunned expresssions⠀ - refactor to new classes⠀ - refactor fields to accessors⠀ - refactor to inline method code⠀ ⠀ And more!⠀ ⠀

Learn More

View Original

I'm growing up in public with this small phonegap mobile application. I've created an icon - quickly knocked up in .paint.net and converted using .pgicons.abiro.com I have also built it from github instead of uploading a zip file all the time. I'm documenting the process of creating this in the docs_resources\devnotes folder in the github project https://github.com/eviltester/MobileSloganizer (see link in profile) This has been fun so far. I'm not sure how often I'll work on this, but I will try and push it until I get it on the Google play store at least. Not sure how long that will take but hopefully not too long.

Learn More

View Original

"The Evil Tester Sloganizer" could be making its way to your pocket soon. Experimenting with PhoneGap to convert my html/javascript page into a one button app. Currently not available on any app store, but you can download it for Android or Windows phones from the phonegap site using https://build.phonegap.com/apps/2667263 Currently running on my Samsung 10.1 Tablet and my Moto G4. Requires no special permissions and one button to operate. What could possibly go wrong?

Learn More

View Original

New video showing refactoring of code that tactically automates parsing code using JSoup to strategically automating http://buff.ly/2sx7iOk

Learn More

View Original

As part of my preparation for Nordic Testing Days (next week!) I'm updating my "Java For Testers" training. It now has more examples, more exercises, fill in the blank exercises, and examples of library usage. A massive overhaul to the course. I created a new github project to support it my 'libraryexamples' project https://github.com/eviltester/libraryexamples This contains very short examples of WebDriver, RestAssured, JSoup, HamCrest, JsonPath, Gson, all interacting with the Star Wars API .swapi.co

Learn More

View Original

"The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise."⠀ ⠀ so said E.W. Dijkstra in his 1972 ACM Turing Lecture: 'The Humble Programmer'⠀ ⠀ Therefore...⠀ ⠀ Abstraction code used in @Test method should reflect the semantic level of the conditions being asserted.⠀ ⠀ @Test code should only change when the semantics of the conditions change.⠀ ⠀ ---⠀ ⠀ ⠀ Recommended Reading: http://buff.ly/2rT2ByT⠀ ⠀ E.W. Dijkstra, 1972 ACM Turing Lecture: 'The Humble Programmer'⠀ ⠀ This quote from Dijkstra had a massive impact on how I architect abstraction layers to support ongoing automated assertion checking, and to support the automating I do when testing.⠀ ⠀ A very simple concept, but one which people avoid because they are nervous of 'too many' abstraction layers which they would have to maintain. Therefore they tend to focus on code at a generic semantic level rather than the specific semantic level of the test they are working on.⠀ ⠀ A good example of this would be when people re-use Given, When and Then statements in Cucumber rather than creating an entirely new Given or When which more precisely matches the scenario example they are writing. They then have to maintain these over time because they prioritised re-use rather than precise modelling.⠀ ⠀ Another example is when people do create a new Given, but they implement it with other Given, When, Then statements rather than using a more precise implementation abstraction.⠀ ⠀ I recommend implementing Given, When, Then statements with code based DSLs e.g. User objects, or Scenario objects, rather than other Given When Then.⠀ ⠀ Given, When, Then statements describe logical preconditions, and behaviour rather than an implementation semantic level so re-using them as an implementation layer can increase the maintenance overhead.⠀ ⠀ Specification semantics differ from implementation semantics.⠀ ⠀ `@Test` code should only change when asserted conditions change, not when the system changes⠀ ⠀

Learn More

View Original

New Youtube video showing how to create and use bookmarklets for amending web pages http://buff.ly/2rzn63B See link in profile

Learn More

View Original

A Lighting talk that I presented at SyncHerts local meetup group in January 2017 recorded on my mobile phone sitting on the floor because only the best quality video recordings are good enough for my presentations. I discuss automating strategically and tactically and I changed the presentation on the fly because the audience was a broader mix of non-testers and non-developers than I had expected which means that the message is slightly different than normal.⠀ ⠀ http://buff.ly/2r8w1Ja⠀ ⠀

Learn More

View Original

Blogged: TOTE model revisited because Operate provides feedback http://buff.ly/2pq5ntR

Learn More

View Original

Released to YouTube a recording of my short talk from Xebia meetup in January 2017 http://buff.ly/2qHiVSY

Learn More

View Original

"Have you read a book by A. Richardson today?"⠀ ⠀ It's never too late to buy and read a book from any author named A. Richardson. And you need not be limited to Software Testing or Advertising. You can find books by A. Richardson on Cooking, Christianity and Occultism. Although I do strongly recommend those relating to Software Testing.⠀ ⠀ Buy your copy of "Dear Evil Tester" by visiting http://buff.ly/2pTpm7I and read some Alan Richardson today!⠀ ⠀

Learn More

View Original

Released a YouTube video showing Exploratory REST API testing: wth PostMan and supported by Java Abstraction code http://buff.ly/2qdDIxc clickable link in profile

Learn More

View Original

Blogged: Notes on Structured Analysis and System Specification by Tom Demarco http://buff.ly/2q2CHb5

Learn More

View Original

Blogged: Do you know what your framework is doing? And some notes on WebPageTest http://buff.ly/2oJiiXy also use link in profile

Learn More

View Original

Blogged: a Quick intro to bookmarklets for testing http://buff.ly/2pHtQhz

Learn More

View Original

I added a few more games to my buggy games page. These are simple games... Easy to grok from the code. Easy to play. Designed to test and find bugs in. Designed to be easy to cheat at. Over at http://compendiumdev.co.uk/games/buggygames Three new additions are The Grid Walker and The Random Walker and The OneTo Nine Calculator Game

Learn More

View Original

Bookmarklets are a fun way of experimenting with JavaScript - once you have your code working at the console, just wrap it in an anon function then prefix "javascript:" and I thought - why go through the hassle of doing that, and I created a minimal tool to help me. This way I can copy and paste my code into the tool and it removes the new lines, url encodes it, wraps it in a function and prefixes "javascript:" and adds the code to a link so I can drag it onto the bookmark toolbar. Nice and simple - you can find it on github at http://github.com/eviltester/bookmarklet and the github page has a link to the live version - you can find a clickable link in my profile.

Learn More

View Original

The IntelliJ Local History feature is very useful. This video has a quick lo-res demo - if you want to see a better demo (but still very short) then check out the youtube video (also available in my profile link) http://buff.ly/2pDqD2w⠀ ⠀

Learn More

View Original

The applications I test don't fit into an `Input -> Process -> Output` model very well, but its very tempting to generalise quickly to that model. Systems makes me think of something running and consuming or ignoring inputs all the time and I only jump in to concentrate on the inputs I care about and the outputs I'm observing. I don't test processes, I test systems. And I need to model them all the way down, and all they way back up to the system that includes me.⠀ ⠀ Learn more in the blog post, see link in profile - http://buff.ly/2pjWlSe⠀ ⠀

Learn More

View Original

Quick tip for using JSoup - get the newline chars from an element with the `textNodes` or switch off pretty print http://buff.ly/2nI1SlW

Learn More

View Original

New YouTube Video: a worked example of using for design, programming and testing (Part1) http://buff.ly/2o4gN6N or use the link in the profile

Learn More

View Original

The quotable "Dear Evil Tester" http://eviltester.com/page/dearEvilTester

Learn More

View Original

Do you audition staff, or do you interview them?⠀ ⠀ Do you recruit a person, or do you try and fulfil a role description?⠀ ⠀ I've tried to outline my basic audition/interview process on my blog (see link in profile http://buff.ly/2olf6Bo )⠀ ⠀ Basically I:⠀ ⠀ - ask questions to build a model of them⠀ - ask them to question me, so I see how they do that and how they model the job⠀ - pair with them to see how they do the job and understand their capabilities⠀ ⠀ What do you do?⠀ ⠀ ⠀

Learn More

View Original

I automatically transcribed some audio where I mentioned "Miyamoto Musashi".⠀ ⠀ My transcription service wrote "Mere Human Musashi". Almost as though it was reminding me?⠀ ⠀ As indeed Miyamoto Musashi reminds us in his text 'A Book of Five Rings'⠀ ⠀ "If you master the principles of sword-fencing, when you freely beat one man, you ⠀ beat any man in the world. The spirit of defeating a man is the same for ten million men."⠀ ⠀ He, and we, are merely human. And what one can master, another can master, if they put their mind to it and practice.⠀ ⠀ If you haven't read A Book of Five Rings then you can find a translation by Victor Harris online at http://buff.ly/2okHwMd or see link in profile⠀ ⠀ Although this is a stock image and I'm not exactly sure where it came from, I think it is one of the statues on the hillside up to Reigando Cave where Miyamoto Musashi wrote his "Book of Five Rings"⠀ ⠀

Learn More

View Original

I have just open sourced the first book that i wrote. The first version was not 'professional', I wrote it in a wordprocessor, exported to pdf, and uploaded it to Lulu and Lightning source. But it sold because I had a specific audience in mind, that I believed in, even if publishers did not. If you believe in the product you are creating then you find a way to get it to market, and don't allow 'professional' to cause you to procrastinate, 'good enough' is good enough. You can find the first and second editions (and all the source code) for my book on github https://github.com/eviltester/seleniumSimplifiedRCBook Or follow the link in the profile.

Learn More

View Original

A year or so after releasing my unprofessional first published book. I created a 2nd edition because the tool I was writing about was updated - and there still were not good publishing tools available (so I wrote my own). You don't have to. There are easy to use publishing tools like leanpub.com which I have used for my last 3 published books. There is nothing stopping you entering self publishing with very professional tools with minimal learning curve.⠀ ⠀ You can find the first and second editions (and all the source code) for my book on github http://buff.ly/2ncsqcR⠀ ⠀ Or follow the link in the profile.

Learn More

View Original

I blogged some thoughts on reading the first paper in the 1972 book "Representation and Meaning" - I'm looking forward to reading more of the book to see what else it triggers. You can find out more by following the link in the profile http://buff.ly/2lQ71qR

Learn More

View Original

Do you practice your wielding of Ambiguity as a weapon? For more hints and tips on how to do this, check out the link in the profile, or jump straight off to my blog at buff.ly/2ndjUrk⠀ ⠀ http://buff.ly/2ndtPgJ⠀ ⠀

Learn More

View Original

Do Testers break software? I ruminated it over a few days on instagram and have collated the results into a 6 minute YouTube video for your viewing pleasure either visit http://buff.ly/2mTdI7M or use the link in the profile

Learn More

View Original

And Friday's YouTube video release is... Using JSoup to Automate Amazon without the API and why you shouldn't [see link in profile] ... http://buff.ly/2lAwx1H⠀ ⠀

Learn More

View Original

Nobody expects the Spanish inquisition with their weapons: surprise, fear and ruthless efficiency. We can use them all to improve our testing. And now to describe Ruthless efficiency...

Learn More

View Original

My new book "Automating and Testing a RESTAPI" is live on leanpub. leanpub.com/testrestapi or see link in profile

Learn More

View Original

Hack a javascript game for christmas. Watch at https://youtu.be/EFBktnHr_0Q

Learn More

View Original

Christmas present ideas for the software professionals that you know

Learn More

View Original