By admin
|
December 29, 2007
注:这一个系列是我在看原版的The Art of Software Testing时的一些翻译,因为没有得到作者和出版社的同意,这只是我自己的练习。请不要把本文中的内容用于商业用途。
测试的艺术第九章测试基于互联网的程序(The Art of Software Testing-Chapter9 Testing Internet Applications) 2nd Edition作者:GLENFORD J. MYERSRevised and updated by Tom Badgett and Todd M. Thomas with Corey Sandler
9.3.2 商务层的测试
商务层测试主要关注找到你网络程序的商业逻辑的错误。你会发现其实测试这个和测试其他的独立程序是一样的,你可以使用白盒和黑盒手段来进行。你要建立测试计划和步骤来检测程序在性能要求和数据收集还有交易进程的过程中的错误。
你要通过白盒测试来接近内部开发的组件,因为你可以知道程序的内部逻辑。然而,黑盒测试才是你在这一层测试的时候主要的技术手段。你要从开发测试驱动来组合测试独立的组件。(You will start by developing test drivers to unit-test the individual components.) 接下来你可以进行系统测试来检测你的组件在一起是不是可以很好的工作。当在这一层来领导一个系统测试时,你需要模仿用户购买产品或服务的步骤。比如,作为一个电子商务站点你可能需要建立一个测试驱动来查找清单,添加东西到购物车,还有支付。实事求是地为这些步骤来做模型是很有挑战的。( Pragmatically modeling these steps can prove challenging.)
你用来建立商业逻辑的技术指导你如何来建立和领导你的测试。有很多技术和手段你可以在这层的测试中用到,这使得没法建议你挑选一种唯一的测试方法。( There are numerous technologies and techniques you [...]
By admin
|
December 28, 2007
注:这一个系列是我在看原版的The Art of Software Testing时的一些翻译,因为没有得到作者和出版社的同意,这只是我自己的练习。请不要把本文中的内容用于商业用途。
测试的艺术第九章测试基于互联网的程序(The Art of Software Testing-Chapter9 Testing Internet Applications) 2nd Edition作者:GLENFORD J. MYERSRevised and updated by Tom Badgett and Todd M. Thomas with Corey Sandler
9.3.1 展示层的测试
对展示层的测试由寻找图形界面上的错误和前台的错误所组成。这个关键的一层提供了减少对你站点投诉,所以发现和改正这一层上发现的问题对展示一个有质量,有活力的站点来说是至关重要的。( This important layer provides the curb appeal of your site, so detecting and correcting errors in this layer are critical to presenting a quality, robust website.) [...]
By admin
|
December 27, 2007
注:这一个系列是我在看原版的The Art of Software Testing时的一些翻译,因为没有得到作者和出版社的同意,这只是我自己的练习。请不要把本文中的内容用于商业用途。
测试的艺术第九章测试基于互联网的程序(The Art of Software Testing-Chapter9 Testing Internet Applications) 2nd Edition作者:GLENFORD J. MYERSRevised and updated by Tom Badgett and Todd M. Thomas with Corey Sandler
9.3 测试的战略
开发一个测试基于互联网的程序的战略要求踏实地了解组成这个程序的每个硬件和软件。因为这是是否能成功地测试程序的重要标准,需要一份描述你的网站期望的功能和性能的测试需求文档。如果没有文档,你没法设计合适的测试用例。
你需要测试内部开发的组件以及向外部购买的第三方组件。对自己开发的组件,你可以使用之前几章我们介绍的那些手段。包括了设计组合/模块化的测试用例以及代码审查。只有在你检查过这些组件达到了你的文档中提到的设计标准和功能需求之后,你才能把他们集成到整个系统中去。
如果你购买了第三方的组件,那么你要设计一系列的系统测试来检验这个组件是否可以正常地独立地运行于你的程序中。不要用你供应商的质量控制程序在这个组件中来发现的错误在作为测试的结果。比较完美的是你需要自己独立地完成你对程序的测试。只有当你决定他们表现出了可以接受水平之后,你才能把他们集成到程序中去。对于你程序结构中的非功能性的第三方组件,很难用测试结果来解释和定义出错误的源头。通常,你需要用到黑盒测试来检验第三方的组件,因为你几乎不知道这个组件内部是怎么实现的。
测试基于互联网的程序,最方便的方法是用分而治之的方法来达到效果。幸运的是,基于互联网的应用程序的结构可以允许你来定义描述区域来运用测试用例(Fortunately, the architecture of Internet applications allows you to identify discrete areas to target testing.) 图标9.1已经表达了一些互联网程序的基本结构。那么图标9.2将会为每一层提供更多更仔细的视角。
就像我们在本章的早些时候提到的那样,基于互联网的程序可以被看做是三层的C/S结构。在图标9.2中对每一层是怎么定义的:.展示层 这一层互联网程序提供了图形界面。.商业逻辑层 这一层为你提供了用户认证和交易处理等的商业模式.数据层 这一层容纳了你的程序需要使用的或者是从用户那里收集来的数据
每一层都有它自己的特性,他们促进了测试的细化。如果你每个层分开独立测试,那么你将会在系统测试开始之前更容易地定义问题和错误。如果你只是依赖于系统测试,那么你可能会将时间浪费在定位一个造成问题的特定组件上。
图表9.2列出了你在每一个层面必须测试的项目。这个列表并不完整,但是为你设计自己的测试标准提供了一个出发点。在这一章的接下来部分我们会为怎么测试每一个层面提供更详细的指导。
Technorati Tags: art of test, internet application test, stratage
By admin
|
December 26, 2007
注:这一个系列是我在看原版的The Art of Software Testing时的一些翻译,因为没有得到作者和出版社的同意,这只是我自己的练习。请不要把本文中的内容用于商业用途。
测试的艺术第九章测试基于互联网的程序(The Art of Software Testing-Chapter9 Testing Internet Applications) 2nd Edition作者:GLENFORD J. MYERSRevised and updated by Tom Badgett and Todd M. Thomas with Corey Sandler
9.2 测试的挑战
在设计和测试基于互联网的程序是因为大量的你无法控制的元素和许多互相依存的组建,所以你将面对许多挑战。适当的测试你的程序需要你来制作一些你的客户如何使用你网站的环境假定。
一个基于互联网的程序有许多容易失败的地方,在你需要在设计测试用例的时候需要考虑好的。( An Internet-based application has many failure points that you should consider when designing a testing approach.) 下面的这个列表提供了一些测试基于互联网的程序相关联挑战的例子:
.有一个很大而且各式各样不同的用户群。你网站的用户技术的水平是不相同的,他们所使用的浏览器也是各式各样的,当然使用的操作系统和设备也不相同。你也应当考虑到,用户访问你网站的网络速度也是不一样的。不是每个人都有一条T1线路或者拥有宽带连接的。
.商业环境 如果你正在运营一个电子商务网站,那么你必须考虑到一些比如计算税收的问题,还要决定运费,完成交易财务处理和追踪客户的资料。
.发生的场地 用户可能定居在不同的国家,所以你需要处理一些国际化的问题,比如语言的翻译,时区的考虑和货币的换算等问题。
.测试环境 为了恰当地测试你的程序,你需要重现产品的环境。这表示你需要使用和正式上线的产品环境一样的web服务器,程序服务器和数据库服务器。为了得到最准确的测试结果,我们同样需要重现网络的基础设施,包括路由器,交换机和防火墙。
.安全 因为你的站点是面向全世界的,你必须保护自己的站点防止黑客的攻击。他们会用DoS攻击给你的站点带来令人难以忍受的停顿或者窃取你用户的信用卡资料。
即使在这个列表之外,当我们从一个非常多样化的开发和商务的角度来看待这个测试时,我们也需要添加许多考虑角度。( Even from this list, which [...]
By admin
|
December 25, 2007
注:这一个系列是我在看原版的The Art of Software Testing时的一些翻译,因为没有得到作者和出版社的同意,这只是我自己的练习。请不要把本文中的内容用于商业用途。
测试的艺术第九章测试基于互联网的程序(The Art of Software Testing-Chapter9 Testing Internet Applications)作者:GLENFORD J. MYERSRevised and updated by Tom Badgett and Todd M. Thomas with Corey Sandler
9.1 基本的电子商务网站结构
在一头扎进测试基于网络的程序之前,我们先来看看在典型的基于网络电子商务的C/S的三层结构吧。从概念上来讲,每一层都可以作为一个很好地定义了接口的黑盒。这样的模型的好处是,你可以改变每层的内部不用担心这种改变会影响到其他的层。
虽然不是一个非常正式的结构,但是客户端和它的关联是非常值得讨论的。尽管从设计上来说比如手机,冰箱,传呼机还有汽车都开始可以连接到互联网,但是大多数和你的程序的联系都是存在与一台运行着浏览器的电脑上。浏览器戏剧性地呈现他们从网站上得到的内容。就像我们稍后会提到的,测试浏览器的兼容性是一项和互联网测试相关的挑战。内容提供者轻松地跟随已经发布的标准来帮助浏览器表现的一致,但是他们的独家增加的内容可能会导致一些不一致的行为。通常客户端使用的自定义程序就像管道一样通向一个特定的站点。在这个情况下,程序模仿一个你可能会在公司本地网路中看到的标准的C/S程序。
Web服务器是三层结构的第一层,而且也是网站所存放的地方。一个互联网程序的外观和感觉都是来自这个第一层。因此,也有的说法称呼这一层为展示层,它有这个称呼的原因是因为它向最终客户提供了可视化的内容。Web服务器可以使用HTML页面文件来提供静态的内容,也可以使用CGI脚本来提供动态的HTML内容,但是有很大的可能是提供了静态和动态。
第二层,又被称为商务层,程序服务器就是这一层。你在这里可以运行你那些展示你商业进程的软件。(?)一下的列表包含了一些和商务层相关的功能:. 处理过程. 用户认证. 数据校验. 程序的日志
第三层关注的是从数据源中存储和读取数据,其中有代表性的是RDBMS(关联数据库管理系统),第三层又被称为数据层。这一层是由数据库的最底层结构组成用来和第二层通讯的。数据层的接口是由数据模型定义的,它描述了你希望怎样了存储数据。有时候这一层有好多个数据库服务器组成。你通过典型的调整这层中的数据库系统来处理电子商务网站遇到的高交易量问题。(You typically tune database systems in this layer to handle the high transaction rates encountered in an e-commerce site.)关于数据库服务器,一些电子商务网站也可能在这层增加一个认证服务器。最有可能的是,你使用一个LDAP服务器来实现这个功能。
Technorati Tags: The art of test, internet [...]
By admin
|
March 22, 2007
在和Carol聊天聊两岸的流行语。感谢Carol教会了一个我想认识很久的字“囧”。这个字你认识么?这个字念“Jiong”第三声,同窘。意思也和窘差不多,所以可以说“很囧”原因是什么呢?因为它实在长得相张人脸…
Technorati Tags: 囧, new word
Fenng对他的MT RSS做了一些修改,使得输出的时候除了显示全文,还可以显示评论。这个方法似乎在我订阅的Blogger中间很少有人采用,所以觉得很新鲜。不过这个做法有一个不完美的地方是如果我阅读完一篇文章之后,在我的Google Reader上是不再显示了的。那么有新的评论似乎我也看不到了?
在看评论的时候看到POPOEVER说:
@Nasone: 在RSS里做全文输出?那还要ATOM干嘛?每种协议或规范完成自己的任务就可以了。
我所期待的是能解决相对路径的问题。
这个说法很新鲜,我原先光知道ATOM和RSS都是FEED的输出形式,似乎Google采用的是ATOM形式,其他的采用RSS的多些。至于他们两者具体的区别我就不清楚了。他们真的是区别在ATOM输出全文,RSS输出摘要么。
我上网查了一下,找到了这篇文章:Rss20AndAtom10Compared中文版的在这里。这篇文章比较的非常全面,通过对实施状况和性质等18个方面对RSS和ATOM进行了比较。
在完整的与部分的内容的比较上,文章是这么说的:
RSS 2.0 has a <description> element which is commonly used to contain either the full text of an entry or just a synopsis (sometimes in the same feed), and which sometimes is absent. There is no built-in way to signal whether the contents are complete.
Atom has separate <summary> [...]
By admin
|
February 23, 2007
搬家是一件累人的事情,更可气的是,这么一件累人的事情还是你自找的。
最近在使用抓虾的过程中,总是有说不出来的不解气的地方。照理说,抓虾给大家提供了这么方便的服务,丰富的功能。它的用户粘度应该很高才对。可是,我却可耻地萌生了要转移到GoogleReader的念头。
有这样的想法不是一天两天了,始于去年(好有历史感的名词),但是因为海底光缆故障的原因。我从抓虾导出的OPML文件一直不能在GoogleReader成功导入。所以就一直拖着,直到春节前我再次实验还是没法顺利导入之后,开始了我的手动转移RSS Feed的“壮举”。因为我恰好需要重新安排我的Feed列表。对他们进行重新分类,是一件狠复杂的事情。我忙活到了今天,根据目测估计才完成了30%的转移工作。
那么我为什么非要从抓虾搬出来呢?不是抓虾不好,我一直狠感谢抓虾为我们提供一个这么优秀的服务。或许是我贪新鲜的毛病?用了一段时间之后又想换个口味。不过这也说不过去,我之前又不是没有用过GoogleReader。所以,这个理由实在狠难给,我只是觉得现在是时候要换了,在使用抓虾的时候碰到的一些小问题让我萌生退意。
这个故事告诉我们:1.在这个世界上,烦恼往往都是自找的。2.在使用一个服务的时候,往往细节决定成败,而且有时候用户觉得不爽的细节还没法清楚的描述出来。这个对服务的提供者来讲是一件伤心的事情。
Technorati Tags: move, google reader, rss reader, detail, zhuaxia, service
By admin
|
January 23, 2007
这几天,打开和关闭Excle的时候总是会出现”compile error in hidden module:DisMon”这个提示。这样子的提示最大的作用是用来吓唬人的。我也成功的被唬的一愣一愣的。以为自己的Excle出了什么问题,但又不甘心重装。所以就用Google轻轻地搜索了一把。得到的结果是一个MSKB的地址
This problem can occur when the following conditions are
true:
•
The Microsoft Office Startup folder or the Microsoft Excel
Startup folder contains either, or both, of the following Adobe Acrobat
PDFMaker add-in template files:
Pdfmaker.dot
Pdfmaker.xla
•
Norton AntiVirus software is installed.
这就好办了,找到Pdfmaker.dot或者Pdfmaker.xla不就好了?做这样子的事情是GoogleDesktop Search的拿手好戏了。轻松在“EXCLESTRT”文件夹下找到Pdfmaker.xla,删除之。再启动Excle,没事了。
回想这件事情的起因,估计是我卸载了Adobe Acrobat之后引起的。
这个故事告诉我们Google就是好呀就是好
Technorati Tags: google, office, adobe