有一个小程序,我必须创建一些基本的数据转换/网关功能(从一个地方的网络下载,文本操作,网络上传到其他地方)。由于这部分软件负责提供多个子系统之间的连续数据流,它可能成为链中的单个故障点,因此对其进行彻底的测试是谨慎的。
我最初开始使用这个程序作为shell脚本,因为它看起来非常适合,因为它的功能可以使用普通的命令行程序以一种紧凑的方式实现。
然而,意识到测试的重要性,我想:“作为一个编译的程序重新实现它不是一个更好的解决方案吗?”
这很有可能导致一个更复杂的解决方案,因为不可能或不实际地为所有事情使用现成的库。但我的感觉是,这最终将提供更好的质量代码,因为这将减少在单元测试方面的妥协,特别是在具有集成测试工具的环境中。当然,我在为脚本编写测试方面没有太多经验,所以我可能有偏见。
这与一般意义上编译的脚本和编译无关,当然,其中的里程可能会有所不同,而且双方各有优缺点。对于测试工具来说,这也可能是正确的,因为我确信有一些方法可以彻底地测试脚本。不过,我们可以安全地说的一件事是,随着复杂性的增加,以shell脚本方式实现的项目的概率似乎降低了,我把它留在这里。
因此,在您的经验中,即使是在比较复杂的任务中,避免使用shell脚本也是一个明智的决定,仅仅是因为它看起来可能没有那么有效地测试吗?还是相反,即使我一开始就能选择不使用脚本,也值得学习测试脚本的艺术吗?
发布于 2020-08-27 16:52:12
下面是shell脚本的一些缺点,这些缺点会让我对“编译”案例做出决定:
下面是shell脚本的一些优点:
https://sqa.stackexchange.com/questions/45586
复制相似问题