A commonly held belief about testing is that anyone who can
operate a system can perform testing. The truth is that testing is a professional
discipline, requiring unique skills that are anything but intuitive. Without training,
testers are ill-equipped to meet the rigors of testing, especially in technically
difficult situations. The people-related challenge of the following is to secure
adequate support for training. SOLUTIONS TO THE CHALLENGE Without
adequate training in testing techniques, testers are left to their own devices.
Some of their tests will find obvious defects but will miss the subtle defects
that can cause system failure. Untrained testers often do not understand the features
and functions of the software they are assigned to test. Some companies
start entry-level people in the testing area as a form of training and move them
to the "more meaningful" jobs in software development after they learn
how to use the system. In such situations, one reason for the lack of support
for training is that management is not aware of the value of testing. Raise
Management Awareness Following are some steps you can take to raise
management's awareness of testing and the need for skill-building: - Calculate
how much testing costs your organization. Don't forget to include the cost
of planning and reporting.
- Educate management in the cost of testing.
Show ways that the cost can be reduced through the use of more effective techniques.
Most organizations can quickly reduce the cost of development and testing by at
least ten percent by eliminating the waste and redundancy found in ad hoc testing
processes.
- Explore other motivations for the benefits of testing.
For example, effective testing will help streamline your testing process and shorten
the time to delivery.
- Build testing skill development into your personal
goals and objectives. Demonstrate to your management that you are committed
to learning more about testing to add value to the organization. This means you
might have to buy books on your own, but a little initiative goes a long way.
- Keep your eye out for articles about testing. Route these articles
to your management as you find them, to highlight the contribution skilled testers
make on critical projects.
- Discuss your training needs with your management.
Explore ways together that you can find answers to your questions. If there is
a relevant course available, discuss the possibility of attending and reporting
the information back to the rest of the team.
- Find out if there is
a training budget for your organization. If there are funds available, it
might be feasible to schedule an in-house training course for twenty or more people
at a reasonable price.
- Be creative. Buy another copy of Surviving
the Top Ten Challenges of Software Testing, place a paper clip at this chapter,
and leave it in your manager's in-basket as an anonymous gift!
Make
Time for Training The paradox of training is that when you need it
the most, there isn't enough time. You'll want to put training into practice as
soon as possible, but how do you make the time for training in the first place,
when there is hardly time for testing? Here are some steps for getting the time
for training: - Build time for training into the project plan.
This makes training a planned event, not something extra to be squeezed in as
time allows. In a typical project, you would have a test plan document for each
project checkpoint, such as requirements definition, design, system testing, and
so forth.
- Budget for training activities. This will allow you
to plan in advance which training you can secure.
- Match the training
to your need. To learn about many aspects of testing, you may require a week-long
course. For a specific aspect of testing, a one-day course may suffice.
Develop
Your Own Skills As a tester, you have the ultimate responsibility for
developing your skills. If your management supports your efforts in the form of
paying for your training, that's great. If not, then you will need to find ways
to develop skills that can fit into your personal budget. There are many tangible
ways to develop your own testing skills: - Make a list of your personal
development goals. These goals should include completion dates and what it
will take on your part to achieve them.
- Build your own testing library.
Start with the books that address basic testing topics.
- Keep a clipping
file. This should include testing articles and other articles of interest
that appear in computer trade magazines and other publications.
- Participate
in local software quality organizations. For example, the Quality Assurance
Institute Federation is a worldwide network of local groups. Call (407) 363-1111
for information.
- Continue the learning process. As technologies
change, so must your tool kit of techniques.
Certify Your Testing
Skills As you gain experience and training, you should apply to become
a Certified Software Test Engineer (CSTE). This will add to your credibility and
enhance your testing career. It tells your employer and others that you have developed
the skills and obtained the experience to test software effectively. In addition,
certification is something that you can carry to your next job to show evidence
of demonstrated testing skills. The Quality Assurance Institute (QAI),
mentioned above, has a certification program for people with two or more years
of professional testing experience. SOLUTION IMPEDIMENTS If
you really want to build your skills in testing, no one can keep you from learning
and refining them. Along the road of learning, you will likely face impediments
that will require creative solutions. Many of these present themselves as "what
if" questions, such as the following: What if my management
will not support my training needs? Even if your current management
does not support your training needs, there is hope. Things change and your situation
a year from now can be greatly different from what it is todaythat is why
it is so important not to wait for management to start your skill-building process.
Buy or check out the books you need to read, network with testers in other companies,
and generally do what it takes to learn on your own. If your current situation
does not change, you might choose to take your skills to an employer who will
recognize and reward your initiative. What if I do not have enough
money to attend a testing seminar or conference? If you're on your
own to get training, courses can get expensive. Take advantage of every opportunity
to network with other testers, attend local presentations on testing by test tool
vendors, and check out testing sources on the Internet. In addition, many local
libraries have books on testing that can start you on the road to gaining testing
knowledge. What if I do not have enough time for training?
The urgent often takes the place of the important. Ask yourself this question:
"If I really knew what I was doing, would it take as long?" Probably
not. Sometimes you have to make time to do the truly important things. Training
is an investment that pays big dividends in both efficiency and effectiveness.
GUIDELINES FOR SUCCESS - Set personal goals. If
you set personal goals, you will be in a three percent minority of successful
people. Success seldom happens without planning.
- Seek management's
assistance in building your testing skills, but don't wait for it. Enlightened
managers invest in people and reap dividends in prevented problems. Unenlightened
managers focus on cutting costs, do not provide the tools to do the job right,
and will instead spend much time and money on fixing problems.
- Strive
to add value to the testing effort. Job security in America is a thing of
the past. Companies are looking for the people who add value. This is the case
whether you work for yourself or for someone else. A trained tester adds value
to a project by knowing and applying sound testing methods. Effective testing
methods can help eliminate waste and redundancy while increasing the number of
defects found.
PLAN OF ACTION While we have addressed
solutions and impediments, let's look at an overall plan of action that ties everything
together into your master approach for building testing skills. 1. Get
management on your side by showing them - how much money is being
spent on testing
- the critical nature of software quality to your organizationthat
is, what could happen if a defect is found by users or customers
- how
much time and money could be saved by applying effective testing methods
- the
value that you personally could bring to the organization as a result of increasing
your skill
- initiative by starting to build your own skills
2.
Develop your own skill-building goals and objectives by - making
a list of what you need to learn to be effective
- identifying resources
for training and skill-building in testing
- planning to spend the time
and money it takes to meet your skill-development goals
- staying on the
lookout for training opportunities that you can easily participate in, such as
local special interest groups, vendor test tool presentations, and the like
- getting
certified as a Certified Software Test Engineer
3. Never stop
learning! |