In the movie Star Trek II: The Wrath of Khan, Spock says,"As a matter of cosmic(宇宙的) history, it has always been easier to destroy than to create."At first glance,(一撇,掠过。这里可以翻译为熟语:咋一看) it may appearthat a software tester's job would be easier than a programmer's. Breaking codeand finding bugs must surely be easier than writing the code in the firstplace. Surprisingly, it's not. The methodical(方法) anddisciplined approach(有序的训练) to software testing thatyou'll learn in this book [你将要在这本书中学到的软件测试的方法和有序的训练]requiresthe same hard work and dedication(奉献精神) thatprogramming does[需要像程序员那样的的努力工作与风险精神]. It involves verysimilar (相似的)skills, and although a software testerdoesn't necessarily need to be a full-fledged(全职的、真正的)programmer, having that knowledge is a great benefit.
Today, most mature companies treat software testing as a technicalengineering profession(技术工程职业). They recognize(意识到) that having trained software testers(训练有素的测试人员) on their project teams(加入项目) and allowing(允许) them to apply their trade early (尽早的使用所学的)inthe development process allows them to build better quality software. Unfortunately,there are still a few companies that don't appreciate (欣赏、接受)the challenge of software testing and the value of well-done testingeffort. In a free market society, these companies usually aren't around forlong because the customers speak with their wallets and choose not to buy theirbuggy products. A good test organization (or the lack of one) can make or breaka company.
Here's a list of traits(特点) that most software testers should have:
They are explorers. Software testersaren't afraid to venture into unknown situations. They love to get a new pieceof software, install it on their PC, and see what happens. They are troubleshooters. Software testers are good atfiguring out why something doesn't work. They love puzzles. They are relentless(不屈不挠). Software testers keep trying. They may see a bug that quicklyvanishes(小时) or is difficult to re-create. They willtry every way possible to find it. They are creative. Testing the obvious isn't sufficient(足够的) for software testers(测试不是测试人员的全部工作). Their job is to think up creative and even off-the-wall approachesto find bugs.
They are (mellowed成熟的) perfectionists. They strive(力求、力争) forperfection, but they know when it becomes unattainable(达不到的) and they're okay with getting as close as they can. They exercise good judgment. Software testers need to makedecisions about what they will test, how long it will take, and if the problemthey're looking at is really a bug. They are tactful(机智的,老练的) and diplomatic(善于外交). Software testers arealways the bearers(送信人) of bad news. They have to tellthe programmers that their baby is ugly. Good software testers know how to doso tactfully and professionally and know how to work with programmers whoaren't always tactful and diplomatic. They are persuasive. Bugs that testers find won't always beviewed as severe enough to be fixed. Testers need to be good at making their pointsclear, demonstrating why the bug does indeed need to be fixed, and followingthrough on making it happen.
SOFTWARE TESTING IS FUN! (软件测试是有趣的!) A fundamental(基本的) trait of software testers is that they simply like to break things.They live to find those elusive(不稳定的) system crashes.They take great satisfaction in laying to waste the most complex programs.They're often seen jumping up and down in glee(欢喜、欢快),giving each other high-fives, and doing a little dance when they bring a systemto its knees. It's the simple joys of life that matter the most. In addition to these traits, having some education insoftware programming is a big plus. As you'll see in Chapter 6, "Examiningthe Code," knowing how software is written can give you a different viewof where bugs are found, thus making you a more efficient and effective tester.It can also help you develop the testing tools discussed in Chapter 15,"Automated Testing and Test Tools."
Lastly, if you're an expert in somenon-computer field, your knowledge can be invaluable to a software teamcreating a new product. Software is being written to do just about everythingtoday. Your knowledge of teaching, cooking, airplanes, carpentry(木匠), medicine, or whatever would be atremendous(巨大的) help finding bugs in software for thoseareas.
|