论文部分内容阅读
随着网络技术的发展,Web产品在人们日常生活中扮演着越来越重要的角色,而其具有的用户群庞大、运行环境多样以及更新速度快等特点,也对相关测试工作提出了巨大挑战。目前,由于人工测试从效率和覆盖率上都已经无法满足日益复杂的测试需求,自动化测试成为测试技术发展的潮流。随着Web产品的广泛应用,网络安全也成为社会关注的焦点,而如何在开发阶段及时发现Web产品中存在的安全问题,解决安全隐患成为了Web产品开发的迫切需求。然而,国内外软件企业在Web产品安全性测试方面的自动化程度都不高,企业内部现有资源得不到合理利用,测试人员工作繁重,工作效率较为低下。本文基于企业中实际测试工作需求,在Web产品安全测试的应用背景下,为了提高测试人员工作效率,改善不同测试组重复创建测试用例的现状,设计并实现了一款针对Web产品的自动化测试系统。系统中有效地整合了企业内部的软硬件资源,基于STAF开源测试框架以及已有测试组件(包括RFT测试工具、AppScan测试工具以及DB2数据库等),利用XML、Java、Python、SQL等编程语言,实现了测试活动的自动化,同时由于STAF框架的跨平台特性,该自动化测试系统支持多种测试平台以及分布式部署测试环境,便于用户使用与扩展。本人的主要工作包括以下两个方面:1.根据测试需求为自动化测试系统设计并划分了包含从测试产品安装、测试脚本生成、测试脚本执行以及测试数据存档的功能模块,同时,为了更好地整合测试组件,提高测试流程重用性,并降低测试活动出错情况下操作回滚的代价,本人设计了测试系统的工作流,将其按照测试数据的生成和传递划分为8个具体流程,以此将测试功能有机地结合起来,并更加灵活地执行出错处理以及相关测试组件的日志存储;2.根据系统设计,对系统的功能和工作流分别进行具体编码实现,在实现过程中,为了承接测试流程,实现上下流测试组件之间数据的传递和转换,也为了公司内部不同测试组之间测试数据的集中和共享,扩展实现了测试组件HttpInterceptor以及数据库服务DB Service,两者在测试系统中起到了承上启下的功能,并验证了该测试系统的可扩展性。本文通过实际测试工作中的应用,表明该系统与传统人工测试方式以及半自动化测试方式相比,提高了测试工作效率,实现了测试数据的集中和共享,验证了本自动化测试系统的有用性。