繁体   English   中英

如何在行为级别上测试Java / Android代码?

[英]How can I test my Java/Android code on a behaviour level?

我最近注意到我的测试代码与生产代码太接近了。 我注意到测试架构(及其维护)从实际的产品开发中汲取了很多时间和精力,而生产代码中的每一次更改都至少需要相同的工作量(和风险!!!)测试代码。 更糟糕的是,我觉得自己买不到这么多

我想实现的是从更高级别测试我的代码。 我想验证所需的行为,而不必测试实现的功能

我不知道你是否已经注意到,但最好的手工测试用例解释什么验证不是如何验证它。 我觉得,如果我可以按照相同的范式编写自动化测试,那么实际的测试将与当前的实现隔离开来,并且我可以确保测试基础结构的质量不会因重构而随着时间的推移而降低通过更改生产代码。

我想我现在还不那么受欢迎,我担心接下来的想法也不会让我更受欢迎:

我认为大多数现代测试(现在我正在谈论的是“现代工业”而不是“现代研究”)都被极端化了。 我们期望编写行为类似于Borg集体的测试代码。 生产代码必须完全同化(电阻是徒劳的:-),每个单元和晶体管必须通过多次测试进行测试(不要忘记负面的测试用例),最好在实施之前进行测试。

是的,我可能有点夸张,但这只是为了阐明我的观点。 但是:我不认为我们实际上对每个单个类或函数中发生的事情感兴趣。 只要该类被“绿色”测试,我们大多数人甚至都不会理会单个函数的测试结果。 以同样的方式,我不确定我是否有时间对单元测试感兴趣,只要我的代码的行为被证实是可预测的和可预期的即可。

那么,怎么说呢? 我走错了路吗? 有测试行为而不是功能的实用方法吗? 最重要的是:由于这个问题,我能幸免于你的愤怒吗?

您是否看过BDD-行为驱动程序设计/开发?

有几个非常好的工具可以帮助您编写故事,并针对运行整个或部分受测应用程序的代码执行故事。

我一直在使用jBehave,但也有其他工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM