
《基于WEB测试的总结》由会员分享,可在线阅读,更多相关《基于WEB测试的总结(29页珍藏版)》请在文档大全上搜索。
1、基于基于WEB的测试方法讲解的测试方法讲解 由安博测试空间技术中心由安博测试空间技术中心http:/ |测试方法尽量涵盖测试方法尽量涵盖web程序的各个程序的各个方面,测试技术方面在继承传统测方面,测试技术方面在继承传统测试技术的技术上结合试技术的技术上结合web应用的特应用的特点。点。 |测试方法测试方法(说明:测试方法的选择取决您的测试策略。说明:测试方法的选择取决您的测试策略。 )|一般的一般的web测试和以往的应用程序的测试测试和以往的应用程序的测试的侧重点不完全相同,基本包括以下几个的侧重点不完全相同,基本包括以下几个方面。方面。 |当然圆满的完成测试还要有好的团体和流当然圆满的完成
2、测试还要有好的团体和流程等的方方面面的支持,你同样应该对这程等的方方面面的支持,你同样应该对这些方面进行注意。些方面进行注意。 |有些测试方法设计到了流程,哪些应该在有些测试方法设计到了流程,哪些应该在你的测试团队建设中建立。你的测试团队建设中建立。 |主要包括以下几个方面的内容:主要包括以下几个方面的内容:|站点地图和导航条位置、是否合理、是否可以导航等内容布局布局站点地图和导航条位置、是否合理、是否可以导航等内容布局布局是否合理,滚动条等简介说明说明文字是否合理,位置是否正确是否合理,滚动条等简介说明说明文字是否合理,位置是否正确 ,背景,色调是否正确、美观,是否符合用户需求;背景,色调是
3、否正确、美观,是否符合用户需求; |页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)表单样式大小,格式,是否对提交数据进行验屏幕刷新是否正确)表单样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等证(如果在页面部分进行验证的话)等 ;|连接连接的形式,位置,是否易于理解等连接连接的形式,位置,是否易于理解等 |web测试的主要页面元素测试的主要页面元素 |页面元素的容错性列表(如输入框、时间列表或日历)页面元素的容错性列表(如输入框、时间列表或日历) |页面元素清单(为实现功能,是否将所需
4、要的元素全部都列出来了,页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)如按钮、单选框、复选框、列表框、超连接、输入框等等) |页面元素的容错性是否存在页面元素的容错性是否存在 |页面元素的容错性是否正确页面元素的容错性是否正确 |页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连接)接) |页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等)超连接等) |页面元素是否显示正确(主要针对文字、
5、图形、签章)页面元素是否显示正确(主要针对文字、图形、签章) |元素是否显示(元素是否存在)元素是否显示(元素是否存在) |页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)如按钮、单选框、复选框、列表框、超连接、输入框等等) |通过页面走查,浏览确定使用的页通过页面走查,浏览确定使用的页面是否符合需求。可以结合兼容性面是否符合需求。可以结合兼容性测试对不用分辨率下页面显示效果,测试对不用分辨率下页面显示效果,如果有影响应该交给设计人员提出如果有影响应该交给设计人员提出解决
6、方案。解决方案。 可以结合数据定义文档可以结合数据定义文档查看表单项的内容,长度等信息。查看表单项的内容,长度等信息。对于动态生成的页面最好也能进行对于动态生成的页面最好也能进行浏览查看。可以结合编码规范,进浏览查看。可以结合编码规范,进行代码走查。是否支持中文行代码走查。是否支持中文 |符合标准和规范符合标准和规范|灵活性灵活性|正确性正确性|直观性直观性|舒适性舒适性|实用性实用性|一致性一致性|用户界面是否洁净,不唐突,不拥挤.界面不应该为用户制造障碍,所需功能或者期待的响应应该明显,并在预期出现的地方显示|界面组织和布局合理吗?|是否允许用户轻松地从一个功能转到另一个功能?|下一步做什
7、么明显吗?|任何时刻都可以决定放弃或者退回,退出吗?|输入得到承认了吗?菜单或者窗口是否深藏不露?|有多余功能吗?|软件整体抑或局部是否做得太多?|是否有太多特性把工作复杂化了?|是否感到信息太庞杂?|如果其他所有努力失败,帮助系统真能帮忙吗?|快速键和菜单选项快速键和菜单选项.在在Windows 中按中按F1键总是键总是能得到帮助信息吗?能得到帮助信息吗?|术语和命令整个软件使用同样的术语吗术语和命令整个软件使用同样的术语吗?|特性命名一致吗特性命名一致吗?例如:例如:Find(找到找到)是否一直叫是否一直叫Find,而不是有时叫而不是有时叫Search(搜索)(搜索)? |软件是否一直面向
8、同一级别用户软件是否一直面向同一级别用户?|带有花哨用户界面的趣味贺卡程序不应该显带有花哨用户界面的趣味贺卡程序不应该显示泄露技术机密的错误提示信息;示泄露技术机密的错误提示信息;|按钮位置和等价的按键按钮位置和等价的按键.大家是否注意到对话大家是否注意到对话框有框有OK按钮和按钮和Cancle按钮时按钮时,OK按钮总是在按钮总是在上方或者左方上方或者左方,而而Cancle按钮总是在下方或右按钮总是在下方或右方方?同样原因同样原因,Cancle按钮的等价按键通常是按钮的等价按键通常是Esc,而选中按钮的等价按钮通常是而选中按钮的等价按钮通常是Enter.保持保持一致一致. |状态跳转状态跳转.
9、灵活的软件实现同一任务灵活的软件实现同一任务有多种选择方式有多种选择方式. |状态终止和跳过状态终止和跳过,具有容错处理能力具有容错处理能力. |数据输入和输出数据输入和输出.用户希望有多种方用户希望有多种方法输入数据和查看结果法输入数据和查看结果.例如:在写例如:在写字板插入文字可用键盘输入;粘贴字板插入文字可用键盘输入;粘贴是否能从是否能从6种文件格式读入种文件格式读入,作为对作为对象插入象插入,或者用鼠标从其他程序拖动或者用鼠标从其他程序拖动呢?呢?|恰当恰当.软件外观和感觉应该与所做的软件外观和感觉应该与所做的工作和使用者相符工作和使用者相符. |错误处理错误处理.程序应该在用户执行严
10、重程序应该在用户执行严重错误的操作之前提出警告错误的操作之前提出警告,并允许用并允许用户恢复由于错误操作导致丢失的数户恢复由于错误操作导致丢失的数据据.如大家认为如大家认为undo(解开)(解开) /redo(重做)(重做)是当然的是当然的. |性能性能.快不见得是好事快不见得是好事.要让用户看得要让用户看得清程序在做什么清程序在做什么,它是有反应的它是有反应的. |“连接连接”这个连接和界面测试中的这个连接和界面测试中的”连接连接”不同那里注重的是连接方式和位置,如是不同那里注重的是连接方式和位置,如是图像还是文字放置的位置等,还是其他的图像还是文字放置的位置等,还是其他的方式。这里的连接注
11、重功能。如是否有连方式。这里的连接注重功能。如是否有连接,连接的是否是说明的位置等。接,连接的是否是说明的位置等。 |表单提交应当模拟用户提交,验证是否完表单提交应当模拟用户提交,验证是否完成功能,如注册信息,要测试这些程序,成功能,如注册信息,要测试这些程序,需要验证服务器能正确保存这些数据,而需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。最好结合易用性要求等。B/S结构实现的结构实现的功能可能主要的就在这里,提交数据,处功能可能主要
12、的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。时运行以便减轻测试人员工作量。 |Cookies 验证如果系统使用了验证如果系统使用了cookie,测,测试人员需要对它们进行检测。如果在试人员需要对它们进行检测。如果在 cookies 中保存了注册信息,请确认该中保存了注册信息,请确认该 cookie能够正常工作而且已对这些信息已能够正常工作而且已对这些信息已经加密。如果使用
13、经加密。如果使用 cookie 来统计次数,来统计次数,需要验证次数累计正确。关于需要验证次数累计正确。关于cookie的使的使用可以参考浏览器的帮助信息。如果使用用可以参考浏览器的帮助信息。如果使用B/S结构结构cookies中存放的信息更多。功能中存放的信息更多。功能易用性测试完成了功能测试可以对应用性易用性测试完成了功能测试可以对应用性进行了解,最好听听客户的反映,在可以进行了解,最好听听客户的反映,在可以的情况下对程序进行改进是很有必要的,的情况下对程序进行改进是很有必要的,和客户保持互动对系统满意度也是很有帮和客户保持互动对系统满意度也是很有帮助的。助的。 |黑盒测试的内容主要有以下
14、几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面|正确性(Correctness):计算结果,命名等方面?|可用性(Usability):是否可以满足软件的需求说明。|边界条件(BoundaryCondition)输入部分的边界值,就是使用一般书中说的等价类划分,试试最大最小和非法数据等等.|性能性能 (Performance)正常使用的时间正常使用的时间内系统完成一个任务需要的时间内系统完成一个任务需要的时间,多多人同时使用的
15、时候响应时间人同时使用的时候响应时间,在可以在可以接受范围内。接受范围内。J2EE技术实现的系统技术实现的系统在性能方面更是需要照顾的在性能方面更是需要照顾的,一般原一般原则是则是3秒以下接受秒以下接受,3-5秒可以接受秒可以接受,5秒秒以上就影响易用性了以上就影响易用性了. 如果在测试过如果在测试过程中发现性能问题,修复起来是非常程中发现性能问题,修复起来是非常艰难的,因为这常常意味着程序的算艰难的,因为这常常意味着程序的算法不好,结构不好,或者设计有问题。法不好,结构不好,或者设计有问题。因此在产品开发的开始阶段,就要考因此在产品开发的开始阶段,就要考虑到软件的性能问题。虑到软件的性能问题
16、。|压力测试压力测试 (Stress)多用户情况可以考多用户情况可以考虑使用压力测试工具虑使用压力测试工具,建议将压力和建议将压力和性能测试结合起来进行性能测试结合起来进行.如果有负载如果有负载平衡的话还要在服务器端打开监测平衡的话还要在服务器端打开监测工具工具,查看服务器查看服务器CPU使用率使用率,内存占内存占用情况用情况,如果有必要可以模拟大量数如果有必要可以模拟大量数据输入据输入,对硬盘的影响等等信息对硬盘的影响等等信息.如果如果有必要的话必须进行性能优化有必要的话必须进行性能优化(软硬软硬件都可以件都可以).这里的压力测试针对的是这里的压力测试针对的是某几项功能某几项功能.|错误恢复
17、错误恢复 (Error Recovery) 错误处错误处理,页面数据验证理,页面数据验证,包括突然间断电包括突然间断电,输入脏数据等输入脏数据等.|兼容性兼容性 (Compatibility) 不同浏不同浏览器,不同应用程序版本在实览器,不同应用程序版本在实现功能时的表现现功能时的表现,不同的上网方不同的上网方式式,如果你测试的是一个公共网如果你测试的是一个公共网站的话站的话. |硬件平台|浏览器软件和版本:浏览器插件,浏览器选项,视频分辨率和色深.文字大小,调制解调器速率.|软件配置(Configuration)如IE浏览器的不用选项-安全设定最高,禁用脚本程序,等等,你们的程序在各种不用的
18、设置下表现如何.|边界条件边界条件 |边界条件是指软件计划的操作界限所在的边边界条件是指软件计划的操作界限所在的边缘条件缘条件. 如果软件测试问题包含确定的边界如果软件测试问题包含确定的边界,那那么数据类型可能是么数据类型可能是: 数值速度字符地址位置尺数值速度字符地址位置尺寸数量寸数量 同时同时,考虑这些类型的下述特征考虑这些类型的下述特征: 第一第一个个/最后一个最小值最后一个最小值/最大值最大值 开始开始/完成超过完成超过/在在内内 空空/满最短满最短/最长最长 最慢最慢/最快最早最快最早/最迟最迟 最大最大/最小最高最小最高/最低最低 相邻相邻/最远最远 |越界测试越界测试 通常是简单
19、加通常是简单加1或者很小的数或者很小的数(对于对于最大值最大值)和减少和减少1或者很小的数或者很小的数(对于最小值对于最小值),例例如如: 第一个减第一个减1/最后一个加最后一个加1 开始减开始减1/完成加完成加1 空了再减空了再减/满了再加满了再加 慢上加慢慢上加慢/快上加快快上加快 最大最大数加数加1/最小数减最小数减1 最小值减最小值减1/最大值加最大值加1 刚好刚好超过超过/刚好在内刚好在内 短了再短短了再短/长了再长长了再长 早了更早早了更早/晚了更晚晚了更晚 最高加最高加1/最低减最低减1 |另一些该注意的输入另一些该注意的输入:默认默认,空白空白,空值空值,零值和零值和无无;非法
20、非法,错误错误,不正确和垃圾数据不正确和垃圾数据. |软件可能进入的每一种独立状态软件可能进入的每一种独立状态; |从一种状态转入另一种状态所需的从一种状态转入另一种状态所需的输入和条件输入和条件; 进入或退出某种状态时进入或退出某种状态时的设置条件及输入结果的设置条件及输入结果. |具体测试方法可以参考如下具体测试方法可以参考如下: |每种状态至少访问一次每种状态至少访问一次; |测试看起来最常见最普遍的状态转测试看起来最常见最普遍的状态转换换; |测试状态之间最不常用的分支测试状态之间最不常用的分支 |测试所有错误状态及其返回值测试所有错误状态及其返回值 |测试随机状态转换测试随机状态转换
21、 |竞争条件典型情形参考如下竞争条件典型情形参考如下: |两个不同的程序同时保存或打两个不同的程序同时保存或打开同一个文档开同一个文档 |共享同一台打印机共享同一台打印机,通信端口或通信端口或者其他外围设备者其他外围设备 |当软件处于读取或者修改状态当软件处于读取或者修改状态时按键或者单击鼠标时按键或者单击鼠标 |同时关闭或者启动软件的多个同时关闭或者启动软件的多个实例实例 |同时使用不同的程序访问一个同时使用不同的程序访问一个共同数据库共同数据库|在这里的负载在这里的负载压力和功能测试压力和功能测试中的不同中的不同,他是系统测试的内容他是系统测试的内容,是基本功能已经通过后进行的是基本功能已
22、经通过后进行的.可以在集成测试阶段可以在集成测试阶段,亦可以在亦可以在系统测试阶段进行系统测试阶段进行. |使用负载测试工具进行使用负载测试工具进行,虚拟一虚拟一定数量的用户看一看系统的表定数量的用户看一看系统的表现现,是否满足定义中的指标是否满足定义中的指标. |产品说明书属性检查清单产品说明书属性检查清单 |完整完整.是否有遗漏和丢失是否有遗漏和丢失?完全吗完全吗?单独使单独使用是否包含全部内容用是否包含全部内容? |准确准确.既定解决方案正确吗既定解决方案正确吗?目标明确吗目标明确吗?有没有错误有没有错误? |精确精确,不含糊不含糊,清晰清晰.描述是否一清二楚描述是否一清二楚?还还是自说
23、自话是自说自话?容易看懂和理解吗容易看懂和理解吗? |一致一致.产品功能能描述是否自相矛盾产品功能能描述是否自相矛盾,与其与其他功能有没有冲突他功能有没有冲突? |贴切贴切.描述功能的陈述是否必要描述功能的陈述是否必要?有没有多有没有多余信息余信息?功能是否原来的客户要求功能是否原来的客户要求? |合理合理.在特定的预算和进度下在特定的预算和进度下,以现有人力以现有人力,物力和资源能否实现物力和资源能否实现? |代码无关代码无关.是否坚持定义产品是否坚持定义产品,而不是定义而不是定义其所信赖的软件设计其所信赖的软件设计,架构和代码架构和代码? |可测试性可测试性.特性能否测试特性能否测试?测试
24、员建立验证测试员建立验证操作的测试程序是否提供足够的信息操作的测试程序是否提供足够的信息? |GUI 输入输入1.各种键盘的输入各种键盘的输入,如各输入项如各输入项的输入的输入2.各种鼠標的点击输入,如按钮各种鼠標的点击输入,如按钮的等;的等;3.文件的导入或上传文件的导入或上传4.与其它系统的数据接口与其它系统的数据接口|GUI 的输出的输出1.打印,即主要是各种报表的需出;打印,即主要是各种报表的需出;2.文件的导出和下载;文件的导出和下载;3.各种查询的显示各种查询的显示4.各种提示信息的显示,包括信息各种提示信息的显示,包括信息的正确性,有针对性和可理解性的正确性,有针对性和可理解性5
25、.与其它数据库接口(注意与其它数据库接口(注意:主要主要是数据报表的操作是数据报表的操作)1.各种输入项的类型、长度、格式;各种输入项的类型、长度、格式;2.输入项是否为必填;输入项是否为必填;3.输入项是否有默认值(注意:对于输入项是否有默认值(注意:对于自动生成的项,生成规则是否符合自动生成的项,生成规则是否符合要求);要求);4.可能成为主键的输入项是否可以重可能成为主键的输入项是否可以重复(以及其它关键输入项是否可以复(以及其它关键输入项是否可以重复;重复;5.各输入项的逻辑关系;各输入项的逻辑关系;6.新增记录成功时所操作的后台数据新增记录成功时所操作的后台数据表(注意:是否新增记录
26、时对表中表(注意:是否新增记录时对表中特殊标志位的操作;特殊标志位的操作;7.不同输入所对应的各种输出不同输入所对应的各种输出即提即提示信息示信息的正确性(注意:不同输的正确性(注意:不同输入。如:正确新增、必填项不填,入。如:正确新增、必填项不填,各种非法输入等)各种非法输入等)1.修改前是否提供查询功能若有查询功能修改前是否提供查询功能若有查询功能参见参见”四四”查询记录查询记录;2.各输入项必须与新增记录时保持一致如各输入项必须与新增记录时保持一致如:数据类型、长度、以及约束性等方面;数据类型、长度、以及约束性等方面;3.确定可修改项与不可修改项,并注意某确定可修改项与不可修改项,并注意
27、某些项的修改可能对其它项影響些项的修改可能对其它项影響4.修改前能正确显示各输入项的值;修改前能正确显示各输入项的值;5.不同的修改对应的各种输出(即:提示不同的修改对应的各种输出(即:提示信息)的正确性(注意:不同修改如:信息)的正确性(注意:不同修改如:正确性修改、必填项不填、各种非法输正确性修改、必填项不填、各种非法输入、放弃修改;入、放弃修改;6.修改记录成功时更新的后台数据表(注修改记录成功时更新的后台数据表(注意:是否修改记录时有对表中特殊标志意:是否修改记录时有对表中特殊标志位的操作;)位的操作;)1.删除查询记录前是否提供查询询删除查询记录前是否提供查询询功能,若有查询功能则参
28、见功能,若有查询功能则参见“四四”查询记录;查询记录;2.提供单选、多选删除;提供单选、多选删除;3.删除前提供用户确认删除;删除前提供用户确认删除;4.删除成功或失败给出相应的提示;删除成功或失败给出相应的提示;5.删除成功后所操作的后台数据表;删除成功后所操作的后台数据表;6.对数据库表删除是逻辑还是物理对数据库表删除是逻辑还是物理删除,若是逻辑删除注意表中标删除,若是逻辑删除注意表中标志位的操作;志位的操作;7.删除时是否支持数据库表的级联删除时是否支持数据库表的级联删除;即:主次关系表删除;即:主次关系表1.提供的查询条件是否符合需求;提供的查询条件是否符合需求;2.所查询的支持类型:
29、模糊查询、精所查询的支持类型:模糊查询、精确查询;确查询;3.查询条件之间的关系(即条件之间查询条件之间的关系(即条件之间的逻辑关系)各条件间之间组合的的逻辑关系)各条件间之间组合的查询;查询;4.查询结果的显示问题。具体如:记查询结果的显示问题。具体如:记录、排序方式(即:按什么字段排录、排序方式(即:按什么字段排序、表头各列的排序方式)屏幕显序、表头各列的排序方式)屏幕显示最多的记录数等;示最多的记录数等;5.查询时所操作的后台数据表。(注查询时所操作的后台数据表。(注意:一般情况下都使用视图方式)意:一般情况下都使用视图方式)1.新增、修改、删除记录时各新增、修改、删除记录时各项页面的数据刷新问题;项页面的数据刷新问题;2.新增、删除记录时翻頁功能新增、删除记录时翻頁功能的刷新问题。具体如:总记的刷新问题。具体如:总记录数,总页数录数,总页数,当前页当前页;