文章目录
- 软件测试基础理论
-
- 1.软件缺陷与软件故障
- 2.软件缺陷的定义
- 3.软件缺陷产生的原因
-
-
- 原因一:因为软件产品规格说明书(需求文档)
- 原因二:因为软件设计方面
- 原因三:因为编写代码
- 原因四:其他原因
-
- 4.软件测试和缺陷修复的代价
软件测试基础理论
大家都知道软件测试是测软件bug的,也有人觉得软件测试没前途,觉得很简单,不屑于顾,但,事实真的如此吗
事实证明并非如此,现在的软件测试在软件生命周期中占据重要的地位,慢慢的软件测试也独立发展成为一个行业,并且在迅猛发展, 在地位上已经完全不低于web开发,公司越来越注重测试,开发与测试的比例也越来越接近
现在就来介绍一下软件测试吧
1.软件缺陷与软件故障
- 软件缺陷与软件故障案例
1、美国迪士尼公司的狮子王游戏软件
2、一触即发的第三次世界大战
3、阿丽亚娜5型火箭的杯具处女秀
4、跨世纪千年虫问题
看了这些可能觉得时间都太久远了也并没什么人员伤亡,但是下一条,就离我们很近了
5、2011 年温州7.23 动车事故
通过以上的例子,可以看出软件发生错误时对人类生活所造成的各种影响,有的甚至会带来灾难性的后果。
而软件测试的重要性就表现出来了,软件测试可以使这种风险降低,将软件缺陷提前扼杀在摇篮里。
2.软件缺陷的定义
-
对于软件缺陷的精确定义,通常有下列描述:
1.软件未达到产品说明书的功能《需求文档》
2.软件出现了产品说明书指明不会出现的错误
3.软件功能超出产品说明书指明范围
4.软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
3.软件缺陷产生的原因
-
原因一:因为软件产品规格说明书(需求文档)
- 说明书没有写,经常更改,需求不清晰
- 或是开发小组没有很好的沟通,造成对说明书理解的不一致
- 文档不完善,风险估计不足
-
原因二:因为软件设计方面
- 没有做设计或是设计的不好,不够全面,经常变动等和产品规格说明书一样的问题
-
原因三:因为编写代码
- 不同阶段的开发人员相互理解不一致。例如,软件设计人员对需求分析的理解有偏差,编程人员对系统设计规格说明书某些内容重视不够,或存在误解
- 或是程序员技术上有缺陷
-
原因四:其他原因
- 新技术的采用,可能涉及技术或系统兼容的问题,事先没有考虑到。
- 导致系统需求分析时对客户的需求理解不清楚,或者和用户的沟通存在一些困难
- 系统结构非常复杂,而又无法设计成一个很好的层次结构或组件结构
- 结果导致意想不到的问题或系统维护、扩充上的困难;即使设计成良好的面向对象的系统,由于对象、类太多,很难完成对各种对象、类相互作用的组合测试,而隐藏着一些参数传递、方法调用、对象状态变化等方面问题
- 对程序逻辑路径或数据范围的边界考虑不够周全,漏掉某些边界条件,造成容量或边界错误
- 对一些实时应用,要进行精心设计和技术处理,保证精确的时间同步,否则容易引起时间上不协调,不一致性带来的问题
- 没有考虑系统崩溃后的自我恢复或数据的异地备份、灾难性恢复等问题,从而存在系统安全性、可靠性的隐患
- 新技术的采用,可能涉及技术或系统兼容的问题,事先没有考虑到。
因为呢,软件缺陷原因太多太多了,所以列出了一些典型的软件缺陷产生的原因,如下:
1.需求解释有错误
2.用户需求定义错误
3.需求记录错误
4.设计说明有误
5.编码说明有误
6.程序代码有误
7.数据输入有误
8.测试错误
9.问题修改不正确
10.不正确的结果是由于其他的缺陷而产生
4.软件测试和缺陷修复的代价
一般来说,缺陷发现的越早,则修复这个缺陷的代价就越小,
在需求、设计、编码、测试、发布等不同的阶段,
发现缺陷后修复的代价都会比在前一个阶段修复的代价提高十倍
软件测试基础理论就到这里了,有很多不足,慢慢也会补充
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!