自动化软件测试技术研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动化软件测试技术研究

饶婧

(同济大学软件学院,上海201804)

摘要:软件测试自动化是现代软件设计与测试的主流发展趋势,对于降低测试周期、提升测试可信度等具有重要意义。文章以自动化软件测试技术为核心,从软件测试的意义、目标、方法出发分别对现有的自动化软件测试技术进行了分析,重点就OFGA测试技术进行了讨论和研究。

关键词:软件测试;自动化;OFGA

中图分类号:TP311.5文献标识码:A文章编号:1673-1131(2014)04-0174-01

计算机软件承担了大量的业务处理与数据分析工作,其形态越来越多样,规模越来越庞大,功能也越来越复杂,因此保证软件的质量、可靠性与可控性成为现代软件测试的主要研究内容之一。对软件进行测试不仅能够对软件系统中存在的潜在问题进行评估,还能够通过测试将错误几率控制在较低水平之内,提升软件的工程应用价值。随着计算机技术的发展,自动化软件测试技术得到了广泛的应用和关注,其不仅能够提供一套完整严密的测试方案,还能够提供标准化的测试结果,消除经验判定产生的偏差问题,提升测试效率,保障测试流程的可重复性。

1软件测试目标及方法

软件测试是指在模拟实际运行的环境下对软件的功能与性能进行评估,具体来说,其测试目标主要包括三方面内容:(1)对软件的功能执行情况进行评估,如软件运行环境、运行可靠度、运行结果的正确性与一致性等;(2)对软件的质量进行评估,如软件测试结构性能、运行效率、是否具有全面完备的运行记录等;(3)对软件的实用性进行评估,如软件部署后的维护性能、扩展性能以及软件的可重用性等。

除此之外,软件使用过程中所涉及到的资源分配,响应速度等同样属于测试目标,这些目标与前述内容之间的区别在于可能无法获得标准的量化结果,或需要使用辅助模型或工具等来开展测试工作等。

软件测试所使用的技术和方法主要分为黑盒、白盒和灰盒三类。黑盒测试是一种忽略被测软件的内部结构,只观察输入输出结果是否满足设计需求的一类方法,其所使用的测试方法主要有等价类划分法、因果图法、边界值分析法以及错误推测法等。白盒测试是一种依照被测软件的程序结构分步进行的测试方法,其会对软件流程的每一步骤进行测试,确认其是否能够按照预期效果正常运行,常用的测试方法有穷举法、代码检测法、结构分析法等。灰盒测试则是上述两种测试方法的综合,既需要关注软件的输入输出结果,还需要软件运行逻辑结构。

2自动化软件测试技术

自动化软件测试技术从实用性和可扩展性两个角度出发,使用自动化程序执行测试过程,可以有效缩短测试时间,提升测试速度,消除测试过程中存在的主观错误,节省经济成本和人力成本。自动化软件测试技术在应用过程中需要遵循三条规则,分别为易用性和易维护性规则、测试工具与测试对象相互独立规则以及测试框架条理化与简易化原则。

2.1自动化软件测试框架技术

该技术核心思想为建立具有统一规则的测试脚本框架,鼓励测试人员编写测试用例。

录制/回放测试框架技术是一种利用被测试软件的执行过程生成线性脚本,再利用该脚本实现自动化测试的技术。基于数据驱动的测试框架技术会将测试数据和测试脚本进行分离,通过脚本中的控制功能对测试数据进行输入与管理。基于关键字驱动的测试框架技术在将数据与脚本分离的基础上进一步分离了数据与测试逻辑。混合自动化测试框架技术综合应用多种框架构成一种组合式框架,在该框架下对不同测试内容和模块进行测试,有助于提升测试效率。

2.2自动化软件测试脚本技术

与框架技术相对应,脚本技术可以分为线性脚本设计、基于数据驱动的脚本设计、基于关键字驱动的脚本设计、结构化脚本和共享脚本设计等几类。这些脚本会生成不同的测试与控制指令实现测试流程的自动化。考虑到脚本编写在语言使用和复杂度等方面会存在差异性,故实际应用中需要根据测试层次和要求编写适当的测试脚本。

2.3自动化软件测试用例生成技术

该技术是自动化软件测试的核心技术之一,其不仅会自动生成测试数据,还能够驱动被测试软件依照流程处理测试数据,进而从中发现错误或缺陷。用例生成技术大致可以分为随机生成、启发生成、反馈生成等几类。

3基于OFGA的软件测试用例生成技术

该技术通过最优化求解的方式生成一组随机位串参数,然后依照软件运行方式生成测试参数来驱动被测软件。在随后的测试过程中其会对各触发路径进行跟踪与记录,自动生成适用性较强的目标函数,依照该函数对测试范围和测试种群进行约束,进一步生成新一代测试群体对软件进行测试。

其实现步骤为:(1)随机生成初代种群,并以某一路径为目标为种群赋予权值,需要注意的是,不同路径中的元素不同,所生成的权值也不尽相同;(2)以现有的测试用例驱动被测软件运行,并对运行过程进行追踪与记录,生成可适用于当前测试滤镜的用例集;(3)依照不同测试用例的贡献度对用例的适应度进行计算和取舍,构造选择算子,选用最大适应度的个体、概率高的用例等作为下一种群生成依据;(4)依照最优家族理论构建新的搜索空间和测试种群,对所选用的种群进行交叉处理和突变处理,生成可用于执行下一次测试操作的测试种群;(5)重复执行步骤(3)和步骤(4),遍历测试路径或直到测试用例超出预设次数或阈值,完成自动化测试操作。

作者简介:饶婧(1988-),女,江西九江人,研究方向为软件测试。

2014年第4期(总第136期)

2014

(Sum.No136)信息通信

INFORMATION&COMMUNICATIONS

174

自动化软件测试技术研究

作者:饶婧

作者单位:同济大学 软件学院,上海,201804

刊名:

信息通信

英文刊名:Information & Communications

年,卷(期):2014(4)

本文链接:/Periodical_hbydjs201404120.aspx

相关文档
最新文档