﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-Favor Soup | 反胃书屋-随笔分类-测试相关</title><link>http://www.cnitblog.com/dickznew/category/4032.html</link><description>斯是陋室，惟吾德馨。</description><language>zh-cn</language><lastBuildDate>Thu, 29 Sep 2011 05:38:48 GMT</lastBuildDate><pubDate>Thu, 29 Sep 2011 05:38:48 GMT</pubDate><ttl>60</ttl><item><title>什么是数据库的ACID测试？</title><link>http://www.cnitblog.com/dickznew/archive/2007/01/09/21676.html</link><dc:creator>D主</dc:creator><author>D主</author><pubDate>Tue, 09 Jan 2007 06:38:00 GMT</pubDate><guid>http://www.cnitblog.com/dickznew/archive/2007/01/09/21676.html</guid><wfw:comment>http://www.cnitblog.com/dickznew/comments/21676.html</wfw:comment><comments>http://www.cnitblog.com/dickznew/archive/2007/01/09/21676.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/dickznew/comments/commentRss/21676.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/dickznew/services/trackbacks/21676.html</trackback:ping><description><![CDATA[        钻石显然是十分贵重的东西，正因为贵重，所以我们会严肃的区分真品和膺品。确定钻石是真是假的一个简单而（至少在电影里）流行的测试是让它在一片玻璃上滚。因为钻石是众所周知最坚硬的材料，真正的钻石很容易切割玻璃表面；而赝品，尤其是用玻璃本身制作的赝品，则无法做到。 <br />        对软件开发人员来说，数据库也有这么贵重。如果使用数据库的话，需要确保它安全存储数据并允许您将来检索数据。您还希望数据库允许多个程序使用数据库而不会相互干扰。为了演示，假设您拥有一个银行。银行的数据库必须具备下列功能： 
<ul dir="ltr" style="MARGIN-RIGHT: 0px"><ul><li>安全存储合适的数据</li><li>快速检索合适的数据</li><li>支持多个并行的用户会话</li></ul></ul>        这些任务可以合称为 ACID 测试；ACID 是 Atomicity（原子性）、Consistency（一致性）、Isolation（隔离性）和 Durability（持久性）的缩略词。 <br /> <br />        <strong>原子性</strong> 指数据库操作可以组合到一起，当作单个单元处理。 <br /><br />         <strong>一致性</strong> 保证此单个单元（或事务）中的所有操作要么都成功执行，要么都不执行。换句话说，数据库不能处于未完成状态。要了解这些特征为何如此重要，可考虑这样一个银行事务：即钱从储蓄帐户转到支票帐户。如果在将钱从储蓄帐户减去之后、加到支票帐户之前，转帐处理失败，那么您就会变穷，而银行将会有一个愤怒的（前）客户！原子性使得这两个操作 —— 从储蓄帐户减钱和向支票帐户加钱 —— 被当作单个事务进行处理。一致性保证事务中的这两个操作同时成功或同时失败。这样，您的钱就不会丢失了。 <br /><br />      <strong>  隔离性</strong> 指独立的数据库事务集合以不相互冲突的方式执行。仍使用这个银行类比，考虑两个客户同时在帐户之间转移资金。数据库必须分别跟踪两个转帐；否则，资金可能进入错误的帐户，而银行可能得多两个愤怒的（前）客户。 <br /><br />        <strong>持久性</strong> 保证数据库是安全的，不会异常终止。当电源断电时，如果电视或计算机不工作，这可能是小麻烦，但同样的事情对于数据库来说就不一样了。如果银行计算机在转移资金时掉电，导致交易丢失，您就不会是个快乐的客户了。持久性保证如果数据库在资金转移期间异常终止，则当数据库重新启动时，它将能够恢复交易并继续正常的操作。 <img src ="http://www.cnitblog.com/dickznew/aggbug/21676.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/dickznew/" target="_blank">D主</a> 2007-01-09 14:38 <a href="http://www.cnitblog.com/dickznew/archive/2007/01/09/21676.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是Mock测试？</title><link>http://www.cnitblog.com/dickznew/archive/2006/10/26/18418.html</link><dc:creator>D主</dc:creator><author>D主</author><pubDate>Thu, 26 Oct 2006 02:10:00 GMT</pubDate><guid>http://www.cnitblog.com/dickznew/archive/2006/10/26/18418.html</guid><wfw:comment>http://www.cnitblog.com/dickznew/comments/18418.html</wfw:comment><comments>http://www.cnitblog.com/dickznew/archive/2006/10/26/18418.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/dickznew/comments/commentRss/18418.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/dickznew/services/trackbacks/18418.html</trackback:ping><description><![CDATA[
		<p>mock测试：就是在测试过程中，对于某些不容易构造或者 不容易获取的对象，用一个虚拟的对象来创建以便测试的测试方法。</p>
		<p>mock对象：这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。</p>
		<p>mock对象使用范畴：</p>
		<ol>
				<li>真实对象具有不可确定的行为，产生不可预测的效果，（如：股票行情，天气预报）</li>
				<li>真实对象很难被创建的</li>
				<li>真实对象的某些行为很难被触发</li>
				<li>真实对象实际上还不存在的（和其他开发小组或者和新的硬件打交道） 等等...</li>
		</ol>
		<p>使用mock对象测试的关键步骤：</p>
		<ol>
				<li>使用一个接口来描述这个对象</li>
				<li>在产品代码中实现这个接口</li>
				<li>在测试代码中实现这个接口</li>
		</ol>
		<p>在被测试代码中只是通过接口来引用对象，所以它不知道这个引用的对象是真实对象还是mock对象。</p>
<img src ="http://www.cnitblog.com/dickznew/aggbug/18418.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/dickznew/" target="_blank">D主</a> 2006-10-26 10:10 <a href="http://www.cnitblog.com/dickznew/archive/2006/10/26/18418.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>