- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
1111111测试驱动的设计和开发
(TestDrivenDesignandDevelopment)
基础篇CharlesHuangWatsonTaoWithcontributionbyEricL
你的代码工作吗?1111112“这段代码很简单,不可能出错”“我试过了,它是正常工作的呀”“我用Debugger测试过了,我遍历了所有程序分支,内存中的值都是对的”最好的方法是写一段另外的代码来证明它,让电脑来告诉我们它是工作的。
XP中的测试1111113AcceptanceTest(FunctionalTest)NightlyTestUnitTestRegressionTestStressTest所有的测试都应该独立地自动的运行
什么是单元测试(UnitTest)1111114单元测试是一段能够放在批处理中自动运行的,用来测试Classes的程序。单元测试测试一小段代码或一个足够小的功能。单元测试程序调用这小段代码或功能,并验证返回的结果是否符合预先设定的结果。每个单元测试至少应该有两个测试例子(TestCase):NegativePositive单元测试是软件工程的一个关键部分。
什么是AcceptanceTest1111115AcceptanceTestareprogramsorscriptsconfiguredtotestthatpackages(groupsofclustersofclasses)meetexternalrequirementsandachievegoals,suchasperformance.Theyincludescreen-drivingprogramsthattestGUIsfromwithout.AcceptanceTest是对软件做End-To-End的测试,衡量软件是否符合用户需求的指标,也就是验收测试。
什么是RegressionTest1111116“Regressiontestingistheprocessofvalidatingmodifiedpartsofthesoftwareandensuringthatnonewerrorsareintroducedintopreviouslytestedcode.”一句话,RegresstionTest就是要重新测试所有的代码和功能。RegressionTest和DevelopmentTest的不同在于RegressionTest需要重用已经建立的所有的测试单元(UnitTest)和功能测试套件(FunctionalTest)。RegressionTest的基础是完整的自动单元测试和功能测试。
什么是NightlyTest1111117NightlyTest就是每晚自动运行所有的UnitTest和AcceptanceTest。01NightlyTest可以准确的反映项目开发的进度和质量。03NightlyTest是XP中的ContinuousTest的一个练习(Practice)NightlyTest1111118NightlyTest是软件开发中一个保证开发之质量的最有效的方法,也是衡量软件之质量和开发效率的最好的指标。NightlyTest就是每天工作结束,所有的代码都Checkin到SourceControl后,自动运行所有的UnitTest和FunctionTest。测试的结果应该自动分发给开发人员和管理层。两个指标数值:测试例子的通过率–单元测试必须是100%通过。FunctionalTest应该按计划的通过。单元测试的覆盖率–表明有多少Class被测试过和测试的完善程度。
测试优先的编程1111119在写任何代码之前,先写它的UnitTest。“Neverwritealineoffunctionalcodewithoutabrokentestcase”KentBeckTest-FirstProgramming是一种测试技术吗?Test-FirstProgramming首先是一种分析方法。它迫使程序员仔细思考要做什么和不要做什么(而不是如何具体的实现)。特别是各种例外的情况,并用程序语言正式的写下来。这就好像在程序员的任务和程序员之间签订了一个清晰的正式合同。Test-FirstProgramming是一种设计方法。UnitTest测试的事程序,而不是一个想法。程序员必须清晰的定义程序的界面才能写出它的UnitTest。而这时程序员是不知道(也不需要知道)
您可能关注的文档
最近下载
- 山东省青岛市2024-2025学年七年级上学期11月期中英语试题.docx VIP
- 灼热丝试验规范.doc VIP
- 不动产登记实务培训教程课件.pptx VIP
- 高中语文统编版必修 下册(2019)_2022届高考语文二轮复习“科幻小说与魔幻现实主义小说”专练 .doc VIP
- 小学语文大阅读《奇妙的数王国》 指导课件.pptx
- 灼热丝试验及标准.docx VIP
- 新能源零基础知识培训课件.pptx VIP
- 2025年上海市时事政治考试试卷带解析(考试直接用).docx VIP
- 2025年上海市时事政治考试试卷带解析含答案(考试直接用).docx VIP
- 高等有机化学 周环反应.ppt VIP
文档评论(0)