33 | 如何做好验收测试?
该思维导图由 AI 生成,仅供参考
验收测试
- 深入了解
- 翻译
- 解释
- 总结
自动化验收测试是确认应用是否满足设计规范的重要环节。本文以行为驱动开发(BDD)为核心,介绍了一种自动化验收测试的方式。BDD通过使用业务语言描述测试用例,促进了业务人员与开发团队之间的协作。文章重点讨论了Cucumber作为BDD框架的应用,以及编写BDD测试用例的最佳实践。此外,还提到了其他验收测试方法和框架的存在,如Specification by Example和Concordion。总的来说,无论采用何种方法和框架,自动化验收测试的目的都是缩短业务人员与开发团队之间的距离,提高开发效率。读者可以从本文中快速了解到自动化验收测试的重要性和实际操作,对于想要深入了解如何做好验收测试的人具有一定的参考价值。
《10x 程序员工作法》,新⼈⾸单¥68
全部留言(18)
- 最新
- 精选
- 西西弗与卡夫卡之前团队就有人自己开发了一套DSL用来描述验收测试用例,自己跑各种测试,从构建依赖环境,启动虚拟机,到运行测试,不亦乐乎。我发现真有一类人迷恋这种做法,愿意把代码和测试代码以及验收测试代码写得很好,即便开始的时候要花比较多时间,他们非常享受测试通过后的绿色bar。虽然过于迷恋未必有利于项目,但据我观察大多有这样工作习惯的技术人员都很出色
作者回复: 我很喜欢一个说法,软件工匠,把写代码这件事当做手艺活来不断打磨。
2019-03-2731 - helloworld类似BDD这种行为驱动开发相关的内容,包括其已有的框架Concordion是第一次了解到,长见识了。不过在我的了解中,能够践行这种验收测试的公司应该很少吧?
作者回复: 做测试的程序员不多,做BDD的人就更少,所以,只要学会这些东西,就比业界大部分程序员水平高了。
2019-05-0512 - 行与修如果在理想状态下,单元测试、持续集成和系统测试等都做的很好,那么验收测试一把过是不是就顺理成章了甚至不需要了?它们几个在软件生命周期里侧重些什么?验收测试作为一个主题单独讲解是不是说明前几个还不能保证足够完善或者需要从别的视角对它们做出修正呢?
作者回复: 你都说了“理想状态”下,现实情况是,理想状态不存在。验收测试就是站在业务的视角看待系统的一个过程,而其它几个都是站在软件本身的角度在看。 以我对开发做测试这件事的理解来看,开发人员在测试用例设计上,与测试人员还是有很大差距的,测试人员总是可以探索出不同的角度打败你。
2019-03-318 - 苦行僧验收测试和常规的集成测试 有什么区别?
作者回复: 一般说集成测试,还是站在内部的角度,也就是技术的角度在说,而验收测试应该是站在业务的角度,没做好的另当别论。
2019-03-277 - 0xABC自动化验收测试确实是很好的东西,比如在回归测试,省去了很多的重复工作。但我理解BDD的初衷是驱动产品、业务、开发、测试等去深入讨论沟通需求,在还没有真的写代码的时候去实例化story,并一起定义验收用例,让每个人对需求的理解都很透彻,当然特别注意的是要从统一的业务角度去描述,可见,真的做好BDD是需要不断的尝试和总结的。
作者回复: 你的理解很对,BDD 不太可能一蹴而就,需要各方不断磨合。
2019-03-276 - Geek_fe0336请教老师,有真实项目中的一些验收测试的例子吗?有github上的项目可借鉴的吗?
作者回复: 我还真不知道哪个开源项目这么做,我都是在内部项目上这么做的。
2019-03-272 - enjoylearning作者给出的参考链接和一些参考书名都很好,国内项目实施BDD的很少吧,可能客户觉得这很浪费时间,或者他们觉得开发做这个他们要承受一些成本
作者回复: 不做的理由有一万个,做的理由有一个就够了!
2019-03-272 - 冰激凌的眼泪验收测试是不是针对业务需求的测试?
作者回复: 对,应该是这样的。
2019-03-272 - 宝宝太喜欢极客时间了老师,selenium跟Cucumber,端到端测试跟验收测试,有区别吗?
作者回复: 对比这里的例子,Selenium是用来实现这里的步骤定义的。
2019-03-272 - Jxin公司老项目,没有测试代码,更别说bdd自动化验收代码了。不过我在尝试为核心的一些业务补充测试代码。刚好可以研究下。有价值的活动不仅仅是写需求,如果只是验收需求,整成自动化验收成本是比较高的,业务不见个愿意买单。但如果说成减少测试队友重复工作,提高需求开发速度和项目可扩展性与健壮性(利于重构,而重构能产生以上价值),并给出大概的量化指标,大部分业务都会再斟酌下的。
作者回复: 关于遗留系统的讨论正在不远处等着你。
2019-03-271