软件测试基础知识

软件测试基础

一、软件测试质量

在这里插入图片描述
软件研发过程中,通常定义了2个软件质量相关的角色:

  • QC就是测试人员,职责是尽可能早地发现软件的缺陷,并确保缺陷得到修复
  • QA是流程的监督者,职责是创建和执行 改进软件开发过程, 并防止软件缺陷发生的标准和方法

二、软件测试概念

  • 目的:发现bug、提高质量、降低成本
  • 概念:在规定的条件下对程序进行操作, 以发现错误,对软件质量进行评估。

三、软件测试原则

  • 所有的软件测试都应追溯到用户需求
  • 应当把“尽早地和不断地进行软件测试”作为软件测试者的座右铭
  • 完全测试是不可能的,测试需要终止
  • 测试无法显示软件潜在的缺陷
  • 充分注意测试中的群集现象
  • 开发工程师应避免测试自己的程序
  • 尽量避免测试的随意性
  • 测试的抗药性

四、软件测试对象(重要)

  • 软件包括程序、数据、文档,所以软件测试应该贯穿于 整个软件生命周期中
  • 在整个软件生命周期中,各阶段又有不同的测试对象, 形成了不同开发阶段的不同类型的测试

五、软件测试分类

在这里插入图片描述

1.按阶段划分

(1)单元测试
  • 单元测试又称为模块测试,是针对程序的一种测。
  • 在实际中,很多的单元测试工作都是程序员在做。
  • 实际意义:一开始并不把程序作为一个整体来测,而首先 集中测试最小单元,这样能尽早的发现问题,解决问题。
  • 实际演示一个单元测试例子。
(2)集成测试
  • 时常有这样的情况发生,每个模块都能单独工作,但是将这些 模块组装起来之后却不能正常工作。
  • A程序员写了代码,这些代码的功能提供给B程序员调用,但是 由于A和B之间在方法的命名,大小写等问题上不一致,所以根 本无法让A的数据给B用。
  • 集成测试又称为接口测试,是针对程序接口的一种测试。 接口:模块与模块之间的耦合。
  • 在实际中,很多的集成测试工作都是程序员在做。
  • 实际意义:单元测试做完后,方法已经没有问题了,局部 不出问题了,程序员之间的各个功能整合起来,集中测试, 要保证整合后的代码和代码实现的功能完全对接,没有问题。 因此集成测试就显得非常有必要。
(3)确认测试
  • 确认测试:对照软件需求规格说明,对软件产品进行评估以 确定其是否满足需求的过程。主要是对软件需求满足程度的一 种评价和评估。
  • 经过确认测试,应该得出的评价无非2种情况:
    ① 经过检验,软件功能、性能及其他方面的要求都已满足 软件需求规格说明的规定,是一个合格的软件。
    ② 经过检验,发现与软件需求规格说明书有相当的偏离, 得到了一个缺陷清单,这就需要开发部分和用户进行协 调,找出解决的办法。
  • 实际工作中,很多公司都不做确认测试,直接从集成测试跳 到系统测试,即集成完成后,马上开始系统测试。
(4)系统测试
  • 系统测试是针对整个产品系统进行的测试,目的是验证系 统是否满足了需求规格的定义,找出与需求规格不符或与之 矛盾的地方,从而提出更加完善的方案。
  • 将已经确认的软件、计算机硬件、外设、网络等其他元素 结合在一起,进行信息系统的各种组装测试和确认测试。
  • 对象不仅仅包括需测试的软件,还要包含软件所依赖的硬 件、外设甚至包括某些数据、某些支持软件及其接口等
  • 系统测试范围:功能、性能、界面、强度、容量、安全性、 配置、安装、卸载、数据库等
(5)验收测试
  • 验收测试:可以类比为建筑的使用者对建筑进行的检测。
    产品:以公司调查研为主 (一直研发下去)
    项目:以客户需求为主 (一般都是一次性投入软多)-UAT
  • 验收形式:
    ① Alpha: Alpha测试是在用户组织模拟软件系统的运行环 境下的一种验收测试,由用户或第三方测试公司进行的 测试,模拟各类用户行为对即将面市的软件产品进行测 试,试图发现并修改错误。
    ② Beta:Beta测试是用户公司组织各方面的典型终端用户在 日常工作中实际使用beta版本,并要求用户报告异常情 况,提出批评意见。
  • 实际过程中:初验、终验
    在这里插入图片描述

2.按是否运行程序划分

3.按是否查看代码划分

  • 静态测试:不运行被测试的软件,而只是静态的检查代码、界面或者文档。
  • 动态测试:实际运行被测试的软件,输入相应的测试数据,检查实际的输 出结果是否和预期结果相一致的过程。
    在这里插入图片描述

4.其他划分

  • 黑盒测试:把软件看成一个黑盒子,不管内部逻辑和内部特性,只依据规格说明书检查程序的功能是否符合功能说明。
  • 白盒测试:又称为结构测试。着重于程序内部结构和算法,不关心功能和性能指标。
  • 灰盒测试:介于白盒和黑盒测试之间,基于程序运行时刻的外部表现同时又结合程序内部 逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果的 测试技术。
  • 回归测试:
    ①测试新建bug,开发修改后将状态修改为“已修改”后通知测试进行验证,此 时测试人员所进行的测试称为回归测试。
    ②当测试回归后没有问题,但所测试的功能和其他模块或功能有一定的关系 (如数据有交叉和公式计算等),这时测试人员要针对这个部分再次测试, 保证不会因为修改了这个bug而导致新bug的产生(开发在修改代码或注释时 容易注释错),此时测试人员所进行的测试也称为回归测试。
    ③当项目(或模块和功能)快上线,测试经理会通知测试人员再把所有功能测 试一次,保证上线后不会出问题,此时测试人员所进行的测试称为回归测试。
    在这里插入图片描述
  • 冒烟测试(BVT测试(Build Verification Test ))
    ①发布一个版本时,先对该版本进行最基本功能的测试,用以确认该版本基 本功能正常后再开展进一步的测试工作;如基本功能不通过,打回给开发, 直到冒烟通过
    ②只有公司需要时才冒烟,并不是任何时候都冒烟,因为实际工作中项目往 往比较紧
    ③部分公司是让开发做冒烟,会给开发提供一个checklist
  • 随机测试(又名猴子测试-预测试)
    随机选择测试数据做测试,主要根据经验进行功能和性能等抽查
  • 敏捷测试(敏捷开发引发)
    敏捷最大特点是高度迭代,有周期性,并且能够及时、持续 地响应客户的频繁反馈。简单点理解:天下武功,唯快不破。

六、软件测试风险

1.软件测试中的软件风险分析是根据预测软件将出现的风险,制定软件 测试计划并排列优先等级,风险分析是对软件中潜在的问题进行识别、 估计和评价的过程。

2.风险也包括进度风险、质量风险、人员风险、变更风险、成本风险等

  • 变更风险:进行评审需求是否可以修改
  • 人员风险:各项目调动人员
  • 进度风险:加班,加配人员
  • 质量风险:再次评审成本预算
  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

deng_hongbin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值