INCLUDE_DATA

Quick Testing Tips Your daily feed of short software testing tips…

1Nov/10Off

Saying no

Some people struggle with saying no. It happens for a lot of reasons:

  • we want to please others
  • we really do want to do what we're committing to
  • we are afraid to say no
  • etc...

Here are some tips for saying no that I've found helpful:

  • Force prioritization: "If I do that, something else needs to fall off my plate. What would you like that to be?"
  • Remind them about long term effects: "If we write this code without writing our tests according to our methodology, in six months you'll regret it when we need to refactor this section of the code."
  • Clarify that you're being asked to do something you can't: "You recognize that you're asking me to make a commitment that I can't really make, correct?"

However, no matter how you sugar coat it nothing beats a plain-spoken "No, I can't or I won't do that."

Practice it. No is more difficult than yes. Especially if you're saying it to yourself. Trust me when people would rather hear "no" upfront then have you say yes and then they don't get what they wanted.

22Sep/10Off

Keep moving

The harsh reality is that in the tech world, companies prefer to hire young, inexperienced, engineers.

This is the first statement given in article "Silicon Valley’s Dark Secret: It’s All About Age". The author also gives advices "to those whose hair is beginning to grey", where main of them is:

Move up the ladder

Move up the ladder into management, architecture, or design; switch to sales or product management. Build skills that are more valuable to your company, and take positions that can’t be filled by entry-level workers.

As I think this is an honest advice, I don't consider it the only advice. If you are passionate about your technical job you can keep up as long as this kind of job is needed - and that fully applies both to testing and programming.

More specific to testing, I want to note the following.

  • Build and consistently demonstrate ability to accomplish more in less time. Maybe you can't always stay at work 60 hours a week but you will be able to get the job done in regular hours, if you practice time management, risk assessment, and problem-solving heuristics.
  • Learn from projects you work on. Whether it's content management system, an online banking application, or back-end VOIP cluster, learn and consciously integrate into your expertise both domain-specific knowledge and "soft", transferrable, approaches.
  • Learn about and try practicing technologies you work with. Use collaboration opportunities, talk with other passionate specialists - they will love to teach you.
  • While developing technical skills build big picture vision as well. Technologies come and disappear, problems and problem-solving techniques remain.
  • Stay passionate.
Filed under: Career Tips No Comments
9Jan/10Off

My approach to testing is as follows…

Eric Jacobson recently posted his excellent analysis of resumes he's been reviewing since his team is hiring. Here's a short snippet:

However, the candidate would have probably gotten an instant interview if they had included any of these:

  • My approach to testing is as follows…
  • See my software testing blog for my opinions on how to test.
  • My favorite testing books and blogs are…
  • I enjoy testing because…

I really like the first one. I suspect that for some, it's a challenge to write that in a short format (like what I think you'd see on a resume). But there's no reason you couldn't summarize something in a paragraph on a resume and provide more details in a cover letter (perhaps tailoring your approach a bit for the prospective hiring company).

Does your resume include any of those points? I agree with Eric, it should.

Filed under: Career Tips 1 Comment
21Dec/09Off

Ask for help

Here's how I can tell I need help:

  • I'm working at 1:00 AM and it's not because it's required (like some performance testing) or because I really like doing it (too much cool software and not enough daylight time).
  • People are talking about something that needs to be tested and I can't follow the conversation (due to a lack of domain knowledge or technical knowledge).
  • I'm missing deadlines (for the project I'm struggling with or for other projects because I can't get away from the project I'm struggling with).
  • I'm not happy with the quality of my work.

If one or two of those happen for a short period of time, I probably need help. If all of them are happening (like they are right now), I know I need help.

When you need help, ask for it. That's easy to say, but hard for a lot of people to do. I know it's hard for me. I also know it's hard for many people who've worked for me. For me, it's an ego thing. But sometimes I need to recognize that I'm not helping anyone (most of all myself) by trying to hide the fact that I need help. Often, help is there - ready and waiting to be had.

If you're overwhelmed, ask for help. You might be surprised where it comes from.

12Nov/09Off

Using your product expertise wisely

In small companies especially, software testers get to perform lots of different tasks apart from testing. A software tester doesn’t just know how to use a new product, but invariably knows how to install, configure, work around issues, upgrade and back up data. Software testers will also know about minimum requirements and the applications limitations.

Not surprisingly, a good software tester starts to get a reputation of being a bit of a product expert. Someone people can come to to get product knowledge. Or someone who can setup demonstrations as well as perform them. This is very gratifying, but it can also lead to problems if it starts to impact your own work.

This can lead to stress and can often be a cause of resentment. It's best to try and manage this situations early on. I find the following approaches helpful:

1)      Learn to let go
Try not to perform tasks for people, but teach them the basics and let me go and learn it themselves. If lots of people are asking for the same thing, consider writing a short cheat sheet or posting stuff onto wiki.

2)      Learn to delegate
Always make sure someone else trains up with you. Don’t be the only person with all the knowledge. Make sure you share it by training up other team members.

3)      Learn to say no.
Sometimes its better not to take on work that is inevitably going to compromise your deadlines and deliverables. Say No, explaining why you are unable to help. You may upset people initially, but in the long term you are not doing anyone any favors by taking on too much work.  If your decision is overridden you may still have to go and do the extra work, but at least people are aware of the compromises being made.

If you are the only person who can fix things and you are overstretched, you are in fact more of a liability than an asset. Spread your knowledge and let you and your company benefit from your wealth of knowledge.

6Nov/09Off

Getting a report card

A lot of people struggle with figuring out ways to get better at software testing. An additional challenge is to figure out some way to measure progress. There are a lot of bad metrics out there for measuring tester effectiveness. However, in a recent post on the software-testing list, Cem Kaner had the following insight that I thought was too good not to share:

Figure out what types of tasks you are responsible for. Figure out the attributes of those tasks. For example, what makes a good bug report? What makes a good risk analysis? What makes a good test plan? Develop your lists with colleagues who you respect.

Have a colleague you trust and respect review samples of your work against your criteria. (Do the same for her.) That review is your report card.

This doesn’t provide a tidy number. But if you’re trying for continuous quality improvement, this probably gives you more and better information.

Filed under: Career Tips No Comments
3Sep/09Off

Update your resume on a monthly or quarterly basis

It's difficult to look backwards and reflect on all the work you've done. If you've been working at the same place for 3+ years, I suspect you can't remember half the interesting things you've done. While you don't have to actually drag our your resume and make regular updates, you should create a log file of some of the interesting things you've done. Keep regular notes on tools, technologies, new techniques, recognition and awards, conferences/workshops/training, and other accomplishments. When the time comes to actually update your resume, you'll have a wealth of information to look through to help you build different resumes targeted at the opportunities you're interested in.

Filed under: Career Tips No Comments
12Jul/09Off

Only list the technologies you’re fluent in on your resume

Only list the technologies you're fluent in on your resume, or make it clear what your skill level is if you're listing things you've had exposure to in the past. I use to add qualifiers to my resume; like beginner, intermediate, and advanced when I listed a tool, language, or technology. Now I don't list very many technologies at all, since most managers I've interviewed with have been less concerned with technology and more concerned with skill. I think that's natural as you get more experience under your belt. But I could be wrong.

When you're pulling together your resume, only list tools and technologies that you actually know. Don't list the stuff you've had "exposure" to. If I can't ask you an interview question on it (like, write code in language X, or tell me how you would configure Y, etc...) then you either don't want to list it, or make it very clear that you've only had exposure to it. When looking at resumes nothing turns me off faster than seeing a laundry list of tools and technologies without context for how they have been applied by the candidate.

For me, it comes down to trust. In an interview, I'm trying to figure out what you can really do. If you get my hopes up by listing Java, Ruby, or some other techno-widgit I'm really looking for, and you can't actually do it, I don't know what else you can't really do that you're telling me you can. Even if you're really good at all the other stuff, once I feel like you've falsely represented your skills, it's hard to dig out. On the other hand, if someone has all the right skills but is missing the techno-widgit, I'm likely to hire them. I can teach someone Ruby.

For me, loosing the interviewer's trust isn't worth the eye-candy of listing all the technologies.

   

Categories

Authors

Pages

Site speeded up by PHP Speedy Site speeded up by PHP Speedy