发表于: 2019-11-30 22:37:03

1 734


一、今天完成的事情:

1.Android和ios的常见机型,版本,内存,分辨率--https://blog.csdn.net/weixin_30896657/article/details/97910643

主要是罗列两种不同手机的区别功能点测试

1)操作系统

ios较少,只能单向升级不能降级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash)。

2)分辨率适配

目前ios手机的高市场销量机型为iphoneX,iphone Xs Max,iphone XR,iphone XS等。具有特色刘海屏幕;

Andriod手机分辨率适配普遍在于---16:9,4:3,2:1,以及一些特殊屏幕(水滴屏幕,刘海屏,曲面屏等)

3)使用习惯上(按键操作)

ios切换屏幕,杀进程,以及Home键

Android手机针对每一款手机都有不一样的操作,测试点击Back(返回)键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等;

4)开发语言

虽然同样的业务 Android和ios的展示形式和业务是一样的,但是底层完全不一样。安卓的应用是java语言实现的,ios用objectC实现。

Android对于接口返回的格式的处理是严格的。比如,跟接口约定此字段返回数据,而接口返回了对象,那么就会导致App崩溃;而ios系统就是两者都有,如果约定了数组,那么返回了对象,ios就是返回空

5)push推送(消息通知)

Android:点击Home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正常跳转;

ios:点击Home键关闭程序和屏幕锁屏的情况(红点的显示);

6)安装,卸载

Android的下载和安装的平台、工具和渠道比较多(豌豆荚、应用宝、应用商店等);

ios主要有App Store,iTunes和testflight等下载;

7)版本升级

对应的软件的版本升级问题

talkingdatahttp://mi.talkingdata.com/terminals.html?terminalType=2

100部手机占比信息,设备总占比是45.18%

备注:跟客服沟通,talkingdata可以提供所有设备占比信息,需要收费。

艾瑞:http://index.iresearch.com.cn/device

150部手机,设备总占比54.19%

腾讯移动分析:http://mta.qq.com/mta/data/device

TOP10部手机市场占比信息

百度流量研究所:https://mtj.baidu.com/data/mobile/device/


2.性能测试的主要指标--https://www.cnblogs.com/panpan0301/p/8832452.htmlhttps://www.cnblogs.com/insane-Mr-Li/p/9182724.html

系统指标:

1)并发

狭义并发:在同一瞬间或者同一时刻对同一个应用的同一个接口发起相同的访问

广义并发:在同一时段内向同一应用发起请求

2)响应时间

2/5/8原则

3)TPS(transaction processing systems)每秒通过的事务数

资源指标:

1)CPU使用率:指用户进程与系统进程消耗的CPU时间百分比,长时间情况下,一般可接受上限不超过85%。

2)内存利用率:内存利用率= (1-空闲内存/总内存大小)*100%,一般至少有10%内存可用,内存使用率可接受上限为85%

3)磁盘I/O:磁盘主要用于存取数据,因此当说到I/O操作时,就会存在两种相对应的操作。存数据的时候对应的是写IO操作,取数据时对应的是读IO操作

,一般使用Disk Time(磁盘用于读写操作所占的时间百分比)度量磁盘读写性能。

4)网络带宽:一般使用计数器Bytes Total/Sec来度量,Bytes Total/Sec 表示为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。


3.性能测试包含哪些--https://www.cnblogs.com/Alexr/p/9512622.html

负载测试(Load Testing):负载测试主要是为了测试软件系统是否达到需求文档设计的目标,譬如在一定时间内,最大支持多少并发用户数,软件请求的出错率等,测试的主要是软件系统的性能。

压力测试(Stress Testing):强度测试也就是压力测试,压力测试主要是为了测试硬件系统是否达到需求文档设计的性能目标,譬如在一定时间内,系统的CPU利用率,内存使用率,磁盘I/O吞吐率,网络吞吐量等,压力测试和负载测试最大的差别在于测试目的的不同。

容量测试(Volume Testing):确定系统最大承受量,譬如系统最大用户数,最大存储量,最多处理的数据流量等。

并发测试:测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的问题。

基准测试:比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。

争用测试:核实测试对象对于多个主角对相同资源(数据记录、内存等)的请求的处理是否可以接受。

性能配置:核实在操作条件保持不变的情况,测试对象在使用不同配置时其性能行为的可接受性。


二、明天计划的事情:

1.开始任务9


三、遇到的问题:

1.性能测试的步骤--https://www.cnblogs.com/Alexr/p/9512622.html

1)熟悉应用

了解应用的架构、功能逻辑

2)测试需求

a.需要将开发给定的需求转化为吞吐量和响应时间

b.根据测试目的,细化需求

3)测试准备

测试准备包括测试客户端机器准备、测试数据准备、测试脚本准备。

4)测试执行

5)测试分析


2.通常什么样的结果才能体现接口性能不好?--http://www.51testing.com/zhuanti/tyapp/

接口性能不好一般指达不到预期的结果。响应时间是一个指标,但另一个并发数也是很重要的,响应快了,支持不了那么多并发数也是不行的,要兼顾响应和并发。其实做性能的时候不仅仅是看是否满足需求,很多时候时调优。


3.APP测试难点在哪里?--http://www.51testing.com/zhuanti/tyapp/

1)兼容性

特别是Android 平台,机型太多,OS版本也有很多,这也是ios和Android的主要区别。兼容性没有太好的办法,最笨的方法就是机型都拿来测试下

2)APP版本很多

APP版本很多,后端的变动如何保证不影响APP各个版本的功能。就需要做接口的自动化测试,以自动化测试来覆盖,每次变更都对接口跑一次自动化测试


4.调优措施有哪些?--https://blog.csdn.net/o9109003234/article/details/103221124

性能调优就是用更少的资源提供更好的服务,成本利益最大化。性能调优的手段并不新鲜,性能调优的常规手段有:

1)空间换时间:内存、缓存就是典型的空间换时间的例子。利用内存缓存从磁盘上取出的数据,CPU请求数据直接从内存中获取,从而获取比磁盘读取数据更高的效率。

2)时间换空间:当空间成为瓶颈时,切分数据分批次处理,用更少的空间完成任务。上传大附件时经常用这种方法。

3)分而治之:把任务切分,分开执行,也方便并行执行来提高效率。

4)异步处理:业务链路上有任务时间消耗较长,可以拆分业务,减少阻塞影响。常见的异步处理机制有MQ(消息队列),目前在互联网应用中大量使用

5)并行:多个进程或者线程同时处理业务,缩短业务处理时间,比如我们在银行办理业务时,如果排队人数较多时,银行会加开柜台。

6)离用户更近一点:比如CND技术,把用户请求的静态资源放在离用户更近的地方。

7)一切可扩展:业务模块化、服务化(同时无状态化)、良好的水平扩展能力。


5.如果Android和ios同一版本去市场审核,ios官方要求加功能,该如何做?---这个问题没有思路


四、收获:

1.了解了性能测试有哪些。

2.了解了性能测试的指标。

3.了解了遇到瓶颈时如何调优。


返回列表 返回列表
评论

    分享到