Tag Archives: Opportunity

Test Automation Curriculum

Two things happened to me lately. First, I was trying to find a career tester in the San Diego area that knows at least a little bit about automated testing. It isn’t going well. I’ve reviewed a lot of resumes. all the submitters are career manual testers.

Surely somebody sometime must have wondered if they need to learn more about automation. Elisabeth Hendrickson once asked Do Testers Have to Write Code? They did a survey to figure out what companies were looking for from tester skills. In our case, we aren’t looking for somebody to write the test code, but to write and review the cucumber scenarios. Just the same, even on a light desire level, I was disappointed.

Second, a younger person asked me what he should learn in test automation last week. I had already been contemplating writing this curriculum, so I was resolved to do it. Srini, here it is.

Other people who don’t work with LAMPs, such as .Net environments etc. will probably not appreciate this list. Make your own list on your own blog and put the link in a comment here. I don’t begrudge anybody doing something else. I just don’t want to go there.

I created this curriculum for testers learning test automation. While some addresses how and why, most of the list is about tools that can help create a full solution. Anyway, here is my list in priority order:

  • An open source tool such as Watir-Webdriver or Selenium/Java – do not mess around with the QTP and TestComplete. The cargo cults that buy those tools will expect “anybody can automate”.  With open source tools, you can download your own learning playground and incorporate that with the other products.
    • Learn how to create page objects. Even if you take advantage of a library like WatirMark or Page-Objects, you will have to do some tailoring yourself. I have been working with Selenium/Java so I am developing my skills on that combination now. Either way, you need to know how to work on that in an efficient way. In fact, you can address a lot of the entries in here just be using Cheezy’s book Cucumbers and Cheese (well worth the $15). I swear that I do not get a dime from it or Cheezy’s work, it’s just such a big benefit for anybody learning that I cannot miss the chance to say how good it is.
    • An open source framework such as Cucumber, Cucumber-jvm, or RSpec.
  • Github and Git – there are other good source control tools out there, including subversion. Git is easy to use locally for managing your own practice code. It’s easy go get copies of other people’s public projects onto your own system (how did they do that?). CodeSchool has a free course on git. There is also a nice paper on the differences between git/mercurial and subversion so you can understand the differences.
  • Ant and Maven if you use Java. Most of what I learned was through osmosis, but being able to shoehorn cucumber into your project is good to know.
  • Jenkins or Hudson, CruiseControl, or some other open source continuous integration tool. If you ever work at a place that will be introducing automated testing for the first time, this is great to know how to set it up.
  • Performance testing in JMeter – I think you can find a ruby alternative (BlitzIO or Grinder) but you don’t really need this tool to be in a ruby language. The importance is to learn the different kinds of testing you find under this umbrella (incorrectly) called Performance Testing. The other important skill is creating the right monitors so you can discover where things are bottled up.
  • Owasp‘s ZAProxy – learn how to capture the http calls between your browser or simulator and the server under test. You will learn a lot there. While you are there, download the GoatWeb project where you can learn about security vulnerabilities through practice.
  • Monitoring tools (Splunk or Graylog2) – One way to find the errors that are occurring on the system under test is through logging. Those are deleted nearly every time the server is redeployed. You can monitor those logs and server performance much better through a monitoring server.
  • A true startup is probably not going to hire a newb unless they are cost-control-centered. But if you find you get there are there is no issue tracking, it would be good to know how to set up issue tracking and integrate to your version control and continuous integration server. I’ve tried RedMine and it was fine.

If you see that you think should be on the list that is not there, please add a comment.

The Secret of Jeremy Lin’s Fame

You have to avoid all news outlets to miss the story about Jeremy Lin. I doubt that because a) you are reading the internet right now, and b) you opened this article. The interesting thing about this story is why he is a phenomena. I have heard many reasons for it.

He’s the first American born NBA player of asian descent. Aside from ESPN’s headline and SNL’s parody, does that matter? We’ve had (and have) NBA players from China. I didn’t see that level of excitement for the first Israeli player, the first Iranian player, or the first French point guard for that matter. That’s a small factor.

He’s a Harvard graduate and the NBA typically chooses talent over smart. There have been players from the Ivy League before, in the NFL, NHL, MLB, and even the NBA. Stanford, known for it’s excellent academics, has several graduates in the NBA. That’s not significant.

He’s lifted the NBA Knicks, a storied franchise, from a downward spiral. Anytime the Knicks improve, it’s a story. That’s mostly because the Knicks have been such as bad team over the past 10 or 12 years. However, Carmelo being traded to the Knicks was not that big of a story.

The truth is that he is such an interesting story to most of the people in my world because he is just like you. Here are the ways that he is the same as you.

1. You are Exceptional

Jeremy Lin has shown the world he is exceptional by setting new records points and assists in his first few games in the NBA – more than Magic Johnson. He has helped (at least up until now) turned around the Knicks season. Who knew – apparently not the 30 general managers that didn’t draft him.

You have things that you are better at than most people around you. What are you good at? You know those things you do that make you proud of yourself. There are probably things that you haven’t given yourself credit for being good at doing.

2. Nobody Believed (or Believes) in You

Lin’s high school coach was quoted as saying he thought Jeremy would be a good NCAA Division 3 player. Mike D’Antoni, the Knicks coach, didn’t even know his player’s name for a couple of weeks. He played because D’Antoni did not have a choice. His aging start point guard, Chauncey Billups, was traded to clear cap space. His newly signed point guard, Baron Davis, has been injured the entire season. And the first backup point guard was doing a poor job at running the starting team. Lin getting to start was a desperation move.

You have heard those things too. Maybe your parents said “We just don’t want you to get your hopes up too high.” Maybe a guidance counselor said “I think you should be realistic.” Maybe your co-worker said “but you are just a _[fill in the blank here]_.” Maybe you had times when you didn’t even believe in yourself.

3. You are not Perfect

Jeremy Lin isn’t either. And you don’t mind that he turns the ball over a lot. He can’t rebound like Carmelo Anthony, his Knicks teammate. He is part of a team. He fulfills roles of that team, some better than others. He facilitates the offense of the team. He initiates things. He doesn’t have to be good at all things.

 You are not perfect either. I may not know you specifically – I can guarantee that you aren’t perfect. You do, however, have skills. Practice those skills. Shore up your weaknesses. Develop yourself.

4. You Need an Opportunity

Jeremy Lin wasn’t drafted into the NBA. He looked for opportunities. He went to the eventual NBA Champs Dallas Maverick’s mini-camp. He was cut. He played a 10 day contract for the Golden State Warriors as a backup. He played overseas. He played in the NBA’s Developmental League. He did not step back and accept defeat.

You were not hired into the executive fast track of a Fortune 500 company when you graduated college (or maybe you didn’t graduate college). You started at a company that paid you poorly. Maybe that was the only offer you received. You have had to ask for more responsibilities. You have asked for promotions. You have been disappointed too.

My Story

I figured out that Jeremy Lin is like you when I discovered that he is like me. I learned to believe in myself.

I am exceptional. I have a critical mind – that’s part of how I ended up in software testing. I like teaching other people. I like to move to the next level. For most of my career, I have read the latest strategies and techniques in the software testing & quality magazines to see they are recommending what I am already doing.

I had to suffer through doubters to the point that my boss told me that my confidence should by much higher than I projected. I was promoted to be the QA manager for Service Manager (hundreds of millions of US dollars in sales and maintenance per year) because the project manager had a QA manager quit when hiring requisitions were frozen. They believed in me enough to call me “interim manager” until I proved myself in the position.

I am not perfect. I am more excited about what’s next than finishing what is now. I was a lousy public speaker – think Albert Brooks’ character in Broadcast news (sweating and falling apart). I learned to carry myself through Toastmasters. I learned my craft through courses, books, magazines, and reading articles on the internet (like you are doing now).

I found opportunities. I started at HP as a contract hardware tester making $9/hour – pushing paper through the fax machine’s sheet feeder. Years later when I was promoted to be the QA manager,  because I asked for that job – and requested a lot of responsibilities in between.

Your Story

The corollary to Jeremy Lin to being like you is that you are like him. His story will be your story if you want it to be. You like Jeremy Lin because you want his story. So make it happen. Start by telling me your story here in the comments below.