|
知识路径: > 测试技术的分类 > Web应用测试 > Web应用运行测试 >
|
被考次数:1次
被考频率:低频率
总体答错率:24%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
考试要求:掌握
相关知识点:26个
|
|
|
|
Web应用功能测试指Web应用系统的基本功能的测试,其案例的设计方法可参见有关《黑盒测试技术》章节的内容。
|
|
|
考虑到Web应用本身的特点,其功能测试还要注意以下几个方面。
|
|
|
|
Web应用客户端软件环境主要包括操作系统和浏览器。除非有特殊要求,测试功能时,我们一般选择比较流行的配置,如选择WindowsXP+IE6.0的简体中文版本。需要注意的是,浏览器的种类和版本有可能影响功能的正确实现。
|
|
|
|
一般情况下,开发者不会过多地考虑客户端配置问题,只是将更多的时间用于实现服务端的程序,而用户也往往不会刻意地对所使用的浏览器进行适应性配置。如果测试人员完全按照浏览器的缺省配置测试一个Web应用的功能,有可能会出现较多的因浏览器配置而引起的问题。下面以IE6.0为例进行说明,IE6.0的主要配置界面如下图所示。
|
|
|
|
|
例如Cookie设置就会影响含有Cookie的Web应用的功能能否成功地实现。其他如脚本设置、安全设置、显示设置等大多数设置都会影响到Web应用功能的实现。
|
|
|
|
大多数人都喜欢使用1024×768像素的显示设置,但并不是所有的Web应用都支持这种设置。不合适的显示设置不但会使Web应用系统的界面显示异常,还可能导致应用功能无法实现。
|
|
|
|
由于Web应用带有一定的开放性,尤其是发布于互联网上的网站,其内容是完全开放的,因此在Web系统的功能测试中还要重点测试一个方面,即内容测试。
|
|
|
内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题,甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的“拼音与语法检查”功能;信息的相关性是指,是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中所谓的“相关文章列表”。
|
|
|
下面介绍两种Web应用功能测试的自动化技术,一个是Web应用链接质量保证技术,另一个是Web应用功能测试技术,下面分别论述。
|
|
|
|
链接是使用户从一个页面浏览到另一个页面的重要手段,链接的质量决定着功能是否能够成功实现。
|
|
|
|
|
|
③保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面。
|
|
|
链接测试非常复杂。比如当网页的结构非常复杂且数量巨大时,链接检查的速度就迫切需要提高。当网络连接总是不稳定的时候,误判的频率增大导致工作量加大,就需要保证工作进度。还有,测试的结果能否清晰地报告出来等,这些需求都提高了测试的复杂度。
|
|
|
要测试Web应用的链接,可以借助于自动化的Web应用链接测试工具,例如WebCheck、Linkbot、TestPartner等。这些测试工具在测试过程中自动扫描Web应用的所有链接,定位及报告问题。针对应用中存在的各种各样的链接,比如图片、框架(Frame)、插件(Plugin)、背景、样式表(Style Sheet)、脚本、Java Applet等以及支持的连接种类,比如HTTP、FTP、GOPHER、HTTPS等工具都能够支持。另外,对本地的链接和重定向的链接也能很好地支持。例如WebCheck能够定位约50个的问题类型,并且提供19个HTML格式的报告。
|
|
|
利用自动化测试工具测试Web应用的链接,主要优势体现在以下几个方面。
|
|
|
|
|
|
|
|
. 检查结果可以分类查看,自动生成HTML格式的报告。
|
|
|
|
. 测试内部和外部链接中成功和失败的链接点,以及应用中不被其他链接调用的页面;
|
|
|
. 测试链接中新网页、老网页、慢网页以及丢失的图象标题标签和属性标签等;
|
|
|
. 分析Web应用的结构是否合理,包括显示和某个URL相关的链接及按照标题、描述、作者、大小、最后修改时间、类型为URL链接分类等。
|
|
|
|
如果开发人员刚创立一个新的Web应用系统。在发布应用系统之前,它必须经过测试以确保一切设定功能都能正常运行,这样的测试任务中,针对同一模块或者同一功能点的测试可能需要重复多次。另外,在一个公司中不同项目的测试可能并行展开,例如人事部门的HR系统、客服部门的CRM系统、物流部门的ERP系统等。这样的现状就会使测试人员面临这样一个问题,即“如何有效地测试不断修改着的一个或多个应用程序”。如果资源有限的话,这个问题就更加棘手。人工测试的工作量太大,况且很多公司负担不起额外的时间来培训新的测试人员。为了解决这个问题,就需要一个能简单操作的测试工具来自动完成功能性测试。
|
|
|
Mercury Interactive的WinRunner就是一个功能性测试工具。它通过捕获和重放用户对Web应用程序的操作,WinRunner可自动执行功能性测试。下面我们来看一个标准的测试过程,主要步骤包括:创建测试脚本、插入检查点、运行测试以及分析结果。
|
|
|
|
创建测试脚本只需记录下一个标准的业务流程,如下一张订单或建立一个新的商家账户。测试人员在GUI上点击鼠标,测试工具记录流程就可建立测试脚本,即使技术知识有限的用户也能生成完整的测试。脚本可以直接编辑来满足各种复杂测试的需求。例如,WinRunner可以将两种测试脚本创建方式结合在一个环境下,来适应测试需求。这两种测试脚本创建方式分别是模拟控件操作和模拟鼠标操作。
|
|
|
|
在记录一个测试的过程的脚本中,测试工程师可插入检查点,测试工具会收集检查点的性能指标。脚本运行时,测试工具在查寻潜在错误的同时,会比较检查点所设定的结果和实际测试结果,对其一一验证。例如,WinRunner允许您使用几种不同类型的检查点,包括文本、GUI、位图和数据库。用一个位图检查点,可以确认一个位图图像,如公司的图标是否出现在指定位置。
|
|
|
|
建立起测试脚本,并插入检查点和做一些必要修改后,就可以开始运行测试。当测试工具执行测试时,它会自动操作应用程序,正如一个真实用户根据记录流程执行着每一步的操作。
|
|
|
|
一旦测试结束后,就需要分析测试结果。测试工具一般会提供详尽的、易读的报告,这些报告对在测试运行中发生的重要事件进行描述,如出错内容和检查点等。
|
|
|
一次测试结束后,随着时间推移,开发人员会对应用程序做进一步的修改,并需要另加额外的测试。有了前面利用自动化测试工具进行测试的基础,不必改动测试脚本,就可以重新建一个新的测试,这样大大地节省了时间和资源,充分利用了测试投资。
|
|
|
功能自动化测试工具还能验证数据库的数值,从而确保交易的准确性。例如,在创建测试脚本时,可以设定哪些数据库表格和记录资料需要检测。在重放时,测试程序就会核对数据库内的实际数值与脚本中设定的数值,在有更新/修改,删除或插入的记录上会使用突出标识以引起注意。
|
|
|
有时为了彻底全面地测试一个应用程序,需要了解对于不同类型的数据,它是如何运行的。测试工具可以将一个记录下的业务流程转化为一个数据驱动的测试,来反映多个用户各自独特且真实的操作行为。以一个订单输入的流程为例,测试人员或许希望将一些锁定的项目栏,如定单号或客户名转化为可变栏,这样就可以用多套数值来检测应用程序了。数据来源可以采用自动生成表格,也可直接从其他的表格或数据库中导入。数据驱动性测试不仅节省了时间和资源,而且提高了应用程序的测试覆盖率。
|
|
|
利用自动化测试工具在对脚本进行编辑的时候,可以从列表里选择一个功能函数加到脚本中,以提高测试能力。例如,点击“calendar”,然后从年历功能中的下属目录中选择,如“calendar_select_date()”,工具会提供函数的解释。选定了这个函数后,可以输入参数,再将这个函数插入到测试脚本中。
|
|
|