您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 软件测试的艺术(第3版)第10章-互联网应用测试
10.1电子商务的基本结构10.2测试的挑战10.3测试的策略表示层的测试业务层的测试数据层的测试10.4小结第10章互联网应用测试第10章互联网应用测试Internet应用系统中小规模企业:简单的Web页面。大规模企业:功能齐备的电子商务交易平台。Internet应用的结构特点本质是C/S模式:客户端是Web浏览器,服务器端是Web或应用服务器。第10章互联网应用测试测试目标在程序部署到Internet之前暴露其中存在的错误。消费者对Internet应用的质量期望较高,网站质量差可能会影响公司形象,甚至导致客户转向其他网站。测试技术前面介绍的测试技术同样适用于测试Internet应用系统,但测试Web应用系统时仍存在一些特殊之处。10.1典型的电子商务结构Web浏览器浏览器表现网站的内容,虽然存在标准,但不同厂商的产品中有增强功能,导致浏览器运行不稳定,需测试兼容性。表示层:表示层提供了GUI,Internet应用的外观和感觉来自本层,可以使用静态HTML或CGI脚本生成HTML。10.1典型的电子商务结构业务层:应用服务器对业务的逻辑处理过程,如:事务处理、用户身份鉴定、数据确认、程序日志等。数据层:数据库服务器存储供应用系统使用或从最终用户收集来的数据,并基于数据库服务器对数据进行的各种操作(增、删、改、查);数据源通常是RDBMS。10.2测试的挑战基于Internet的应用系统中引起失效的地方很多,设计测试方法时必须考虑,例如:用户群:网站的用户群庞大且能力参差不齐,使用的浏览器、OS和设备种类不同,使用的信道速率差别也大;业务环境:电子商务网站须考虑财务和跟踪用户资料等问题;地点:用户可能位于其他国家,这时涉及国际化问题,如语言、时差、货币兑换等问题;测试环境:测试时需要复制软件运行的环境,即使用与软件运行环境相同的Web服务器、应用服务器和数据库服务器,还要建立相同的网络环境;安全性:必须保证网站免受黑客攻击。10.2测试的挑战——不同层测试举例表示层、业务层和数据层有各自的特点,应将测试工作集中在特定的领域内,举例如下表所示:10.3测试的策略测试基于Internet的应用系统需要深入了解组成应用系统的每个硬件和软件组件,还需要一份规格说明文档来描述Web站点的预期功能和性能。内部开发的部件:验证其符合设计规格说明、需求规格说明文档中描述的功能要求后方可将其集成到系统中;可使用单元测试、代码审查等技术;第三方部件:设计系统测试以确认这些部件可以独立于应用正确执行,接受后方可集成。10.3测试的策略分而治之Internet应用系统的三层结构,每一层具有不同的职责和特点,因此每一层的测试内容也不相同。10.3.1表示层的测试测试目的发现应用程序的GUI或前端中的错误。测试内容内容测试:整体审美、字体、色彩、拼写、内容准确性和默认值。Web站点结构:无效的链接或图形。用户环境:Web浏览器版本和操作系统配置。10.3.1表示层的测试1、内容测试检查人机界面元素,在字体类型、屏幕布局、色彩、图形分辨率及其他会直接影响用户体验的特性中检查错误。检查Web站点中信息的准确性,包括语法和内容。10.3.1表示层的测试2、Web站点结构尽量发现浏览过程和结构上存在的错误,发现无效的链接、丢失的网页、错误的文件或其他任何将用户引到站点中错误区域的问题。有很多工具可以自动执行验证链接、检查丢失文件等过程。白盒测试可以用于测试Web页面。10.3.1表示层的测试3、用户环境测试不同浏览器、同一浏览器的不同版本。如果使用ActiveX控件、JavaScript、VBScript、Javaapplet时应该特别关注浏览器的兼容问题。10.3.2业务层的测试测试目的发现Internet应用系统的业务逻辑中的错误。测试技术类似于测试单机程序,可以使用黑盒测试和白盒测试技术。黑盒测试是业务层测试的主要方法:模拟用户使用过程。可以使用白盒测试测试内部开发的部件。10.3.2业务层的测试测试内容性能:检查应用系统是否满足书面的性能规格说明。数据有效性:发现从客户那里采集到的数据中的错误。事务:发现事务处理过程中的错误。10.3.2业务层的测试1、性能测试长时间页面加载、缓慢的事务处理会使用户怀疑其鲁棒性。性能规格说明应该在需求阶段完成,通常以响应时间或吞吐率描述。强度测试通过大量的并发操作使系统临近失效点,借以判断应用系统是否满其性能目标。还可以检查网络设施的鲁棒性。10.3.2业务层的测试2、数据验证确保收集来的数据是有效的,若使用无效信息可能导致严重错误。与测试单机应用时查找用户输入或参数的错误很相似,应通过测试发现数据采集时的错误。10.3.2业务层的测试3、事务测试电子商务网站必须在全部的时间里正确地处理事务。可以将事务测试看作是对业务层的系统测试。除了处理测试内部的业务过程之外,还必须测试外部服务(第三方服务)。测试对象应用系统中用于储存和获取信息的数据库管理系统。最大挑战复制应用系统的运行环境,即必须使用相同的硬件平台和软件版本来进行有效的测试。10.3.3数据层的测试测试内容响应时间:执行结构化查询语言中SQL语句所消耗的时间。数据完整性:验证数据存储适当且正确。容错性和可恢复性:最大化MTBF(MeanTimeBetweenFailure,平均故障间隔时间),最小化MTTR(MeanTimeToRestoration,平均恢复时间)。10.3.3数据层的测试1、响应时间测试响应时间是指执行结构化查询语言中SQL语句所消耗的时间。响应时间测试不包括对页面载入进行计时,重点放在那些没有满足性能指标的数据库操作上。测试响应时间时,为了隔离出有问题的数据库操作,就不要测试事务完成的速度。因为测试完整的事务,有太多不确定的因素会影响测试的结果。10.3.3数据层的测试2、数据完整性测试数据完整性测试是指在数据库的表中发现不准确数据库的测试过程。它与数据确认测试有所不同:数据确认测试是为了发现数据收集中的错误,在测试业务层是进行;而数据完整性测试是尽力在数据存储的方式中发现问题。影响数据库存储数据方式的因素有很多,如数据类型和长度可能导致数据截断或失去精确性;日期和时间字段会出现时区问题等等。10.3.3数据层的测试3、容错性和可恢复性测试最大化MTBF:取决于数据库的容错级别,可以通过故障处理机制或内置的容错机制,使得数据库发生故障时对系统的影响最小,根据系统采用的结构来决定采用的测试类型。最小化MTTR:可恢复性测试的目标是设计出数据库无法恢复的场景,恢复计划开始于获得有效的备份,测试时如果无法恢复数据库,就需要修改备份策略。10.3.3数据层的测试互联网应用测试面临的挑战数据的准确性和安全性互联网应用测试的分类表现层(或用户交互接口)测试业务逻辑层测试数据层测试10.4小结
本文标题:软件测试的艺术(第3版)第10章-互联网应用测试
链接地址:https://www.777doc.com/doc-4920245 .html