本
文
摘
要
测试基础知识总结
1.按测试行为划分
a.安全性测试:检查系统是否存在被入侵的风险
b.恢复测试:系统从一个奔溃/紊乱的状态恢复到正常运行的状态,检查数据/系统是否有发生不可修复的错误
比如:服务器突然断电,来点之后,先检查断电前进行的操作是否有丢失数据
c.可移植性测试:被测系统是否可以完整的在另一个平台(硬件/操作[web/win/Linux/os])正常运行
d.引导测试:检查被测系统对于初次使用的用户,是否有引导信息,目的是为了在最短的时间内,让用户可以掌握系统的基本用法
e.随机测试:没有任何的测试用例/测试的依据/参考,全凭借测试人员自己的想法随机在系统上面进行的测试行为
f.健全测试:功能是否健全、系统健全(有一定的安全防范机制)
2.按照受否借助测试工具/代码:
手动:测试人员所有的测试行为全部都是依靠手动来完成的
自动:测试人员在测试进行过程中,借助了工具或者代码来完成的测试
3.按照测试地点的不同:
a.国际化测试:语言、网络、其他环境(电压)
b.本地化能力测试:系统提供了用户自行切换语言的功能
c.本地化测试:本地化版本(汉化)
4.按照测试结果划分:
通过测试:pass,测试系统能否通过需求
失败测试:fail,使用系统明确要求不能使用的数据进行测试
5.按照阶段/时间划分:
单元测试——集成测试——(确认测试)——冒烟测试——系统测试——回归测试——验收测试——预发测试——线上测试
a.单元测试:开发人员走读代码,检查代码中是否存在问题
b.集成测试:单元测试没有问题的情况下,将不同的单元集成到一个模块中,保证不同的单元之间数据的流通是正确的
c.系统测试:将通过确认测试的软件,在实际运行环境下,进行测试,对计算机系统进行全面的功能覆盖
d.确认测试:开发负责人对开发所写代码进行确认
e.验收测试:测试人员完成了测试工作之后,要求其他人员对被测系统进行的一种测试工作,目的是为了保证测试人员测试之后所有的需求是已经正确实现
其中包括:
α测试:公司内部人员进行的测试
β测试:非公司内部人员
6.bug
a.分类
致命:会导致系统崩溃、会影响硬件
严重:系统功能未实现,数据会丢失
一般:系统功能实现,功能模块实现有问题
轻微:不影响系统功能使用的bug
测试方法知识总结
1. 等价类
概念:依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
有效类:符合需求规定的输入的值 #有效类一般只需要填写一个
无效类:不符合需求规定,或者是需求明确要求不能输入的值 #无效类的个数根据需求来确定
什么样的需求可以使用等价类:
a.明确了输入的范围:至少可以设计一个有效类和两个无效类
b.明确规定了输入的 *** 或者明确说明了必须输入什么内容: *** 中每一条数据都是一个有效类和 *** 外的一个无效类
c.明确规定了输入值是一个bool值(True):需要设计一条有效类(True)和一条无效类(False)
d.明确规定了输入数据的格式:至少有一个有效类(符合规定格式的数据)和若干个无效类(不符合规定格式的数据)
2.边界值
概念:测试边界上的值
划分:
上点:边界上的点
内点:范围内的点
离点:范围外距离边界最近的点(闭区间:范围外最近;开区间:范围内最近)
边界值与等价类的区别:
a.边界值是特定明确的值,不是从某等价类中抽取一个作为代表,而是每个边界值都要作为测试条件。
b.等价类是范围值,边界值是从范围中抽取特定的几个。
c.边界值是为了准确的测试边界效应,等价类是为了在有限测试成本内控制测试范围并尽可能多的覆盖。
d.边界值是对等价类的补充
测试顺序:
先整体——在局部——按照功能键顺序
3.因果图
概念:判断输入和输出之间的关系(输入条件之间、输出结果之间、输入条件和输出结果之间)
使用场景:存在多个输入条件,且不同的输入条件组合会产生多个不同的结果
关系:
原因和结果之间的关系:恒等、与、或、非
原因和原因之间的关系:排他性约束
因果图使用步骤:
a.排查出需求中所有的原因和结果
b.确定原因和结果的关系(画因果图)
c.写判定表。根据因果图梳理判定表,就是讲原因和结果的组合以表格的形式展示,去掉不合规的组合情况(不符合常识、不合需求)
d.根据判定表来编写测试用例
4. 正交排列方法
适用条件:存在多条件组合的情况
因素数:被测(页面元素)对象的个数
水平数:每一个被测对象可以取值的个数
L(行数)=水平数^因素数
正交排列测试用例设计步骤:
a.查找水平数和因素数(因素数可以多,但是不可以少)
b.根据水平数和因素数查找最接近的正交表
c.添加可疑用例
d.整理出每一行的排列方式,将其直接编写为测试用例
不规则水平数和因素数,如何查找确定正交表:
a.正交表查找因素数和水平数都大于目标因素数和水平数的正交表
b.如果有多个合适的正交表,筛选出和原始因素数、水平数最接近的
c.过滤掉正交表中所有多出来的因素数和水平数,多出来的值全部设置为0
d.增加一些可疑用例
查正交表网址:
①https://www.york.ac.uk/depts/maths/tables/orthogonal.htm
②http://support.sas.com/techsup/technote/ts723_Designs.txt
5.状态图
概念:对于系统的初始状态施加各种允许的事件,查看初始状态可以进化为其他几种状态,依次给各种状态继续施加事件,直到达到了最终状态
状态图的操作步骤:
a.确定初始状态,查找所有的事件(动作)
b.对初始状态施加所有的事件,找出所有的二级状态
c.对所有的二级状态继续施加所有的事件,直到各自状态达到最终状态
d.(设置状态图表)将每一条状态图支线设计为用例
状态验证:
验证代码中不同的数据进入的时间不同的话,代码逻辑是否依然是正确的
# 即先操作第一步再操作第二步 和 先操作第二步再操作第一步 结果是否一致
6.场景法
关注点是系统运行的场景/流程
基本流:系统运行的基础流程(基本功能)
备选流:来自于基本流,流向不同的功能流程上 #最终流向可以有结果也可以没有结果