那不是测试,而是“手动看输出”(在企业中称为LMAO)。更正式地说,它被称为“手动查找异常输出”(LMFAO)。(请参阅下面的注释)
每次更改代码时,都必须为受这些更改影响的所有代码运行应用程序和LMFAO。即使在小型项目中,这也是有问题且容易出错的。
现在,每次更改代码时,就可以扩展到50k,250k,1m
LOC或更高,以及LMFAO。这不仅令人不快,而且是不可能的:您已经放大了输入,输出,标志,条件的组合,并且很难行使所有可能的分支。
更糟糕的是,LMFAO可能意味着访问Web应用程序的页面,运行报告,遍历数十个文件和机器的数百万条日志行,阅读生成和发送的电子邮件,检查文本消息,检查机器人的路径,装满一瓶苏打水,从一百个Web服务中聚合数据,检查财务交易的审计记录……您就明白了。“输出”并不意味着几行文字,“输出”意味着聚合的系统行为。
最后,单元测试和行为测试 定义了
系统行为。测试可以由连续集成服务器运行,并检查其正确性。当然可以
System.out,但是CI服务器不会知道其中之一是否错误–如果确实存在,则表明它们是单元测试,因此您最好使用框架。
无论我们认为自己有多好,人类都不是好的单元测试框架或CI服务器。
注意:LMAO 正在 测试,但意义 非常
有限。在整个项目中或作为过程的一部分,它不能以任何有意义的方式重复。这类似于在REPL中进行增量开发,但从不对那些增量测试进行形式化。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)