Web视域下软件自动化测验管理框架研发的探微_研发框架

Web视域下软件自动化测验管理框架研发的探微

Web视域下软件自动化测验管理框架研发的探微 第一章 绪论 1.1 软件测试研究背景 随着计算机科学技术的快速发展,高度信息化正在以势如破竹之势推动着 各行各业的飞速发展。伴随着软件系统被各行业所广泛的应用,而在使用中会有 各种各样的软件故障风险,甚至带来很大损失,软件系统故障为用户所带来的危害 也被众人所熟知和重视。因此,对应用系统的正确运行的要求也越来越高,在提高 软件质量的各种技术当中,最直接、最有效的手段还是软件测试技术[1]。正是由 于这一原因, 系统测试也逐渐流行起来,特别是系统的核心--软件的测试。所谓的 软件测试,其实就是指利用测试工具按照测试方案和流程对产品进行功能测试和 性能测试,根据测试需要进行编写不同的测试工具,设计和维护测试系统,对测试 方案可能出现的问题进行分析和评估[2]。软件测试从以往那种处于不为人重视 的状态,慢慢转变成为企业全部生命周期中的一个重要组成部分。

目前国内的软件自动化测试水平参差不齐[3]。尤其在消费电子产品领域, 比如谷歌公司开发的开源 Android 系统,更新速度更是惊人,所以许多产品的生 命周期有的时候甚至会短于 6 个月。因此, 传统的人工软件测试方法已经无法 赶上产品更新的步伐, 自动化测试就成为必然的选择,自动化测试的主要目标就 是减少开销,获得更彻底的测试,从而提高软件产品质量[4]。

自动化测试就是通过使用计算机辅助手段,按照测试工程师的预先定好的 计划进行自动化测试[6],目的是为了减轻手工测试的劳动量、降低人工出错概率, 从而达到提高软件质量的目的[7]。

在做自动化测试过程中,使用自动化测试工具时应尽早开始测试工作,这样 可以使修改错误更加容易和廉价,并可减少更正错误对软件开发周期的影响[8,9]。

虽然自动化测试可以弥补手工测试无法达到的测试需求[10],但是自动化测试并 非能够解决测试过程中的所有问题,因此不能追求自动化完全替代手工测试[11]。

1.2 自动化测试的优缺点 1.2.2 国内外研究现状 软件测试起源于国外,图灵是最早提出了需要对程序进行测试的人,但是直到到上世纪七、八十年代的时候,对软件测试技术的研究才开始受到了人们的重 视。很多国内外学者开始对软件测试进行了深入的研究。美国北卡罗来纳大学召 开的软件测试技术会议,可以说是软件测试发展史上的一个非常重要的里程碑,其 中 Good nough 和 Gerhart两个人为软件测试理论的奠基做出了极大的贡献[21]。

国外的高校、研究机构和企业也都对软件测试进行了比较深入的研究,比如华盛 顿大学、Mational Software Testing Lab等。

第二章 相关技术分析与研究 2.1 自动化测试技术 2.1.1 自动化测试的发展阶段 自动化测试技术的发展,单从技术角度来说大概经历了三个阶段,这三个阶 段分别是:录制回放测试、数据驱动和关键字驱动技术[26]。相对应的自动化测试 系统从第一代基于线性的、结构化的自动化脚本系统发展到了第二代的数据驱动 测试系统,再发展成为第三代的关键字驱动测试系统。其中数据驱动和关键字驱 动系统就是属于目前所广泛应用的基于框架的自动化测试系统。

第一代基于线性、结构化的自动化测试脚本对数据的处理不灵活,这类脚 本是录制手工执行的测试事例得到的脚本[27]。当测试数据比较大的时候,测试逻 辑无法重用,当测试数据变化时,虽然测试逻辑不变,仍然需要开发出脚本来生产 新的测试用例[28,29]。在测试中把需要用到的测试数据从测试脚本中提取出来, 并集中 第三章 测试管理系统的关键字管理分析............8 3.1 关键字的意义和作用................. 8 3.2 关键字的划分.....................9 3.3 关键字结构设计.....................10 3.4 关键字库的结构设计.......................15 3.5 本章小结..................19 第四章 测试用例管理系统设计与实现.....................204.1 测试用例管理系统的功能分析.....................20 4.2 测试用例管理系统的总体设计..................20 4.3 用例管理系统的主要功能实现.................32 4.4 本章小结.......................38 第五章 用例管理系统在关键字驱动测试系统中的应用 ...................39 5.1 自动化测试框架系统介绍.....................39 5.2 用例管理在关键字驱动框架中的结合应用................... 41 5.3 用例管理系统的不足及改进方案...................45 5.4 本章小结...................47 总结 在项目的创立和开发过程中,召集了公司测试部门的部分初级和高级测试 工程师参与项目的立项和讨论,做了大量的前期调研工作。测试人员属于该项目 的终端用户,所以我们在需求分析阶段认真听取大家的合理建议并采纳了很多宝 贵的意见和项目实施建议。在开发过程中和开发完第一个版本之后,也多次召集 大家一起参加演示会议,大家给产品提出了很多新的改进需求,例如界面友好度, 操作流程还不够方便等,最终项目还是顺利的完成了第一个版本的发布计划。

该项目得到了公司领导的重视,也得到了各级各部门的大力支持,在接手该 项目时,我对这个项目还是充满信心的,在项目开始后的初期阶段,遇到的问题还 是比较多的。为了解决问题,不断的查阅资料,与相关的人员和老师沟通,使用了合 理的软件工程方法,为了能尽快开发出接近真实用户需求的产品,我们在软件开发 过程中采用了敏捷开发模式,因为结合实际情况,采用了恰当的软件工程方法,最 终使项目可以顺利地进行下去。

在“面向 Web 的软件自动化测试管理框架系统”项目的开发中,需要保证 软件开发中实现工程进度的可控性,就必须在项目计划阶段准确的确定软件开发 范围、合理调配资源,从而能够获得更接近实际的任务成本和工作量评估。我们 最大的挑战就是如何接近真实的用户需求,并且能够在有限的时间内开发出可以演示的产品原型,在时间紧、任务重、人员有限并且不固定的情况下,我们采用了 开发团队高度自治、能高效完成任务的开发方法,也就是敏捷开发,并选择合适的 管理工具,确保了在有限的时间和资源的情况下,研发出符合需求的产品,并为今 后项目的开发提供宝贵的 在项目中学习到的知识和积累的工作经验,让我对软件工程的理解有更深 层次的理解。当在项目中遇到进展不顺利、产品演示达不到预期、代码质量差, 导致我们做了一些无谓的重复工作。当项目遇到这些问题时,我没有气馁,而是不 自觉地使用到了软件工程中学习的知识,通过查阅资料和学习相关软件项目管理 知识,在项目的中后期,解决了很多的问题。