软件测试理论与实践 课件 第六章 Web应用测试_第1页
软件测试理论与实践 课件 第六章 Web应用测试_第2页
软件测试理论与实践 课件 第六章 Web应用测试_第3页
软件测试理论与实践 课件 第六章 Web应用测试_第4页
软件测试理论与实践 课件 第六章 Web应用测试_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

第六章Web应用测试了解Web应用测试基本概念,重点围绕Web应用测试的分类、特点、思路和方法相关知识;

熟悉Web应用测试的常用工具,理解各类工具的特点;

了解QTP的安装与使用,重点掌握QTP的架构、工作环境、测试过程;

熟悉基于QTP的网站测试案例并理解QTP对性能和功能的测试。本章要点6.1Web应用测试基本理论

6.2Web应用测试的常用工具

6.3QTP的安装及应用

6.4QTP网站测试案例目

录6.1Web应用测试基本理论基于Web应用的复杂性,对其测试与分析的内容也需更加细致、全面。从其特点与要求出发,对Web应用软件的测试内容主要包括:功能、性能、安全性、可用性、兼容性、接口。其中涉及界面、覆盖性、配置、链接、表单、Cookie、设计语言、数据库、回归、任务与业务逻辑、响应速度、负载能力、压力恢复能力等多方面测试内容。6.1.1Web应用测试的分类Web应用测试包括界面测试、功能测试、性能测试、客户端兼容性测试、安全性测试这五部分。·界面测试包括对整体界面、图形、内容的测试。·功能测试包括对链接、表单、Cookies、数据库、导航的测试。·性能测试包括对连接速度、负载、压力的测试。·客户端兼容性测试包括对平台、浏览器的测试。6.1.2Web应用测试的特点

·网络和Web应用软件的复杂性及不可预见性是Web应用软件测试面临的最大困难;另外,Web应用不断变化,自身又依赖大量的技术,这些都增加了Web应用软件测试的困难。·Web测试需要兼容性测试、压力测试及多元化的功能测试对象,测试时还要满足不同的计算机对编程环境的要求,实时性的要求较高使得传统的测试技术无法胜任。6.1.3Web应用测试的思路

·Browsers测试(浏览器端测试)这种测试通常是模拟浏览器端的一些操作,更多地应用到UI和Localization方面。·Protocol测试(协议测试)这种方法是建立在HTTP协议级的测试,通过POST或WebService向服务器发送请求,然后对服务器响应回来的数据进行解析、验证。对一些功能测试,会更多地采用这种方法。6.1.4Web应用测试的方法

1.功能测试2.性能测试3.用户界面测试4.兼容性测试5.安全测试6.接口测试7.测试点1.功能测试

(1)链接测试链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面:·测试所有链接是否按指示的那样确实链接到了该链接的页面;·测试所链接的页面是否存在;·保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。1.功能测试

(2)表单测试当用户使用表单进行用户注册、登录、信息提交等操作时,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。1.功能测试

(3)数据校验如果系根据业务规则需要对用户输入进行校验,需要保证这些校验功能正常工作。例如,省份的字段可以用一个有效列表进行校验。在这种情况下,需要验证列表完整而且程序正确调用了该列表(例如在列表中添加一个测试值,确定系统能够接受这个测试值)。在测试表单时,该项测试和表单测试可能会有一些重复。1.功能测试

(4)Cookies测试测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。如果在cookies中保存了注册信息,请确认该cookie能够正常工作而且已对这些信息已经加密。如果使用cookie来统计次数,需要验证次数累计正确。1.功能测试

(5)数据库测试数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是:·数据一致性错误——主要是由于用户提交的表单信息不正确而造成的。·输出错误——主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。1.功能测试

(6)应用程序特定的功能需求测试人员需要对应用程序特定的功能需求进行验证。尝试用户可能进行的所有操作:新增、修改、删除、查询等等。这是用户之所以使用网站的原因,一定要确认网站能像广告宣传的那样神奇。2.性能测试

(1)连接速度测试用户连接到Web应用系统的速度根据上网方式的变化而变化,如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登录了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。2.性能测试

(2)负载压力测试负载测试技术在各种极限情况下对产品进行测试(如很多人同时使用该软件,或者反复运行该软件),以检查产品的长期稳定性。例如,使用压力测试工具对web服务器进行压力测试。本项测试可以帮助找到一些大型的问题,如死机、崩损、内存泄漏等。3.用户界面测试(1)导航测试导航帮助要尽可能地准确,另一个重要方面是页面结构、导航、菜单、连接的风格是否一致,确保用户能快速了解Web应用系统中是否还有内容以及内容的位置。Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。3.用户界面测试(2)图形测试·确保图形有明确的用途,且必须排列有序。图片尺寸要尽量小,能清楚地说明某件事情,一般都链接到某个具体的页面。·验证所有页面字体的风格是否一致。·背景颜色应该与字体颜色和前景颜色相搭配。·图片一般采用JPG或GIF压缩,大小尽量减小到30KB以下。·需要验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。3.用户界面测试(3)内容测试内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。·正确性——信息是可靠的还是误传的。·准确性——是否有语法或拼写错误,这种测试通常使用一些文字处理软件来进行。·相关性——是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓“相关文章列表”。3.用户界面测试(4)整体界面测试整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。对所有的用户界面测试来说,最好是让最终用户参与。4.兼容性测试(1)平台测试同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。因此,需要在各种操作系统下进行兼容性测试。(2)浏览器测试创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。(3)分辨率测试页面版式在不同的分辨率模式下是否显示正常?字体是否太小以至于无法浏览?或者是太大?文本和图片是否对齐?5.安全测试主要是测试系统在没有授权的情况下,内部或者外部用户对系统进行攻击或者恶意破坏时如何进行处理,是否仍能保证数据的安全。6.接口测试·服务器接口测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的,还可以查询数据库,确认事务数据已正确保存。·外部接口测试时,要使用web接口发送一些事务数据,分别对有效信用卡、无效信用卡和被盗信用卡进行验证。·错误处理尝试在处理过程中中断事务,看看会发生什么情况?订单是否完成?尝试中断用户到服务器的网络连接。尝试中断web服务器到信用卡验证服务器的连接……7.测试点(1)文本框的测试·输入正常的字母或数字。·输入已存在的文件的名称。·输入超长字符。·输入默认值,空白,空格。·若只允许输入字母,尝试输入数字;反之;尝试输入字母。·利用复制,粘贴等操作强制输入程序不允许的输入数据。·输入特殊字符集。·输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示。·输入不符合格式的数据,检查程序是否正常校验。7.测试点(2)命令按钮测试首先,单击按钮正确响应操作。其次,对非法的输入或操作给出足够的提示说明。最后,对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会。7.测试点(3)单选按钮的测试首先,一组单选按钮不能同时选中,只能选中一个。其次,逐一执行每个单选按钮的功能。最后,一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空。6.2Web应用测试的常用工具(1)Selenium(2)LoadRunner(3)Junit(4)JMeter(5)QTP1.SeleniumSelenium是ThoughtWorks公司编写的一个开源的Web自动化工具,目前是市场上最受欢迎和广泛使用的工具。它可以跨多个操作系统自动化,如Windows,Mac和Linux以及Firefox,Chrome,IE以及无头浏览器等浏览器;可以直接运行在浏览器中(WebDriver),进行一系列的系统功能测试。Selenium的强大之处在于提供了诸多语言的开源框架,如C#、Java、Pyhon、Ruby、PHP、Perl和JavaScript等,创建更复杂,更先进的自动化脚本。Selenium通过其浏览器插件SeleniumIDE提供记录和回放功能。2.LoadRunnerLoadRunner是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。3.JunitJUnit4是JUnit的常用方式,是JUnit框架有史以来的最大改变,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。它包括以下特性:(1)用于测试期望结果的断言(Assertion)。(2)用于共享共同测试数据的测试工具。(3)用于方便的组织和运行测试的测试套件。(4)图形和文本的测试运行器。4.JMeterJMeter的优点可概括为:高度可移植,支持100%所有基于Java的应用程序,脚本编写工作量少,简单的图表足以分析与密钥负载相关的统计信息和资源使用情况,支持用于监控的集成实时Tomcat收集器。同理,其缺点可概括为:无法记录HTTPS通信,无法拦截AJAX流量,无法监控任何与ApplicationServer相关的统计信息,报告框架的功能非常有限。5.QTPQTP是QuickTestProfessional的简称,是一种自动化软件测试工具。在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试,用于功能测试和回归测试。使用QTP要求测试人员在测试前考虑好应用程序测试的内容,步骤,输入数据和期望的输出数据等。6.3QTP的安装及应用自动化测试相比人工测试,具有突出的优点。人工测试非常浪费时间而且容易出错。使用人工测试的结果,往往是在应用程序交付前,无法对应用程序的所有功能都作完整的测试。QuickTest可以加速整个测试的过程,可以重复使用测试脚本进行测试。本节主要讲述QTP的安装及应用。6.3.1QTP的架构1.QTP主程序区域:负责控制整个测试过程,包括测试脚本的录制、编辑、运行和结果分析等。2.测试对象库:存储被测试应用程序的对象信息,包括对象的属性和方法,以便QTP能够识别和操作这些对象。3.QTP自动化引擎:负责执行测试脚本,与被测试应用程序进行交互,并通过对象库识别和操作被测试对象。4.数据表:用于存储测试数据,可以在脚本中引用和操作。5.结果分析器:用于分析和报告测试结果,包括测试通过率、失败原因等。6.3.2QTP的工作过程1.准备Testcase2.配置QTP3.录制脚本4.修改增强脚本5.调试脚本6.回放脚本7.脚本维护6.3.3QTP的环境搭建QTP环境搭建过程如下:1.双击打开安装程序,如图6-1所示。图6-1打开安装程序2.显示如下界面,如需修改临时文件目录则更改,单击“Next”按钮,如图6-2所示。图6-2设立临时保存文件目录图6-3进度安装3.显示安装进度,等待安装,如图6-3所示。图6-4单击确定4.安装程序,单击“确定”按钮,如图6-4所示。图6-5单击下一步5.进入安装向导界面,单击下一步,如图6-5所示。图6-6勾选接受6.勾选“我接受许可协议中的条款”,如图6-6所示。图6-7跳转下一步7.单击“下一步”,跳转如下界面,如图6-7所示。图6-8单击下一步8.单击“下一步”,跳转如下界面,勾选自己所需启用项,如图6-8所示。图6-9单击安装9.单击“安装”按钮,等待安装完成即可,如图6-9所示。6.3.4QTP的测试过程1.录制测试脚本:利用QTP先进的对象识别,鼠标和键盘监控机制来录制测试脚本,测试人员只需要模拟用户的操作,像执行手工测试的测试步骤一样操作被测试应用程序的界面即可。2.编辑测试脚本:包括调整测试步骤、编辑测试逻辑、插入检查点、添加测试输出信息、添加注释等。3.调试测试脚本:利用“CheckSyntax”功能检查测试脚本的语法错误,利用调试功能检查脚本逻辑。4.运行测试脚本:可运行单个“Action”,也可批量运行测试脚本。5.分析测试结果:使用QTP的测试结果查看工具查看测试结果。6.4QTP网站测试案例本网站是基于SSM框架的线上购物网站,用于用户购买服装类商品,商品种类分为女装,男装和童装三种,使用者注册并登录该系统,浏览商品后可进行添加购物车或者直接购买等操作,满足自己的购物需求。网站界面如图6-10所示。图6-10网站界面6.4.1登录测试在未登录状态进入网页时,依然可以正常的访问商城首页,只有在商品详情界面进行加入购物车操作与立即购买操作时,才会出现提示登录的情况。可以单击页面的首部中的登录按钮进行登录,登录导航栏如图6-11所示。图6-11登录导航栏进入登录界面、输入正确的账号和密码之后,允许登录,并且跳转原网页。如没有注册,需要先注册后在登录。登录窗口如下图6-12所示,注册窗口如下图6-13所示。图6-12登录窗口图6-13注册窗口1.测试用例设计(1)针对登录模块的输入条件:用户名和密码,有以下几种约束1)Username只能包含字母和数字。2)Password可以包含任何字符。3)两者都不能为空且有一定的限制长度。4)如果两者为空或不合法输入,不执行登录并提示输入错误信息。5)如果两者都不合法,则只提示Username的错误信息。6)如果两者输入都合法,执行登录操作,并显示从服务器可能返回用户名或密码错误和登录成功两种可能。(2)分析原因结果

1)原因C1------输入的用户名为空C2------输入的用户名包含非字母非数字字符C3------输入正确的用户名C4------输入的密码为空C5------输入错误的密码C6------输入正确的密码2)结果E1------执行登录并提示用户名不能为空E2------不执行登录并提示用户名不能包含非字母非数字的非法字符E3------不执行登录并提示密码不能为空E4------执行登录并提示用户名错误E5------执行登录并提示密码错误E6------执行登录并提示登录成(3)画出因果图,如下图6-14所示。图6-14因果图(4)根据因果图建立判定表

123456789101112

原因C1111000000000C2000111000000C3000000111000C4100100100100C5010010010010C6001001001001

结果E1111000000000E2000110000000E3000001100100E4000000000011E5000000010000E6000000001000表6-1判定表(5)根据上述分析,设计的测试用例见表6-2。用例编号UsernamePassword预期结果001空空不执行登录并提示用户名不能为空002空密码错误不执行登录并提示用户名不能为空003空密码正确不执行登录并提示用户名不能为空004含非字母非数字字符空不执行登录并提示用户名不能包含非字母非数字字符005含非字母非数字字符密码错误不执行登录并提示用户名不能包含非字母非数字字符006含非字母非数字字符密码正确不执行登录并提示用户名不能包含非字母非数字字符007存在用户名空不执行登录并提示密码不能为空008存在用户名密码错误执行登录并提示密码错误009存在用户名密码正确执行登录并提示登录成功010合法输入但不存在空不执行登录并提示密码不能为空011合法输入但不存在密码错误执行登录并提示用户名错误012合法输入但不存在密码正确执行登录并提示用户名错误表6-2判定表(6)录制与测试过程1)用QTP自动打开购物系统的登录界面,输入用户名和密码,确定当前的操作,将购物系统打开,登录界面如图6-15所示。图6-15登录界面2)在QTP主界面中单击“Record”,在登录界面的文本框中,输入正确的用户名和密码,单击“登录”按钮,进入购物系统界面。在QTP主界面,单击“Stop”按钮,结束当前的录制,如图6-16所示。图6-16录制界面3)在QTP主界面的工具栏中单击“Run”按钮,回访脚本,测试报告的结果如图6-17所示。图6-17测试结果界面(7)测试结果通过运用QTP对购物系统的测试,将已设计好的测试用例添加到QTP中,通过脚本的参数化设置,对测试用例进行自动化循环测试,如图6-18所示。图6-18数据界面QTP对测试用例的自动化测试后,对每一条数据测试用例进行测试,运行结果如图6-19所示。图6-19运行结果6.4.2支付订单测试在订单支付界面中,需要用户填写收货人的姓名、电话、地址,并且选择支付方式,所有的信息都采用非空限制,当出现空信息栏时,将会在该信息栏下进行提醒,如图6-20所示。当用户在所有的信息栏上都填写好合法数据之后,单击支付,将会弹出支付成功提醒,如图6-21所示。图6-20信息栏提示图6-21支付成功提示1.支付订单实例支付订单实例是在用户下单加入购物车之后的订单,进入我的购物车,填写收货地址(姓名,电话,地址),选择支付方式,最后进行支付完成功能。支付页面如图6-22所示。图6-22订单支付页面2.测试用例设计(1)针对收货信息的输入条件:姓名,电话,地址信息有以下几种约束。1)姓名不能少于2个字符,不能超过20字符。2)电话位数为11位且只能是数字。3)电话要以1开头。4)地址信息不能超过50字符。(2)划分等价类,见表6-3。输入数据有效等价类无效等价类姓名(1)大于等于2字符小于等于20字符(2)小于2字符(3)大于20字符

电话号码

(4)11位以1开头的数串(5)小于11位以1开头的数串(6)大于11位以1开头的数串(7)以非1开头的数串(8)包含非数字的字符串地址(9)大于0小于50位的字符串(10)大于50位的字符串

表6-3等价类表(3)设计测试用例覆盖所有等价类,见表6-4。测试数据期望结果覆盖范围姓名:zhangsan电话号码址:和平路解放区7号提交成功(1),(4),(9)姓名:A电话号码:135123地址:新疆维吾尔自治区伊犁哈萨克自治州塔城地区和布克赛尔蒙古自治县和什托洛盖镇西特木恩哈布其克村长安大街7号路北3单元4号提交失败(2),(5),(10)姓名:luofusijiaerfadiledulud电话号码:12345678915地址:和平路解放区7号

提交失败

(3),(6),(9)姓名:liSi电话号码:6351578地址:提交失败

提交失败

(1),(7),(9)姓名:大阿杜夫·布里恩·查尔士·大卫·爱尔·费得力·积鲁·胡柏·伊凡·约翰·根尼夫·莱特·马丁·尼罗·奥利佛·保罗·君诗·兰杜夫·雪文·汤马士·恩卡士·维克多·威廉·赛塞斯电话号码:1340768123X地址:和平路解放区7号

提交失败(3),(8),(9)表6-4设计用例2.录制与测试过程(1)开启录制并单击“购物车”标识,如图6-23所示。图6-23购物车列表(2)单击“提交订单”按钮,如图6-24所示。图6-24提交订单页面(3)填写“收货地址”,如图6-25所示。图6-25收货地址界面(4)选择支付方式并支付,如图6-26所示。图6-26支付方式界面(5)单击“Stop”结束录制过程,脚本录制成功,如图6-27所示。图6-27录制结束界面3.测试结果单击“Run”运行脚本,如图6-28所示。图6-28运行结果在商品详情界面,在选择好颜色,尺寸,商品数量之后,可以单击加入购物车,将该商品加入购物车。当选择的对应商品的库存不够时,单击加入购物车,会提示库

温馨提示

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

评论

0/150

提交评论