作者:[英]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
软件行业国家标准:GB8567-88计算机软件产品开发文件编制指南GB13502-92信息处理-程序构造及其表示法的约定GB8566-88计算机软件开发规范GB8567-88计算机软件产品开发文件编制指南GB8567-2006计算机软件文档编制规范GB9385-88计算机软件需求说明编制指南GB9386-88计算机软件测试文件编制规范GB-T9385-88计算机软件需求说明编制指南GB-T9386-88计算机软件测试文件编制指南GBT11457-2006信息技术软件工程术语GB-T12504-90计算机软件质量保证计划规范GB-T14079-93软件维护指南GB-T14394-93计算机软件可靠性和可维护性管理GB-T15532-95计算机软件单元测试GB-T16260-96软件产品评价质量特性及其使用指南GB-T16680-96软件文档管理指南GBT25000.1-2010软件工程软件产品质量要求与评价(SQuaRE)SQuaRE指南GBT25000.51-2010软件产品质量要求与评价商业现货(COTS)软件产品的质量要求和测试细则一系列软件生命周期文档规范:操作手册(GB8567——88)测试分析报告(GB8567——88)测试计划(GB8567——88)概要设计说明书(GB8567——88)开发进度月报(GB8567——88)可行性研究报告(GB8567——88)模块开发卷宗(GB8567——88)软件需求说明书(GB856T——88)数据库设计说明书(GB8567——88)数据要求说明书(GB856T——88)文件给制实施规定的实例(GB8567-88)详细设计说明书(GB8567——88)项目开发计划(GB856T——88)项目开发总结报告(GB8567——88)用户手册(GB8567——88)软件开发文档:测试报告、测试计划、概要设计说明书、开发结束报告、详细设计说明书、项目开发计划、需求规格说明书、用户手册范本及目录、封面等。
2023/10/31 13:46:40 26.39MB 国家标准 软件工程 规范文档
1
程序的预定表达式为:E->E+T,E->T,T->T*F,T->F,F->(E),F->i对该表达进行自上而下的语法分析输入匹配字符串时,结束输入最后加#例:请输入分析的字符串:i+i*i#
1
设计要求:(1)设计一个电子定时器,控制洗衣机做如下运转:定时启动正转25s暂停5s反转25s暂停5s如果定时未到,则回到“正转25s暂停5s……”,定时到则停止。
(2)若定时到,则停机发出音响信号。
(3)用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;
洗涤过程由“开始”信号开始。
(4)3只LED灯表示“正转”、“反转”、“暂停”等3个状态。
提示:(1)设计20s、10s定时电路。
(2)电路输出为“正转”、“反转”、“暂停”等3个状态。
(3)按照设计要求,用定时器的“时间到”信号启动相应的下一个定时器工作,直到整个过程结束。
2023/10/25 7:45:45 315.31MB FPGA
1
Windows2000Server安装录像大家好今天教大家Windows2000Server安装录像教程是以前录制的回放就好教程结束感谢大家的观看。
2023/10/24 4:08:25 18.46MB Windows2000Ser
1
用java实现类似金山打字法中的英文打字练习,设计一个英文打字测试软件。
从文件中调入英文录入材料,并将其显示到图形界面的窗口中,然后根据用户的按键依次设置窗口中字符的颜色(正确为12绿色,错误为红色),用户打字结束后可以给出错误率,以及平均录入速度。
2023/10/18 16:11:20 14KB 打字练习
1
要求:1、7人多数表决逻辑:多数通过。
2、在主持人控制下,10秒内表决有效。
3、采用数码管显示表决10秒倒计时。
4、表决结束后用发光二极管及数码管显示表决结果,数码管显示结果:通过、不通过,同意人数。
5、设主持人控制键、复位键。
          控制键:启动表决          复位键:系统复位6、表决开始、结束采用声音提示。
1
包含光照,交互,碰撞检测,游戏开始界面,结束界面等。
挺完整的一个期末大作业,大家互相学习。
2023/10/12 14:28:34 147.67MB 期末大作业 纯手写 无bug
1
系统是学期结束做的学期大作业,有免安装版直接测试功能,有完整的源码,保证完整无误,配置环境自行百度即可。
实现了人脸识别人脸标识,训练样本后能识别出训练对象,大家可以继续改进,学习
2023/10/11 15:14:49 12.79MB 人脸识别 自动标识 训练 检测
1
自己早期写的,主要做用是说明一下在没有操作系统的支持下利用BOIS读光驱引导系统的编写方法,自己设计一下从光驱安装操作系统的一个简单过程,好了,引用一下我空间的一段话吧:值得说了一点就是,光驱的引导代码和硬盘引导代码有一点不同,但BOIS也只读第一个扇区的内容并检查结尾处是否以“AA55”结束,这和硬盘是相同的,但光驱还有一点不同的是他的引导文件可以长达整个光盘内容(我从DOS光盘启动盘中读取过引导文件,是1.4M,我自己实验能把盘写入600M的引导文件)。
通过光盘引导代码把硬盘引导代码写入硬盘引导区从而为以后实现从光盘从安装系统到硬盘的过程打开重要的一关。
对了还要说一点的,光驱引导代码和硬盘的引导代码是分开编写的,这是因为BOIS读入引导代码时它们的物理地址都是一样的,如果两个代码写在一个文件内他们的指令逻辑地址会出错。
所以。


用nasm编译后用winhex把硬盘引导代码写入光盘引导代码之后,也就是光盘引导文件的第二个扇区的内容是硬盘引导代码。
光驱引导代码如下(cdboot.asm)只供参考而以,汇编交流,
2023/10/9 15:48:07 7.33MB 读光驱 源代码 BOIS 13h
1
共 565 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡