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.
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
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
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
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!⠀ ⠀
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.
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
"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⠀ ⠀
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⠀ ⠀
"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!⠀ ⠀
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
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⠀ ⠀
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?⠀ ⠀ ⠀
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"⠀ ⠀
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.
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.