测试

测试

软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

测试基础

软件是控制计算机硬件的工具

软件产生过程

软件产生过程

软件测试:使用技术手段验证软件是否满足使用需求

软件测试目的:减少软件缺陷,保证软件质量

主流技术

  • 功能测试:测试主要验证程序的功能是否满足需求

  • 自动化测试:使用代码或者工具代替手工,对项目进行测试

  • 接口测试:使用代码或者工具验证程序中的接口是否访问正常

  • 性能测试:模拟多人使用软件,查找服务器缺陷


常见的测试分类

按照测试阶段划分:

测试分类

按照代码可见度划分:

测试分类


模型

质量模型:衡量一个优秀软件的维度

质量模型

功能:

  • 功能数量
  • 功能能否正确实现
  • 错误处理情况

性能:

测试性能

兼容性:

兼容性测试

易用性:

  • 简介
  • 友好
  • 流畅
  • 美观

可靠性:

安全性:

  • 传输加密
  • 存储加密

可移植性:

  • 数据迁移

可维护性


测试流程

测试流程


测试用例

为测试项目而设计的执行文档

测试用例的作用:

  • 防止漏测
  • 实施测试的标准

用例设计编写格式

用例编号 用例标题 项目/模块 优先级 前置条件 测试步骤 测试数据 预测结果
  • 用例编号:项目_模块_编号
  • 用例标题:预测结果(测试点)
  • 模块:所属项目或者模块
  • 优先级:表示用例的重要程度或者影响力p9——p4(p0最高)
  • 前置条件:要执行此条用例,有哪些前置条件
  • 测试步骤:描述操作步骤
  • 测试数据:操作用的数据,没有的话为空
  • 预测结果:期望得到的结果

联系:

qq

实例

测试设计

等价类划分法

解决穷举场景

等价类划分


实例:账号限制为6-10位自然数

步骤 描述 描述
明确要求 限制为6-10位自然数 限制为6-10位自然数
划分有效等价和无效等价 有效8位自然数 无效3位自然数,12位自然数,8位非自然数,空
提取数据编写用例 12345678 123,123456789012

文档

案例 :


要求:

  • 区号:空号或者是三位数字
  • 前缀码:非0且非1开头的三位数字
  • 后缀码:四位数字

分析

用例


适用场景

针对:需要有大量数据测试输入,但是美哦有办法穷举测试的地方

  • 输入框
  • 下拉列表
  • 单选复选框

典型代表:页面的输入框类测试


边界值分析法

解决边界限制问题

边界范围节点

  • 上点:边界上的点(正好等于)
  • 离点:距离上点最近的点(刚好大于,刚好小于)
  • 内点:范围内的点(区间范围内的数据)

最多七个

  • 有关范围限制,最多7条用例
  • 边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)

优化后的:

开内闭外


步骤

  • 明确要求
  • 确定有效和无效等价(类型)
  • 确定边界范围值
  • 提取数据编写测试用例

总结

单个输入框,常用的方式:等价类+边界

1
2
3
在等价类的基础上对有边界范围的测试数据输入的地方(重点关注边界)
常见词语描述:大小,尺寸,重量,,最大,最小,至多,至少
典型代表:有边界范围的输入框类测试

判定表法

条件依赖关系

定义:是一种以表格形式表达条件逻辑判断的工具

组成:

  • 条件桩:列出问题中的所有条件,列出条件的次序无关紧要
  • 动作桩:列出 问题中可能采取的操作,操作的排列顺序没有约束
  • 条件项:列出条件对应的取值,所有可能情况下的真假值
  • 动作项:列出条件项的,各种取值情况下应该采取的动作结果

案例:

验证:若用户欠费或者关机,则不允许主被叫功能的测试

判定表

规则:

  • 判定表中贯穿条件项和动作项的一列就是一条规则
  • 假设有n个条件, 每个条件的取值有两个(0,1),全组合有2的n次方种规则

步骤

  • 明确需求
  • 分析条件桩,动作桩,画判定表
  • 提取数据,编写用例

案例:

需求

判定表

用例


使用场景

  • 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖关系
  • 判定表一般适用于条件组合数量比较少的情况(比如4个条件以下)
1
2
3
4
5
6
提示:
多条件之间有依赖关系,使用判定表来进行测试覆盖。

判定表一般适合4个以内条件依赖关系

如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决

场景法

根据实际的应用场景,来测试业务用例,可以使用场景法

ATM场景

ATM流程图

1
2
3
4
5
6
1、开始->验证银行不成功->结束
2、开始->验证银行卡成功->密码错误3次->结束
3、开始->验证银行卡成功->密码验证成功->账户余额不足->结束
4、开始->验证银行卡成功->密码验证成功>账户余额验证成功->取款金额不正确->结束
5、开始->验证银行卡成功->密码验证成功>账户余额验证成功->取款金额正确->ATM机余额不足->结束
6、开始->验证银行卡成功->密码验证成功->账户余额验证成功->取款金额正确->ATM机余额充足->取款成功->结束

用例

错误推荐法

当项目用例执行完毕,且BUG修复完成,离上线还有一段时间,在那段时间中可使用错误推荐法复测主要业务或者未覆盖的功能

错误推荐法


缺陷管理

用例执行

说明:执行结果与用例的的期望结果不一致,为缺陷

用例执行


缺陷介绍

✔定义

软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug

✔判定标准

  • 软件未实现需 求(规格)说明书中明确要求的功能-少功能
  • 软件 出现了需求(规格)说明书中指明不应该出现的错误-功能错误
  • 软件实现的功 能超出需求(规格)说明书指明的范围多功能
  • 软件未实现需 求(规格)说明书中虽未明确指明但应该实现的要求-隐性功能错误
  • 软件难以理解, 不易使用,运行缓慢,用户体验不好-不易使用

缺陷核心内容

缺陷核心内容


缺陷提交要素

要素


缺陷类型

类型


用例

需求

用例

✔缺陷编写

缺陷报告实例:

实例

缺陷的跟踪流程:

  • 编写
  • 验证
  • 关闭

流程

提交缺陷的注意事项:

  • 可重现:缺陷可以复现、
  • 唯一性:一个缺陷上报一个问题
  • 规范性:符合公司或者项目要求

✔缺陷管理工具

禅道


使用流程:

流程

禅道管理缺陷

登录软件

登录

创建缺陷:

创建

验证和关闭缺陷:

验证


缺陷标题分析

描述测试数据+实际结果(预测结果)

输入不正确的取款金额 结果取款成功(预期:取款失败,提示:不是正确金额)

web常用标签

HTML:https://smashdog1.gitee.io/2022/03/25/html/

CSS:css进阶 - Hexo (gitee.io)

JavaScript:JavaScript - Hexo (gitee.io)

项目实战

项目介绍


项目背景

  • 传智作为一个IT教育机构,拥有子级开发实际运营的产品
  • 将开发和运营的技术作为授课的内容,对于学院而言学到的都是一手的真是案例和实际经验

产品定位

  • 一款汇集科技咨询,技术文章和回答交流的用户移动终端产品
  • 用户通过该产品,可以获取最新的科技资讯,发表或者学习技术文章,讨论交流技术问题

项目目标

  • 研发并上线运营头条产品
  • 从实际的产品技术中孵化Python人工智能,Python数据分析,PythonWeb,测试,运维等课程案例

产品功能架构

三个前端子产品

  • 用户端:APP,用户可以查询资料,文章内容,进行回答讨论交流
  • 自媒体运营平台:PC网站,自媒体用户可以管理文章,评论,查看分析粉丝数据
  • 系统后台:PC网,内部运营管理系统

⭐发项目功能测试


测试对象

  • 完成黑马头条web登录功能测试
  • 完成黑马头条web发布文章功能测试

登录界面


登录需求-1

  • 输入正确的中国手机号(11位)
    • 当文本框失去焦点的时候验证, 红色为失败,绿色为成功
  • 点击发送验证码
    • 如果手机号文本框状态为绿色, 弹出“点击按钮进行验证”;
    • 如果手机号文本框为红色, 提示手机号不正确
  • 点击按钮进行验证
    • 拖拽图形 到指定位置,按钮消失;
    • 拖拽图形未到指定位置, 晃动提醒,滑块回到初始位置;
    • 超过5次, 提示尝试过多,请点击重试;

登录界面


登录需求-2

  • 输入验证码
    • 正确的验证码, 并“勾选我已阅读并同意”,点击登录,进入系统;
    • 错误的验证码, 并“勾选我已阅读并同意’”,点击登录,提示验证码错误;
    • 正确的验证码, 未“勾选我已阅读并同意”,点击登录,提示请勾选;
  • 点击登录
    • 手机号、 验证码都为绿色,勾选“我已阅读并同意”,登录成功

开始测试


分析需求

跳转到分析

提取测试点

测试点

设计用例

  • 登录
  • 滑块
  • 非功能

用例评审

执行用例

缺陷管理

测试报告