首页 > 代码库 > 软件测试之Web测试(学习笔记)

软件测试之Web测试(学习笔记)

    1、Web测试中相关的设置与查看方法

    2、Web测试中截屏与录制屏幕操作过程

    3、界面测试、功能测试、表单测试的验证要点

一、Web测试的特点

    基于Web应用测试的特点是用户通过计算机中安装的浏览器就可以访问指定URL网页进行测试。

    表单测试、功能测试、界面测试、安全测试

二、Web测试基础
    在做Web应用软件测试时,需要准确的找到所使用的测试环境,包括使用的操作系统/浏览器/Flash播放器版本号。

    1、获取软件版本号

        获取当前使用的Windows操作系统版本(OS Version)信息
            用鼠标右击桌面上的[我的电脑]图标,选择 [属性],将显示作者目前使用的操作系统信息

        获取当前使用的IE浏览器版本(BS Version)信息
            打开IE浏览器,鼠标单击菜单[帮助(H)]-> [关于Internet Explorer(A)],将显示作者目前使用的IE浏览器版本号

        获取当前使用的Flash播放器版本(Flash Player Version)信息
            在浏览器地址栏输入http://www.playerversion.com/,将显示作者目前使用的Flash播放器版本号

        修改浏览器的代理设置
            有些特殊的项目需要你修改浏览器的代理设置

            在浏览器的“设置”中找到-"高级"-"设置"进行配置

        修改Hosts文件
            有的项目在测试之前,需要修改本机的Hosts文件,否则访问不了测试站点
                C:\Windows\System32\drivers\etc
            用文本编辑器,如记事本或者EditPlus等打开hosts文件,然后在文件内容的最后,输入所需要补充的信息,然后保存就可以了。
                注:如果您使用的系统是Win Vista或Win7以后的系统,在修改hosts文件前,需要设置当前账户有修改hosts文件的权限,否则会出现:文件只读,保存不成功。

        测试网上付费购物
            在测试网上付费购物时,需要提供信用卡账号,我们不需要使用真实的信息卡信息。这样的项目在测试时,一般都会给你模拟的信息卡帐号。

            有的测试网站还提供优惠券(coupon): 优惠券通常是一组号码。那么在付款时,可以用优惠券中提供的一组号码进行结算。

        截屏软件FSCapture的使用
            FSCapture是一款抓屏工具,其目前最新版本为7.3版,体积小巧、强大功能,支持包括BMP、JPEG、JPEG 2000、GIF、PNG、PCX、TIFF、WMF、ICO和TGA在内的所有主流图片格式。软件操作简单明了,可以方便的抓取屏幕上的任何区域,支持可以直接从系统、浏览器或其他程序中导入图片。

         截屏软件Jing的使用
             TechSmith公司推出一款应用程序——Jing;这是一款集屏幕录像以及抓图等功能于一身的应用程序,需要你的电脑事先安装.NET Framework 3.0;除此以外,Jing 最大的特色是将视频录制与公司旗下的视频分享网站Screencast的整合,你可以快速通过Jing将录制好的视频上传至Screencast服务器上。

    2、界面测试  

         用户界面测试,英文是User interface testing,又称UI Testing,是指软件中的可见外观及其底层与用户交互的部分,包括菜单、对话框、窗口和其它控件。

        用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

        用户界面测试用户分析软件用户界面的设计是否合乎用户期望或要求。它常常包括菜单,对话框及对话框上所有按钮,文字,出错提示,帮助信息 (Menu 和Help content)等方面的测试。比如,测试Microsoft Excel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错信息内容和字体大小,工具栏位置/图标等等。

    如:
        文字/图片重叠问题、文字/图片剪裁问题、文字/图片没对齐、重复菜单项或链接、提示信息错误、字符显示不完整(cut off)、乱码

        Tooltip对应不同、菜单对应不一致、鼠标变小手问题

        不同浏览器现实问题、不同版本浏览器现实问题、不同OS&Browser显示问题

        对齐问题、图片显示问题...

    其他问题
    
        各个页面的样式风格是否统一 。各个页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否居中显示;页面颜色是否统一;前景与背景色搭配合理协调,反差不宜太大,最好少用深色或刺目的颜色。

        各个页面的标题Title是否正确。栏目名称、文章内容等处的文字是否正确,有无错别字或乱码;同一级别的字体、大小、颜色是否统一。

        导航处是否按相应的栏目级别显示;导航文字是否在同一行显示。

        文章列表页,左侧的栏目是否与一级、二级栏目的名称、顺序一致。

        提示、警告或错误说明应清楚易懂,用词准确,摒弃模棱两可的字眼。

        所有的图片是否都被正确装载,在不同的浏览器、分辨率下图片是否能正确显示(包括位置、大小)。

        切换窗口大小、缩小窗口后,页面是否按比例缩小或出现滚动条;各个页面缩小的风格是否一致(按比例缩小或出现滚动条)。

        一个窗口中按Tab键,移动聚焦按顺序移动。先从左至右,再从上到下。

        按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置;避免空旷的界面上放置很大的按钮;按钮的样式风格要统一;按钮之间的间距要一致。重要的命令按钮与使用频繁的按钮放在了界面醒目的位置。

        菜单项的措词准确,能够表达出所要进行设置的功能,菜单项的顺序合理,具有逻辑关联的项目集中放置。

        在整个交互的过程中,可以识别鼠标操作,多次点击鼠标后,仍能够正确识别。鼠标无规则点击时不会产生不良后果,单击鼠标右键弹出快捷菜单,取消右键后该菜单隐藏。

        所有控件、描述信息尽量使用大小统一的字体属性,除特殊提示信息、加强显示等例外情况。

        快捷键和菜单选项,在Windows中按F1键总是得到帮助信息,软件设计中的快捷方式能不能正确使用。

        若有滚动信息或图片,将鼠标放置其上,查看滚动信息或图片是否停止。

        调整分辨率验证页面格式是否错位现象;软件界面要有一个默认的分辨率,而在其他分辨率下也可以运行,分别在1024×768,1280×768,1280×1024,1200×1600分辨率下的大字体、小字体下的界面显示正常。

        鼠标移动到Flash焦点上特效是否实现,移出焦点特效是否消失。

        术语和命令,整个软件中是否使用同样的术语。例如:Find是否一直叫Find,而不是有时叫Search。    
    3、功能测试  
         功能测试,英文称Functional testing。Web应用程序中的功能测试主要是对页面的链接、按钮等页面元素功能是否正常工作的测试。

         连接问题
             链接不工作、空链接、链接页面错误、页面链接错误、页面访问资源不可用、出现404Error

         按钮问题
             按钮不工作/工作不正常、点击按钮产生JS error

         本身应该具有的功能
             该具有的功能未实现、该具有的功能错误的对应到另一功能

         提示问题
             缺少提示、提示信息错误/不合理、提示导致UI问题

         Tooltip不显示:(图片)
             图片的alt属性,只支持IE浏览器。如果想在各浏览器中都能正常显示,需要将alt改为title。

         Js error问题
             JS Error目前只能在IE中能显示出来,Firefox会屏蔽JS错误,所以看不到,当然通过插件Firefox中也能看到。JS错误和特点是在IE浏览器的左下角有一个黄色的感叹号,如果你访问的页面有这样的情况,就代表这个页面存在JS 错误。双击左下角的黄色的感叹号,就能看到出错的细节。

         数据库访问错误

         文档无法下载

     4、表单测试
         当用户填写数据向Web服务器提交信息时,就需要使用表单操作。常见的表单操作有:用户注册、用户登陆、查询数据、数据排序、将商品放入购物篮、修改网购商品数量、填写收货人地址通过网银支付等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。

         表单测试的主要方法有:边界值测试、等价类测试,以及异常类测试等。测试中要保证每种类型都有2个以上的典型数值的输入,以确保测试输入的全面性。

     文本框测试常见验证点

         输入正常的字母或数字,验证是否能正常工作。

         输入已存在的用户名或电子邮件名称,验证是否有唯一性校验。

         输入超长字符串,例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入256个或以上字符,检查程序能否正确处理。

         输入默认值,空白,空格,检查程序能否正确处理。

         若只允许输入字母,尝试输入数字;反之;尝试输入字母,检查程序能否正确处理。

         利用复制,粘贴等操作强制输入程序不允许的输入数据,检查程序能否正确处理。

         输入特殊字符集,例如,NULL及\n等,检查程序能否正确处理。

         输入中文、英文、数字、特殊字符(特别注意单引号和反斜杠)及这四类的混合输入,检查程序能否正确处理。

         输入不符合格式的数据,检查程序是否正常校验,如:程序要求输入身份证号,你输入abc123,程序应该给出错误提示。

         输入html语言的<head>、<html>、<b>等,检查是否能原样正确显示。

         输入全角、半角的英文、数字、特殊字符等,检查是否报错。

     特殊输入域常见验证点

         密码框测试常见验证点

             密码输入域输入数据是否可见?密码的正确显示必须为“******”,不可见模式。

             密码是否可以全部是空格?密码设计必须不能全为空格。

             密码是否对大小写敏感?比如:密码“An@d123R”与“an@d123r”,一定不是同一个密码。

         日期填充域常见验证点

             输入不符合格式的数据,检查程序是否正常校验,如:程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示。

             无效日期处理,如:出生年月输入为2013/02/30,我们知道2月最多是29天,检查程序是否出错。

             出生日期填写为未来日期,比如3214/12/12,检查程序是否出错。

             将结束日期设置在开始日期之前,检查是否有正常校验。

         电话号码填充域常见验证点

             电话号码应该由一组数字组成,不能包含英文字母。

             如果有分机号,中间用破折号分隔。

         邮政编码填充域常见验证点

             国内的邮政编码都是数字。

             英国的邮编是字母与数字的组合,当我们测试国外邮编时需要先查一下该国的邮编格式。

         电子邮件填充域常见验证点

             电子邮件的格式为:xyz@xyz.xyz,输入错误的格式比如:aa@aa,123,aa#aa.aa,检查是否有错误提示。

             输入正确的电子邮件地址,需要能验证通过,并能收到相应的Email。

         购物数量填充域常见验证点

             在填写购物数量的地方,输入一个最大值,查看钱数累计的是否正确;

             在填写购物数量的地方,输入一个负数,检查是否有正确的处理;

             在填写购物数量的地方,输入一个数字0,检查是否有正确的处理;

             在填写购物数量的地方,输入一个字母a,检查是否有正确的处理;

             在填写购物数量的地方,输入一个特殊符号>,检查页面能否正确显示。

         必填字段常见验证点

             必填字段不输入任何内容,直接提交,检查是否有错误提示;

             必填字段只输入空格,然后提交,检查是否有错误提示;

             必填字段的提示是否统一。

         单选按钮常见验证点

             一组单选按钮不能同时选中,只能选中一个;

             逐一执行每个单选按钮的功能。分别选择了“男”、“女”后,保存到数据库的数据应该相应的分别为“男”、“女”;

             一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空。

         复选框常见验证点

             多个复选框可以被同时选中(全选);

             多个复选框可以被部分选中(部分选);

             多个复选框可以都不被选中(全不选);

             逐一执行每个复选框的功能(选择保存后,查看保存结果是与所选择的一致)。

         大块文字区域常见验证点

             输入数据超出最大字符数,检查会出什么情况;

             输入数据正好为最大字符数,检查是否能正确保存;

             不输入任何数据,检查是否能正确保存;

             在Firefox或Chrome浏览器下,大块文字区域右下角一般都可以拖放,尝试用鼠标进行拖放,检查会不会导致界面很难看或滚动条消失。

         下拉列表框常见验证点

             条目内容正确,无重复条目,无遗失条目;

             逐一执行列表框中每个条目的功能。

         排序常见验证点

             选择正序排列后,再检查一下反序排序;

             对文字的排序,检查是否按从A到Z的顺序;

             对价格、数目等的排序,检查是否按数字大小顺序;

             如果有分页,检查是否先好排序再分页。

         分页测试常见验证点:

             当没有数据时,首页、上一页、下一页、尾页标签全部置灰,不支持点击;

             在首页时,“首页”“上一页”标签置灰;在尾页时,“下一页”“尾页”标签置灰;在中间页时,四个标签均可点击,且跳转正确;

             翻页后,列表中的数据是否仍按照指定的顺序进行了排序;

             各个分页标签是否在同一水平线上;

             各个页面的分页标签样式是否一致;

             分页的总页数及当前页数显示是否正确;

             是否能正确跳转到指定的页数;

             在分页处输入非数字的字符(英文、特殊字符等),输入0或超出总页数的数字,是否有友好提示信息;

             是否支持回车键的监听。

         搜索框填充域常见验证点

             搜索按钮功能是否实现;

             输入网站中存在的信息,能否正确搜索出结果;

             输入键盘中所有特殊字符,是否报错;特别关注:_?'"# \ / -- < >;特殊字符;

             系统是否支持键盘回车键、Tab键;

             搜索出的结果页面是否与其他页面风格一致;

             在输入域输入空格,点击搜索系统是否报错;

             本站内搜索输入域中不输入任何内容,是否搜索出的是全部信息或者给予提示信息;

             精确查询还是模糊查询,如果是模糊查询输入:中%国,查询结果是不是都包含中国两个字的信息;

             焦点放置搜索框中,搜索框默认内容是否自动被清空;

             搜索输入域是否实现回车键监听事件。

         用户登录常见验证点

             用户名和密码都符合要求并且是正确的,检查是否能登录成功;

             用户名和密码都不符合格式要求,检查是否能登录成功以及出错提示;

             用户名符合要求,密码不符合要求,检查是否能登录成功以及出错提示;

             密码符合要求,用户名不符合要求,检查是否能登录成功以及出错提示;

             用户名或密码为空,检查是否能登录成功以及出错提示;

             数据库中不存在的用户名,不存在的密码,检查是否能登录成功以及出错提示;

             数据库中存在的用户名,错误的密码,检查是否能登录成功以及出错提示;

             数据库中不存在的用户名,存在的密码,检查是否能登录成功以及出错提示;

             输入的用户名或密码前存在空格,检查是否能登录成功以及出错提示;

             按键盘上的回车键是否监听事件,能执行登录过程。
             ! ,  :  " ‘ +  =  \  _  @  %  ^  {}  ()  <  ? . ; ` * - /  |  $  #  &  ~  []  <> >

            键盘上的所有特殊字符,都是可以用于做输入有效性验证测试的,也就是说Web页面只要有空白,能填空的地方,测试人员就可以输入这些字母组合进行测试。

            因为计算机语言处理中对于字符型数据的都是用单引号或双引号引起,所以我们在测试时,可以有意识的填入单引号与双引号,提交后检查有没有异常。

            因为网页测试中URL中参数的名与值的分隔符是问号与和符号(?与&),所以我们在测试时,比如输入用户名时可以有意识的填入aa?a=b以及bb&name=zhangsan之类的字符,提交后检查有没有异常。

            因为网页测试中URL中参数中#,可以作为锚点分隔符也作为URL终止符,所以我们在测试时,比如输入注册密码时有意识的填入Au#2c8,注册成功后,试试这个密码能不能登录。

            因为网页URL提交的数据的方式分为两种一种是GET,一种是POST,特别是GET方式数据提交时,为了防止数据被截断,都会对数据进行URL编码,不适当编码与解码会导致空格与加号解码后一致,所以输入注册密码时有意识的填入++++++,注册成功后,试试这个密码能不能登录。

            因为Web网页通过HTML语言解析,所以在注册用户名,或姓名时,有意识的填入<abc>或<zhangsan>,提交后检查有没有异常,登录后网页能不能正常显示这个名字。

        转义字符处理常见验证点

            测试在文本框中输入\n或\\,检查输出是不是同样的,如果和用户输入的不一样就是缺陷。

            测试在文本框中输入为单引号或双引号,检查输出时是不是一样的,如果输出为\’或\”就是错误的。

            \b       \f    \n     \r     \t    \‘     \"      \\
            退格 走纸换页 换行    回车 横向跳格 单引号 双引号 反斜杠

        多次快速提交

            假设最终客户的网络或机器速度比较慢,在点击注册或其他操作时,不小心多次提交了提交按钮,有没有适当的保护措施。如连续多次点击了同一个删除按钮,会不会出现系统抛错。

        共用页面Session

            同一个浏览器的两个Tab共用同样的Session,一个已经退出,另一个就自动退出登录了。

            不同浏览器不共用Session,比如一个用Firefox浏览器,一个用IE浏览器,在一个浏览器中退出,另一个浏览器是不会自动退出的。

        页面刷新

            页面刷新可以是用户主动点击刷新或按键盘上的F5,另一种就是程序控制的页面刷新,比如注册时提交照片,网页一般是刷新一下将我们提交的照片显示出来。

            页面刷新经常导致用户提交的数据莫名丢失,是测试人员需要关注的测试点。

        浏览器前进/后退按钮

            有些网页,当我们点击浏览器上的前进与后退按钮时就会出现系统抛错,或页面无法正常显示。所以在Web测试中点击浏览器上的前进与后退按钮并观察其行为也是测试人员需要关注的测试点。


软件测试之Web测试(学习笔记)