Web测试技术在ZSart系统中的应用_第1页
Web测试技术在ZSart系统中的应用_第2页
Web测试技术在ZSart系统中的应用_第3页
Web测试技术在ZSart系统中的应用_第4页
Web测试技术在ZSart系统中的应用_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要ZSmart系统作为新一代的电信计费解决方案,一方面从用户的角度出发,为用户提供快速便捷的服务;另一方面,它又能减少欠费、加强业务收入,还能与准实时计费方式相结合,解决电信运营商目前难以满足的市场需求问题。然而电信市场需求的多元化决定了ZSmart系统的复杂性,从而给系统的设计、开发、测试提出新的挑战。本文正是从测试的角度分析了ZSmart系统的设计思路、体系、功能结构以及其适用的业务范围,探讨了测试技术理论及实现,进而重点探究如何在ZSmart系统测试工作的回归测试、冒烟测试、功能测试等环节中利用自动化测试工具QUICK TEST PROFESSIONAL(文中简称QTP)进行软件测试

2、,以确保测试强度和精度,提高测试效率,保证软件系统的质量。本文首先对电信运营支撑系统进行了概述,重点讲述ZSmart系统的体系结构、业务范围等,接下来介绍了传统软件测试技术,探讨了自动化测试相关技术。第四章为论文的重点,介绍了自动化测试技术在冒烟测试、接口测试和框架测试中的应用。从测试脚本的角度来看,本文对自动化测试脚本的研究分为以下三个方面:录制测试脚本、描述性编程和关键字驱动方式制作脚本、框架测试脚本。脚本编写中解决的主要问题包括对象的识别方式、特殊鼠标动作的模拟、虚拟对象的管理、独立动作的调用、参数的传递和测试数据的参数化等。关键词:Web测试技术;ZSmart;自动化测试;电信运营支撑

3、系统ABSTRACTAs a new emerged generation of telecom billing solution, for one thing ZSmart system provide customers with promptly service, for another thing it helps telecommunication carriers to reduce debt and to intensify the profit. Furthermore, combined with quasi-real-time charging way, ZSmart di

4、stinguish itself for its capacity of solving kittle problems of market requirement met with telecommunication carriers .While the multiformity of telecommunication market requirement leads to the complexity of the system, which makes the design, development and testing face new challenge. From the v

5、iewpoint of software testing ,this thesis analyzes the thought of design, architecture, function and field of usage, discusses the technological theory and applications of Web testing,and in particular studies the method of taking advantage of the automatic software testing tool QUICK TEST PROFESSIO

6、NAL to carry out regress testing, smoke testing and functional testing, to guarantee the quality of the software system and boost the efficiency of software testing.The study in this thesis has been divided into four part according to the three independent experiment processed during this period of

7、study, they are script transcribing, script descriptive programming and keyword driving programming, and manual script programming. And the solved problems mainly include object identifying method, the simulation of mouse action, virtual object management ,the calling of the independent action the p

8、arameter transferring and the parameterize of testing data.Key Words :web testing; ZSmart; automatic testing; BOSS目 录摘 要IABSTRACTII第一章 绪论11.1 运营支撑系统简介11.1.1系统概述11.1.2 BOSS系统结构11.1.3系统功能21.2 课题来源和实现目标31.3 本文的主要工作及组织结构3第二章 ZTE ZSmart介绍52.1 ZSmart系统的设计背景52.2 ZSmart系统的设计思路52.3 ZSmart系统体系结构62.4 ZSmart系统功

9、能结构和业务范围72.5 ZSmart系统应用于GSM网络的例子8第三章 Web软件测试技术103.1软件测试技术103.1.1 软件测试的产生103.1.2 软件测试目的和原则103.1.3 软件测试过程113.2 Web软件测试技术123.2.1 Web软件测试技术的产生123.2.2 Web测试技术与传统测试技术的比较123.2.3 Web测试过程133.3自动化测试163.3.1 自动化测试概述163.3.2自动化测试工具Quick Test Professional介绍17第四章 QTP在ZSmart系统中的应用194.1冒烟测试中QTP的应用194.2接口测试中QTP的应用224.

10、3 QTP框架测试274.3.1设计思路274.3.2业务要求284.3.3脚本编写技术要点284.3.4实验结果31结束语33致 谢34参考文献3536南京邮电大学2008届本科生毕业设计(论文)第一章 绪论1.1 运营支撑系统简介1.1.1系统概述OSS/BSS(Operation Support System/Business Support System,运营支撑系统/业务支撑系统)是电信运营商的一体化、信息资源共享的支持系统。OSS的历史可以追溯到1984年,AT&T的第一次拆分让世界电信市场首次引入了竞争。随之后市场竞争加剧,要求运营商们不仅能保持客户群的忠实度、减少客户流

11、失,还必须保证一定的经营利润。OSS/BSS于是就应运而生了,其中OSS是主体,BSS是基础,从客户的角度看,OSS和BSS之间没有区别。随着“以客户为中心”理念的盛行,服务商也渐渐淡化了OSS和BSS之间的区别。OSS(运营支持系统)OSS包含用于运行和监控网络的所有系统,如报告或计费系统。它不是网络本身,它是整个运营基础结构,包括运营网络系统和客户服务系统,其中客户支持功能是由业务支持系统(BSS)执行的。BSS(业务支持系统)BSS系统的设计目标包括CRM(Customers Relationship Management客户关系管理)、SCM(Supply Chain Manageme

12、nt,业务供应链管理),DSS(Decision Support Systems,经营决策支持系统)。BOSS(综合业务和运营支撑系统)BOSS系统以客户服务、业务运营和管理为核心,以关键性事务操作(客户服务和计费为重点)作为系统的主要功能,为网络运营商提供一个综合的业务运营和管理平台,提供全面的解决方案。1.1.2 BOSS系统结构BOSS的构成因运营商的实际情况和具体要求不同,但大致都具备以下四个功能块:1. 计费及结算系统计费系统是指处理计费数据采集和批价两个过程的系统。计费数据采集工作包括计算机从电信基础网络(如交换机、网关等)上收集有关的原始基础数据和信息,进行相应的差错检验、格式转

13、换等预处理,生成的结果只记录了用户使用网络(如通话)的情况,并不体现应向用户收取的费用;批价反应了向用户收取的费用情况。结算系统是电信企业间的行为,它包括两种情况: 一种称为漫游结算,另一种称为互联结算。当互联结算发生在两个甚至多个网络之间时,称为网间结算。结算的流程本身就比较复杂,再加上数据量很大,出现得比较晚,使结算系统逐渐区别于传统的计费系统,成为业务运营支撑系统相对独立的组成部分。2. 营业、帐务系统营业系统受理和处理用户的业务请求,帐务系统将用户使用电信网络的情况汇总形成账单。这两个过程在以往是比较单调的,但随着个性化服务的需求越来越强烈,要求系统实现功能的数量越来越多,越来越复杂,

14、需要建设相对独立、灵活的营业系统和帐务系统。3. 客户服务系统中国电信的“10000”和中国移动的“10086”等是客服系统的原形,随着电信行业的发展,客服系统有了新的定义和功能。客服系统一方面能保证为客户提供快速方便的服务;另一方面保证在未来新业务开放的情况下,系统能及时提供相应的功能保证。从更高的角度来看,客户服务系统要实现多元化、个性化、交互式、异地服务的要求。4. 决策支持系统决策支持系统的主要任务是通过动态、有选择性地采集和更新数据源的有效信息及企业外部相关信息,进行智能化地分析、处理、预测、模拟等,最终向各级决策管理者或专业人员提供及时、科学、有效的分析报告,做好信息、智力支持工作

15、。1.1.3系统功能BOSS系统功能主要包括三个领域:计费、服务保障与服务实施,如图1.1所示。随着新的网络技术的推出,每个领域都将受到其特有的一系列问题的影响。图1.1 BOSS系统功能结构针对不同的运营商(如固定网络经营者,移动网络经营者,IP网络经营者,数据网络经营者等),以及不同的服务对象,BOSS通常有以下几类主要业务及其功能:1. 面向多种业务的功能多种业务有固定话音及数据、无线话音及数据、无线数据等。功能主要有工单调度、资源管理等融合的营业系统、多业务融合的计费系统与账务系统、统一的客户服务系统、统一的客户关系管理(CRM)系统、业务开通与保障、业务开发与决策、SLA(服务水平协

16、议)/QoS(服务质量保证)管理以及应用集成等。2. 面向一般消费者及大众化IP业务的功能主要有:营业系统、账务系统、计费系统、客户服务、客户分析、业务开发与规划、业务激活、业务保障和应用集成等。3. 面向企业和个人用户的数据业务的功能针对个人用户特别是大客户的企业用户所需的个性化服务。其流程复杂,多样化。主要功能有:营业系统、工单调度、资源管理、计费系统、账务系统、客户服务系统、CRM系统、业务开通与保障、业务开发与决策、SLA/QoS管理以及应用集成等。1.2 课题来源和实现目标ZSmart为实现客户服务与帐务系统的电信运营解决方案, 除了配合电信业务提供各项客户服务及计费功能外,并支持运

17、营所需的相关模块。 ZSmart主要分为客户服务模块与帐务模块。客户服务模块功能包含订单服务,如新申装、退租、暂停、复话、附加服务、换卡、换机、换号、附加号、换服务区、服务业务增减变动(国际漫游、数据、传真、语音信箱、短信)、客户基本资料变更(名称、地址、)、业务变更(优惠方案、费率、折扣、) 。另需提供交换机设定(Provisioning)与CDR(Call Detail Record) 通信记录功能。 帐务模块功能包括通信记录计费、出帐处理(含各项优惠方案与折扣)、销帐处理、帐单费用查询、欠费管理(催缴、停话、拆机、复话)、改帐、调帐、退费、冲帐、代理商佣金结算与漫游网拆帐模块等。在ZSm

18、art系统的开发过程中,测试是非常重要的一个环节。由于ZSmart是基于Web开发的,这就涉及到Web测试技术在ZSmart系统中的应用。通过使用各种专业测试工具来研究Web测试技术的应用,从而改进生产过程,提高研发效率。就是本课题实现的目标。1.3 本文的主要工作及组织结构论文主要研究了Web测试技术在ZSmart系统中的应用。围绕以上问题,首先对ZTEsoft的ZSmart系统进行系统分析,然后就Web测试技术在该系统中的具体应用问题进行研究。具体安排如下:1. 首先分析ZSmart系统的组织结构、设计背景、设计思路、体系结构、功能结构和业务范围,并以GSM(Global System f

19、or Mobile communication,全球移动通信系统)网络为例具体说明了ZSmart的应用。2. 研究Web测试技术:从整体上研究了Web测试技术的来源、基础,将其与传统的测试技术进行比较,并介绍了本文主要使用的Web测试工具QUICK TEST PROFESSIONAL。 3. Web测试技术在ZSmart系统中的应用:讨论了在ZSmart的测试过程中使用Web测试理论来进行指导从而实践的过程,探讨了冒烟测试、回归测试、功能测试、接口测试中QTP技术的应用,在不同实验中分别研究了脚本录制、描述性编程和关键字驱动技术,最后探讨了VBS脚本编写技术。第二章 ZTE ZSmart介绍2

20、.1 ZSmart系统的设计背景ZSmart是ZTEsoft公司的电信运营支撑系统软件(Operation Supporting System)产品,应用于国外中小规模的电信运营商。ZSmart产品是一个综合的系统,主要包括客服和计费帐务两大系统,重点是对已有的CRM(Customer Relationship Management,客户关系管理)产品相关营业功能等进行拓展和改造,同时设计、开发一套适合于国际计费项目特点的计费帐务系统。ZSmart系统能够满足GSM(Global System for Mobile communication)、CDMA(Code Division Multi

21、ple Access)、NGN(Next Generation Network)、3G(3rd Generation)等各种网络所承载的基本和增值业务要求的支撑功能,以及由此相关的实时性要求、预付费或者预/后付费融合的要求、多业务融合的要求、多合作伙伴管理的要求等等。ZSmart系统的子系统包括:客户服务子系统、采集和命令服务子系统、计费帐务子系统、收入保障子系统、帐务管理子系统、结算子系统、数据管理子系统和系统管理等功能子系统。2.2 ZSmart系统的设计思路目前,电信市场的激烈竞争对电信运营企业的ZSmart系统提出了新的要求。新的市场环境要求ZSmart系统不仅要能够成功的处理好各种计

22、费业务和结算活动,还要提供更高的自动化水平、系统维护管理水平和支持新业务的拓展性,并尽可能的将系统的出错率降为零;更重要的是,通过系统的良好运作要能够提高企业的市场应对能力和竞争能力,能够为用户提供更加优质的服务。这就要求ZSmart系统的开发中要贯彻客户关系管理的思想,以客户为中心而不是以生产为中心进行开发和建设。本项目在确保整体体系架构先进、灵活,体现产品化和基础能力思想的前提下,结合着客户、项目的实际情况,有针对性地设计开发相应的功能,做到有的放矢形成针对国际项目的小规模ZSmart产品的第一个版本,通过系统测试验证,以支撑国际工程项目的实施。随着具体应用开局的进行,及时抽取特性归总到核

23、心版本,对产品进行逐步的发展和丰富,以支撑更多的项目,渐进综合和形成基础的共享能力。在ZSmart系统的开发过程中,稳定性是第一要求;易用性、易维护性、可扩展性、可测试性、可重用性是重点考虑的目标;Web操作界面,对各种终端进行集成,减轻培训、部署、升级、维护的工作量;提供灵活的扩展和定制功能,以适应市场的变化快速推出新的业务。基于以上的设计思路呵指导思想,ZSmart系统从设计到开发测试,都始终贯彻客户关系管理的思想,顺应电信业发展要求。2.3 ZSmart系统体系结构图2.1 ZSmart系统体系结构图ZSmart 系统体系结构如图2.1所示。文件转换功能模块负责将后付费用户在各外部网元产

24、生的话单进行格式转换,送到在线采集、在线计费模块来完成后付费用户的计费处理。在线采集功能模块是OCS与外部系统进行计费信息交互的功能模块,OCS内部功能模块通过在线采集实现计费信息的格式转化和交互。通信机功能模块负责接收在线采集发送的消息,并将该消息按照特定规则分发到在线计费进程。并接收在线计费进程处理结果,最后将在线计费进程处理结果发送回去。计费控制功能模块是在线计费系统的核心控制模块,调度批价、余额管理等功能模块完成用户业务使用的计费认证/鉴权、计费、预留、扣费等操作预处理功能模块提供计费请求标准化、用户资料绑定、业务识别(分拣)、重单检查功能,供计费控制模块调用。批价处理功能模块根据业务

25、使用请求和用户信息确定需要的资费、价格或使用量。余额管理功能模块对用户的帐户余额和累计量进行管理。话单生成功能模块接收计费模块的话单输出请求,按照一定的策略输出话单文件。余额监控功能模块定时对余额进行监控,若余额不足或异常需进行相应的处理。异常会话处理功能模块负责定时对会话进行扫描,若会话超时则对该会话进行超时处理。数据同步模块功能模块负责对物理数据库中的数据与OCS的内存数据库、共享内存中的数据进行同步与更新。系统管理功能模块对OCS的运行进行配置、监控和维护,包括运行管理、业务统计、审核校验、数据管理、日志管理、版本管理等功能。2.4 ZSmart系统功能结构和业务范围图2.2 ZSmar

26、t系统功能结构图如图2.2,ZSmart所支撑的网络主要包括GSM(Global System for Mobile communication全球移动通信系统)、CDMA(Code Division Multiple Access,码分多址)、NGN(Next Generation Network,下一代网络)、CDMA2000(Code Division Multiple Access2000,码分多址2000)、IMS(IP Multimedia Subsystem,IP多媒体子系统)、TD-SCDMA(Time Division-Synchronous Code Division Mu

27、ltiple Access时分同步码分多址)、IPTV(Internet Protocol Television,IP电视)、VoIP(Voice Over Internet Protocol,IP语音)、DSL(Dynamic super linear bass,动态超线性低音系统)、WAP(Wireless Application Protocol 无线应用通讯协议)、GOTA(Global open Trunking architecture,开放式集群架构)、PTT(Push-To-Talk,按讲)、3G(3rd Generation,第三代网络)。ZSmart所覆盖的业务范围主要包括

28、:市场销售管理、渠道管理、产品管理、订单管理、供应管理、客户关怀、客户管理、出账、计费、帐务管理、充值中心管理等。2.5 ZSmart系统应用于GSM网络的例子图2.3 ZSmart系统应用于GSM网络图2.3为ZSmart系统应用于GSM网络的例子,其具体组件包括BTS(Base Transceiver Station,基站收发信机)、BSC(Base Station Controller,基站控制器)、HLR(Home Location Register,归属位置寄存器)、MSC(Mobile Switching Centre,移动交换机)、VLR(Visiting Location Re

29、gister,访问位置寄存器)、GMSC(Global System for Mobile communication Center,移动网网关局)、OCU(Online Charging Unit,在线计费模块)、SCU(Service Control Unit,业务控制单元)、VC(Voucher Centre,充值中心)、SMSC(Short Message Service Centre,短消息业务中心)、CRBT(Color Ring Back Tone,彩铃)。按照图中虚线划分,左侧为无线侧,由基站和基站控制器组成;中间为电路域,即移动的核心交换层;右边为业务层,我们的ZSmart系

30、统就位于这一层。OCS是业务产品的一部分,相当于传统的智能网中组成部分,把计费从传统智能网中分离出来,分为SCU和OCU两部分,其中SCU即是传统的SCP(Service Control Point,业务控制点),通过Diameter协议与OCU核心计费主机连接。其他网元与OCU可以通过Diameter协议与OCU交互,也可以通过MML(Man-Machine Language)接口或者其他内部协议。OCU 组成见图2.4。图2.4 OCU组成其主要部件包括CDR Server(Call Detail Record Server,计费数据记录服务器,即话单服务器)、OLC Server(Onl

31、ine Charging Server,在线计费服务器)、OCU Server( Online Charging Unit Server,在线计费模块服务器)、CSIP Server(Commons Service Interface Platform Server,通用服务接口平台服务器)、DB Server(Data Base Server,数据库服务器)、Web Server(Web 服务器)。其中OLC Server作为Diameter 服务器与SCU交互,并将信息传递到OCU Server;CDR Server用来保存话单,进行话单备份,给其它网元提供查询;DB Server一般存放

32、在其他服务器主机上;Web Server给OCS提供Web界面,比如营业厅的服务受理端。CSIP Server作为接口机与其他网元进行交互。第三章 Web软件测试技术3.1软件测试技术3.1.1 软件测试的产生在开发软件的过程中,人们使用了多种保证软件质量的方法分析、设计和实现软件,但是仍然不能完全避免错误的发生,在软件产品中就会隐藏着一些错误和缺陷。对于大规模、高复杂性的软件更是如此。为了保证软件质量的可靠性,应力求在分析、设计、开发等各个阶段对软件进行严格的技术评审。软件测试就是在软件投入使用之前,对软件需求分析、设计规格说明和编码的最终复查,是软件质量保证的关键步骤。因此可以给软件测试这

33、样下一个定义:软件测试是为了发现错误而执行程序的过程,或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。3.1.2 软件测试目的和原则Grenford J.Myers就软件测试目的提出以下观点:1. 测试是执行程序的过程,目的在于发现至今未发现的错误;2. 一个好的测试用例在于能发现至今未发现的错误;3. 一个成功的测试是发现了至今未发现的错误的测试。测试的目标是想以最少的时间和人力找出软件中潜在的各种错误和缺陷。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符。此

34、外,实施测试收集到的测试结果数据为可靠性分析提供了依据。根据这样的测试目的,软件测试的原则应该是:1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭;2. 测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成;3. 程序员应避免检查自己的程序;4. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件;5. 充分注意测试中的群集现象,经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目或检错率成反比;根据这个规律,应当对错误群集的程序段进行重点测试。6. 严格执行测试计划,排除测试的随意性。7. 应当对每一个测试结果做全面检查;8. 妥善保存测试计划,测试

35、用例,出错统计和最终分析报告,为维护提供方便。3.1.3 软件测试过程测试过程按照四个步骤进行,即单元测试、集成测试、确认测试和系统测试。单元测试又称模块测试,是针对软件设计的最小单位程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。这一阶段测试者的主要依据是详细设计说明书和程序清单,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何的合理的输入和不合理的输入都能鉴别和相应。集成测试也叫组装测试或联合测试,是在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这

36、是需要考虑的问题有:在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;一个模块的功能是否会对另一个模块的功能产生不利的影响;各个子功能组合起来,能否达到预期要求的父功能;全局数据结构是否有问题;单个模块的误差累计起来,是否会放大,从而达到不能接受的程度。确认测试又称有效性测试。它的任务是验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试的步骤如图3.1:图3.1 确认测试流程系统测试是将将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运用环境下,对计算机系统进行一系列的组装测试和确认测试。系统

37、测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。系统测试的测试用例应根据需求分析说明书来设计,并在实际使用环境下来运行。3.2 Web软件测试技术3.2.1 Web软件测试技术的产生近年来,随着Internet和Intranet/Extranet的快速增长,基于Web的应用系统的开发方法倍受关注,这些关注主要体现在Web应用系统的开发和传统软件开发的显著区别。传统软件工程方法和技术应用到基于Web的系统开发中,显得力不从心。目前,在大多数情况下,开发基于Web的系统具有随意性,缺乏系统的方法、质量控制和保证过程。因此,对基于Web的系统的开发方式和质量保证的

38、研究是十分必要的,也是十分紧迫的。对于Web网站,人们经常会问:Web服务器和应用能够支持多少并发用户访问?在出现大量并发请求的情况下,软件会出现问题吗?这些问题靠通常的测试手段是无法解答的。随着服务器端处理任务的日益复杂以及网站访问量的迅速增长,服务器性能的优化也成了非常迫切任务。Web测试主要有以下几个方面:功能测试:检验系统是否满足功能需求说明书中的功能需求,检验程序是否满足程序设计书中定义的功能。负载/压力测试:通过模拟大批量用户的并发请求,给系统施加较大的负载,这是检测整个系统处理交易的能力。在反常数量或资源(使用的容量达到规定的极限)的情况下执行应用程序,检测系统在长时间、高负载情

39、况下的运行处理能力,从而检验系统的稳定性。操作系统、浏览器兼容性测试:在不同的操作系统(WIN,MAC,UNIX)和不同版本的浏览器(IE,NN,MOZILA,FIREFOX)组合情况下Web应用能否正确执行。安全性测试:安全性测试要检验在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞。可用性测试:主要从使用的合理性和方便性等角度对软件进行检查,专为“对用户友好”的特性进行测试。这是一种主观的感觉,取决于最终用户或顾客。超链接导航测试:检查页面上所有的链接是否正确,是否存在Broken Links、404错误等。 图形显示测试:检查是否所有的图片都被正确装载,在不同的浏览器、分辨

40、率下图片能否正确显示(包括位置、大小)。3.2.2 Web测试技术与传统测试技术的比较1. 应用系统模型客户机/服务器系统(Web系统就是在其上建立的)需要网络和至少两台机器才能运转:一台客户机和一台服务器,服务器向客户机提供请求的数据(处理结果)。在绝大多数Web应用系统中,是用Web浏览器作为客户机用户界面的。 Web系统可能包含多个物理服务器,每个可以做一种或多种服务器类型。一个Web系统可能包括多个Web服务器、应用服务器和数据库服务器。2. Web系统与传统的C/S系统之间的区别大多数C/S系统是数据访问应用系统。传统的C/S系统的是平台专用的。也就是说,对每种需要支持的客户平台(如

41、16位/32位Windows,Solaris,Linux,Macintosh等)客户端应用将针对目标平台进行开发和测试。大多数基于Web的系统也都是数据访问应用。基于浏览器的客户端被设计为处理类似于传统客户端所支持的活动。主要区别在于, 基于Web的客户端运行在Web浏览器环境下。Web浏览器包括运行在客户计算机上的平台专用客户端软件。它解释静态超文本标记语言(HTML)并自动将活动内容显示为Web页信息。几种流行的浏览器也支持活动内容,如客户端脚本、Java Script、ActiveX控件、CSS(层叠样式表)、动态HTML、安全特性和其他内容。为了做到这些,浏览器厂商必须创建翻译引擎和解

42、释器来翻译和格式化HTML内容。3. 瘦客户机处理与胖客户机处理的比较瘦客户机与胖客户机是指存放和运行应用程序及组件。组件可以驻留在客户端计算机和一台或多台服务器端计算机上。这两种可能性是:瘦客户机:在瘦客户机系统中,客户端PC机只做很少的处理。业务逻辑规则在服务器端执行。一些基于Web的简单HTML应用程序和手持设备就是利用这种模式。这种方式将处理集中在服务器端进行,因而消除了很多客户端不兼容性问题。 胖客户机:客户端计算机既运行应用程序的用户界面部分,也执行业务逻辑。这时,浏览器不仅要对HTML页面进行格式化处理,而且还要执行如Java applet和ActiveX控件等其他组件。服务器端

43、计算机存放客户端请求数据处理的数据库。处理由服务器端和客户端共享。完成大量系统工作(如运行业务逻辑规则,动态HTML,Java Applet,ActiveX控件或客户端的样式表等)的PC机成为胖客户处理。胖客户处理减轻了服务器端的处理强度,并且充分利用了客户端的处理器。在胖客户处理中,客户端可能会存在很多的不兼容问题。瘦客户和胖客户端应用程序的测试问题应围绕功能、兼容性和性能等几方面进行折中考虑。ZSmart系统属于瘦客户端处理模式。3.2.3 Web测试过程1. 功能及性能可用性问题(1) 功能测试,保证网站主要功能正确。(2) 可用性测试,通过观察用户与站点的交互,评估一个站点是否用户友好

44、。(3) 导航测试,通过访问页面、图像、链接及其它页面组件,确保用户可以完成希望的任务。(4) 表单测试,确保每个字段工作正确。(5) 页面内容测试,确保有网站提供的信息是正确的。2. 配置测试和兼容性测试确保用户在各种情况下所看到的网页都像设计者所希望的那样。用户的可变因素:不同的浏览器软件、不同的网络软件和在线服务,并且运行其它并发的应用程序。对于用户和应用程序而言,硬件设备和配置也会影响环境。Web应用程序的环境通常保持静态,而用户的环境则根据给定的用户不同,在整个可选范围内并有所变化。因此,配置和兼容性测试的目标是保证应用程序在互联网中功能正确。当设计配置测试的测试用例时,不同的环境和

45、配置设置问题可能会影响用户对同一网站的体验,好的需求来自下面这些问题的答案,测试人员使用这些信息来设计适当的测试用例。(1) 用户是否位于防火墙或者代理服务器之后?(2) 用户是通过负载平衡服务器(在所有可用的Web服务器中保持一个相同负载的设置)连接的吗?(3) 浏览器使用cookies吗?(cookies是由Web服务器发送的一组数据,而后存放于用户的硬盘中,它保留了用户的信息和选择)(4) 是设置成高安全级别吗?(5) 网页设计者采用了什么样的技术?例如,网页中使用了Active X 控件或Java 脚本了吗?测试人员必须知道哪一版本的浏览器支持他们的执行。(6) 使用安全服务器工具(阻

46、止胡乱使用机制)了吗?兼容性测试确保在不同的浏览器和平台中产品的功能性和可靠性。浏览器的增加、版本的升级,可运行在不同操作系统和平台上,各自有不同的图像功能、不同的插件,形成了上百种不同的用户环境。用户浏览器连接到一个服务器和其它的通信设备,必须能够正确交互以执行Web应用程序。3. 可靠性和可用性对于一个站点来说,一个关键的要求就是要保证不间断地正常相应用户请求,对于Web系统,测试人员必须在以下可以预料的使用峰值环境下进行测试工作:(1) 不断增长的业务量。(2) 月末和季度末的业务高峰期。(3) 维护期对于备份、升级和其他操作所需要的停机时间。测试人员还必须检测资源情况,例如内存泄露和数

47、据库限制等,他们会降低程序执行效率甚至导致Web应用程序死机,从而导致严重的后果。对于测试人员来说,为了执行适当的可用性和可靠性测试,知道系统的结构是很重要的。例如,如果要使包括两个Web服务器的系统保持负载均衡,测试人员必须能够报告在一个Web服务器情况下系统的执行效率。4. 性能性能测试,指在正常情况和大量使用情况下评估系统的性能,这对于任何Web应用程序的成功都是至关重要的。一个系统需要的响应时间太长,就会使用户失去耐心从而转到竞争对手的站点中。性能测试就是确保网站服务器能够在规定的参数范围内相应浏览器的请求。不同的用户及其不同的操作将会极大地影响系统的性能。影响性能的主要因素有:登陆用

48、户的数量及其行为、不同时段、由于太多用户造成的网络瓶颈、使用方法、Internet访问速度和放弃率等。在测试周期中,性能测试应该较早开始。一些组织计划在测试周期的末尾进行性能测试,这不是一个最有效的计划方式,尤其是如果在性能测试的结果中指出了系统的主要设计缺陷。一旦测试小组认为应用程序的功能是稳定的,就应该进行性能测试。性能测试主要包括:(1) 可扩展性测试:可扩展性主要指网站处理登陆后用户行为的数量和类型的能力。(2) 负载测试:检验系统承受负载的能力,通常需要模拟现实世界,产生许多同步用户访问站点。可以使用自动化测试技术模拟上千个用户向应用程序或服务器发送同步请求,增加有效进行负载测试的能

49、力。(3) 压力测试:考察最大负载下系统的变化以评估系统的最终性能,或者是测试当可用的内存或者处理器接近一个已知极限时,系统是否还可靠运行。后台数据库也必须经过压力测试以帮助确定潜在的瓶颈。5. 安全测试通过Internet进行商业通信和处理商业事务,安全是一个非常值得重视的问题。用户希望确保个人和金融信息的安全。在应用程序中找到可以让非授权用户访问系统的安全漏洞是安全测试的重点。以下问题可以帮助测试人员设计相关的附加安全测试:(1) 有什么样的预防措施来阻止或限制黑客的攻击?(2) 浏览器是否设置为最高级别的安全保护?(3) 站点如何处理访问权限?(4) 对于通过telnet或是第三方网络提

50、供商登陆的用户,应用程序是否有病毒保护程序?(5) 应用程序是否能处理篡改,例如改变原始目的地址?(6) 电子商务提供者是否提供了防止信用卡欺诈的机制?(7) 是否保存了日志文件并且定期检查,以便能够自动检测出可疑的行为?(8) 站点如何加密数据?(9) 站点如何鉴别用户?(10) 源代码中是否泄露了任何重要的信息?(11) 能否通过直接拨号进入数据库来访问或者篡改系统?(12) 信用卡或者用户信息有多安全?什么样的安全措施才是足够的?(13) 应用程序是否允许文件被数字签名?防火墙是确保网络安全,防止入侵者破坏的一项关键技术。测试防火墙的目标是入侵或绕过安全机制,以检测是否有效。对网络流量进

51、行日志记录和检查是一个主要的防火墙测试活动。另一个方面是进行突破测试,即经过认证的用户作出企图侵占网络的行为。6. 端到端事务测试端到端事务的工作流程包括从用户开始访问到用户离开的全过程。它测试了完成一个特定事务的所有相关部分,包括浏览器、Web服务器、应用程序服务器、数据库和中间件。端到端事务的测试用例是可用性测试用例的补充,它在逻辑上遵循工作流程,并在实际测试中加入了一定数量的用户操作。7. 数据库测试许多网站都具备某种搜索功能,因此数据库测试通常作为Web测试的一个基本组成部分。测试人员应该能够在工作流的某个特定点上并发地查询数据库,以检验数据库的数据完整性、有效性、数据操作及更新等。8

52、. 完成测试 执行完成测试的主要原应是核实应用程序在生产环境中的行为。它包括一个回退计划,在需要的情况下回退一个版本,做到有条理、有控制地把生产环境恢复到原始状态。3.3自动化测试3.3.1 自动化测试概述软件规模的扩大给软件测试工作带来了新的问题,手工测试速度太慢,效率太低,这催生了自动化测试技术的产生和发展。Carnege Mellon大学的软件工程研究所(Software Engineering Institute,SEI)已经建立了软件测试管理关键过程域(Key Process Area,KPA),它对于达到软件过程能力成熟度模型(Capability Maturity Model,C

53、MM)第二级可重复级(Repeatabel)是必须的。Krause为自动化的软件测试提出了四级成熟度模型。在该模型中,他将软件测试成熟度模型和SEI的软件过程成熟度模型联系起来了。四级成熟度模型中的四级分别为:附属级自动化(Accidental Automation), 初始级自动化(Beginning Automation),主体级自动化(Intentional Automation),优化级自动化(Advanced Automation)。这个模型从概念上描述了测试自动化,但是实际上他并不能促进测试自动化技术的实现,仅仅是描述作者在一些典型测试组织中注意到的一些问题。Dustin、Rash

54、ka和Paul合作公布了自动化测试生命周期方法学,这是一种经过调整的结构化方法学,能确保自动化测试的成功实现。它定义了一种四阶段方法学:自动化测试的决定;自动化测试的介绍;测试计划、设计和开发;自动化测试的执行和管理。这个模型从管理和控制角度来说是有效的,但是从测试自动化工程师的观点来看,它并不实用。对此,Powers提出了一些实际建议,从一般意义上讨论了编程风格、命名规则以及用于编写自动化测试脚本的其他一些惯例。自动测试的好处: 1. 快速(Fast) QuickTest执行测试与人工测试速度相比大大提高。2. 可靠(Reliable) QuickTest每一次的测试都可以正确的执行相同的动

55、作,可以避免人工测试的错误。3. 可重复(Repeatable) QuickTest可以重复执行相同的测试。4. 可程序化(Programmable) QuickTest可以用程序的方式,撰写复杂的测试脚本,以带出隐藏在应用程序中的信息。5. 广泛的(Comprehensive) QuickTest可以建立广泛的测试脚本,涵盖应用程序的所有功能。6. 可再使用(Reusable) QuickTest可以重复使用测试脚本,即使应用程序的使用接口已经改变。3.3.2自动化测试工具Quick Test Professional介绍QUICK TEST PROFESSIONAL(以下简称QTP),是一

56、款先进的自动化测试解决方案,用于创建功能和回归测试。它自动捕获、验证和重放用户的交互行为。 QTP为每一个重要软件应用和环境提供功能和回归测试自动化的行业最佳解决方案。 QTP是新一代自动化测试解决方案,采用了关键词驱动(Keyword-Driven)测试的理念,能完全简化测试的创建和维护工作。QTP关键词驱动方式独有之处在于,测试自动化专家可以通过一个整合的脚本和纠错环境,拥有对基础测试脚本和对象属性的完全访问权限,这些脚本和纠错环境与关键词视图(Keyword View)可以互为同步。 QTP的测试流程包含七大阶段:1. 录制测试脚本前的准备 在测试前需要先确认应用程序以及QTP是符合测试

57、需求的。确认已经知道如何对应用程序进行测试,例如要测那些功能、操作步骤、输入的数据、预期的结果等。同时应该检查一下QTP的设定,如Test Settings以及Options 对话窗口,以确保QuickTest 会适切的录制并储存信息。例如,应该确认一下QTP的Object Repository 是以什么模式储存信息的。2. 录制测试脚本 当浏览一个网站或是操作一个应用程序时,QTP会在Keyword View 中以表格的方式显示录制的操作步骤。每一个操作步骤都是使用者在录制时的操作,如在网页上点选一个超级链接(link),或是按下窗口上的按钮。 3. 加强测试脚本 在测试脚本中加入检查点,可以检查网页超级链接、对象属性或是字符串,以验证应用程序的功能是否正确。将录制的固定值(hard code)以参数取代,可以使用多组的数据测试你的应用程序。使用逻辑(logic)或是条件(conditional)判断式,可以进行更复杂的测试。4. 对测试脚本除错(debug) 在修改过测试脚本之后,可能会需要对测试脚本作除错的动作,以确保测试脚本能正常且流畅的执行。5. 在新版应用程序或网站上执行测试脚本 通过执行测试脚本,QTP会在新版的网站或是应用程序上执行测试,检查应用程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论