我正在开发一个大型GUI程序,即使经过多年的开发,我仍然没有一个测试用例。我通过使用Eiffel以及纪律编码和按合同设计来消除了很多需求。
但有时我觉得进行单元测试可能会对我有所帮助。但是每当我尝试写下来时,我很快就会遇到GUI测试的问题(恕我直言仍然是研究方面的公开挑战)并试图将代码与环境隔离似乎更加困难。
将我的工作视为为Eclipse之类的东西编写非常复杂的插件。
所以我的新想法是为应用程序添加一个Lua脚本接口,并在程序内运行测试而不是单独的单元测试。或者我是否应该尝试花费大量的重构时间(和模拟对象编写)来使应用程序单元测试能够运行?
答案 0 :(得分:0)
脚本编写是测试的一个非常糟糕的选择,因为:
如果您因某些其他原因碰巧在您的产品中编写脚本,那么测试它显然是必要的。但是纯粹为了测试而添加它几乎不会是一场胜利。
单元测试(或单元式集成测试)可能是最明显的替代方案。其他人是:
您选择的应该主要取决于您的客户可以接触到的错误的种类和数量。
答案 1 :(得分:0)
作为平衡的测试方法的一部分,这可能是一个好主意。 soru注意到的缺点是有效的,但根据项目的不同,这些可能会或可能不会有什么大不了的。
有人说,通过嵌入式脚本引擎进行自动化测试的另一个缺点是,编写测试可能很麻烦。测试作者需要了解应用程序模型,应用程序模型需要支持脚本。类和方法需要暴露给脚本引擎,并且这种支持可能不稳定,具体取决于项目或您尝试测试的项目的一部分。根据我的经验,这导致挖掘源代码以确定需要调用哪些类/方法来编写测试(尽管,作为测试人员,挖掘源代码并不是一个坏主意)。
答案 2 :(得分:0)
在我看来,任何测试方法都会:
......值得做。
单元测试只是达到目的的手段。
如果你的直觉告诉你在嵌入式Lua中编写测试会给你带来最大的收益,我说去吧。