【软件测试基础】软件测试概要

本文探讨了软件测试在软件研发中的关键作用,列举了由软件bug引发的重大历史事故,强调了软件测试对于确保软件质量的重要性。文章介绍了软件测试的对象、五大要素及两个目标,以及软件测试应遵循的重要原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.历史上由软件bug引发的重大事故:

  • 1990年,美国电信公司AT&T因为交换机故障,损失超过7500万美金。
  • 2000年,日本证券公司由软件故障引起超过400亿日元的损失。(史上最贵bug)
  • 上世纪90年代,千年虫bug,全球损失超5000亿。

因此,软件质量是非常重要的,而软件测试作为软件质量保证重要的组成部分,在软件研发中有着重要的地位,是不可或缺的一环。

 

2.什么是测试?

IEEE定义(ISO/IEC/IEEE 29119)

使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。

 

3.软件测试的测试对象

软件测试不等同于程序测试,覆盖面包括软件需求、软件概要设计、软件详细设计、软件运行环境、软件源代码、可运行程序。

软件测试应该覆盖到软件研发生命周期的方方面面。

 

4.软件测试的五大要素和两个目标

五大要素:质量、人员、资源、流程、技术

两个目标:提升测试覆盖率、提升测试效率

 

5.软件测试所遵循的原则

  • 测试显示缺陷的存在,但不能证明系统不存在缺陷。
  • 穷尽测试是不可能的,应设定及时终止的条件。
  • 测试应该尽早进行。
  • 缺陷具备群集特性。
  • 测试的杀虫剂悖论。(在测试中,如果采用同样的测试用例,同样的测试方法,多次重复地测试同一个模块,那么很容易导致不能发现新的缺陷,所以测试用例和测试方法需要不定期评审和修改,并且增加不同的测试方法或测试用例来测试软件的不同部分,从而发现更多的软件缺陷。)
  • 测试的二八原则。(80%的时间或资源用在20%的重点模块上,来达到测试效率和资源配置最佳的一个比例。)
  • 测试活动依赖于测试背景。(针对不同的测试背景进行的测试活动应该是不同的,比如说电信级的软件,对性能、大并发量的访问会有更高的要求,而金融方面,对安全性的要求更高一些。)

缺陷更多的是在软件研发的前期引起的,而修复缺陷的成本则随着研发的推移不断地攀升,越到软件研发的后期,缺陷修复的成本越高。因此,最经济的方式是尽可能在研发的前期发现缺陷,并把缺陷修复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值