v1.0 2017.06.20 三笑奈何 初稿
v1.1 2017.06.27 三笑奈何 修改
一、工具开发背景
在日常测试中,我们经常需要用到monkey测试,隔几个小版本就需要进行一轮monkey测试,monkey测试可以是单个APK的测试,也可以是全测试。
每一次测试完成后,经常需要几个小时去整理报告,作者认为,这种类型的重复性工作,一定程度浪费了人力物力,自认为是讨厌重复性的工作的人,这种类型的重复性工作,可以交给程序自动完成,用于解放人力。一个不会偷懒的测试,不是好测试,于是就想到了这个报告整理工具。
二、基本功能概况
以下功能为基本构想,在工具开发过程中,会根据需求进行修改
1、输入log文本,自动生成报告文本
2、自动判断monkey是否正常跑完全程
3、自动计算monkey跑测时长
4、自动整理CRASH、ANR、exception这三类问题内容,并统计其个数(主要功能)
三、基本功能需求分解
1、自动检测本目录下文件,输入文件为Stability_base_err.txt、Stability_base.txt
2、判断Stability_base_err.txt文件中是否有monkey test complete字样,用以判断是否跑完monkey全程
3、输入Stability_base_err.txt文件,查找CRASH关键字(匹配大小写)、查找ANR关键字(匹配大小写)、查找exception关键字(不匹配大小写)
4、对查找的结果进行替换、删除重复项等筛选操作
5、计算monkey时长(2017.06.27完善)
四、重要功能具体实现步骤
需求分解的第4点,主要借鉴Notepad++和Excel处理文本查找、替换、删除重复项等功能,来分解需求,以下为具体步骤实现,以下“ * ”符号代表全部的意思(如java.lang.RuntimeException:*代表java.lang.RuntimeException:abc,则*=abc)
将Stability_base_err.txt文本的输入内容,以“//”符号为标记,排列为一行
CRASH
1、将3中的CRASH查找结果写入到新生成的文件CRASH.txt
a.替换" // "为空
b.替换" (pid.*)"为空
c.全选删除重复项,只保留相同项中的第一项
ANR
1、将3中的ANR查找结果写入到新生成的文件ANR.txt
a.替换" // "为空
b.替换“ (*)”为空
c.全选删除重复项,只保留相同项中的第一项
exception
1、将3中的exception查找结果写入到新生成的文件exception.txt
a.替换" // "为空
b.全选删除重复项,只保留相同项中的第一项
c.替换" java.lang.RuntimeException:* ",保留java.lang.RuntimeException
d.全选删除重复项,只保留相同项中的第一项
e.替换Short Msg:为空
f.替换Long Msg:为空
g.替换Caused by:为空
h.替换:*为空
i.全选删除重复项,只保留相同项中的第一项
本工具开发未真正遵循软件工程开发过程,仅仅是用于测试,提高团队测试效率,要求的是快速开发,可能写得不大好,有好提议欢迎留言。
PS:工具开发进度需要视手上项目情况松紧程度而定,尽量争取早日完成