iOS 质量保障工具集

原创 2018年04月16日 18:07:16

每个App自开发到上线需要经历多个阶段,每个阶段都要把握质量。作为iOS开发者除了从代码规范入手,我们也要从其他多方面提升质量。本文就介绍几款可以提升iOS质量开发的工具。

git-flow

由于git管理代码版本的灵活性有时会导致版本冲突、代码混乱等问题。为了更好的管理代码,大部分公司都推崇git flow的工作流程,git-flow就是为了实现这套流程的一系列git扩展命令。

git-flow 并不是要替代git,也没有为git扩展任何新功能,它仅仅是非常聪明有效地把标准的git命令用脚本组合了起来。我曾经在github上开源过一些库以及源码,发现在编写新功能代码时,创建feature分支是非常明智且有高回报的一种操作,一旦你习惯于区分master、develop、feature等分支后,会让你的生产力大大提高。另外,Source tree等可视化版本管理工具对git flow也支持得很好。

MLeaksFinder

Xcode自带的Instrument 的 Leaks / Allocations 存在各种问题和不便,主要体现在:

  • 对App的内存泄露监控不完全。由苹果开发者文档我们知道,App的内存分三类:Leaked memory、Abandoned memory、Cached memory。其中 Leaked memory 和 Abandoned memory 都属于应该释放而没释放的内存,都是内存泄露,而 Leaks 工具只负责检测 Leaked memory,而不管 Abandoned memory。在 MRC 时代 Leaked memory 很常见,因为很容易忘了调用 release,但在 ARC 时代更常见的内存泄露是循环引用导致的 Abandoned memory,Leaks 工具查不出这类内存泄露,应用有限。

  • 监测内存便携性不高。首先,你得打开 Leaks/Allocations;其次,你得一个个场景去重复的操作。

  • 监测实时性不强。

腾讯推出的MLeaksFinder很好的解决了上述问题。对于内存没有释放的情况,MLeaksFinder会及时的弹框加以提醒。

弹框提醒内存泄露

笔者:如果大家在项目中使用ReactiveCocoa,那这款工具肯定是必不可少的。

FLEX

以前Xcode不能查看App的UI层级结构,大家都是用Reveal工具进行查看,但现在Xcode对这个功能的支持也并不是特别完善,偶尔会引起Xcode的崩溃。

FLEX是由Flipboard团队开发的一款应用内Debug工具,可以很方便的查看和调整UI的层级关系。另外其集成的HTTPStub还可以监控App的网络请求,是一款非常强大的工具。

Faux Pas

Faux Pas是一个Xcode辅助工具,检查iOS或者Mac项目,找到潜在bug,以及可维护性和风格问题。提供了92条规则可供挑选,支持GUI和CLI。笔者觉得比较好用的功能有

  • 查找资源文件错误

项目大了以后Nib文件经常会添加删除图片,并且很难追踪文件是否在代码或Nib文件中引用。Faux Pas能帮我们找到任何一个资源文件引用问题。

  • 代码风格的管理

团队来新人后对代码风格的管理会变得有一定难度,使用Faux Pas会给出苹果文档给出的编码风格。

Faux Pas的强大之处在于它在列举的潜在Bug还附带了正确编写建议,点击问题可以迅速定位到出现问题的代码的文件以及行数,非常适合作为App将要提交审核前的最后一次代码检查。

总结

本文介绍了一些提升App质量的工具,贯穿于编码前中后期等阶段,希望对iOS开发人员有一定帮助。

参考

如何在C++中建立对象间消息连接

如何在C++中建立对象间消息连接 作者:秦岭 发布时间:2001/01/02 文章摘要:  用过C++进行过面向对象程序设计的用户都知道,程序中的对象很少单独存在。不考虑对象间的相互作用几乎是不可能的...
  • CandyCat
  • CandyCat
  • 2001-05-17 22:04:00
  • 881

iOS质量保障工具集

每个App自开发到上线需要经历多个阶段,每个阶段都要把握质量。作为iOS开发者除了从代码规范入手,我们也要从其他多方面提升质量。本文就介绍几款可以提升iOS质量开发的工具。git-flow由于git管...
  • YCM1101743158
  • YCM1101743158
  • 2018-04-22 17:58:52
  • 31

(13.1.3.5)PMBOK之三:十大知识领域之质量管理

51 概述 52 涉及过程 521 规划质量管理 522 实施质量保证 523 控制质量 53 输入输出 54 工具技术 541 规划质量管理 8 542 实施质量保证 3 543 控制质量 4 ...
  • fei20121106
  • fei20121106
  • 2017-05-08 15:14:37
  • 551

质量保证(QA)是干什么的?

从事软件质量保证工作已有几个年头,经常有朋友问起软件质量保证到底是干什么的?每次总回答就是辅导和监督项目开发按照公司研发过程执行的,仔细想想实际并没有这么简单,为了让更多朋友了解质量保证这个岗位,在此...
  • fen0707
  • fen0707
  • 2013-05-23 09:00:07
  • 1281

《构建之法》第十四章 质量保证

软件的质量 从浪漫的角度看软件开发,人们不禁想象软件团队一开始就理解了用户的需求,完美的分析文档如高屋建瓴般流出,软件工程师在此基础上开发了各种完美的功能,按时交付给用户;用户一用就觉得特别符合自己...
  • u011414200
  • u011414200
  • 2015-10-01 23:02:13
  • 910

数据质量保证若干步骤

1、管理层面:      数据质量标准(完整性、唯一性、有效性、一致性、正确性);      数据质量针对具体的数据内容,进行数据内容进行系统检查; 2、业务层面:      数据质量关键对象(CT...
  • hanyueqi
  • hanyueqi
  • 2016-03-30 08:32:21
  • 805

每周荐书(京东篇):618取胜之道、质量保障、技术解密

每周荐书(京东篇):618取胜之道、质量保障、技术解密(评论送书) 感谢大家对荐书栏目的支持,先公布下上期活动中奖名单 yaabbcdmaTwumf_1997跟老齐学Python:Django实战 芝...
  • broadview2006
  • broadview2006
  • 2017-10-17 10:00:54
  • 33808

百度大数据质量保障方案探索

百度大数据质量保障方案探索 传统的测试验证手段专注于通过测试设计构建合理的输入输出,来实现代码路径覆盖。随着行业中大数据的逐渐兴起,无法满足这一新领域测试挑战。机器学习、数据挖掘、长数据流系...
  • chengying332
  • chengying332
  • 2014-12-17 13:43:21
  • 287

数据可视化工具大集合

所谓数据可视化是对大型数据库或数据仓库中的数据的可视化,它是可视化技术在非空间数据领域的应用,使人们不再局限于通过关系数据表来观察和分析数据信息,还能以更直观的方式看到数据及其结构关系。 数据可视化技...
  • op07p6Aaqo9u71
  • op07p6Aaqo9u71
  • 2017-12-06 11:29:00
  • 275

Visual Stdio平台工具集以及配置

我电脑上安装了 Visual Stdio 2008  Visual Stdio 2008 sp1 Visual Stdio 2010  Visual Stdio 2010 sp1 Visual...
  • sakawa_x
  • sakawa_x
  • 2017-06-08 11:28:47
  • 5093
收藏助手
不良信息举报
您举报文章:iOS 质量保障工具集
举报原因:
原因补充:

(最多只允许输入30个字)