导 师: 罗省贤
学科专业: H1203
授予学位: 硕士
作 者: ;
机构地区: 成都理工大学
摘 要: 软件测试作为软件工程中质量保证的一个重要环节,在软件全生命周期管理中发挥着越来越重要的作用。随着软件系统规模的日益扩大,以及应用领域的不断拓展,对软件系统的测试也变得更加困难和复杂,传统的自动化测试的局限性也越来越明显,测试质量与测试覆盖率都得不到保证。基于智能交互技术的自动化测试正是在这样的背景下受到了密切的关注,成为近年来软件测试的重要研究方向。 在深入分析影响自动化测试智能交互技术关键因素和现有的银行交易测试的基础上,本论文以成都理工大学dncpc 实验室与企业横向合作的项目为依托,重点研究和设计了一个更加智能的功能测试框架,该测试框架采用积累的库的概念,使行业经验成为一个可高度重用的财富,并且建立一定的测试标准,测试的深度与完善度不再受测试者经验的深浅限制,同时考虑第三方测试工具的松耦合集成。 为了能够更加便捷地实施功能测试自动化,需要实现功能测试在智能交互下的高效实施。本文对自动化测试框架进行了深入分析,在业务分析阶段提出了业务流程路径的覆盖策略,在测试执行阶段提出了基于屏幕感知的数据驱动策略,为测试用例在智能交互环境下的实施提供了算法支持。 在业务分析阶段,测试分析师根据待测系统的需求文档、产品规格书和通用协议规范等提取出测试需求并分析出待测系统的测试点和它们之间的制约条件与联系,程序利用业务流程路径覆盖算法得出对待测系统的全路径覆盖,为测试工程师设计测试用例提供技术支持。在测试执行阶段,数据驱动技术使测试脚本和测试数据相互脱离,测试工程师通过对测试数据的修改就可以实现不同测试,使得测试用例的设计简化为测试数据表格的设计;屏幕感知技术在系统交互的过程中通过程序感觉屏幕上待测系统的响应,检测待测系统的状态并利用错误信息映射表查找对应该状态的测试数据,程序根据测试脚本和新的测试数据利用数据驱动技术进行下一轮测试,从而完整的实现智能交互的自动化测试。 本文基于flex 平台设计并实现了网络环境下自动化测试管理原型,它具有用户管理、项目分配、测试报告自动生成、测试的自动执行等功能,可以使测试工程师集中精力于测试用例的设计上,从而极大地提高测试工作的效率。 实践证明,本文提出的自动化测试智能交互技术在软件测试中的各个阶段以及网络环境下自动化测试管理原型的利用,极大地缩短了测试的周期,节省了测试人员的占用,减少了测试资源的开销,对于最终提高测试效率与测试质量、降低测试成本、提高系统的可靠性与可维护性等具有重要的指导意义和实用价值。
关 键 词: 智能交互 自动化测试 软件测试 软件工程 全生命周期管理 数据驱动 测试脚本
分 类 号: [TP311.52]
领 域: [自动化与计算机技术] [自动化与计算机技术]