web测试(经典)案例
-
1.
概述
随着
web
应用的增多,
新的模式解决方案中以
web
为核心的应用也越来越多,<
/p>
很多公司各种应用
的架构都以
B/S
p>
及
web
应用为主,
但是有关
WEB
测试方面的内容并没有相应的总结,
所以我在这
里对
web
的测试方法和采用的测试技术进行总结,便于内部交流。
<
/p>
测试方法尽量涵盖
web
程序的各个方面
,测试技术方面在继承传统测试技术的技术上结合
web
应用的
特点。
相关的测试和实现技术也有
着很大的关系,由于本公司使用
J2EE
体系,也许例子中只有
JAVA
平台可以使用,
.NET
p>
平台测试技术暂时不涉及,如果你有请与我联系。
2.
测试方法
说明:测试方法的选择取决你的测试策略。
一般的
web
测试和以往的应用程序的测试的侧重点不完全相同,基本包括以下几个方面。
当然圆满的完成测试还要有好的团体和流程等的方方面面的支持,
你同
样应该对这些方面进行注
意。
有些测
试方法设计到了流程,哪些应该在你的测试团队建设中建立。
2.1
界面测试
现在一般人都有使用浏览器浏览网页的经历,
用户虽然不是专业人员但是对界面效果的印
象是很
重要的。
如果你注重这方面的测试,
那么验证应用程序是否易于使用就非常重要了。
很多人认为
这是测试中最不重要的部分,
但是恰恰相反界面对不懂技术的客户来说那相当关键,
p>
慢慢体会你
会明白的。
方法上可以根据设计文档,
如果够专
业的话可以专业美工人员,
来确定整体风格页面风格,
然后
p>
根据这个可以页面人员可以生成静态的
HTML
,
CSS
等甚至生成几套不用的方案来讨论,
或者交给
客户评审,
最后形成统一的风格的页面
p>
/
框架。
注意不要靠程序员的美术素养形成
你的
web
风格,
那样可能会很糟糕。
主要包括以下几个方面的内容:
<
/p>
站点地图和导航条位置、
是否合理、
是否
可以导航等内容布局布局是否合理,
滚动条等简介说明
说明文字
是否合理,位置,是否正确
背景
/<
/p>
色调是否正确、美观,是否符合用户需求;
页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,
屏幕刷新是否正确
)
表单样式
大小,格式,是否对提交数据进行验证(如果在页面
部分进行验证的话)等
连接连接的形式,位置,是否易于理解等
web
测试的主要页面元素
页面元素的容错性列表(如输入框、时间列表或日历)
页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、
列表框、超连接、输入框等等)
页面元素的容错性是否存在
页面元素的容错性是否正确
页面元素
基本功能是否实现(如文字特效、动画特效、按钮、超连接)
页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等)
页面元素是否显示正确(主要针对文字、图形、签章)
元素是否显示(元素是否存在)
页面
元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、
列表框、超连接、输入框等等)
测试技术
通过页面走查,
浏览确定使用的页面是否符合需求。
可以结合兼
容性测试对不用分辨率下页面显
示效果,如果有影响应该交给设计人员提出解决方案。<
/p>
可以结合数据定义文档查看表单项的内容,长度等信息。
p>
对于动态生成的页面最好也能进行浏览查看。如
Servelet<
/p>
部分可以结合编码规范,进行代码走
查。是否支持中文,如果数据
用
XML
封装要做的工作会多一点等等。
界面测试要素
:
符合标准和规范
,
灵活性
,
正确性
,
直观性
,
舒适性
,
实用性
,
一致性
1.
直观性
:
用户界面是否洁净
,
不唐突
,
不拥挤
.
界面不应该为用户制造障碍
.
所需功能或者期待的响应应该
明显
,
并在预期出现的地方
.
界面组织和布局合理吗
?
是否允许用户
轻松地从一个功能转到另一个功能
?
下一步做什么明显吗
?
任何时刻都可以决定放弃或者退回
,
退出吗
?
输入得到承认了吗
< br>?
菜单或者窗口是否深藏不露
?
有多余功能吗
?
软件整体抑或局部是否做得太多
?
是否有太多特性把工作复杂化了
?
是否感到信息
太庞杂
?
如果其他所有努力失败
,
帮助系统真能帮忙吗
< br>?
2.
一致性
快速键和菜单选项
.
在
Windows
中按
F1
键
总是得到帮助信息
术语和命令
.
p>
整个软件使用同样的术语吗
?
特性命名一致
吗
?
例如
,Find
< br>是否一直叫
Find,
而不是
有
时叫
Search?
软件是否一直面向同一级别用户
?
带有花哨用户界面的趣味贺卡程序不应该显示泄露技术机密的
错误提示信息
.
按钮位置和等价的按键<
/p>
.
大家是否注意到对话框有
OK
按钮和
Cancle
按钮时
,OK
按钮总是在上方
或者左方
,
而
Cancle
按钮总是在下方或右方
?
同样原因
,Cancle
按钮的等价按键通常是
Esc,
而选
中按钮的等价按钮通常是
Enter.
保持一致
p>
.
3.
灵活性
状态跳转
.
灵活的软件实现同一任务有
多种选择方式
.
状态终止和跳过
,
具有容错处理能力
.
数据输入和输
出
.
用户希望有多种方法输入数据和查看结果
< br>.
例如
,
在写字板插入文字可用
键盘输
入
,
粘贴
,
从
6
种文件格式读入
,
作为对象插入
,
或者用鼠
标从其他程序拖动
.
4.
舒适性
恰当
.
软件外观和感觉应该与所做的工
作和使用者相符
.
错误处理
.
p>
程序应该在用户执行严重错误的操作之前提出警告
,
并允许用户恢复由于错误操作导
致丢失的数据
.
如大家认为
undo
/redo
是当然的
.
性能
.
快不见得是好事
.
要让用户看得清程序在做什么
,
它是有反应的
< br>.
2.2
功能测试
对功能测试是测试中的重点
主要包括一下几个方面的内容
连接这
个连接和界面测试中的连接不同那里注重的是连接方式和位置,
如是图像还是文字放置的
位置等,还是其他的方式。这里的连接注重功能。如是否有连接,连接的是否是说明的位
置等。
表单提交应当模拟用户提交
,验证是否完成功能,
如注册信息,
要测试这些程序,需要验证
服务
器能正确保存这些数据,
而且后台运行的程序能正确解释和
使用这些信息。
还有数据正确性验证,
异常处理等,最好结合易
用性要求等。
B/S
结构实现的功能可能主要的就在这里,提交
数据,处
理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,
编写可重复使用的脚本代
码,可以在测试、回归测试时运行以便减轻测试
人员工作量。
Cookies <
/p>
验证如果系统使用了
cookie
,测试
人员需要对它们进行检测。如果在
cookies
中保存
了注册信息,请确认该
coo
kie
能够正常工作而且已对这些信息已经加密。如果使用
cookie
来
统计次数,需要验证次数累计正确。关于
p>
cookie
的使用可以参考浏览器的帮助信息。如果使用
B/S
结构
cookies
中存放的信息更多。功能易用性测试完成了功能测试可以对应用性进行了解,
最好听
听客户的反映,
在可以的情况下对程序进行改进是很有必要的,
和客户保持互动对系统满
意度也是很有帮助的。
测试技术功能测试的测试技术可是很多的,我们可以结合实际
环境选择使用
白盒测试技术
(White
Box
Testing)
深入到代码一级的测试,使用这种技术发现
问题最早,效果
也是最好的。该技术主要的特征是测试对象进入了代码内部
,
根据开发人员对代码和对程序的熟
悉程度
,
对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解
和接触所进行的
软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,在
JAVA
平台使用
Xunit
< br>系列工具
进行测试,
Xunit
测试工具是类一级的测试工具对每一个类和该类的方法进行测试。
黑盒测试技术(
Black Box
Testing
)黑盒测试的内容主要有以下几个方面,但是主要还是功能
部分。
主要是覆盖全部的功能,
可以结合兼容,
p>
性能测试等方面进行,
根据软件需求,
设计
文档,
模拟客户场景随系统进行实际的测试,
这种测试技术是使
用最多的测试技术涵盖了测试的方方面
面,可以考虑以下方面
正确性
(Correctness)
:计算结果,命名等方面
?
可用性
(Usability)
:是否可以满足软件的需求说明。
边界条件
(Boundary C
ondition)
输入部分的边界值
,
就是使用一般书中说的等价类划分
,
试试最
< br>大最小和非法数据等等
.
性能
(Performance)
正常使用的时间内系统完成一个任务需要的时间
,
多人同时使用
的时候响
应时间
,
在可以接受范围内<
/p>
.J2EE
技术实现的系统在性能方面更是需要照顾的
,
一般原则是
3
秒以
p>
下接受
,3-5
秒可以接受
,5
秒以上就影响易用性了
.
如果在测试过程中发现性能问题,修复起来
是非常艰难的,因为这常常意味着程序的算
法不好,结构不好,
或者设计有问题。因此在产品开
发的开始阶
段,就要考虑到软件的性能问题。
压力测试
(Stress)
多用户
情况可以考虑使用压力测试工具
,
建议将压力和性能测试结合起
来进
行
.
如果有负载平衡的话还要在服
务器端打开监测工具
,
查看服务器
CP
U
使用率
,
内存占用情况
,
如果有必要可以模拟大量数据输入
,
对硬盘的影响等等信息
.
如果有必要的话必须进行性
能优化
(
软硬件都可以
).
这里的压力测试针对的是某几项功能
.
错误恢复
(Error Recovery)
错误处理,页面数据验证
,
包括突然间断电
,
输入脏数据等
.
安全性测试
(Security)
这个领域正在研究中
,
不过防火墙
,
补丁包
.
杀毒软件等的就不必说了
,
不
过可以考虑破坏性测试时任意
.
看了一些资料后得知
,
这里面设计到的知识
内容可以写本书了
,
不
是一两句可以说清的
,
特别是一些商务网站
,
或者跟钱有关
,
或者和公司秘密
有关的
web
更是
,
< br>需要这方面的测试
,
在外国有一种专门干这一行的人叫安
全顾问
,
可以审核代码
,
提出安全建议
,
出现紧急事件是的处理办法等
,
在国内没有听说哪里有专门搞安全技术测试的内容
< br>.
兼容性
(Compatibility)
不同浏览器,
不同应用程序
版本在实现功能时的表现
,
不同的上网方式
,
如果你测试的是一个公共网站的话
.
兼容性测试内容详述
硬件平台
浏览器软件和版本
:
浏览器插件
,
浏览器
选项
,
视频分辨率和色深
.
文字大小
,
调制解调器速率
.
软件配置
(Configuration)
如
IE
浏览器的不用选项
-
安全设定最高
,
禁用脚本程序<
/p>
,
等等
,
你们<
/p>
的程序在各种不用的设置下表现如何
.