软件测试
2023-04-14 14:51:38 61 举报
AI智能生成
测试用例、web自动化测试
作者其他创作
大纲/内容
测试用例
测试用例的要素
级别
等级
高
eg:冒烟测试
中
低
按P0、P1分
P0级别最高
操作步骤
测试项目\模块
测试用例编号
预置条件
测试输入
测试用例标题
测试输出
其他要素
用例设计者
用例设计日起
对应开发人员
测试结果
包括:pass、fail、block
测试类型
测试用例的作用
理清测试思路,确保功能点无遗漏
测试工作量的评估
便于提前准备测试数据
把控测试工作进度
便于回归测试
便于测试工作的组织,提高测试效率,降低测试交接成本
测试用例的方法
等价类划分
概念
输入域分成若干部分,每部分选取少量有代表性数据作为测试用例
分类
有效等价类
满足需求的、合理的
无效等价类
不满足需求的,不合理的
步骤
第一步:需求分析
第二步:划分等价类
有效
无效
规则
需求、文字说明
长度
类型
数字,字母,特殊字符,中文
是否重复
手机号是否被注册
是否为空
对于必填项
第三步:设计测试用例
典型应用场景(适用范围)
存在输入框
边界值
概念
等价类划分法的补充,对输入或输出的边界值进行测试
边界值
上点
有效等价类和无效等价类的分界点,该点属于有效等价类
内点
有效等价类中任意一点
离点
离边界最近的左右两点
测试用例步骤
第一步,需求分析
第二步,划分等价类
第三步,确定边界
第四步,设计测试用例
判定表
概念
存在多个输入条件、多个可能输出结果,且输入的条件之间、输入和输出的结果之间有相互依赖关系
明确条件桩
案例
用户欠费关机,电话无法打通
组成
条件桩
所有输入条件
动作桩
所有可能的输出结果
条件项
单个条件的取值范围
真\有效等价类\Y\1
假\无效等价类\N\0
动作项
基于每一种条件的组合得到的确定的结果
设计用例
明确动作桩
对条件桩进行全组合
明确每个组合对应的动作项
设计测试用例
应用场景
输入条件较少(2-4个)
因果图
概念
用图解的方法表示输入的各种组合情况,写出版定表,进而设计测试用例的一种黑盒测试方法
案例
运行Python程序
基本符号
Ci
表示原因
Ei
表示结果
输入输出关系
-
恒等
条件成立,则结果成立
~
非
条件成立,则结果不成立,或条件不成立,则结果成立
v
或
多种条件组合,只要有一个条件成立,结果就成立
^
与\且
多个条件必须同时成立,结果才成立
不同条件存在互相约束关系
E(约束)
约束:最多有一个条件成立
I(包含)
包含:至少有一个条件必须成立
O(唯一)
唯一:有且只有一个成立
设计用例
需求分析
找出所有的原因
找出所有的结果
找出什么样的输入条件组合会产生那种输出结果
画出因果图
将因果图转变为判定表
为判定表每一列表示的情况设计测试用例
应用场景
输入条件较多(>4)
正交法
概念
用最少的测试用例,获得最大的测试覆盖率
应用场景
当每个输入条件都有非常多种取值可能时
案例
Excel中,有多个控件,每个控件都有几十上百种取值
使用工具
正交表
一般标记为Ln(m^k)
k(因素,对应正交表的列数)
m(水平,输入条件的取值)
n(测试用例数,对应正交表中的行数)
读法
k因素n水平
测试用例步骤
需求分析
确定因素和水平
选择对应的正交表
用1开始的自然数代表输入条件和每个输入条件的取值
将正交表的列标题数字鹰条件名代替,表格内部数字用实际取值代替
测试用例,每行对应一条测试用例
场景法
概念
模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况
使用测试阶段
集成测试、系统测试、验收测试
设计测试用例步骤
需求分析
绘制流程图
设计测试用例(一条从起点到终点的路径就是一条测试用例)
案例
APP登录流程
错误推断法
概念
基于经验和智慧推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法
使用场景
对重要功能进行复测
任务急、时间紧、资源少
总结
测试用例的基础
理解需求、反映需求、忠于需求
自动化测试
概念
利用工具或代码代替人工完成对软件项目的测试过程,通过回放或运行脚本来执行测试用例
自动化测试覆盖
黑盒自动化测试
白盒自动化测试
性能测试
压力测试
界面测试
作用
节省人力、物力、时间、硬件资源等,提升测试效率。
可以实现人很难实现的一些操作,如:压力测试中模拟大量用户用时访问的情况
对比手工测试
手工测试
优点
灵活强,能发更多bug,对界面布局和源代码的更改不敏感
缺点
对于重复性的工作,不能充分利用人力
自动化测试
优点
解放测试人员的劳动力,可在夜间执行测试用例,有可移植性
缺点
执行对象是脚本,不想手工测试自由度高,且有些测试(UI测试),无法用自动化测试
分类
按产品分类
PC端产品自动化测试
Web端产品自动化测试
APP移动端产品自动化测试
按产品研发阶段
UI自动化测试
实现对图像化界面进行流程、功能等方面的测试,涵盖不同平台
自动化较少,UI自动化脚本难以保持稳定
接口自动化测试
测试系统模块间接口的请求和返回是否符合需求
实际工作中,做接口自动化的概率比UI自动化高,相关工具和框架也很丰富
单元自动化测试
对代码中的类和方法的测试,主要关注代码的实现细节
需求量大,对测试人员要求较高,多数时候由开发自己完成
场景
项目变动少
项目周期足够
项目资源足够
能够自动编译、自动发布的系统
多次重复、机械性动作
流程
在通用测试流程的基础上,增加了可行性分析、部署测试环境、编写测试脚本、维护测试脚本等步骤
常用工具
接口/UI自动化测试框架
Selenium
Jmeter
SoapUI
移动自动化测试框架
APPnium
monkey
monkeyRunner
单元测试框架
junit
pytest
unittest
Web自动化
Selenium
一个用于web和APP应用程序测试的工具
特点
开源软件
源代码开放可以根据需要来增加工具的某些功能
跨平台
linux、windows、mac
核心功能
可以在多个浏览器上进行自动化测试
多语言
java、python、c#、JavaScript、Ruby
成熟稳定
目前已经被google、百度、腾讯等公司广泛使用
功能强大
能够实现类似商业工具分大部分功能,因为开源性,可实现定制化功能
0 条评论
下一页