第一章软件测试概述主要内容:软件测试的分类,软件测试产生的背景,软件测试的概念和意义,软件测试工程必备的基本素质。1.软件的概念软件是计算机系统中于硬件相互依存的另一部分,它是包含程序,文档和数据的完整集合。2.软件的特点软件是一种逻辑实体,不是具体的物理实体,具有抽象性。软件的产生与硬件的不同。软件的运行和使用没有机械的磨损和老化。软件的开发和运行对计算机系统有一定的依赖性。软件的开发目前还没有摆脱手工方式。软件是复杂的。软件成本是相当昂贵的。3.软件的分类3.1按软件的功能划分系统软件:包括操作系统,系统使用工具支持软件:是协助用户开发软件的工具性软件。应用软件:在特定领域内开发,为特定目的服务的一类软件。3.2按软件的技术特点划分业户管理软件:用于处理日常信息,如管理信息系统MIS,企业资源规划系统ERP,决策支持系统DSS,客户关系管理系统CRM科学计算软件:注重算法精度和速度用于研究领域。桌面软件:用于计算机视觉效果和设置。嵌入式软件:用于各种自动化,智能化的工业产品。个人计算机软件:各种常用的软件,如输入法,浏览器。人工智能软件:模仿人类逻辑判断能力的一种软件,如“深蓝”。3.3按软件部署结果划分单机版软件:不需要与其他计算机交互的软件,如office。分布式软件:安装在多台计算机上进行协同工作的软件,可以进一步划分为:c/s结果软件和b/s结果软件。4.软件测试的概念,意义和目的4.1软件测试的概念美国电子电器工程师协会(IEEE)给软件测试的定义:使用人工或自动的手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差距。人工或自动的手段:说明了实现测试的两种途径,即手工测试即自动化测试。运行或测试:说明了现实测试的两种策略,即动态测试和静态测试。满足规定的需求:即满足客户对产品的需求。预期结果与实际结果:即通过分析得到软件的预期结果和运行程序得到的实际结果进行对比,查找它们的差异。4.2软件测试的意义保证发布出去的产品达到一定的质量标准无论对于用户还开发商来说经过测试过得软件都是一件极其重要和有意义的事。4.3软件测试的目的通过分析错误的原因可以帮助管理者发现当前采用的软件过程的问题,以便改进软件的过程通过对被测软件业务的深入了解,对产品的改进提出有意义的建议。验证产品符合质量标准,确保产品是健壮的和适应用户环境的。5.软件测试工程师必备的基本素质正确高效的沟通能力超强的责任心坚持原则懂得尊重有较全面的技术知识6.软件测试工程师必备的技能测试专业技能软件编程技能网络,操作系统,数据库,中间件等知识第二章识别缺陷主要内容:缺陷的基本概念,缺陷产生的原因,重现缺陷的方法,有效地记录缺陷1.缺陷的识别1.1缺陷的基本概念缺陷就是人们所说的bug。严格上来说缺陷和bug是有区别的。缺陷:任何背离需求或无法正确完成用户所需求的功能性问题,因异常条件不支持而导致系统的失败等都属于缺陷。Bug:通常指程编码上的错误。1.2缺陷产生的原因人员之间的沟通交流不够。程序设计本身有问题。软件的复杂性。软件需求的不断变化。工期短,任务重,时间压力大。文档不完善。开发工具和系统软件的支持。1.3识别无效缺陷无效缺陷是指:测试工程师提交的缺陷并不是真正的缺陷,这样的缺陷是不会得到修改的。导致产生此原因有:测试环境搭配错误文档上没有明确产品需求需求理解错误缺陷重复1.4合法的无线缺陷开发人员认为技术上无法实现或对用户的使用不造成影响的缺陷,此缺陷可视为合法的无效缺陷,可不进行修改,直接关闭。2.重现和优化缺陷2.1不存在随机缺陷有一种缺陷,并不是很好的重现,最为典型的是内存泄露,往往在你发现时系统处在即将崩溃的状态,等你再次去找时却无法找到,所以有很多人说这是随机缺陷,其实没有所谓的随机缺陷,只是你没有找到重现它的正确方法而已。2.2重现缺陷的方法和经验善于总结经验,逆向思维,换位思考对待问题,善于和别人共享经验,多动脑和手...