自动 化测试工具不但应该能够良好识别页面上的各种常见对象:如文字、超链接、 图片、文本框、密码框、单选框、下拉框、页面弹出框等等。对于一些系统 自定义控件,也应该支持自定义描述,提供对象映射功能等。 由于对象在页面上的表现不同,并不是所有的工具和框架都能处理好各 种情况,因此控件识别方面需要进行仔细的评估。 4.脚本语言支持能力 不同的自动化工具使用的编程语言不尽相同,常见的有VBScript、 JavaScript、Java、c撑、Ruby等。 对于脚本语言,首先应考虑其功能是否可以满足需求,是否足够强大。 Java、c#之类的高级语言功能上优势明显,VBScript、JavaScript等脚本语言 则需进行仔细评估。 s.工具的集成开发环境 IDE(IntegratedDevelopingEnvironment,集成开发环境)对于脚本开发 非常重要,一个良好的IDE对于生产效率的提升是巨大的。IDE应提供智能 提示、自动完成、快速编译查错、方便而又强大的调试等基本功能。 6.团队协作与版本控制 16 复杂T作流软件自动化测试方法的研究 第二章软件测试理论’j技术基础 在软件自动化测试过程中,需要团队协作。因此,一个良好的版本控制 环境非常重要。能够使用迁出、迁入机制将自动化内容管理起来。保存每个 迁入的版本,在需要回退的时候能够方便的找到历史版本并进行回退。这样 才能避免误操作带来的损失,才能让工作中的协作更为出色。 7.执行控制与执行报告 自动化测试与功能测试一样,需要进行多次的“执行",测试执行能力 对于自动化测试工具而言非常重要。 由于自动化测试的优势之一便是可以进行无人值守的“自动”执行。因此,工具提供的执行方式应当多种多样,不但需要能够方便的进行手动驱动, 还需提供自动驱动,定时驱动等功能。 此外,自动化工具还应记录每次运行的详情,能够自动生成内容详细的, 可以定制的测试报告。 8.工具容错处理能力 自动化脚本运行中,会有多种不确定的因素的干扰,如常见的网络和服 务器稳定性问题等。工具应提供恢复机制,能够让测试人员对于意外情况进 行自定义配置,关联特定的恢复清理脚本。 测试用例的编写与自动化工具的选择都是决定软件自动化项目成败的重要 环节,下一章将结合本文着重介绍的WOA项目,具体阐述该项目的需求、工具 选择、设计与具体实现。 17 复杂工作流软件自动化测试方法的研究 第三章wQA软件自动化测试系统的需求分析、设计与实现 第三章WOA软件自动化测试系统的需求分析、设计与 实现 3.1.1 WOA架构概要 本节将介绍本文探讨的软件项目——wOA。 WOA是一个公司内部项目,服务于公司员工。 1.流程部分:各类流程的申请、审批和查询。 2.日常功能部分:如通讯录查询、考勤查询、 WOA项目的概要架构如图3-1所示: 主要包括两部分功能: 公告管理等。 图3-1 WOA概要架构图 WebOA模块主要包括前台业务与逻辑。BeanServer和WFEngine则是服务于 流程模块的两大后台模块。BeanServer为流程提供了多种业务与逻辑,如发信通 知功能等。WF Engine是WorkFlow的核心,WorkFlow的流转和驱动就是通过 WFEngine层进行的。 复杂T作流软件自动化测试方法的研究第三章WOA软件自动化测试系统的需求分析、设计与实现 3.1.2 WOA复杂工作流示例 图3—2为本文所研究的项目对象——woA项目中的某个典型申请流程的流程 由于项目涉及到部分敏感信息,在不影响流程逻辑的表述,不影响问题探讨的前提下,特将流程名称、职位名称、逻辑判断中涉及到的金额使用XX申请、 审批职位rl、num几等参数进行表示。 XX申请流程图复杂T作流软件自动化测试方法的研究 第三章WOA软件自动化测试系统的需求分析、设计与实现 针对图3.2所示的流程,补充说明如下几点: 1.所有的审批职位n后带有(Y/N)的,表明此审批职位者可选择“同意’’或是“拒绝”。同意时,流程走标有Y的箭头指向。拒绝时,流程直接退 回到申请者节点,该类箭头在流程图中并未画出。 2.流程被退回后,申请者可以选择“重新提交”或“撤销"。重新提交时, 流程走向和创建新流程时一致。撤销时,流程终止。 3.该流程先后涉及到两个金额。条件为0的字段在本文中称为金额 一、另三个涉及到hum门的字段在本文中称为金额二。 4.金额二的判断条件中,numl