Ios 单元测试策略,理想的代码覆盖率基线
从单元测试和代码覆盖率的角度来看,关于XCode7和Swift 2.0的真实体验的信息仍然不多 虽然有大量的教程和基本操作指南可用,但我想知道不同的iOS团队在实际尝试为其发布的iOS/Swift应用程序实现合理覆盖方面的经验和典型覆盖率统计是什么。我特别想知道: 1) 虽然代码覆盖率并不代表代码库的总体质量,但这是否被用作团队的一个基本指标?如果不是,那么评估代码库质量的其他可测量方法是什么 2) 对于更健壮的应用程序,您当前的代码覆盖率是多少?(仅供参考,我们目前的代码基数很难超过50%) 3) 您如何测试以下各项:Ios 单元测试策略,理想的代码覆盖率基线,ios,xcode,swift,unit-testing,code-coverage,Ios,Xcode,Swift,Unit Testing,Code Coverage,从单元测试和代码覆盖率的角度来看,关于XCode7和Swift 2.0的真实体验的信息仍然不多 虽然有大量的教程和基本操作指南可用,但我想知道不同的iOS团队在实际尝试为其发布的iOS/Swift应用程序实现合理覆盖方面的经验和典型覆盖率统计是什么。我特别想知道: 1) 虽然代码覆盖率并不代表代码库的总体质量,但这是否被用作团队的一个基本指标?如果不是,那么评估代码库质量的其他可测量方法是什么 2) 对于更健壮的应用程序,您当前的代码覆盖率是多少?(仅供参考,我们目前的代码基数很难超过50%)
- 应用程序生命周期,AppDelegate方法
- 任何与推送/本地通知、深度链接相关的代码
- 防御性编程实践、各种思想(几乎不可复制)安全防护、异常处理等
- 动画、过渡、自定义控件(CG)的渲染等
- 可能包含任何附加逻辑的弹出窗口或警报
- 从UTs的角度来看,是否有合理的方法对上述内容进行测试?我们是否应该尝试在整个代码库中使用UTs来满足任意最小的代码覆盖率百分比,还是应该在给定应用程序代码库的合理可实现覆盖率的基础上定义该百分比
- 为了实现更高的覆盖率,使代码库更具灵活性是否合理?(我说的不是一个生命危在旦夕的医疗应用程序)
- 除了UI测试之外,在测试上面提到的所有东西方面有什么好的实践吗
期待一场富有成果的讨论。您确实提出了一个非常大而且很好的问题。尽管你的问题包括: 我想知道不同iOS团队的经验和典型覆盖率数据是什么 我认为这个问题与语言/操作系统无关。当然,有些语言和平台比其他语言和平台更易于单元测试。因此,一些单元测试的成本更高(与其他形式的自动化/编码测试相反)。我认为您正在寻找一个成本/收益等式,以最大限度地提高生产率。啊,软件开发过程的乐趣 要跳到结尾,为您提供快速的声音抓取答案: 您应该对所有您想要工作并且适合于单元测试的代码进行单元测试 那么现在为什么全部,为什么强调单元测试 什么是单元测试? 开发社区中的语言已经被破坏,所以请容忍我。单元测试只是自动化测试的一种类型。其他测试包括自动验收测试、应用程序测试、集成测试和组件测试。这些都测试不同的东西。它们有不同的目的 然而,当我听到单元测试时,我想到了两件事:
- 工厂-它们只实例化类型
- 构建器/写入(IoC)-与工厂相同-无域逻辑
- 第三方库-我们称之为第三方库。如果要测试这些,请使用集成/组件测试
- 圈复杂度为1-每种类型的方法的CC为1。也就是说,没有条件。单元测试不会告诉你什么有用的东西,同行评议更有用