性能测试,就是为了能在软件发布之前尽可能地发现性能问题,保证它在各种复杂的条件下都能够正常运行;
通常我们选择性能测试都会遵循“核心”和“常用”两条原则,对于其他功能可以不做性能测试,或者优先级较低
性能测试放在整个软件开发流程的最后一环;因为执行性能测试的一个必要条件是软件已经处于相对稳定的状态,任何一个细微的变化都可能对性能产生巨大的影响,放在软件开发的初期,会导致性能测试不断返工重测,浪费不必要的人力和时间;
为了避免开发后期出现问题时难以定位原因的尴尬,很多成熟的团队经常把性能测试提前到产品研发的初期
开始》需求分析》产品设计》编码实现》迭代测试和性能测试》集成测试和性能测试》性能测试和回归测试》产品上线》结束
及时性:是指软件对用户操作指令做出相应的速度,简单说就是运行快不快;
启动耗时:是软件性能中很重要的一个指标,对于用户而言,时间越短越好
流畅度:运行中是否出现卡顿现象
内存/CPU:占用大小,影响应用运行的流畅度,甚至直接闪退;手机发烫
流量:应用发起网络请求时所产生的数据量大小
电量
Instruments是一个强大而灵活的性能分析和测试工具,它是Xcode开发工具集的一部分,它被设计用于帮助分析OS X和iOS的应用、进程与设备,以便更好的理解和优化它们的行为和表现。
在Instruments中,可以使用指定的工具,跟踪应用app、进程、设备不同方面的行为,Instruments将数据收集在配置文件中,并将详细分析的结果显示出来。
启动方式:
一、方法一
1、在xcode打开项目
2、product-profile;xcode会build你的项目,启动instruments
3、显示分析模板列表
二、方法二
1、Xcode》Open Developer Tool》Instruments
三、
虽然 Instruments 是 Xcode 的一个工具集,但是它是以一个独立的 App 的形式存在的,你可以在 Xcode -> Open Developer Tool -> Instruments 中打开它。
1.启动耗时
另一种解释:
冷启动
应用首次启动。即后台线程中未有当前打开的应用,所有的资源都需要加载并初始化。
热启动
应用非首次启动。即后台线程中保留有当前应用,应用的资源在内存中有保存。
双击Home键显示最近使用过的程序,压后台一段时间后(千帆App大概未5min),应用已被系统kill,但记录仍然存在,从此打开也是冷启动;
启动时间计算的是从程序响应到绘取第一帧的时间
Main函数之前,进行的是iOS系统的工作,主要是加载系统动态库、初始化,时间是2.1s;系统动态库有缓存加载很快,可通过减少内嵌动态库进行时间优化;
Main函数之后,设定内存管理环境+调用UIApplication函数,时间是206.52ms
所以App的启动时间是:2.10s+206.52ms。
App启动过程:
1、
2、
after main()
UIApplicationMain()
willFinishLaunchingWithOptions()
didFinishLaunchingWithOptions()
loadView()
viewDidLoad()
applicationDidBecomeActive()
查看before-main具体时间:
product》scheme》Edit Scheme》Run;添加 Scheme 的 DYLD_PRINT_STATISTICS 参数,并设置值为 YES;设置好了之后,Command + R 在冷启动情况下启动 APP ,可以看到控制台的输出;文档参考:==https://www.jianshu.com/p/ee2f1c5cdb4f
dyld 提供了内建的测量main()之前时间的方法
instruments-energy 0-20
直接看设备右上角耗电量
设备》设置》电池,查看过去24小时耗电占用百分比
Sysdiagnose—苹果官方提供的工具,日志的统称;通过对表进行分享
耗电量是一个比较综合的指标,影响因素很多;比如用户在不同光线下使用,iPhone会自动调整屏幕亮度,就会导致耗电量不同;网络状况(流畅的Wi-Fi还是信号不好的3G)、设备已使用时长电池的储电和放电能力。
如果采用直接观看的方式,要注意以下几点:
遇到的问题
1. iOS版本,与xcode对应版本,如果跨版本使用,会导致数据显示不全
版本查看方式:Finder》应用程序》Xcode》查看包内容》路径/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
例如使用Xcode8.2.1连接iOS11.2.2,测试CPU,结果如下图1
2. 保留本次测试数据,方便下次对比
本次测试记录》save as
3. 一个Mac电脑安装多版本Xcode
Mac上安装多个xcode版本(Xcode命名尽量用英文数字),想升级其中一个需要先把该xcode设置为默认版本,然后在App Store输入当初下载应用时使用的Apple ID进行更新
命令:
切换为Xcode3版本为默认版本: sudo xcode-select-switch "/Applications/Xcode
4.app/Contents/Developer"
查看Xcode版本:sudo xcode-select -p
操作步骤:
Launchpad》终端(相当于Windows系统的命令行程序》输入命令》输入电脑密码即可
5. 不升级Xcode版本的情况下,兼容高版本系统设备方法
下载对应版本的配置文件,修改文件SDKSettings.plist(路径:/Applications/Xcode 3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk)
之后重启Xcode,如果不行,重启电脑
教程地址:https://www.jianshu.com/p/1a33e36c4b67(配置文件需要加上11.2)
6. instruments》选择设备时,一直处于offline置灰的状态,可能是数据线的问题,换根原装的线
1. 快速回到桌面
使用快捷键Command + F3 快速显示桌面,再按一次回到应用程序
使用快捷键 Fn+F11 快速显示桌面,再按一次回到应用程序3
2.复制文件路径方法
文件右击》显示简介》位置》手动复制粘贴
3.进入某个文件下
shift+Command+G
Finder》前往》前往文件夹
4.重命名
选中文件,回车键
5.XCode调试控制台显示隐藏快捷键
Command + Shift + Y
6.返回上一层目录
cd …/
7.Mac强制关闭应用程序(右击退出无反应时)
快捷键 option+command+esc
8.快速切换中英文输入法
control+space空格
9.快速删除文件
command+delete
10刷新网页
commadnd+r