300G全套最新软测视频教程分享

链接:https://pan.baidu.com/s/17jkyGn-Wm-zC6QQLkWjrsw

提取码:o94n

如果您从事软件开发很长一段时间,那么您很容易理解单元测试的重要性。专家说,如果我们遵循这些编写junit单元测试的最佳实践,大多数bug都可以在单元测试阶段捕获,最终传递给质量团队。

“编写不好的单元测试非常容易,而这些测试对项目的附加值非常小,膨胀代码的成本会发生天文学般的变化。”

不过,糟糕的单元测试是现实,每个做代码评审的人都会偶尔(可能是有规律地)面对它。那么什么是坏的测试用例呢?如何识别坏的测试用例?

在这篇文章中,我试图找出8个这样的迹象,这将为您提供微妙的提示,即一个特定的测试用例可能不是一个好的测试用例,需要更新。

1) 测试通过,但不测试实际功能

相信我,我在以前的项目中见过这样的测试用例,它们似乎在代码中做了很多事情,但实际上它们什么也没做。他们向服务器发送请求,不管服务器响应什么,他们都在传递请求。恐怖!!

通过严格的代码评审,小心在代码库中生成这样的测试用例。一旦它们进入了您的代码库,它们将成为您的责任,您需要携带它们、构建它们并每次运行它们,但不会增加任何价值。

2) 测试无关的东西

这是坏测试用例的另一个标志。我见过开发人员检查多个不相关的东西,以便代码通过做一些事情,当然不一定是正确的事情。最好的方法是遵循单一责任原则,即一个单元测试用例应该只测试一件事情,仅此而已。

3) 在断言中测试多个事物

这个似乎和上面的符号相似,但事实并非如此。在前面的符号中,测试是测试不相关的东西,在这个符号中,单元测试测试正确的东西,但是在一个测试用例中测试很多这样的东西。这再次违反了单一责任原则。

好吧,请注意,我不鼓励每个测试用例使用单个断言。要测试单个实体,可能需要使用多个断言,根据需要进行测试。

例如,一个API在post body中获取一些参数,创建Employee对象并返回它作为响应。这个Employee对象可以有多个字段,比如名字、姓氏、地址等。编写一个测试用例只验证名字,然后另一个用于姓氏,另一个用于地址,这是代码的双重性,没有任何值。别这么做。

相反,为createemployee编写一个阳性测试用例,并验证该单元测试中的所有字段。否定的测试用例应该单独编写,在这种情况下只做一件事和一个断言。e、 g.一个名字空白的测试用例,一个名字无效的测试用例等等。所有这些否定的测试用例都可以使用一个断言进行验证,该断言期望响应中出现异常。

4) 使用反射测试访问受试者

这个真的很糟糕。试着把受试者换成他们需要的人。当被测试者发生代码重构时会发生什么。测试用例会爆炸。不要使用这个或允许使用任何一个。

5) 允许异常的测试

我得到了相当一部分这样的测试用例。在测试用例的末尾,他们默默地在小catch块中吞下异常。更糟糕的是,它们也不会发出失败的警报。异常是应用程序抛出的信号,用于传达发生了不好的事情,您必须对此进行调查。您不应该允许测试用例忽略这些信号。

每当您看到一个意外的异常时,请在没有失败的情况下使测试用例失败。

6) 取决于过度设置的测试

我不喜欢测试用例,它要求在开始测试实际的东西之前发生很多事情。这样的场景可能类似于:一个促进在线会议的应用程序。现在要测试特定类型的用户是否可以加入会议,下面是测试正在执行的步骤:

• 创建用户

• 设置用户权限

• 创建会议

• 设置会议属性

• 发布会议加入信息

• [测试]用户加入会议

• 通过/失败

现在在上面的场景中,有5个复杂的步骤必须在验证实际逻辑之前设置。对我来说,这不是一个好的测试用例。

一个正确的测试系统至少会有一个现有用户在系统中执行此活动。它将减少测试用例中至少两个步骤。如果你能找到合适的,他可以有一些已经创建好的会议来让这个测试用例真正集中。

另一种使其正确的方法是使用模拟对象。他们在那里就是为了这个目的。不是吗??

7) 测试仅与开发人员计算机兼容

这一点并不常见,但在新生写作时,有时也很明显。它们使用依赖于系统的文件路径、环境变量或属性,而不是使用公共属性/路径等。小心他们。

8) 用文本负载填充日志文件

在快乐的日子里,他们似乎不会制造问题。但是,当下雨天来临时,他们把没有任何信息的不必要的文本放在日志文件中,使生活陷入地狱,并使试图在这些日志文件中找到隐藏内容的调试器陷入地狱。

测试不用于调试应用程序,因此不要将调试日志放在类语句中。一个Pass/Fail日志语句就足够了。相信我。

这些是我在过去几年学习的基础上的想法。我不指望你在以上几点上都同意我。但可能有其他的观点,这是非常酷的。但我想谈谈,你对这个话题的看法。

8大征兆判断你的单元测试用例写得如何相关推荐

  1. Java编程技巧之单元测试用例编写流程

    简介: 立足于"如何来编写单元测试用例",让大家"有章可循",快速编写出单元测试用例. 作者 | 常意 来源 | 阿里技术公众号 温馨提示:本文较长,同学们可收 ...

  2. JUnit单元测试用例

    2019独角兽企业重金招聘Python工程师标准>>> 注意在编写测试用例的时候,要保持测试用例的独立性 一个原则,每条单元测试用例都必须独立运行,不能依靠其他测试用例,或者不能按照 ...

  3. ultraedit 运行的是试用模式_Wings面向企业级的单元测试用例自动编码引擎

    点击上方"蓝字"关注我们吧! 2020年7月30日,星云测试在TiD2020质量竞争力大会正式发布最新产品"Wings-企业级单元用例自动编码引擎".这是国际首 ...

  4. Angular Jasmine单元测试用例spec.ts的加载逻辑

    installedModules里存放了很多已经加载的module: req就是我应用的test.ts里硬编码的单元测试用例文件: 执行id为6Eaj的module: 更多Jerry的原创文章,尽在: ...

  5. 单元测试用例_前端单元测试实践

    一说到单元测试,可能对于业务一线同学来说,心理立马就会无形中有一种压迫感,心想 "业务都做不完了,写个球的单元测试,先保证功能完备,赶紧上线才是王道",这句话的核心是以业务为重,没 ...

  6. 软件项目 单元测试用例,行政培训考核系统项目单元测试用例.doc

    卷号卷内编号密级 [行政培训考核系统软件] DYX01-01-2010 项目单元测试用例 Version 2.0 作者: 何晶 日期版本说明作者2010-08-020.1修改"后台系统设置& ...

  7. catia相合约束怎么反向_男人想离婚了,出现这4大征兆,女人要怎么办

    当今社会的婚姻不像以前那么忠诚牢靠,离婚的现象越来越普遍,现代人对于婚姻的态度也不再像之前那般神圣. 女人说离婚只是小打小闹,希望能引起对方更多的重视和关心:而男人想要离婚是真的对你死心了,铁了心不想 ...

  8. 十大征兆表明是时候辞职了

    http://msn.huanqiu.com/health/huanqiu/news/2011-03/1593302.html 美国:十大征兆表明是时候辞职了 2011-03-28 14:44     ...

  9. java 单元测试 异步_Java/Android编写异步的单元测试用例

    不写单元测试用例的程序员不是一个好CTO!!! 注:以下内容编码环境为AndroidStudio_2.4Preview6,测试框架 JUnit4.12 今天在研究 MVP_RxJava2_Retrof ...

最新文章

  1. 如果只能通过IE写博客【Do we write blog just only with IE?】
  2. 模型学习 - VAE(变分自编码)专题
  3. Windows下安装APM大全
  4. Bootstrap 5款常用模板
  5. 深度探秘.NET 5.0
  6. Java学习--泛型
  7. 蔚来、威马抢装的英伟达Orin,正成为高端智能车标配
  8. java lang jar_在运行时,Java jar返回java.lang.NoClassDefFoundError
  9. Openwrt笔记-1-校园网连接
  10. VCPKG 升级问题
  11. win10笔记本外接显示器显示输入信号超出范围
  12. Spring文件上传接口学习(MultipartFile,MultiparHttpservletRequest,MultipartResolver)
  13. 设置数据表格中某行的颜色
  14. Linux快速复制或删除大量小文件 1
  15. R语言导入数据文件(数据导入、加载、读取)、使用readr包中的read_csv函数导入逗号分割文件CSV(Comma Delimited Text File)
  16. 原生js-购物车案例(四)增减商品数量,小计价格计算
  17. 组装一台电脑需要选购哪些基本部件
  18. linux who命令详解,Linux who命令实例详解
  19. 怎么做好WMS系统项目的验收
  20. 区块链面临的挑战(一)

热门文章

  1. TCP/IP五层(四层)模型——应用层
  2. 如何使用vb 监控电脑活动记录
  3. Java+H5 获取支付宝userId
  4. 2023春招面试专题:高并发解决方案
  5. Delphi 用WinInet 单元实现 POST提交数据和Get下载数据
  6. 2021年中国锡行业现状及其龙头企业分析:锡业股份[图]
  7. PLC数据通过无线远程传输到电脑上。也支持力控组态王远程读取,也支持云组态
  8. 2022年聚醚消泡剂行业技术特点
  9. SQL语句中EXISTS的用法
  10. linux ldd 移植