<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[I'm QA 寻找可能]]></title> 
<description><![CDATA[]]></description>
<link>http://www.iamqa.com/</link>
<language>zh-cn</language>
<generator>www.emlog.net</generator>
<item>
	<title>关于断言</title>
	<link>http://www.iamqa.com/tarticle/13.html</link>
	<description><![CDATA[<p><span style="color:#003399;font-size:18px;" class="headline-content"><strong><span style="font-size:12px;">编程断言概述</span></strong></span></p>
<p><span style="font-size:12px;" class="headline-content">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编写代码时，我们总是会做出一些假设，断言就是用于在代码中捕捉这些假设。断言表示为一些布尔表达式，程序员相信在程序中的某个特定点该表达式值为真，可以在任何时候启用和禁用断言验证，因此可以在测试时启用断言而在部署时禁用断言。同样，程序投入运行后，最终用户在遇到问题时可以重新启用断言。 </p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　使用断言可以创建更稳定、品质更好且易于除错的代码。当需要在一个值为FALSE时中断当前操作的话，可以使用断言。单元测试必须使用断言（Junit/JunitX）。 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　除了类型检查和单元测试外，断言还提供了一种确定各种特性是否在程序中得到维护的极好的方法。 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　使用断言使我们向按契约式设计更近了一步。</span></p>
<p>&nbsp;</p>
<p><span style="font-size:14px;" class="headline-content"><strong><span style="color:#003399;font-size:12px;">常见的断言特性</span></strong></span></p>
<p><span style="font-size:14px;" class="headline-content"><span style="color:#003399;"><span class="headline-content"><span style="color:#000000;"><span style="font-size:12px;">　　前置条件断言：代码执行之前必须具备的特性 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　后置条件断言：代码执行之后必须具备的特性 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　前后不变断言：代码执行前后不能变化的特性</span></p>
<p>&nbsp;</p>
<p><strong><span style="font-size:12px;" class="headline-content">断言使用方式</span><span style="font-size:12px;">　　断言可以有两种形式 </span></strong></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　1.assert Expression1 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　2.assert Expression1:Expression2 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　其中Expression1应该总是一个布尔值，Expression2是断言失败时输出的失败消息的字符串。如果Expression1为假，则抛出一个 AssertionError，这是一个错误，而不是一个异常，也就是说是一个不可控制异常（unchecked Exception),AssertionError由于是错误，所以可以不捕获，但不推荐这样做，因为那样会使你的系统进入不稳定状态。 </span></p>
<div class="bpctrl"></div>
<h2 class="headline-1 bk-sidecatalog-title"><span style="font-size:12px;" class="headline-content">启用断言</span></h2>
<p><span style="font-size:12px;">　　断言在默认情况下是关闭的，要在编译时启用断言，需要使用source1.4标记 既javac source1.4 Test.java ,在运行时启用断言需要使用 -ea参数 。要在系统类中启用和禁用断言可以使用 -esa 和 -dsa参数。 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　例如： </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　public class AssertExampleOne{ </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　public AssertExampleOne(){} </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　public static void main(String args[]){ </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　int x=10; </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　System.out.println("Testing Assertion that x==100"); </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　assert x==100："Out assertion failed!"; </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　System.out.println("Test passed!"); </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　} </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　} </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　如果编译时未加 -source1.4,则编译通不过 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　在执行时未加 -ea 时输出为 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　Testing Assertion that x==100 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　Test passed </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　jre忽略了断言的旧代码，而使用了该参数就会输出为 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　Testing Assertion that x==100 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　Exception in thread "main" java.lang.AssertionError: Out assertion failed! </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　at AssertExampleOne.main(AssertExampleOne.java:6) </span></p>
<div class="bpctrl"></div>
<h2 class="headline-1 bk-sidecatalog-title"><span style="font-size:12px;" class="headline-content">断言的副作用</span></h2>
<p><span style="font-size:12px;">　　由于程序员的问题，断言的使用可能会带来副作用 ，例如： </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　boolean isEnable=false; </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　//... </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　assert isEnable=true; </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　这个断言的副作用是因为它修改了程序中变量的值并且未抛出错误，这样的错误如果不细心的检查是很难发现的。但是同时我们可以根据以上的副作用得到一个有用的特性，根据它来测试断言是否打开。 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　public class AssertExampleTwo{ </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　public static void main(String args[]){ </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　boolean isEnable=false; </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　//... </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　assert isEnable=true; </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　if(isEnable==false){ </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　throw new RuntimeException("Assertion shoule be enable!"); </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　} </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　} </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　} </span></p>
<div class="bpctrl"></div>
<h2 class="headline-1 bk-sidecatalog-title"><span style="font-size:12px;" class="headline-content">何时需要使用断言</span></h2>
<p><span style="font-size:12px;">　　1.可以在预计正常情况下程序不会到达的地方放置断言 ：assert false </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　2.断言可以用于检查传递给私有方法的参数。（对于公有方法，因为是提供给外部的接口，所以必须在方法中有相应的参数检验才能保证代码的健壮性） </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　3.使用断言测试方法执行的前置条件和后置条件 </span></p>
<div class="spctrl"></div>
<p><span style="font-size:12px;">　　4.使用断言检查类的不变状态，确保任何情况下，某个变量的状态必须满足。（如age属性应大于0小于某个合适值）</span></span></span></span></span></span></p>]]></description>
	<pubDate>Tue, 20 Dec 2011 07:38:16 +0000</pubDate>
	<author>Queenie</author>
	<guid>http://www.iamqa.com/tarticle/13.html</guid>

</item>
<item>
	<title>最神奇的数字</title>
	<link>http://www.iamqa.com/life/12.html</link>
	<description><![CDATA[<p align="center"><span style="font-size:14px;"><a id="ematt:10" href="/content/uploadfile/201111/135007e7085979a7d5b41ce54c0e54d720111102042012.jpg" target="_blank"></a></span></p>
<p align="center"><a id="ematt:11" href="/content/uploadfile/201111/135007e7085979a7d5b41ce54c0e54d720111103082402.jpg" target="_blank"><img title="点击查看原图" border="0" alt="点击查看原图" src="/content/uploadfile/201111/thum-135007e7085979a7d5b41ce54c0e54d720111103082402.jpg" width="500" height="350" /></a>&nbsp;</p>
<p><span style="background-color:#ee33ee;font-size:16px;"><strong>142857</strong></span></p>
<p><span style="font-size:14px;">看似平凡的数字，为什么说他最神奇呢？ </span></p>
<p><span style="font-size:14px;">　　我们把它从1乘到6看看 </span> <p><span style="font-size:14px;">　　142857 X 1 = 142857 </span><br />
<span style="font-size:14px;">　　142857 X 2 = 285714 </span><br />
<span style="font-size:14px;">　　142857 X 3 = 428571 </span><br />
<span style="font-size:14px;">　　142857 X 4 = 571428 </span><br />
<span style="font-size:14px;">　　142857 X 5 = 714285 </span><br />
<span style="font-size:14px;">　　142857 X 6 = 857142 </span> <p><span style="font-size:14px;">　　同样的数字，只是调换了位置，反复的出现。 </span> <p><span style="font-size:14px;">　　那么把它乘与7是多少呢？ </span> <p><span style="font-size:14px;">　　我们会惊人的发现是 999999 </span> <p><span style="font-size:14px;">　　而 </span> <p><span style="font-size:14px;">　　142 + 857 = 999 </span><br />
<span style="font-size:14px;">　　14 + 28 + 57 = 99 </span> <p><span style="font-size:14px;">　　最后，我们用 142857 乘与 142857 </span> <p><span style="font-size:14px;">　　答案是：20408122449 前五位+上后五位的得数是多少呢？ </span><br />
<span style="font-size:14px;">　　20408 + 122449 = 142857 </span> <p><span style="font-size:14px;">　　关于其中神奇的解答 </span> <p><span style="font-size:14px;">　　“142857” </span> <p><span style="font-size:14px;">　　它发现于埃及金字塔内， 它是一组神奇数字， 它证明一星期有7天， 它自我累加一次，就由它的6个数字，依顺序轮值一次，到了第7天，它们就放假，由999999去代班， 数字越加越大，每超过一星期轮回，每个数字需要分身一次，你不需要计算机，只要知道它的分身方法，就可以知道继续累加的答案， 它还有更神奇的地方等待你去发掘！ 也许，它就是宇宙的密码┅┅ </span> <p><span style="font-size:14px;">　　142857×1＝142857（原数字） </span><br />
<span style="font-size:14px;">　　142857×2＝285714（轮值） </span><br />
<span style="font-size:14px;">　　142857×3＝428571（轮值） </span><br />
<span style="font-size:14px;">　　142857×4＝571428（轮值） </span><br />
<span style="font-size:14px;">　　142857×5＝714285（轮值） </span><br />
<span style="font-size:14px;">　　142857×6＝857142（轮值） </span><br />
<span style="font-size:14px;">　　142857×7＝999999（放假由9代班） </span><br />
<span style="font-size:14px;">　　142857×8＝1142856（7分身，即分为头一个数字1与尾数6，数列内少了7） </span><br />
<span style="font-size:14px;">　　142857×9＝1285713（4分身） </span><br />
<span style="font-size:14px;">　　142857×10＝1428570（1分身） </span><br />
<span style="font-size:14px;">　　142857×11＝1571427（8分身） </span><br />
<span style="font-size:14px;">　　142857×12＝1714284（5分身） </span><br />
<span style="font-size:14px;">　　142857×13＝1857141（2分身） </span><br />
<span style="font-size:14px;">　　142857×14＝1999998（9也需要分身变大） </span> <p><span style="font-size:14px;">　　继续算下去…… </span> <p><span style="font-size:14px;">　　以上各数的单数和都是“9”。有可能藏着一个大秘密。 </span> <p><span style="font-size:14px;">　　以上面的金字塔神秘数字举例：1＋4＋2＋8＋5＋7＝27＝2＋7＝9；您瞧瞧，它们的单数和竟然都是“9”。依此类推，上面各个神秘数，它们的单数和都是“9”；怪也不怪！(它的双数和27还是3的三次方)无数巧合中必有概率，无数吻合中必有规律。何谓规律？大自然规定的纪律！科学就是总结事实，从中找出规律。 </span> <p><span style="font-size:14px;">　　任意取一个数字，例如取48965，将这个数字的各个数字进行求和，结果为4+8+9+6+5=32，再将结果求和，得3+2=5。我将这种求和的方法称为求一个数字的众数和。 </span> <p><span style="font-size:14px;">　　 所有数字都有以下规律： </span> <p><span style="font-size:14px;">　　[1]众数和为9的数字与任意数相乘，其结果的众数和都为9。例如306的众数和为9，而306*22=6732，数字6732的众数和也为9（6+7+3+2=18，1+8=9）。 </span> <p><span style="font-size:14px;">　　 [2]众数和为1的数字与任意数相乘，其结果的众数与被乘数的众数和相等。例如13的众数和为4，325的众数和为1，而325*13=4225，数字4225的众数和也为4（4+2+2+5=13，1+3=4）。 </span> <p><span style="font-size:14px;">　　[3]总结得出一个普遍的规律，如果A*B=C，则众数和为A的数字与众数和为B的数字相乘，其结果的众数和亦与C的众数和相等。例如 3*4=12。取一个众数和为3的数字，如201，再取一个众数和为4的数字，如112，两数相乘，结果为201*112=22512，22512的众数和为3（2+2+5+1+2=12，1+2=3），可见3*4=12，数字12的众数和亦为3。 </span> <p><span style="font-size:14px;">　　 [4]另外，数字相加亦遵守此规律。例如3+4=7。求数字201和112的和，结果为313，求313的众数和，得数字7（3+1+3=7），刚好3与4相加的结果亦为7。 </span> <p><span style="font-size:14px;">　　令人奇怪的是，中国古人早就知道此数学规律。我们看看“河图”与“洛书”数字图就知道了。以下是“洛书”数字图。 </span> <p><span style="font-size:14px;">　　4 9 2 </span><br />
<span style="font-size:14px;">　　3 5 7 </span><br />
<span style="font-size:14px;">　　8 1 6 ( 洛书) </span> <p><span style="font-size:14px;">　　 世人都知道，“洛书”数字图之所以出名，是因为它是世界上最早的幻方图，它的特点是任意一组数字进行相加，其结果都为15。其实用数字众数和的规律去分析此图，就会发现，任意一组数字的随机组合互相相乘，其结果的众数和都为9，例如第一排数字的一个随机组合数字为924，第二行的一个随机组合数字为 159，两者相乘，其结果为146916，求其众数和，得1+4+6+9+1+6=27，2+7=9，可见，结果的众数和都为9。 </span> <p><span style="font-size:14px;">　　这种巧合不能说明什么问题，让我们再看看“河图”数字图。 </span> <p><span style="font-size:14px;">　　7 </span><br />
<span style="font-size:14px;">　　 2 </span><br />
<span style="font-size:14px;">　　8 3 5 4 9 </span><br />
<span style="font-size:14px;">　　1 </span><br />
<span style="font-size:14px;">　　 6 (河图) </span> <p><span style="font-size:14px;">　　“河图”的数字图没有“洛书”数字图出名，这是因为人们未能动发现其数学规律，但是用众数和的规律去分析它，就能发现它的奇妙之处。 </span> <p><span style="font-size:14px;">　　“河图”数字图中，任意一组数字互相进行相乘，其结果的众数和都为6。例如27165*38495=1045716675，求结果的众数和，1+4+5+7+1+6+6+7+5=42，4+2=6，可见，结果的众数和为6。 </span> <p><span style="font-size:14px;">　　由此可见，“河图”的数字图亦不可能是随意摆设，否则，其结果的众数和不可能都为6。从上述两个数字图可知，古人十分重视数字6与数字9。无独有偶，太极图的就由数字6与数字9组合而成。 </span> <p><span style="font-size:14px;">　　太极图的左边部分为数字6，太极图的右边部分为数字9。 </span> <p><span style="font-size:14px;">　　 “太极图”﹑“河图”﹑“洛书”通过种种手段暗示数字6与数字9的重要性，其中“河图”与“洛书”更是在熟悉数字众数和规律的前提下编制而成。但是，据我们所知，数字众数和的规律刚刚被本人发现，同时也没有任何证据显示古人已经知道这数学规律。 </span></p>]]></description>
	<pubDate>Wed, 02 Nov 2011 04:16:27 +0000</pubDate>
	<author>Queenie</author>
	<guid>http://www.iamqa.com/life/12.html</guid>

</item>
<item>
	<title>关于云计算</title>
	<link>http://www.iamqa.com/software/11.html</link>
	<description><![CDATA[<p>&nbsp;</p>
<p align="center"><a id="ematt:9" href="/content/uploadfile/201111/1a3fb8ea6c8f5ac35a1226d8ebc0187f20111101080626.jpg" target="_blank"><img border="0" alt="点击查看原图" src="/content/uploadfile/201111/thum-1a3fb8ea6c8f5ac35a1226d8ebc0187f20111101080626.jpg" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family:SimHei;color:#999999;font-size:32px;">“</span><span style="color:#e56600;font-size:14px;">中国一留学生去美国打工的当过报童，不带计算器，习惯动作抬头望天时心算找零。顾客大为惊讶，纷纷掏出计算器验证，皆无误，也抬头望天，惊恐问：“云计算？”<span style="font-family:SimHei;color:#999999;font-size:32px;">”</span></span></p>
<p>&nbsp;</p>
<p><span style="color:#000000;font-size:14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#000000;font-size:14px;">当然是个小笑话而已，当我用蹲蹲乐看到它的时候，欢乐地笑出声儿来了。</span></span></p>
<p><span style="color:#000000;font-size:14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 转载一篇来自<span style="color:#000000;font-size:14px;">中国云计算网</span>的文章，来看看啥叫云计算。</span></p>
<p><span style="font-size:14px;">&nbsp;</span></p>
<p><span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">什么是云计算？</span></span></span><br />
</strong><span style="color:#000000;"><span style="font-size:14px;">　　</span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">云计算（cloud computing）是一种基于因特网的超级计算模式，在远程的数据中心里，成千上万台电脑和服务器连接成一片电脑云。因此，云计算甚至可以让你体验每秒10万亿次的运算能力，拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心，按自己的需求进行运算。</span></span></span><br />
<span style="color:#000000;"><span style="font-size:14px;">&nbsp;</span></span><br />
<span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">it精英们如何看待云计算</span></span></span><br />
</strong><span style="color:#000000;"><span style="font-size:14px;">　　</span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">那么，it精英们如何看待云计算？IBM的创立者托马斯·沃森曾表示，全世界只需要5台电脑就足够了。比尔·盖茨则在一次演讲中称，个人用户的内存只需640K足矣。李开复打了一个很形象的比喻：钱庄。最早人们只是把钱放在枕头底下，后来有了钱庄，很安全，不过兑现起来比较麻烦。现在发展到银行可以到任何一个网点取钱，甚至通过ATM，或者国外的渠道。就像用电不需要家家装备发电机，直接从电力公司购买一样。云计算就是这样一种变革——由谷歌、IBM这样的专业网络公司来搭建计算机存储、运算中心，用户通过一根网线借助浏览器就可以很方便的访问，把“云”做为资料存储以及应用服务的中心。 </span></span></span><br />
<span style="color:#000000;"><span style="font-size:14px;">&nbsp;</span></span><br />
<span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">广义的云计算和狭义的云计算</span></span></span><br />
</strong><span style="color:#000000;"><span style="font-size:14px;">　　</span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">狭义的云计算是指IT基础设施的交付和使用模式，指通过网络以按需、易扩展的方式获得所需的资源(硬件、平台、软件)。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的，并且可以随时获取，按需使用，随时扩展，按使用付费。这种特性经常被称为像水电一样使用IT基础设施。广义的云计算是指服务的交付和使用模式，指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT和软件、互联网相关的，也可以是任意其他的服务。</span></span></span></p>
<p><br />
<span style="color:#000000;"><span style="font-size:14px;">&nbsp;</span></span><br />
<span style="font-size:14px;"><strong><span style="color:#000000;"><span style="font-size:14px;">（一）云计算的原理:　</span></span></strong></span><span style="color:#000000;"><span style="font-size:14px;">　　　　</span></span><br />
<span style="color:#000000;"><span style="font-size:14px;">　　</span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">云计算(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展，或者说是这些计算机科学概念的商业实现。</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">&nbsp;</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp; 云计算的基本原理是，通过使计算分布在大量的分布式计算机上，而非本地计算机或远程服务器中，企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上，根据需求访问计算机和存储系统。这可是一种革命性的举措，打个比方，这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通，就像煤气、水电一样，取用方便，费用低廉。最大的不同在于，它是通过互联网进行传输的。云计算的蓝图已经呼之欲出：在未来，只需要一台笔记本或者一个手机，就可以通过网络服务来实现我们需要的一切，甚至包括超级计算这样的任务。从这个角度而言，最终用户才是云计算的真正拥有者。 </span></span></span></p>
<p><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　云计算的应用包含这样的一种思想，把力量联合起来，给其中的每一个成员使用。</span></span></span></p>
<p><span style="color:#000000;"><span style="font-size:14px;">&nbsp;</span></span></p>
<p><span style="font-size:14px;"><strong><span style="color:#000000;"><span style="font-size:14px;">（二）云计算有哪些好处？　</span></span></strong></span><span style="color:#000000;"><span style="font-size:14px;">　　　　　</span></span></p>
<p><span style="color:#000000;"><span style="font-size:14px;">　　</span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">1、安全，云计算提供了最可靠、最安全的数据存储中心，用户不用再担心数据丢失、病毒入侵等麻烦。</span></span></span></p>
<p><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　2、方便，它对用户端的设备要求最低，使用起来很方便。</span></span></span></p>
<p><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　3、数据共享，它可以轻松实现不同设备间的数据与应用共享。</span></span></span></p>
<p><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　4、无限可能，它为我们使用网络提供了几乎无限多的可能。</span></span></span></p>
<p><span style="color:#000000;"><span style="font-size:14px;">&nbsp;</span></span></p>
<p><strong><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">（三）几款主流的云计算应用 </span></span></span><br />
</strong><span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp;</span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;"> </span></span></span><span style="background-color:#dfc5a4;font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">1、微软云计算</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　目前来看微软的云计算发展最为迅速。微软将推出的首批软件即服务产品包括Dynamics CRM Online、Exchange Online、OfficeCommunications Online以及SharePointOnline。每种产品都具有多客户共享版本，其主要服务对象是中小型企业。单客户版本的授权费用在5,000美元以上。针对普通用户，微软的在线服务还包括Windows Live、Office Live和Xbox Live等。 </span></span></span></p>
<p><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp; </span></span></span><span style="background-color:#dfc5a4;font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">2、IBM云计算</span></span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;"> </span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　IBM是最早进入中国的云计算服务提供商。中文服务方面做得比较理想，对于中国的用户应是一个不错的选择。07年，IBM公司发布了蓝云(BlueCloud)计划，这套产品将“通过分布式的全球化资源让企业的数据中心能像互联网一样运行”。以后IBM的云计算将可能包括它所有的业务和产品线。</span></span></span></p>
<p><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp;</span></span></span><span style="background-color:#dfc5a4;font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;"> 3、亚马逊云计算</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　亚马逊作为首批进军云计算新兴市场的厂商之一，为尝试进入该领域的企业开创了良好的开端。亚马逊的云名为亚马逊网络服务（Amazon WebServices，下称AWS），目前主要由4块核心服务组成：简单存储服务（Simple StorageService，S3）；弹性计算云（Elastic Compute Cloud，EC2）；简单排列服务（Simple QueuingService）以及尚处于测试阶段的SimpleDB。换句话说，亚马逊现在提供的是可以通过网络访问的存储、计算机处理、信息排队和数据库管理系统接入式服务。</span></span></span></p>
<p><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp; </span></span></span><span style="background-color:#dfc5a4;font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">4、谷歌云计算</span></span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;"> </span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　围绕因特网搜索创建了一种超动力商业模式。如今，他们又以应用托管、企业搜索以及其他更多形式向企业开放了他们的“云”。谷歌推出了谷歌应用软件引擎（Google AppEngine，下称GAE），这种服务让开发人员可以编译基于Python的应用程序，并可免费使用谷歌的基础设施来进行托管（最高存储空间达 500MB）。对于超过此上限的存储空间，谷歌按“每CPU内核每小时”10至12美分及1GB空间15至18美分的标准进行收费。谷歌还公布了提供可由企业自定义的托管企业搜索服务计划。</span></span></span></p>
<p><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">&nbsp;&nbsp;&nbsp; </span></span></span><span style="background-color:#dfc5a4;font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">5、红帽云计算服务</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　红帽是云计算领域的后起之秀。红帽提供的是类似于亚马逊弹性云技术的纯软件云计算平台。它的云计算基础架构平台选用的是自己的操作系统和虚拟化技术，可以搭建在各种硬件工业标准服务器(HP、IBM、DELL等等)和各种存储(EMC、DELL、IBM、NetAPP等)与网络环境之中。表现为与硬件平台完全无关的特性，给客户带来灵活和可变的综合硬件价格优势。红帽的云计算平台可以实现各种功能服务器实例。</span></span></span></p>
<p><span style="font-size:14px;"><strong><span style="color:#000000;"><span style="font-size:14px;">（四）云计算最有利于中小企业？　</span></span></strong></span><span style="color:#000000;"><span style="font-size:14px;">　　　　　</span></span><br />
<span style="color:#000000;"><span style="font-size:14px;">　　</span></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">云计算技术将使得中小企业的成本大大降低。如果说“云”给大型企业的IT部门带来了实惠，那么对于中小型企业而言，它可算得上是上天的恩赐了。过去，小公司人力资源不足，IT预算吃紧，那种动辄数百万美元的IT设备所带来的生产力对它们而言真是如梦一般遥远，而如今，“云”为它们送来了大企业级的技术，并且先期成本极低，升级也很方便。这一新兴趋势的重要性毋庸置疑，不过，它还仅仅是一系列变革的起步阶段而已。云计算不但抹平了企业规模所导致的优劣差距，而且极有可能让优劣之势易主。简单地说，当今世上最强大最具革新意义的技术已不再为大型企业所独有。“云”让每个普通人都能以极低的成本接触到顶尖的IT技术。 </span></span></span></p>
<p><span style="color:#000000;"><span style="font-size:14px;">&nbsp;</span></span></p>
<p><span style="font-size:14px;"><strong><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">（五）在云计算时代　</span></span></span></strong></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　　　　</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　目前，PC依然是我们日常工作生活中的核心工具——我们用PC处理文档、存储资料，通过电子邮件或U盘与他人分享信息。如果PC硬盘坏了，我们会因为资料丢失而束手无策。而在云计算时代，“云”会替我们做存储和计算的工作。“云”就是计算机群，每一群包括了几十万台、甚至上百万台计算机。“云”的好处还在于，其中的计算机可以随时更新，保证“云”长生不老。Google就有好几个这样的“云”，其他IT巨头，如微软、雅虎、亚马逊（Amazon）也有或正在建设这样的“云”。届时，我们只需要一台能上网的电脑，不需关心存储或计算发生在哪朵“云”上，但一旦有需要，我们可以在任何地点用任何设备，如电脑、手机等，快速地计算和找到这些资料。我们再也不用担心资料丢失。　　</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">&nbsp;</span></span></span><br />
<span style="font-size:14px;"><strong><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">（六）云计算的几大形式</span></span></span></strong></span><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　　　　　</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　</span></span></span><span style="color:#cc33e5;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　</span></span></span><span style="background-color:#ffe500;color:#000000;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">1.SAAS（软件即服务）</span></span></span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　这种类型的云计算通过浏览器把程序传给成千上万的用户。在用户眼中看来，这样会省去在服务器和软件授权上的开支；从供应商角度来看，这样只需要维持一个程序就够了，这样能够减少成本。Salesforce.com是迄今为止这类服务最为出名的公司。SAAS在人力资源管理程序和ERP中比较常用。 Google Apps和Zoho Office也是类似的服务</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　</span></span></span><span style="background-color:#ffe500;color:#000000;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">2.实用计算（Utility Computing）</span></span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　这个主意很早就有了，但是知道最近才在Amazon.com、Sun、IBM和其它提供存储服务和虚拟服务器的公司中新生。这种云计算是为IT行业创造虚拟的数据中心使得其能够把内存、I/O设备、存储和计算能力集中起来成为一个虚拟的资源池来为整个网络提供服务。</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　</span></span></span><span style="background-color:#ffe500;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">3.网络服务</span></span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　同SAAS关系密切，网络服务提供者们能够提供API让开发者能够开发更多基于互联网的应用，而不是提供单机程序。</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　</span></span></span><span style="background-color:#ffe500;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">4.平台即服务</span></span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　另一种SAAS，这种形式的云计算把开发环境作为一种服务来提供。你可以使用中间商的设备来开发自己的程序并通过互联网和其服务器传到用户手中。</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　</span></span></span><span style="background-color:#ffe500;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">5.MSP（管理服务提供商）</span></span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　最古老的云计算运用之一。这种应用更多的是面向IT行业而不是终端用户，常用于邮件病毒扫描、程序监控等等。</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　</span></span></span><span style="background-color:#ffe500;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">6.商业服务平台（如： </span></span></span></span><a href="http://www.cloudcomputing-china.cn"><span style="background-color:#ffe500;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">www.cloudcomputing-china.cn</span></span></span></span></a><span style="background-color:#ffe500;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;"> ）</span></span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　SAAS和MSP的混合应用，该类云计算为用户和提供商之间的互动提供了一个平台。比如用户个人开支管理系统，能够根据用户的设置来管理其开支并协调其订购的各种服务。</span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　</span></span></span><span style="background-color:#ffe500;"><span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">7.互联网整合</span></span></span></span><br />
<span style="font-size:14px;"><span style="color:#000000;"><span style="font-size:14px;">　　将互联网上提供类似服务的公司整合起来，以便用户能够更方便的比较和选择自己的服务供应商。</span></span></span><br />
</p>]]></description>
	<pubDate>Tue, 01 Nov 2011 07:50:18 +0000</pubDate>
	<author>Queenie</author>
	<guid>http://www.iamqa.com/software/11.html</guid>

</item>
<item>
	<title>老仙人，麻烦来一颗web测试精华</title>
	<link>http://www.iamqa.com/qmanage/10.html</link>
	<description><![CDATA[<p><a id="ematt:7" href="/content/uploadfile/201110/38a0e49fa00a4b85abb81f3e000d96b320111010203644.gif" target="_blank"><img border="0" alt="点击查看原图" src="/content/uploadfile/201110/38a0e49fa00a4b85abb81f3e000d96b320111010203644.gif" /></a></p>
<p>&nbsp;</p>
<p>关于<u><strong>web</strong></u><u><strong>测试</strong></u><br />
1页面部分<br />
（1） 页面清单是否完整（是否已经将所需要的页面全部都列出来了）<br />
（2） 页面是否显示（在不同分辨率下页面是否存在，在不同浏览器版本中页面是是否显示）<br />
（3） 页面在窗口中的显示是否正确、美观（在调整浏览器窗口大小时，屏幕刷新是否正确）<br />
（4） 页面特殊效果（如特殊字体效果、动画效果）是否显示<br />
（5） 页面特殊效果显示是否正确</p>
<p>2 页面元素部分<br />
（1）页面元素清单（为实现功能，是否将所需要的元素全部都列出来了，如按钮、单选框、复选框、列表框、超连接、输入框等等）<br />
（2）素是否显示（元素是否存在）<br />
（3）页面元素是否显示正确（主要针对文字、图形、签章）<br />
（4）页面元素的外形、摆放位置（如按钮、列表框、核选框、输入框、超连接等）<br />
（5） 页面元素基本功能是否实现（如文字特效、动画特效、按钮、超连接）<br />
（6） 页面元素的容错性列表（如输入框、时间列表或日历）<br />
（7） 页面元素的容错性是否存在<br />
（8） 页面元素的容错性是否正确</p>
<p>3 功能部分<br />
（1） 数据初始化是否执行<br />
（2） 数据初始化是否正确<br />
（3） 数据处理功能是否执行<br />
（4） 数据处理功能是否正确<br />
（5） 数据保存是否执行<br />
（6） 数据保存是否正确<br />
（7） 是否对<u><strong>其他</strong></u>功能有影响<br />
（8） 如果影响其他功能，系统能否作出正确的反应<br />
（9） 其他错误<br />
（10） 对模块的具体功能进行测试时可以列出功能模块的所有功能，进行排列组合，测试所有情况<br />
如：某一功能模块具有最基本的增删改查功能，则需要进行以下测试<br />
单项<u><strong>功能测试</strong></u>（增加、修改、查询、删除）<br />
增加——&gt;增加——&gt;增加 （连续增加测试）<br />
增加——&gt;删除<br />
增加——&gt;删除——&gt;增加 （新增加的内容与删除内容一致）<br />
增加——&gt;修改——&gt;删除<br />
修改——&gt;修改——&gt;修改 （连续修改测试）<br />
修改——&gt;增加 （新增加的内容与修改前内容一致）<br />
修改——&gt;删除<br />
修改——&gt;删除——&gt;增加 （新增加的内容与删除内容一致）<br />
删除——&gt;删除——&gt;删除 （连续删除测试）<br />
（11）查询功能分为两种情况，验证操作结果。<br />
一、打开页面时自动显示结果，则不特别强调；<br />
二、需要手工操作进行查询，则每次在其他功能完成后进行。<br />
4 提示信息<br />
（1） 成功、失败提示<br />
（2） 操作结果提示<br />
（3） 确认提示<br />
（4） 危险操作、重要操作提示<br />
（5） 返回页面 提示后显示的页面<br />
5 容错性<br />
注意以下几种情况<br />
（1） 为空、非空<br />
（2） 唯一性<br />
（3 ）字长、格式<br />
（4） 数字、邮政编码、金额、电话、电子邮件、ID号、密码<br />
（5） 日期、时间<br />
（6） 特殊字符 （对<u><strong>数据库</strong></u>）英文单、双引号，&amp;符号<br />
6 权限部分<br />
功能权限： 指定用户可以使用那些功能，不能使用那些功能<br />
数据权限： 指定用户可以处理那些数据，不可以处理那些数据。可<br />
以合并到功能测试<br />
操作权限： 在逻辑关系上，操作前后顺序、数据处理情况。可以合<br />
并到功能测试<br />
权限变化： 可以合并到功能测试</p>
<p>（1） 功能权限是否存在<br />
（2 ）功能权限是否正确<br />
（3） 数据权限是否存在<br />
（4） 数据权限是否正确<br />
（5）操作权限是否存在<br />
（6） 操作权限是否正确<br />
（7） 引起权限变化的功能列表<br />
（8） 功能权限变化还是数据权限变化，或两者兼有<br />
（9） 权限变化是否正确</p>
<p>7 键盘操作<br />
（1） Tab键的使用<br />
（2） 上下方向键的使用<br />
（3） Enter键的使用<br />
（4） 系统设定快捷键的使用（如果设置有快捷键）</p>
<p>8 测试中还应注意的其他事项<br />
（6） 完整性：是否是一个整体，没有功能缺损<br />
（7） 易用性：使用是否方便<br />
（8） 一致性：类似的问题用类似的方法处理<br />
（9） 提示信息：提示信息是否完整、正确、详细<br />
（10） 帮助信息：是否提供帮助信息，帮助信息的表现形式（页面文字、提示信息、帮助文件），帮助信息是否正确、详细<br />
（11） 兼容性：包括<u><strong>操作系统</strong></u>兼容和应用软件兼容，可能还包括硬件兼容<br />
（12） 可扩展性：是否由升级的余地，是否保留了接口<br />
（13） 稳定性：运行所需的软硬件配置，占用资源情况，出现问题时的容错性，对数据的保护<br />
（14） 运行速度：运行的快慢，带宽占用情况</p>
<p>有几点：<br />
1.功能点测试：是否满足需求所要求的功能<br />
2.字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.<br />
3.字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.<br />
4.标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.<br />
5.中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.<br />
6.信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.<br />
7.界面测试：界面的正确性、一致性、友好性、易用性。</p>
<p>用户界面测试是从最终的使用者用户的角度来看软件，软件难以理解，不易使用就是软件缺陷。可以从以下几个方面重点来检查用户界面：<br />
1.易用性检查：确保软件易于理解，方便使用。<br />
2.一致性检查：<br />
a.注意系统页面的风格是否一致，如字的大小、颜色、字体要相同。<br />
b.提示信息的表达方式是否一致。<br />
c.按钮排列顺序是否一致。<br />
d.back, cancel等按钮跳转页面处理是否一致。<br />
e.各字段的名称，位置、长度、类型是否和设计文档要求一致，如Employee No和LoginName不一致。<br />
3.正确性检查：检查页面上的form, button, table, header, footer,提示信息，还有其他文字拼写，句子的语法等是否正确。<br />
4.友好性检查：<br />
a.提示信息是否友好.<br />
b.系统应该在用户执行错误的操作之前提出警告，提示信息.<br />
c.页面分辨率检查，在各种分辨率浏览系统检查系统界面友好性。<br />
5.合理性检查：做delete, update, add, cancel, back等操作后，查看信息回到的页面是否合理。<br />
6.检查本地化是否通过：英文版不应该有中文信息，英文翻译准确，专业。<br />
7.页面最大化检查：测试最大化/最小化/还原时页面是否做了对应的处理。<br />
</p>]]></description>
	<pubDate>Mon, 10 Oct 2011 20:32:31 +0000</pubDate>
	<author>Queenie</author>
	<guid>http://www.iamqa.com/qmanage/10.html</guid>

</item>
<item>
	<title>红帽CEO：没有开源就没有Google</title>
	<link>http://www.iamqa.com/tnews/9.html</link>
	<description><![CDATA[<p align="center"><a id="ematt:6" href="/content/uploadfile/201110/1c9a85bef0b0b6b2d1b84d71d69baa0620111010201253.jpg" target="_blank"><img border="0" alt="点击查看原图" src="/content/uploadfile/201110/1c9a85bef0b0b6b2d1b84d71d69baa0620111010201253.jpg" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;美国科技博客BusinessInsider近日对红帽CEO吉姆·怀特赫斯特（Jim Whitehurst）进行了采访，怀特赫斯特称，如今开源应用几乎无处不在，科技公司、银行和股票交易所等都是使用。没有开源，<u><strong>谷歌</strong></u>和Facebook根本不可能继续存在。</p>
<p align="left"><strong>　　以下为采访实录：</strong></p>
<p align="left"><strong>　　问：当人们问“<u><strong>Linux</strong></u>是什么”时，你怎么回答他们？</strong></p>
<p align="left">　　答：Linux可以说是用户驱动创新的首个典范，创造了如此规模和数量的内容。想想它1000多万行的代码就可以知道，其中不乏用户创新。在信息时代，由于开源的原因，英特尔、谷歌和亚马逊等公司首次看到了来自用户的众多创新。</p>
<p align="left"><strong>　　问：在Linux世界，红帽扮演怎样的角色呢？</strong></p>
<p align="left">　　答：我们是社区的催化剂，是Linux的最大贡献者，但所贡献的内容也不到20%。我们与谷歌、Facebook、银行和股票交易所等公司和机构合作。在付费Linux市场，我们拥有80%的份额。因此，我们是Linux商业化的最主要厂商。</p>
<p align="left"><strong>　　问：经济是推动开源的发展，还是阻碍其发展？</strong></p>
<p align="left">　　答：开源是经济的巨大受益者。它不仅仅是一个软件类别，而是一个创造软件的制造系统。软件市场规模高达200亿美元，我并不关注该市场如何增长，我关注的是我们在该市场能够赢得多少份额。</p>
<p align="left"><strong>　　问：许多人根本没有意识到谷歌和亚马逊等<u><strong>云计算</strong></u>服务商如此依赖于Linux，你认为Linux的品牌知名度是否被充分认可？</strong></p>
<p align="left">　　答：这无所谓。不仅是Linux，整个开源产业构成了典型的云计算环境。如果不是开源，谷歌不可能存在，Facebook也是如此。因此，我并不在意Linux的知名度，只要该知道的人知道即可。</p>
<p align="left"><strong>　　问：你想让更多人知道Linux的哪些方面呢？</strong></p>
<p align="left">　　答：几乎每个主要的证券交易所都在使用Linux，全球50%的交易在Linux平台上进行。有些人不使用Linux是因为它太廉价，因为它最可靠。我们销售Linux的口号是“便宜但好用”，但一些人认为“它只是一些偏执狂使用的产品，是一种廉价产品。”但事实上，全球最懂技术的人都是在使用Linux。你不可能在关键任务上使用<u><strong>Windows</strong></u>，肯定不会。潜艇、导弹防御系统和股票交易所等均采用高端的英特尔处理和Linux系统。</p>
<p align="left"><strong>　　问：谈谈Gluster？</strong></p>
<p align="left">　　答：关于存储，令我们感到兴奋的是，数据在呈爆炸式增长。智能<u><strong>手机</strong></u>消费数据，但同时也创造了大量数据。到2020年，数据量将增加到当前的40倍之多。因此，我们看到了软件存储的巨大需求，这也是我们收购Gluster的原因。</p>
<p align="left"><strong>　　问：红帽的业务模式有什么不同之处吗？</strong></p>
<p align="left">　　答：创新的本性就是从根本上的改变。开源的一个优势就是，企业可以基于开源的多样性来创建业务模式，而不是单一性。全球的经济模式都是建立在单一性之上，例如，图书依靠版权来盈利。而开源则不同，丰富性是其特征之一，人们可以为开源添加内容。</p>
<p align="left">　　在软件公司中，年营收超过10亿美元的并不多。我们是一家开源软件公司，本财年营收预计将达到11亿美元，并且每年还将以20%的幅度递增。</p>
<p align="left"><strong>　　问：对于10亿美元的年营收，你是感到吃惊，还是理所当然？</strong></p>
<p align="left">　　答：只是在最近2-3年，这才成为不可避免的趋势。3年前我加盟红帽时，我们的客户主要是股票交易所、电信公司和一些技术专家，当时没有想到能赢得主流公司客户。如今开源几乎无处不在，凭借高性能、低价格优势，年营收突破10亿美元理所当然。</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">（摘自新浪科技）</p>]]></description>
	<pubDate>Mon, 10 Oct 2011 20:11:46 +0000</pubDate>
	<author>Queenie</author>
	<guid>http://www.iamqa.com/tnews/9.html</guid>

</item>
<item>
	<title>经典的杯子测试</title>
	<link>http://www.iamqa.com/tarticle/8.html</link>
	<description><![CDATA[<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"><a id="ematt:5" href="/content/uploadfile/201110/5461670894e0c91049a4f66a7db7730120111010195245.jpg" target="_blank"><img border="0" alt="点击查看原图" src="/content/uploadfile/201110/thum-5461670894e0c91049a4f66a7db7730120111010195245.jpg" /></a></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal">&nbsp;</p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal">&nbsp;</p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">第一种：</span><span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　测试项目：杯子</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　需求测试：查看杯子使用说明书</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　界面测试：查看杯子外观</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　功能度：用水杯装水看漏不漏；水能不能被喝到</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　安全性：杯子有没有毒或细菌，检查水杯被破坏后，是否会造成使用者伤害</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　可靠性：杯子从不同高度落下的损坏程度</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　可移植性：杯子再不同的地方、温度等环境下是否都可以正常使用</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　兼容性：杯子是否能够容纳果汁、白水、酒精、汽油等</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　易用性：杯子是否烫手、是否有防滑措施、是否方便饮用</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　错误测试：装载高密度固体</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　破坏测试：检查水杯最大抗挤压和拉扯承受力</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　用户文档：使用手册是否对杯子的用法、限制、使用条件等有详细描述</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　疲劳测试：将杯子盛上水（案例一）放</span><span lang="EN-US"><span style="font-family:'Times New Roman';">24</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">小时检查泄漏时间和情况；盛上汽油（案例二）放</span><span lang="EN-US"><span style="font-family:'Times New Roman';">24</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">小时检查泄漏时间和情况等</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　<span style="color:red;">压力测试：用根针并在针上面不断加重量，看压强多大时会穿透</span></span><span style="color:red;" lang="EN-US"><span style="font-family:'Times New Roman';">-----</span></span><span style="font-family:宋体;color:red;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">针对性的测试</span><span style="color:red;" lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　跌落测试：杯子加包装</span><span lang="EN-US"><span style="font-family:'Times New Roman';">(</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">有填充物</span><span lang="EN-US"><span style="font-family:'Times New Roman';">),</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">在多高的情况摔下不破损</span><span lang="EN-US"><span style="font-family:'Times New Roman';">------<o:p></o:p></span></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　震动测试：杯子加包装</span><span lang="EN-US"><span style="font-family:'Times New Roman';">(</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">有填充物</span><span lang="EN-US"><span style="font-family:'Times New Roman';">),</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">六面震动</span><span lang="EN-US"><span style="font-family:'Times New Roman';">,</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">检查产品是否能应对恶劣的铁路</span><span lang="EN-US"><span style="font-family:'Times New Roman';">\</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">公路</span><span lang="EN-US"><span style="font-family:'Times New Roman';">\</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">航空运输</span><span lang="EN-US"><span style="font-family:'Times New Roman';">-----</span></span><span style="font-family:宋体;color:red;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">考虑环境因素</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　测试数据：测试数据具体编写此处略（最讨厌写测试数据了）。其中应用到：场景法、等价类划分法、因果图法、错误推测法、边界值法等方法</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;tab-stops:298.5pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　期望输出：</span><span lang="EN-US"><span style="font-family:'Times New Roman';"><o:p></o:p></span></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　该期望输出需查阅国标、行标以及使用用户的需求</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">第二种：</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　总体来说从以下几个方面去考虑</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　功能性、性能性、易用性、可操作性、稳定性方面进行测试</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　功能性方面的测试，主要是考虑这个水杯是否能盛水，能盛多少水，能否盛热水，盛热水又能盛多少</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　性能性方面，盛冷水和热水时分别盛多少水杯能够承受</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　易用性方面，水杯易用手拿或端着</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　可操作性，也可以说和易用性相似，当盛冰水时感觉不到很冻，热水时感觉不到很烫，或者也可以归于<u><strong><span style="color:#3399cc;">功能测试</span></strong></u></span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　稳定性测试，水杯一直盛着水，是否长时间之后会漏水</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　测试驱动开发—</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　水杯类：父类（杯子）</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　属性，如材料、形状、容量等</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　方法，如盛水等</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　水杯可以装泥土当花盆用，要提供花盆的接口</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　水杯的子类：如一次性杯子等等</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　重写或添加属性、方法</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　容错：所装物体判断（物体的类别、物体的属性）</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　执行方法的前提判断（某些属性已经复值，有托盘则执行端的方法，有把手则执行拿的方法；或根据温度）</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">操作时注意，某个静态字段是否超出数值范围</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　试杯子</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　测试项目：杯子</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　需求测试：查看杯子使用说明书</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　界面测试：查看杯子外观</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　功能度：用水杯装水看漏不漏；水能不能被喝到</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　安全性：杯子有没有毒或细菌</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　可靠性：杯子从不同高度落下的损坏程度</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　可移植性：杯子再不同的地方、温度等环境下是否都可以正常使用</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　兼容性：杯子是否能够容纳果汁、白水、酒精、汽油等</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　易用性：杯子是否烫手、是否有防滑措施、是否方便饮用</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　用户文档：使用手册是否对杯子的用法、限制、使用条件等有详细描述</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　疲劳测试：将杯子盛上水（案例一）放</span><span lang="EN-US"><span style="font-family:'Times New Roman';">24</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">小时检查泄漏时间和情况；盛上汽油（案例二）放</span><span lang="EN-US"><span style="font-family:'Times New Roman';">24</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">小时检查泄漏时间和情况等</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　压力测试：用根针并在针上面不断加重量，看压强多大时会穿透</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　跌落测试</span><span lang="EN-US"><span style="font-family:'Times New Roman';">:</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">杯子加包装</span><span lang="EN-US"><span style="font-family:'Times New Roman';">(</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">有填充物</span><span lang="EN-US"><span style="font-family:'Times New Roman';">),</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">在多高的情况摔下不破损</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　震动测试</span><span lang="EN-US"><span style="font-family:'Times New Roman';">:</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">杯子加包装</span><span lang="EN-US"><span style="font-family:'Times New Roman';">(</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">有填充物</span><span lang="EN-US"><span style="font-family:'Times New Roman';">),</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">六面震动</span><span lang="EN-US"><span style="font-family:'Times New Roman';">,</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">检查产品是否能应对恶劣的铁路</span><span lang="EN-US"><span style="font-family:'Times New Roman';">\</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">公路</span><span lang="EN-US"><span style="font-family:'Times New Roman';">\</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">航空运输</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　测试数据：测试数据具体编写此处略（最讨厌写测试数据了）。其中应用到：场景法、等价类划分法、因果图法、错误推测法、边界值法等方法</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　期望输出：</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　该期望输出需查阅国标、行标以及使用用户的需求</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span lang="EN-US"><o:p><span style="font-family:'Times New Roman';font-size:small;">还可以从以下几个方面去考虑：</span></o:p></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　一、</span><span lang="EN-US"><span style="font-family:'Times New Roman';">GUI</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">测试：</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">1</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">看其形状、大小设计是否适合人方便拿起；</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">2</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">外观是否吸引人（广告嘛），赏心悦目；</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">3</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">带广告的图案沾水后是否掉色、模糊。</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　二、功能、压力测试：</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">A</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">考量其装载能力：</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　在杯子内分别装入少量的、半杯的、满杯的：</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">1</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">热水；</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">2</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">冷水；</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">3</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">冰水；</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">4</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">咖啡；</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　看其装载量和装载时间以及纸杯拿在手中的硬度是否达到设计标准</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　</span><span lang="EN-US"><span style="font-family:'Times New Roman';">B</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">装入热水后，纸杯是否有异味。</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span lang="EN-US"><o:p></o:p></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-size:small;"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">　　三、</span><span lang="EN-US"><span style="font-family:'Times New Roman';">24*7</span></span><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';">测试：</span><span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin:0cm 0cm 0pt;" class="MsoNormal"><span style="font-family:宋体;mso-ascii-font-family:'Times New Roman';mso-hansi-font-family:'Times New Roman';"><span style="font-size:small;">　　装入液体后记录其多久以后漏水。</span></span><span lang="EN-US"><o:p></o:p></span></p>
<br />]]></description>
	<pubDate>Mon, 10 Oct 2011 19:46:34 +0000</pubDate>
	<author>Queenie</author>
	<guid>http://www.iamqa.com/tarticle/8.html</guid>

</item>
<item>
	<title>报告称苹果将同时推出iPhone5和iPhone4+</title>
	<link>http://www.iamqa.com/6.html</link>
	<description><![CDATA[北京时间9月20日消息，据国外媒体报道，摩根大通周一发表研究报告称，今年秋天<a href="javascript:;" target="_self"><u><strong>苹果</strong></u></a>将推出两款新iPhone：一个是新设计的iPhone5，另外还将推出iPhone4升级版iPhone4+，后者将瞄准中端智能<a href="javascript:;" target="_self"><u><strong>手机</strong></u></a>用户，特别是中国等新兴市场的用户。<p>　　摩根大通分析师马克·莫思考维茨（Mark Moskowitz）在给投资者的报告中称，他预计第五代iPhone重量更轻、外形更薄，同时可支持CDMA和GSM无线技术，成为“世界型号”手机，但不支持4G技术。iPhone5预计将安装尺寸更大的Retina显示屏，在物理设计上有显著但非根本性变化。</p>
<p>　　他表示：“iPhone5可能采用iPad2的A5处理器或更新的A6处理器。我们也预计1GB的RAM可提高内存使用次数。<a href="javascript:;" target="_self"><u><strong>其他</strong></u></a>的改进包括，更长的电池续航时间，印刷电路板（PCB）、触摸屏和LCD功耗指标等”。</p>
<p>　　但莫思考维茨认为，iPhone5不会是苹果今年秋天推出的唯一手机。他表示：“基于目前iPhone4进行小改进的设备iPhone4+，将瞄准中端用户和中国用户。由于有了iPhone4，预计3GS将被列入低端产品”。</p>
<p>　　莫思考维茨称，他通过调查发现，iPhone4+可能在中国通过一家或多家运营商销售。虽然他认为这种手机是针对中国市场的，但他预计不会是独家提供给这个有10多亿人口的国家。</p>
<p>　　莫思考维茨认为，苹果在更新iPhone产品时会增加新的运营商，以争取销售上的巨大成功。他认为，中国电信、Sprint和T-Mobile等运营商在不久的将来最有可能成为苹果的合作伙伴。</p>]]></description>
	<pubDate>Tue, 20 Sep 2011 13:46:00 +0000</pubDate>
	<author>Queenie</author>
	<guid>http://www.iamqa.com/6.html</guid>

</item>
<item>
	<title>测试基于Web的应用程序</title>
	<link>http://www.iamqa.com/5.html</link>
	<description><![CDATA[测试<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">web</span></strong></u></a>应用程序和<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">测试</span></strong></u></a>桌面系统用很多共同点：例如你需要和执行所有标准测试类型一样测试常见的功能点，配置及兼容性。但是由于与应用程序交互的所有分布式系统组件的复杂性成倍的增加的原因，导致web应用程序测试更加的困难。当我们在web环境中看到一个错误时，通常很难指出错误发生的地方，并且由于我们看到的行为或我们接受到的错误信息可能是发生在Web系统中不同部分的错误的结果。错误可能是很难重现的。那么我们如何在web系统中分析错误呢，并且为了重现那些错误又应该做哪些考虑呢？<br />
&nbsp;&nbsp;&nbsp; 当我们对潜在的技术有一个了解时，我们可以更好的最大化测试效率－编写更多可重现的bug报告并且在较少的时间里发现更多的错误。说比做更加容易－特别是在web环境里。Web环境在错误倾向技术变量是密度高的。以下是测试Web应用程序的需要考虑的5个基本事项：<br />
1． 当我们在客户端看到一个错误时，我们所看到的是错误的症状，而不是错误本身。<br />
2． 错误可能是与环境相关的，并且可能不出现在不同的环境里<br />
3． 错误可能是存在代码或是配置中的<br />
4． 错误可能驻留在几个层中的任一个层中<br />
5． 检查<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">操作系统</span></strong></u></a>中的两个类别－静态vs动态－需要不同的方法。<br />
现在让我们来详细的看看这5个需要考虑的事项。<p>&nbsp;</p>
<p>1.&nbsp;&nbsp;&nbsp;&nbsp; 什么是我们真正看到的东西？是一个错误还是一个症状？<br />
如果不诊断环境，我们不能够确定是什么导致了一个症状出现。如果客户端和服务器端的一个环境特定的变量被移除或被改变的话，我们或许将不能够重现问题。<br />
例如，我正在测试一个Web的缺陷跟踪应用程序，并且遍历创建一个bug报告的流程。当我选择“新建”按钮时，我接收到一个错误信息：Microsoft OLE DB Provider for ODBC Drivers error '80040e14'。在花了一些时间调查我的浏览器环境后，我发现JavaScript在浏览器的参数设置对话框中被禁止了。启用JavaScript就消除了这个错误。（这个问题是否是个bug不在我们今天讨论的范围里）这里是要说如果我在bug报告中增加关于JavaScript的信息，我可以节约我们团队花费在分析这个问题的时间。此外，“禁用JavaScript”从此应该要添加到我的测试包中；它将被应用到应用程序的各个地方，以使所有潜在的相关问题不会出现。</p>
<p>2.&nbsp;&nbsp;&nbsp;&nbsp; 这个错误是环境依赖的吗？<br />
为了重现一个环境相关的错误，我们不得不完全地复制活动的准确顺序和应用程序操作所在环境的条件（操作系统，浏览器版本，插件的组件，<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">数据库</span></strong></u></a>服务器，web服务器，第三方组件，服务器/客户端资源，网络带宽和通信量等等）。例如，当你试图使用一个28.8 kbps的拨号连接登录到你的Web应用程序中，你会碰到一个由于在认证过程中因超时而导致的登录失败－但是同样的登录步骤如果你用一个1.54 mbps 的T－1连接将会成功的通过认证。在这个案例中，你有一个环境依赖的错误，这个依赖条件是在带宽中。<br />
环境无依赖的错误，用另一种话说，相对来说是容易重现的－它没有必要复制操作环境。环境无关的错误，需要复制所有都能够揭示错误的步骤。例如，如果公司的名称在所有产品在线页面上错误地拼写为WebTessting.Con, 你就总能看到这个错误－它是和硬件，软件和你操作环境中资源变量无关的。更为常见的是，我们将环境无关的错误称为功能特定的错误。</p>
<p>&nbsp;</p>
<p>3. 是一个代码错误或是一个配置问题<br />
错误（或是假定错误的症状）可能会在代码修复中或系统重新配置（客户，服务器或网络）解决（假设错误是真实的）。不要太快的下结果它是一个bug。<br />
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 对比真正的软件错误，这是一个说明识别可能的配置问题挑战。它显示了由于Web应用程序“登录失败”而引起的一个错误信息。只是简单的查看这个错误信息，是不可能判断这个错误是由于软件bug引起的还是服务器端配置问题，或是兼容性问题，浏览器配置问题或以上所有的。<br />
在进一步分析这个失败以后，我发现几个可能的产生这个错误信息的条件:<br />
IIS (Web <a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">server</span></strong></u></a>) virtual directory has not been set up properly当虚拟目录没有被正确的配置时，将找不到请求的文件，脚本或数据。这是一个典型的服务器配置的问题。然而，如果安装程序未能根据说明书一样配置web服务器，那么这是一个软件的错误。如果一个系统管理员未能根据说明书正确地配置web服务器，这个就变成了用户错误。<br />
Application directory has not been configured properly to execute scripts一个典型的应用服务器目录包含了需要执行的脚本，它们会被代表客户端的Web服务器调用。为了安全的原因，一个Web服务器可以被配置以允许或不允许脚本在一些目录里执行。如果你的应用服务器目录被设计来包含将要被执行的脚本－但是Web服务器被配置为在那个目录里禁用脚本执行－应用程序将不能<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">工作</span></strong></u></a>。这是软件错误还是一个配置问题呢？<br />
Default Web page has not been set up properly这个问题和上面的问题相似<br />
<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">SQL</span></strong></u></a> Server is not running为了执行查询，存储过程和访问数据，应用服务器需要连接后台在SQL服务器上的数据库。如果SQL服务器进程没有运行，显然应用程序将不能工作。<br />
DLL/COM objects are missing or were unsuclearcase/" target="_blank" &gt;ccessfully registered可能安装程序在安装过程中未能复制应用服务器要使用的所有DLL。如果遗漏了其中一个应用程序所需的DLL，应用程序将不可以工作。<br />
也可能安装程序正确的复制了所有需要的模块，但是失败的注册一个或多个DLL。例如OLE－Based的对象，例如COM或DCOM，它们的class ID(CLSID) 在它们可以被使用之前必须注册到注册表库中。如果一个应用程序试图访问一个没有被成功注册的COM对象，应用程序将不能工作。<br />
这个问题通常由安装过程中的错误引起来。另一方面，如果组件必须被手工注册地话，就变成一个配置问题。<br />
Browser-side JavaScript. setting has been disabled这是一个浏览器端的配置问题，由于应用程序要求浏览器启用JavaScript。这是一个软件错误，配置问题或是一个技术支持的问题呢？</p>
<p>4．哪个层真正的引起了那个问题？<br />
在Web系统中的错误通常是很难一直重现因为许多由C/S架构的分布式特性而引入的许多变量。（例如，服务器，客户端和网络组件）。在一个web环境中至少由3个常见的怀疑部分：客户端，服务器和网络。客户端和服务器都会携带诶之和兼容性问题，那些和PC环境相似，所有的组件都在一个盒子里。在C/S系统里，问题成倍的增长，然而，由于可能有很多的客户端和服务器链接在一个网络中。典型的C/S配置和兼容性问题涉及到硬件和操作系统的混合（例如，基于UNIX的vs基于windows的盒子）以及在服务器端的软件组合（Web服务器包，数据库服务器包，防火墙，COM对象，CORBA对象等等）。问题也可能涉及客户端的软件组合（TCP/IP堆栈，拨号软件，帮助组件，浏览器带宽和浏览器版本）。另外，浏览器设置，例如一些常见的设置，连接设置，安全设置（包括ActiveX空间，插件，Java，脚本，下载，用户认证等等），内容设置，程序设置，和<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">其他</span></strong></u></a>高级设置（包括浏览器选项，多媒体选项，JVM选项，打印选项和HTTP选项）引入很多可以被测试并分析的变量。<br />
网络提供了另一套变量。网络用几个方式影响着Web应用程序，包括由于带宽和响应时间引起的分时相关的问题（竞态条件，性能，超时等等），由于硬件设备例如网关和路由器导致的潜在的配置和兼容性问题，以及和安全实现相关的端问题。</p>
<p>&nbsp;</p>
<p>5．静态和动态操作环境是不同的<br />
一般来说，有两类操作环境－每个都有自己独一无二的测试牵连：<br />
静态环境（例如配置和兼容性错误）不兼容性问题可能存在其中，不管可变的条件，例如处理速度和可用的内存<br />
动态环境（例如资源及时间相关的错误）其他方面可兼容的组件可能出现错误在其中，由于内存相关的错误和反应时间条件（我们将在这一节中更详尽的探讨动态环境）</p>
<p>静态操作环境：配置和兼容性变量<br />
配置和兼容性问题可能会出现在web系统中的任何一个点上：客户端，服务器端，或网络中。配置问题包括不同的服务器软件和硬件设置，浏览器设置，网络连接，和TCP/IP堆栈设置。浏览器设置/ 前面提到的JavaScript例子说明了配置问题的一种类型。图1和图2展示的是另一个配置问题的类型，两种可能的物理服务器配置：one-box 和two-box配置。<br />
我们用来示范的所测试应用程序有一些制图的功能，可以让用户生成度量报告，例如条形图和直线图。当用户请求一个度量报告时，应用程序服务器执行的伪码如下：<br />
1．连接服务器并运行查询，<br />
2．编写查询结果到一个名为c:\temp\chart.val的文件中，<br />
3．执行Chart的JavaApplet。从c:\temp\chart.val文件中读取数据以生成一个图表<br />
4．发送JavaApplet到浏览器<br />
在测试这个应用程序过程中，我发现图表功能可以在以上的配置上运行，但是却不能在其他配置上工作。在我更进一步的研究之后，我认识到问题可能出现在two-box配置中。在检查代码之后，我认识到问题在步骤2和3中。在步骤2中，查询结果被写到数据库服务器本地驱动器中c:\temp\chart.val。在步骤3里，Chart JavaApplet是运行在应用服务器上而不是和数据库服务器在一个相同的盒中。当它试图在应用服务器本地驱动器中打开c:\temp\chart.val文件时，文件并不存在。<br />
在这个用例中，我不建议在遇到问题时就阅读代码，我把调试的工作留给开发人员。我只不过想指出识别哪个服务器配置是有问题的，并且在bug报告中含括这些信息。我也会在测试下的应用程序支持的全部的分别式配置下运行一个粗略的<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">测试用例</span></strong></u></a>包。<br />
配置问题在静态操作环境中也是很终于的。例如，在图3中我们看到在Netscape Navigator和IE浏览器的一个兼容性区别。<br />
这个例子并不是要说IE比Netscape Navigator更好，它只不过意味着在浏览器之间有不兼容性问题－并且代码应该假设相对路径在所有的浏览器中都可以工作。更重要的是，它建议当你在一个环境中发现一个错误时，如果它是一个环境相关的错误的话，同样的错误可能不会出现在不同的环境中。<br />
动态的操作环境：事情不会保持一样<br />
当特定环境的属性值不是每次都在测试过程中保持常量时，它会引起操作环境变为动态。属性可以从资源特定（可用的RAM，磁盘空间等）转变为时间特定的（网络反应时间，用户要提交的交易顺序等）。<br />
当一个测试用例取决于步骤集和操作环境的准确复制，然而（由于它的动态本质）操作环境不可能被复制，错误变得不可重现或很难重现。<br />
顺便说一下，这也是内存相关错误通常较难重现的原因。当一个内存覆盖的错误出现在代码中时，例如，它常常会引起一个内存覆盖的问题。然而，从一个<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">黑盒测试</span></strong></u></a>的角度看，我们永远没有机会看到这个错误的症状直到执行或读取特定的代码或数据溢出字节。在这个例子中，步骤集代表了黑盒测试的准确集合。内存覆盖错误代表了在代码中的真实的错误。被执行或读取的被覆盖的字节的条件代表了动态的操作环境或需要揭露（重现）错误的条件。<br />
这是一个动态环境相关错误的Web应用程序例子，我们在其中将调查一个时间相关错误。功能说明书要求：<br />
·在系统中的项目名称必须是唯一的<br />
·为了可能的复制需要在客户端使用JavaScript来执行错误识别和处理<br />
·用户将可以通过请求项目设置页面增加或删除项目名称<br />
·当一个用户创建一个新的项目名称时，浏览器端的JavaScript检查输入的名称和内嵌在HTML页面中选择列表（如图4）。<br />
看看图5中的时间相关的错误。在项目设置页面之前和之后的屏幕截图中说明了应用程序失败检测重名的“Doomed”。图4解释了这个时间相关的错误，它包括了两个用户增加新的项目名称到同一个数据库中。<br />
如表1中所示，用户A和B同时创建新的项目，但是并不知道其他人的动作。在步骤3中，用户A增加了一个名为Another的项目。由于这个项目名称已经存在，他浏览器的JavaScript会显示一个提示他输入不同项目名称的信息。<br />
用户B增加了一个项目名称为Doomed。她浏览器的JavaScript不会检测Doomed为一个已经存在的项目名并且添加它到数据库中并返回列表。更新过的项目名称列表被发送到用户B。<br />
用户A随后添加相同名称Doomed到项目列表中。他浏览器的JavaScript没有在HTML列表中检测，因此Doomed会再次被添加到数据库中－同样到了返回的列表中。更新的项目名称列表被发送给用户A，并且包括两个Doomed的条目。<br />
这个结果未能满足产品的说明书。除非这种情况出现在一个设计良好的测试用例，偶然发现这个错误并且试图重现它不是一个简单的工作。在这个例子中，实际的错误是应用程序在检查服务器端重名（除了客户端检查以外）的失误。这些步骤包括用户A的活动。通过用户B的活动创建了动态操作环境－这些活动对于用户A是隐藏的或不知道的。</p>
<p>&nbsp;</p>
<p>总结</p>
<p>&nbsp;&nbsp;&nbsp; 为了有效的在Web环境中分析并重现错误，你需要对操作环境有个掌握。你也需要理解环境特定的变量可能会影响你复制错误的能力。在应用程序有着这份<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">文章</span></strong></u></a>中的一些技能，我希望你的<a href="javascript:;" target="_self"><u><strong><span style="color:#000066;">Web测试</span></strong></u></a>经验将会更少的被挫败和更加开心。<br />
&nbsp;&nbsp;&nbsp; 记住没有任何东西将替代你的测试技能－你编写出好的测试用例，问相关what-if的问题，保留仔细的记录，并且有系统的研究难以重现的错误的能力。就是这些技巧不仅在寻找错误中给你提供帮助，而且也会帮助你发现那些和他们相关的隐藏错误。</p>
<br />]]></description>
	<pubDate>Tue, 20 Sep 2011 13:42:36 +0000</pubDate>
	<author>Queenie</author>
	<guid>http://www.iamqa.com/5.html</guid>

</item></channel>
</rss>
