iOS测试工程师如何用xcode进行性能测试

此文适合初级测试工程师观看!

版本迭代时,一些性能测试数据需要测试,比如:启动时间,启动流量,使用中的内存,这三个比较重要的性能数据最好还是收集一下,与之前版本进行对比,也可和其他产品进行对比,我用的是xcode instrument 里的 time profile,network


1.打开sourcetree,选择要测的版本,拉代码到本地
iOS测试工程师如何用xcode进行性能测试


ps:如果遇到报错,本地代码与远端的代码冲突,点击重置,重新拉取即可

2.打开终端,执行
pod install --verbose --no-repo-update
pod update
open Youdaocourse.xcworkspace//打开xcode

3.打开xcode,注意相应证书的选择
iOS测试工程师如何用xcode进行性能测试iOS测试工程师如何用xcode进行性能测试
点击运行,即可在手机上打包成功
ps:注意在打包时,Debug information Format的选择:
iOS测试工程师如何用xcode进行性能测试
iOS测试工程师如何用xcode进行性能测试
4.打开instruments,
PS:保持后台无其他进程干扰,第一次为首次安装时的数据,
测试启动时间:
测试次数:10组,取2-10次平均值;
iOS测试工程师如何用xcode进行性能测试

iOS测试工程师如何用xcode进行性能测试
PS:找不到启动时间时,注意以下设置
iOS测试工程师如何用xcode进行性能测试
几个选项的含义如下:
  • Separate by Thread:每个线程被单独考虑。这能让你知道哪一个线程占用CPU最多。
  • Invert Call Tree:选中该选项后,调用栈会自上至下显示。这通常是你需要的,因为你想知道CPU花费时间的那个最深的方法。
  • Hide System Libraries:选中该选项后,只有你自己app中出现的符号会被显示出来。通常选中该选项是有用的,因为你只关心CPU在你自己的代码中的哪一部分花费时间,你没法对系统库使用CPU做多少改变。
  • Flatten Recursion:该选项将每一个调用栈中的递归函数(调用它们自身的函数)视作单一入口,而不是多入口。
  • Top Functions:选上这一选项让Instruments将花费在一个函数中的总时间视作在该函数中直接花费的时间加上调用的其他函数花费的时间。所以如果函数A调用了函数B,那么函数A花费的总时间被记为A花费的时间加上B花费的时间。这一选项非常有用,因为它能让你在每次进入调用栈时找到花费最长的时间,瞄准你最耗时的方法。

5.启动流量(记录启动10s后偏于稳定的数值)
iOS测试工程师如何用xcode进行性能测试

6.使用中的内存使用
iOS测试工程师如何用xcode进行性能测试
操作新功能,查看内存占用情况:
iOS测试工程师如何用xcode进行性能测试iOS测试工程师如何用xcode进行性能测试