Software Testing and Development Blog Posts

Subscribe to the full blog feed using RSS

All Posts | Categories | Archive

Agile Tour London 2017 Talk

Agile Tour London 2017 Talk

4 minute read - Conference

Effective Software Testing in Modern Software Development

What is modern software development? Pretty much anything we do now.

And testing has to have the flexibility to cope with that.

In this talk I consider: Agile, Dev Ops, CI, Continous Delivery, etc. But I ignore buzzwords and lump it all together as Modern Software Development and explain the thought processes and approaches that allow testing to morph as required to thrive as part of an integrated Software Development System.


Maven Local Dependencies

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

5 minute read - Maven Java For Testers

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

Maven Local Dependencies image

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.

Regardless.

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

How to Diff Java Code in IntelliJ

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

2 minute read - FAQ IntelliJ Java For Testers

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.

Intellij Compare Diff Tool image

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.


Urlconnection Reflection

Java 1.9 Reflection and Package Access Changes

6 minute read - FAQ Java For Testers

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 Reflection Illegal image

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.