软件测试与打螺丝

这篇具有很好参考价值的文章主要介绍了软件测试与打螺丝。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

单元测试中的FIRST代表下面五组英文单词对应的原则:

  • Fast
  • Isolated / Independent
  • Repeatable
  • Self-validating
  • Timely / Thorough

软件开发中,往往会因为我们没有注意到的逻辑或难以理解的代码,而引进Bug来。 

怎么尽早地发现Bug,软件人一直在做这方面的努力,单元测试是众多努力中相当有成效的一个方式。而写单元测试的过程中有些经验教训呢?这些经验教训背后有没有一些通用性的原则呢?答案是肯定的,FIRST原则就是其中重要的一个。 

软件测试与打螺丝

执行快速(Fast)

单元测试执行一定要快,如果要给一个标准的话,每个单元测试的执行应该是秒级的。这样研发同学可以在项目周期的任意时间点,可以方便地执行单元测试, 即便是有几千个单元测试也不影响。这些单元测试最好在几秒内运行完并返回期望的结果。如果是和时间相关的测试,不应该真的等待时间流逝再看结果,而应该使用 Mock 来模拟时间。

隔离(Isolated)/独立(Independent)

每一个测试用例运行时、准备环境变量时或测试前环境搭建过程中,都是隔离的。过程中,不能有相互依赖,这样最终的测试结果可以不受其它因素的影响。如果需要一些配置,这些配置应该在本单元测试的初始化阶段完成。

可重复(Repeatable)执行

单元测试可以在不做任何修改情况下,在任何环境下执行。如果单元测试不依赖网络或数据库,单元测试失败原因的排查中,就不用考虑这方面的原因,毕竟单元测试依赖的只是被测试类或方法中的代码。这个原则,可以方便地让自己的单元测试逻辑保持良好的价值。 

代码测试中自校验(Self-validating)

写了单元测试后,咱们不能再依赖肉眼观察,看被测代码的结果是否正确。测试代码自身会明白无误地告诉咱哪条测试用例失败了。在JUnit中,咱们一般使用assertTrue或assertEquals来验证。

即时(Timely)/完整(Thorough)

按TDD的理念, 应该在相应的业务代码之前定单元测试。这一点上,大家可以自己掌握是否采用TDD的开发理念。不过,这个的理念是,即时地写单元代码,即便是很小的代码也是这样。 如果你不用 TDD,这一条指的是单元测试要达到下面的“完整”标准:

  • 覆盖所有基本路径 (Happy Path)
  • 边界条件
  • 安全问题
  • 覆盖所有可能的功能性用例,而不只是应付 100% 代码覆盖率的要求

遵循FIRST原则,单元测试质量会提升很多。不过,也不是说,单单遵循这个FIRST原则后,就包治百病了,毕竟还有其它的一些因素影响着单元测试的质量。基于FIRST原则后, 我们可以有一个良好的基础来构建整体软件系统。

想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

软件测试与打螺丝

软件测试与打螺丝

最后送上一句话:
世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!

软件测试与打螺丝文章来源地址https://www.toymoban.com/news/detail-491615.html

到了这里,关于软件测试与打螺丝的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 软件测试之单元测试

    软件测试之单元测试

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  关注公众号【互联网杂货铺】,回复 1  ,免费获取软件测试全套资料,资料在手,涨薪更快 从产品角度而言,常规的功能测试、系统测试都是站在产品局部或全局功能进行测试,能够很好地与用户的需要相结合,但是缺乏

    2024年01月20日
    浏览(16)
  • 软件测试系列--单元测试

    软件测试系列--单元测试

     一、单元测试的概念 单元测试(Unit Testing)是对软件基本组成单元进行的测试,如函数(function或procedure)或一个类的方法(method)。当然这里的基本单元不仅仅指的是一个函数或者方法,有可能对应多个程序文件中的一组函数。 单元也具有一些基本的属性。比如:明确的

    2024年02月16日
    浏览(13)
  • 软件测试之单元测试详解

    目录 前言: 1、什么是单元测试? 2、什么是好的单元测试? 3、怎么写单元测试? 4、玩转单元测试 单元测试是软件测试中的一种测试方法,用于验证代码中最小可测试单元的正确性。它主要关注对程序的各个独立模块、函数或方法进行测试,以确保其按照预期产生正确的输

    2024年02月12日
    浏览(22)
  • 软件测试之【单元测试、系统测试、集成测试】

    目录 一、单元测试的概念 二、单元测试的目的 三、单元的常见错误 四、如何进行单元测试 五、单元测试策略 六、系统测试的概念 七、系统测试的环境 八、系统测试的类型 九、系统测试的过程 十、集成测试概念 十一、集成测试的目的 十二、集成测试关注的重点 十三、集

    2023年04月08日
    浏览(10)
  • 软件测试之单元测试、系统测试、集成测试详解

    软件测试之单元测试、系统测试、集成测试详解

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 , 免费获取软件测试全套资料,资料在手,涨薪更快 单元测试是对软件基本组成单元进行的测试,如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法,有可能

    2024年04月25日
    浏览(18)
  • 软件测试实验:Junit单元测试

    软件测试实验:Junit单元测试

    目录 前言 实验目的 实验内容 实验要求 实验过程 题目一 题目一测试结果 题目二 题目二实验结果 总结 软件测试是软件开发过程中不可缺少的一个环节,它可以保证软件的质量和功能,发现并修复软件的缺陷和错误。软件测试分为多种类型,其中一种是单元测试,即对软件

    2024年02月02日
    浏览(17)
  • 【软件测试】单元测试、集成测试、系统测试有什么区别?

    【软件测试】单元测试、集成测试、系统测试有什么区别?

    1、粒度不同 集成测试bai粒度居中,单元测试粒度最小,系统du测试粒度最大。 2、测试方式不同 集成测试一般由开发zhi小组采用白盒加黑盒的方式来测试,单元测试一般由开发小组采用白盒方式来测试,系统测试一般由独立测试小组采用黑盒方式来测试。 3、测试内容不同

    2024年02月09日
    浏览(12)
  • 【软件测试】学习笔记-如何做好单元测试

    【软件测试】学习笔记-如何做好单元测试

    在正式开始今天的话题之前,我先给你分享一个工厂生产电视机的例子。 工厂首先会将各种电子元器件按照图纸组装在一起构成各个功能电路板,比如供电板、音视频解码板、射频接收板等,然后再将这些电路板组装起来构成一个完整的电视机。 如果一切顺利,接通电源后

    2024年02月03日
    浏览(12)
  • 软件测试--应用JUnit进行单元测试

    软件测试--应用JUnit进行单元测试

    JUnit是一个开源的Java编程语言的单元测试框架,最初由 Erich Gamma 和 Kent Beck 编写。Junit测试是一种白盒测试工具。JUnit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。具有JUnit经验对于应用“测试驱动开发(TDD)”的程序开发模型是非常重要的。 JUnit本质上是一套框

    2023年04月12日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包