概述
按测试对象分类:
1.性能测试
定义:自动化测试为主,人工测试为辅,通过自动化测试工具模拟多种正常,峰值以及异常负载条件来对系统各项性能指标进行测试
目的:主要是验证软件系统是否能够达到用户提出的性能指标
性能测试的分类
a 应用在客户端,其中并发性是重点
b 应用在网络上,利用自动化技术进行网络性能监控
c 应用在服务端,可采用监控工具
性能测试的方法
a 性能的业务测试(将模拟业务压力量与测试场景相结合)
b 基准测试(无压力的情况下测试)
c 负载测试(测试系统的极限点,有压力的测试)
d 并发测试(验证系统对n个用户并发请求时的支持处理)
狭义:所有用户在同一时间点进行同样的操作
广义:多个用户与系统发生了交互,交叉请求和处理较多
e 渗入测试(使用固定数目的并发用户测试系统的总体健康性)
f 负载测试(增加用户数量以对应用程序进行压力测试)
!还要了解性能测试的名词: 吞吐率、吞吐量、资源使用率等
2.安全测试
定义:
a 安全测试是验证应用程序的安全服务和识别潜在安全性缺陷的过程
b 是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程
常用术语
a 易受攻击性:是网络应用程序的一个软肋,造成这个软肋的原因可能是程序中的bug或者已存在的病毒
b url处理:一些网络应用程序通过url在客户端(浏览器)或服务器端之间进行额外信息传递,有时在url中改变的信息可能会导致服务器不可预期的结果
c sql注入:通过网络应用的用户接口插入sql指令到服务器所执行的查询中去的过程
d XSS(跨站式脚本攻击):当一个用户通过Web应用接口插入HTML代码,而这种嵌入其中的代码对于其他用户是可见的
e “欺骗”: 完全仿造网站或电子邮件的赝品
安全测试与普通测试的不同
1、测试的目标不同,普通测试的目的是发现bug,安全测试已发现安全隐患为目标
2、假设条件不同,普通测试是用户的角度,安全测试是攻击者角度
3、思考域的不同,普通测试是系统功能,安全测试还有系统的机制,外部环境,安全属性等;
4、问题发现模式不同,普通测试以违反功能定义为判断依据,安全测试以违反权限与能力的约束为判断依据
安全测试的检查点
1 : 验证输入/数据类型(字符串;)/字符的大小长度/空值/参数是否是必须的/重复是否允许等
2:有问题的访问控制,主要用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址;
3:各级访问权限是否合理
4:注入式漏洞,用户登录处、不用登录可以查看到的数据库中的数据列表尤为重要
5:表单提交安全测试 (有表单提交的地方、有HTTP请求的地方,包括GET、POST请求)
6:没有加密关键数据
7:不恰当的异常处理,程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞
8:URL安全测试
安全测试的工具
OWASP Zap(https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project )、Burp(https://portswigger.net/burp/ )
3.兼容性测试
定义
指对所设计程序与硬件软件之间的兼容性测试
类型
浏览器兼容测试、屏幕尺寸和分辨率兼容测试、操作系统兼容测试、不同设备型号兼容测试
4.文档测试
定义
针对软件工程中各环节文档,检查其完整性,正确性,一致性,易理解/浏览性的测试
5.用户体验测试
定义
指用户访问网站或者使用一款软件时的全部体验
核心和本质
满足用户需求,超出用户期望
6.业务测试
定义
对照需求测试,测试需求中的功能点是否都实现,且实现的功能与需求描述相符合
7.界面测试
定义
功能模块界面上看到的所有元素(包括文字、控件等)颜色风格是否统一,布局是否合理、美观,符合用户习惯等
目的
核实用户与软件之间的交互,确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能
web端界面测试要点
进入一个页面首先检查标题,页面排版,字段等,而不是马上进入文本框校验
(1)页面名称title是否正确
(2)文字格式统一性,字体属性是否正确
(3)元素大小是否合适,元素内容是否显示正确、易懂、友好
(4)排版是否整齐,界面元素是否对齐方式统一
(5)列表项显示字段是否齐全,列表项字段名称是否跟表单统一
(6)同一页面,是否出现字段名称相同、值取不同的问题。
(7)数据加载情况。
移动端界面测试要点
(1)文案:字体、字号、格式、规范(标题和正文、中英文换行、错别字、大小写、全半角标点);
(2)图片:类型、大小、尺寸、是否变形;
(3)布局:尺寸大小、位置合理、排序规律、对齐方式
(4)控件:对话框、文本框、滑动滚轮、上下微调按钮、选项按钮
(5)快捷键:是否重复、如何切换、是否冲突、和系统常用快捷键冲突、和其他软件快捷键冲突、常用键盘键
按开发阶段分类
1.单元测试
定义
是一种验证行为,是指对软件中的最小可测单元进行检查和验证,在于发现模块内部可能存在的错误,主要基于白盒测试
目的
检查单元模块内部的错误,为软件的评审验收提供依据
内容
局部数据结构 :变量没有赋值/变量是数值
主要边界:最小值最大值无穷大
溢出边界:期望异常拒绝服务,最小值-1最大值+1
…
2.集成测试
定义
也在组装测试或联合测试 在单元测试的基础上 将所有模块按照设计要求 组装成为系统
目的
按照设计要求使用那些通过单元测试的构建来构造程序结构,确保各单元组合在一起能够运行,确保增量行为正确
3.系统测试
定义
基于集成测试做一个总的测试
目的
验证最终软件系统是否满足用户规定的的需求
主要内容
从用户角度出发/从应用角度出发/从系统功能方面出发…
类型
功能测试/性能测试/负载/容量/安全性/配置…
目标
1.确保系统测试的活动是按计划进行的
2.验证软件产品是否与系统需求用例不相等
3.建立完善的系统测试缺陷记录
4.确保软件系统测试活动及其结果及时通知相关小组和个人
假如测一个东西
要从功能性 界面 性能 安全 可用性…
方法
1 人工 2 自动化 3 自动化工具 4 多任务测试 5 临界测试 6 中断测法
4.验收测试
定义
是一个以用户为主的测试,一般是在软件系统测试结束以及软件配置审查之后开始的 验证软件系统的功能和性能及其他特性是否与客户要求一致
前提条件
1 软件开发已经完成 并全部解决了已知的软件缺陷
2 计划已经过评审并批准 并且置于文档控制之下
3 对然间需求说明书的审查已经完成
4 对所有关键模块的代码审查已经完成
5 对概要设计详细设计的审查已经完成
主要过程
1 要了解软件功能和性能要求 软件 硬件的 软件要求
2 要了解软件的质量要求和验收要求
3 要编制《验收测试计划》
4 要编制《项目验收准则》
主要内容
1 软件是否满足合同规定的功能和性能
2 文档资料是否完整
3 对功能 网络 软件安装 性能 集成 系统测试的测试用例进行回归测试
非正式验收测试
a测试: 是用户在开发环境下对的测试,由开发人员和测试人员进行,主要是对使用功能和仍无进行确认(公司内部)
β测试:由真实的用户去操作
按测试执行方式
静态测试
定义
被测程序不运行,只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。即通过对软件的需求规格说明书、设计说明书以及源程序做结构分析和流程图分析,从而来找出错误。
动态测试
定义
被测程序不运行,只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。即通过对软件的需求规格说明书、设计说明书以及源程序做结构分析和流程图分析,从而来找出错误。
指无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量
程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率。
按是否查看代码
黑盒测试
定义
把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
作用
1 是否有功能错误和遗漏
2 在接口上是否能够正确地接收输入数据并产生正确的输出结果
3 是否有数据结构错误或外部信息访问错误
4 是否有程序初始化和终止方面的错误
5 界面是否有错误
6 性能上是否满足需求
优点
1 从产品功能角度测试可以最大程度满足用户的需求
2 相同动作可重复执行,最枯燥的部分可由机器完成
3 依据测试用例针对性地寻找问题,定位更准确,易生成测试数据
4 将测试直接和程序,系统要完成的操作相关联
缺点
1 代码得不到测试
2 如果规格说明设计有误很难发现
3 测试不能充分的进行
4 结果取决于测试用例的设计
对于测试工作的意义
1 有助于对被测产品进行总体功能的需求进行验证
2 不需要对代码进行测试管理
3 容易查出程序中的错误
方法
等价类划分法
概念: 指某个输入域的子集合,在该集合中,所有输入数据对于揭露软件中的错误都是等效的
分为:有效等价类(程序规格说明有意义,合理的输入数据)
无效等价类(程序规格说明没有意义,数据输入不合理)
数字类型/非数字类型
例子:满分150 及格分数80 的字段进行等价类划分
数据范围: 0-150(分数总范围) 0-80(及格范围)
数据类型:整数 非整数
边界值划分
概念: 它是对等价类划分的一个补充,边界值一般都是从等价类的边缘去寻找
作用:大量的错误是发生在输入或输出范围的边界上而不是在输入范围的内部
分析的基本思想: 正好等于/刚刚大于/刚刚小于边界值的值作为测试数据还有0和负数
例子:一共有23人,学号范围是1-23
学号边界值为: 1 23 0 -1 23 24 2
错误推算法
明治不可为而为之
它的边界值,字符:正常长度 最大长度 最大长度+1 最大长度-1,空值,只有空格,字符前后都有空格
场景法
可以比较生动地描述出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易执行和理解
因果图法
是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,适合于检查程序输入条件各种组合情况
白盒测试
与侧重于功能的黑盒测试相反,白盒测试方法的目标是对软件的内部结构、及其背后的逻辑进行分析
静态测试 / 动态测试
灰盒测试
用于测集成模块之间的接口数据
按测试实施组织
a
是内测也就是内部测试
β
是公测
比如一个游戏先进行内部测试,再发出去进行公测
第三方
既不是软件开发人员也不是软件用户的人来测试软件。这时候一般需要引入一个可靠、公正、相互认可的第三方评测机构进行测试和检验。就像公证人一样,这种方式发布的测试结果是公正的,不偏向任何一方,可以更好的评价软件的整体性能
按测试地域划分
本地化测试
国际化测试:
国际化是让您的应用能够适应不同语言,地区和文化的过程。 由于单一语言可用于世界的多个地区,因此您的应用程序应适应人们居住地区的地区和文化习俗。 一个国际化的应用程序看起来好像它是一个支持所有语言和地区的本地应用程序
最后
以上就是洁净御姐为你收集整理的测试的分类的全部内容,希望文章能够帮你解决测试的分类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复