测试的基础理论与软件缺陷的介绍

文章目录

  • 软件测试基础理论
    • 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进行处理,非常感谢!

上一篇 2020年8月2日
下一篇 2020年8月2日

相关推荐