软件测试技术实战 设计、工具及管理》联载-30

简介: 软件测试技术实战 设计、工具及管理》联载-30

7.2.6  自动化测试可以覆盖软件测试中的每个阶段


很多刚入门的软件测试的新手往往认为自动化测试只限于系统测试和验收测试,而不适用于单元测试和集成测试,其实,这不完全正确。开源工具JUnitCPPUnit以及ParaSofy公司出品的JtestCtestC++testGoogle公司开发的GTest等工具都是基于单元测试或集成测试、它们除了可以完成单元测试和集成测试工作外,有些还具有代码书写规范检查的功能,启动运行这个模块,可以对代码参照预先定义好的规范进行检查,如果某些代码违反了规范,系统会给出可视化的提醒。


7.2.7  软件测试自动化是敏捷开发强有力的工具


众所周知,敏捷开发强调的是开发的快速性,是“短平快”的开发方式,这必然增大开发工程师、软件测试工程师以及运行维护人员的工作压力。如果能对某些功能,尤其是回归测试中涉及到的功能进行自动化测试,让这些功能在版本发布前自动运行,甚至是釆用持续集成(CI)的策略:即每天晚上,从版本控制管理软件中获取已经Check In的老的及新加入的产品和测试代码,然后对这些产品和测试代码分别进行自动化编译,再利用新编译好的测试代码去测试产品代码,直到最后测试完毕,系统会自动将测试报告发到相应的每个开发和软件测试工程师以及其他干系人的邮箱里,以便开发工程师、软件测试工程师第二天一早到公司就可看到测试报告,并对没通过的测试用例在第一时间内进行排查。这样就部分解决了敏捷开发中时间紧工作压力大的问题,提高了测试的效率。


7.2.8  不要盲目选用现有的自动化测试工具


目前市面上有许多自动化测试工具,如本节开始部分提到的那些产品。许多书籍对这些工具的使用方法和技巧进行了系统介绍,有的测试培训中心还将这些软件测试工具作为专门的课程进行教学,这些都是必要的。但这些工具不是万能的,在实际工作中,还要充分结合产品自身的特性,了解这些自动化测试工具是否可以达到测试自己产品的目的,而不要盲目使用。事实上,如果这些现有的自动化测试工具达不到测试自己产品的目的,那么可以建立专门的自动化测试开发小组,自己开发出符合自己产品测试需求的自动化测试工具,这虽然要消耗一些时间和人力,但由于自己开发的自动化测试工具是针对自身产品开发的,因此使用起来效率高速度快。此外,那些现有的自动化测试工具价格都比较昂贵,所以建立自动化开发小组往往还可以节约成本


最后来看各种类型的自动化测试工具的利与弊。


7.2.9  各种类型的自动化测试工具的比较


各种类型测试工具的比较见表7-1


7-1                                                   各种类型测试工具的比较

类型

优点

缺点

开源

无需购买

可以改动代码

……

质量较差

没有售后服务

可能不符合公司业务

……

商用

有售后支持服务

质量可靠

……

价格贵

可能不符合公司业务

……

自开发

无需购买

符合自己产品

……

开发周期长

……

 

 

扩展阅读:自动化测试知识体系(ABOK

1)自动化在软件测试生命周期(STLC)中的角色

2)测试自动化的类型和接口

3)自动化工具

4)测试自动化框架

5)自动化框架设计

6)自动化测试脚本思想

7)质量优化

8)编程思想

9)自动化对象

10)调试技巧

11)错误处理

12)自动化测试报告

http://www.automatedtestinginstitute.com/home/index.php?option=com_content&view=category&id=69&Itemid=95


注:本书中扩展阅读大部分来自于百度百科,请见参考文献【6】。


扩展阅读:数据驱动与关键字驱动


1.数据驱动

数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。数据驱动测试注重于测试软件的功能性需求,也即数据驱动测试使软件工程师派生出执行程序所有功能需求的输入条件。数据驱动测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。


数据驱动,必须有数据来控制测试的业务流。比如测试一个Web程序,有很多页面,可以通过一个数据来控制每次是在哪个页面下工作的(即通过数据来导航到相应的页面)。它是关键字驱动的低级版本,它控制的是函数级的,而关键字是控制动作级的。所以数据驱动应该是可以控制整个测试的。


2.关键字驱动

关键字驱动测试是数据驱动测试的一种改进类型,它将测试逻辑按照关键字进行分解,形成数据文件,关键字对应封装的业务逻辑。主要关键字包括3类:被操作对象(Item)、操作(Operation)和值(value),依据不同对象还有其他对应参数。关键字驱动的主要思想是:脚本与数据分离、界面元素名与测试内部对象名分离、测试描述与具体实现细节分离。数据驱动的自动化测试框架在受界面影响方面,较数据驱动和录制/回放有明显的优势,可根据界面的变化更新对应的关键字对象,而不用重新录制脚本。


3.关键字驱动与数据驱动区别

关键字驱动的自动化测试系统与数据驱动的系统相比,主要的不同有两点:


第一点是数据文件的设计方法不同,数据驱动系统中数据文件存储的是测试输入数据,脚本中仍然存在业务逻辑,这样业务的变化会引起脚本的更改,而关键字驱动系统数据文件的设计将业务和测试输入数据都集成在数据表格中,虽然设计复杂,但当业务发生变化时,无需更改测试所用的脚本,从而提高了测试的效率。


第二点是与数据驱动系统相比,由于关键字驱动系统中数据文件的设计包含了业务信息,因此,将测试所进行的操作封装为关键字支持脚本。由动作封装的关键字支持脚本不包含任何的数据和业务信息,其重用性得到了极大的增强。


顾翔凡言:

不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

目录
相关文章
|
15天前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
80 32
|
18天前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
414 1
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
1天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
14天前
|
jenkins 测试技术 持续交付
提升软件测试效率的实用技巧与工具
【10月更文挑战第12天】 本文将深入探讨如何通过优化测试流程、引入自动化工具和持续集成等策略,来显著提高软件测试的效率。我们将分享一些实用的技巧和工具,帮助测试人员更高效地发现和定位问题,确保软件质量。
28 2
|
17天前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
145 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
18天前
|
机器学习/深度学习 XML 并行计算
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
87 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
18天前
|
机器学习/深度学习 算法 PyTorch
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-7.0版本进行目标检测的完整流程,包括算法介绍、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。YOLOv5以其高精度、快速度和模型小尺寸在计算机视觉领域受到广泛应用。
168 0
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
|
1天前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
|
1天前
|
安全 大数据 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
|
1天前
|
SQL 安全 网络协议
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS