进行正式测试之前,应先确定如何开展测试,不可盲目的测试。一般网站的测试,应按以下流程来进行:
1)使用HTML Link Validator将网站中的错误链接找出来;
2)测试的顺序为:自顶向下、从左到右;
3)查看页面title是否正确。(不只首页,所有页面都要查看);
4)LOGO图片是否正确显示;
5)LOGO下的一级栏目、二级栏目的链接是否正确;
6)首页登录、注册的功能是否实现;
7)首页左侧栏目下的文章标题、图片等链接是否正确;
8)首页中间栏目下的文章标题、图片等链接是否正确;
9)首页右侧栏目下的文章标题、图片等链接是否正确;
10)首页最下方的【友情链接】、【关于我们】等链接是否正确;
11)进入一级栏目或二级栏目的列表页。查看左侧栏目名称,右侧文章列表是否正确;
12)列表页的分页功能是否实现、样式是否统一;
13)查看文章详细页面的内容是否存在乱码、页面样式是否统一;
14)站内搜索(各个页面都要查看)功能是否实现;
15)前后台交互的部分,数据传递是否正确;
16) 默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。
UI测试包括的内容有如下几方面:
1)各个页面的样式风格是否统一;
2)各个页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否居中显示;
3)各个页面的title是否正确;
4)栏目名称、文章内容等处的文字是否正确,有无错别字或乱码;同一级别的字体、大小、颜色是否统一;
5)提示、警告或错误说明应清楚易懂,用词准确,摒弃模棱两可的字眼;
6)切换窗口大小,将窗口缩小后,页面是否按比例缩小或出现滚动条;各个页面缩小的风格是否一致,文字是否窜行;
7)父窗体或主窗体的中心位置应该在对角线焦点附近;子窗体位置应该在主窗体的左上角或正中;多个子窗体弹出时应该依次向右下方偏移,以显示出窗体标题为宜;
8)按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置;避免空旷的界面上放置很大的按钮;按钮的样式风格要统一;按钮之间的间距要一致;
9)页面颜色是否统一;前景与背景色搭配合理协调,反差不宜太大,最好少用深色或刺目的颜色;
10)若有滚动信息或图片,将鼠标放置其上,查看滚动信息或图片是否停止;
11)导航处是否按相应的栏目级别显示;导航文字是否在同一行显示;
12)所有的图片是否都被正确装载,在不同的浏览器、分辨率下图片是否能正确显示(包括位置、大小);
13)文章列表页,左侧的栏目是否与一级、二级栏目的名称、顺序一致;
14) 调整分辨率验证页面格式是否错位现象;
15)鼠标移动到Flash焦点上特效是否实现,移出焦点特效是否消失;
16) 文字颜色与页面配色协调,不使用与背景色相近的颜色。
17) 每个非首页静态页面含图片字节不超过300K,全尺寸banner第一个场景控制在200k以内 二个场景在300K,三个场景在400K以此类推
18) 同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
19) 超过一屏的内容,在底部应有go top按钮
20) 超过三屏的内容,应在头部设提纲,直接链接到文内锚点
21) 首页,各栏目一级页面之间互链,各栏目一级和本栏目二级页面之间互链
22) 导航的文字要简明扼要,字数限制在一行以内
23) 报表显示时应考虑数据显示宽度的自适应或自动换行。
24) 所有有数据展现的界面(如统计、查询、编辑录入、打印预览、打印等),必须使测试数据的记录数超过一屏/一页,以验证满屏/页时其窗体是否有横向、纵向滚动条或换页打(L)印,界面显示是否正常;
25) 如有多个系统展现同一数据源时,应保证其一致性;
26) 对于报表中的所有字段值都应该有明确的定义,对于无意义的字段值,不应该显示空,应显示“--”或“/”,表示该字段值无意义。
27) 对统计的数据应按用户习惯进行分类、排序。
28) 界面内容更新后系统应提供刷新功能。
29) 用户在退出系统后重新登陆时应考虑是否需要自动返回到上次退出系统时的界面;
30)在多个业务功能组成的一个业务流程中,如果各个功能之间的执行顺序有一定的制约条件,应通过界面提示用户。
31)用户提示信息应具有一定的指导性,在应用程序正在进行关键业务的处理时,应考虑在前台界面提示用户应用程序正在进行的处理,以及相应的处理过程,在处理结束后再提示用户处理完毕。
32)在某些数据输入界面,如果要求输入的数据符合某项规则,应在输入界面提供相应的规则描述;当输入数据不符合规则时应提示用户是否继续。
33)在对任何配置信息修改后,都应该在用户退出该界面时提示用户保存(如果用户没有主动保存的情况下);
34)在对某些查询功能进行测试时,应考虑查询条件的设置的合理性以及查询结果的互补性。如某些后台处理时间不应该作为查询条件。
35)界面测试时,应考虑某一界面上按钮先后使用的顺序问题,以免用户对此产生迷惑。例如只能在查询成功后显示执行按钮。
36)界面测试时,应验证窗口与窗口之间、字段与字段之间的浏览顺序是否正确;
37)在某些对数据进行处理的操作界面,应考虑用户可能对数据进行处理的频繁程度和工作量,考虑是否可以进行批量操作。
38)界面测试时应验证所有窗体中的对象状态是否正常,是否符合相关的业务规则需要。
49)应验证各种对象访问方法(Tab 健、鼠标移动和快捷键)是否可正常使用,并且在一个激活界面中快捷键无重复;
40)界面测试不光要考虑合理的键盘输入,还应考虑是否可以通过鼠标拷贝粘贴输入。
41)对于统计查询功能的查询结果应验证其是否只能通过界面上的查询或刷新按键人工触发,应避免其他形式的触发。
42)对界面上的任何对象进行拖拉,然后进行查询、打印,应保证查询打印结果不变;
43)确保数据精度显示的统一:如单价0元,应显示为0.00元;
44)确保时间及日期显示格式的统一;
45)确保相同含义属性/字段名的统一;
46)对所有可能产生的提示信息界面内容和位置进行验证,确保所有的提示信息界面应居中。
链接测试主要分为以下几个方面:
1)页面是否有无法连接的内容;图片是否能正确显示,有无冗余图片,代码是否规范,页面是否存死链接(可以用HTML Link Validator工具查找);
2)图片上是否有无用的链接;点击图片上的链接是否跳转到正确的页面;
3)首页点击LOGO下的一级栏目或二级栏目名称,是否可进入相应的栏目;
4)点击首页或列表页的文章标题的链接,是否可进入相应的文章的详细页面;
5)点击首页栏目名称后的【更多】链接,是否正确跳转到相应页面;
6)文章列表页,左侧的栏目的链接,是否可正确跳转到相应的栏目页面;
7)导航链接的页面是否正确;是否可按栏目级别跳转到相应的页面;
(例:【首页->服务与支持->客服中心】,分别点击“首页”、“服务与支持”、“客服中心”,查看是否可跳转到相应页面;)
8) 新闻、信息类内容通常用新开窗口方式打开。
9) 顶部导航、底部导航通常采取在本页打开。
搜索测试主要分为以下几个方面:
1)搜索按钮功能是否实现;
2)输入网站中存在的信息,能否正确搜索出结果;
3)输入键盘中所有特殊字符,是否报错;特别关注:_ ? ’ . · \ / -- ;特殊字符
4)系统是否支持键盘回车键、Tab键;
5)搜索出的结果页面是否与其他页面风格一致;
6)在输入域输入空格,点击搜索系统是否报错;
7)本站内搜索输入域中不输入任何内容,是否搜索出的是全部信息或者给予提示信息;
8)精确查询还是模糊查询,如果是模糊查询输入:中%国。查询结果是不是都包含中国两个字的信息;
9)焦点放置搜索框中,搜索框内容是否被清空;
10)搜索输入域是否实现回车键监听事件;
表单测试主要分为以下几个方面:
1)注册、登录功能是否实现;
2)提交、清空按钮功能是否实现;
3)修改表单与注册页面数据项是否相同,修改表单是否对重名做验证;
4)提交的数据是否能正确保存到后台数据库中(后台数据库中的数据应与前台录入内容完全一致,数据不会丢失或被改变);
5)表单提交,删除,修改后是否有提示信息;提示、警告、或错误说明应该清楚、明了、恰当。
6)浏览器的前进、后退、刷新按钮,是否会造成数据重现或页面报错;
7)提交表单是否支持回车键和Tab键;Tab键的顺序与控件排列顺序要一致,目前流行总体从上倒下,同时行间从左到右的方式
8)下拉列表功能是否实现和数据是否完整(例如:省份和市区下拉列表数据是否互动);
输入域测试主要分为以下几个方面:
1)对于手机、邮箱、证件号等的输入是否有长度及类型的控制;
2)输入中文、英文、数字、特殊字符(特别注意单引号和反斜杠)及这四类的混合输入,是否会报错;
3)输入空格、空格+数据、数据+空格,是否报错;
4)输入html语言的<head>,是否能正确显示;
5)输入全角、半角的英文、数字、特殊字符等,是否报错;
6)是否有必填项的控制;不输入必填项,是否有友好提示信息;
7)输入超长字段,页面是否被撑开;
8)分别输入大于、等于、小于数据表规定字段长度的数据,是否报错;
9)输入非数据表中规定的数据类型的字符,是否有友好提示信息;
10)在文本框中输入回车键,显示时是否回车换行;
11) 非法的输入或操作应有足够的提示说明。
分页测试主要分为以下几个方面:
1)当没有数据时,首页、上一页、下一页、尾页标签全部置灰;
2)在首页时,“首页”“上一页”标签置灰;在尾页时,“下一页”“尾页”标签置灰;在中间页时,四个标签均可点击,且跳转正确;
3)翻页后,列表中的数据是否扔按照指定的顺序进行了排序;
4)各个分页标签是否在同一水平线上;
5)各个页面的分页标签样式是否一致;
6)分页的总页数及当前页数显示是否正确;
7)是否能正确跳转到指定的页数;
8)在分页处输入非数字的字符(英文、特殊字符等),输入0或超出总页数的数字,是否有友好提示信息;
9)是否支持回车键的监听;
1)前台的数据操作是否对后台产生相应正确的影响
(如:查看详细信息时,需扣除用户相应的授权点数);
2)可实现前后台数据的交互(如:在线咨询,能否实现数据的交互实时更新);数据传递是否正确;前后台大数据量信息传递数据是否丢失(如500个字符);多用户交流时用户信息控制是否严谨;
3)用户的权限,是否随着授权而变化;
4)数据未审核时,前台应不显示;审核通过后,前台应可显示该条数据;
功能测试中还需注意以下几点内容:
1)点击【收藏我们】,标题是否出现乱码;收藏的url与网站的url是否一致;能否通过收藏夹来访问网站;
2)对于修改、删除等可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会;
3)在文章详细页面,验证字体大小改变、打印、返回、关闭等功能是否实现;
目录测试主要分为以下几个方面:
1)在测试路径上出现:http://218.61.30.17:7001/dzgh/xwzx/khzl/2008/11/13/58127.html 把/2008/11/13/58127.html去掉,看是否能出现目录下文件;
2)访问文件目录如果出现403错误,说明网页加以限制拒绝访问;
3)访问文件目录如果出现SSH其他根目录路径,说明有漏洞缺陷;
4)用X-Scan-v3.2-cn工具对网站服务器扫描。可以对网站参透出开启的端口号,SSH弱口令,网站是否存在高风险;比如:在扫描参数中输入测试网站的地址,点击扫描。如果扫描出网站端口号高风险或SSH弱口令可以与开发人员沟通进行修改;
5)测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
6)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
7)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
8)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
9)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
10)网页加载速度测试可以采用HttpWatch软件等,可以知道那些内容影响网站整体速度。
Cookies测试主要分为以下几个方面:
1)查看个人信息的Cookies有没有被加密;
2)是否可以修改Cookies登录到系统中;
3)可以用IECookiesView来验证Cookies;比如:A用户登录系统后用工具扫描出Cookies值,在用B用户登录系统用工具扫描出Cookies值,然后用A的Cookies改B的Cookies,打开浏览器进入系统如果发现你已经登录的是A用户的话。就证明Cookies被修改可以登录系统,存在Cookies漏洞;
SQL注入主要分为以下几个方面:
1)在用户名和密码中分别输入:aa’ or ‘1’=’1’ 点击登录查看是否登录成功;
2)在测试Url中输入:’ 点击浏览查看网页是否出现SQL代码。如果出现SQL代码说明系统有被SQL注入的漏洞。可以用相关工具进行扫描;
3)在测试Url中输入:’ or ‘a’=’a’ 点击浏览查看网页是否出现SQL代码。如果出现SQL代码说明系统有被SQL注入的漏洞。可以用相关工具进行扫描;
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。
进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。
压力测试的区域包括表单、登陆和其他信息传输页面等。
市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。
因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript、ActiveX、plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。
测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。