Guide to Software Testing and Quality Assurance

You have been through it all. went to college, studied software testing, got to love the field etc. but at the end of it all you are not sure where and how to start on your career path to become a successful software tester.
Here are some tips I learned along the way. Hope they help you reach where you want to.
A good testing team would comprise of
  • An expert in the fieldA test automation expert
  • A naturally curious and intuitive person (a good tester)
The above combination provides the best results as it has a little of all the essential components. The expert is able to guide the tester on what is wrong and what is expected when he comes up with a suspected bug in the software. The automation expert makes life easier by automating old test cases. This also means that more time is being spent constructively in thinking up newer test cases. Neither of the above three are restricted to their responsibilities and can very well contribute in each others work if they have the skills. For instance, in most places, all three of them are actively involved in thinking up new and innovative test cases.
Therefore to be a complete tester you would need a little of all the above. It would be beneficial to develop the following skills:
  • Domain expertiseLearn to be devious. (Dr. Hevners favorite quote!) True, after all you are here to break software :-). 
  • Technical Knowledge
  • Testing Skills
Let us discuss each one in more detail and how you may develop them.
1. Domain expertise
This is one area where you cannot do much without work experience. Its a kind of a vicious circle. You need some domain knowledge to get a job whereas you need a job to get the required domain knowledge. Whether it is the banking sector, Insurance, healthcare or sports you need a good exposure. I'm sure beginners to any field face this problem. Of course you may read a lot and almost make up for it. In fact reading, joining discussion groups on the internet, attending seminars etc. go a long way in helping you get started.
Hence, I suggest you focus strongly on the following two skills. 
2. Technical Knowledge
If you are in school, find out if you have a course in Software Testing. A formal education in software testing introduces you to several techniques that are not always taught at the workplace. Just like they expect you to know programming when you apply for a software developers job, you are expected to know certain testing techniques as a tester. Check out the course "CIS 6930: Seminar on Software Testing" taught by Professor Dr. Alan Hevner at the University of South Florida (USF) at for testing courses in other Universities besides USF:
Get trained and exposed to test automation tools. They are not as easy as they seem. Test automation isnt all about 'record and playback'. There is much more to it. Most tools nowadays are very complex. That is why it warrants a dedicated person or even a team to write manage and maintain test scripts. With the size of software projects increasing by the day, test case automation has become a necessity in most organizations. Being skilled in one could make you a valuable asset to the company that hires you. 
3. Testing Skills
  • Learn to look for the unobvious
  • Learn to be persistent. Tough bugs are sometimes hard to reproduce. Try, try, try until you get it.
  • Learn to be polite. You will need this skill when reporting bugs
  • Learn to think out of the box
Finally, no package is complete without the attractive wrapping. :) True, every profession needs effective people skills and a software tester needs it more than anybody else! Imagine telling a developer his brainchild, his hours of work, his code is faulty. The main point to note here is that man is a social animal and team work really works! (Read my testing blog entry on social growth) An effective team worker is not the one who manages to complete a job by himself/herself amongst uncooperative team members, but the one who manages to influence every member of the team to do their part and complete the job efficiently. A good read on this topic is entry number 8 in my list of recommended reading below.Last but not the least, always follow the software engineering code of ethics and professional practices. It is one of the keys to success!
    Software testing is one of the most interesting and challenging fields. However, there aren't as many resources available on the Internet as one would find for software development. The Software Testing and Quality Assurance domain is relatively young. Hence this endeavor to collect and share as much information about testing as I can on this site. Hope the following links are useful. If you do have any new links to share, then feel free to send me an email
        WinRunner vs. QTP:
Furthermore, I am also making available for download, the CSQA/CSQE/CSTE study material that I have been able to collect over time. It comprises of sample question papers and study material. It will greatly aid those planning for certification in the near future.
 My Thoughts
Test Tools Reference
        Unit test tools:
        Rational Robot:
        WinRunner user guide and tutorial :
        Free Cascading Style sheet validator:
        Free HTML validator:
        OpenSTA (Open Source Performance Testing Tool): (A good test tools resource) :
Quality and Testing Sites
        STQE magazine:
        Brian Marick's testing website:
        Software testing hotlist:
        Extreme testing:
        Model based testing:
        Software Test & Performance magazine: (PDF version of magazine available for free!)
        Effective software testing:
        TheRationalEdge Monthly eZine:
        SISQA (Lots of CSTE study material available here): 
Software Testing User Groups and Communities
Here is a list of professional user groups that you can join to further your interests in QA and testing.
        SPIN (Software Process Improvement Network):
Software Testing Education        Testing courses in other Universities besides the University of South Florida (USF):
Recommended Reading
Listing of independent automation engineers:
Testing blogs and Other lnteresting Reads :)
Greg's blog on what makes a good test engineer:
Greg's blog on automated testing basics:
Sara Ford's blog on testing:
Nihit Kaul's blog on testing:
Siva's blog on testing:
Mozilla Firefox and Thunderbird QA team's blog:
Interviews by prominent testers:
Test Automation using the .NET framework:

Microsoft UI Automation Framework (Releasing Soon!):
Bumper stickers for software testers (compiled from the article above):
  1. Cem Kaner et al's, "Testing Computer Software"
  2. Dorothy Graham, "Software Test Automation"
  3. Edward Kit, "Software Testing in the Real World"
  4. Elfriede Dustin, "Automated Software Testing"
  5. Hung Quoc Nguyen, "Testing Applications on the Web"
  6. Steve Splaine & Stefan Jaskiel, "The Web Testing Handbook"
  7. Rex Black, "Managing the Testing Process" (My rating * * * * * )
  8. Gerald M. Weinberg, "Secrets of Consulting: A Guide to Giving and Getting Advice Successfully" (Not about testing, but a must read by every tester! Helps communicating effectively with developers. managers and the rest of your team.)

Useful Articles, Presentations and Tutorials
Read one of my favorite articles by Rex Black (Being a good tester):
Looking for a job? More than 200 software testing interview questions here!:
 Quality classics ('Hawthorne Effect', 'Pareto Optimum, etc.):   
Cem Kaner's articles:
Cem kaner's "Recruiting Software Testers" (Very good article. Need to register. Registration is free)
Cartoon illustration of Deming's 14 points: (A picture is worth a 1000 words!)
          Agile developer presentations:
          Verification Vs. Validation:
          Software tester salaries: (Slightly outdated, but still gives a good idea!)
          Fundamentals of Function Pont Analysis:
          Paper on model based testing:
ISO 9001: 2000 in plain english (QMS):
个人分类: 项目管理
想对作者说点什么? 我来说一句

Software Quality Assurance 无水印原版pdf

2017年12月29日 10.51MB 下载


2015年11月04日 161KB 下载