这里我来介绍司机端的用例测试。
(一)注册
司机端登录跟乘客端登录一致,都是微信授权登录,司机第一次登录需要初始化司机设置消息、司机账户信息等。
与乘客端不一样的是司机认证注册需要上传身份证正反面照片,驾驶证正面照片,手持身份证照片,司机端调用了腾讯云服务的oss存储,证件识别,人脸识别等产品。
注册测试需要注意的是司机上传身份证正反面照片,驾驶证正面照片,手持身份证照片是否成功上传,是否会回显。逆向用例包括,腾讯云相关产品服务的额度是否足够,是否开通。
其他的就是司机完善个人认证信息的用例,例如司机手机号的注册,紧急联系人的手机号注册
(二)登录
司机登录与乘客端类似,都是获取opneid进行微信登录,但是司机每天开始服务前需要进行人脸验证,确保司机是同一个人。
人脸验证需要使用腾讯云服务的人脸识别产品,这里的逆向用例不只是微信登录是否成功,还有司机人脸模型是否上传成功,腾讯云人脸识别额度是否足够。
这里使用minium对基本的登陆操作进行测试
import minium
import time
class DriverTest(minium.MiniTest):
def test_01_login(self):
url = '/pages/userCenter/userCenter'
self.app.relaunch(url)
time.sleep(1)
el1 = self.page.get_element('/html/body/wx-tm-app/wx-view/wx-loading-button/wx-tm-button/wx-button', max_timeout=5)
el1.click()
el2 = self.page.get_element('/html/body/wx-tm-app/wx-view/wx-view[2]/wx-loading-button/wx-tm-button/wx-button',
max_timeout=5)
el2.click()
time.sleep(2)
(三)开始服务
在司机登陆成功且进行人脸验证后,就可以开始接单。开始接单后,乘客端发出呼叫代驾的请求后,司机端会接收请求,进行抢单操作。
这里的测试点在于司机开始接单后是否能收到乘客发出的订单请求,以及在收到乘客请求后司机不进行抢单操作订单是否会消失。
UI显示四秒后,若无操作订单会消失,这是由于代码设置中设置redis存储的刷新时间为4s。
(四)录入车辆信息
在司机接单后,会被要求上传乘客的车辆信息,包括车的前后照片,车牌号信息。
测试步骤是:1. 点击录入车辆信息按钮 2. 点击车前照,车后照上传链接 3. 上传车前照,车后照 4. 输入车牌号信息 5. 点击提交表单
预期结果:提示上传成功并跳转到开始服务页面
逆向用例包括照片是否上传,照片所占空间大小是否过大,网络波动。
这里使用minio对上传的照片进行管理。
(五)订单结算
通过之前乘客端调用的腾讯地图服务接口,再加上自己设计的计费规则,就可以计算出所需的金额。
测试步骤:1.到达乘客目的地
2. 点击结束服务按钮
3. 输入额外费用
4.点击确认按钮
5.点击推送账单按钮
预期结果:推送账单成功
逆向用例包括:未到达规定的下车距离(2km),网络问题等等。
在计费规则中我们规定了每公里的收费标准,路上的额外收费,以及与平台进行分成的比例。
以上就是司机端的核心业务的测试用例分析,具体请看上方xmind图。