导图社区 软件测试概述
软件测试基础原理与实践的第1章软件测试概述,可以了解和理解软件危机的主要表软件生存期步骤、软件质量的定义和模型、软件测试的定义、目的、作用和原则等。
编辑于2020-12-27 23:03:45第1章 软件测试概述
软件测试产生的背景
软件危机
软件开发费用和进度失控
软件系统实现的功能与实际需求不符
软件的可靠性差
软件难以维护
软件通常没有适当的文档资料
软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升
软件生产速度不能满足日益增长的软件需求
软件生存期
步骤:1.计划
2.需求分析
3.设计
4.程序编写
5.测试
6.运行和维护
软件缺陷
软件未达到软件规格说明书中规定的功能
软件超出软件规格说明书中指明的范围
软件未达到软件规格说明书中指出的应达到的目标
软件运行出现错误
软件测试人员认为软件难于理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好
软件缺陷生命周期
三个阶段:1.发现——打开 2.打开——修复 3.修复——关闭
软件缺陷案例
1.“千年虫”问题
2.中国银联系统“瘫痪”
3.美国洛杉矶国际机场海关系统故障
4.北京奥运会门票系统故障
5.安徽省高考文科综合科目成绩统计错误
6.铁路购票系统12306“崩溃”
7.WannaCry勒索病毒全球大爆发
软件测试
定义
IEEE 标准的定义:使用人工或自动的手段来运行或测定某个系统的过程,其目的在于检验;它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
G.J.Myers给出的定义:“程序测试是为了发现错误而执行程序的过程”。
目的
为了发现程序中的错误而执行程序的过程
作用
1.测试是执行一个系统或者程序的操作
2.测试是带着发现问题和错误的意图来分析和执行程序的
3.测试结果可以检验程序的功能和质量
4.测试可以评估软件项目产品是否达到预期目标和是否被客户接受
5.测试不仅包括代码,还包括对需求等编码以外东西的测试
原则
1.所有的测试都应追溯到用户需求
2.应尽早地和不断地进行软件测试
3.完全测试是不可能的,要适时终止
4.测试只能证明软件存在错误,不能证明软件没有错误
5.充分关注测试中的集群现象
6.程序员应避免自己检查自己的程序
7.尽量避免测试的随意性
软件质量
软件产品中能满足给定需求的性质和特性的总体
软件具有所期望的各种属性的组程度
顾客和用户觉得软件满足其综合期望的程度
确定软件在使用中将满足顾客预期要求的程度
软件质量模型
Boehm
McCall
ISO/IEC 9126
新的 ISO/IEC 9126
软件测试过程模型
V模型
W模型
H模型
X模型
前置模型
特点:1.开发和测试结合
2.对每一个交付内容进行测试
3.在设计阶段进行计划和测试设计
4.测试和开发结合在一起
5.验收测试和技术保持相互独立
6.反复交替的开发和测试
7.发现内在的价值
测试工程师职业素质
能力:1.技术能力
2.具有一定的编程经验
3.沟通能力
4.要有严谨、敢于承担责任、稳重的做事风格
5.具有怀疑与破坏的精神
6.善于自我总结、自我督促
7.团队合作