Heuristics and Oracles; The bane of my week (and how it challenged my learning)

This week I have spent significant time and effort in trying to understand heuristics and oracles. I have just started an awesome new job and decided what better time than to try to improve my testing approaches.

It’s not the first time I have tried. A few weeks ago I sat in this very spot (my couch) watching presentations and reading articles until my eyes stopped working, trying to get my head around it. I found that I had many ‘a ha!’ moments that were soon replaced with furrowed eyebrows as I read more.

This week my efforts came about when I experienced a moment that made me step back and go ‘what’s the heuristic here, and what’s the oracle?’. I posted on twitter in the hope to get feedback whether I was on the right track. Turned out I was kind of getting there, but still not quite. What resulted was many concurrent discussions on what heuristics and oracles were which resulted in me wanting to turn my phone off and give up on the whole exercise. Of course, once I put my phone away I continued to think about it, then started to feel that I must be stupid because I couldn’t think of anything else I had attempted to learn recently that had taken this long to get.

The next day I woke up feeling more rational; “I know I’m not stupid, I’m awesome, how could I ever possibly think that?!” I started to realise that the experience in learning heuristics and oracles felt foreign to me because I don’t push my learning enough. Most of what I allow myself to learn is really not that hard, which is why I learn it quickly. I’m the first to admit when it comes to learning (in particular, anything to do with maths) I can get very lazy. If I can’t get it on a first read, I push it aside.

Perhaps this is a Gen Y trait, I want immediate results! If it’s going to take too long, why bother? This won’t be a sustainable attitude for my extreme career goals, this is something I am going to need to improve on.

Anyway, back to heuristics and oracles. After my very public confession that I still did not get my head around them I received a few comments from others saying they are in the same situation. I felt much relief I was not the only one (I had my suspicions, but it was nice to confirm).

Towards the end of the twitter conversation, I received very useful advice from one of my favourite testing leaders;

Once I read this I relaxed about it. I took a HUGE step back and tried to forget about it for awhile. The next day I was reading Thinking, Fast and Slow, and there was a lot talk about heuristics within just the introduction. Interestingly I found reading about heuristics outside of testing really helped. Perhaps it was thinking about it from another angle, or maybe I wasn’t putting pressure on myself to understand it in that moment. Whatever it was, it helped.

I am also very lucky that my new boss is someone that I not only admire greatly, but has a wonderful presentation on heuristics and oracles that she was able to take me through over lunch yesterday. Here she is talking about them (with robots too, awesome!);

After we finished our discussion at lunch I let the new information sit, and my plan is to not worry about it for a few more days.

So while this week contained many frustrating and self doubting moments, I discovered that learning something as tricky as heuristics and oracles is not something I can rush. Hopefully, with the help of some new goals, I will remember this attitude when I try to learn something else outside of my comfort zone and if all goes well, it will help me learn other things that will make me even more awesome than I already am.


Tough decisions – What should I write or speak about?

As a newbie to the blogging world, I’m finding it very hard to come up with ideas on what to write about. Even worse is thinking about what I could potentially speak about! Argh, so much stress. Why am I even bothering with all this? Gah!

I’ve started keeping a notebook with me at all times so if I do get those lightbulb moments for a topic I can write them down. I have a list of potential topics that I could write about, but I find that if I’m not feeling passion for that area at that time, I have little passion to write about it.

The problem also doesn’t stop once I get an idea, I then have to think about what angle I might take, what examples I want to and can use, who would benefit from my ramblings, etc, etc. Am I overthinking it?

The blog side of things is less of a worry for me, I suspect once I get in the habit of writing more I’ll come up with more ideas. Interacting with others on Twitter and blogs really inspires me to write, however I do find it hard to allocate specific time to write the posts up. My old work had a ‘no blogging at work’ policy and when I get home from work I’d much rather just watch Netflix than sit there and write. I’ve tried writing my posts on an iPad on the bus to/from work but I get frustrated with not having a keyboard. Although it helps to have notes down when I eventually do decide to write, I must admit.

The thoughts on what I could speak/present about gives me more grief. I come up with an idea, think about it for a few days, then convince myself ‘no one wants to hear about that’, or the audience for what I want to talk about is so small, the chances of someone being in the room and getting something out of it is slim. My confidence regarding sharing my knowledge and ideas has increased drastically in the past 5 months, but I still have a long, LONG way to go.

Regardless of this, I am going to persevere with both blogging and hopefully some presentations (although that scares the crap out of me). So stay tuned 🙂

In the meantime, check out the awesome ‘good luck in your new job’ present I got from my colleague;


Acknowledging career goals

For the last few years my career goals have been either absent, too vague or not very challenging. I put this down to a few reasons; focusing too much on personal and fitness goals (not necessarily a bad thing) and not being motivated enough in my career to bother thinking about it.

This week I have started reading Lean In by Sheryl Sandberg, not a book I would usually read (in all honestly, I rarely read any books), but I signed up for a local book club and that was their first book choice. The result of reading it so far has been very unexpected, it made my career goals crystal clear.

Amazingly, as a result I have written up not only my long term goal (pretty much running the world), but thought up a bunch of achievable, yet challenging and fun shorter term goals that get me started on my way to the long term goal. Exciting!

It also got me thinking about the times earlier in my career where my goals were clear and how I went with them. I realised something…

The goals I acknowledged out loud were the ones I had success with.

This was even the case for non career goals. For example, at a previous job I used to run most lunch times, I discovered if I told my colleague that sat next to me how many kms I planned to run, or how fast I wanted to run a certain distance in, I always succeeded!

Last weekend I ran my first fun run in a long time, I have been well and truly out of the running game in the last year or so, so while my goals don’t feel super exciting (so far from my PBs) I still made sure I voiced them. The result, I beat my goal by 20 seconds! I actually remember thinking of how I will feel when telling others that I made it, that pushed me to go faster at the end.

I wonder if the same psychological effect happens with career goals. For me the act of saying out loud what my career goals usually mean I have thought them through and am more likely to follow up on them. However, twice in my life I have said what my career goals were, then within the week something amazing and what felt ‘out of my control’ happened to start the process off with a bang. Did those things happen to me because I had told the universe I was ready for them? Or am I not looking at the things I may have done to make them happen?

Whatever the reason, one of my new goals is to always verbally tell someone my goals, just in case the universe is eavesdropping.

Tester beginnings

I thoroughly enjoyed the StarEast virtual conference, the presentations, interactions, and most of all the interviews. I appreciated the effort taken to help the virtual audience to ‘get to know’ some of the attendees, as we obviously were unable to do so ourselves (well, unless we use Twitter).

My favourite part was Dawn Haynes’ task of asking everyone how they started their career in testing. I love hearing about other people’s journey towards being part of the software testing community. There are so many different stories, and they are all interesting!

My story is different to most, but not unusual. I moved away from Melbourne when I was 19, to sunny Brisbane, Queensland. I didn’t have much of a plan, I was most way through a degree in Communications and was taking a break from study. I had some office administration experience so I decided to stick with that, and very quickly got an administration traineeship with a local real estate company (traineeship = excuse to pay incredibly low salary). I did that for a year or two, and throughout my time there I discovered I was pretty nifty with computers. I got a title change to ‘Administration and IT Officer’, which basically meant I had to fix the printer when it broke – no, just kidding, but that seemed to be what I had to do the most.

I then was headhunted by an agent to be her Personal Assistant, and took on another agent PA role to fill up my working week. About a month into this I realised I didn’t enjoy what I was doing, and thought ‘what do I want to be when I grow up?’ I remember this week quite clearly, it was the week that changed my career! I thought about how I enjoyed working with computers, but had no desire to study computers at uni… Then I had the lightbulb moment; ‘how about I get an admin job in an IT company?’

You’re probably thinking it can’t of been that easy, but it was easier than I ever could’ve imagined. I looked online and there was a ‘Office and Logistics Coordinator’ job for a small local software company. I applied, got an interview with the recruiter 2 days later, an interview with the CEO the same day, and job offer the next day! I was in!

In the first month there I remember being asked to ‘play around’ with the software, I don’t recall if I had any idea of what a tester was, I most likely thought about games testing if I did. I also did a few other technical tasks early on, such as SGML wrapping (I was the best wrapper my boss had ever seen!) and a bunch of stuff with XML/XSLT tools.

About 6-9 months in I was being considered for either a consultant role or to start the QA team for the company. There was another lady at work also being considered for both, she was stronger at consulting and had more experience than I did (easy when I had none), so I was chosen for the QA role (which was seen as easier than the consulting role). My boss also pointed out that she felt I had the perfect traits for testing, I was so particular about my work and so organised! For awhile I did both QA and administration, on top of managing our annual conference and everything else I had to do. Eventually we hired another admin girl and I started my full time career in testing!

I had a small detour about a year later, I worked as a consultant for about 6 months, did some XSLT development, but still took on a lot of testing tasks and essentially managed the QA team. When I moved cities I decided it was ‘easier’ to get a job in testing than as a consultant or XSLT dev, so I officially went back to testing… And haven’t changed careers since!

So that’s my story. I’d love to hear from anyone out there that would love to share their story!

So, I hear anyone can be a tester?

This is the 5 minute lightning talk I presented at the Calgary Software Quality Discussion Group. This is exactly the talk I read from (I’m a n00b presenter, so yes I read off a prepared speech). Looking forward to any comments you may have!

So, I hear anyone can be a tester?

Now depending on your definition of ‘testing’, this opinion could very well be true, but sometimes this attitude can be taken too far. I’ve unfortunately experienced first hand the negative affects that can come from it.

Dealing with peers that assume your job is ‘simple’, require little technical skill or knowledge, or one that is simply a ‘starting point’ into a career in IT can be disheartening to say the least. I was once strongly encouraged to move out of testing into another area, and when I disagreed was told I was making a bad career choice.

This attitude can also make our jobs harder than they need to be, due to not being seen as as ‘important’ and sometimes even ‘smart’ I have been left out of meetings and discussions and have had my opinions brushed aside because ‘what would she know? she’s just a tester’.

About 5 years into my testing career I found myself leading a team that were victims of this mindset, and because there was no one challenging it, they were almost encouraging it.

The test team literally sat in the corner, ignored. The team was managed by the lead developer and their tasks were to test as the developers instructed. When a developer stated a bug was ‘as designed’ or ‘it works on my machine’ the testers listened, and never challenged.

I felt experienced and confident enough to try, for the first time, to really push for change regarding this attitude. It was a reasonably small company, so I didn’t feel too out of my depth. What did I have to lose?

The test team was definitely an under functioning one. There was low expectations on their deliverables, and releases were happening without their input.

I must admit, I used this somewhat to my advantage and spent a bit of time ‘preparing’ for change, change in process and more importantly change in attitudes. This was not something I could change abruptly.

I observed – how did other teams interact with each other? What was the existing ‘process’?

I learnt – I explored the software, I taught myself as much as possible about it. I researched previous bug reports, the ones that were fixed and the ones that were ignored. I built a solid understanding of the state of the product,

I then slowly started my subtle attack. I infiltrated meetings, at first only observing. Eventually I started putting my hand up to help out where I could. I took on support issues, wrote training documents, anything that I could that put me out there as a functioning member of the team in a way they were more familiar with.

I kept my ears open, and jumped in with useful and ‘smart’ information where possible; workarounds, and information on how new functionality worked. I even became known as an expert on some trickier parts of the software and was called upon to help with demos.

I also encouraged my team to do the same, sometimes pushing them out of their comfort zone – getting them to show off their knowledge at our Friday company wide presentations.

Once I had ‘proven’ to everyone I wasn’t someone that deserved to be ignored in the corner (I even moved to closer to the middle of the room), my ability to influence change, real change that others actually believed in, had increased. I was able to set up the QA team as a important part of the company, a team that was listened to, had respect and felt comfortable to start challenging.

However, that wasn’t enough, there was still lingering issues.

Simple things like getting technical details on functionality was a struggle, the developers didn’t understand why I wanted this information and how it would be useful. I tried not to get insulted when they said ‘warning, this is going to get pretty technical’ and then just talked about adding a column in an SQL table.

I made our testing as transparent as possible, so that they could slowly see that the information I was asking for was in fact leading us towards finding more bugs. I also provided them with more technical sounding bug reports, and encouraged my team to do the same.

And then they started to see the value in sharing their information with us, and were more likely to provide us with ‘technical’ information, which then made the process much more efficient!

Overall I was pretty happy with the changes I advocated, however this was just one small milestone at one company and I feel like there’s still a way to go to help us get the respect as IT professionals we all deserve.

So while we may continue to keep hearing that anyone can be a tester, I hope some of you are out there spreading the rumour that not everyone can be a great tester.

Lack of confidence in a (mostly) self taught skier

Most of you know I do a lot of skiing, but what you might not know is that I’ve only been skiing for a year.

My first real experience with skiing (excluding one day in Thredbo back in 2007) was in Niseko, Japan in March 2012.

Since then I’ve done approximately 50 days of skiing. This might be a season for some and many lifetimes of skiing for others. For me, it feels like just the beginning.

Technically my skiing is pretty good. My biggest issue is my head. Not the positioning of it (I was once told to lean my head more forward to exaggerate leaning down the mountain) but a voice that tells me what I’m doing is going to kill me.

How my skiing day is going to go is unknown by me when I first click into my skis. It can vary from having ‘the greatest day’ of skiing black runs and fresh powder to ‘the worst day ever’ of struggling down greens (usually cat tracks, oh goodness how I hate cat tracks).

Back in Australia, I overcame my irrational thoughts by getting drunk (scotch at 8am and sneaky nips in the trees every few runs). This worked for awhile, but eventually I realized for the long term good of my skiing it wasn’t the greatest thing.

By the time I moved to Canada I’d put a ban on drinking while skiing. I had a few rough days to start but eventually started to notice improvement in my actual skill.

I probably should’ve been getting lots of lessons. I started off with lessons in Japan, I was a fast learner and moved up levels quickly. On my second day in Japan I had an out of control beginner skier crash into me while I was chilling by the side of a ski run with my instructor. My instructor said “oh no, you’re going to go backwards from that” and at the time I didn’t believe him. After a quick rest I jumped back on the chairlift to catch up with the lesson and I was stiffer than on my first day – oh goodness he was right.

Something that happened on my second day of skiing has haunted me since. I’m one of those skiers that constantly looks back and won’t move until I can’t see someone behind me. This is why I hate cat tracks.

Back to the lessons, when I started skiing in Australia last winter I started with lessons. On my second lesson I felt ‘forced’ into terrain I wasn’t comfortable with (this also happened in Japan. Ski patrol had to give me a ride down). It was not the instructor’s fault, when I ski down a familiar green run I look like I can handle something more difficult, until you put me there.

I then decided I needed to sort out my head until I could get lessons again. Problem is, almost a year later I haven’t sorted it out, so I’ve mostly avoided lessons.

As I said earlier, some days I feel great and confidence is high, but I don’t want to waste those days on lessons! It’s a tough situation!

So from here, I’m a bit stuck on what to do. I’m considering hypnosis to overcome my ‘fears’ as weekly skiing is just not working. Spring skiing is tough and I might have to avoid it. I’m even considering giving snowboarding a go in case I feel better on just one plank… I doubt it though, I hated skateboarding and was always a rollerblader.

Other option is to just throw it in, but I know how much fun I CAN have skiing.

Any ideas?

Lack of confidence in a self taught tester

I was introduced to testing in a very small company that had never had a QA/test team. That’s right, my first testing job was as the first test employee, ever. Throwing me in the deep end much? There was no existing processes, nothing to work off, nothing and no one to learn from.

I was sent on a ‘Software Testing Foundations’ course, it was actually the very first of it’s kind in Australia. It was delivered by Rex Black and was full of future trainers of the course. Again, I was a ‘test’ dummy (hur hur). The course provided me with some basic information on what some test terms meant and really that was it. It was targeted to large companies with large test teams, heavily reliant on ridiculous levels of documentation and meetings, etc. Even as a new tester, with no clue on how people are testing or with any preconceived ideas on what it involved, I didn’t like what I was being ‘taught’.

Back in the office, I relied heavily on Google, stole test plan/strategy templates and started writing them for my own benefit, I don’t believe I ever shared them with anyone in the team (they never asked for them). Breaking down testing tasks in my head gave me a good sense of what sounded right to do.

Naturally for me, actually testing and experiencing difficulties, roadblocks, and push backs from developers is what taught me the most. I adjusted my approach on the fly based on what worked and more importantly what didn’t work.

After I left my first job, I went through a few companies that had existing test teams, but no real process. I spent the first few months sussing out the deal, and doing what I did before – adjusting based on what was happening.

I reached a point where I realised I had been doing the same thing (adjusting) for almost 8 years. I had no real official terms for what I was doing, however what I was doing seemed to work and was approved by my colleagues and junior testers that came and went. I was getting regular pay rises, so it couldn’t be all that bad, right?

Regardless, I started to get a bit of low confidence about my work, it didn’t feel right because I didn’t have fancy terms for what I was doing. I felt like I was potentially a bad mentor by teaching my team ‘bad habits’ and not providing them with a structured learning environment to the world of software testing and QA.

After I moved to Canada and I was job hunting, I realised I had an issue with selling myself as how good I was. For the first time I was being interviewed BY testers (amazingly, all previous interviews had been with non-testers) and was being asked questions that I had trouble answering with words. I knew how I tested, I knew that what I did was great, but I had trouble explaining it.

I then started to really doubt myself as a tester, and really doubt my career. I considered a new career path and even going back to administration (super organised Julie, administrator extraordinaire).

It was only once I started to personally interact with testers that I quickly started to learn that there was in fact, fancy testing ‘terms’ that very closely matched what I had been doing. The moments that I realised ‘hey, that’s what I do’ were magical. The confidence was building… very slowly though.

Even though I was discovering that others were taking the same approach to testing that I had, I still didn’t feel like I was going to be of any use to anyone as a mentor. It was suggested to me that maybe I look into doing presentations at conferences, etc and I thought ‘you be crazy’. At this stage I had only thought that what I had been doing was the same as others, I didn’t quite feel that I had anything to offer anyone. After all, what I was doing was really just the same as others!

Then one day, I was in a hotel room at Sicamous, BC. We were half way between moving from Vancouver to Calgary and I read an article posted on Twitter that suggested ‘great’ testers must have solid programming skills. I was quite upset about this article! My poor partner had to deal with my ranting and raving about why this guy was so wrong…

All of a sudden it hit me. I had opinions, I felt strongly about things, and I had wonderful experience that could be shared with the testing world. Something started to build up and I thought ‘I COULD do a presentation’.

From there the confidence just kept going up. I sure do still have days where I second guess my opinions and ideas and think ‘shut up Julie, no one needs to hear that’, but those moments are getting less and less.

I have signed up for my first lightning talk, which is happening this time next week (oh crap, I better start preparing for that!), and I’ve started this blog! To think just 3 months ago I was considering tossing my QA career in…

So, for me it took stepping away from reading articles and books and actually personally interacting with other testers that provided me with the insight and confidence that I had been looking for, for a very long time. I’ve also learnt more about testing (and myself as a tester) in the past few months than I have in most of my career.

Stay tuned…