作者:[英]MattWynne/[挪]AslakHellesy出版社:人民邮电出版社原作名:TheCucumberBook:Behaviour-DrivenDevelopmentforTestersandDevelopers译者:许晓斌/王江平这是一本半技术书籍,虽然是测试使用,但阅读它实在也需要一定的代码基础,所以可见,测试的技术含量越来越高了:D由于本人使用Java,所以忽略了12章以后的内容,由于它所使用到的那些框架都是基于Ruby。
本书分为3部分:1.基础2.进阶3.应用在第一部分,基础篇中,介绍了Gherkin语法,Cucumber的产生背景与适用范围,以及常见问题与解答。
Cucumber是一种系统行为的描述文件,它是活文档,应该时刻描述当前系统的正确行为,并且能够自动测试。
这一特性事实上也要求在写Cu..ber文件时,务必做到用户精准,不要重复场景,用书上的话来讲,就是同一句话,对且只对应系统中的唯一的一个行为。
Cu..ber主要用于在团队中进行沟通,语言必须能通用,要通用就要求隐藏技术细节,以自然语言去描述系统的行为,最经典的场景如:Given...When...Then...给定一定场景,当做什么操作时,会产生什么样的结果。
表格的使用,Backgroud关键字都是为了让特性文件能更简洁,也更易懂和富有表现力。
第二部分进阶篇中,介绍了一些高级的功能,比如:钩子和标签钩子是指@Before@After这种加上实现方法之前,在测试开始时和结束后执行一些特定的操作。
Cu...ber的步骤是全局的,同理,@Be..这类钩子也是全局的,Cu...ber的全局是大有深意的,因为它认为,特性中的所有有用步骤,只能对应一种系统的行为。
若需要让其支持单个场景,则需要对在钩子后面加上标签的方式。
标签同钩子形式相同,可以在场景和特性关键词上加标签。
对于特性(Feature)的标签,会加在每个场景上。
Cu...ber可以对一组标签进行测试。
Cu...ber测试中(可以推而广之到任何测试中),凡是有数据库参与,需要在测试之前保证数据库是干净的,并且当前测试不会遗留下数据影响到下一个测试。
可以使用事务和Truncate的方式来保证这点,实际上,只要测试环节所需要的数据都由Given中提供,则不会有问题。
第三部分讲应用,基本上都是基于Ruby的一些库,但11章的命令行使用方式还是很有意义的,Cu...ber本身就是一个命令行工具,通过命令行,可以对特性文件进行一些过滤,对输出格式进行定制,以及集成到持续集成中。
命令行命令可以使用帮助:--help一些重要的命令:--tags过滤标签--lines指定行执行xxx.feature:45指定行的另一种形式--format格式化输出如果真能把Cucumber用起来,用严肃的态度对待每一个步骤,以测试驱动开发,做出来的项目质量应该能大上一个台阶的,是个很好的工具。
2023/11/3 8:45:35 6.7MB 软件测试
1
测试驱动开发实用指南__(美)DavidAstels著;
崔凯译_北京:中国电力出版社_P478_2004.09_11289415
2023/10/17 16:50:54 28.33MB 测试驱动开发 PDF 带书签目录 完整
1
TDD(Test-DrivenDevelopment)测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。
TDD得原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。
TDD虽是敏捷方法的核心实践,但不只适用于XP(ExtremeProgramming),同样可以适用于其他开发方法和过程。
TDD得基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。
TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。
TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
2023/10/6 15:37:02 7.46MB TDD(Test-Driven Development) SpringMVC
1
测试驱动的编程是XP困扰程序员的一个方面。
对于测试驱动的编程意味着什么以及如何去做,大多数人都做出了不正确的假设。
这个月,XP方面的讲师兼Java开发人员RoyMiller谈论了测试驱动的编程是什么,它为什么可以使程序员的生产力和质量发生巨大变化,以及编写测试的原理。
请在与本文相随的论坛中提出您就本文的想法,以飨笔者和其他读者。
(您也可以单击本文顶部或底部的“讨论”来访问该论坛。
)最近50年来,测试一直被视为项目结束时要做的事。
当然,可以在项目进行之中结合测试,测试通常并不是在所有编码工作结束后才开始,而是一般在稍后阶段进行测试。
然而,XP的提倡者建议完全逆转这个模型。
作为一名程序员,应该在编写代码之前编写测试,然后只编写足以让测试通过的代码即可。
这样做将有助于使您的系统尽可能的简单。
先编写测试XP涉及两种测试:程序员测试和客户测试。
测试驱动的编程(也称为测试为先编程)最常指第一种测试,至少我使用这个术语时是这样。
测试驱动的编程是让程序员测试(即单元测试―重申一下,只是换用一个术语)决定您所编写的代码。
这意味着您必须在编写代码之前进行测试。
测试指出您需要编写的代码,从而也决定了您要编写的代码。
您只需编写足够通过测试的代码即可―不用多,也不用少。
XP规则很简单:如果不进行程序员测试,则您不知道要编写什么代码,所以您不会去编写任何代码。
测试驱动开发(TDD)是极限编程的重要特点,它以不断的测试推动代码的开发,既简化了代码,又保证了软件质量。
本文从开发人员使用的角度,介绍了TDD优势、原理、过程、原则、测试技术、Tips等方面。
背景一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。
国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从。
最近兴起的一些软件开发过程相关的技术,提供一些比较高效、实用的软件过程开发方法。
其中比较基础、关键的一个技术就是测试驱动开发(Test-DrivenDevelopment)。
虽然TDD光大于极限编程,但测试驱动开发完全可以单独应用。
下面就从开发人员使用的角度进行介绍,使开发人员用最少的代价尽快理解、掌握、应用这种技术。
下面分优势,原理,过程,原则,测试技术,Tips等方面进行讨论。
1.优势TDD的基本思路就是通过测试来推动整个开发的进行。
而测试驱动开发技术并不只是单纯的测试工作。
2023/9/24 18:44:46 360KB 测试驱动开发 TDD
1
光照强度传感器TSL2561的测试驱动代码,基于STM32F103的TSL2561驱动程序
2023/9/21 5:07:12 1KB TSL2561 STM32
1
目标利用流量控制的构建方法阅读和理解测试输出以开发工作程序更加熟悉测试驱动开发的概念关于本指南的注释之前,我们已经介绍了测试驱动的开发,阅读和理解RSpec测试的概念。
每次您运行learn来运行实验室的测试时,您都在运行RSpec测试套件-这就是我们在Learn上构建实验室的方式。
您已经阅读这些测试已有一段时间了,但是TDD是一个重要的话题,我们将在这里进行仔细研究。
仍然没有要求您编写自己的测试。
我们只是想了解测试的目的,稍微了解一下其背后的理念,以及更多关于如何更好地阅读RSpec测试的知识。
请记住,当我们引用RSpec或rspec,这等效于运行“learn或“learntest命令,该命令调用spec的“学习”测试文件。
您必须安装了learn-cogem。
如果您通过“学习”设置环境并且之前使用过“learn命令(很可能到目前为止已经做了),
2023/8/24 13:41:56 14KB Ruby
1
KentBeck敏捷开拓开山祖师的典型著述。
这本著述解开了我对于测试驱动开拓的许多迷惘,极其不错;
她极其看重实际,并非一味教学实际。
并且书也不是很厚,多少天就能够看完的一本书。
(当然需要未必的底子,假如连编程都不会,那末不是一回事了)为甚么提供中文版以及英文版?英文版因此很轻松的方式在教学一本书,大概表白方式不是那末书面化,导致中文翻译下场很不梦想。
有些中间翻译导致先后没法知道,起码我是知道不了,头都大了,所以看中文的时候,假如有不知道,能够看看英文,如许能够准确知道作者的意思。
2023/5/14 14:20:13 8.16MB 测试驱动开发 Java 中文版 英文版
1
本文首要经由小例子,介绍下单元测试、集成测试、测试驱动开拓等相关不雅点。
单元测试是经由写代码来测试代码的一个小单元测试方式。
在一个单元测试中,一次只能测试一个类。
譬如,假如你正在测试一个使用类File,而另一个测试类Du妹妹yFile是用来消除了对于物理文件体系的需要,单元测试的测试类逻辑应该被测试。
为了使class实现从其实到虚/存根之间切换,接口替换真正的类使用。
所以,你的类应使用IFile或者IDatabase而不是直接使用File以及Database。
集成测试,也叫组装测试或者松散测试。
在单元测试的底子上,将齐全模块依据方案申请(如依据结构图)组装成为子体系或者体系,举行集成测试。
譬如:正在测试Cu
1
TDD,RSpec和学习简介目标定义代码测试的目的。
阅读RSpec测试。
通过learn命令运行测试。
了解测试输出。
编写代码以使包含的测试通过。
定义测试测试会验证您编写的代码是否起作用并产生所需的结果。
您将在学习使用测试中完成许多实验。
起初它感觉像是一个抽象概念,但是值得一开始理解。
这样做将帮助您提高学习效率。
除此之外,了解测试非常重要,因为测试驱动的开发(TDD)被认为是交付质量代码的最可靠方法。
定义TDD测试驱动的开发是一个很大的话题,并且一段时间不会编写自己的测试。
不过,这是一个重要的概念,因此我们将在此简要介绍。
TDD背后的基本思想是,在开始编码之前,您应该考虑一下程序要做什么以及代码的行为方式。
尤其是当您开始编写更复杂的程序或开发应用程序时,将这种思想带入您的开发过程将有助于您编写健壮的代码(不会不断中断),灵活的代码(适应未来的变化和
2023/1/28 18:25:48 11KB Ruby
1
Python测试驱动开发:运用Django、Selenium和JavaScript进行Web编程非扫描版可编辑电子书
2018/3/2 5:46:02 10.95MB TDD Python
1
共 27 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡