高级软件测试技术课程报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

研究生课程考试成绩单院系软件学院专业软件工程学生姓名万玉建学号138071课程名称高级软件测试技术授课时间2013年9月至2013年12月周学时4学分2简要评语考核论题软件测试新技术的进展和应用——浅谈互联网应用测试总评成绩(含平时成绩)备注任课教师签名:日期:1软件测试新技术的进展和应用——浅谈互联网应用测试学号:138071姓名:万玉建1引言当今时代已进入互联网时代,如今的互联网应用早已遍地开花,百家争鸣。很多中小企业开通简单的WEB页面,推销他们的产品和服务。大型企业则搭建功能齐备的电子商务交易平台来销售其产品。处在如此蓬勃发展的互联网时代,对于互联网应用测试的内容和方法的了解必须与时俱进。本文是作者通过阅读学习经典软件测试教材《软件测试的艺术(原书第3版)》[1]之后,浅谈对互联网应用测试的认识、理解和应用。互联网应用系统本质上还是C/S模式的系统,客户端是Web浏览器,服务端是WEB或应用服务器。互联网应用测试的目标是在系统部署到互联网上之前暴露其中存在的错误。由于用户对互联网应用系统的期望比较高,一旦企业网站质量差强人意,一定会影响公司形象,甚至导致用户转向其他公司网站。传统的测试技术同样适用于互联网应用测试,但是测试互联网应用存在一些特殊之处。2电子商务的基本结构互联网最典型的应用就是电子商务,它在软件体系统结构中属于典型的新3-Tier/n-Tier结构[2],电子商务系统的基本结构即为新3-Tier/n-Tier结构,如图1所示电子商务系统基本结构图。表示层提供了GUI,互联网应用外观和用户体验,可以使用静态HTML、CGI、ASP、JSP、PHP等技术实现。其中WEB浏览器表现网站的内容,虽然浏览器厂商基本上都遵循颁布的数据服务器应用服务器应用逻辑域应用逻辑域应用逻辑域……信息服务器浏览器浏览器浏览器……互联网表示层业务逻辑层数据层图1电子商务系统基本结构图2标准,但是他们也会在浏览器中内置了专用的增强特性,导致浏览器运行不稳定,在测试时需要考虑不同厂商、不同版本浏览器的兼容性。业务逻辑层又称“业务层”,运行应用服务器。提供对业务逻辑处理过程,如:事务处理、用户身份鉴定、数据确认和程序日志等。数据层运行数据服务器,存储供业务逻辑层使用或者从最终用户收集来的数据,并基于数据库服务器对数据进行增加、删除、修改和查询等各种数据操作。3互联网应用测试的挑战在设计和测试基于互联网的应用系统时,由于有太多无法控制的因素,相互依赖的组件数量也非常之多,因此互联网应用测试将会面临许多挑战。配置测试环境是互联网应用测试中最具挑战性的方面之一。为了严格地测试应用系统,必须复制软件运行的环境,即使用与软件运行环境中相同的WEB服务器、应用服务器和数据服务器。为了得到最精确的测试结果,还需要建立相同的网络环境,包括路由器、交换机和防火墙。配置这样的环境是一项高成本的工作。不仅设备要花钱,人工也要成本。大多数公司在做应用系统预算时都没有将这些开销考虑进去。即使考虑了这些因素,往往也会低估时间和资金的要求。此外,测试环境还需要一份维护计划以支持应用系统的升级。浏览器的兼容性是互联网应用测试的另一个重挑战。现在市场上有多种不同的浏览器,如IE浏览器、搜狗高速浏览器、Firefox浏览器等等,每一种浏览器的操作都不相同,并且这些浏览器本身不同版本的兼容性也有所不同。这就使得互联网应用测试在浏览器兼容性问题上难度大大提高。4互联网应用测试的策略为基于互联网应用系统设计测试策略,不但需要对组成应用系统的每一个硬件和软件组件都有深入的了解,而且还需要一份系统规格说明文档来描述WEB站点的预期功能和性能。需要测试的部件有内部开发的,也有从第三方购买的。对于内部开发的部件,可以使用单元、模块测试和代码审查等技术,验证其符合系统规格说明文档描述的功能要求后,方可将其集成到系统中。对于第三方购买的部件,首先要确认这些部件能够独立于系统正确执行,然后才可以将其集成到系统进行设计系统测试策略。互联网应用测试可以采用结构化分解方法“分而治之”,系统按上述电子商务的基本三层结构划分,每一层都有各自的职责和特点,每一层的测试内容也有所不同。4.1表示层的测试表示层测试的主要目的是发现应用程序的GUI或前端中的错误。表示层测试的主要内容包括:内容测试、WEB站点结构和用户环境。内容测试:包括整体审美、字体、色彩、拼写、内容准确性和默认值。不仅要检查人机界面元素,在字体类型、屏幕布局、色彩搭配、图形分辨率及其他会直接影响用户体验的特3性中检查错误,而且还需要检查WEB页面中信息的准确性,包括语法和内容。WEB站点结构:包括无效的链接或图形。尽量发现浏览过程中和结构上存在的错误,发现无效的链接、丢失的网页、错误的文件或者其他任何将用户引到错误区域的问题。有多种工具可以自动执行验证链接、检查丢失文件等过程。白盒测试技术也可以用于测试WEB站结构。用户环境:包括WEB浏览器版本和操作系统配置。测试系统不同浏览器以及相同浏览器的不同版本中运行的情况。如果应用系统高度依赖客户端的脚本处理,如ActiveX控件、JavaScript、VBScript、JavaApplets、Html5、AdobeFlash、PHP等,用户环境测试就变得更加复杂。由于每个浏览器都有不同的脚本引擎或者虚拟机在客户端计算机上运行脚本和代码,因此,应该特别关注浏览器兼容性问题。4.2业务层的测试业务层测试的重点是发现互联网应用系统的业务逻辑中的错误。业务层测试类似于测试单机程序,可以使用黑盒测试和白盒测试技术,黑盒测试是业务层测试的主要方法,需要模拟用户使用系统的所有步骤和整个过程。内部开发的部件可以使用白盒测试方法测试。业务层测试的内容主要包括性能、数据有效性和事务。性能测试:检查应用系统是否满足书面的性能规格说明。性能规格说明应该在需求阶段完成,通常包括响应时间、吞吐率等。长时间的页加载、缓慢的事务处理,会使用户怀疑系统的鲁棒性。强度测试是一种常用的性能测试方法,它通过大量的并发操作使用系统临近失效点,借以判断应用系统是否满足其性能目标。通过对应用系统进行强度测试,还可以检查网络设施的鲁棒性和可测量性。数据验证:发现从客户那里采集到的数据中的错误。业务层的一个重要功能是确保从用户收集来的数据是有效的,如果系统使用了无效的信息,例如错误的信用卡或格式错误的地址,那么可能发生严重的错误。与测试单机应用系统时查找用户输入或参数的错误很相似,通过传统的测试方法测试发现数据采集时的错误。事务测试:发现事务处理过程中的错误。互联网应用必须在全部的时间里正确处理事务,用户不能容忍事务出错。我们可以将事务测试视为对业务层进行的系统测试。除了测试内部业务过程之外,还必须测试外部服务,例如信用卡鉴别、银行事务以及地址确认等。4.3数据层的测试数据层测试主要是指对应用系统用于存储和获取信息的数据库管理系统的测试。数据层测试最大挑战之一,是复制应用系统的运行环境。必须使用相同的硬件平台和软件版本来进行有效的测试。在测试数据层时应当在特定的方面查找错误,包括:响应时间、数据完整性以及容错性和可恢复性。响应时间测试:应量化结构化查询语言SQL语句的消耗时间。测量响应时间,确定每一项插入、删除、修改、查询等数据库操作需要多久完成。数据层响应时间测试与测试环境关系密切,测试环境必须与系统实际应用环境一致,否则得到的结果就会无效。响应时间测4试通常使用黑盒测试方法进行。数据完整性测试:验证数据存储适当且正确。数据完整性测试是指在数据库表中发现不准确数据的过程。尽量在数据的存储方式中发现问题,如数据类型和长度导致数据失去精度的问题。还要检查系统使用的检查/参考表的准确性,例如邮政编码、时区等信息。容错性和可恢复性测试:最大化平均无故障时间MTBF,最小化平均恢复前时间MTTR。最大化MTBF取决于数据库的容错级别。我们可以通过故障处理机制或者内制容错机制,使得数据故障时对系统的影响最小。根据系统采用的结构来决定采用的测试类型。可恢复性测试的目标是设计出数据库无法恢复的场景,恢复计划开始于获得有效的备份,测试时如果无法恢复数据库,就需要修改备份策略。5应用与体会作者一直从事软件开发与项目研发管理工作,研发产品主要是电力行业实时监控软件,研发产品中也有WEB发布模块,但是它的规模和用户数都无法和互联网应用相比,即便这样基于企业局域网的小规模WEB网站系统的测试,也同样需要面对配置测试环境和浏览器兼容性问题的挑战。不过因为规模小,信息发布服务器、业务逻辑服务器和数据服务器三层结构在逻辑上分开,物理上可以放在一台电脑上运行,甚至可以把系统放在虚拟机里运行,这样就解决了配置测试环境投资大的问题。然而,浏览器的兼容性问题和系统规模和用户数量没有关系,这样问题同样需要面对。在实际工作中,互联网应用测试的策略还是值得学习和运用的,特别是“分而治之”思想,实际应用中经常发现一个问题反应在网页上,但是问题的根源却在业务层,甚至在数据层,这就需要分层测试,从而尽快发现问题产生的原因。每一层的测试内容和测试方法,以前只是根据感觉随意地测一些,没有进行理论上的分析,通过本次学习,系统地认识和理解了每一层的测试内容和方法,使得测试工作有了方向,少了一些盲目。总之,通过本次理论的学习和研究,并在实际工作中指导和应用,对互联网应用测试的认识和理解更深一层,深感受益匪浅。6结束语互联网应用的测试面临诸多挑战,尤其是那些用户基数庞大的电子商务网站,对于数据准确性和安全性提出了更高的要求。对于像12306火车票销售网站、淘宝网这些拥用庞大用户量的大型网站,还需要做广泛的用户测试以确保符合产品规格说明书以及通过用户验收测试。毫无疑问,我们应该把软件做得既好看又好用,而这一点要求对于互联网应用尤为苛刻。纵观今日之环境,软件上的成功往往意味着商业上的丰收,而成功的软件需要我们积极彻底的测试。参考文献[1]:《软件测试的艺术(原书第3版)》(美)GlenfordJ.MyersTomBadgettCoreySandler著张晓明黄琳译[2]:《软件体系结构——面向思维的解析方法》沈军编著

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功