转自网络

上一篇 / 下一篇  2018-05-28 11:10:34

Web测试中,各类web控件测试点总结
一 、界面检查
  进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验
  1、页面名称title是否正确
  2、当前位置是否可见  您的位置:xxx>xxxx
  3、文字格式统一性
  4、排版是否整齐
  5、列表项显示字段是否齐全,列表项字段名称是否跟表单统一
  6、同一页面,是否出现 字段名称相同、值取不同的问题。
  7、数据加载情况:除了文本框的值,还要注意:
  复选框,是否保存打√,或者保存不打√
  下拉框,是否保存选择的值
  多文本框,值是否都被保存,空格,换行是否保存
二、单文本框(type=text)
  边界:字段长度
  判空:是否可以为空
  唯一性:是否唯一        (小归结:边界、判空、唯一性、特殊字符、正确性)
  考虑语言,操作环境
  特殊符号测试输入:
  ' or 1<>'1   ' or '1'='1  ' or '1'<>'2  "|?><
  where a='xxx'   下划线是否允许  输入全部空格  输入 单引号
  ><script>alert(“123”);</script>>
  特殊字段输入限定:
  框内容是否合法(tel,ip,url,email)序号等,直接限制输入数字,其他过滤掉
  输入金额文本框,整数首位为0,过滤掉,小数点后面,一般保留两个有效数字。
  正确性测试:(必不可少的步骤)
  1)、(字段长度输入最大允许长度时)数据允许长度的测试:
  a、页面是否被挤出的测试(都输入长英文字符串,是否断行);
  b、数据库是否允许最大字符(都输入汉字、都输入英文、混合……);
  c、最短长度的正确流程,最大长度的正确流程覆盖。
  2)、对于允许为空的字段,不填入,再次数据传递后,看是否报500错误。
  3)、未规定字段长度(或者数值大小),不按死板输入,输入非常多字符(或者非常大的数值)时,做允许动作的正确性校验,看是否报错。(要达到的结果:不管有没有长度限制(没有给最长、最大限制让你去测?),最终页面不能抛数据库异常。)monkeytest
  说明:通过不断输入长字符串,看是否有长度校验;
  最终都会出现以下两种情况的一种:
  A、页面(前台)有校验长度、大小;   或者
  B、无校验,数据库报错。
  所以: 所有字段都要做长度、大小限制(不管需求有没有给出明确要求,不管测试颗粒度,都要限制长度,不允许报数据库错误,都要测!!!)。最大长度限制可限定方法:1、不允许再输入;2、自动截断处理,并且给用户提示。
关于长度概念:
  1、 数据库规定的字节长度A
  2、 页面上可以输入的字符数B
  控制方法:
  1)、页面上,不管输入什么字符(全角如汉字、半角如字母),统一规定不能超过B个字符,此种限制,
  测试点:全部输入全角B个,测试(B*3字节)会不会超过数据库字节长度
  全部输入半角B个,测试(B*1字节)会不会超过数据库字节长度
  混合输入全角X半角Y,测试(X*3+Y字节)会不会超过数据库长度
  2)、页面上,不以字符统计,以总的输入字节数统计,比如,全部输入全角字符,允许可以输入A/3个字符,全部输入半角字符,允许输入A个字符( 民生网的设计)
  测试点:全部输入全角,看是否允许输入A/3个字符
  全部输入半角,看是否允许输入A个字符
  混合输入全角X,半角Y,看是否允许X*3+Y=A
  (5个:判空、唯一、边界值、特殊字符、正确流程(多种数据、多种分支))
  +测试校验位置:ajax鼠标事件校验、前台提交按钮js校验,服务器拿到数据后再次验证
  三、多文本框(type=textarea)
  1)、空格和换行的问题,看需求,是否需要做支持HTML Encoding
  输入全部空格时,是否判空处理?””空格,   。
  输入折行,是否也显示折行?
  比如:列点说明原因,就需要支持。
  2)、字母截断的问题
  对于一串字母,开发人员往往会忘掉做截断,这样如果展示在我们的平台上的话,这一串字母就会把我们的UI撑开
  3)、长度控制格式, 您还可以输入***个字符
  四、添加按钮
  添加动作检查范围:
  失败:是否提示
  提示内容是否正确
  失败时:保存用户已输入的内容,避免重新再输入
  成功:对话框消失
  记录是否可直接查看(还需要刷新?)
  列表记录顺序
  重复提交情况,点击一次后,是否变成disable
  上传附件的添加:
  A. 文件名称:文件名称很长;文件名称字符多样化(汉字,英文,符号);文件名称重复。
  B. 判空?
  C. 附件格式类型支持?
  D. 附件个数?
  E. 附件空间大小。
五、移除按钮
  1.一般都要在前台先给出一个提示操作“确定移除该……”
  2.相关联的东西,是否需要限制移除“该类型下存在应用,无法移除”有到后台比较
  3.确定后,真正执行移除操作。
  结果:
  移除后,列表数据是否立即消失。
  必须有确认删除的提示信息
  六、列表
  1)、列表记录顺序
  2)、是否需要翻页、有没有翻页功能
  3)、字段名称是否与表单一致


  七、搜索-文本框
  1、功能点、需求点考虑:
  是否提供模糊查询、输入数值有种类有限定时,是否考虑换成下拉框搜索;
  2、检查点:
  文本框值是否消失(是否回填条件值),再次点击“查询”可查看所有记录;
  考虑搜索结果:是否存在分页,分页是否正常;是否有序;
  注意:分页是否仍保存查询条件,检查后面的记录是否符合条件
  3、查询数据多样性:
  输入不存在的字段值测试、包括特殊字符查询测试例如:' or '1'='1;
  输入类似程序语句的条件时是否执行查询,如:XXXX”、XXX and ;
  4、操作类型:
  1) 不输入的查询
  2) 输入全部空格的查询
  3) 模糊查询(输入部分字段,或者说,输入英文字母,查询到相关中文数据)
  4) 输入不存在的查询
  5) 输入存在的查询
  6) 单个查询和多个条件复合查询。
  八、搜索-下拉框
  检查点:
  a) 搜索结果是否有序;
  b) 下拉框值是否齐全;(下拉框值本身也是一个动态查询的结果)
  c) 下拉框值是否自动消失,再次点击“查询”可查看所有记录(是否要回填条件值);
  d) 分页时,是否保存搜索条件。
  (从UI、开发、业务逻辑、用户使用等角度测试)
  PS:
  以上总结的, 是比较纯粹的从页面控件角度测试点出发, 对于完整测试一个整体页面,需要各类测试有机结合起来:
  1)UI测试:
  页面布局; 页面样式检查;控件长度是否够长;显示时,是否会被截断;支持的快捷键,Tab键切换焦点顺序正确性等。
  2)功能测试:页面上各类控件的测试范围,测试点,可参考上方
  结合控件的实际作用来补充检查点: 比如, 密码框是否*显示, 输入是否做trim处理等
  3)安全测试:输入特殊字符,sql注入,脚本注入测试
  后台验证测试,对于较重要的表单 ,绕过js检验后台是否验证
  数据传输是否加密处理,比如, 直接请求转发,地址栏直接显示发送字符串?
  数据库存储,特别密码等,是否加密形式存储
  4)兼容性测试
  5)性能测试




二.常见功能点测试思路
根据经验,总结常见的功能点的测试思路:
  1. 新增 或 创建(Add or Create)
  .1 操作后的页面指向
  .2 操作后所有绑定此数据源的控件数据更新,常见的排列顺序为栈Stack类型,后进先出
  .3 取消操作是否成功
  2.编辑 或 更新 (Edit or Update)
  .1 操作后的页面指向
  .2 操作后所有绑定此数据源的控件数据更新
  .3 取消操作是否成功
  .4 编辑界面是否读取出正确、全部的数据源
  .5 记录在工作流中的编辑功能可用性
  .6 操作成功的生效时刻及生效范围
  3.删除 或 移除 (Delete or Remove)
  .1 操作后的页面指向
  .2 操作后所有绑定此数据源的控件数据更新 (如下就是删除后,Tab数据没有立即刷新的bug)
3 取消操作是否成功
  .4 记录在工作流中的编辑功能可用性
  .5 操作成功的生效时刻及生效范围(比如:购物网站,店家商品下架后,并没有同时删除买家的购买记录)
  4.选中 或 全选 (Check or Check all)
  .1 多页面中,全选对所有页面是否有效
  .2 支持多页面的个别选中,且返回查看时保留选中状态
  .3 界面上的按钮的操作范围是否均受选中功能控制
  .4 前一页选中状态,在翻页后,应保留原来状态
  .5 先全选-》移除某个单选-》全选按钮是否移除选中状态


谈谈性能测试分类
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
  验收性能测试(狭义)   性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。通俗地说,这种方法就是要在特定的运行条件下验证系统的能力状态。
  特点: 1、这种方法的主要目的是验证系统是否有系统宣称具有的能力。 2、这种方法要事先了解被测试系统经典场景,并具有确定的性能目标。 3、这种方法要求在已经确定的环境下运行。 也就是说,这种方法是对系统性能已经有了解的前提,并对需求有明确的目标,并在已经确定的环境下进行的。
  负载测试(Load Test)通过在被测系统上不断加压,直到性能指标达到极限(例如“响应时间”)超过预定指标或都某种资源已经达到饱和状态。
  特点: 1、这种性能测试方法的主要目的是找到系统处理能力的极限。 2、这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。 3、这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。 也就是说,这种方法是对一个系统持续不段的加压,看你在什么时候已经超出“我的要求”或系统崩溃。


  压力测试(强度测试)(Stress Test)压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误
  特点: 1、这种性能测试方法的主要目的是检查系统处于压力性能下时应用的表现。 2、这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。 3、这种性能测试方法一般用于测试系统的稳定性。 也就是说,这种测试是让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。
  并发测试(Concurrency Testing)并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2018-06-19  
     12
3456789
10111213141516
17181920212223
24252627282930

我的存档

数据统计

  • 访问量: 911
  • 日志数: 9
  • 建立时间: 2018-05-28
  • 更新时间: 2018-05-28

RSS订阅

Open Toolbar