目录
web网站测试的主要方面
一、功能测试(包含基本功能测试和数据准确性校验)
对于网站的测试而言,每一个独立的功能模块需要单独的测试用例的设计导出,主要依据为《需求规格说明书》及《详细设计说明书》,对于应用程序模块需要设计者提供基本路径测试法的测试用例。
B/S结构实现的功能可能主要的就在于提交数据,处理数据等,如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。
1、链接测试(根据需求是否需要指导用户使用)
链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点:
(1)链接是否按照既定指示那样,确实链接到了该链接的界面
(2)测试该链接所链接的页面是否真的存在
(3)保证系统中没有单独存在的页面(即没有链接指向,只能通过正确的URL地址才能访问)
链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
Xenu------主要测试链接的正确性的工具,可惜的是对于动态生成的页面的测试会出现一些错误。
2、表单测试
1)当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。
例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。
如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
2)要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。
3)B/S结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。
4)我们对UM子系统中各个功能模块中的各项功能进行逐一的测试,主要测试方法为:边界值测试、等价类测试,以及异常类测试。测试中要保证每种类型都有2个以上的典型数值的输入,以确保测试输入的全面性。
3、cookie测试(如果web应用系统使用cookie)
1)Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
2)如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作而且对这些信息已经加密。如果使用 cookie 来统计次数,需要验证次数累计正确。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
4、设计语言测试
1)Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。
2)当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。
3)除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、 ActiveX、VBScript或Perl等也要进行验证。
5、数据库测试
1)在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。
在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。
2)在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。
数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
二、安全性测试
1、SQL注入
2、XSS跨网站脚本攻击
程序或数据库没有对一些特殊字符进行过滤或处理,导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
document.write("abc")
3、URL地址
后面随便输入一些符号,并尽量是动态参数靠后
4、验证码更新问题
5、密码
现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
6、超时性
Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
7、日志文件
为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
8、通信协议
当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
9、服务器端的脚本
常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
三、界面测试和易用性测试
1、界面测试
主要包括以下几个方面的内容:
(1)站点地图和导航条: 位置是否合理、是否可以导航等内容布局--布局是否合理;简介说明--说明文字是否合理,位置是否正确
(2)背景/色调: 是否正确、美观,是否符合用户需求
(3)页面:在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确);表单样式--大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等
(4)连接: 连接的形式、位置是否易于理解等
1)web测试的主要页面元素
(1)页面元素的容错性列表(如输入框、时间列表或日历)
(2)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)
(3)页面元素的容错性是否存在
(4)页面元素的容错性是否正确
(5)页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连接)
(6)页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等)
(7)页面元素是否显示正确(主要针对文字、图形、签章)
(8)元素是否显示(元素是否存在)
(9)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)
2)测试技术
1、通过页面走查,浏览确定使用的页面是否符合需求,可以结合兼容性测试对不用分辨率下页面显示效果,如果有影响应该交给设计人员提出解决方案。
2、可以结合数据定义文档查看表单项的内容,长度等信息。
3、对于动态生成的页面最好也能进行浏览查看。如Servelet部分可以结合编码规范,进行代码走查。是否支持中文,如果数据用XM,封装要做的工作会多一点等。
2、易用性测试
易用性测试七大要素:符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性
1、风格、样式、颜色是否协调
2、界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条)
3、界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)
4、操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)
5、提示界面是否符合规范,有无中英文混合(不应该显示英文的cancel、ok,应该显示中文的确定、取消等)
6、界面中各个控件是否对齐,是否显示完整,间隔是否一致,是否有重叠区域
7、日期控件是否可编辑
8、日期控件的长度是否合理,以修改时可以把时间全部显示出来为准
9、查询结果列表列宽是否合理、标签描述是否合理
10、查询结果列表太宽没有横向滚动提示
11、对于信息比较长的文本,文本框有没有提供自动竖直滚动条
12、数据录入控件是否方便
13、有没有支持Tab键,键的顺序要有条理,不乱跳
14、有没有提供相关的热键
15、控件的提示语描述是否正确
16、模块调用是否统一,相同的模块是否调用同一个界面
17、用滚动条移动页面时,页面的控件是否显示正常
18、日期的正确格式应该是XXXX-XX-XX或XXXX-XX-XX XX:XX:XX
19、页面是否有多余按钮或标签
20、窗口标题或图标是否与菜单栏的统一
21、窗口的最大化、最小化是否能正确切换
22、对于正常的功能,用户可以不必阅读用户手册就能使用【控件名称易懂,用词准确,与同一界面上的其他按钮易于区分】
23、执行风险操作时,有确认、删除等提示吗
24、操作顺序是否合理
25、正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确
26、系统应该在用户执行错误的操作之前提出警告,提示信息
27、页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性
28、合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理
29、检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业
30、控件字体和大小是否一致,有无错别字
四、兼容性测试
兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,
包括操作系统兼容和应用软件兼容,可能还包括硬件兼容,比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
五、 性能测试
1、连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号&#