对低效率测试方式的一些疑问

2019-01-26 13:11:09 +08:00
 wephone

最近一直开发类似积分体系,用户等级任务体系这样的东西。 到了测试的时候,就会经常遇到例如下面的情况:

  1. 测试人员想使用积分抵扣,但这个测试账号没有达到领取积分的标准(或者领积分步骤麻烦),于是测试人员就粗暴得去数据库,缓存上手动加积分然后进行测试。(感觉这样不经过正常业务流程的直接加数据,有时候会导致一些关联数据的混乱,出现测试环境有很多脏数据对应不上的情况)

  2. 测试人员想测试高等级会员的特权等等时,由于等级较高,业务复杂难以短时间内达到(例如网易云的升级需要听几百首歌),为了不让他们直接操作导致脏数据问题(当然也是因为有些测试并不会操作数据库和缓存),于是开发人员加多个测试环境的特殊接口,浏览器一访问就加 n 分,直到让他加到那个高等级为止。 我也觉得这样不太好,造成了很多侵入的无用代码,但我不知道怎么做才更好。

  3. 客户端在进行调试时,由于客户端程序的 bug 导致的一些问题,需要重头来过,导致客户端调 bug 时屡次让后端给他清数据 /缓存重来一遍。 严重影响后端开发的工作。

想和大家讨论下,这类积分会员体系等,测试需要很大依赖后端数据的业务,真正规范和高效率的测试方式和流程应该是怎样的?

PS:测试手点的,只会一点点技术或者完全不会

2378 次点击
所在节点    程序员
13 条回复
lihongjie0209
2019-01-26 13:17:04 +08:00
你们系统没有后台管理吗, 哪怕没有测试, 你们运营也需要这些功能吧
luozic
2019-01-26 13:17:47 +08:00
开发小工具插件 基于 jmeter,直接整数据库模拟都是法子。
wephone
2019-01-26 13:24:12 +08:00
@lihongjie0209 有后台管理,但要测的是用户端的,但用户体系升级业务复杂,测试也需要依赖后端数据
wephone
2019-01-26 13:37:00 +08:00
@luozic 感觉还是得有自动化测试的人员好点,不然模拟数据库这些,把后端的开发时间都占了一堆。
iyaozhen
2019-01-26 13:49:18 +08:00
大概看了下你可能需要一个能构造各个等级的方法。
这个就直接开个后门接口呗,传入参数直接设置等级,调用的底层方法都是原来的代码结构,不侵入原来的。
或者测试“慢慢”构造(比如听歌可以并发的去请求,也不会很慢)几个特定等级的账号就用哪几个测。
最后一个应该是不合理的,客户端不管啥折腾都不应该出现要请数据库的情况。还有一个开发环境要和测试环境隔离,这样也不会相互掣肘。

实际情况还得具体分析,其实开发的系统可测性也是比较重要
chinvo
2019-01-26 13:51:59 +08:00
单元测试做 mock
chinvo
2019-01-26 13:52:54 +08:00
系统测试做测试环境,从生产环境脱敏数据拉过来用
whileFalse
2019-01-26 14:05:36 +08:00
在管理后台价格功能很难吗
wephone
2019-01-26 14:32:32 +08:00
@iyaozhen 是啊 可测性 感觉您的意思应该是做多一套独立的测试系统,让这套系统去完成需要的数据构造
wephone
2019-01-26 14:34:27 +08:00
@whileFalse 这个不是加个功能吧,就算后台搞出来那批数据,测试还是得从头升级过一遍才对,而且这个线上环境不需要
wephone
2019-01-26 14:37:57 +08:00
@chinvo 感觉对于手点的测试 还是得后端再完成业务的基础上去做多一些 mock 操作的代码了
chatfeed
2019-01-26 16:18:57 +08:00
具体到这问题,程序设计上应该可以把积分这个规则做成可配置
akira
2019-01-26 19:03:47 +08:00
提供个调整设置用户积分 等级的地方呀,这样的功能运营的时候也是需要用到的啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/530818

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX