第 1 节 测试行业简介
    软件测试在软件生命周期中占据重要的地位。 软件测试学在传统的瀑布模型中仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于认同一种新的观点,即认为软件生命周期每一阶段中都应包含测试,   从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正。   如果不在早期阶段进行测试,错误的延时扩散常常会导致后成品测试的巨大困难 。由于测试的重要性和复杂度,它慢慢的独立发展成为一个行业,并且在迅猛发展。
    在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的 40%以上。而在软件开发的总成本中,用在测试上的开销要占 30%到 50%。
    如何认识测试?
    测试正在迅速的发展;
    测试是一个方法论而不是一个技术;
    软件测试工程学或者质量工程学也应该诞生了,管理和技术并重。
    第 2 节 软件测试的误区
    软件开发完成后进行软件测试。
    软件质量问题是测试人员的错误,软件发布后如果发现问题,那是软件测试人员的错。
    测试技术要求不高,比编程容易,随便找一个人可以了。
    有编程经验对测试 BUG 的敏感性;需要编写自动化测试脚本的能力;除了技术还有管理,谁都可以做,但是结果不一样。
    测试跟着开发动,有时间多测,没时间少测。
    必须有计划有组织。
    测试是测试人员的事,与开发人员无关。
    开发人员需要自测,还需要沟通协作。
    软件测试是没有前途的工作,只有程序员才是软件高手。
    测试是软件开发的后期活动;软件测试=程序测试。
    软件缺陷具有“生育能力”;需求测试和设计测试也是软件测试的一种;软件测试应该
    涵盖整个软件生命周期;同时,软件测试本身也应被测试。
    测试要执行所有可能的输入。
    在实际测试中,穷举测试工作量太大,实践上行不通;一般采用等价类和边界值分析等措施来进行实际的软件测试;   寻找小重要的用例集合成为我们精简测试复杂性的一条必经之道。
    好的测试一定要使用很多的测试工具。
    工具所能发挥的作用依赖于使用工具的人。
    软件测试从这里开始
    并终使测试本身受到损害。适当的使用测试工具能够减轻测试人员的机械性工作,提高工作效率,而滥用工具会降低测试的质量。并不是任何工作都适合自动化的,如何合理的自动化测试,合理的选择适当的测试工具已经是研究人员感兴趣的一个课题。