AIApe问答机器人Beta阶段测试报告
压力测试
对各常用接口进行压力测试。
接口 | 请求量 | 并发用户数 | 平均完成时间/s | 请求成功率 |
---|---|---|---|---|
登录 | 500 | 50 | 0.3519 | 100% |
聊天 | 500 | 50 | 1.0641 | 100% |
搜索问题 | 500 | 50 | 1.3601 | 100% |
代码分析 | 500 | 50 | 0.4058 | 100% |
最新问题 | 500 | 50 | 0.6752 | 100% |
热门问题 | 500 | 50 | 0.8687 | 100% |
提问 | 500 | 50 | 0.3825 | 100% |
回答问题 | 500 | 50 | 0.4804 | 100% |
修改问题 | 500 | 50 | 0.3787 | 100% |
由于搜索问题和聊天两个功能都需要将文本输入模型,从模型得到结果,所以服务器相应的时间较慢。
场景测试
要说明的是,在实际的测试中,团队尽可能的模拟了各种情景,由于篇幅原因,这里只举了两个比较典型的案例。
典型用户(截取自AIApe问答机器人功能规格说明书)
名字 | 小轩 |
---|---|
用户身份 | 某校计算机学院学生,进阶用户 |
年龄 | 21岁 |
典型场景 | 小轩能解决绝大多数简单的编程问题,但是在配置环境和一些复杂的编程场景下,它需要借助网络上的资料来解决问题。(复杂编程环境包括完成复杂工程项目,构建神经网络等) |
主要使用环境 | 教室,宿舍,图书馆,实验室。 |
生活工作情况 | 为了完成各种大作业和DDL而经常晚睡早起。Debug和在网上学习相关概念和知识是他的常态。 |
相关知识能力 | 具备较熟练的编程技能和相应计算机领域的知识。 |
用户的动机 | 小轩能解决绝大多数简单的编程问题,但是在配置环境和一些复杂的编程场景下,他需要借助网络上的资料来解决问题。 |
用户的偏好 | 希望搜索到的问题与自己的问题相符,回答能够专业并且详细。 |
名字 | 老邓 |
---|---|
用户身份 | 某校计算机学院学生,公认大佬,神 |
年龄 | 21岁 |
典型场景 | 大佬喜欢编程,对知识掌握深刻。他频繁地穿梭于Stack Overflow、知乎这类问答网站社区中,并且热衷于将自己的知识分享给他人! |
主要使用环境 | 教室,宿舍,图书馆,实验室。 |
生活工作情况 | 大佬的生活很充实,除了每天超份额完成作业之外,还会和周围的同学分享自己的经历和知识。他经常因为实验室的项目或助教工作忙到很晚。 |
相关知识能力 | 拥有较强的编程能力,深入理解计算机知识并且知道怎样快速搜索问题,简洁明了地回答问题。 |
用户的动机 | 回答问题会有一定的回报;回答别人的问题可以帮助自己加深对于知识的理解。 |
用户的偏好 | 大佬喜欢在摸鱼或者休息的时候逛一逛网站,顺便寻找一些自己想要回答的问题。 |
场景1
小轩想要问一下C语言IDE:VS Code的安装方法。
- 小轩打开了网站,在右侧注册了账号,并登录。
- 小轩直接向机器人提问,VS Code的安装方法。
- 正如他意,机器人提供了VS Code的安装指导链接
- 小轩进入链接后,根据回答完成了相关的安装
- 小轩对这个详细的回答很满意,并为它点了赞
场景2
老邓很喜欢为同学们解答问题,于是他打开了网站:
- 注册登录之后,他发现了非常多别人解答过的问题
- 点开一个问题后,他发现别人的回答并不理想
- 他开始编辑自己的回答,并且将其发表
- 后来,老邓发现自己的回答有误,他去到了个人中心,删除了原来的回答
后端单元测试
单元测试结果(来自于CI/CD)
2021-06-16 13:34:58: [INF] line-coverage: 50.27 % (4036/8028)
2021-06-16 13:34:58: [INF] branch-coverage: 44.02 % (634/1440)
单元测试主要很多地方需要依赖外部的进程,比如静态分析依赖astyle、cppcheck,整个机器人都依赖于NLP的微服务,还有一些别的地方也依赖与NLP的微服务,没法测。同时还有很多地方是配置性质的,也不好测。所以后端尽力将单元测试覆盖率提高到了50%.
前端交互、测试issue记录
lhx同学在进行场景测试时,总结了Bugs和一些交互修改意见,汇总到了前端交互细节汇总。
后端bug记录
负责后端的dxy和lmx同学将发现的Bug进行了适当的记录和汇总:AiApe问答机器人项目后端Bug汇总
测试矩阵
正常表示功能可以正常实现,加载较慢表示加载时间超过5s。
设备或环境: 浏览器类型 | 进入网站 | 注册 | 登录 | 回答问题 | 提问/修改回答 | 删除问题 | 机器人交互 | 代码发分析 |
---|---|---|---|---|---|---|---|---|
Windows10: Chrome | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Windows10: IE | 失败 | 失败 | 失败 | 失败 | 失败 | 失败 | 失败 | 正常 |
Windows10: Edge | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
iPhone8 plus: Quark | 加载较慢 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
iPhone8 plus: Safari | 正常 | 正常 | 正常 | 体验不佳 | 体验不佳 | 正常 | 正常 | 体验不佳 |
iPad pro 2020 Safari | 正常 | 正常 | 正常 | 体验不佳 | 体验不佳 | 正常 | 正常 | 体验不佳 |
Huawei P20 Via浏览器 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Huawei P20 华为浏览器 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
iPad air 4 Safari | 正常 | 正常 | 正常 | 体验不佳 | 体验不佳 | 正常 | 正常 | 体验不佳 |
iPad air 4 Chrome | 加载较慢 | 正常 | 正常 | 体验不佳 | 体验不佳 | 正常 | 正常 | 体验不佳 |
iPad air 4 Quark | 加载较慢 | 正常 | 正常 | 体验不佳 | 体验不佳 | 正常 | 正常 | 体验不佳 |
iPad移动端适配整体体验不佳,当横屏使用时,出现多处按钮被覆盖无法点击的情况。
出口条件
- 通过所有场景测试
- 通过较为小规模的压力测试
- 在各主流平台上运行流畅
- PC端浏览器用户体验尚可