- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单元测试框架-Read.ppt
测试驱动开发与代码重构-TDD Refactoring
2007-03-16
张永吉
技术特质
开放
坦诚
勇气
批评和自我批评
快乐
沟通
团队协作
软件开发的现实
随着时间的改变,软件也会改变。
每个人都愿意去维护整齐优美的代码。
但是:
如何应付软件随时间的改变而改变?
如何编写健壮优美的代码?
没有进行单元测试的软件开发过程
编写代码
调试, 肉眼观察
有问题
没问题(自认为)
可交付的代码
编译
修正编译错误
测试驱动开发过程
编写测试
编译
修正编译错误
运行测试, 看它失败
写点代码
运行测试, 使其通过
重构代码
可
交
付
代
码
测试哲学
不存在不能进行自动测试的程序。[Kent Beck]
测试驱动开发技术
单元测试技术
对代码片断外部行为的验证
单元测试应该是交付代码的必不可少的一部分。
代码重构
不改变代码的外部行为而改变其内部结构使其更好理解,更容易扩展的过程
单元测试是重构成功的关键。
重构准则:改变一小步,测试,然后再改变一小步,测试……
单元测试框架
DotNet
Nunit
TestDriven.Net
Nmock
Rhino Mock
Java
Junit
Jmock
EasyMock
Demo-最简单的一个单元测试
Nunit的Attribute属性说明
[TestFixture] – 表明类
[Test] -- 表明此方法是一个单元测试方法
[Ignore] -- 略过一个测试
测试执行过程
执行SetUp
执行测试方法1
执行TearDown
执行SetUp
执行测试方法2
执行TearDown
…..
执行SetUp
执行测试方法n
执行TearDown
JUnit
assertTrue(String message, Boolean test)
assertFalse(String message, Boolean test)
assertNull(String message, Object object)
assertNotNull(String message, Object object)
assertEquals(String message, Object expected, Object actual) (uses equals method)
assertSame(String message, Object expected, Object actual) (uses == operator)
assertNotSame(String message, Object expected, Object actual
NUnit
Assert.AreEqual(Object o1, Object o2);
Assert.AreNotEqual(Object o1, Object o2);
Assert.AreSame(Object o1, Object o2);
Assert.AreNotSame(Object o1, Object o2);
Assert.IsTrue(bool condition);
Assert.IsFalse(bool condition);
Assert.IsNull(Object o);
Assert.IsNotNull(Object o);
编写单元测试的十大理由
测试能减少增加新功能时的bug
测试是最好的程序说明文档
测试能降低改变代码的代价
测试能改善代码的设计
测试是重构成为可能
测试强制你去思考软件实现的细节
测试能加快开发进程
测试能减少编写代码的恐惧,带来自信
测试使你的每一片代码都建立的在扎实的基础之上。
可用于回归测试,提高代码的可维护性, 保证代码长期质量。
xUnit测试家族
Junit
Nunit
HtmlUnit
DbUnit
JsUnit
…..
Demo-猜数字
关键点分析:
随机生成不重复的4位数字
根据游戏者输入的数字,验证并返回结果
技术和工具
Winform
C#
Nunit独立版
大话西游之单元测试[转载]
“我知道这个项目bug很多,无法按时完成,即使老板把我炒了也是应该的。曾经有一个做单元测试的机会放在我面前,我没有珍惜,等到后来项目雪崩了才后悔。如果上天能给我再来一次机会的话,我会对老板说:我要做单元测试!如果一定要在单元测试上加个日期,我希望是一直。
可怜的老兄,我早该告诉他应该先测试,再编码.
参考资料-书
测试驱动开发实践指南
从头到尾讲解一个测试驱动开发的实际例子[java]
Pragmatic Unit Testing in C# with Nunit
实用程序员系列,短小精悍,简单易懂
Pragmatic Unit Testing in Java with J
您可能关注的文档
- 关于评选表彰优秀商业企业家和优秀商业职业经理人的-浙江省商业总会.doc
- 关于鑫元货币市场基金元旦假期前暂停大额申购(转换转入、定期定额.PDF
- 关於管线配管的一些参考资料.PDF
- 关系代名词子句.doc
- 关系库工具说明.doc
- 关系系统查询优化.PDF
- 关键性设备和系统的标识及可靠性保障程序-舟山海星轮船有限公司.doc
- 兴业基金管理有限公司关于新增通华财富、基煜基金为旗下部分基金代销.PDF
- 其他色彩调整.ppt
- 其它类型液体输送机械.PDF
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)