TesterHQ - The Evil Tester Blog Aggregator

Nov 9, 2017 - 11 minute read - Evil Tester

A Treatise of Buggs

TLDR; A treatise on non-software bugs, written in 1730, but still with lessons to learn.

Written in 1730 by John Southall

Bug Prevention and Detection has been a problem throughout the ages.

Oct 13, 2017 - 5 minute read - FAQ Maven Java For Testers

Simple ways to add and work with a `.jar` file in your local maven setup

TL;DR Hack - add as a library in IntelliJ project. Tactic - add as system scope in maven. Tactic/Strategic - install locally to .m2. Strategic - use a repository management tool, publish to maven central

Sometimes you want to work with a jar file that isn’t hosted in maven central.

It might be a 3rd party jar, it might be one that you have written.


You have a lot of options for this. The approaches that I have used:

  • add .jar files as an IntelliJ project dependency
  • install it locally to your .m2 repository
  • add it to your project as a system scoped file
  • use a repository management tool: like Nexus or Archiva
  • publish the dependency to maven central

Oct 12, 2017 - 2 minute read - FAQ Java For Testers

How to Diff Java Code in IntelliJ - 3 ways to use the Compare Tool

TL;DR IntelliJ has an inbuilt diff tool which you can use to compare files, classes or code with the clipboard. Just right click and choose Compare.

I was busy refactoring code in RestMud this morning because I want to try and open source the basic game engine, and then later the Web/REST API, but I want to tidy up the code a little first.

I’ve been working through the code:

  • moving classes into new packages
  • splitting classes to make code clearer and easier to manage
  • new classes make code easier to test

And the more I tidy it up in general, the easier it is to spot smaller problems of code duplication.

Oct 9, 2017 - 3 minute read - Instagram

Adapt Methods to the People - Instagram Post

“If the people can not adapt to the methods, then the methods must be adapted to the people.” E.F. Schumacher in “Small is Beautiful pg 161, 1974, Sphere books Clearly we can educate and train people to help them develop the skills and attitudes required to adapt to the methods. But you may encounter natural resistance from those people, or the timescales to train them may take too long. Therefore you have to meet the people where they are, or where they can very quickly be.

Oct 5, 2017 - 6 minute read - FAQ Java For Testers

Java 1.9 Reflection and Package Access Changes

TL;DR Java 1.9 does not like reflection as much as previous versions and access to proprietary packages is not possible out of the box.

Java 1.9 is out, and many companies now will be evaluating Java 1.9 and migrating their code base over to Java 1.9. I am now going through a similar process.

I have some fairly simple code that I was using for HTTP requests. This was originally written in Java 1.8 and to keep my codebase as simple as possible and I wanted to use no external libraries, therefore for HTTP requests I used an HttpURLConnection.

This started to fail on Java 1.9.

When I looked in my code more carefully I realised that it wasn’t HttpURLConnection that was failing in Java 1.9 it was my use of Reflection to bypass some constraints of the HttpUrlConnection that was failing.

Sep 22, 2017 - 12 minute read - Evil Tester

Test Automation and Test Process Modelling - an evolutionary and pictorial explanation

TLDR; Historically we modelled testing as something that we wanted to automate, but the tools didn’t help, so we automated entity management and that has led to a mistaken view of “Test Automation” instead of “Automatization as part of a software development and testing process”.

  • Why do we talk about Test Automation the way we do?
  • Why do we talk about 100% Test Automation?
  • How do we model automation as part of our Test Process?
  • How does Testing provide information?
  • Why was a Waterfall Test Process Different from an Agile Process?
  • Why, in reality, both processes are fundamentally the same.
  • How we modelled “Test Automation” incorrectly, and an alternative way to model it.

All this and more…