目录

测试基础测试分类和测试方法

测试基础——测试分类和测试方法

(4)软件测试分类

按方向: 功能测试、性能测试、安全测试

功能测试和单元测试的区别:对象不一样,功能测试的对象是一个完整的业务功能。单元测试的对象是一个代码片段,比如类 、几口。

性能测试:压力测试、负载测试、并发测试

负载测试主要关心用户规则和需求,压力测试关心的是系统本省

并发测试单独提出来,是因为并发测试往往涉及服务器的并发容量,以及多进程/多线程协调同步可能带来的问题

基准测试,当软件系统增加一个新的模块的时候,就要做基准测试,以判断新模块对整个软件系统的性能影响。按照基准测试方法,需要打开/关闭新模块至少一次

稳定性测试,测试系统在一定负载下运行长时间是否会发生问题

按方法: 黑河测试、灰盒测试、白盒测试

按状态: 静态测试、动态测试

按阶段: 单元测试、集成测试、确认测试、系统测试、验收测试

新型开发模式:测试驱动开发

单元测试目的:检测程序模块中有没有故障

单元测试对象:软件设计中的最小单位

什么是单元:一个函数:类或者类内的成员函数;几个函数的集合

单元测试步骤:人工静态检查;动态执行跟踪

集成测试目的:检查接口之间的问题

集成测试的对象:单元之间的接口

集成测试前提:单元测试已经通过

集成测试方法:非渐增式集成测试;渐增式集成测试方法;三明治集成测试方法

A、非渐增式集成测试法,别称大爆炸集成测试法,一次性集成测试法

净式软件工程:开发出接近零缺陷的软件

B,渐增式集成测试法:自顶向下;自底向上(常用)

C,三明治集成测试法:混合增量式集成方法,混合  了自顶向下和自底向上的优点。

把系统划分成三层,中间一层叫做目标层,目标层上面是自定向下,目标层下面是自底向上

https://i-blog.csdnimg.cn/blog_migrate/487bf3ed0f95e8e1e0cfcb62e23aec86.png

集成测试的分类:对于传统软件,按集成粒度不同:模块间集成测试;子系统内集成测试;子系统间集成测试

单元测试和集成测试的区别:测试对象不同、测试方法不同、测试时间不同:单元测试最早吃;测试内容不同:单元测试程序的逻辑、集成测试各个模块的连接。

系统测试:在使用环境下对整个系统进行测试。

系统测试目的:对系统中各个组成部分进行的综合性检验,证明系统性能。

系统测试与功能测试的区别:系统测试还要包括压力测试、容量测试、性能测试等等。

系统测试包含:业务流程测试(功能测试)、UI测试、兼容性测试(浏览器和手机)、稳定性测试、(能运行7*24小时),健壮性测试(容错测试)、争用测试(两个同类型产品运行不冲突)、压力测试(强度测试)、负载测试、并发测试、弱网测试、文档测试、场景交互测试、恢复测试(克服硬件问题)、安全性测试、性能测试、可靠性测试、安装测试、容量测试、

系统安全设计的准则:非法入侵的代价超过了被保护信息的价值

容量测试:测试某个指标的极限值,测试在此极限值下能维持多久

验收测试(交付测试):在产品发布前的测试。根据产品规格说明书,严格的检查产品,查看产品是否符合说明书规定的功能。有用户参与进行测试。

按对象: APP测试、web测试、小程序测试、嵌入式测试等等

其他: 人工测试、自动化测试;冒烟测试;回归测试;alpha测试,beta测试

人工测试:人为测试和手动测试;人为测试:桌前审查、代码检查、走查;手动测试:按测试计划手动执行程序

自动化测试:用测试工具进行测试,并分析

冒烟测试:测试前的测试,在测试前的可测试性测试,比如app不可安装

回归测试:修改代码后重新进行测试,存在整个软件的生命周期中,反复进行、

alpha测试:非正式验收测试,内测,内部用户进行测试

beta测试:公测,实际用户参与使用

(5)软件测试方法

A、等价类划分法(黑盒测试): 根据说明书对输入数据进行划分,划分成互不相交的子集,在这些子集中取若干个测试用例进行软件的测试。

步骤:1. 分类  2.取样

有效等价类和无效等价类数据

a,输入数据是布尔值

b,输入条件已经规定了取值范围或者个数。有效等价了一个,无效等价类两个

c,输入条件已经规定了输入值的集合,无效等价类一个,集合外

d,输入条件已经规定了多个输入值,并且每个输入值都有对应的处理结果

e,输入条件规定了几个规则,多个有效等价类和多个无效等价类

https://i-blog.csdnimg.cn/blog_migrate/3858cc909acb56b0b1770fe1cd93bb5c.png

https://i-blog.csdnimg.cn/blog_migrate/ce7908c3d521ce2b18f094be1da87611.png

B,边界值分析法

边界条件/次边界条件(内部边界条件)

对于一个有n个变量的程序,通过边界值分析法会产生4n+1个测试用例

健壮性测试:会产生6n+1个测试用例。有两个超出边界的值。

实际运用

加法计算,计算两个整数之间的和,取值范围:1-100

https://i-blog.csdnimg.cn/blog_migrate/970bd9d75360faf66d1a628bbd9d1c9c.png

https://i-blog.csdnimg.cn/blog_migrate/8d60a35bc7a69590eed27e64e739196f.png

C,决策表法(判定表法)

利用决策表法能够把测试用例一一列出,不容易遗漏

条件——活动            决策表一列=一条规则=一个测试用例

a,条件桩:列出问题的所有条件

b,动作桩:列出问题规定的可以采取的动作

c,条件项:列出针对条件桩的取值

d,动作项:列出在条件项的各种取值情况下可以采取的动作

步骤:1、列出所有的条件桩和动作桩

2、确定规则个数

3、填入条件项

4、填入动作项

5、简化(合并)

简化:合并相似规则。

实际运用

题目:输入年月日,输出后一天日期

取值范围:2020<=year<=2050,1<=month<=12  1<=day<=31 是整数

1、列出所有的条件桩和动作桩

Y1:是闰年

Y2:不是闰年

M1:30天

M2:31天,12月

M3:12月

M4:2月

D1:   1<=day<=27

D2:day=28

D3:day=29

D4:   day=30

D5:   day=31

条件桩:

C1:月份在M1,M2,M3,M4之间任意一个

C2:日期在D1,D2,D3,D4,D5,之间任意一个

C3:年在Y1和Y2之间任意一个

动作桩:

A1:是不可能

A2:日期加一

A3:日期重新变成1

A4:月份加一

A5:月份重新变成1

A6:年加一

https://i-blog.csdnimg.cn/blog_migrate/9d710ef5e2204abf5a55ef76aec649d1.png

https://i-blog.csdnimg.cn/blog_migrate/4ad0fc732f8470eceb888386b30b11c5.png

https://i-blog.csdnimg.cn/blog_migrate/99945cc29fe17f33e864c7f2b3133195.png

D,因果图法

因——输入条件;果——输出结果

利用图解法分析软件的输入条件和输出条件之间的关系

关系:输入与输出之间的关系

输入与输入之间的关系、 https://i-blog.csdnimg.cn/blog_migrate/7dda61176b541609b42d6e0f00ed033a.png

约束:输入条件约束:输出条件约束

https://i-blog.csdnimg.cn/blog_migrate/070c7d93f651f9f72f0681c6ee6bcd46.png

步骤: 分析——关联——转换——输出

实际运用:自动贩售机里面只有可乐和奶茶,只能现金支付,一次只能投入一张纸币,金额只能是5元和10元。可乐5元一瓶,奶茶10元一瓶。

第一步:分析:输入条件,它们之间的制约关系

输入条件:1投入5元纸币;2投入10元纸币;3按可乐按钮;4、按奶茶按钮

输出结果:a.出来可乐;b,出来奶茶;c,错误提示 d。找零(退还)

制约关系:1和2 互斥(E),3和4互斥(E),

https://i-blog.csdnimg.cn/blog_migrate/1467b59ca6164cbb95b41faa6207c606.png

因果图

第二步:关联

第三步:转换

https://i-blog.csdnimg.cn/blog_migrate/c2c824bf4417eb9bb2f14f3bee1ee7aa.png

E、功能图法

定义:描述程序的状态变化过程

功能图模型:状态迁移图、逻辑功能模型

https://i-blog.csdnimg.cn/blog_migrate/87f86ac059757e34985824ecee06e56a.png

https://i-blog.csdnimg.cn/blog_migrate/40cd96497f2a6b318c707483308adc1f.png

F 错误推测法(猜错法)

定义:尽可能的列出程序中会出现的错误

G 正交实验设计法(百度百科)

多因素多水平(多输入条件的不同取值)

实例:

因素:操作系统;浏览器

水平(取值):操作系统:Windows系统;Linux系统;Mac系统

浏览器:IE浏览器;谷歌浏览器;火狐浏览器

https://i-blog.csdnimg.cn/blog_migrate/e9e2eacad80e11ffbcf567ba27841008.png

https://i-blog.csdnimg.cn/blog_migrate/f82c779e428c29048ea02a4f5a4eb53e.png

https://i-blog.csdnimg.cn/blog_migrate/014d5c41336d1d8588308b9730add1eb.png

https://i-blog.csdnimg.cn/blog_migrate/6c70a43e843aa64346a202bbd09d4e42.png

H 场景法

用于测试业务流程

业务流程:基本流、备选流、异常流程

不能测试单点的流程

I  路径覆盖法

定义、步骤、小例子、优缺点(学习流程)