<?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; software testing</title>
	<atom:link href="http://magustest.com/blog/tag/software-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://magustest.com/blog</link>
	<description>软件测试，自动化测试，白盒测试，Python</description>
	<lastBuildDate>Wed, 04 Jan 2012 09:09:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>测试用例的重用</title>
		<link>http://magustest.com/blog/softwaretesting/test-case-reuse/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=test-case-reuse</link>
		<comments>http://magustest.com/blog/softwaretesting/test-case-reuse/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 09:07:44 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[软件测试]]></category>
		<category><![CDATA[software testing]]></category>
		<category><![CDATA[测试用例设计]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=342</guid>
		<description><![CDATA[跟测试工程师打交道最多的可能就是测试用例了，先设计出一些测试用例，然后这些测试用例要经过评审，之后要执行这些测试用例，完了以后还有可能需要对这些测试用例进行更新。测试用例的重用是一个很有必要的活动。那怎么重用呢？很多人可能第一时间想到了一些测试管理工具能帮上忙，例如Quality Center，Test Link；又或者是一些保存测试用例的工具，例如Word，Excel。 不过这些东西真的能帮助我们重用测试用例么？我想未必。测试用例的重用，应该是测试用例里面的设计思想的重用，而不是具体某个测试用例的，因为对于功能测试的测试用例来说，大多数的测试用例都跟某个具体的被测应用有想到大的关联性，例如要测试一个博客编辑器，对于MySpace的博客编辑器和facebook的博客编辑器来说，它们的主要功能是相似的，都有发表博客，编辑博客，修改博客等……但是由于这是两个不同公司的产品，他们的具体功能或者UI是完全不一样的，所以拿到的两套测试用例，也应该是不一样的。如果分别提取出测试用例的核心思想（就是那些可以重用的部分），应该能看到很多的共同点，或许会有这么一条共同的用例思想。 打开博客编辑器 点击插入视频的按钮 粘贴视频代码 点击保存，发布 期望结果是该视频能正确显示在博客上。 这条用例可以提取为“验证博客编辑器能够插入视频”，至于实现的细节，可能两家的处理不一样，可能前者用&#60;object&#62;标签，后者用&#60;embed&#62;标签。回到实际的测试用例，前者可能要求将博客编辑器切换到HTML编辑模式下，要看到&#60;object&#62;&#8230;.&#60;/object&#62;的代码，另外一个就是要检查有&#60;embed&#62;&#8230;.&#60;/embed&#62;的代码。其实测试用例是测试工程师之间的很好的沟通交流工具。通常在一些研讨会上，有人抛出一个问题“对于日期输入框大家会怎么进行测试”，大家接着七嘴八舌地进行讨论，这样的讨论结果就是大家都知道了一些，又好像不知道一些。如果这时候有人拿出自己的测试用例，那么会不会更加一目了然，更加有系统性？ 在看完http://msdn.microsoft.com/en-us/testing/cc514239.aspx这篇文章以后，里面有一些测试的模式，这些也就是可重用的测试用例的一个例子，看完这些例子以后就会觉得这个测试用例的重用其实并不是那么抽象 CRUD模式（创建，获取，更新，删除） 选择并确定出一条记录或者一个字段 产生一个随机的等价类item 检查这个新产生的item是没有存在的 添加一个新的item 读取并且验证这个item的正确性 修改该item并且验证item确是已经被修改 删除该item并且验证item缺少已经删除 以上测试用例可以应用于不同的场景，例如MySpace中的一个帐号，也可以是一条歌单，还可以是一篇博客。这种类型的用例才是可重用的，而不是发布一篇博客，修改博客，删除博客……测试用例的重用，也就是测试用例的精华部分，其设计思想，而不是一些存在QC,TD中的01010100101001。 Related posts: VSTS 2010 Test Edition文章收集 software testing buzzword 分享两个PPT，关于gcov和lcov，还有代码覆盖
Related posts:<ol>
<li><a href='http://magustest.com/blog/softwaretesting/vsts2010-test-edition-article-collection/' rel='bookmark' title='VSTS 2010 Test Edition文章收集'>VSTS 2010 Test Edition文章收集</a></li>
<li><a href='http://magustest.com/blog/agile-testing/software-testing-buzzword/' rel='bookmark' title='software testing buzzword'>software testing buzzword</a></li>
<li><a href='http://magustest.com/blog/ppt/ppt-gcov-lcov-code-coverage/' rel='bookmark' title='分享两个PPT，关于gcov和lcov，还有代码覆盖'>分享两个PPT，关于gcov和lcov，还有代码覆盖</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>跟测试工程师打交道最多的可能就是测试用例了，先设计出一些测试用例，然后这些测试用例要经过评审，之后要执行这些测试用例，完了以后还有可能需要对这些测试用例进行更新。测试用例的重用是一个很有必要的活动。那怎么重用呢？很多人可能第一时间想到了一些测试管理工具能帮上忙，例如Quality Center，Test Link；又或者是一些保存测试用例的工具，例如Word，Excel。</p>
<p>不过这些东西真的能帮助我们重用测试用例么？我想未必。测试用例的重用，应该是测试用例里面的设计思想的重用，而不是具体某个测试用例的，因为对于功能测试的测试用例来说，大多数的测试用例都跟某个具体的被测应用有想到大的关联性，例如要测试一个博客编辑器，对于MySpace的博客编辑器和facebook的博客编辑器来说，它们的主要功能是相似的，都有发表博客，编辑博客，修改博客等……但是由于这是两个不同公司的产品，他们的具体功能或者UI是完全不一样的，所以拿到的两套测试用例，也应该是不一样的。如果分别提取出测试用例的核心思想（就是那些可以重用的部分），应该能看到很多的共同点，或许会有这么一条共同的用例思想。<br />
<span id="more-342"></span></p>
<ol>
<li>打开博客编辑器</li>
<li>点击插入视频的按钮</li>
<li>粘贴视频代码</li>
<li>点击保存，发布</li>
</ol>
<p>期望结果是该视频能正确显示在博客上。</p>
<p>这条用例可以提取为“验证博客编辑器能够插入视频”，至于实现的细节，可能两家的处理不一样，可能前者用&lt;object&gt;标签，后者用&lt;embed&gt;标签。回到实际的测试用例，前者可能要求将博客编辑器切换到HTML编辑模式下，要看到&lt;object&gt;&#8230;.&lt;/object&gt;的代码，另外一个就是要检查有&lt;embed&gt;&#8230;.&lt;/embed&gt;的代码。其实测试用例是测试工程师之间的很好的沟通交流工具。通常在一些研讨会上，有人抛出一个问题“对于日期输入框大家会怎么进行测试”，大家接着七嘴八舌地进行讨论，这样的讨论结果就是大家都知道了一些，又好像不知道一些。如果这时候有人拿出自己的测试用例，那么会不会更加一目了然，更加有系统性？</p>
<p>在看完http://msdn.microsoft.com/en-us/testing/cc514239.aspx这篇文章以后，里面有一些测试的模式，这些也就是可重用的测试用例的一个例子，看完这些例子以后就会觉得这个测试用例的重用其实并不是那么抽象</p>
<p>CRUD模式（创建，获取，更新，删除）</p>
<ol>
<li>选择并确定出一条记录或者一个字段</li>
<li>产生一个随机的等价类item</li>
<li>检查这个新产生的item是没有存在的</li>
<li>添加一个新的item</li>
<li>读取并且验证这个item的正确性</li>
<li>修改该item并且验证item确是已经被修改</li>
<li>删除该item并且验证item缺少已经删除</li>
</ol>
<p>以上测试用例可以应用于不同的场景，例如MySpace中的一个帐号，也可以是一条歌单，还可以是一篇博客。这种类型的用例才是可重用的，而不是发布一篇博客，修改博客，删除博客……测试用例的重用，也就是测试用例的精华部分，其设计思想，而不是一些存在QC,TD中的01010100101001。</p>
<p>Related posts:<ol>
<li><a href='http://magustest.com/blog/softwaretesting/vsts2010-test-edition-article-collection/' rel='bookmark' title='VSTS 2010 Test Edition文章收集'>VSTS 2010 Test Edition文章收集</a></li>
<li><a href='http://magustest.com/blog/agile-testing/software-testing-buzzword/' rel='bookmark' title='software testing buzzword'>software testing buzzword</a></li>
<li><a href='http://magustest.com/blog/ppt/ppt-gcov-lcov-code-coverage/' rel='bookmark' title='分享两个PPT，关于gcov和lcov，还有代码覆盖'>分享两个PPT，关于gcov和lcov，还有代码覆盖</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/softwaretesting/test-case-reuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《Software Testing》第二章 &#8211; 软件开发过程</title>
		<link>http://magustest.com/blog/readingdaily/software-testing-note-part-two/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=software-testing-note-part-two</link>
		<comments>http://magustest.com/blog/readingdaily/software-testing-note-part-two/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 12:54:31 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[读书笔记]]></category>
		<category><![CDATA[software testing]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=21</guid>
		<description><![CDATA[软件开发过程，软件就是一件产品，那么这个产品的生产过程是什么呢？在这个过程中都有些什么中间产物呢？ Customer Requirements（客户需求） Specifications（说明书），说明书是从需求转化而来，定义了产品是怎么样的，能干什么等等 Schedules（进度表） Software Design Documents（设计文档）书上说的5种，有些也可能只是某文档的一部份而已。我自己见过比较常见的High-Level Design（概要设计）, Low-Level(Detail) Design（详细设计）。书上说的数据流图，状态转换图等等，有时候就出现在HLD里面了 Test Documents（测试文档）包括了测试计划，测试用例，问题报告，统计报告等……这里我自己讲讲体会，刚到SPSS实习的时候看文档的时候我看到了Test scrīpt这个名词，一开始我以为是自动化脚本，后发现其实就是Test Case，所以说这些所有名词都可以有其他叫法。 以上就是作为一个测试工程师会经常遇到的文档。 软件开发生命周期模型(Software Development Lifecycle Model) 最常见的就是瀑布模型，迭代模型。 这里讲一下我的体会，其实软件开发发展到现在，基本上已经没有纯瀑布模型，也没有纯迭代模型，他们之间都是在互相渗透着，所以只需要弄清楚一个总体个概念就行了，这就是： 分析-需求-设计-编码-测试-维护 Related posts: 《Software Testing》第十八章 &#8211; 编写和跟踪测试用例 《Software Testing》第二十一章 &#8211; 软件质量保证 《Software Testing》第三章 &#8211; 软件测试
Related posts:<ol>
<li><a href='http://magustest.com/blog/readingdaily/software-testing-note-part-eighteen/' rel='bookmark' title='《Software Testing》第十八章 &#8211; 编写和跟踪测试用例'>《Software Testing》第十八章 &#8211; 编写和跟踪测试用例</a></li>
<li><a href='http://magustest.com/blog/readingdaily/software-testing-note-part-twenty-one/' rel='bookmark' title='《Software Testing》第二十一章 &#8211; 软件质量保证'>《Software Testing》第二十一章 &#8211; 软件质量保证</a></li>
<li><a href='http://magustest.com/blog/readingdaily/software-testing-note-part-three/' rel='bookmark' title='《Software Testing》第三章 &#8211; 软件测试'>《Software Testing》第三章 &#8211; 软件测试</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>软件开发过程，软件就是一件产品，那么这个产品的生产过程是什么呢？在这个过程中都有些什么中间产物呢？</p>
<p>Customer Requirements（客户需求）</p>
<p>Specifications（说明书），说明书是从需求转化而来，定义了产品是怎么样的，能干什么等等</p>
<p>Schedules（进度表）</p>
<p>Software Design Documents（设计文档）书上说的5种，有些也可能只是某文档的一部份而已。我自己见过比较常见的High-Level Design（概要设计）, Low-Level(Detail) Design（详细设计）。书上说的数据流图，状态转换图等等，有时候就出现在HLD里面了</p>
<p>Test Documents（测试文档）包括了测试计划，测试用例，问题报告，统计报告等……这里我自己讲讲体会，刚到SPSS实习的时候看文档的时候我看到了Test scrīpt这个名词，一开始我以为是自动化脚本，后发现其实就是Test Case，所以说这些所有名词都可以有其他叫法。</p>
<p>以上就是作为一个测试工程师会经常遇到的文档。<br />
<span id="more-21"></span><br />
<strong>软件开发生命周期模型(Software Development Lifecycle Model)</strong></p>
<p>最常见的就是瀑布模型，迭代模型。</p>
<p>这里讲一下我的体会，其实软件开发发展到现在，基本上已经没有纯瀑布模型，也没有纯迭代模型，他们之间都是在互相渗透着，所以只需要弄清楚一个总体个概念就行了，这就是：</p>
<p>分析-需求-设计-编码-测试-维护</p>
<p>Related posts:<ol>
<li><a href='http://magustest.com/blog/readingdaily/software-testing-note-part-eighteen/' rel='bookmark' title='《Software Testing》第十八章 &#8211; 编写和跟踪测试用例'>《Software Testing》第十八章 &#8211; 编写和跟踪测试用例</a></li>
<li><a href='http://magustest.com/blog/readingdaily/software-testing-note-part-twenty-one/' rel='bookmark' title='《Software Testing》第二十一章 &#8211; 软件质量保证'>《Software Testing》第二十一章 &#8211; 软件质量保证</a></li>
<li><a href='http://magustest.com/blog/readingdaily/software-testing-note-part-three/' rel='bookmark' title='《Software Testing》第三章 &#8211; 软件测试'>《Software Testing》第三章 &#8211; 软件测试</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/readingdaily/software-testing-note-part-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

