美文网首页
开发阶段的自我检查 之 单元测试

开发阶段的自我检查 之 单元测试

作者: Nirvana_icy | 来源:发表于2017-05-27 14:44 被阅读100次

开发阶段的自我检查 之 单元测试

Q:开发阶段我们可以进行哪些自我检查呢?

🌇 例如:刚写好一个轮播图组件

✅ 我们会造一些轮播图的数据 > 跑一把 看看效果

✅ 修改一下数据 只有一张图片 > 重新加载 看下效果

✅ 数据为空 > 重新加载 看下效果

✅ 换用不同尺寸的图片 > 再次进入 看下效果

是的 在开发阶段我们经常会做代码的自我检查

A:从开发的过程来分 我们可以把开发阶段的自我检查划分为:

test func > test class > test service || test UI

相应的我们可以在开发阶段进行:

func test > class test > service test || UI test

从后往前看 我们是否可以更系统的进行开发阶段的自我检查:

1⃣️UI Test我们做的很多 => 开发完毕 > mock数据 > 人肉看一下不同数据时 UI和功能是否正常

2⃣️service test?=> 服务端通过接口测试做的比较多

3⃣️ 再往前看 class test & func test => 不易触及 进行自我检查的次数比较少


当你的输出是一个App ➡️ 我们可以通过UI进行直接的交互

当你的输出是一个Service ➡️ 我们可以通过接口进行直接的交互

当你的输出是一个Class or function ➡️ 我们可以通过什么进行直接的交互呢?

如果你是AFNetworking的作者 如何进行测试?

1⃣️ 写一个Example App 通过人机交互的方式 进行每一项功能的验证?

2⃣️ 通过单元测试框架 调用每一个待测试的方法 进行功能的验证

今天我们的主题就是这里

通过单元测试 我们可以方便系统的进行 func test & class test

从而可以更系统的进行开发阶段的自我检查 交付测试团队更加健壮的产出

什么是单元测试呢?

1⃣️ 最小可测单元_测试自己写的对外提供功能or计算过程

2⃣️ 不是为了发现bug,是为了提高开发效率,为了我们代码健康的可持续发展

🌰 一些调试很久的疑难问题 往往根源是一些简单低级的小错误引起的

单元测试的优缺点

优点:

1⃣️ 单元测试能保证在加入新功能或修改旧功能时代码的正确性

2⃣️ 单元测试保证在整个开发流程中代码都会被测试,更容易及早发现问题,降低风险

场景:

1⃣️ 发版前修改了基础组件的某个功能 ➡️ 通过单元测试 可以方便低成本的进行回归测试

2⃣️ 代码重构后 ➡️ 功能影响的摸底与评估

3⃣️ 开发过程中 直接测试某个方法 ➡️ 无需build & run整个工程

缺点:

单元测试不能减少研发的代码量,反而会花费很多精力在编写单元测试上,增加了开发成本,而且对开发人员的要求也会更高

单元测试由谁来写?

最好是开发者本人

如何写单元测试?

每一个Test Case的写法有三个步骤:①Mock对象,准备测试数据。②调用要测试的目标API。③验证输出和行为是否正确

iOS项目如何进行单元测试呢?

1⃣️ XCTest in XCode

2⃣️ Kiwi for OC (3rd framework)

3⃣️ Quick for Swift or OC (3rd framework)

XCTest Demo:

TestCaseWritenByXCTest

Quick Demo:

TestCaseWritenByQuick

单元测试应用案例(学习样本)

XCTestWorkInAF QuickWorkinRAC

单元测试落地计划:

1⃣️ 基础服务 覆盖

2⃣️ 公共组件 覆盖

3⃣️ 基础业务viewModel 覆盖

4⃣️ 重要业务viewModel 覆盖

参考资料:

1⃣️ iOS单元测试基本介绍

2⃣️ Quick

3⃣️ Quick使用配置

相关文章

  • 开发阶段的自我检查 之 单元测试

    开发阶段的自我检查 之 单元测试 Q:开发阶段我们可以进行哪些自我检查呢? ? 例如:刚写好一个轮播图组件 ✅ ...

  • 软件测试分类

    --按开发阶段分类 单元测试: 又称模块测试针对软件测试中的最小单位-- 程序模块, 进行正确性检查的...

  • 学习日记7-2 (软件测试分类)

    一 软件测试分类(重点) 按照开发阶段划分 单元测试(模块测试):目的在于检查模块功能、性能、接口、设计约束等 集...

  • 尽量避免bug的一些方法

    与产品经理和有经验的测试多沟通(需求阶段,代码设计阶段) 代码开发阶段-- 必须写单元测试并且同步维护单元测试代码...

  • Python学习

    flask-sqlalchemy单元测试 1、单元测试 web程序开发过程一般包含下述几个阶段:需求分析、设计阶段...

  • 软件测试的分类(一)

    按测试阶段来分类 单元测试,集成测试,系统测试,验收测试 单元测试1.什么是单元测试?对软件中的进行检查和验证。 ...

  • 测试分类

    软件测试类型按开发阶段分为单元测试,集成测试,确认测试,系统测试,验收测试。(1)单元测试单元测试又称为模块测试,...

  • JUnit入门

    软件测试 瀑布式开发模型 敏捷式开发模型 软件测试的三个阶段1、单元测试 单元测试需要开发人员完成!2、集成测试3...

  • 软件测试类型

    一. 按阶段划分 1. 单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验...

  • 软件测试各阶段的测试策略是什么?

    和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段: 单元测试:单元测试是针对...

网友评论

      本文标题:开发阶段的自我检查 之 单元测试

      本文链接:https://www.haomeiwen.com/subject/syjqfxtx.html