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 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 自动化测试-1 -> 正文阅读

[开发测试]自动化测试-1

自动化测试简介

自动化测试的发展

软件质量与软件测试

软件质量测试,简称为软件测试,是运用人工手段或利用测试工具来运行或测试某个系统的过程,目的在于检验该软件系统是否满足预先设定的设计需求。

软件测试一般分为功能测试和性能测试,共同点是需要利用测试工具按照测试方法和流程对产品进行测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

单元测试、集成测试、系统测试、评估测试

测试用例设计、环境搭建、手工测试、自动化脚本开发、自动化测试、创建及更新测试文档、用例及脚本维护等步骤。

手工测试和自动化测试

手工测试是指测试人员根据测试用例,依次对软件产品进行输入等操作并对比实际结果和预期结果的软件手段。

自动化测试,特定软件产品的自动化测试,是在预设条件下运行系统或应用程序,评估运行结果,包括测试过程自动化和测试结果分析自动化。

和手工测试的一个显著区别是,自动化测试不会因测试人员的不同而产生不一致的测试结果。

自动化测试的发展

简单的录制/回访:
在手工执行测试用例的同时,自动化测试工具录制并记录数据和操作的过程形成脚本代码,通过回访来重复录制的人工操作的过程。

这种模式下,数据和执行动作混杂在一起,几乎一个测试用例对应一个脚本,没有可重复性。而且即使界面的简单变化也需要重新录制,维护成本高

数据驱动的自动化测试:
从数据文件读取输入数据,通过变量的参数化,将测试数据传入测试脚本,不同的数据文件对应不同的测试用例。
这种模式下数据和脚本分离,脚本的利用率,可维护性大大提高,但受界面变化的影响仍然很大。

关键字驱动的自动化测试
将测试逻辑按照关键字进行分解,封装在数据文件中,关键字对应封装的业务逻辑。测试工具只要能够解释这些关键字即可对其应用自动化。主要关键字包括三类:被操作对象、操作和值,用面向对象的形式可将七表现为值。

关键字驱动的主要思想是:脚本与数据分离,界面元素名与测试内部对象名分离,测试描述与具体实现细节分离。

自动化测试的流程

创建及更新测试用例文档
标注该用例是否适合自动化测试。
在开发自动化测试脚本之前,将每一步手工测试的步骤及验证点设计为自动化测试用例文档,这样做不仅仅是作为自动化测试的一个存档和记录,对于不熟悉产品但是专职从事自动化开发的人员还可以凭借这份文档开发出和手工测试一样流程的脚本。

测试框架设计:测试框架是自动化测试开发过程中最重要的环节,所有测试脚本都基于测试框架开发,因此测试框架要具备健壮性和可复用性。
测试框架在设计时要尽量考虑通用性和可扩展性,以便产品发生变更时对测试框架或脚本只需要做出少量修改即可。同时,测试框架还需要自动化测试的一些辅助功能。

开发测试脚本:测试脚本是基于自动化测试框架,完成产品具体测试用例的代码。

执行自动化测试用例:自动化测试脚本开发完毕,在产品测试环境搭建完成后,即可开始执行自动化测试用例。

脚本维护:由于产品的功能性变更,自动化测试脚本也需要做相应的修改,这就是脚本的维护。

创建更新测试用例文档、测试框架设计、开发测试脚本、执行自动化测试、脚本维护、

自动化测试的优点和缺点

优点:
1、缩短测试时间、节约测试人力
2、结果准确,无人为误差
3、能模拟手工测试难以提供的测试数据
4、释放测试人员资源

缺点
1、自动化测试适用于软件后期的回归测试、性能测试和压力测试,前期的功能测试仍以手工测试为主。而且由手工测试更有想象力,具备一定的偶然性,因此更容易发现缺陷。

2、自动化测试不适用于界面变动非常频繁的产品,开发人员频繁的改动会导致自动化测试开发和维护脚本的成本直线上升。

3、自动化测试需根据产品的规模、生命周期、测试人员的人数等因素综合评估

4、自动化测试很难发现新的缺陷

自动化测试决定

项目评估

1、公司的测试流程规范吗?
2、产品适合开展自动化测试吗?
3、软件项目是否适合开展自动化测试?
4、是否具备自动化测试环境

自动化测试更适用于以下软件产品
自动化测试的模块界面变化相对不大
软年生命周期畅,经常推出新的版本
软件开发已基本完成,主要用于测试升级版本

测试工具调查

软件测试自动化通常给借助测试工具执行,测试工具可以进行部分测试设计、实现、执行和比较的工作。

测试方法不同:白盒测试工具和黑盒测试工具

测试的阶段和目的不同,单元测试工具,功能测试工具,性能测试工具,负载测试工具,和回归测试工具

测试对象不同,web测试工具,数据库测试工具,嵌入式测试工具和测试管理工具

功能测试选择自动化测试通常考虑的因素包括该工具是否由能力记录业务流程并生成脚本程序;
是否支持软件产品开发所使用的编程语言以及运行平台
是否能准确表现和分析测试结果

软件自动化测试的现状和发展

自动化测试职业化

1、初级测试功能师–入门级,具有一些手工测试经验,对相关测试产品有初级的认识,了解一定的测试生存周期理论和测试技术

2、测试工程师–编写独立的测试工具

3、高级测试工程师

4、项目组长

5、测试经理

6、产品经理

7、测试咨询和测试培训人员

8、测试工具开发人员

9、测试书籍写者或者翻译者。

自动化测试的维护成本

1、测试产品的生命周期和变更情况
2、测试脚本本身的可维护性和健壮性
可用性
可维护性和可扩展性
可靠性

考虑的因素
1、测试功能单一化
2、减少脚本依赖性
3、使用数据驱动架构

未来的发展方向

1、采用标准化架构
2、提高自动化测试的覆盖率
3、扩大培训力度和知识分享覆盖面
4、挖掘层次更深入

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:12:40  更:2022-04-18 18:14:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:31:21-

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