Test.bash(Inspiring testingTalks, Excellent communityMembers, Social beers)
On the 4th of October I awoke in a daze about 3 hours before I normally wake up, slung myself into the shower and at 6:40 was on a train bound for Manchester to attend Test.bash(), the Ministry of Testing’s technical tester conference.
It was my first time at one of the Ministry of Testing conferences. I’ve received some of the excellent swag others have picked up at them and always aspired to go, so when I got a very nice email from my capability lead at work saying I could have a ticket I was really excited.
The event took place at The Lowry near Media City in Salford. Before the event I’d only been to Manchester a few times, mostly for Pokemon and gigs so it was nice to explore it a bit more and go to Salford (although I’m sure people will correct me that Media City isn’t the real Salford).
It was great to see a number of faces from Leeds at the conference (including Suman Bala, who was doing a talk about Charles) and reinforced my view that Leeds is a great city for software development & meet ups.
The talks for the day offered a broad range of topics, perspectives and insights.
The MC for the day was Gwen Diagram, a Leeds local who helps run the Leeds Test Atelier and the Leeds Ministry of Testing meet up.
There was a short amount of Q&A time after each talk but I found it easier to talk to the speakers after, where we could go a bit more in-depth.
Here’s my summary of some of the talks of the day.
Technical Risks in ML/AI systems — Bill Matthews
Bill did an amazing job of covering what testers need to be aware of when testing Machine Learning (ML) and Artificial Intelligence (AI) systems in this talk.
I learned it’s important to test for bias’ being introduced, how it’s not possible to test if a ML model is 100% perfect and to validate the ethics of the application of ML and AI (Bill showed a very scary ML solution for job interviews which I hope never makes it to market).
I caught up with Bill during one of the breaks to discuss Transfer Learning, a technique where a more generalised model is taken and then focused to solve a problem, and how Transfer Learning, much like 3rd party software libraries needs it’s own sets of tests.
This conversation then took a really interesting turn around how if there’s an undetected bias in the transferred model that is then shared by the focused model, it’ll be compounded.
World Without WebDriver — Bert Szulc
Bert showed how the Atlassian front-end sausage is made and it turns out that I have a very similar recipe whenever I make React applications.
In the talk Bert showed us the journey Atlassian went through to build a React & Redux frontend and shifted unit and integration testing left.
Employing Jest, unpact, Storybook and Cyprus, developers at Atlassian practice TDD and due to this have managed to pretty much remove Selenium from the development pipeline, relying on it purely for end-to-end regression testing.
I spent most of the talk with a big smile on my face as he validated a lot of approaches I had taken when working as a React developer in my last client, and continue to take with the React Native work I’m doing for The Silph Road.
One thing that I learned about during the talk was that Cyprus can be integrated in Storybook to run tests against the components within it, something that I’ll be looking to do myself in my new React project.
I’m hoping I’ll find a similar approach with Detox for React Native and the React Native Storybook implementation as that’ll be really useful during development.
Consumer driven Contract Testing — Henrik Stene
I’ve seen a number of talks that cover contract testing and Pact before, but this was the first time that the idea of consumer driven contract testing was relayed in a manner that clicked with me.
Instead of focusing on how Pact allows you to map your microservice API dependencies, Henrik talked in detail about the relationship between the consuming and producing services and how it’s the producer, not the consumer that should be responsible for ensuring the contract isn’t broken.
Consumer driven contracts see the consumers of APIs define the fields that they’re expecting to be in the API response via a Pact broker and then the producing service can download that set of expected fields from the Pact broker in order to run it’s integration tests.
This means that even if new fields are added to the API changes, the consumer contract is still upheld as long as the API contains what it expects and as the producer is the one testing the contract, the consumer can be built without the need for integration tests that require the producer service to be running.
Accelerate Devops Research — Emily Bache
Emily did a really good job of distilling the research from the authors of Accelerate into a presentation and giving us an insight into what makes a successful company.
She covered a bunch of different areas, the main ones being:
- Empowered teams
- Company culture
- Continuous Delivery and Continuous Testing
- Good development practices
- Effective Transformation Strategies
- Collecting metrics to measure existing performance
If I’m completely honest, this talk actually made me a little depressed as it made me realise my current client exhibits a lot of negative attributes listed in the research and I don’t have much control over changing those attributes 😦
I do have some form of power to change how my work at The Silph Road is done and my own side projects so I’m now motivated to measure and carve out a path to improve in the different areas.
The event was really great and it flew by as I had an amazing time learning about the different tools, techniques and domains covered by all the talks.
I managed to get a bag full of swag to dish out to people at work and had some really interesting chats with people after the event as well as potentially worming my way into helping to run the Leeds Ministry of Testing meet up.
I’m hoping to go again next year and if I’m lucky and have something to prepare I’ll be doing a talk at the next one!