gamma测试报告

news/2024/11/26 8:55:45/

Gamma阶段测试报告

测试计划及结果

我们针对测试做了比较多的改进。

测试代码分为针对纯java部分的单元测试和需要android运行环境的自动化仪器化测试

单元测试

这一部分基本继承Beta阶段的框架,使用junit框架,达到了80%以上的覆盖率。

1632375-20190617191820944-1615016811.png

自动化测试

除了beta阶段的单元测试以外,我们新增了自动化测试。

使用google官方提供的espresso框架进行模拟点击,输入,监听等事件。

另外兼容性测试中也有一部分的自动化测试,是利用monkey脚本测试应用在随机场景下的反应。

场景测试

为了保证我们应用的实用性,我们模拟了室外的场景测试。具体手段是在寝室里利用电脑产生的噪声伪装干扰,模拟室外的噪声,然后测试常用命令的输入准确性。

不同类别的背景噪声下识别率差别较大,没有形成有效数据。但是可以基本得出结论50分贝的背景噪声基本没有影响,60分贝会对识别率造成巨大波动,70分贝以上几乎无法有效识别。所以建议使用时背景噪声控制在50分贝一下。

兼容性测试

我们使用了腾讯的wetest平台进行了多种机型的兼容性测试。

测试结果如下:

1632375-20190613012942481-1571731119.png

我们在所有的50种机型的随机测试中一共出现了两个问题

安装失败

1632375-20190613012956525-1856708732.png

可以发现出现问题的机型全部是低于安卓5的古老版本,这一点在我们的预料之中,我们的发布说明中有指明应用主要适配安卓7.0以上的机型。在实际试用中我们发现安卓5,6也能成功安装,但是只能使用前端的编辑器功能,无法使用后端shell(因为后端使用的包编译指定最低运行API版本是24)。可以把我们的应用当作一个语音记事本使用。

UI异常(黑屏)

1632375-20190613013009198-1983128407.png

出现黑屏的机型分布在各个版本和机型。经过我们的排查,测试平台将我们的shell界面识别成了黑屏,造成了这次乌龙。

应用在其他手机上运行良好,所以我们可以初步判定我们通过了兼容性测试。

压力测试

nginx 压力测试

工具 ab:
  This is ApacheBench, Version 2.3 <$Revision: 1843412 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/
测试对象:

http://butubs.cn: 腾讯云,1 核 2 GB Intel(R) Xeon(R) CPU E5-26xx v4 网络带宽 : 1 Mbps

ab -c 500 -n 2000 http://butubs.cn/
  Server Software:        nginx/1.14.0 # 代理软件Server Hostname:        butubs.cn # 服务器主机名Server Port:            80 # 默认端口 html 80端口Document Path:          /  # url 请求路径Document Length:        388 bytesConcurrency Level:      500  # 一次请求的并发量,由-c指定Time taken for tests:   19.253 seconds # 测试总共耗时Complete requests:      2000 # 总共请求的数量,由-n指定Failed requests:        0  # 是被的请求的数量Total transferred:      1050000 bytes # 传输字节数HTML transferred:       776000 bytes # HTML字节数Requests per second:    103.88 [#/sec] (mean) # 平均每秒完成103.88个请求Time per request:       4813.203 [ms] (mean) # 平均每个请求完成时间为4813.203毫秒Time per request:       9.626 [ms] (mean, across all concurrent requests)# 如果按照并发数来算的话,平均每个请求的完成时间就只有9.626毫秒Transfer rate:          53.26 [Kbytes/sec] received # 数据率,达到了1Mbps一般的带宽Connection Times (ms)min  mean[+/-sd] median   maxConnect:       45  203 832.8     47    7268Processing:    46 2805 4899.4    112   19099Waiting:       46 2789 4907.9    105   19099Total:         91 3007 4979.3    276   19148Percentage of the requests served within a certain time (ms) # 请求处理时间的分布50%    276 #  50% 的请求在 276 ms内处理完毕66%    895 #  60% 的请求在 895 ms内处理完毕75%   255480%   784690%  12285 #  90% 的请求在 12285 ms内处理完毕95%  1402098%  1482199%  15818100%  19148 (longest request)

云端的监控:

ab500_2000.png

可以看出每秒处理一百多个请求还是很轻松的

ab -g result.txt -t 50000 -c 1000 -n 5000 http://butubs.cn/
  Concurrency Level:      1000Time taken for tests:   54.514 secondsComplete requests:      4973 # 存在丢包情况,测试使用的北航校园网有点堵,但是不影响压力测试Failed requests:        0Total transferred:      2610825 bytesHTML transferred:       1929524 bytesRequests per second:    91.22 [#/sec] (mean)Time per request:       10962.023 [ms] (mean)Time per request:       10.962 [ms] (mean, across all concurrent requests)Transfer rate:          46.77 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   maxConnect:       45  149 931.9     47   15407Processing:    46 7201 14740.4    106   53519Waiting:       45 7183 14748.6    105   53519Total:         91 7350 14773.2    158   53573Percentage of the requests served within a certain time (ms)50%    15866%    89175%   199080%   785090%  3169195%  4640298%  5094199%  52577100%  53573 (longest request)

画一个简图:x为请求数,y为时延

result_1000_5000.png

服务器端的监控:

圆圈所在处,带宽占用达到0.692Mbps, CPU占用8.5%

ab_1000_5000_a.png

ab_1000_5000_b.png

ab -c 1000 -n 10000 http://butubs.cn/

再继续增加请求总数的话,丢包就比较严重了,带宽曾被占满,单纯就负载而言,nginx完全处理得过来,是带宽限制了处理请求的上限。

  Concurrency Level:      1000Time taken for tests:   94.015 secondsComplete requests:      9337Failed requests:        0Total transferred:      4901925 bytesHTML transferred:       3622756 bytesRequests per second:    99.31 [#/sec] (mean)Time per request:       10069.075 [ms] (mean)Time per request:       10.069 [ms] (mean, across all concurrent requests)Transfer rate:          50.92 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   maxConnect:       45  103 595.4     47   15533Processing:    46 2430 9815.4    104   89275Waiting:       45 2407 9820.5    102   89275Total:         91 2532 9840.1    151   89325Percentage of the requests served within a certain time (ms)50%    15166%    38775%    40080%    89290%   387295%  1372998%  3178599%  61269100%  89325 (longest request)

ab1000_10000a.png

ab1000_10000b.png

Android 逆向分析

最简单的逆向方式: Android Studio 逆向

as0.png

  • 53% 资源,大小9.4MB, 有不少多余的资源占用
  • 30.7%lib,大小5.4MB, 包含了实际上很少使用到的x86体系的lib,市面上基本没有x86架构的android手机了,基本上都是aarch64
  • 12.4%class, 大小2.2MB, 这是类文件
  • 其他占用很小

代码安全?

如果代码没有加混淆,反汇编结果是这个样子的:
各种类名,继承关系,函数调用都暴露在外。

as1.png

可以发现Activity的onCreate方法完全可以被找到,代码逻辑稍微梳理一下就能够弄清,这样的产品很很容易被截取核心技术。

加入代码混淆:

加了代码混淆的部分,包名\文件名\代码全都变得完全难以辨识, 能够有效保护代码和技术。

as2.png

ab3.png

不过混淆通常只能防住静态分析

如果有熟悉动态调试的人员,同样可以在classes.dex加载到内存中时,找到合适的入口,篡改文件,达到想要的效果。不过我们毕竟是一个开源的项目,也没有什么需要保密的技术,所以有了代码混淆就足够了。

idapro.png

回答问题

1.在测试过程中发现了多少Bug

没有新bug

2.你是怎么进行场景测试(scenario testing)的?包括你预期不同的用户会怎样使用你的软件?他们有什么需求和目标?你的软件提供的功能怎么组合起来满足他们的需要?(仅描述新功能即可

场景测试可以参见测试计划及结果的场景测试部分。我们新增了软件对于噪音的抗干扰能力的分析。

角色使用需求新增功能设计
张三 手部残疾,初学者低门槛我们新增了对于部分命令的模糊匹配,比如python会被识别成派森等,我们会将这种错误识别重定位成python。分析了适合语音识别功能使用的最佳场景。
李四 程序猿功能专业且方便我们新增了文件管理功能,方便用户在GUI场景下管理自己的文件脚本,对文件进行复制剪切粘贴等操作,替代命令行操作。
王五 普通人使用简单,界面友好我们新增了夜间模式,方便普通人在多种场景下的使用。

3.你是否有回归测试确保新功能的加入没有影响已有功能?

  • 针对模糊识别
    • 为了保证模糊识别不影响正常的语音识别,我们首先在实现上进行了保证。首先模糊识别只有在shell模式下被识别成非英文输入时才会发挥作用。因为shell命令基本都是英文的,识别成的非英文大概率是错误识别,这个时候才会尝试进行模糊识别。而在编辑器中可能出现中英文混杂的情况下不会进行模糊识别,防止错误。
    • 在shell模式和编辑器模式下分别使用语音输入我们已经进行模糊识别的关键词,然后查看识别的正确率。
  • 针对文件管理
    • 新建文件和文件夹,然后通过各种复制粘贴剪切得到多个脚本。先在GUI下测试,然后在shell模式下运行。能正常运行视为通过了回归测试。
  • 针对夜间模式
    • 夜间模式和软件的基本功能基本独立,没有依赖性。所以经过兼容性测试,可以视为通过了回归测试。

4.给出你的测试矩阵

详见测试计划及结果的兼容性测试部分。使用腾讯的wetest平台进行多种机型的测试。具体矩阵如下:

手机品牌型号系统版本
MeituM66
华为荣耀畅玩4C 增强版/电信4G4.4
华为VCE-AL009
华为P8 mini 电信版4.4
MeituM6S6
VivoV1813BA8.1
华为荣耀平板26
OPPON1 Mini4.3
华为P9 Plus6
酷派大神F2 HD4.4
三星GALAXY Grand 2 联通版4.3
华为荣耀 Note8 全网通6
三星GALAXY Note 24.3
三星Galaxy Note 56
ONEPLUS14.4
三星GALAXY Mega4.3
华为荣耀V8 高配版/全网通8
360N5S7.1
三星GALAXY Note 87.1
魅族M3X6
华为P9 标准版7
小米4c5.1
努比亚Z11 标配版6
华为Mate S 臻享版 双4G6
三星GALAXY J75.1
华为荣耀9 全网通7
MeituM8s7.1
三星GALAXY On75.1
小米MI PLAY8.1
华为nova 2 全网通版7
魅族157.1
三星GALAXY J3 Pro 电信4G5.1
华为荣耀Magic6
金立金立天鉴W9095.1
三星GALAXY S56
华为荣耀V8 /双4G7
华为Mate S 臻享版 电信4G6
ZUKZ27
HMD Global Oy6 全网通7
华为nova 2 Plus 移动版7
华为P8 青春版 移动4G5
努比亚M26
小米4S5.1
PhilipsX5987
华为畅享7S 高配版 全网通9
YOTAY37.1
tencentWeTestE97
三星Galaxy S109
三星Galaxy S9 移动联通电信4G9
华为荣耀6 Plus移动4G4.4

5.你的软件Gamma版本的出口条件

通过beta,Gamma阶段的种种功能测试和兼容性测试,具备我们规划中的全部功能。

转载于:https://www.cnblogs.com/bingduoduo/p/11013818.html


http://www.ppmy.cn/news/193469.html

相关文章

安兔兔html5测试跑分榜,2021年最新安兔兔手机性能跑分排行榜

排名 名称 CPU GPU MEM UX 总分 1 黑鲨游戏手机4 P... 209392 312745 184430 153900 860467 2 OPPO Find X3 ... 208045 315196 139975 168585 831801 3 腾讯红魔游戏手机... 207286 316884 144283 160196 828649 4 一加手机9 Pro ... 209380 314433 136094 166097 826004 5 拯…

mitmproxy-ca-cert.pem手机证书文件安装(一直安装不上,折磨我了两天!)

在mitmproxy软件证书配置中&#xff0c;其中手机的证书安装过程一般为&#xff1a; “将mitmproxy-ca-cert.pem”文件发送到手机上&#xff0c;点击证书文件&#xff0c;便会出现一个安装窗口。” 但是&#xff0c;我的Android手机并不识别pem文件&#xff0c;如华为荣耀10 &am…

手机User-Agent大全(Android爬虫)

设备系统浏览器User-Agentgoogle botMozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html)红米Note 5AndroidMIUI浏览器Mozilla/5.0 (Linux; U; Android 9; zh-cn; Redmi Note 5 Build/PKQ1.180904.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/…

为了出货量华为拼了,P30 lite版也将上三摄像头

预计今晚华为将在MWC2019发布新款旗舰手机P30&#xff0c;普遍认为被认为是廉价版的P30 lite应该不会在发布会上出现&#xff0c;而会直接发售&#xff0c;从网友发布的消息指P30 lite&#xff08;在国内市场或许将以Nova系列发布&#xff09;将与P30一样采用后置三摄像头&…

小米 android 8,小米华为们谁最良心?10大手机厂商安卓8.0升级情况盘点

3月8日,谷歌放出了首个安卓9.0开发者预览版的固件包,不出意外的话,它的正式版会在今年正式亮相。 但对广大安卓用户来说,想要立刻用上最新系统并非易事。目前来说,安卓碎片化问题依然严重,我们不妨现实点,先来看下手机厂商们的安卓8.0升级计划进行得如何了。 三星 去年6…

华为在高端手机市场的表现让人疑惑

华为一直强调其高端机型mate系、P系的销量过千万&#xff0c;显示出它在高端手机市场进展顺利&#xff0c;不过近日市调机构counterpoint发布的数据对它不利&#xff0c;似乎它在高端手机市场的表现并没如它所说的那么好。 高端手机市场的格局 counterpoint发布的今年二季度数据…

华为谷歌android 6.0是什么,盘点那些用上Android 6.0的手机

目前市面上大多数智能手机运行的都是Android系统&#xff0c;这些年来Android系统也是在不断地升级中。终于在今年的9月30日&#xff0c;广大用户迎来了Android 6.0版本&#xff0c;这个代号为棉花糖的新系统在UI设计和系统交互方面做出了很大的提升。 不过&#xff0c;大家也都…

华为手机的分类有何区别_华为手机有多少种型号,几个系列?

在大屏智能手机时代来临之前&#xff0c;手机厂商一贯以机海战术来占领市场&#xff0c;如曾经的霸主nokia&#xff0c;我们也许会记住其最经典的几款手机&#xff0c;但大多数人一定说不明白&#xff0c;nokia到底出过多少款手机&#xff1f; 目前的国产四大手机厂商&#xff…