软件测试概念与基础

一. 调试与测试的区别

1. 目的不同: 测试的任务是发现程序中的缺陷;调试的任务是定位并且解决程序中的问题.

2. 参与角色不同: 测试主要有测试人员和开发人员来执行,黑盒测试主要由测试人员完成,单元/集成测试主要时由开发人员完成

3. 执行的阶段不同:测试贯穿整个软件开发生命周期;调试一般在开发阶段。

二. 什么是软件测试

软件测试就是执行和运行软件的过程,其目的是为了发现软件功能和需求不符合的地方,或者寻找实际输出和预期输出之间的差异。

三. 软件测试和软件开发的区别

1. 研发主要以编码为主,而测试以测试为主,开发为辅

2. 难易程度: 开发广度小,专业度高。测试广度大,专业度低

3. 薪水: 中小企业总体比研发低,自动化等专业测试领域和研发基本无差距。大厂研发测试基本无差别

4. 繁忙程度: 测试一般比研发轻松,但敏捷模式下差距不大,产品发布前压力比较大

5. 技能要求:测试要求更广泛,业务能力、设计和架构分析能力,测试手段和工具使用,用户模型分析和理解,编程能力

四. 软件的生命周期

软件的生命周期分为六个阶段:需求分析阶段,计划阶段,设计阶段,编码阶段,测试阶段,运行维护阶段

• 需求分析:分析用户是否合理(市场分析、技术上分析...)

• 计划:制定需求执行计划

• 设计:将需求细化成一个个任务,进行技术设计(设计哪些接口,采用哪些技术)

• 编码:开发人员按照需求文档以及设计文档来进行编码

• 测试:测试人员参考测试用例来执行测试

• 运行维护:项目上线之后对产品进行线上维护(修复性维护:对项目中未发现的问题进行修复;完善性维护:对功能进行完善;预防性维护:为了避免产品在线上出现一些其他的问题,进行一些预防的手段。

五. 什么是 BUG

 当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能和要求时,就是软件错误。

六. 什么是需求

需求就是满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和全能,包含用户需求和软甲需求。

七. 软件测试的生命周期

需求分析 -> 测试计划 -> 测试设计、测试开发 -> 测试执行 -> 测试评估

八. 软件缺陷生命周期

c7c20dc9d7ba482298c32b5da3031fc2.png

New: 新发现的Bug,未经评审决定是否指派给开发人员进行修改。

Open:确认是Bug ,并且认为需要进行修改,指派给相应的开发人员。

Fixed:开发人员进行修改后表示成修改状态,有待测试人员的回归测试验证。

Rejected:如果认为不是Bug,则拒绝修改。

Delay: 如果认为暂时不需要修改或者暂时不能修改,则延后修改。

Closed:修改状态的Bug经测试人员回归测试后验证通过,则关闭Bug。

Reoppen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。

九.  测试模型

9.1 V模型

2de43060f17749da8a90aab6a4eed8ef.png

特点: 左边是开发,右边是测试

优点: 测试被划分为许多类型

缺点: 测试人员介入晚,发现问题的时机晚,修复起来的成本高

9.2  W模型

e3367f62d7924e3ebede30d496da59fc.png

 特点: 开发一个V,测试一个V

优点: 测试人员尽早介入了需求

缺点: 测试人员和开发人员在一定程度上还是串行的,不能拥抱变化

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值