- 4
- 0
- 约5.5千字
- 约 48页
- 2018-03-04 发布于浙江
- 举报
[计算机软件及应用]测试基础cqw
软件测试基础 质量管理部 臭名昭著的软件错误案例 爱国者导弹防御系统 一个小的系统时钟错误,导致在多哈袭击战中,系统被拖延100多个小时。 ——1991 美国航天局火星极地登陆 由于确定何时关闭推进器的程序中某一个数据位被意外修改,飞船在试图登陆火星表面失踪 ——1999 什么是软件测试 使用人工或者自动手段来运行或测试某个系统的过程 目的在于检验它是否满足规定的需求、弄清预期结果与实际结果之间的差别 软件测试定义 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤 测试:为了发现软件中的错误而运行软件的过程。 软件测试定义 广义的软件测试是由确认、验证、测试3个方面组成。 确认(validation):评估将要开发的软件产品是否正确无误、可行和有价值的。确认意味着确保一个待开发软件是正确无误的,是对软件开发构想的检测。 验证(verification):检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保软件会正确无误地实现软件的需求,开发过程是沿着正确的方向进行的。 确认和验证的区别 确认:保证所生产的软件可追溯到用户需求的一系列活动。(生产的软件是否正确) 验证:保证软件正确地实现了特定功能的一系列活动。(生产软件的步骤是否正确) 软件测试目的 测试是为了发现系统中的错误而执行程序的过程 好的测试方案在于尽可能发现迄今为止尚未发现的错误 成功的测试是发现了至今为止尚未发现的错误的测试 软件测试目的 测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性; 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法 软件测试原则 所有的软件测试都应追溯到用户需求 应当把“尽早地和不断地进行软件测试”作为软件测试人的座右铭 完全测试是不可能的,测试需要终止 测试无法显示系统所有潜在的缺陷 软件测试原则 充分注意测试中的群集现象 程序员应避免检查自己的程序 尽量避免测试的随意性,应从工程的角度理解软件测试,它是有组织、有计划、有步骤的活动 软件测试对象 软件测试不等于程序测试,软件测试贯穿于软件定义和开发的整个期间。需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象. 什么是软件缺陷? 软件未达到产品设计规范表明的功能; 软件出现了产品设计规范指明不会出现的错误; 软件功能超出产品设计规范指明的范围; 软件未达到产品设计规范虽未指出但应达到的目标; 软件测试人员认为软件难以理解、不易使用、运行速度慢,或者最终用户认为不好。 为什么会出现软件缺陷? 缺陷图 软件测试分类 单元测试 集成测试 系统测试 确认测试 验收测试 白盒测试 黑盒测试 灰盒测试 单元测试 单元测试又称模块测试 是针对软件设计的最小单元——程序模块进行正确性检验的测试工作 其目的在于检查每个程序单元能否实 现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的错误 集成测试 集成测试,也叫组装测试或联合测试 在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试 集成测试是检验程序单元和部件的接口关系 实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现 系统测试 系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方 系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统做得怎样? 确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样 确认测试又称有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的
原创力文档

文档评论(0)