《Web应用软件测试过程.doc》由会员分享,可在线阅读,更多相关《Web应用软件测试过程.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateWeb应用软件测试过程Web应用软件测试过程Web应用软件测试过程摘要:随着Web系统被广泛应用于工作和生活的各个方面,Web系统的产品质量也逐渐引起重视,本文将从对Web应用系统的运行特点分析入手,探讨一套完整的Web应用软件测试方案,以及相应的软件测试技术。关键词:Web应用系统,软件测试一、引言随着互联网技术的飞速发展,Web系统被广泛应用于各个领域,其开放性、
2、易用性的特点促使其应用被越来越多公众所接受,同时也促使其产品质量面临更严峻的挑战。Web系统软件具有功能涉及范围广、用户量大、用户类型广泛、易受攻击等特点,本文将从这些特点入手,探讨Web应用软件测试过程中的软件测试技术以及质量保证手段。一个完整的Web应用软件测试可以从功能测试、易用性测试、性能测试和安全性测试四个方面入手。二、功能测试功能测试是验证软件需求的满足程度和软件组成部件接口正确性的最有效方法。Web应用系统通常集成了众多关联业务,以数据共享的形式推进业务。功能测试可以以业务为核心进行测试。1. 业务流程测试:功能测试以业务流程为核心,针对每套业务操作画出业务流程图,绘制方法类似于
3、程序的控制流图:每一个结点表示一个执行动作,箭头表示业务流程的控制方向,一条边必须终止于一个结点,例如,某单位员工的出差审批流程如图1:图1 出差审批流程图在流程图中,一条独立路径是指包括一组以前没有处理的语句或条件的一条路径,独立路径的集合可确保流程图中的每个可执行动作至少覆盖一次,每个条件的取真和取假分支也能得到覆盖,构成基本路径集的一组独立路径如下:路径1:拟稿部门主管审批单位主管审批返回拟稿人结束;路径2:拟稿部门主管审批单位主管审批返回拟稿人借款办理返回拟稿人结束;路径3:拟稿部门主管审批单位主管审批返回拟稿人报销办理结束;路径4:拟稿部门主管审批终止流程结束;路径5:拟稿部门主管审
4、批单位主管审批终止流程结束。以此为依据设计测试用例,保证流程测试覆盖每一个环节的每一个可执行的操作,从而保证流程测试不会遗漏业务流程的任何一个可能分支。2. 并发操作测试:对业务流程的测试只是验证了软件使用过程中的时间逻辑的正确性,但Web系统软件的多客户端特点决定了其使用过程中还面临着空间上的并发冲突以及资源竞争,而这往往是开发人员在软件设计时可能会遗漏考虑的情况。功能测试需要特别考虑23个用户对同一条记录的并发操作,验证系统相应的处理逻辑是否合理。测试组可指定专人进行软件并发操作分析,通过透彻分析软件的各种使用场景,包括:引用同一数据的多处操作、具有相同操作权限的不同用户等,形成专门的并发
5、冲突测试规格表,如表1所示:表1 并发冲突测试规格表序号功能名称功能简述测试规范要求1.审批对下级用户提交的申请进行审批处理当多个审批客户端都已打开审批页面,同时执行“审批”动作时,应以先审批的结果为准,并且后审批的人员无法再对同一申请进行重复审批2.删除将某一记录从系统数据库中删除当被删除的记录正在系统其他地方被引用时,应给予“不允许删除”的提示信息3.修改修改某一记录在系统中的属性当被编辑的记录正在系统其他地方被引用时,应给予“不允许修改”的提示信息4.通过完备的功能测试,将保证Web系统软件设计合理,主要功能实现正确,系统在正常使用模式下可以有效运行。三、易用性测试应用系统界面直接面向用
6、户,因此,用户对应用系统易用性的第一印象来源于系统的界面实现,要求界面设计易操作、易理解、防误操作。易用性测试应重点关注:1.可能引发安全问题的界面输入;2.用户使用过程中是否易理解、易操作;3.软件外观设计对用户的吸引力。不同的应用系统虽然业务处理内容不同,但其易用性测试是相通的。对于有共性的对象,测试组应专门建立标准的易用性测试规格表,如表2所示,方便后续产品的类似对象中重用。表2 易用性测试规格表序号易用性测试内容测试规范要求1.显示信息1) 所有操作菜单、提示信息全部使用简体中文;能够输入和显示中文中较偏僻的字2) 可输入/选择框以正常色显示;不可输入/选择框以灰色显示3) 保证表格的
7、宽度不因内容的多少而被挤变形2.输入数据1) 输入数据或递交数据时,应对数据的合法性进行校验,例如:空输入、超长字符串、包含特殊字符、包含空格等2) 参数设置功能中的参数是否易于选择、是否有缺省值3) 数据是否“一次输入、多处应用”3.定制能力软件为用户预留了对某一功能的自定义设置,例如:邮件系统的常用联系人,报表输入模式定义等4.还原能力是否提供UNDO功能用以撤销不期望的操作5.提示功能1) 界面的输入和输出提示信息的格式和含义是否容易被理解2) 提供进度条、动画等反映正在进行的比较耗时间的过程3) 执行删除操作之前,是否有用户确认提示6.在线帮助确认在线帮助是否容易定位,是否有效通过易用
8、性测试,保证了基于Web应用系统的业务操作简单高效、易理解、易被用户接受,大大增强系统对用户的吸引力。四、性能测试通常,Web应用程序在少量用户使用时正常运行,当有大量用户同时使用时,可能会出现响应时间过长,严重时甚至功能失效、系统崩溃的现象。因此,Web应用系统上线前必须进行严格的性能测试。性能测试应用领域不同,相应的测试手段也不同,分类如表3所示:表3 性能测试应用领域分类表应用领域测试目标测试方法能力验证在已确定的环境下(硬件设备、软件环境、网络条件、基础数据)根据典型场景(包括操作序列、并发用户数量)运行测试方案,验证是否具有预期的能力表现可靠性测试,压力测试,失效恢复测试能力规划通过
9、探索性的测试,研究在某种可能发生的条件下,系统具有如何的性能能力负载测试,配置测试,压力测试性能调优确定基准环境、基准负载和基准性能指标,调整系统运行环境和实现方法,直到系统达到预期的性能调优目标配置测试,负载测试,压力测试,失效恢复测试缺陷发现发现并发时的应用问题并发测试,压力测试,失效恢复测试表3中的测试方法定义如下:负载测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量。压力测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。配置测试:通过测试找
10、到系统各项资源的最优分配原则。并发测试:逐步增加并发用户数的负载,直到系统的瓶颈或者不能接受的性能点,通过综合分析交易执行指标、资源监控指标等来确定系统并发性能。可靠性测试:在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。测试组应根据Web应用系统的使用背景、软件测试任务书的要求进行性能测试应用领域分析,提取性能测试指标,例如最大并发用户数、最长响应时间、业务成功率、平均吞吐量等,以此为目标制定测试方案,设计测试场景,搭建测试环境,准备测试数据,执行测试,分析测试结果,验证Web应用系统性能实现是否达到预期要求。五、安全性测试 Web系统的载体为Internet,由
11、于Internet的不可预见性以及用户客户端的不确定性,导致Web系统极易受到黑客攻击。虽然Web系统可以通过使用防火墙、网络脆弱扫描工具等技术来屏蔽部分攻击,但Web应用自身的安全设计漏洞仍然可能成为恶意攻击的入口。根据Gartner的最新调查,信息安全攻击有75%都是发生在Web应用层面上,同时,数据也显示,三分之二的Web站点都相当脆弱,易受攻击。因此,针对Web应用的安全性测试也是必须环节。 Web系统的安全性测试可以借助自动化诊断工具对Web应用进行自动化的安全隐患扫描和分析,目前市场上应用成熟的安全性诊断工具包括IBM Rational AppScan,Acunetix Web V
12、ulnerability Scanner,SecDomain WebRavor等,提供包括对跨网站脚本攻击、注入攻击、恶意文件执行、不安全对象引用、伪造跨站点请求、信息泄露等攻击手段的检测,此外,测试组还应从系统具体使用角度检测应用系统是否具备完善的安全认证和用户控制机制,对不同用户分配不同权限,对不同软件功能模块、数据定义不同的操作特性等,可参照表4建立标准的安全性测试规格表。表4 安全性测试规格表序号安全性测试内容测试规范要求1.注册与登录1) 必须先注册,后登录2) 限制多点登录3) 限制失败登录次数4) 禁止通过在浏览器中输入地址从而绕过“登录”页面2.受限访问1) 明确区分系统中不同
13、权限用户对数据或业务功能的访问范围2) 避免向客户端公开太多信息3.在线超时用户登录一定时间后没有任何操作,将自动退出,需要重新登录才能正常使用4.操作日志1) 记录失败的登录企图2) 审核关键操作,包括数据检索、网络通信和管理功能5.备份与恢复1) 日志文件的备份、存档2) 数据库的备份与恢复3) 系统的完全备份六、结论 Web应用开发技术日新月异,从单调的HTML,到Java小程序、Javascript脚本、ActiveX控件等等,使得Web应用系统的实现越来越丰富多彩,同时也对相应的软件测试技术提出了更广泛的要求。针对Web应用软件的测试需要保持对最新开发技术的关注,及时更新相应测试技术,在进行深度测试的同时还需兼顾测试广度,确保软件系统的所有质量因素都被覆盖,没有遗漏环节。参考文献:1柳纯录,黄子河,陈渌萍 软件评测师教程 清华大学出版社-