机器人在测试啦!!!

383 阅读11分钟

第一章. 参与新产品如何去做测试?

  • 前一阵子,参与到一个新的产品做测试工作。
  • 记录一下进入到一个新的产品,如何开展测试工作。
  • 进入到产品后,首先是 成员的简单熟络,方便之后工作的沟通 。

1. 需求了解

1第一步就是对需求的了解并且使用产品。
2这个产品是什么
3主要功能是什么
4有什么权限
5不同权限的区别是什么
6产品的整个流程是什么
7目前已经有几个迭代
8是通过什么代码实现
9等等

2. 逐渐融入团队

一定要主动找相应的开发给自己开通应用权限,如:Git(版本管理)、eolinker(接口管理)等

通过历史文档找到:测试DB账号/生产DB可读账号并且链接。若历史无文档,需询问开发。

从以上的步骤:会比较清楚开发同学代码的提交/版本的管理/接口的信息/DB以及各表字段的设计,会对这个产品的表面了解 慢慢深入到 实现了解

也会提高开发同学对测试同学的信任度。

3. 多听、多想、多写、多记

前期参加一些需求会议的时候,建议多听多想 。听产品讲,听开发讲,在认真倾听的同时,一定要做好笔记,记录好自己的问题,不要在会议上突兀的打断/提出自己的疑问,可能你的这些疑问,需求文档上就有,所以先去需求文档、相关文档找到答案,如果没有找到答案再单独的问产品/开发。

如果在需求会议前,已经整理了一部分的问题列表,就可以在需求会议上直接问了。

4. 测试文档创建

进入团队后,一定要关注你进入的团队,测试文档结构是否已经搭建好了 ?

是测试文档结构很清晰?还是测试文档杂乱无章?或者之前无任何测试文档?

如果测试文档结构很清晰,那你可以多去看历史的测试文档内容;如果测试文档杂乱无章,可以自己简单分类创建一下;如果无测试文档,那我就建议让你自己创建一个测试文档的结构了 。

假如这次进入的团队无任何测试文档的话

可以自己先创建了一个简单的测试文档结构:

分工排期用例输出业务梳理测试总结测试流程帮助文档

并且将自己之前的一些整理分门别类的创建对应的文档,并且告诉团队成员们

这个是很重要的一部分。将自己测过的内容归纳总结。

好记性不如烂笔头。把测试过程中的一些重要内容以及细节总结输出成文档。当自己或者其他测试之后再要测这块功能的时候,有文档可寻,可以很快上手。

5. 沟通

其实这个阶段自己已经对这个产品比较熟悉了 。

然后自己要多多增进与开发与产品的沟通。

一定要发挥自己的主动性哦。这里提几个点:

  • 关注产品的需求文档是否有遗漏
  • 关注产品的原型图是否与需求一致
  • 与产品单独确认,发现需求要变更后,及时将变更后的内容告知对应的开发
  • 关注开发的排期是否会影响测试时间
  • 关注开发的提测时间
  • 关注开发设计文档
  • 与产品确认最终上线的时间
  • 关注开发不能准时提测的原因
  • 推进开发修复BUG的进度
  • 与产品沟通某些BUG是否可以推后修复
  • 等等

以上就是我进入一个新的产品,开展测试工作的过程。一句话总结:多总结多思考,不懂及时问,沟通很重要。

第二章. 开始我们的工作啦

1. 工作模块

主要负责公司的扫地机器人的 daily测试,版本测试,冒烟测试,老化测试以及 bug 回归。

daily测试指的是我们每日新发布的版本

版本专项测试指的是我们阶段性的测试(客户要使用的版本,我们提前去体验,提前去发现问题,尽快优化,随后再给客户使用)

冒烟测试指的是当天打出来的新固件版本拿到模拟客户家庭的机器人里,去体验,发现问题,去记录,当天汇总下来发到群里汇报

老化测试指的部署类对类的脚本,然后操控机器人循环做这一项任务。目的为了复现这个bug(客户家里的机器人有遇到严重的问题无法解决,或者平时工作遇到的极小的bug都可以做老化测试)

回归测试指的是修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误

2. 业务模块

周一会做汇报,上周工作的进度,这周工作如何开展呢(每个人都要去做汇报)

然后分为几个方向:嵌入式,应用,APP(关注内容以下)

灯光,语音,多语言,WiFi,重置(刷机),电池,UI页面,上下水设备

循环洗拖布,循环扫地,越障,制造故障,沿边扫拖地,弓形扫拖地,地毯清洁,边刷转速,临时添加障碍物(机器人在工作中临时添加障碍物看一下是否会迅速减速,未减速的话就是有问题)

3. 责任描述

  1. 负责公司扫地机器人、竞品机器人及 APP 等测试工作;

  2. 负责机器人相关软件测试及其流程建设、包括测试技术规划、测试能力规划、发布流程管理遵守等;

  3. 根据产品硬件与结构设计方案进行编写测试用例,制定测试方法和测试计划;

  4. 执行相关测试用例,负责整机功能测试,环境测试,性能测试进行硬件端的基本功能测试;

  5. 在测试过程中,将发现的 bug 提交到jira上并跟踪bug 的处理并进行回归测试;

  6. 协助研发人员复现测试问题、并配合解决问题、从专业角度提供有效解决方案;

  7. 根据软件产品&设计需求制定测试计划,进行测试数据和测试用例输出;

  8. 在测试各个环节过程中进行及时更新数据与 DQE 及其它部门同事沟通,对测试结果进行总结与统计分析,对测试进行跟踪,并提出反馈意见;

  9. 根据测试需求的搭建测试环境,执行测试并输出测试报告以及测试总结。

4. 树莓派

关于树莓派,想必从事嵌入式开发的开发者都有听过,树莓派原名为Raspberry Pi,也就是它的英文读法,树莓派诞生于英国,由“Raspberry Pi 基金会”这个慈善组织注册开发。埃•厄普顿就是该项目的头目。在2012年的3月,英国剑桥大学埃本•阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名”树莓派”!

树莓派作为一个轻便迷你的小终端很受大众的喜爱!!!

image.png

5. 刷机流程

  1. 第一步:查看一下我们机器人的近期的log是否上传到后台,或者对应研发是否确认已知bug
  2. 第二步:到达公司的新版本页面,下载我们所需要的新的版本(分为俩种部署版本以下)
  • 其一:手刷,先将我们机器人原先有的基本操作pull出来,我们开始使用某工具部署新版本,成功之后,我们再将原有的基本操作push进去。然后我们再启动验证一下是否刷机成功。
  • 其二:版本推送升级,先要确定我们场地WiFi是否良好,否则会影响升级。首先进入公司的新版本页面,找到版本链接复制到另一个推版本文件的网站里,然后独自创建一个文件夹(输入ID),再把对应的机器人ID号拉进推版本文件的网站。等待几分钟后,我们可点击APP升级版本(需要10分钟即可)
  1. 硬件准备
    树莓派采用 Raspberry Pi 3 Model B image.png

第三章. 机器人的工作执行命令

1. 驱动烘干模式的方式

adb connect 172.20.10.14
adb shell
source /opt/ros/kinetic/setup.sh
rosservice call /application/service/req_wash_and_dry_mop

2. 查看边刷上地毯时保持26的转速(左右转速)

adb connect 172.20.10.14
adb shell
source /opt/ros/kinetic/setup.sh
rostopic list
rostopic echo /planning/clean_module_ctrl_info

3. 洗拖布

adb connect 172.20.10.14
adb shell
source /opt/ros/kinetic/setup.sh
rosservice list
rosservice call /application/service/req_wash_and_dry_mop

4. 洗拖布,看脏污值

cd /userdata/logs/perception/
tail -f *logging | grep MopC1
定时间工作检查机器的反应
adb connect 172.20.10.14
adb shell
启动topic程序
source /opt/ros/kinetic/setup.sh
date -s 2022-6-10

5. 查一下机器人实时电量

tail -f /userdata/logs/power_health/logging |grep Soc查看日志tail -f /userdata/logs/power_health/.logging

6. 机器人上面deviceID

cat /robotdata/static/robot_info/robot_device_info.ini

7. 启动进程

rosservice call +进程名

8. 查看自检参数topic

rostopic echo /perception/sensor——state

9. 查看机器人rosservice list进程

rosservice listsr

10. 杀一下连接设备 adb disconnect 172.20.10.14‘

adb kill-server

adb kill-start

查看连接设备 adb devices

重启机器人,执行指令检查固件是否下载完成:1.adb shell 2.tail -f /userdata/logs/upgrader/*logging;

手动拉log cd userdata/uploading/log

adb pull /userdata/uploading/log/dd42a60ff3e74287a528606998027321_v01.00.00.235_log_2022_08_24_17_40_38_6080.tar.gz

11. 部署脚本,启动脚本

adb shell "mkdir /oem/DISK/bin/pita/remote_control/"

adb shell "touch /oem/DISK/bin/pita/remote_control/robot_server.py"



source /opt/ros/kinetic/setup.sh

python /userdata/test_monitor.py &

adb shell

source /opt/ros/kinetic/setup.sh

python /userdata/test_aging_random_clean.py &

12. 查看低功耗

cat /oem/DISK/bin/pita/power_health/conf/power_health

13. 修改低功耗

vim /oem/DISK/bin/pita/power_health/conf/power_health

14. 修改电池温度

adb connect 192.168.43.57
adb shell
source /opt/ros/kinetic/setup.sh
echo 450>/sys/class/power_supply/fuel_gauge/temp
cat /sys/class/power_supply/charger/uevent

15. 从机器人里下拉日志

adb connect 192.168.43.57
adb shell
mkdir 0803(目录名称)
adb pull /userdata/logs/mapping/202208031715.0.logging \202283(提前先去机器人里找到对应的userdata目录里的信息,保存到对应的目录)

16. 日志上传【前提条件】

  • 基站可正常连接WIFI(可连接外网)
  • 基站和机器人通过蓝牙配对成功
  • APP和机器人连接成功

17. 【操作步骤】

1.adb shell进入机器人

2.编辑/robotdata/static/robot_info/robot_device_info.ini,填入device_id与product_id (为避免重复使用,可以找附件中的人员申请使用)

3.编辑/robotdata/static/robot_info/private_key.pem,填入唯一的private_key

4.编辑/robotdata/static/robot_info/pub_key.pem,填入唯一的公钥

5.编辑激活码 /robotdata/static/robot_info/activate_code.ini(默认为7479)

6.重启机器人

18. 查看升级进度

tail -f /userdata/logs/upgrader/*logging

19. 查看包下载进度

tail -f /userdata/logs/upgrader/*logging |grep %

20. coredump发生时机器人行为

adb connect 192.168.31.11

adb shell

ps -w | grep 输入节点

节点(power_health,control,hal,map_server,mapping,application,situation_awareness)

kill -9 2980输入ip执行杀掉进程(较长的那个)有现象就描述,无现象就是正常。

cd userdata/

tail -f ./logs/power_health/*logging

adb shell

ls

cd userdata/logs/power_health/

ls

exit

adb pull /userdata/logs/logs/power_health/202207150954.0.logging ./

adb shell

21. 查看当日的日志 cd logs/power_health/

vi /oem/DISK/bin/pita/power_health/conf/power_health_

/userdata/test_log# cat departure.log

22. 查不到日志就在后台导出日志需要在基站插上U盘

拉取文件要在机器人外面拉取

adb push install.sh /userdata adb pull userdata/wash_mop.log \0718

16:56开始洗拖布,每次执行完一定要重启

23. 洗拖布用这个circulate_wash_mop_0711 install.sh 进入这个脚本目录里面操作./install.sh

24. 充电时长用 get_battery_data.sh

出入基站 circulate_departure instll.sh 进入这个脚本目录里面操作./install.sh

ps -w | grep python

kill -9 2980输入ip执行杀掉进程

25. 跑脚本时候进入机器人里面输入这俩

vi /oem/DISK/bin/pita/power_health/conf/power_health_

mkdir /oem/DISK/bin/pita/remote_control/

touch /oem/DISK/bin/pita/remote_control/robot_server.py

26. 查看log

先进入testcn-open.narwaltech.com/developer/#…找到对应的时间点,然后tinyplayer /userdata/usr/data/voice/voice54.mp3

播放声音文件(voice)只要播放出昨天的现象就可以