推荐阅读:5 Ways to Revolutionize Your QA

James Whittaker,两个月前还是微软Visual Studio的一个产品经理,好像是负责VSTS 2010的最新产品Lab Managment。现在已经跳槽到Google做测试总监了。

若干个月前他在utest有一个讲座,题目是《5 Ways to Revolutionize Your QA》,今天早上我又翻出这个文档仔细看了看,觉得真是受益匪浅,推荐推荐,在这里可以下载《5 Ways to Revolutionize Your QA》

主要讲了5条:

Insight 1:  There are two types of code and they require different types of tests
Insight 2:  Take your testing down a level from features to capabilities
Insight 3:  Take your testing up a level from test cases to techniques
Insight 4:  Improving development is your top priority
Insight 5:  Testing without innovation is a great way to lose talent

其中我个人对第一条和最后一条感触比较深,第一条里面提到了当年Vista就是过分信任自动化测试,结果……大家都能看到;第五条就解释了为什么在测试这个行业,大牛那么少,而牛人又经常转做开发或者别的工作去了。

James Whittaker在微软的博客

James Whittaker现在偶然会在Google Testing Blog(哎,要翻墙才能看)发表文章

用Python脚本对ASP.NET站点进行预热

很多人可能都会注意到,当一些新的代码部署到一个ASP.NET的站点后,第一次访问的时候是非常慢的,有可能需要等待超过一分钟;如果我们更新了站点的bin目录下的一些dll文件,那么这种情况会变得更加明显。当第一个页面请求到达服务器的时候,IIS会重新编译文件,这时候可以观察到w3wp.exe和csc.exe都会占用很多CPU。我们不希望用户是IIS重启之后第一个访问者,所以每台服务器在上线之前,都需要做预热处理。所谓预热处理,原理很简单,就是向目标服务器发送一些HTTP请求,从而触发服务器对文件进行编译,实现预热。

为什么用Python?一位大师曾经说过,程序员要每6个月就要学习一门新的语言(这个要求还真苛刻),所以决定学习一下Python。

需求:其实这个需求特别简单
1. 发送HTTP请求,Python自带的httplib库就能满足这个需求了
2. 多线程访问不同的站点,现在MySpace常用站点至少有4个
3. 指定服务器的IP,因为测试的服务器也有多台
4. 获取HTTP请求的状态
5. 需要在登录状态下进行预热
Continue reading “用Python脚本对ASP.NET站点进行预热”

在测试项目中应用Pex的经验分享

Pex是微软研究院开发的一个自动化白盒测试工具,前面我也写过一些博客来对Pex进行介绍,上周决定正式把Pex应用到真正的项目中,不过效果没有想象中的好,不过还是决定记录下一些心得。

1. 关于测试类名称和测试方法名称

为了把Pex和其他的单元测试方法区分开来,本人选择了把所有Pex的测试都以PexTest作为方法名和类名的前缀。因为Pex会根据已经写好的PUT(Parameterized Unit Test)生成一般的单元测试代码,规则可以自定义,一般都是PUT的名字然后跟上01,02,03……如果我们以PexTest作为前缀,那么就比较容易区分PexTest和普通的单元测试。

2. 每个PexTest都会生成一些普通的单元测试代码,这些代码都是存放在一个叫{TestMethodName}.g.cs的文件中,对于这个文件里面代码,不建议手动修改。

3. 在组织测试代码的时候,应该吧PexTest和一般的单元测试分开,如图:

test

4. 如果需要测试Singleton实例中的方法,需要给这个实例创建一个带有[PexFactoryMethod]属性的方法,来告诉Pex如何获得Singleton实例。例如:
Continue reading “在测试项目中应用Pex的经验分享”