Hello! It's pie-mail time again, hope you're doing well!
Last week here in NZ it was Mental Health Awareness Week. It's significant timing, a lot of people I know are struggling to maintain good mental well being while still in lockdown.
For me, I realised that I haven't been exercising, so I have been out running more. The difference was almost immediate - I have a better day, and I sleep better, if I've been for a run!
So, I recommend getting out and doing some exercise!
I also had the pleasure of meeting some of the team at Mentemia last week, who are doing some great work, finding mental health solutions for business. I'd strongly recommend checking them out.
This week I've been working on some Postman and GitHub action stuff. Find out what I've learned below!
📚 Some interesting reads 📚
Here are some things I've found interesting enough to share over the last couple of weeks...
Stats for Startups
I remember the first time I went to an all hands meeting, and the CFO started using all these terms I didn't understand. MRR, CAC, ARPU, Burn Rate, and so on... I was completely lost!
Stats for Startups is the site I needed back then - it's a handy list of terms and metrics used by startups, and what they mean. Book mark it ahead of your next company meeting!
Using Slack to manage test devices
I really like this post on how Johanna South's team used a Slackbot to manage their test devices. I will probably plagiarise the idea.
40 years old, and nearly 20 years as a 'professional', and I'm only just starting to learn what events or habits can affect my mood and lead to a 'good' or 'bad' day. This interview with Sari Azout on 'Emotional Capital' really hit home on a lot of points.
OWASP top 10 update
A draft update of the OWASP top 10 is available! OWASP are a community dedicated to helping organisations do security better. The OWASP top 10 are their 'top 10' security issues that can affect organisations today. The interesting thing here is that Broken Access Control has moved to the number one spot. Something to think about next time you're testing permissions in your app!
A generation of tech users that don't understand files and folders
A startling, but interesting read into modern computing. Monica Chin writes about university students no longer needing to know what 'files' and 'folders' are.
🎪 Events coming up 🎪
NZ is still in lockdown (various levels) so there's not much happening locally. Heaps of events happening online though!
Why focusing on outcomes and customer needs is not enough (October 6)
Expert Talks Auckland are hosting Neha Datt and Marcel Britsch to talk about product practices, and why just following 'good practice' is no longer enough.
Testing Tools AMA (October 6)
Ministry of Testing are hosting Mirza Sisic to answer all your questions about testing tools. Register for what should be a fascinating discussion!
30 days of testing tools (all month long)
On a similar theme, Ministry of Testing are running another '30 days' project. This one is all about tooling, and it's not too late to take part. Jump on board!
Metrics - an ongoing retrospective (October 20)
I'm super excited to hear that Akshay Sud is going to be sharing at Xero Talks later this month. It's all about how his team used metrics to iterate and improve on how they were working. Akshay is one of my favourite people, this is a must see.
Testflix 2021 (October 23-24)
The 24 hour test binge is back! Register to get access to all the talks, from an incredible group of speakers. Stay up for the whole 24 hours to watch, if you're daring enough...! (I'm not, I'll be watching the recordings!)
📬 What I learned this week - Postman and GitHub Actions 📬
This week, I’ve been getting our Postman suite running using GitHub actions.
It’s been pretty fun!
Here’s how it’s working:
Backing up the collections
Any time we make a change to the Postman suite, it backs up to a dedicated GitHub repository.
This is done using Postman's built in capability. It requires a separate integration set up for each collection, but we don't have many collections, so that's manageable.
This dedicated repo contains the automatically backed up collection.json files, as well environment.json files which are added manually. It also has Newman installed as an npm package.
Running the tests
We use GitHub Actions for deploying our core product. Using the checkout action, we check out the Test repo, install Newman, and run the tests via an npm script. This is what the yaml for the GitHub Action looks like:
The ACCESS_TOKEN is a GitHub personal access token that allows the Core repo to check out the Test repo. The PASSWORD is an environment variable needed for one of our APIs, that needs to stay secret.
Some interesting things
Real quick, because this is becoming a lengthy post, here's some things I found interesting about doing this.
- The Postman tests have their own repository. I want the tests to back up directly to the main branch, for simplicity, but we don't allow that in our Core repo. So a dedicated repo was the easy answer.
- It'd be neat if GitHub Actions could talk to Postman directly! Apparently it can, but, the Action in question caused some errors for me, and it doesn't appear to be actively maintained. It also doesn't support using runtime environment variables, which we need.
- There's an obvious risk if someone messes with one of the Postman tests - our CI pipeline would get blocked. We're using Postman's version control to manage this, with the trust that everyone in the team will use it. It can be enforced, but doing so will mean doubling our Postman spend. Will see if it becomes a problem, first.
- Because Postman backs up the collection, not the environment. It means getting in the habit of using collection variables more, and only using environment variables when really necessary. I think this is a good habit to be in anyway!
🧩 Puzzle time 🧩
Seeing we're talking about Postman today, here's a Postman challenge I give to some of my coaching candidates / mentees.
> npm i (to install dependencies)
> npm run start (to start the server)
You should then be able to access the server on http://localhost:3000
Once it's running, try import this collection into Postman and run it.
You will get some errors!
Correct the errors and fix up the tests. Note: "fix the tests" doesn't necessarily mean "all the tests should pass"!
(It's not meant to be a difficult challenge)
👋 Thanks for reading! 👋
That's it for now!
In theory, there will be another newsletter in two weeks time. In practice, I could be moving cities that weekend - so - it might be delayed by a week. We'll soon find out, here's hoping we move out of lockdown soon!
James a.k.a. JPie 🥧