软件测试基础

软件测试基础

软件生命周期

问题定义->需求分析->软件设计->软件开发->软件测试->软件维护->淘汰

软件的功能特性:

( ISO/IEC 9126定义的软件质量特性)

一、功能性(Functionality):

1、适合性(Suitability):解释有没有-提供了相应的功能
2、准确性(accuracy):正确(用户需要的)解释对不对
3、互操作性(Interoperability):产品与产品之间交互数据的能力
4、保密安全性(Security):软件产品保护信息和数据的能力。 如数据库加密,IP,登陆次数限制防Dos 攻击
5、功能性的依从性(Functionality Compliance):国际/国家/行业/企业 标准规范一致性

二、可靠性(Reliability):产品在规定的条件下,在规定的时间内完成规定功能的能力

三要素:规定的环境,规定的时间,规定的性能
1、成熟性(Maturity):内部接口防范-防止内部错误导致软件失效的能力
2、容错性(fault tolerance):外部接口防范-软件出现故障,自我处理能力
3、易恢复性(recoverability):失效情况下的恢复能力
4、可靠性的依从性(Reliability Compliance)国际/国家/行业/企业 标准规范一致性

三、易用性(Usability):在指定使用条件下,产品被理解、学习、使用和吸引用户的能力

1、易理解性(Understandability):
2、易学性(Learnability):
3、易操作性(operability):
3、易操作性(operability):
4、吸引性(attractiveness):
5、易用性的依从性(Usability compliance):国际/国家/行业/企业 标准规范一致性

四、效率性(efficiency):在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力

1、时间特性(time behavior):平均事务响应时间,吞吐率,
2、资源利用性(resource utilization):CPU 内存 磁盘 IO 网络带宽 队列 共享内存
3、效率依从性(efficiency compliance):

五、可维护性(maintainability):“四规”, 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力

1、易分析性(analyzability): 定位成本-分析定位问题的难易程度
2、易改变性(changeability):降低修改缺陷的成本-软件产品使指定的修改可以被实现的能力
3、稳定性(stability):防止意外修改导致程序失效
4、易测试性(testability):降低发现缺陷的成本–使已修改软件能被确认的能力
5、维护性的依从性(maintainability compliance)

六、软件可移植性(Portability):从一种环境迁移到另一种环境的能力

1、适应性(adaptability):适应不同平台
2、易安装性(installability):被安装的能力
3、共存性(co-existence):兼容性
4、易替换性(replaceability)
5、可移植性的依从性:(portability compliance)

软件缺陷产生的原因:

需求不明确

软件结构复杂

开发人员水平有限

项目期限短

使用新技术

软件缺陷处理流程:

提交、分配 、确认、 处理、 复测、 关闭

软件测试的目的:

  1. 软件测试是为了发现错误而执行程序的过程。

  2. 测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)

  3. 一个好的测试用例在于它发现至今未发现的错误。

  4. 一个成功的测试是发现了至今未发现的错误的测试。

软件测试的分类:

按照测试阶段分类

  • 单元测试:验证软件单元是否符合软件需求与设计(开发人员)
  • 冒烟测试:软件构建版本建立后,对系统的基本功能进行简单的测试,这种测试重点验证的是程序的主要功能,而不会对具体功能进行深入测试
  • 集成测试:冒烟后,将已经测试的软件单元组合到一起测试他们之间的接口,用于验证软件是否满足设计需求.

按照测试阶段分类:

  • 系统测试:将经过测试的软件在实际环境中运行,并与其他系统的成分(如数据库、硬件和操作人员等)组合在一起进行测试。
  • 验收测试:主要是对软件产品说明进行验证,逐行逐字的按照说明书的描述对软件产品进行测试,确保其符合客户的各项要求。

按照测试技术分类:

  • 黑盒测试:把软件当做一个有输入有输出的黑匣子,它把程序当做一个输入域到输出域的映射,只要输入的数据能输出预期即可,不必关心程序内部是怎么样实现的
  • 白盒测试:测试人员了解软件程 序的逻辑结构、路径与运行过程, 在测试时,按照程序的执行路径 得出结果。白盒测试就是把软件 (程序)当作一个透明的盒子, 测试人员清楚的知道从输入至_ 出的每一步过程。

按照软件质量特性分类

在这里插入图片描述

按照自动化程度分类

在这里插入图片描述

按照测试项目分类

qq

其他分类

在这里插入图片描述
在这里插入图片描述

软件测试在项目各个阶段的作用:

  • 项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控
  • 需求分析阶段:确定测试需求分析,即确定在项目中需要测试什么,同时制定系统测试计划
  • 概要设计与详细设计阶段:制定单元测试计划和集成测试计划
  • 编码阶段:开发相应的测试代码和测试脚本
  • 测试阶段:实施测试并提交相应的测试报告

软件测试与软件开发的关系

qq

常见的软件测试模型

V模型(瀑布模型)

在这里插入图片描述

在这里插入图片描述

2.W模型

在这里插入图片描述

在这里插入图片描述

3.H模型
在这里插入图片描述

4.X模型

是将程序分成多个片段反复迭代测试,然后将多个片段集成再进行迭代测试

在这里插入图片描述

软件测试原则:

  • 测试应该基于客户需求
  • 测试要尽早进行
  • 穷尽测试是不可能的
  • 遵循goodEnough原则,投入等于支出
  • 测试缺陷要符合二八定理,八十问题出现在二十模块中
  • 避免缺陷免疫

影响软件质量的因素:

  • 设计时需求不明确

  • 开发方式落后

  • 对数据准备认知不够

  • 缺乏质量控制监督措施

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值