基于保险系统的软件测试工具的设计与实现文献综述

 2022-11-01 01:11
  1. 文献综述(或调研报告):

与传统的纯手工测试相比,自动化测试在某些方面的优势非常明显:回归测试更加方便(对于不断更新版本的企业级系统而言,这一点尤其重要)、可以执行更繁琐的测试(大量的重复性的操作加重测试人员的工作量和繁琐度)、可以运行有些纯手工测试不能进行或者很难的测试(如大用户量的测试)、利用资源更好(可以提高测试人员的积极性)、复用性、增加信任度(不存在人工疏忽或遗漏)。

软件测试的自动化有两个方向:第一是测试过程的自动化,第二是结果分析的自动化。对于本课题,我主要的方向是第二种。当对测试结果进行分析时,为了避免人工去逐个分析测试的中间结果或数据流,而是通过使用软件工具,来代替手工进行一系列的测试结果分析动作,对测试流程中出现的数据批量进行分析和匹配,并返回输出匹配结果,以上就是细化到本课题的结果分析自动化。

目前,针对企业级ERP系统的功能测试工具,国外已经取得了一些不错的进展,如Mercury Interactive公司的WinRunner,其主要功能是用于检测应用程序是否能够达到预期的功能及正常运行。其中验证数据库的功能与本课题所需功能具有较大相似点:验证数据库的数值,从而确保业务交易的准确性。例如,在创建测试时,可以设定哪些数据库表和记录需要检测;在测试运行时,测试程序就会自动核对数据库内的实际数值和预期的数值。WinRunner自动显示检测结果,在有更新/删除/插入的记录上突出显示以引起注意。稍有不同的是最后显示检测结果时,我需要的是返回匹配结果而不是数据更改。但其设计思路和算法尤其值得参考。

  1. 测试框架的思考

合肥工业大学黄晓玲关于两种自动化软件测试框架的分析中,总结了基于模型的软件测试和数据驱动测试的关键理论。最后她采用了两种框架结合的方式提出了一个基于模型测试技术和数据驱动技术相结合的软件测试自动化框架。其分析方法具有参考意义:

首先,NSL VPR项目系统庞大,对其进行有效的建模能很好地抽象出测试的关键点,测试数据以及测试结果,从而达到满足预期的测试工具功能的效果。因而可以参考黄晓玲的方法,使用已学的UML建模知识,完善自己的软件测试工具的测试框架的构建。

其次,数据驱动的自动化测试利用相同的测试过程测试不同的输入、输出组合。它将测试输入、预期输出组织为表,表中的一行对应一个测试。然后创建一个从表中逐行读入的自动化测试过程,执行每个输入步骤,并检验预期结果。这些表可以记录在如文件电子表格,文件易输出的以隔断文本文件格式存放的数据文件等方便录入测试数据的数据文件中。当把数据驱动测试过程放在一起后,就可以反复使用该过程来执行新测试。这种手段对于有很多不同数据选项的应用来说最有效。因此,数据驱动的测试框架也具有参考价值。

  1. 测试的数据准备。

准备数据分为两个方面:一是在测试内容所用数据既定的情况下,整理并设置好所用数据;二是需要测试工作人员根据测试需求文档的要求,寻找并整合成所需要的测试数据。

对于数据驱动的测试,目前比较流行的测试方法有控制同步数据驱动测试、数据驱动引擎测试和关键字驱动测试。这些方法在效率性和灵活性上都有所提高,但同时也存在一些问题。比如Archer Group的CSDDT和Carl Nagle的DDE,在GUI测试和属性测试方面却有所不足;Archer Group和Keith Zambelich 的方法除了设计测试数据表外,还需要编写相关的测试脚本;而Carl Nagle的DDE对测试数据表的设计与维护却需要较大的精力;数据表中的测试数据的内容却是固定的,如果需要修改,必须手工进行;数据表中的控制数据按照既定的次序执行,如果需要修改,则必须手工添加新的执行动作或者更改原来的动作。国内外的数据驱动自动化测试领域里,尚没有对以上问题进行详细研究。

  1. 数据匹配算法的研究

BPM算法针对动态规划矩阵进行位并行运算。虽然BPM算法是目前理论上最快的算法(非过滤方法),但其在计算中只用到相对较小的字长,对于较大的计算机物理字长容易造成资源浪费。在廖一兰等人的研究[6]中改进的BPM-BM算法在匹配时,采用了从右到左的扫描方法,从而在出现不匹配时,可以跳过其中某些字符。此外,该算法倾向于模糊查找,对于本课题具有相对小的参考意义。

KMP算法是一种改进的字符串匹配算法,该算法的时间复杂度为O(m n)。模式匹配KMP算法的引入避免了BM算法中频繁的回溯,普遍提高了模式匹配的工作效率。延安大学计算中心杨战海对KMP算法的改进研究,也给本课题的研究提供了指导思想及方法。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。