<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>孙立文的博客 &#187; Testing</title>
	<atom:link href="http://sunliwen.com/tag/testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://sunliwen.com</link>
	<description>Never lose my passion!</description>
	<lastBuildDate>Sat, 21 Jan 2012 05:16:52 +0000</lastBuildDate>
	<language>zh</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>单元测试相关视频和播客</title>
		<link>http://sunliwen.com/2008/12/unit-testing-videos-and-podcasts/</link>
		<comments>http://sunliwen.com/2008/12/unit-testing-videos-and-podcasts/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 06:16:20 +0000</pubDate>
		<dc:creator>Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=718</guid>
		<description><![CDATA[StackOverflow的关于单元测试的讨论中看到了如下资源，列出备查 The Clean Code Talks has some of Miško Heverys lectures at Google. New episodes are posted at the Google Testing Blog as they arrive. Some of the GTAC 2008 (Google Test Automation Conference 2008) videos are pretty interesting. Automated Testing Patterns and Smells Becoming a Software Testing Expert is not really about unit testing, [...]]]></description>
			<content:encoded><![CDATA[<p>StackOverflow的关于单元测试的<a href="http://stackoverflow.com/questions/387326/unit-testing-videos-or-pod-casts#388466" target="_blank">讨论</a>中看到了如下资源，列出备查</p>
<blockquote>
<ul>
<li>The <a rel="nofollow" href="http://www.youtube.com/view_play_list?p=BDAB2BA83BB6588E">Clean Code Talks</a> has some of <a rel="nofollow" href="http://misko.hevery.com/">Miško Hevery</a>s lectures at Google. New episodes are posted at the <a rel="nofollow" href="http://googletesting.blogspot.com/">Google Testing Blog</a> as they arrive.</li>
<li>Some of the <a rel="nofollow" href="http://www.youtube.com/view_play_list?p=4E81859265562302">GTAC 2008</a> (Google Test Automation Conference 2008) videos are pretty interesting.</li>
<li><a rel="nofollow" href="http://www.youtube.com/watch?v=Pq6LHFM4JvE">Automated Testing Patterns and Smells</a></li>
<li><a rel="nofollow" href="http://www.youtube.com/watch?v=3FTwaojNkXw">Becoming a Software Testing Expert</a> is not really about unit testing, but helps you get into the tester mindset</li>
<li><a rel="nofollow" href="http://www.youtube.com/watch?v=aAb7hSCtvGw">How To Design A Good API And Why It Matters</a> briefly touches on testability.</li>
<li>Browsing the <a rel="nofollow" href="http://www.se-radio.net/tags/testing">testing</a> tag on se-radio reveals some interesting podcasts</li>
<li>Check out the videos from the Test track of Öredev 2007 (<a rel="nofollow" href="http://www.oredev.org/toppmeny/video/november13.4.3f1ff754117a0ed3480800013820.html">1</a>, <a rel="nofollow" href="http://www.oredev.org/toppmeny/video/november14.4.3f1ff754117a0ed3480800013882.html">2</a>), I especially liked the &#8216;testable architecture&#8217; one.</li>
<li>The <a rel="nofollow" href="http://www.infoq.com/Testing">Testing</a> sub-site of InfoQ is also worth a visit for more (text, audio, video) resources</li>
</ul>
</blockquote>
<blockquote>
<div class="post-text">
<p>At <a rel="nofollow" href="http://www.dnrtv.com/">Dnr TV</a> there are two episodes with JP Boodhoo, where he gives an introduction to test driven development:</p>
<ul>
<li><a rel="nofollow" href="http://www.dnrtv.com/default.aspx?showNum=10">Test Driven Development with JP Boodhoo, Part 1</a></li>
<li><a rel="nofollow" href="http://www.dnrtv.com/default.aspx?showNum=11">Test Driven Development with JP Boodhoo, Part 2</a></li>
</ul>
<p>If you want to see unit testing and TDD used together with a whole bunch of other agile practices, I would recommend watching the sceencast series <a rel="nofollow" href="http://autumnofagile.net/"><strong>Autumn of Agile</strong></a>. This series shows the development of a fully unit tested application from start to finish.</p>
<p>As for podcasts, check out the following:</p>
<ul>
<li><a rel="nofollow" href="http://polymorphicpodcast.com/shows/bock/">Polymorphic Podcast &#8211; Jason Bock on Unit Testing, Code Coverage &amp; Analysis</a></li>
<li><a rel="nofollow" href="http://perseus.franklins.net/hanselminutes_0031.mp3">Hanselminutes &#8211; Scott Hanselman on Test Driven Development</a></li>
<li><a rel="nofollow" href="http://www.se-radio.net/podcast/2007-10/episode-70-gerard-meszaros-xunit-test-patterns">Software Engineering Radio &#8211; Gerard Meszaros on XUnit Test Patterns</a></li>
</ul>
<p>Since mock objects are a quite important part of unit testing, these podcast episodes might be of interest as well:</p>
<ul>
<li><a rel="nofollow" href="http://www.hanselminutes.com/default.aspx?ShowID=43">Hanselminutes &#8211; Scott Hanselman on Mock Objects</a></li>
<li><a rel="nofollow" href="http://www.dotnetrocks.com/default.aspx?ShowNum=278">Dot Net Rocks &#8211; Eli Lopian on TypeMock.Net</a></li>
<li><a rel="nofollow" href="http://www.dotnetrocks.com/default.aspx?ShowNum=224">Dot Net Rocks &#8211; Oren Eini on RhinoMocks</a></li>
<li><a rel="nofollow" href="http://www.dotnetrocks.com/default.aspx?ShowNum=402">Dot Net Rocks &#8211; Oren Eini on RhinoMocks 3.5</a></li>
</ul>
</div>
</blockquote>
<div style=float:left><!-- JiaThis Button BEGIN -->
<div id="ckepop">
	<a class="jiathis_button_tsina"></a>
	<a class="jiathis_button_douban"></a>
	<a class="jiathis_button_instapaper"></a>
	<a class="jiathis_button_stubleupon"></a>
	<a href="http://www.jiathis.com/share?uid=1544311" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank"></a>
	<a class="jiathis_counter_style"></a>
</div>
<script type="text/javascript">var jiathis_config = {data_track_clickback:true};</script>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js?uid=1544311" charset="utf-8"></script>
<!-- JiaThis Button END --></div><hr />
<p>
<small>
Tags: <a href="http://sunliwen.com/tag/testing/" rel="tag">Testing</a><br/>
<a href="http://sunliwen.com/2008/12/unit-testing-videos-and-podcasts/#comments-heading">没有评论</a>
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://sunliwen.com/2008/12/unit-testing-videos-and-podcasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://perseus.franklins.net/hanselminutes_0031.mp3" length="21179854" type="audio/mpeg" />
		</item>
		<item>
		<title>.NET Testability Explorer</title>
		<link>http://sunliwen.com/2008/12/dotnet-testability-explorer/</link>
		<comments>http://sunliwen.com/2008/12/dotnet-testability-explorer/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 03:59:05 +0000</pubDate>
		<dc:creator>Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=48</guid>
		<description><![CDATA[在负责一个Unit Testing on CAB的内部培训项目期间，我阅读了Miško Hevery的一系列文章，他目前在Google担任敏捷教练。我对他的Testability Explorer(简称GTE) 产生了浓厚兴趣。 虽然Java和.Net世界已经有一些类似工具存在，但GTE这个项目实现功能比较专一，输出结果也直接易懂。相对NDepend强大但相对复杂和FxCop官方但略显强硬，GTE这个项目从形式上来说更有亲和力。所以我和Joe同学在Google Code上开始了一个新项目: .NET Testability Explorer(简称NTE)。 功能受众是期望对输出的.NET Assembly进行分析的开发人员，报告中提供的信息可以帮助他们对设计进行调整，从而使code base更容易测试和维护。 计划是，首先实现圈复杂度的度量，然后实现输出类似GTE形式的报告。希望能够在09年农历新年前发出第一个版本。 目前TE的成本模型支持对全复杂度、全局变量和笛米特法则的计算。 技术层面可以参考Gendarme这个项目，一个基于Mono.Cecil的代码分析工具。 Updates 20081221 项目分成两部分：IL分析，基于规则的成本模型计算 IL分析：目前IL分析方面的技术调研实现了类型，字段，方法级别的读取。剩下最大的一部分是方法中instruction的decompose，这部分估计占全部的40%工作量。但是我需要从成本模型分析的方向进行分析，确定在decompose过程中所需要收集的信息，所以先完成大概10%遍历所有instruction构建一个草图模型。目标是实现最简单的圈复杂度的计算。 成本模型：完成大概10%-20%的基础模型构建，支持全复杂度的计算。 下一步，重构设计使其能支持更多的规则考量，并增强其可扩展性。 目前从代码量来看完成了TE全部功能的1/6，考虑到TE支持对C++语言的分析，折半其工作量，目前大概完成了全部工作的1/3。 目标定于在完成一半的时候提交代码到Google Code，并发布第一个可运行的版本。时间定于08年圣诞节期间。新的计划是春节之前，发布第一个可运行的版本，并将代码提交。 Tags: Mono, Testing 2个评论]]></description>
			<content:encoded><![CDATA[<p>在负责一个Unit Testing on <a title="Smart Client - Composite UI Application Block" href="http://msdn.microsoft.com/en-us/library/aa480450.aspx">CAB</a>的内部培训项目期间，我阅读了<a href="http://misko.hevery.com/" rel="nofollow">Miško Hevery</a>的一系列文章，他目前在Google担任敏捷教练。我对他的<a href="http://code.google.com/p/testability-explorer/">Testability Explorer</a>(简称GTE) 产生了浓厚兴趣。</p>
<p>虽然Java和.Net世界已经有一些类似工具存在，但GTE这个项目实现功能比较专一，输出结果也直接易懂。相对<a href="http://www.ndepend.com/">NDepend</a>强大但相对复杂和<a href="http://blogs.msdn.com/fxcop/">FxCop</a>官方但略显强硬，GTE这个项目从形式上来说更有亲和力。所以我和Joe同学在Google Code上开始了一个新项目: <a href="http://code.google.com/p/dotnet-testability-explorer/">.NET Testability Explorer</a>(简称NTE)。<br />
功能受众是期望对输出的.NET Assembly进行分析的开发人员，报告中提供的信息可以帮助他们对设计进行调整，从而使code base更容易测试和维护。</p>
<p>计划是，首先实现圈复杂度的度量，然后实现输出类似<a href="http://testabilityexplorer.org/report">GTE形式的报告</a>。希望能够在09年农历新年前发出第一个版本。<br />
目前TE的成本模型支持对全复杂度、全局变量和笛米特法则的计算。</p>
<p>技术层面可以参考<a href="http://mono-project.com/Gendarme">Gendarme</a>这个项目，一个基于<a href="http://www.mono-project.com/Cecil">Mono.Cecil</a>的代码分析工具。</p>
<p><em>Updates 20081221</em><br />
项目分成两部分：IL分析，基于规则的成本模型计算</p>
<p>IL分析：目前IL分析方面的技术调研实现了类型，字段，方法级别的读取。剩下最大的一部分是方法中instruction的decompose，这部分估计占全部的40%工作量。但是我需要从成本模型分析的方向进行分析，确定在decompose过程中所需要收集的信息，所以先完成大概10%遍历所有instruction构建一个草图模型。目标是实现最简单的圈复杂度的计算。<br />
成本模型：完成大概10%-20%的基础模型构建，支持全复杂度的计算。<br />
下一步，重构设计使其能支持更多的规则考量，并增强其可扩展性。<br />
目前从代码量来看完成了TE全部功能的1/6，考虑到TE支持对C++语言的分析，折半其工作量，目前大概完成了全部工作的1/3。</p>
<p><del datetime="2009-01-09T10:11:57+00:00">目标定于在完成一半的时候提交代码到Google Code，并发布第一个可运行的版本。时间定于08年圣诞节期间。新的计划是春节之前，发布第一个可运行的版本，并将代码提交。</del></p>
<div style=float:left><!-- JiaThis Button BEGIN -->
<div id="ckepop">
	<a class="jiathis_button_tsina"></a>
	<a class="jiathis_button_douban"></a>
	<a class="jiathis_button_instapaper"></a>
	<a class="jiathis_button_stubleupon"></a>
	<a href="http://www.jiathis.com/share?uid=1544311" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank"></a>
	<a class="jiathis_counter_style"></a>
</div>
<script type="text/javascript">var jiathis_config = {data_track_clickback:true};</script>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js?uid=1544311" charset="utf-8"></script>
<!-- JiaThis Button END --></div><hr />
<p>
<small>
Tags: <a href="http://sunliwen.com/tag/mono/" rel="tag">Mono</a>, <a href="http://sunliwen.com/tag/testing/" rel="tag">Testing</a><br/>
<a href="http://sunliwen.com/2008/12/dotnet-testability-explorer/#comments-heading">2个评论</a>
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://sunliwen.com/2008/12/dotnet-testability-explorer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Watir rocks!</title>
		<link>http://sunliwen.com/2006/10/watir-rocks/</link>
		<comments>http://sunliwen.com/2006/10/watir-rocks/#comments</comments>
		<pubDate>Thu, 12 Oct 2006 12:10:00 +0000</pubDate>
		<dc:creator>Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[最近我关注了一下Ruby（还在入门阶段~）。发现了一个Web测试的框架-Watir，想起前一段，组里讨论为QA们购买一套自动化软件测试的工具，如果这个框架够用且好用，为啥还要花钱呢~ 现在这个基于Web的项目在UI部分比较复杂，使用的第三方控件，在页面中生成了很多iframe、嵌套表格等。在样式上有很大的灵活性、使用起来也很方便，但是其服务器端代码、客户端代码还有生成的代码，看起来都有点糟糕。 Selenium也很优秀，不过因为在学习Ruby的缘故，呵呵！ 我对Selenium了解的并不深入，但这两种测试工具并不是互斥的，Selenium也支持使用Ruby写测试代码。而且Selenium可以和CC/CCNET等工具结合，以便自动化功能测试的过程。 到目前为止，我觉得Watir的形式让我从程序员的角度很容易接受。 Watir通过COM的对IE进行了封装，然后用Ruby简洁的语法就可以很方便的调用IE的方法，以及获取IE容器中的DOM模型。之前我试过通过.Net来控制IE然后自动化一些测试，可是需要编译，这使过程复杂化，而用脚本语言则Happy的多。 一些功能强大却也价格不菲的测试工具也提供了各自的脚本语言，以便Tester在需要的时候手写测试代码，但与其学习一种与大家毫不相干的语言，不如使用通用一点的脚本语言。 老胡说，研究这个东西可能没有太大的价值，因为一些强大的工具都能满足QA自动化测试的需要。 固然有道理，但好奇心杀死猫，不试一下我怎么知道。 而李玉鹏说，设计一个好的测试用例才是关键，而不是采用何种工具。 我同意他的说法。就像软件项目服务于需求，而并不以技术论成败。 Tags: Testing 没有评论]]></description>
			<content:encoded><![CDATA[<p>最近我关注了一下Ruby（还在入门阶段~）。发现了一个Web测试的框架-<a href="http://www.openqa.org/watir/">Watir</a>，想起前一段，组里讨论为QA们购买一套自动化软件测试的工具，如果这个框架够用且好用，为啥还要花钱呢~</p>
<p>现在这个基于Web的项目在UI部分比较复杂，使用的<a href="http://www.telerik.com/">第三方控件</a>，在页面中生成了很多iframe、嵌套表格等。在样式上有很大的灵活性、使用起来也很方便，但是其服务器端代码、客户端代码还有生成的代码，看起来都有点糟糕。</p>
<p><a href="http://www.openqa.org/selenium/">Selenium</a>也很优秀，不过因为在学习Ruby的缘故，呵呵！</p>
<p>我对Selenium了解的并不深入，但这两种测试工具并不是互斥的，Selenium也支持使用Ruby写测试代码。而且Selenium可以和<a href="http://wiki.openqa.org/display/SEL/Integrating+Selenium+And+CruiseControl.Net">CC/CCNET等工具结合</a>，以便自动化功能测试的过程。</p>
<p>到目前为止，我觉得Watir的形式让我从程序员的角度很容易接受。</p>
<p>Watir通过COM的对IE进行了封装，然后用Ruby简洁的语法就可以很方便的调用IE的方法，以及获取IE容器中的DOM模型。之前我试过通过.Net来控制IE然后自动化一些测试，可是需要编译，这使过程复杂化，而用脚本语言则Happy的多。</p>
<p>一些功能强大却也价格不菲的测试工具也提供了各自的脚本语言，以便Tester在需要的时候手写测试代码，但与其学习一种<a href="http://www.stickyminds.com/sitewide.asp?ObjectId=2326&amp;ObjectType=COL&amp;Function=edetail">与大家毫不相干的语言</a>，不如使用通用一点的脚本语言。</p>
<blockquote><p>
  老胡说，研究这个东西可能没有太大的价值，因为一些强大的工具都能满足QA自动化测试的需要。
</p></blockquote>
<p>固然有道理，但好奇心杀死猫，不试一下我怎么知道。</p>
<blockquote><p>
  而<a href="http://www.leeyupeng.com">李玉鹏</a>说，设计一个好的测试用例才是关键，而不是采用何种工具。
</p></blockquote>
<p>我同意他的说法。就像软件项目服务于需求，而并不以技术论成败。</p>
<div style=float:left><!-- JiaThis Button BEGIN -->
<div id="ckepop">
	<a class="jiathis_button_tsina"></a>
	<a class="jiathis_button_douban"></a>
	<a class="jiathis_button_instapaper"></a>
	<a class="jiathis_button_stubleupon"></a>
	<a href="http://www.jiathis.com/share?uid=1544311" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank"></a>
	<a class="jiathis_counter_style"></a>
</div>
<script type="text/javascript">var jiathis_config = {data_track_clickback:true};</script>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js?uid=1544311" charset="utf-8"></script>
<!-- JiaThis Button END --></div><hr />
<p>
<small>
Tags: <a href="http://sunliwen.com/tag/testing/" rel="tag">Testing</a><br/>
<a href="http://sunliwen.com/2006/10/watir-rocks/#comments-heading">没有评论</a>
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://sunliwen.com/2006/10/watir-rocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

