Time will tell.
在敏捷方法中,持续集成
是其基石,持续集成的核心是自动化测试
。关于测试金字塔,来自Martin Fowler
。
测试金字塔的概念来自Mike Cohn
,在他的书《Succeeding With Agile》中详细描述着:“测试金字塔最底层是单元测试
,然后是业务逻辑
测试,最后是端到端的测试(GUI或CLI
)。”
在职业生涯中,多次听到过自动化测试
,自动化测试
意味着端到端的通过界面完成的测试。完成这种自动化测试的工具一般是录制然后回放,初始使用很容易,不需要任何编码技能
。
不过你使用一段时间后就会遇到很多麻烦,GUI的自动化测试运行速度都很慢导致版本发布速度下降,同时完成自动化测试的软件,一般都是商业软件需要 license 因此只能在特定的机器上部署,且不容易通过脚本集成。
GUI测试用例还很脆弱,如对系统的一些修正可能导致很多用例的失败,这时候你需要重新录制。你可以放弃录制的方法来解决这个问题,通过写GUI测试代码,但是这样效率非常低。就算你已经很精通了GUI测试代码的编写,端到端的GUI测试用例也很容易出现不可预期结果的问题-一些用例成功一些用例失败,因