软件测试Ⅱ--- 基础

10 篇文章 0 订阅

软件测试的生命周期

需求分析
测试计划
测试设计/开发
测试执行
测试报告
  • 需求分析:分析需求,细化需求,验证需求的正确性和合理性
  • 测试计划:规划测试人员数量,规划时间、测试范围,测试目的
  • 测试设计:从细化的需求中提炼出功能点,设计测试用例
  • 测试执行:执行测试用例,记录BUG
  • 测试报告:测试的返回有多少个测试用例,执行了多少,余留了多少,发现了多少BUG,修改了多少,验证了多少,余留了多少,以及解决方案

BUG

如何描述一个BUG

  1. 版本号(代码版本号)
  2. 测试环境(平台、系统)
  3. 测试步骤(数据)
  4. 实际结果、预期结果(需求一致)
  5. 附件(错误截图、错误日志等)

不同浏览器对同一个系统的同一个页面解析是不一样的

BUG的级别

  1. 崩溃
    系统运行阻断,严重影响了开发人员和测试人员的工作,需要立马修复

线上出现崩溃级别的BUG怎么办?

  • 回退到一个稳定的版本
  1. 严重
    系统还可以运行,但是不稳定,若再运行下去,会产生严重后果
    eg:直播画面失真,密码明文显示

  2. 一般
    系统可以稳定运行,但是一些次要功能没有实现,可能会影响用户体验

  3. 次要
    影响用户的视觉体验
    eg:界面的文字提示内容,展示图片的排版
    要不要改和产品经理商量

BUG的生命周期

测试人员提BUG ,开发人员已修改,但是测试人员发现这个BUG依然存在,有哪些原因?

  • 开发人员没修改好
  • 开发人员未将代码更新到测试环境
  • 测试人员未拉取到最新代码到测试环境进行发布

如果碰到一个BUG,和开发人员产生冲突怎么办?

  • 先检查自己的BUG描述是否正确
  • 检查BUG的等级是否按照公司的标准
  • 站在用户的角度说服开发人员
  • 不断提高自己的业务水平和技术水平
  • 和开发人员、产品经理开会商量BUG的解决方案

测试用例

基本要素

同测试系统发起的一组集合:测试平台,测试数据,测试步骤,预期结果(测试方式,标题,重要性,优先级,功能模块等)

标准

  • 用例表达清楚,无二义性
  • 用例可操作性强
  • 用例的输入与输出明确,一条用例只有一个预期结果
  • 用例的可维护性好
  • 用例对需求的覆盖率高
  • 暴露程序Bug的能力强力

设计方法

需求
软件需求
开发软件
测试功能
上线

根本依据

根据需求设计测试用例

  1. 分析验证需求的正确性和合理性
  2. 分析需求,细化需求,从需求中提炼功能模块,划分子功能
  3. 根据每个子功能去写测试用例

等价类

为了解决测试用例太多,输入没有办法穷举的情况

把输入(特殊情况下才考虑输出)划分为若干个等价类,从每一个等价类当中选一个测试用例进行测试,如果这个等测试用例测试通过,那么我们就说这个测试用例代表的等价类测试通过

有效等价类:根据需求规格说明,有意义的输入的数据集合
无效等价类:根据需求说明,不符合需求的

eg:用户名:必填,6 ~ 15,A ~ Z,不区分大小写
6 ~ 15 根据长度划分等价类
有效等价类:6 ~ 15 位
无效等价类:<6 位,>15 位
A ~ Z 根据字符类型划分等价类
有效等价类:A ~ Z,a ~ z 大小写混合
无效等价类:汉字,特殊字符(标点,空格),表情符号,A ~ Z,a ~ z 与其他混合

边界值

针对输入输出的边界进行测试用例设计
eg:6 ~ 15 测试:
5,6,7
14,15,16

等价类和边界值一般结合起来进行测试用例的设计

因果图法

因果图是一种逻辑图(恒等,与,或,非)

当输入有很多,不同的输入组合对应不同的输出,用因果图来分析不同 输入组合和不同输出之间的联系

逻辑

举例如下:

假设有房有车是结婚的条件

  1. 恒等
    在这里插入图片描述
    有房有车—>结婚


  2. 在这里插入图片描述
    有房有车—>结婚
    有房没车—>不结婚
    没房有车—>不结婚
    没房没车—>不结婚

在这里插入图片描述
有房有车—>结婚
有房没车—>结婚
没房有车—>结婚
没房没车—>不结婚


  1. 在这里插入图片描述

有房有车—>结婚

前面条件不成立(取反)—>结婚成立

步骤
  1. 分析出所有的输入输出
  2. 找出输入输出之间的逻辑关系
  3. 根据输入输出之间的关系画出因果图
  4. 根据因果图画判定表
  5. 根据判定表设计测试用例

eg:淘宝618活动,订单已提交,订单合计金额大于300 元,或有红包,则优惠

① 分析输入输出
输入:

金额大于300,金额小于等于300
订单已提交,订单未提交
有红包,无红包

输出:
有优惠,无优惠

② 找出输入输出之间的逻辑关系

订单已提交,订单金额大于300元,有红包,有优惠
订单已提交,订单金额大于300元,无红包,有优惠
订单已提交,订单金额小于等于300元,无红包,无优惠
订单已提交,订单金额小于等于300元,有红包,有优惠

订单未提交,无优惠、

③画因果图
在这里插入图片描述
④画判定表
在这里插入图片描述
⑤写测试用例

正交法

研究多因素水平的一种实验(测试)方法

根据正交性,从输入组合当中选取最优的组合进行试验,分析结果,通过这些最优结果得出的实验结果来分析这个实验的结果

因素:输入的变量
水平:变量的取值

构成
  • 列:因素数,变量的个数
  • 水平数:每个变量的最大值的个数
  • 行:正交表的行=(水平数-1)*因素数+1
    只适用于水平数相等的情况

当水平数不同时,正交表行的个数如何确定?

  • 用工具或者直接查正交表
性质
  1. 每一列不同数据出现的次数一样
  2. 任意两列不同数据的组合出现的次数一样
步骤
  1. 确定所有的输入(变量)
  2. 确定每一个变量的取值的个数
  3. 确定因素数(正交表的列),水平数,正交表的行
  4. 根据正交表的性质,把变量的值映射到表中
  5. 写测试用例(正交表的每一行就是一个测试用例)
  6. 补充正交表中没有的但是你认为可能出现的测试用例

eg:注册:姓名、邮箱、密码、确认密码、验证码全部填写正确,设计测试用例

①输入

姓名、邮箱、密码、确认密码、验证码

②确定因素数:5

③确定:

水平数:2(填、不填)
正交表的列=因素数= 5
正交表的行=(水平数-1)* 因素数+1 = 1*5+1=6

④列表(满足正交表性质即可)

在这里插入图片描述

⑤写测试用例

每一行就是一个测试用例

⑥补充
全不填
全填

场景法

把一个个孤立的功能点按照一定的策略串联起来,形成一定的场景和业务

用事件触发控制流程(场景)

eg:ATM取款流程

插卡—>输入密码—> 输入金额—>取钱—>退卡

异常:
①插卡:插反,消磁,插错卡,卡挂失,注销,停留时间过长,卡被吞

②输入密码:

连续3次输错,账户被锁定
前一、两次输错,接下来输入正确

③输入金额:

输入金额>银行卡余额
ATM机本身余额不足
输入的金额<ATM机要求最少的金额
输入非100的倍数(ATM不允许)
超过每日最大可以取款的金额数

④取款:

长时间未取(看ATM是否吞钱)
遗忘了部分钱没有取

⑤退卡:退卡失败

⑥其它:ATM网络异常,断电,机器故障

步骤

根据异常点写测试用例

  1. 分析场景(业务)里的功能点
  2. 根据功能点找出正常和异常的输入输出
  3. 根据分析的结果去设计测试用例

错误猜测法

根据测试人员的知识,经验,直觉去判断哪一个模块会出现问题,专门针对这个模块进行测试用例的编写

作为一种补充的设计测试用例的方法

黑盒测试设计用例的方法有哪些?

  • 等价类、边界值、因果图、正交法、场景法、错误猜测法

白盒测试设计用例的方法有哪些?

  • 语句覆盖法、循环覆盖法、路径覆盖法、逻辑覆盖法
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值