如此Tricky的测试场景,你应该怎么办?

什么是Tricky的测试场景?

Tricky的测试场景

测试场景

Scenario testing is a software testing activity that uses scenarios: hypothetical stories to help the tester work through a complex problem or test system. The ideal scenario test is a credible, complex, compelling or motivating story the outcome of which is easy to evaluate.

Tricky的测试场景

作为一名专业或非专业的IT研发人员,你一定遇到过几个步骤:

  • �发现BUG
  • 重现BUG中:方法A、方法B、方法C....方法N
  • 没有重现BUG,先提交到缺陷管理工具
  • 过了N久之后
  • 回归BUG时,这里怎么有一个BUG,重现不了,算了先关了吧,等后面出现再重新开启

一个BUG就这样被关闭了,他可能还隐藏在系统中的某个位置,等待机会爆发

隐藏在深处的一个不定时炸弹

为什么会这样

  • 重现步骤太复杂
  • 重现前提要求很多
  • 经常的真相在这里:没有Get到真正的重现步骤

举几个栗子

客户投诉

测试验证码,收到客户投诉

  • Scenario
  • 作为普通用户,在用户注册时,可通过获取短信码使用手机号进行注册
  • 功能
  • 用户注册时,需要测试手机号码与获取的短信码是否能正常收到且匹配。
  • 短信验证码由本项目生成,但由第三方来发送
  • 验证码发送是由第三方提供的,无法完全Mock
  • 数据库中会记录收到的短信验证码.
  • 测试策略
  • 测试验证码能否匹配时,用了自己的手机号码来测试.
  • 后面再测试是否匹配时,发现没有手机号码可用,就 随机 输入了手机号码进行测试,通过查询数据库来获取验证码
  • Tricky
  • 如上进行了一阵子测试,由于是国内某银行项目,后面就收到了客户投诉: 客户没有进行任何的操作,便收到了短信验证码
  • 分析
  • 是否每次测试时,都需要通过第三方来发送短信验证码.
  • 仅Mock第三方收到请求,不需要每次都真实的发送短信功能
  • TIPS
  • 测试中,一定要确保 普通用户 不会收到短信验证码
显示真的不一样

同样返回内容,在不同的浏览器中显示不同

  • Scenario
  • 作为普通用户,在浏览页面时,可查看到Title显示的内容
  • 功能
  • 需要从第三方系统中获取指定的内容,返回给浏览器,并显示到Title
  • 测试策略
  • 为确保兼容性,使用不同的浏览器进行查看
  • 涉及浏览器: Chrome,FireFox,IE
  • Tricky
  • 仅Chrome查看正常显示,FireFox/IE查看均会显示 部分 乱码
  • 分析
  • 返回的内容中有 Unicode 值为15的内容,这个返回值引起的显示乱码
  • TIPS
  • 在对第三方集成时,一定要先针对所有输入/输出内容均进行字符集处理.确保所用的字符集均一致

同样的样式,在同一类浏览器中显示不同

  • Scenario
  • 作为普通用户,在浏览页面时,可查看到正确的页面显示与布局
  • 功能
  • 在页面布局测试时,需要查看页面的显示与布局的正确性
  • 测试策略
  • 使用浏览器查看页面的显示与布局
  • Tricky
  • 在测试电脑中,发现页面的布局中的样式有问题(按钮被换行)
  • 在DEV的电脑中完全是好的(使用的同一发布版本进行测试)
  • 分析
  • 浏览器的版本是完全一致
  • 浏览器的 缩放比例 不同,测试电脑的页面被设置为 缩放90%
  • TIPS
  • 在测试页面的显示和样式时,一定要确保页面 浏览器版本、页面缩放 完全一致
时间都去哪了?

PaaS平台部署后,时间出现偏差

  • Scenario
  • 作为普通用户,在注册新用户时,需要使用获取的验证码在5分钟内进行验证,否则验证码失效
  • 功能
  • 页面前端点击 获取验证码 后,需要在生成验证码5分钟内,进行注册
  • 生成的验证码会存储在 数据库
  • 生成验证码是由程序代码生成,有效期的验证是由生成验证码时生成的Createtime当前时间比较
  • 测试策略
  • 在点击 获取验证码 后,从数据库中查询生成的 验证码
  • 通过查询的验证码,进行用户注册
  • Tricky
  • 在点击 获取验证码 后,直接去数据库中查询验证码
  • 使用查询获取的验证码,在进行用户注册时,提示验证码已过期(查询与注册的时间操作差,绝对在5分钟内)
  • 分析
  • 此功能在非PaaS平台时完全正常的
  • 部署到Paas平台后,在PaaS平台时,程序代码是部署到一台机器、数据库部署在另外一台机器
  • 验证码的生成时间是由数据库脚本生成,获取的数据库的当前插入时间
  • 验证码有效期验证时,当前时间为从程序代码部署的机器获取当前系统时间
  • 两台部署机器时区设置不一致(程序代码:Asia/Shanghai,数据库:Etc/Zulu),两个时区相差8小时
  • TIPS
  • 部署环境时,一定要先确保时间的设置是否会对功能有影响
  • 涉及到时间处理时,一定确保使用的是统一的参考时间
Mock不可靠

Mock的模块在集成后,Mock相关的功能出错

  • Scenario
  • 作为普通用户,在查看个人账户时,可查看到账户余额
  • 功能
  • 普通用户在查看个人账户时,需要通过系统去查询第三方系统数据
  • 在开发环境中第三方系统无法直接连接进行调试开发,因此提前做了Mock进行开发
  • 测试策略
  • 测试时,正常使用个人账户查询结果
  • Tricky
  • 在到ST测试环境时,无法正常查询账户余额。数据解析报错
  • 分析
  • 使用Mock返回的数据时,在ST环境可正常查询
  • 但使用第三方真实返回的数据查询时,在ST便会报错
  • 真实数据进行分析,发现数据结构已与之前Mock的不同
  • TIPS
  • 针对Mock系统,一定要有对应的测试,确保接口的正确性及数据正确性
  • 针对需要Mock的功能,一定要定期与集成方沟通,确保开发功能、接口变同的同步
环境真的不一样

特定文件内容无法上传到生产环境,其它环境均正常

  • Scenario
  • 作为注册用户,在个人信息中,可上传文档
  • 功能
  • 注册用户,可使用上传文档功能,上传个人文档
  • 针对上传的文件内容及类型均无限制(由于系统是特定人群使用,所以对文件类型均没有限制),文件大小此处不考虑
  • 测试策略
  • 针对上传文件类型进行测试:txt/exe/pdf/doc等
  • Tricky
  • 上传txt/html时,若文件以<开头时,上传功能在其它环境均可正常使用,但在生产环境则上传会失败
  • 分析
  • 生产环配制有网关,会对文件内容进行过滤
  • 若文件html/js/txt文件中以<开头时,则会被判断为注入文件
  • TIPS
  • 作为测试人员,也要对安全测试常出现的问题进行考虑

以上的Scenario只是实际工作中的部分场景,仅用来�抛出问题

如何定位Tricky的定位操作

定位Tricky场景
  • 数据源
    数据源是要定位问题的根源,确保数据源完全正确性,才能保证后续流程。如:数据格式、编码格式、字段完整性、字段次序等。
  • 出口数据
    出口数据数据源类似,数据源为被分析软件的数据入口。相对于被分析软件本身,出口数据是需要展示给用户所需要的数据。出口数据是经被分析软件加工过的,只有被正确的加工,才能正确的展示给用户。
  • 环境
    软件运行的环境包括:软件环境、硬件环境。软件环境包括:操作系统类型、操作系统版本、浏览器、容器、环境的部署架构等,硬件环境包括:网络环境、网速、硬件设备等。
  • 日志
    日志的分析,需要从模块日志、系统日志及网络请求日志来进行。模块日志为出现问题的模块所生成的相关日志,系统日志主要为整个系统运行时生成的日志,网络请求日志主要涉及与网关相关的日志范围。建议排查次序:模块日志>关联模块日志>系统日志>网络请求日志
  • 请求分析
    针对请求的内容进行分析,HTTP请求的各种方面均需要考虑。建议排查次序:请求地址>请求数据>请求编码方式,其它的方面也有可能引起Tricky的问题,但主要集中在这几个方面

参考资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容