[MSDN]ASP.NET MVC2(12)MVC中的测试驱动开发

说明:本内容来自微软的webcast,讲师为苏鹏。视频没有书方便(想看哪页就看哪页),所以抄录要点和老师语录。

 

内容介绍

-          TDD介绍

-          ASP.NET MVC2 各层使用TDD方式

预备知识

-          安装VS2010

-          了解ASP.NET

-          了解TDD基础知识

-          了解设计模式基本概念

为什么需要TDD

 

TDD的由来

-          它是一种实现代码的方法论而不是一种测试方法。

它是一种开放方法而不是测试方法。

它是用来保证软件代码的架构而不是用来保证质量的。

它能辅助完成保证软件质量的工作。

设计的目标是开放驱动的顺序。

何谓TDD

clip_image002

过程:测试先行+重构+回归测试。

 

先根据工程用例写测试代码,写一个黑盒测试代码。

测试时检验工程外部接口的使用场景,而非具体的实现细节。

 

然后才是实现功能的外部接口,在实现的过程中,还要根据需要写一些单元测试。

单元测试不仅仅是实现接口,还包括内部的实现细节。就是白盒测试。

 

如果发现外部接口设计有问题则需要进行修改和重构。每次代码修改之后,或者增加新功能之前,都需要回归运行已有的所有测试。不仅仅包括先前的测试,还包括所有的单元测试。

 

 测试先行保证了所有的应用场景中,逻辑性和完备型,这是TDD的一大卖点。完成的逻辑性和完备性,不是算法的高效性和优效性。

 

重构是矫正功能语义的前提下,尽可能安全改进设计和实现。

 

回归测试,保证任何修改不破坏已有的功能。

 

特点——优点

提高编码效率

功能完整性和正确性。

 

为什么需要TDD

-          代码的质量更可靠

先找到功能点,写测试。

代码就是最好的文档。

 

TDD的工作方式

-          首先编写单元测试

-          编写代码用于通过测试

-          重构代码

-          迭代

第一步 编写测试代码

clip_image004

倒着来,写单元测试,再写代码。

第二步 编写应用代码

clip_image006

第三步 重构上面的代码

clip_image008

写好一个函数,然后将第一个函数黏贴复制,而不是将第一个函数加几个参数。这样是不对的,加几个参数,提高重用。

第四步 迭代

-          重复上面的工作

编写好的单元测试

-          测试技巧

1 不要越界

- 使代码测试工作帮助函数进行定位

一个测试就测试一个功能,不要测试跨类,跨接口,跨函数。

2 默认单元测试

clip_image010

三个步骤,实例化一个controller;实例化一个viewresult;是否为期望的结果。

3 单元测试要简洁

- 只测试自己写的代码

clip_image012

上面的View()为空,第二个才能测试AboutReturnsAbout

使用TDD的几个好处

-测试目标明确

-测试文档化

-测试安全

-测试提升质量

TDD推荐阅读参考书

-          Test Driven Development (理论)

-          Test-Driven Development In Microsoft.NET(实践)

 

ASP.NET MVC TDD

-          测试Routes

-          测试Controller

-          测试 View helpers

-          测试views

Testing Routes

-          Moq http://code.google.com/p/moq

clip_image014

Tesing Routes

clip_image016

Routertable 是一个全局变量,是static的。一个单元测试改变会影响另一个测试。

Testing Controllers

clip_image018

Tesing Vivw helpers

clip_image020

Testing Views

-          一般不由TDD进行测试

-         

 

测试CSS在不同的浏览器显示

测试Javascript性能

用户体验,一类用户使用习惯的归纳。

 

推荐资源

javascript高效编程》

 

附:

标题:粗体+斜体+黑色

ppt文字:宋体+黑色

作者语录:斜体+黑色/红色/蓝色

我的心得:@开头

posted @ 2012-01-29 09:42  yellowwood  阅读(326)  评论(0编辑  收藏  举报
Never Give UP