软件测试设计技术之软件测试的基本知识(一)

如何把用户的需求转换为软件测试设计,这是软件测试工程师的工作重心!

软件测试的基本知识(一):
1.什么是软件测试(软件测试的定义):

软件测试的定义有很多:
a.找bug,证明程序有错
b.执行软件测试步骤
c.包括验证和确认两种类型
d.验证软件产品是否满足用户显性或隐性需求活动
我以d的认识理解为主。在d的描述中,要注意:验证软件是否满足用户需求时,不是一软件测试人员的主观意愿去判断的,它是有标准的。

2.什么是需求:

a.用户需求:即用户想要软件实现的功能
b.软件需求:是用户需求转化来的,是用户需求的具体细化,并实现其细节。开发人员要根据软件需求进行软件开发。
c.软件开发中的需求:需求就是满足用户期望或者合同规定的标准、规范、文档所需要的的条件或权限。

3.什么是BUG:

分为两种情况:
a.当软件需求规格存在并且合理,如果软件功能和需求规格不相符合时,就说是软件错误(BUG)
b.当软件需求规格不存在时,用户需求存在并且合理,软件功能和用户需求不相符合时,就说是软件错误(BUG)

4.什么是测试用例:

测试用例是向被测试系统发起的一组集合,集合包括测试数据、测试步骤、测试平台、预期结果

5.开发的模型

a.瀑布模型
适用于需求稳定的项目。
优点是:各个阶段相对独立,重点在于需求分析和软件测试
缺点是:无法适应需求的变化,因为测试在编码后期才介入,导致前期的缺陷无法及时发现并且修正。
在这里插入图片描述

b.螺旋模型
适用于前期需求不是很明确并且有风险、项目比较庞大的系统开发
优点是:强调软件质量,每一次迭代进行严格的风险分析,所以提供了项目是否有必要继续进行的讨论机会。
缺点是:引入了风险管理,会投入大量的人力物力
c.迭代、增量模型
假设一个系统项目分为ABCD四个功能模块,在两周时间内完成
(1)使用迭代,则第一周开发人员完成ABCD四个模块的基础功能,第二周在基础功能上进行细化完善
(2)使用增量,第一周完成AB两个模块,第二周完成CD两个模块
迭代模型的抗风险能力更强
d.敏捷模型
目标是为了可以交付一个高质量可用的软件
它轻文档,轻流程,重目标,重质量
拥抱变化,可以适应需求的变化
其中,典型的事例 Scrum敏捷开发流程

6.软件测试模型

a.V模型(瀑布模型的变种)
优点是:左边的每一个阶段和右边的每一个阶段,一一对应,左边的每个阶段是右边每一个测试阶段的依据
缺点是:测试介入的时间晚,会失去前期的错误及时纠正的机会,无法应用到敏捷开发
在这里插入图片描述

b.双V模型(W模型)
优点:测试介入的比较早,前期风险可以及时发现,及时纠正
缺点是:每一个阶段是一个单一串行的过程,不能适应需求的变化,无法应用到敏捷开发
在这里插入图片描述

7.软件测试的流程:

即软件测试的生命周期
需求分析–>测试计划–>测试分析/设计–>测试执行–>测试评估
测试评估
与软件开发的生命周期不同,软件开发的生命周期是:
需求–>计划分析–>设计–>编码–>测试–>运行
在这里插入图片描述
参考资料图片:软件测试技术实战 人民邮电出版社 顾翔著

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值