OMOOC.py week9 QA
- 群口: 大妈+四组大腿
- 书记: 三组大腿(少 X-files)
- 录音:
记要
~ 提高测试反馈循环
回顾上周:
邮件列表沉默,QA作业没有完成 演示效果的反省没有看到 微信渠道的演示有综合的方式,希望大家能改善
加速编程运行检验的反馈过程
- 上周讲怎么样快速建立MVP,建立本地MVP环境
- 本地环境最重要的是测试,围绕核心功能,怎么样定义核心功能是可用的
- 不仅用代码来构建运行,还要用另外一套代码来保证写出来的功能可用
- 这套检验的代码,是为了加速编程,运行,检验过程
- 运行通常无问题, 但测试通常会极大影响开发效率
- 如何定义功能可用?
- 如何用代码表述功能可用?
- 如何测试? 为何要有一套测试代码?
- 加速反馈循环: 编程-运行-反馈
- 标准测试代码何处寻
- (iDoulist function 0/1 测试文档)~ 我们的尝试 ----标准 i/o 测试集
- 进行系统测试是有帮助的 已有相关测试工具, 如果反馈时间长应考虑使用
反馈循环:
~ 从修改代码到确认正确与否的时间越短越好.
- 反馈超过一分钟就有问题了!
- 微信平台的一个实例
- 微信平台是个相对好的项目交互选择: 公众号交互模式用户已足够熟悉, 无需对用户进行教育
为了对用户友好, 需要接受模糊输入
- 但是: 接受模糊输入意味着输入可能性从 1 到 n. 如何测试大量可能的模糊输入?
- 大量测试延长了反馈循环的时间, 使同样时间能进行的测试数量大大减少
- 如果5分钟进行一次循环, 2小时最多只能改24次
- 如果测试只需要5秒, 反馈速度就大大加强了
- 如何加快测试?
- 把 用户输入-微信-后台-微信-用户输出 的循环改为本地直接模拟用户操作访问后台, 并读取后台输出, 即 本地输入-后台-本地输出
- 原理上, 也许我们可以考虑把测试过程通过 input-process-output 在时空分开, 从而减少测试循环的组成部分
- 如测试处理模块时, 用标准输入文件测试即可. 而测试输出时, 完全可以从process后的几个实例开始, 而不是从输入开始测试 ---- 标准 i/o 测试集在每个操作之后的状态作为正对照(positive control)
- 公众号是非常标准的RESTFUL体系,实际上只有POST关系
- 提交过来的xml实际上包含了用户的标准信息,然后我们的后台反应
- 对这种情况该如何测试?
- 本地模拟SAE环境
- 写一个命令行的工具脚本,模拟微信向微信后台发消息
- 每次的测试循环控制在几秒内完成
RESTful
拾遗: 微信公众号是典型的 RESTful 架构
- HTTP协议应该这么用,而不是像FastCGI那么用
- HTTP的信息交互方式有
- (1) GET
- (2) POST
- (3) PUT
- (4) DELETE
- (5) HEAD
- (6) OPTIONS
- (7) TRACE
- (8)CONNECT
- 当初设计不同的协议头,分适合互联网的使用
-
补充一个文档介绍:"我所理解的RESTful Web API"
-
URI
- 标示,而不仅是链接
- 对资源该以什么方式操作
- GET一定要用幂等的方法,(GET方式被误用成甚至可被删除)
- 命令行
- 命令行是自然的抉择
- window下没有好的调试界面. 商业策略吧. linux和mac,命令终端是非常自在的渠道 bash,zsh,都有很方便的支持,随时调出上次运行的命令. 反馈上百次模拟
- window是对shell拙劣的模拟,少了对行的处理
- 换成了powershell,但与命令行有本质的不同
- window下,大妈putty连到linux上shell
演示反省
- Niubility演示总结
- 问题记录
- 大牛列表选择大牛,这个还未实现
- 关键词查询:模糊的对,不靠谱
- 用户提示:应该有,大牛,dn,兼容的命令组
- 使用兼容微信的环境
- 总结
- 之前为了赶功能,没有做交互优化,完善微信操作的优化
- 安排好时间,做H5展示大牛的页面
- 缩短测试的反馈时间. 命令行脚本执行测试
- 尝试用语音识别接口处理语音消息
- 问题记录
- Bookgiver
- 当前进展
- 使用 SAE 平台 和 本地测试环境
- 开启 微信开发模式
- curl + tmux 进行调试
- 在公众号发消息hi回复欢迎!
- 本周演示存在的问题:
- 测试过程过于复杂
- 改进策略
- 自动化测试,加快运行到演练的过程
- 继续学习大妈的 "42分钟乱入 wechat 手册!-)"教程
- 使用 KVDB 完成简单的功能
- taker 提交借书请求
- giver 发送消息a,查看所有请求,并根据自身意愿联系 taker
- 做出项目的流程图
- 教程:
- 需要增补的地方比较多,因为基本上还没有开始写. . .
- 初期搭建比较困难,主要精力放在了那边,没有顾及上教程
- 这周开始写的话,会先从这周解决的问题开始入手,比如自动化测试,具体会和队友在操作中确定
- gitbook链接 规划教程目录:
- 平台和工具的选择
- 微信与SAE对接
- tmux+curl+本地调测
- 公众号自动应答
- 本地环境测试命令自动编辑&执行
- 当前进展
Author: /mail / gittip / github