IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 测试工程师之进阶 -> 正文阅读

[开发测试]测试工程师之进阶

测试金字塔模型

UI界面层
功能验证测试
兼容性与用户测试
业务逻辑层
客户端模拟测试
接口测试
SDK接口测试
数据层
单元测试
code Review


金字塔特点
(1)从下到上三层测试,投入相同的时间,人力资源等,回报率越来越低
(2)从下到上,测试的效率越来越低
(3)从下到上,定位问题越来越难

按照开发阶段划分

单元测试(白盒测试)

	概念
		单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块
	测试内容:
		模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

集成测试(白盒测试)

	概念
		集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,
	对系统的接口及集成后的功能进行正确性检测的测试工作
	测试内容
		模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

系统测试(黑盒测试)

	概念
		将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试
	测试内容
		功能、界面、可靠性、易用性、性能、兼容性、安全性等

验收测试

回归测试

  回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

冒烟测试

		在正式测试之前对系统的主要流程和核心功能进行测试冒烟测试的对象
	是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,
	可以进行后续的正式测试工作。
		冒烟测试的执行者是版本编译人员。

验收测试(黑盒)

		验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,
	也称为交付测试。验收测试的目的是确保软件准备就绪,按照项目合同、任务书、
	双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。
		冒烟测试的执行者是版本编译人员。

按照实施组织划分

α测试

	α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操
作环境下进行的测试。(开发和测试人员不参加)

β测试

	Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个场所进行。

第三方测试

	介于开发方和用户方间的组织的测试

α测试和β测试的区别

	测试的场所不同:Alpha测试是指把用户请到开发方的场所来测试,beta测试是指
在一个或多个用户的场所进行的测试。
	Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。
beta测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。
	alpha测试先于beta测试执行。

按照代码是否运行划分

静态测试

	静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等
来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错

动态测试

	动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,
并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、
分析程序的输出结果

按照是否手工划分

手工测试

	手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,
属于比较原始但是必须的一个步骤

自动化测试

	就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。
简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程
	自动化测试实施的步骤
		1.完成功能测试,版本基本稳定
		2.根据项目特性,选择适合项目的自动化工具,并搭建环境
		3.提取手工测试的测试用例转化为自动化测试的用例
		4.通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期
		5.生成自动测试报告
		6.持续改进,脚本优化。
		测试的前提是:项目的功能要相对稳定
		自动化的价值:脚本的重复利用率越高,自动化越有价值

按照是否查看代码划分

黑盒测试

	黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,
只关心软件的输入数据与输出数据
黑盒设计测试用例的方法:等价类,边界值,因果图,错误猜测法,正交法,场景法

白盒测试

	白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指的打开盒子,
去研究里面的源代码和程序结果
		路径覆盖法
		逻辑覆盖发
		循环覆盖法

灰盒测试

	灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,
不仅关注输出、输入的正确性,同时也关注程序内部的情况。

按照地域划分

本地化测试

国际化测试

    软件的国际化和软件的本地化是开发面向全球不同地区用户使用的软件系统的两个过程。
而本地化测试和国际化测试则是针对这类软件产品进行的测试
下面是本地化和国际化测试 的一些要点。 1、本地化后的软件在外观上与原来版本是否存在很大的差异,外观是否墼齐、不走样。
2、是否对所有界面元素都进行了本地化处理,包括对话框、菜单、工具栏、状态栏、提示信息(包括声音的提示)、日志等。
3、在不同的屏幕分辨率下界面是否正常显示。
4、是否存在不同的字体大小,字体设置是否恰当。
5、日期、数字格式、货币等是否能适应不同国家的文化习俗。例如,中文是年月日,而英文是月日年。
6、排序的方式是否考虑了不同语言的特点。例如,中文按照第一个字的汉语拼音顺序排序,而英文按照首字母排序。
7、在不同的国家采用不同的度量单位,软件是否能自适应和转换。
8、软件是否能在不同类型的硬件上正常运行,特别是在当地市场上销售的流行硬件上。
9、软件是否能在Windows或者其他操作系统的当地版本上正常运行。
10、联机帮助和文档是否已经翻译,翻译后的链接是否正常。正文翻译是否正确、恰当, 是否有语法错误。
软件本地化和国际化测试是一个综合了翻译行业和软件测试行业的测试类型。它要求测 试人员具备一定的翻译能力、
语言文化,同时具备测试人员的基本技能。

按照测试对象划分

业务测试

	是测试人员把系统各个模块串接起来运行、模拟真实用户实际的工作流程,满足用户需求定义的
功能来进行测试的过程

界面测试

	界面测试(简称UI测试),测试用户界面的功能模块的布局是否合理、整体风格是否一致、
各个控件的放置位置是否符合客户使用习惯,
	此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正确,
命名是否统一,页面是否美观,文字、图片组合是否完美等

容错性测试

	容错性测试是检查软件在异常条件下自身是否具有防护性的措施或某种灾难性恢复的手段。
当系统出错时,能否在指定时间间隔内修正错误并重新启动系统
包括两个方面:
  	1、输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好,系统只给出提示
或内部消化掉,而不会导致系统出错甚至崩溃。
    2、灾难恢复性测试。通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据
 是否丢失,系统和数据是否能尽快恢复。

兼容性测试

	兼容性主要是指软件之间能否很好的运做,会不会有影响、软件和硬件之间能否发挥
很好的效率工作,会不会影响导致系统的崩溃
  兼容性测试的点
		1.平台测试
		2.浏览器测试
		3.软件本身能否向前或者向后兼容
		4.测试软件能否与其它相关的软件兼容
		5.数据兼容性测试

易用性测试

	易用性(Useability)是交互的适应性、功能性和有效性的集中体现

安装卸载测试

	测试程序的安装、卸载

性能测试

	性能测试的关注点
		1,对资源利用(如内存、处理机周期等)进行的精确度量
		2,对执行间隔,
		3,日志事件(如中断,报错)
		4,响应时间,
		5,吞吐量(TPS)

安全性测试

	安全测试是一个相对独立的领域,需要更多的专业知识。例如web的安全测试,需要熟悉各种网络协议TCP\HTTP,
防火墙,CDN,熟悉各种操作系统的漏洞,熟悉路由器等。从软件来说,熟悉各种攻击手段,例如SQL注入、Xss等

内存泄漏测试

	原因
		1、最常见的有以下几种。
		2、分配完内存之后忘了回收。
		3、程序写法有问题,造成没办法回收。
		4、某些API函数的使用不正确,造成内存泄露。
		5、没有及时释放。
	检测方法
	1、对于不同的程序可以使用不同的方法来进行内存泄露的检查,还可以使用一些专门的工具来进行内存问题的检查,
例如MemProof. AQTime、Purify、BundsChecker等。 有些开发工具本身就带有内存问题检查机制
要确保程序员在编写程序和编译程序的时候打开这些功能。
2、通过代码扫描分析工具来检查
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:53:24  更:2021-08-15 15:53:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 -2025/2/5 19:31:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码