Tuesday, December 3, 2013

State of Testing Survey 2013

Lalit Bhamare a co-founder and editor of Tea Time with Testers magazine contacted me to share a project he and Joel Montvelisky came up with – a State of Testing survey. Lalit said it best when he described why they wanted to undertake this survey:
Some weeks ago my friend, Joel Montvelisky was looking for information to write a post about the advances in the testing world in the last 5-10 years and he realized that there is no centralized set of information that provides visibility into what is happening and what are the trends in the world of testing today. In principle he was looking for something similar to the State of Agile survey that he reviews each year when it goes out, and he was not able to find something that provided such information.  
So Joel contacted me and we decided to turn this into a project i.e. to conduct a State of Testing Survey that will provide a snapshot of our testing reality and help us to capture some of the trends as they shift year by year.
They want to understand a few things about the testing community (click to see a bigger image):


I think this is a great idea so I signed up to be notified when the survey goes live. I encourage you to do the same by going to http://qablog.practitest.com/state-of-testing/.

Oh and hurry it will only be available for 10 days, starting towards the end of this week!

Wednesday, November 27, 2013

See you at WTST 2014

The Workshop on Teaching Software Testing, abbreviated as WTST and I think pronounced “what’s it”, is coming up at the end of January 2014 in Melbourne, Florida near the Florida Institute of Technology campus. (You maybe have seen a few of Cem Kaner’s posts.) Just recently my application was approved and I'm excited to be attending as a non-presenting participant.

WTST is a LAWST-style workshop which means unlike regular conferences it’s limited to small group of active participants, some who present and everyone is expected to engage in discussions by asking question, providing their experiences and even thoughtfully arguing with the presenter. Discussion is the entire point of the workshop.

This year WTST is focused on designing and teaching advanced courses in software testing, something I've had an interest in for a few years now. Teaching software testing was the driving force to me becoming an Instructor for the Association for Software Testing’s BBST classes (which I completed just recently).

This year the workshop will be broken into two sections: The first is the typical weekend-long WTST workshop and the second is the Domain Testing Workshop held for five days immediately after the traditional WTST. I'm excited to be part of a pilot course built around The Domain Testing Workbook (see my previous post for more info) and I imagine it will be a fun exercise in understanding domain testing a little better.

Who else is going? Hopefully I'll see you there. =)

For more information see http://wtst.org.

Friday, November 1, 2013

The Domain Testing Workbook is available

Cem Kaner with Sowmya Padmanabhan and Doug Hoffman have a new book called The Domain Testing Workbook. I'd highly recommend picking up a copy or at least adding it to your reading list!


BBST Test Design was my formal introduction to Domain Testing. Sometimes called boundary and equivalence class analysis, Domain Testing is often cited as the most popular (or one of the most popular) test techniques in use today. For it's part the Test Design course spends a whole week, a full lecture series and at least one assignment introducing and practicing this technique. If you'd like an introduction I recommend the first lecture from the fifth week in the Test Design series in which Cem introduces Domain Testing:

Wednesday, September 11, 2013

How to Write a Good Bug Report (and be a Bug Advocate)

For the previous BBST classes I made the mistake of not writing about what I learned and the value the classes provided me. To an organization who might consider sponsoring someone (a programmer, analyst...)  or to a fellow tester who is looking for a step in the right direction I have no story to tell, until now.

For Software Testers bug reports are one of our most visible work products - something tangible that comes from our efforts of investigating the system. How well testers write a report can effect how we are perceived (to those who read them) which in turn effects our credibility and influence among those same people (especially programmers). Specifically for development and testing groups, bug reports are important communication mediums (think about the amount of time you spend reading and writing them) and as such an emphasis on understanding bug reports and improving writing skills is important. This is why I took the  Bug Advocacy course through AST and here's what I learned.

How to Write a Good Bug Report

Writing a bug report seems simple. People in many roles (programmers, testers, internal and external customers, analysts) write them without much, if any, experience but just because something is easy to do doesn't mean its easy to do well.

So what's the point of writing a bug report? To get the bug or problem fixed! That's why the lead author of the material, Cem Kaner, calls it Bug Advocacy - we are advocating for a fix. Programmers are busy people, with lots of things going on and plenty of demands on their time. They don't want to look at a bug report that doesn't make sense, requires too much work on their part to understand or is offensive. Let's be honest, if a bug is fairly obvious a programmer isn't likely to need much information, motivation or influence to fix it. They might not even require a bug report to be written. Those aren't the bugs we are interested in advocating for. We're advocating for the bugs or problems we understand to be important (for some reason) but might not be easily understood as such.

Tuesday, August 27, 2013

Installing Ruby and Watir on Windows 7

I recently started playing around with Web Application Testing in Ruby or Watir for short. As is recommended I downloaded the Homebrewer's Guide to Watir by Zeljko Filipin and started trying to install the latest versions of the RubyInstaller for Windows (currently 2.0.0) when I ran into a few problems. (Random tangent: I like the idea of using Leanpub to create and modify install documents for open source applications.)

I installed Ruby and Watir on a Windows 7 64 bit machine using the 32 bit versions and everything seems to work fine so far. Here's how I installed everything using the RubyInstaller and instructions from the guide above (note some of these instructions will be a duplicate of the guide):

Wednesday, July 31, 2013

I'm a Bug Advocate

I do advocate for bugs to be fixed but the title comes from passing the Association for Software Testing's (AST) Black Box Software Testing (BBST) Bug Advocacy course. The class officially ended in mid-July and it marks the third and final BBST class for me.

Together Foundations, Bug Advocacy and Survey of Test Design make up a semester long class that Cem Kaner teaches at Florida Institute of Technology called Software Testing 1. These lectures and classes are, as far as I know, the only college level software testing courses available to anyone that wants to learn about testing - the material is free and the courses are pretty inexpensive.

As with the prior classes I agreed to have my name listed on AST's graduates website and for fun my certificate of completion is below:


Despite this being the final BBST class my journey with BBST doesn't end here. I enrolled in the Instructor class for November at the beginning of the year when I enrolled in Test Design. I figured the best way to become more familiar with the material and reinforce what I do know (challenge what I don't know) is to try to teach it. Worked for Scuba Diving!

Sunday, July 21, 2013

Why take a Black Box Software Testing course?

I was recently telling a friend about the BBST Bug Advocacy course I was working on and he asked why I was taking a black box testing course. I think what he meant was why would I take a course on black box testing as opposed to glass box (or white-box) testing?

This is the more thoughtful answer I wish I had given.

I fell into the testing profession. The University I went to taught some technical skills as part of the degree (programming, database design, etc.) but I never learned anything I would consider fundamental to understanding software testing, nothing that helped me deal with testing problems. Since I work in software testing I wanted to learn more about the domain, to better understand it and be able to differentiate between testing and other types of problems (technology, communication, requirements, etc.). It just so happens the courses that focus on the domain of software testing also focus on black box system level testing.

Black box and glass box testing approaches focus on different things. Black box is testing and test design without knowledge of the code. A black box tester will approach testing based on the interactions of the stakeholders with the system’s inputs and outputs. Contrast this to glass box as testing and test design with knowledge of the internal code. The glass box tester will approach testing based on the interactions of the underlying code, as in "does this code do what the programmer intended it to do?"

Testers using either approach can benefit from understanding the domain of software testing. Understanding what oracles are, how they are heuristics, advantages / disadvantages to measurement, how to communicate and write bugs effectively or even how to design appropriate tests affect both the black box and glass box approaches. That’s why someone would take a black box testing course (specifically the BBST series of courses); that’s why I did.

Friday, June 28, 2013

Fixing IE10 from rendering in IE7 mode

I was browsing a few articles I'd written years ago in IE10 when I realized Internet Explorer was breaking my commenting system, Disqus. Luckily Disqus provided a link to help troubleshoot the problem. After some searching through IE Developer tools and my own template source code, it seems like this Blogger template was designed with IE7 in mind.

In the header it had this meta tag:
meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'

This line was causing IE10 (and probably IE9) to switch Documents Mode to IE7. I replaced it with this line courtesy of stackexchange:
meta http-equiv="X-UA-Compatible" content="IE=edge"

IE10 rendering problems on My Technology Fetish should now be fixed. (Hopefully without introducing any bugs...)

What's weird is this is a pretty standard template that Blogger offers. It's not their new dynamic template because, well, I think they are ugly. Blogger has lacked advancement for years and it makes me wonder, how long until Google kills Blogger? They just killed Google Reader. Reader sat for years without any new development and I can think of a few other products that have decayed for years: Feedburner and Blogger.

All the more reason to switch to Wordpress like I did here.
For me, writing is one of those things that becomes more difficult the longer I don't do it. The more I write, the easier it becomes. Here I go...

Wednesday, June 5, 2013

I'm a Black Box Test Designer

More accurately I've passed the Association for Software Testing's (AST) Black Box Software Testing  (BBST) Test Design class. Test Design is a survey class, students are introduced to 30+ types of tests but there is only enough time to focus on a few of them: risk-based testing, specification-based testing and domain testing.

In December I passed the Foundations course and a few days ago I started the Bug Advocacy course (there are 3 courses in the BBST series) which sets me on the path to meet my goal of taking all 3 courses this year. I also signed up for the Instructors course towards the end of the month, wahoo!

I agreed to have my name listed on AST's graduates website but just for fun here is my certificate of completion:

The Test Design instructors thought I understood enough of the information to pass me. Test Design was like the Foundations class - a lot of reading, labs and collaboration. In the time between Test Design ending and Bug Advocacy starting I cleaned up some of the labs but I haven't finished. My goal will be to turn these labs (work products) to build out my testing portfolio. Some day I might even make that portfolio public so others can see what I've done and perhaps use it as inspiration to build their own.

Monday, May 20, 2013

What I've been up to lately

Things have been busy in the last month or so and I felt like sharing what I've been up to. Most of it revolves around software testing:

April saw the start of Dan Ariely’s A Beginners Guide to Irrational Behavior class on coursera. I knew I had the BBST course coming up so I didn't commit much time to the class other than watching the video lectures and doing the video quizzes. There are many aspects of irrational behavior that affect what we do in software development and testing – I’d like to write a more in-depth article about that in the future.

On the 14th of April I started the BBST Test Design course and completed it on May 8th. For those who have never taken a BBST class before they are incredibly intense month long courses. The course breaks a single calendar week into 2 class weeks – one week with 4 days, and a shorter week with 3 days and each week requires about 10-15 hours of work in order to do the readings, labs and work on the exam. The class is done but I still don’t know if I've passed; regardless I learned a lot.

On April 19th I joined the NRG Global Online test competition. My last post was a reflection on how well I thought I did and despite my low perception of how I did my team ended up winning part of the competition.

I went to STPcon 2013 at the end of April in San Diego where I met up with a few Miagi-Do’ers, met some other testers I’d heard from in the twitter-verse or blog-o-sphere and learned a few things. I’m planning to write an experience report and post it either here or on the newly formed Miagi-Do blog. I think it might apply a little more here but I don’t know how it will turn out because I haven’t written it.

Tuesday, May 7, 2013

NRG Global Test Competition Retrospective

Roughly two and a half weeks ago I competed in the first NRG Global Test Competition. The idea behind the competition was simple: get a bunch of people/ teams together to test a few products, split the competition into two days, one with functional testing and another with performance testing, and based on the reports submitted judges would award points and announce winners. The full details are available here and here.

This was the first online testing competition I'd tried but thanks to my experiences with testing challenges and rapid testing online I knew I'd have fun once I got past the quirks. By quirks I mean it can take time to get comfortable with the discussion format, figure out how to ask questions, how best to communicate with my fellow team members, etc. The competition took place at 10 am Eastern which sucks if you live on the west coast and have to wake up before 7 am like I did. It was all for fun anyways.

For as early in the morning and as new as the competition was I think I did reasonable. Not great, not even good, but reasonable. I think the best way to phrase it is: I'm not happy with my work. (I might be overly critical here but still.) Now we only had 3 hours from introduction of the products under test, to learn the product, ask questions of the "owner", test it, ask more questions, file bugs and write a report. Yet when I think back at what we turned in I'm not happy with it. Let me explain.

My team member and I barely communicated with one another. We were using Skype but we didn't do much planning ahead of time (not like we could have because nothing was public) so when it came time for the competition it was a simple "hi", "what are you working on" and "I'll look at x". That was it. We each went to different applications. Thinking back on it now I think we would have done much better if we were on the same application, talking to one other about what we were seeing. My experience has been any collaboration no matter how small results in finding and learning amazing things.

Wednesday, April 3, 2013

First principle reasoning

When I was young I remember wanting to be an awesome football player like Joe Montana, or an FBI agent working on the X-Files like Fox Mulder. These days I want to have the skills to identify and solve problems like Elon Musk.

Musk is an interesting person. He’s created and sold numerous companies and with the profits he’s created a rocket building / space exploration company that is now the first (private) company to make it to space. He’s also built an American electric car company. While all these things make Musk an interesting person on the surface, its his approach that makes him enviable.

In his TED talk Musk credits his training in physics with his ability to see and understand difficult problems. He says physics is about how to discover new things that might seem counterintuitive and physics first principle provides a good framework for thinking. The video is a good conversation between Elon Musk and TED curator Chris Anderson, I recommend watching it. Musk mentions first principle reasoning at about 19:37:

Sunday, March 24, 2013

Low and High Intensity Learning

Paul Graham in his essay Wealth says startups are a way of compressing a whole working life into a few years. You work at a very high intensity for a short period of time (say four years) instead of the normal low intensity for a long period of time (say forty years), in other words startups are a way of increasing your productivity exponentially. In my experience there is a correlation between high intensity working and high intensity learning.

The potential relationships between high-intensity work and learning have a lot of appeal because it provides a chance to leapfrog our understanding of several domains in a short period of time.

In his essay Startup = Growth Graham defines a startup as “… a company designed to grow fast". My last company was small, we considered ourselves a startup (although according to Graham’s definition we were not) but we worked considerably faster (higher intensity) than a larger company would have. I can say that with some certainty now because a 15,000-person company acquired our small (maybe 10-person) company and the differences are pretty dramatic.

To be fair there is a difference between the learning that occurs when a person is working for a high intensity company as opposed to doing their own high intensity work. With a high intensity company people learn whatever they have to in order to solve the problems in front of them, then they move on. A person working intensely on their own has the freedom to focus on what they want but they run the risk of never finding focus.

I’m struggling with the second part. I’m back to a low-intensity company but I don’t want to be pulled into a low-intensity learning situation. Part of me says that won’t happen because of my own internal drive but another part of me is worried the low-intensity rhythm of the company will make it hard to find focus. (I’m not saying my small company was a good example of a high intensity work / learning environment but as of right now it seems better than the corporate world.)

One solution is to create my own startup – something designed to grow fast which would force fast learning. It would be amazing for many reasons including getting back to a higher-intensity learning situation but I don’t know where to start. Another solution is to find a person or person(s) with the same interests or goals as I have and work together to learn. Maybe the small team size would have the effect of pushing each other into a higher intensity work and learning environment? Now where do I begin? 

Tuesday, March 12, 2013

Export iBooks to your PC for reading

As I consider switching from an iPad to a Nexus 7, one of the main things I do on my iPad is read books. I try not to purchase media, like Books and Music, through iTunes because Apple is overly restrictive in terms of DRM and accessibility - why isn't there an iBooks Windows or Mac app? Naturally I want to migrate the books I've purchased to a format I can read on another device. (It's a shame this option isn't provided).

So how do you export iBooks purchases to your PC? It's quite simple:
  1. In iTunes, go to your purchased items
  2. Click Books
  3. Download the books you'd like
The downloaded content will be dropped into the default iTunes folder which for me was Music\iTunes\iTunes Media\Books; you can then browse your downloaded book(s) and grab the .epub file. If, like me, you are considering moving to a new device you can then use Calibre to change the format from a .epub to a .mobile or PDF. 

Naturally some of the books I've purchased have DRM on them so you'll have to work around that. Personally I find it quite frustrating to spend more than $10 on an ebook only to have it locked into one format so I scoured the net and found a way to remove the DRM from the books I've purchased. If you are interested in doing the same this worked for me.

With my iBooks purchases transferred into .mobi formats I can read them on my desktop, laptop and other mobile devices. 

Sunday, March 3, 2013

Taking the RTI Online

In February I attended an online training course where participants test a software product using the Rapid Testing methodology called Rapid Testing Intensive (RTI) Online taught by James Bach. I found it to be a great way to test a product, get feedback on your work, build a software testing portfolio and learn about the Rapid Testing methodology.

Last July I took a similar in person training course appropriately called Rapid Testing Intensive Onsite. I meant to write about my experience but never did so allow me to describe it now:

The onsite version was an intense four and a half days of lecture, learning, testing and other team activities. From survey testing, to group stand up presentations, to the occasional after hours (with beer in hand) dice game it was a week of mental challenges with quite a bit of fun mixed in. After some encouragement from a few twitterers I shared my notes in the form of a live blog: (day 1, day 2, day 3, day 4, day 5).

During that time I was the “lone tester” in my company and taking a week to work on a team with other testers from around the world was a welcome change and an enjoyable experience. When a team member found something interesting or became confused the rest of the team became involved in the discussions which lead to new ideas about where to test. If someone didn't clearly understand something someone else in the group could help. All this team work lead to some exciting discoveries.

Coming back to my original story I can do a little bit of comparison:

Tuesday, February 5, 2013

Creating value by writing

Different perspectives help us model problems and ideas in new and sometimes exciting ways. They can lead  us to new evidence or help to re-engage our thinking about things we've taken for granted. Things like testing software or writing.

Writing isn't easy but I find it helps clarify my thoughts. Unfortunately putting those thoughts out for public scrutiny sometimes has the effect of keeping me from publishing something that is less than perfect. I know it won't be perfect but I drag my heels anyways. It doesn't help that a few of the blogs I follow and admire are written either by PhD's who write at great length and depth or who are just good writers... But I digress.

A new perspective on writing is just what I got from Steve Corona: writing creates value. It switches us from the consumer to the producer of information, information that can be shared with others or used by us years later. Here are the last few paragraphs of his post on Creating Value by Writing:

Sunday, January 27, 2013

Looking ahead at 2013

2012 was a good year in my development as a software tester. I've slowly started writing about my experiences. Some articles were better than others (I’m not as concerned with popularity to an external audience as I am about my own internal, undefined standards). I’m making progress in my ability to detect and tell stories which helps me gain confidence as both a tester and writer. This year should see me writing more articles about testing and although it’s not my primary goal eventually perhaps other people will find my writings helpful or informative.

Here are a few of the things I did in 2012 to develop my testing skills:
  • Traveled to Orcas Island in July for the first ever onsite Rapid Testing Intensive. I got to do some testing, learned a few things I’m applying today in my work, blogged a bit about the days and got to meet some testers from around the world.
  • Joined the Association for Software Testing on June 1st!
    • Through the AST I enrolled in the Black Box Software Testing Foundations class which I completed in December.
  • Joined Stack Exchange, specifically SQA forums.
  • Joined Miagi-Do school of testing as a Student in November.
  • Read some good books and added dozens more to my Read List
    • I need to finish a few books including Lean Startup, Code and An Introduction to General Systems Thinking.

Thursday, January 17, 2013

All it takes is time

All it takes is time to write a few posts a month, time I haven't had which is unfortunate since I've got a lot of ideas in my head that I want to get written down. Whenever I start thinking of time used I'm reminded of the quote from Harvey Mackay:
"Time is free, but it's priceless. You can't own it, but you can use it. You can't keep it, but you can spend it. Once you've lost it, you can never get it back."
 I like being able to write and reflect on the things I've done or plan to do as it becomes a time capsule of my thoughts and actions that I can reference at a later point. I can look at how I've progressed in writing, testing, my ability to express myself; I can even write about interesting and tough topics and I can also see how I've progressed, regressed or see the things I wanted to do but abandoned.

One of my resolutions for 2013 is to write more. Stay tuned.