Next Career move

I recently asked myself, “where would I like to take my career?”. This is a blog post on that reflection. From maintaining tech skills to improving my coaching. Here are the things that are important to me.

Keeping tech skills up to date

I’ve been doing software testing now for over 7 years and even though I come from a Computer Science and Engineering background, I’m finding people too easily put me in the box of “non technical manual tester” based on my previous roles. If I do not work hard at maintaining my tech credibility I see a risk that I will be stuck with the “non technical” label for the foreseeable future. I also don’t have the self confidence in my skills or interest to learn how to build automation frameworks in from the ground up. So how am I maintaining this skill? I’m working towards the following:

  • working towards a certified ethical hacker
  • Building a mobile app as a side project
  • Attending developer focused conferences

Certified Ethical Hacker

I’m working through Troy Hunt’s and Dale Meredith’s, certified ethical hacking course on Pluralsight. I find security testing more interesting than automation testing and there’s a huge demand for technical cyber security skills. The course is hard to do, there’s 80 hours worth of lecture material and it requires a commitment to regular learning to maintain it.

Wearable app side project

I’ve already spoken at conferences about my example poo tracking wearable app to talk about ideas like privacy by design. I haven’t even built the app yet and I’m using it to teach people. I’m interested in teaching myself mobile app development and how to build basic API’s. I even have someone who’s offered to help build this. Eventually I’d like to use this app to help teach people about different elements of testing.

Attending developer conferences

I’ve always enjoyed attending dev focused conferences. I always learn more compared to software testing focused conferences because it is out of my domain of expertise. I will continue to prioritise these conferences over software testing conferences this year.

Any new role that I start has to help me with maintaining my tech skills first and foremost. This is number one priority I will look at when assessing new roles.

Improve my Teaching/Coaching

I have always loved teaching. I was the kid in school that all my friends asked for help with maths questions. I’ve been tutoring my peers for as long as I remember. I’ve had my tutoring side business for almost as long as I’ve been testing. If teaching wasn’t see as a bit of a dead end low respected job, I would have studied it at uni. I do this stuff for free, that’s how much I love doing this. Being a Quality Coach at Campaign Monitor showed me that there is demand for people to teach software testing skills. In a few years I’d love to be running my company where teaching technical testing skills is my focus. I’ve been running robotics workshops for kids since my uni days. Any job that allows me to practice on the company dollar is a plus in my mind.

Speaking at Conferences

I’ve spoken at 14 tech conferences in the last 3 years. I enjoy getting up on stage. Any role that encourages me to do more of this is awesome in my books. It relates to the enjoying teaching, however getting up on stage is a little different to tutoring/coaching a person one on one. There is an element of entertainment with getting up on stage. The putting on a persona and pretending to be something more that what you feel inside.

All the data

In all of my previous roles, I’ve always enjoyed doing a deep dive into data analytics. From creating dashboard for event tracking testing to helping product understand how our customers were using our apps. I enjoy it all. I’m considering doing a Masters in Statistics in a few years when I’m more on top of my finances.

A bit of job stability

I went the motions of job hunting 3 times last year. I do not want to do this again and again. Also meeting new people is mentally draining. A bit of stability with my work environment would be awesome. I’m leaning towards a full time position, though I hadn’t had much luck with those last year.

Have a good culture

I care deeply about having a good social connection with the team I’m working with. I need to feel like I can bring an authentic version of myself to work. That means being vulnerable enough to talk about my struggles with depression and to be comfortable bring my quirkiness to work. It comes down to psychological safety.

Reasonable salary

I’m not solely motivated by money but having a consistent budget compared to my previous role is important for my financial security. I do feel like I’m getting at the expensive end for being a software tester and I can’t even compete with off shore testers in regard to pricing.

Practising a bit of sales and marketing

I struggle with selling testing as a craft where you want skilled people doing it for you. I’m glad I’ve never had to pitch my skills to CEO’s before getting hired as a tester. Someone else has already been convinced of the value testers bring. However with shrinking test teams I think the testers that will thrive in the future will have their pitch just perfect. Any testers who knows how they add value to others and remains relevant probably won’t struggle as much as those testers who don’t. I’m practising marketing through things like my blog and running Sydney Testers. Getting up on stage is related to marketing too. I’m also going to right a book this year as a marketing exercise.

I’m not interested in

Management; this feels like a clear way to let you tech skills go rusty and it’s becoming harder for managers to promote themselves as relevant in today’s agile/self driving teams.

Automation testing; if I had confidence in my developer skills, I’d be building products NOT building frameworks. It’s rare that I find some who can clearly articulate why they want automation in a way that really drives me towards it. It feels over emphasised in today’s tech crazy market place. I’ll happily pair with a developer to help drive this but I cannot sit in a corner and motivate myself to work on it when there are some many other fascinating elements of the product to learn about. Like accessibility or security.

Summary

What are you looking for in your career? Do you have a career coach to help you move in the right direction?

Sydney Testers for 2019

Thank you to every one who’s been involved with Sydney Testers. What a year it’s been for meetup groups. In this blog I’m going to look ahead to reflect on what we could achieve for 2019 but first here’s a recap of what we’ve done for Sydney Testers in 2018;

  • 13 meetup events
  • 7 dice game sessions
  • 5 social events
  • 4 testing in the pub discussion groups
  • 4 CV clinic sessions
  • 2 Lean Coffees
  • 2 Cross promotional events
  • 1 Webinar
  • 1 Workshop

1 main meetup each month

We will continue to aim for 1 big meetup event a month. I’m going to experiment with more discussion groups and more 3 x 20 minute talks per 1 meetup to help keep things fresh. Do you have a 20 minute talk proposal? Submit your proposal here.

Getting more people involved

I’d love to see things like the discussion groups, dice game sessions and lean coffees run in other parts of Sydney. These event don’t take much to organise and don’t require a budget because they are often “pay your own way”. I can mentor anyone in how to run these events too. I’d love to see some of these events in Parramatta, Macquarie and North Sydney. You don’t need to run these events every month. Once every 2-3 months would be fine. If you are interested, reach out to me via sam@thebughunter.com.au .

Money

See this blog about Sydney Testers and money, we hope to raise more funds for events and to continue paying for incidentals (like meetup fees). Feel like sponsoring or hosting an event? Please reach out to me.

Leadership

At some point I will naturally step down from leading Sydney Testers. I might do this in 2020. Do you want to help out? I can help mentor anyone in how to run events for Sydney Testers if you are interested. We may even have an election at the end of 2019 to elect new members?

Feedback

Please fill in this survey if you’d like to help drive the future of Sydney Testers. We really appreciate any feedback you may have.

Back on the job market (again)

It’s only the third time this year I find myself job hunting (again). It was only back in June I found myself going through a break up from Campaign Monitor and in July I was starting a new role with a start up called Insight Timer that built a meditation app. I was just made redundant on Monday. I guess that’s #StartUpLife for you. Software Testers are expensive. I’m still fascinated that the CTO managed to convince the team they needed a software tester in the first place, even if it was just for 5 months. Redundancy is just another day in tech right?

I still want to do testing

This time last year I was thinking about becoming an Android Developer or a Product Manager. It seemed like the only way to progress my testing career was with Automation Testing or Management and I was not looking forward to any of those options. Over this year I have rediscovered my passion for testing and teaching. I want to combine the two. In a few years time I want to be running my own company where the focus is teaching testing skills. I’m not there yet but I’ve now got something I want to work towards. I’ll be looking for a position that has some strategic alignment with this goal. You can access an updated CV in PDF format here or as a Google Doc here. I’m hands on and very technical when it comes to my testing.

Goals

The goals I’ve set myself for next year do align with working towards my own company. I’d like to launch a wearable app, help my Nan with her digital marketing and continue to look after my health. You can read more about at at this blog post for my 2019 goals. Maybe I should add a goal, “Keep a job for 12 months?” 😭

Setting up a homemade charging station

At Insight Timer we’ve just ordered a whole bunch of refurbished second hand android phones from Green Gadgets Australia for testing our Android app. We managed to get 9 devices for under $2K and it also gave as a pretty good manufacturer spread from Samsung to Google. This blog is how I went about building a home made charging station for these phones.

First, finding and ordering the phones

 

look – shiny, the makings of a mobile device farm

Keeping all of these phones charged

The two tablets came in large boxes. I decided I wanted to convert one of those boxes into a charging station. All of the phones had bits of foam that were used to hold the phones in place. I cut up these pieces of foam and hot glued them into the box. I used the left over phone boxes to store extra cables.

However, I forgot to counter for actually plugging the USB’s into something. Next on the order list was a bunch of USB charging stations, extra cables and cable ties. All ordered via MWave.

Charging Station 2nd iteration 

After the USB charging stations, cables and 2 more phones from a Chinese supplier turned up I got to work on organising cables. We now have an Xaomi and a Lenovo in our device list.

 

I even have all of the cable types segregated, so there’s spaces to charge some of the test iPhones we have floating around too.

Conclusion

I’m quite pleased with our spread of devices and the budget of this set up. These devices aren’t exactly the highest end phones today but it’s a good thing our developers love to have the latest and greatest tech toys so they already have the high end covered. I might add one or two more phones that represent tiny screens. Have you built your own device farm before? How’d you keep all of the phones charged?

Australian Testing Days – Sydney Conference Overview

I had a blast at Australian Testing Days Conference in Sydney on Friday. It’s always good to get reconnected with some colleagues and to make new connections. First up we had Jennie Naylor go over how to use OKR’s to drive the Quality Onwership:

Using OKR's to grow quality ownership - sketchnotes

The OKR (Objectives and Key Results) framework has been in use since the 70’s and is used by companies such as Google, Uber and Facebook to set their organisational goals. OKR is a framework that can be used at any level within your organisation. This presentation mention how to use OKRs to help improve quality and ownership in a team.

Key Takeaways

The key takeways I got from this talk was how to use OKRs to determine if experiments are successful or not and getting the whole team involved in quality and product ownership.

AI and the impact on QA

Given by Chhavi Raj Dosaj who proposed the question, can AI can the landscape of testing?  Chhavi had a big topic to fill. I think his main point was a little lost because he spent too much time going over the basics and he wasn’t able provide compelling examples of where AI could benefit the QA process.

One of his examples was using an unsupervised learning algorithm to select the top manual test cases to execute in the next testing cycle based on past performance of said test cases. Anyone who primarily uses test cases to manage their testing work and reporting is using a pretty dated testing practice that doesn’t scale or make sense in the Agile world. You can read more about my thoughts on the end of manual testing. I also wish he asked me for feedback on his slide design before he got up on stage. There were some presentation sins committed in his slide deck.

dev Ops Testing Strategy

DevOps Testing strategy by Amit Kulkarni fell victim to the old bait and switch presentation sin. The title didn’t match up to the content. My key take away from this talk was, “there are tons of tools out there you can use in a continuous testing way”. There wasn’t any DevOps in this talk at all. 

Performance Testing in CI

Andrey Pokhilko gave an engaging talk on Performance Testing in CI using opensource tools. I learnt the name of a new tool; Taurus. Which can be used on top of JMetre and is a little easier to use than the good old JMetre.

State of BDD

As I’ve already done Gojko Adzic’s spec by example workshop offered through YOW! a few years ago, I already had a decent idea where this talk would go. Bria Grangard was engaging and gave a good update on the state of this field.

Transforming Testing

Bruce McLeod gave an engaging talk in business strategy and how it will transform testing. This was one of my highlights of the conference. Bruce goes over how testing needs to change from a culture of “protection” to a culture of experimentation using the Netflix chaos monkey as an example. 

Sydney Testers and Money

We have a Sydney Testers evening with James Bach coming up soon and you might be curious to know why we are charging $5 for it when it seems we have a sponsor for the event (Campaign Monitor). There are actually a few reasons to try this model that I will explain in detail.

Ongoing costs

prices from meetup

Meetup charges US$14.99/month for any big meetup and the organizing committee often foots the bill for this. There were times we were buying name badges and accessories for events. There’s been a few occasions when the organizing committee have footed the bill for food (I paid for the pizza for Michael Bolton’s talk expecting to be able to claim it back later but couldn’t). Sometimes we have sponsorship for food scrape through at the last minute. For example our bug bounty discussion panel at Prospa, Prospa did an awesome job of hosting us but didn’t have the budget for food and drinks. We had Bug Crowd confirm the day before the event that they were able to sponsor food and drinks. It would be nice to have some buffer of money/sponsorship so these moments aren’t as stressful. Our average meetup generally costs our sponsors anywhere from $200 to $500.

Meetup’s view of the money portal

Turn out rates

The meetup average drop out rate is around 50%, plus or minus 10% depending on things like the weather and location of the event. This can have an impact on food budgeting and moral. With a paid event the drop out rate is expected to be around the 20-30%. It makes it easier on organizers who are catering food to organize if the RSVP numbers match up to reality. We also get a better vibe. Imagine expecting to turn up to an event where 100 people RSVP’d and only 40 people turned up. You’d feel a little disappointment with the turn out. As an organizer it would suck your motivation for running future events too.

Lost funds

The previous committee had a paypal account set up and linked to Meetup but when the organizer left, the paypal account left with them and that means any previous funds we had raised (like when Michael Bolton came to Sydney and we charged $10 per person for) we actually never saw that. Which is a sucky situation to come to terms with but it’s the current situation. That’s why we haven’t charged for anything since then because we wanted to try and sort it out. This time we’ve just started from scratch with a write off for the previous balance.

Paypal setup

Paypal takes a 4.4% cut out of every transaction so for every $5 ticket sold we get $4.57. Currently I re-jigged an old business account I had set up for my tutoring services. The account has been shared with the committee so if one person leaves existing members still have access. You might see Sam’s Tutoring on your receipts until we update the details.

please don't be concerned if you see my details on the receipt
Example PayPal receipt

Free events

We will continue to run free events that benefit members, if you want to help organize any or have ideas for events that you’d like to attend hit us up. We are always open for ideas. The CV clinics we’ve been running this month came about from discussions in the pub. So please, suggest your ideas, we’d also appreciate if you helped with an event or two.

Any profits will be donated to charities

For James Bach event, Campaign Monitor has selected the drought appeal where profits will be contributed. You don’t need to worry about me profiteering from this event.

Investing in your education

Isn’t it worth spending a few dollars to support the community, your education and the drought appeal? These are just our first steps towards managing this meetup just a little better. We are always open to suggestions.

What’s with the coach titles?

Agile, Quality, Life, Career … everyone wants to be some sort coach these days.

coach sign

I don’t like the term coach. I feel like it downplays the hard work that goes into teaching. I learn and I teach what I learn. I love teaching so much I often do it for free. During uni I volunteered with Robogals teaching kids programming through Lego Robotics workshops. I had my own community radio show where I interviewed Engineers to promote the field. I give presentations at conferences to teach other people my learnings. I volunteer with Sydney Testers to teach my community how to be better at testing.

Is Coaching just asking questions?

As I teach I’ll ask coaching like questions to help you to explore ideas further. I often do this when I play the dice gamed with other testers.

Roleplay dice

If you have an idea while playing the dice game with me I’ll prob you with questions to try to get you to explain your thinking. The dice game is a fun way to explore black box testing and critical thinking, I’ll be running these on a fortnightly basis. Keep an eye out on the Sydney Testers meetup page for more events like this.

The Coaching habit book

The coaching habit” book would have us believe that coaching is all about asking questions. Just 7 questions in total. Where as I believe the main function of a sports coach is to provide the fast feedback in the moment to help an athlete improve and perform at their best. 

Coaching is having the knowledge to know when to ask probing questions, knowing what questions to ask and how to follow up on particular questions to gain more insights. I use these techniques to learn not to coach.

Mentoring vs Coaching vs Teaching

There might be different contexts where one might be applied over another but I use these terms almost interchangeable. On twitter recently I said I mentored a colleague in giving technical presentations:

And I thoroughly enjoyed the experience. I love helping other people improve. I love this stuff so much, I do it for free. The mentoring wasn’t ongoing though, it was just a 1.5 hour session with the clear goal of improving 1 thing. So maybe I shouldn’t call it mentoring? Well I view it as a mentoring session, but I also taught content and asked coaching questions. All three; Mentoring, Coaching and Teaching were all involved in this situation.

Here’s the review of that session:

Review from Tania Dastres for a technical presentations workshops

Teaching is Learning

But putting together a blog post, workshop or lecture I consolidate my own learning into key take aways. It helps me practice my communication and I learn to exchange ideas more effectively. The best teachers are constant learners.

Maybe I’m jaded because I had a bad experience where a job with the title “Quality Coach” didn’t quite work out for me but I don’t think there is much point in distinguishing the differences between teaching, coaching and mentoring. I’ll use it all to help you improve.

Personal Branding

Warning: This blog contains promotional content. Personal branding is all about that, what else did you expect?

We had a pretty awesome CV clinic for Sydney Testers yesterday held at Opus Recruitment Solutions. Barry Smith and Mike Hollowbread specialise in recruitment for software testers and went through their pointers for CVs. These guys see a lot of CVs and had built up years of experience in this area. They had tons of pointers and have put together some awesome resources with this advice:

Opus CV Pointers

This event completely booked out and the waiting list filled out to double the event capacity within 24 hours of the announcement. If you missed out don’t worry. We are doing a month of these events. Next week will be at Four Corners Recruitment. This event is already full but please join the waitlist. We had a dozen people change their RSVP at the last minute with the last one which opened up the event for half the people on the wait list. If you want some inspiration for your CV I’ve blogged about the evolution of mine before.

Have a good LinkedIn Photo

My LinkedIn Photo

My LinkedIn profile came up in Barry and Mike’s talk as an example of a good LinkedIn photo. I’d like to dig into more detail the planning that went behind that photo in this blog post. I used a professional photography service called Snappr. I paid a photographer $59 for a 2 hour photoshoot with the soul purpose of getting a good LinkedIn photo. They now charge $75 for this service. Snappr is a Sydney based startup that’s making the news for disrupting the photography industry and being successful in funding rounds. I quite enjoyed the photoshoot and I had a bit of fun with it too:

Some of my favourite photos from the photoshoot

For the photoshoot we walked around Pyrmont and the Star Casino looking for good backdrops. Maybe you can recognise a few of the locations? Some of the photos didn’t come out that great but it was still fun. You should check out Snappr’s LinkedIn Photo analyser, it’s a fun way to analyse your photo using an algorithm. What score did you get?

Hair and Makeup

The thing is, the photographer was not the only thing I paid for leading up to this shoot. It was my birthday, I decided to treat myself to a pampering. So I also got my hair and makeup professionally done. I think that cost me around $150 at CatWalk hair and beauty in Gladesville. And then there’s the outfit:

I bought the suit from the Oxford Factory Outlet in Alexandria for roughly $200. The shoes were from Paul Dane; $90. The tie was an impulse purchase from an antique suit shop in Melbourne. I think it cost me $140 but I love that tie. It’s so groovy. I didn’t purchase this outfit just for this shoot, I will wear my suit on the odd occasion. You don’t have to spend what I did on this shoot but I’m trying to highlight the planning that went into that one smiling photo.

Tailored Suits

If I was to get another photoshoot, I’d probably order a tailored suit from Luxury Plus Suits, they do a basic suit for $349. They will measure you here in Sydney and it’ll get made in China. I actually did get one of their suits but it was just before my weight loss surgery. I’ve now lost 50kg since I bought that suit so it’s safe to say it doesn’t fit me any more.

Corporate branding

There’s two testing companies that I love the branding for; Ministry of Testing and House of Test. I love the sense of Community that Ministry of Testing is working on building. They even inspire community members to get tattoos of their logo:

Rockstar Testers

House of Test literally market themselves as rock star testers. If I ever move to Europe, this is the company that I’d be begging to join. I’ll tell you a secret. There’s a small community of context driven testers out there (House of test) are one such group. Mentioning context driven testing is like secret handshake material that gets you on top of interview list with these people.

Do you want to improve your Context Driven Testing? Do the Rapid Software Testing course by James Bach at the end of August. I consider James Bach to be the original rockstar tester. If I ever saw a CV with his course on it, it would be at the top of my interview pile, no questions asked. It is some of the best training any tester worth their salt can do.

You will occasional see this secret handshake material mentioned in Job ads too; like this one for a Quality Coach role at Campaign Monitor. Campaign Monitor is an awesome company to work for; awesome people, awesome perks (free breakfast and lunch) and awesome views of Sydney.

Taking Personal Branding to the next level

Edward Zia is an example of someone in my network who has taken personal branding to the next level. He even has a caricature made up with his facial birthmark as part of his branding:

If you don’t have a personal brand, people won’t want to do business with you. What have you done with your own personal branding before? Have you ever made a bad investment?

So you want to become more technical?

Here is my 5 step guide for becoming more technical without learning to code. No matter what your background, if you follow these steps you will be more hands on technical than I was when I first graduated from Computer Science at Uni.

NOTE: If you are a software tester looking to get more technical DO NOT start with automation. Automation testing tools change as often as the seasons. These 5 steps have served me better than any automation framework has. If you are looking to get into automation, starting with some basic web developer skills could help if you want to learn UI automation via Selenium (but Javascript automation like protractor is hotter right now).

1. Get comfortable with the command line

This is so fundamental. I use this skill nearly every single day without even thinking about it. E.g. my morning starts out with checking out the latest code for our android app using a git command from the command line. Every other step proposed in this guide can all be done from the command line. You can even do all of your emailing from the command line, this blew my mind when I discovered this.

I’m biased towards using a linux/unix based system (Ubuntu, Android and macOS are the main ones I use). You can learn this on windows but the transition from windows to linux/unix is hard, for example the slashes for file directories are the WRONG WAY in window.

screenshot of a terminal session on macOS
You can access the command line with an application called “Terminal” on macOS. Here is an example where I list the files on my Desktop with the command LS. I can see all of the screenshots that I’ve captured for testing. I have my terminal set up in bright green font because it makes me feel more like a hardcore hacker. Want to feel like a hacker? go to http://hackertyper.com/ and start typing gibberish.

e.g. To change the directory linux/unix

cd /usr/home/some/folder

that just feels nice, natural, it’s also the same direction as the slashes in your browser address bar. Just look up ^ ^.

For windows its

CD C:\user\some\folder

GARRH I feel like pulling out my hair, why do you do this to me windows?

If you want to explore linux/unix commands on windows you can:

Let me tell you a secret, I didn’t learn this skill until I was 2 years into my testing career when I started working at Tyro and every developer computer was running Ubuntu. The first thing I learned was how to CAT logs for a test environment. I studied computer science, you’d think I’d learn this skill there but nope I breezed through uni without ever learning how to change the directory from the command line.

You don’t need to memorize all of the linux commands but learning how to change a directory, make a file, move that file, edit a file and search a file (probably by using a grep pipeline command) is all you need to get started. Learning how to read a help file to understand all of those pesky characters will also help. I found help files intimidating. Heck I still find them intimidating and I prefer to google an example than to try to make sense of a help file.

2. Learn Git

Now you don’t need to know how to code or have a coding project idea to learn this. For Example, you can just put together a wiki of your favorite resources. Like my amazing colleague Paul Maxwell Walters who put together this list of testing learning resources. You could easily learn how to add a bunch of Testers twitter handles to that project, Paul would appreciate the help. Here are some resources for learning git. You just need to learn a few basic git commands (PULL, CHECKOUT, COMMIT, BRANCH are the ones I use 80% of the time),

Here is another secret; I don’t really understand git, I just know enough in how to use it. If I get stuck I always fall back onto a git hard reset to head but I always have to google the structure of that command. Stack overflow is your friend.

3. Learn a query language

Learning how to construct SQL queries was one of the first technical skills I picked up on the job and I have used it in every single role since. Again I didn’t learn this at uni. It was hands on experience that taught me this. MySQL is a common query language (it’s open source too). You can also construct MySQL statements from the command line. E.G. I’m working on a poo diary app to teach myself mobile development and google cloud. I have a MySQL test database set up and when I query the database from the command line this is what I get back:

mysql query example

Now you don’t need to learn everything, just learning how to do a simple SELECT WHERE {Conditions} will get you far. I use this type of query 80% of the time. Maybe learning how to update an entry and how to do a query across multiple tables will also help. You don’t need to be a database master. Here is a follow up blog post on this topic.

4. Learn how the internet works

I’m talking about learning about API’s, REST requests and JSON payloads. You should learn how network requests work; how servers talk to each other using the internet. Again you can learn this by using the command line and googleing a few resources. If you are exploring a new API, learning how to construct a simple GET request using a CURL command will get you far. Learning how to do a GET, POST or a DELETE request will be 80% of any API testing tool out there (e.g. Swagger, restlet or postman).

Learning about how requests work will naturally open up the door to using performance testing tools or security testing tools. Learning this is a good foundation for more technical testing practices. You can also use developer debugging tools for browsers; Firefox & Chrome to monitor network traffic or to explore API’s. If you can mostly understand what this stack overflow question is about then you already have a good foundation here. Joe Colantonio has an awesome resource which has a section for learning about API’s right up the top.

5. Start a learning project

I often start new projects with the focus on learning. I wanted to learn some arduino skills, so I researched open source robots and built a tapster robot which can be used for mobile testing:

Now, it’s nearly impossible to find a practical use case for Tappy McTapFace, but building this robot has helped me learn a great deal and I’ve been able to demo this robot all over the world. That’s pretty cool.

My next project is a poo diary app. I want to learn how to do mobile app development, how to integrate mobile apps with google cloud/firebase and how to build an API in Java that talks to a MySQL database backend. The app itself is a little silly (some would say it’s crap – pun intended) but I’m using it as a learning tool. I’m mostly just following tutorials on the internet and it’s glorified copy paste work with a little bit of thinking. However with the 4 foundations listed here and studying Java at uni it doesn’t seem all that hard.

Do you consider yourself to be technical? What’s your next step in improving your technical skills?

My Approach to Testing

Someone asked me, “do I have a method for generating testing ideas?”. My answer; “I follow an exploratory approach to simultaneously learn, generate and execute test ideas”. This might involve exploring the product a little to learn about how it works, this will feed into questions/ideas and then I might explore some other ideas further.

I might use sources like the Design Sketch as an oracle (source of truth) for inspiration/ideas, or my mobile testing experience (heuristics/rules of thumb like “accessibility always sucks and its easy to find bugs there” or “screen rotations often causes bugs”), or things like boundaries to explore. It depends on the context of what I’m testing to what ideas get generated.

Exploratory Testing

Exploratory testing is a fairly efficient approach to finding bugs. It’s not like we know where the bugs are in the product before hand. However there are always gaps in anyone’s testing approach. It would take an almost infinite amount of time to test all of the possible permutations. So testers will also use their risk radars to help hone in on testing high risk areas.

Mareet Pyhäjärvi has an interesting keynote for SeleniumConf on the intersection of exploratory testing and automation:

And she also has a Medium article explaining Exploratory Testing. Here is the sketch notes for her talk:

James Bach has a 10 page article on exploratory testing but it can be a little dry to read all in one go. I’ll also often reference Elisabeth Hendrickson’s book, “Explore it! Reduce Risk and Increase Confidence with Exploratory Testing“. Elisabeth has also put together a cheat sheet for testing heuristics but I feel like that is more suited to testing a web frontend context.

Mindmaps

I often use mindmaps to help generate ideas, e.g. when I was at Tyro I created this mind map for generating mobile testing ideas, the idea being I’d bring this along to planning meanings and it would prompt me to ask questions like, “what about performance testing?”.

Everyone does testing on some levels, some people are just more practiced at the skills involved than others. For me, testing is my craft.