一、 软件测试的引入
1. 软件的概念与分类
1.1 软件的概念
软件是计算机系统中与硬件相互依存的一部分,包括 程序、数据以及其相关文档 的完整集合。
- 程序是按事先设计的功能和性能要求执行的指令序列;
- 数据是使程序能正常操作信息的数据结构;
- 文档是与程序开发、维护和使用有关的图文材料。
1.2 软件的分类
按重要性
- 系统软件
- 支持软件
- 应用软件
按架构
- 单机版软件
- 分布式软件
- C/S 架构
- B/S 架构
2. 软件失效
2.1 软件都是安全的吗中有错误吗h3>
1991 年,爱国者导弹防御系统
- 美国爱国者导弹防御系统是里根总统提出的战硌防御计划(即星球大战计划), 海湾战争中,用于拦截伊拉克飞毛腿导弹,但在沙特阿拉伯的多哈中失利,28 名美国士兵丧生。
- 分析发现症结在于一个软件缺陷,系统时钟的一个很小的计时错误积累起来到 14 小时后,跟踪系统不再准确。在多哈的这次袭击中,系统已经运行了 100 多个小时。
2000 年,千年虫问题
- 20C70S,美国一程序员位公司开发工资系统,当时的计算机存储空间很小, 为了节省存储空间,把 4 位数日期缩减为 2 位数,如 1973—73。他简单地认 为,只有在到达 2000 年他的程序计算 00 或 01 这样的年份时问题才会发生问 题,他认定在 25 年之内程序肯定会升级或替换,而且眼前的任务比现在计划 遥不可及的未来更加重要。后来,程序员退休了,程序仍然在使用,谁也不会 想到如何深入到程序中检查 2000 年兼容问题,更不用说去修改了。
- 据估计,世界各地检查和解决 2000 年兼容问题和错误花费了数千亿美元
2.2 软件危机(software crisis)
20 世纪六七十年代,出现了软件数量急剧增长,但软件失败率高速上升的现象。 1968 年初,北大西洋公约组织的在联邦德国召开的国际学术会议上,计算机科学 家们正式提出了 “软件危机”(Softwre Crisis) 。
- 对进度和成本估计不准确,开发成本远远超出预算,项目进度和软件开发效率 严重滞后;
- 用户对提交的产品经常会不满意;
- 产品的质量不可靠,缺陷很多,维护成本非常高;
- 软件开发过程的文档匮乏。
2.3 软件为什么会失效h3>
二、 软件测试的定义
1. 经典定义
1979,Myers,《软件测试艺术》
- 测试是为发现错误而执行程序的过程。
理解:
- 测试是为了证明程序有错,而不是证明程序无错误。
- 一个成功的测试是发现了至今未发现的错误的测试。
2. 标准定义
1983,IEEE
- 使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满 足规定的需求或是弄清预期结果与实际结果之间的差别。
理解:
- 测试是在用户需求和开发技术之间找一个平衡点。
3. 国内定义
GB/T 11457
- 依据规范的软件检测过程和检测方法,按照测试计划和测试需求对被检测软件 的文档、程序和数据进行测试的技术活动。
理解
- 软件测试是一个过程,测试不只是测试执行,它包括从计划开始到测试结 束的一系列活动。
- 软件测试需要测试方法和技术,或者说技巧。
- 软件包括程序、数据和文档,除了执行程序,数据和文档也需要测试。
4 其他理解
- 不同时期关于测试的其他定义
- 确信程序做了它应该做的事(Hetzel,1973)。
- 确认程序正确实现了所要求的功能。
- 查出规格说明中错误,以及与规格说明不符的地方。
- 测试是一切以评价程序或系统的属性、能力为目的的活动;测试是对软件质量 的度量(Hetzel,1983)。
- 评价程序或系统的过程。
- 测试是与软件开发或维护工作并行进行的一个过程。
- 测试是一个获取信息,降低决策风险的过程。通过测试,向整个团队提供关于 产品质量和项目环境的信息,帮助他们做出决定。
三、 软件测试的过程
1 分析测试需求
测试人员对用户的需求进行分析,了解软件要做什么,怎么做,进而确定将来怎么 测试。
2 编写测试计划
测试负责人编写测试计划;
测试计划的内容
- 包含产品概述、测试范围/测试区域/测试项、 测试目标/被测特征、测试优先 级、测试配置/测试资源(硬件、软件、人力、技术等)、测试周期、进度安 排(测试任务、人员安排)、 测试策略、测试方法/途径、测试交流、风险分 析、测试标准、需交付文档等内容。
3 设计与编写测试用例
- 设计用例主要反映在编写测试点上;
- 根据公司格式或者选择一些模板编写测试用例。
4 执行测试
- 搭建测试环境;
- 执行测试用例,记录测试事件;
- 提交和跟踪缺陷。
5 评估与总结
- 分析实际测试与计划的偏差;
- 收集并提交各种测试文档和数据,对数据进行分析;
- 给出是否继续测试还是终止测试结论;
- 总结经验教训
四、 软件测试的目的/目标
2. 软件质量保证 & 软件测试
软件质量保证(SQA,Software Quality Assurance)

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!