Sunday, December 10, 2017

Why Testing Is Like Writing: It Takes Years Of Practice


 “Being a writer is a very peculiar sort of job: It’s always you versus a blank sheet of paper (or a blank screen) and quite often the blank piece of paper wins.” —Neil Gaiman



I had a recent thought that writing is very much like testing. You have to learn it much like you learn most languages, developing a vocabulary, working on the pronunciations, and then figuring how to make a proper sentence.

That's all a lot harder than most people realize. We grow up in systems of learning that expose us to writing and language every day. We are inundated by the daily routine of learning language from the moment we learn how to speak.

Most testers I've known didn't start with Exploratory Testing. They started with test cases, probably dealing with regression, writing out hundreds of them, running through an application which they previously had no prior knowledge.

The description above includes myself. I didn't start off doing ad hoc anything. People wanted me to prove that what I was doing was valuable and the only way they knew how to do that was to have me write test cases and execute them in a system of record, creating metrics, and explaining why I chose to test certain things. It was the only way I knew how too, because I was learning from others.

After a time, I started to develop a sense of risk. A reflex, mostly in my gut, along with knowledge about the application, and the skill of the developers, that let me know where I should test more and what kinds of things I should be testing.

My first couple of years as a tester, I learned by rote. I learned a system of how to do things based on what others had done before me in the same position. I learned what people in that company wanted from me and others in my position.

By the end of year two, I started reading about testing. My first book was almost like getting my first reading primer in school. It was the equivalent of moving past tracing letters to constructing whole sentences and paragraphs, and having an opinion about what you should and can do as a tester.

I started to go to conferences after that. One of my first conferences actually had nothing to do with testing but instead it was around HTML5. People were surprised a tester wanted to go and people at the conference were surprised a tester was getting involved in a mostly developer driven conference.

I bought more books, started learning languages like C, C++, and SQL. I pushed boundaries on what I could as a tester, and what people thought I could do as a tester. I kept working and learning.

It seems to mirror the process of learning how to write; at least to me it does. You read more complex things. You experiment with your writing. You read different styles of writing, and different stories, from different context. You begin to learn about other places and other points of view. Those all become fuel for writing, much like learning code, or new techniques, or new tools can open similar doors allowing you to approach testing with new eyes and new abilities.

Once you've reached five years or so, being paid for your work, in either writing or testing, you start to feel like a professional. You've had experiences. You've learned from other people. You seek out new mentors and new experiences to keep learning and growing.

Travel becomes a necessity rather than a luxury. You find that leaving what you knew previously allows you to gain perspective and start fresh. You get to know people you've admired for their work from afar. Meet people who's blogs and books you've read and realize they are reading or following your work as well.

Granted, the story isn't the same for everyone. I've met some folks that are happy writing test cases and performing the work necessary to do the job they have been given. That's OK too. Maybe testing, like writing, is a stepping stone to something else. Maybe it's a placeholder for whatever they are meant to do later. There is space for all of those things in a lot of professions where there are people being paid for their work, but they might not consider it a career or want to chase after an expert level or be a recognized professional.

Bad writing happens. Bad testing happens too. No body is perfect. The cool thing about seeing so called 'bad' versions of anything is that they are great examples of what not to do, or what to avoid, if you can. Even professionals make mistakes.





Monday, December 4, 2017

Dear Tester: Github Is Your Friend

 "It's never too late 

- in fiction or in life - 

to revise"

 - Nancy Thayer


Personal confession time. I have no idea why it's taken me so long to realize that I too could be a regular github user. For years, I've used it on projects, learned the basic commands for the command line so I could switch repos quickly, whether it was for automation projects or software development, I used github with little thought about how I could use it myself.

Somehow, one comment from one of the developers I'm currently working with, on a project I've been pairing regularly with developers, my mental context about github shifted. He asked about my github and if I had anything there. I responded, no, I used it for practice. I didn't really keep anything there.

I realized, much to my utter horror, that I could have been keeping all of my little coding projects and all of my code notes in one spot. Things that I've come up with and used for automation, small scripts I've written to help collect data out of a database, all lost to time.

I could have sanitized bits to remove context. I could have been building my own stash of awesome frameworks and testing bits to reuse. The idea of reuse is where I kick myself for not thinking of this sooner. It's a number one rule of code, any code, is making it reusable. That doesn't mean only reusable in the context of what you are writing that code in, but it could mean, can mean, reusable in the context of being portable too.

I imagine that some folks have figure this out already. I probably know a lot of people who have great github accounts. Danny Dainton comes to mind as I was recently using his Postman repo.

The other great thing to use github for is Gists. It's like notepad, but better because you can keep collections of Gists for use, and it's all accessible from the internet.

Additionally, it lets me keep track of repos that I'm interested in and users that write some cool things. 

So, dear tester, get out there and make your own github account if you haven't already. I don't have a lot in mine right now, but I plan on changing that over the next year or so. It's never too late to git started.

Thursday, November 16, 2017

Hopes, Dreams, Goals: Thoughts About & From TestBash USA

"Motivation clears the head 
faster than a nasal spray" 
- William Zinsser


Sometime back I took a motivational course offered by a lady in Austin. It wasn't a big eye opener, but it did leave me with this interesting little notebook with motivational quotes. I like the quotes because they remind me that if I didn't get much out of the day, other than being with a lovely group of ladies discussing topics, I did get an experience I do remember to some extent with people I liked. 

TestBash is way more than that. 

With what originally started as a writing experiment has slowly, over the last few years, turned into a sincere community for me. The community itself cultivates a diverse group of people, from all over the world, and tries really hard to be a supportive voice for those that are not often supported in the industry. Oh, and it happens to be about testing, testers, and software development. 

If anyone is looking to start any kind of group about a topic of interest, I would point Ministry of Testing out to anyone as a model of inclusion and resource offerings as a good framework to follow. 

I mentioned to a co-worker last night that the next TestBash USA will be in San Francisco. I also mentioned to him that two wonderful women in the tech community, Ash Coleman and Angie Jones, would be the mistresses of ceremony, and they are both African American. The honest look of surprise on his face was wonderful. He's also African American and told me a moment later that he had automatically assumed they were White (Caucasian - which ever term you like to use).

This changed his impression of Ministry of Testing almost immediately in regards to the conference space and the organization Rosie Sherry has built. 

Ministry of Testing is making space, and making a place for anyone, and everyone. They are transcending borders, race, orientation, organizational lines, along with being inspiring, heartfelt, and sincere about their mission to help the testing community achieve goals; whether those goals are learning more testing techniques or raising funds to support a member in community. 

With all this in mind, I want to make a list of things I'd like to accomplish in the years to come. Mostly to set goals for myself and have people remind me about those goals, and remind others that goals are achievable in this community; you only have to ask and be willing to do the work.


Melissa's Goals:

  • Publish twelve of my own articles in 2018.  
    • Make 3 or more of those articles technical topics.
  • Publish twelve blog posts about anything per year (I have three blogs at this point, they should be more active)
  • Continue working as an editor for Ministry of Testing
This might be a given. The future is never a sure thing. I want to make sure I continue working to help new voices find their voice in print as well as encouraging them to speak at conferences. Many of the folks I've worked with over the past year have become speakers as well. I would love to see that trend continue. I'm proud of the work I've done with Ministry of Testing, and I'm very happy to continue being an editor and contributor to publishing efforts.

  • MC a TestBash
 After watching Mark Tomlinson MC four different TestBash'es, and then watch others in the community step up to the job, I have to say, it's become a kind of goal to see if I could manage being an MC or a co-MC of a TestBash event. This might be a few years off or sooner than I think. I'm watching folks who are MC's now. I'm learning. 


  •  Give more talks and workshops
I have a bunch of ideas, one of which a bunch of us came up with at a post TestBash Philly cheese steak meetup (Great story - suddenly wish I had pictures... ). I want to learn about better delivery and approaches to speaking. I want to teach people what I know. I want to share what I've learned. I'll probably have this drive until I leave this planet. Hopefully I'll be able to continue doing presenting regardless of what the future brings.
  • Advocate for mental health awareness
I'm already doing some of this, but I want it to be all encompassing of what I do with other activities. I think it's absolutely important to talk about mental health as much as any other topic which has contention in society. TestBash Philly 99 second talks were raw and open. People spoke from their hearts and minds. It mirrored several other talks from folks that wanted to represent their genuine selves and let people know that they have struggles outside of the community. The community let those speakers know that we are here to support them. I want to be a part of that continuing in our community.
 There might be more later that I think of to add to this list. I might post those in the comments or add it as an addendum. We'll see. 

Dear community - if you see me, and you haven't seen something from me in a while, give me a gentle reminder. Sometimes we all need a nudge to keep going and do something brilliant.