软件中自动化测试该怎么应用?

由于目标识别软件在进行黑盒测试时遇到测试覆盖范围小、验证不充分、测试执行效率低等问题,采用了主流的线性脚本、结构化脚本、数据驱动、关键字驱动等自动测试方法。针对测试软件的关键等级和测试条件,选择适合的自动化测试方法,以提升软件测试水平,提高被测软件的质量。

目标识别软件主要实现从时域信号中提取目标的特征信息,结合侦察结果、定位结果得到跟踪目标的分类结果和可信度。有多个输入设备时,也能实现多目标信息的关联。图1显示了软件运行的网络拓扑图。其主要性能指标是对不同目标分类正确率的要求.
在这里插入图片描述

对常规配置项级采用黑盒方式进行测试,测试过程主要内容是利用软件开发组提供的几种类型的目标信号作为输入,经过软件特征分析和自动分类处理后,再在显控软件上查看输出结果。

函数类测试用例的期望结果主要是分类结果和目标类型一致;对于不同类型的设备,同一目标的分类结果可以进行融合判断。

对性能测试用例的期望结果主要是统计多次目标分类执行结果,计算得到的分类正确率高于规范值。在测试执行中,大量的测试规程围绕着“模拟某一类目标,查看预期的分类结果”这一内容,并将不同类型的目标进行排序以得到统计结果。

手工逐项地操作并且逐个检查结果是一种费时费力的方法,而且很难保证记录的准确性和条件覆盖的全面性。通过自动测试来实现测试内容的重复和测试结果的正确性的比对,从而能够更加有效、全面地验证测试软件。

通过对测试数据的丰富和测试技巧的提高,可以逐步采用线性脚本、数据驱动、关键字驱动等一系列方法来提高自动化程度。

一丶直线脚本法

主要用于在测试时模拟测试中手工执行动作的顺序,测试执行人员通过运行一个脚本,一键式执行一系列操作。针对目标识别软件中某一目标(或若干组合目标)分类的线性脚本,在设计测试的成本与测试执行效率之间取得平衡,实现对软件测试水平的提升进行验证,可用图2所示的过程构建线性脚本。
在这里插入图片描述

这是实现大量脚本编写和更高水平自动化的基础。优势在于简单易学,有些测试工具可通过图形操作,甚至通过录制实现手工操练的流程转换成脚本代码,对于编程水平有限的用户也可轻松使用。这种方法的弊端也显而易见,例如:在载入不同种类的目标、存在多个异同目标组合时,由于约束条件和操作步骤不同,将对应多个不同的脚本,所对应的脚本数量会更多;在模拟目标或者载入不同类型的模拟目标时,需要执行多次或多个脚本,而对于性能测试的分类正确率中要求大量计算运行结果的场景,这种方法仍然不够高效。

二丶基于线性脚本方法

结构化脚本方法引入了脚本库,从而实现了线性脚本的复用。在目标分类方面,可以将不同类型的模拟目标分别制作成基础脚本。对于多个运行时统计结果,在确定正确的情况下,将脚本输出更改为与类型目标数加1,流程见图3。对不同类型目标识别分类的脚本存入脚本库,在性能测试的分类正确率计算脚本中,将调用组合,统计后计算出识别率。考虑到基本的 A、 B类目标,有100个样本已经正式验证,那么流程图如图4所示。
在这里插入图片描述

结构性脚本通过重用来减少修改脚本的工作量,同时也降低了新脚本的难度。此方法的应用对脚本库的管理和测试人员的技能有一定的要求,脚本应该做好文档化,测试人员也应具备一定的编辑能力。
在这里插入图片描述

三丶数据驱动方法数据驱动方法

是指在线性脚本法的基础上,将测试输入存入并存入一个或多个独立的数据文件,通过编辑测试输入文件对测试的广度和深度进行控制。此时此刻,在目标分类脚本的流程前添加“从数据文件中读取目标信息”,数据文件中主要设置了加载目标的种类、数量和顺序,作为目标分类数据驱动的控制脚本,见图5。

于是,将性能测试的分类正确率改为在目标分类驱动后增加计算识别率并验证合格的过程,见图6。

要提高测试的全面性和有效性,就必须增加数据文件中的目标种类、目标数据的数值。在这种方法下,验证“Multi-Impossibility”功能也将更容易自动执行,只需在目标分类过程中添加每轮识别的目标结果与该数据文件中的模拟目标信息相比较即可。

这种方法大大降低了增加新测试用例的成本,使得测试人员不必过分依赖于 TTA,而更适合于在关键点、关键领域进行更深入的测试。要对输入的数据文件进行管理,并确保读取接口的正确性,还需要做更多的工作。

文件中读取目标信息”,数据文件中主要设定加载目标的种类、 数量及顺序,作为目标分类数据驱动的控制脚本,如图5所示。性 能测试的分类正确率便改为在目标分类驱动后增加计算识别率和 验证是否达标的流程,如图6所示。需要增加测试的全面性和有效 性则通过增加数据文件中的目标种类、目标数据的数值来实现。

验证“多输入目标信息的关联”功能在该方法下也会更容易实现 自动化,只需要在目标分类流程中增加每轮识别的目标结果与数 据文件中该轮模拟目标信息的比对即可。 该方法大大减少增加新测试用例的成本,使测试人员不需要过 多依赖技术测试分析师(TTA),更适用在关键点、关键区域进行更 深入的测试。在管理输入的数据文件并保证读取接口的正确性方面 需要投入更多精力。

四、 关键字驱动方法

关键字驱动方法是指在数据驱动方法的基础上,将测试输入的 数据文件按具体业务提取出关键字,测试执行时通过选择关键字 来对被测软件对应类别进行测试。目标识别软件可应用此方法从 需求的不同角度设置如“A型设备目标分类、B型设备目标分类、 水面目标识别率、水下目标识别率”等关键字,更宏观地验证所 关心的内容,而详细的测试用例由关键字文件来自动生成。

该方法的目的是将测试的详细步骤抽象,将测试用例的繁杂性 隐藏在关键字中,使现场执行的难度进一步降低,同时也进一步 降低新增测试项的成本。关键字的名称应选择对于测试人员和被 测软件有意义的字和词,多用于表示与系统的高层业务交互。

构建关键字驱动的前期需要投入较多精力,在复杂的大型系统中使用 该方法会得到更大收益。 结束语:目标识别软件通过使用线性脚本、结构化脚本、数据 驱动、关键字驱动等一系列测试方法,可实现测试自动化程度的 逐步提升。根据被测软件的关键等级、规模、测试输入数据的丰 富程度、测试工具的功能等因素,选择适合的自动化测试方法, 在设计测试的成本和测试执行效率之间达到平衡,实现软件开发 的降本增效。

最后:【可能给你带来帮助的教程】

要让自己变得更强:想想,假如你是要在测试这个行业长期做下去,你的工作经验和测试技术是绝对不够的,你需要提升,你需要丰富你的技术栈!还等什么!

可以在公众号:【 程序员小野 】! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢软件测试的小伙伴们,可以加入我们的测试技术交流扣扣群:779450660(里面有各种软件测试资源和技术讨论)

Guess you like

Origin blog.csdn.net/m0_61596299/article/details/121227167