OscarXie.net

关注质量与体验——电子商务与自动化测试

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  189 随笔 :: 0 文章 :: 99 评论 :: 34 Trackbacks

2008年5月13日 #

     摘要: .NET自动探索式测试工具——Pex  阅读全文
posted @ 2008-08-12 09:53 oscarxie 阅读(107) | 评论 (0)编辑

Selenium RC支持多种编程语言驱动客户端浏览器,这里主要介绍使用Python在Windows下驱动Selenium RC。Python是一种面向对象的解释性的计算机程序设计语言。

1、准备工作:

下载Java:目前是1.6 update7,下载地址:http://www.java.com/zh_CN/

下载Python:目前稳定版本为2.5.2,下载地址:http://www.python.org/download/,Python的相关信息参见:http://www.python.org/

下载Selenium RC:目前是1.0 Beta1版本,下载地址:http://selenium-rc.openqa.org/download.html,Selenium RC相关信息参见:http://selenium-rc.openqa.org/

2、开始运行

  • 首先启动Selenium Server,把下载的Selenium RC解压后,会有一个selenium-server-1.0-beta-1的文件夹,就是Selenium Server的存放目录,通过命令行Java -jar selenium-server.jar来启动Selenium Server端的服务,

  • 以在Google上搜索Hello World为例,Python的脚本如下:

"*firefox"是指支持的浏览器或是通过Selenium RC调用的浏览器,Selenium支持以下的浏览器类型,

Supported browsers include:
*iexplore
*konqueror
*firefox
*mock
*pifirefox
*piiexplore
*chrome
*safari
*opera
*iehta
*custom

在这里,仅使用*iexplore或*firefox则表示浏览器安装在默认的路径,即IE安装在"C:\Program Files\Internet Explorer\iexplore.exe",Firefox安装在"C:\Program Files\Mozilla Firefox\firefox.exe"。如果不是安装在默认的路径,需要指明浏览器安装的地址,如:"*firefox D:\Program Files\Mozilla Firefox\\firefox.exe"。

"def tearDown(self):
   self.selenium.stop()"

这段表示浏览器运行结束后直接关闭浏览器,这里可以注释掉。

  • 首先,使用IE为浏览器运行一次,代码如下:

 点击Python IDE上的Run菜单下拉中的Run Module或是快捷键F5,开始运行Python代码。通过Selenium直接调用IE浏览器进行客户端运行。

同时命令行窗口显示Selenium Server进行的每个步骤操作

 

  • 接下来使用Firefox作为浏览器进行访问

修改代码,*iexplore"修改为"*custom D:\Program Files\Mozilla Firefox\\firefox.exe",因为我电脑上的Firefox为3.0版本,目前Selenium RC不支持此版本,不管是使用"*chrome"还是"*firefox",都无法把Firefox调出;但是如果你机器上使用的Firefox是低于3.0版本,那么可以直接使用"*chrome"这个参数。

在运行之前,需要将Firefox中的代理设置成和Selenium Server一致,Localhost,端口为4444。

 

对于其他的浏览器只需要相应的修改参数为如*safari或*opera等,就能调用访问,实现一个多浏览器的兼容性测试。

其他相关文章:

Running Selenium in Python Driven Mode

http://agiletesting.blogspot.com/2006/01/running-s...

Web app testing with Python part 1: MaxQ

http://agiletesting.blogspot.com/2005/02/web-app-testing-with-python-part-1.html

Web app testing with Python part 2: Selenium and Twisted

http://agiletesting.blogspot.com/2005/03/web-app-testing-with-python-part-2.html

posted @ 2008-07-20 13:42 oscarxie 阅读(109) | 评论 (0)编辑

Selenium是一个很好的多平台多浏览器的自动化测试框架,Selenium提供了2种运行模式——Core和Remote Control(RC),除此之外,ThoughtWorks还为Selenium提供了Firefox的Add-on——Selenium IDE以及RC模式的扩展Selenium Grid。现在的版本为Selenium 1.0 beta-1 released (March 5, 2008)

支持的平台和浏览器:

Supported Platforms:

  • Windows:
    • Internet Explorer 6.0 and 7.0
    • Firefox 0.8 to 2.0
    • Mozilla Suite 1.6+, 1.7+
    • Seamonkey 1.0
    • Opera 8 & 9
    • Mac OS X:
      • Safari 2.0.4+
      • Firefox 0.8 to 2.0
      • Camino 1.0a1
      • Mozilla Suite 1.6+, 1.7+
      • Seamonkey 1.0
      Not yet supported: OmniWeb
      • Linux:
        • Firefox 0.8 to 2.0
        • Mozilla Suite 1.6+, 1.7+
        • Konqueror
        • Opera 8 & 9

      Selenium is a test tool for web applications. Selenium tests run directly in a browser, just like real users do. It runs in Internet Explorer, Mozilla and Firefox on Windows, Linux, and Macintosh, Safari on the Mac.  We have plans to target Safari on the iPhone in some months. 

      具体信息可以参见Selenium首页,http://selenium.openqa.org/

      1、Selenium Corehttp://selenium-core.openqa.org/

      Core模式一般是通过编写HTML后加载到要测试的Web程序中

      Core mode: The JavaScript core library and the tests in question are loaded into your webapp. It is a simpler form of Selenium, and suitable for non-developers, but it has some inherent limitations. Below is a simplified representation of the architecture.

      Your tests scripts (written in HTML) and the Selenium Test Runner itself are uploaded to the same web server that hosts the application you are trying to test.  That suggests that you know how to deploy to that web server (or know someone who does).
      You open a browser at a URL that will kick off the tests, and watch them run by.
      Selenium Core works on muliple browsers - more than the three shown on the left.

      2、Selenium RChttp://selenium-rc.openqa.org/

      The Remote Control mode is more advanced. It is able to test a wider range of web-applications than Selenium-Core and is more scalable, but requires some technical knowledge to set up.  Below is a simplified architectural representation of it ..

      RC模式可以通过多种编程语言支持驱动客户端浏览器,

    • - Java
    • - .NET
    • - Perl
    • - PHP
    • - Python
    • - ruby
    • - Selenese
    • - JavaScript

      最主要的是还能支持AJAX应用程序(The Selenium Server is great for testing complex AJAX-based web user interfaces under a Continuous Integration system. It is also an ideal solution for users of Selenium Core or Selenium IDE who want to write tests in a more expressive programming language than the Selenese HTML table format customarily used with Selenium Core.)

      Selenium Remote Control (RC) is a test tool that allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser.

      Selenium RC comes in two parts. 

      1. A server which can automatically launch and kill supported browsers, and acts as a HTTP proxy for web requests from those browsers.
      2. Client libraries for your favorite computer language.

      3、Selenium Gridhttp://selenium-grid.openqa.org/

      Selenium Grid is a tool that dramatically speeds up functional testing of web-apps by leveraging your existing computing infrastructure. It allows you to easily run multiple tests in parallel, on multiple machines, in an heterogeneous enviroment. 

      This additional server piece allows the several Remote Control servers to accessed in parallel by one or more driving processes.  You may want to do this if you want to use scale to speed everything up, or because you need to test on Mac and/or Linux, as well as Windows from one driving test-suite.

      Based on the excellent Selenium web testing tool, Selenium Grid allows you to run multiple instances of Selenium Remote Control in parallel. Even better, it makes all these Selenium Remote Controls appear as a single one, so your tests do not have to worry about the actual infrastructure. Selenium Grid cuts down on the time required to run a Selenium test suite to a fraction of the time that a single instance of Selenium instance would take to run.

      Of course, you get to choose which language you develop your tests in: Ruby, Java, Python, C#, PHP, ...

      4、Selenium IDEhttp://selenium-ide.openqa.org/

      Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run.

      Selenium IDE is not only recording tool: it is a complete IDE. You can choose to use its recording capability, or you may edit your scripts by hand. With autocomplete support and the ability to move commands around quickly, Selenium IDE is the ideal environment for creating Selenium tests no matter what style of tests you prefer.

      Features:

      • Easy record and playback
      • Intelligent field selection will use IDs, names, or XPath as needed
      • Autocomplete for all common Selenium commands
      • Walk through tests
      • Debug and set breakpoints
      • Save tests as HTML, Ruby scripts, or any other format
      • Support for Selenium user-extensions.js file
      • Option to automatically assert the title of every page

      This Firefox plugin allows you to record and playback tests in the browser.  Here is a screen shot of it in use (in the side-bar of Firefox):

      目前Selenium IDE有了支持Firefox 3.0的版本,

      Version 1.0 Beta 2

      http://selenium-ide.openqa.org/download.jsp

      5、ThoughtWorks

      Selenium是由ThoughtWorks团队开发的开源自动化测试框架,http://www.thoughtworks.com.cn/,ThoughtWorks是一个全球IT咨询公司。交付客户定制应用软件,提供注重实效的咨询服务,为企业开发软件,帮助企业敏捷开发。

      Selenium was developed by team of developers and testers at ThoughtWorks. It is open-source software and can be downloaded and used without charge. It is currently under active development developers from multiple companies. See who made Selenium for more details.
      ThoughtWorks is a leader in Agile development methods for enterprise software development. Selenium is designed specifically for the acceptance testing requirements of Agile teams. However, teams using more traditional development will also find it useful.

    • posted @ 2008-07-14 13:25 oscarxie 阅读(154) | 评论 (0)编辑

      Firefox 3.0发布后,很多插件都不能使用,只好逐一升级。

      现在在我的Firefox中基本重新装好了Add-On,截张图备份下。

      里面主要包括了开发工具、语言工具和工具栏:

      开发的有:Firebug、IE Tab、JavaScript Debugger、Selenium IDE、Web Developer、Xpath Checker和Yslow

      语言的有: BackWord(可惜目前没有支持3.0的),英文词典(美式英文、英式英文),

      其他的有:Google工具条,Google Gears和Easy DragtoGo(拖拽工具,实现和遨游一样的效果)

      另外,让FireFox使用IE收藏夹的PlainOldFavorites也不错,本地下载PlainOldFavorites插件

      相关文章:Firefox 3.0新版18日凌晨发布,已支持FF3的火狐插件Top 10

      posted @ 2008-07-12 15:57 oscarxie 阅读(138) | 评论 (0)编辑

           摘要: WatiN & Selenium RC-自动化测试工具比较   阅读全文
      posted @ 2008-07-12 12:51 oscarxie 阅读(141) | 评论 (2)编辑

           摘要: 关于TDD的观点:质量是反复思考的结果,仅靠解决Bug无法获得  阅读全文
      posted @ 2008-07-10 23:07 oscarxie 阅读(70) | 评论 (0)编辑

      Gallio .NET测试自动化平台

      作者 Al Tenhundfeld译者 张逸 发布于 2008年7月6日 上午1时6分

      社区
      .NET
      主题
      单元测试
      标签
      PowerShell,
      MbUnit,
      NUnit,
      MSTest,
      MSBuild,
      质量
      Gallio自动化平台发布了更新的alpha版。Gallio是一个针对.NET测试框架的自动化平台:
      Gallio自动化平台是一个针对.NET的开放的、可扩展的中立系统,提供了一个公用对象模型、运行时服务和工具(例如测试运行器),从而可被众多测试框架所利用。
      Gallio主要是由MbUnit测试框架的同一支团队开发。当MbUnit的开发者认识到构建一个新的.NET测试框架所需要的大量时间主要是消耗在编写支持工具和服务的时候,他们就开始了对Gallio项目的开发。在功能基本相同的情况下,为每个框架提供定制的APIs和工具就显得毫无必要了。Gallio正是通过提供一个其他框架均能够构建的测试自动化平台,来解决这种重复性劳动。

      尽管还处于开发的早期阶段,对于.NET软件社区而言,Gallio仍然具有两大潜在的优势。对于那些希望编写一个新的测试框架的人员而言,门槛降低了。如果Gallio能够满足可扩展性目标,测试框架的开发人员就能够将更多精力投入到对新的测试模式和测试方法的创新上。通过编写一个Gallio适配器插件,新的测试框架就可以从Gallio的自动化服务和工具中获益。对于那些想要使用多个测试框架来测试他们代码库的人员而言,Gallio能够提供一个单独的集成和自动化点。如果一个开发团队需要使用MbUnit对数据访问层的测试,以及对表示层的MSTest,Gallio测试运行器GUI能够运行所有的测试集,而Gallio CruiseControl.NET任务则能够将所有的测试集作为持续集成过程的一部分而执行。

      随着Alpha 3的第三次更新,Gallio能够运行来自于MbUnit、MSTestNBehaveNUnitxUnit.Net的测试。据文档介绍,Gallio集成了CCNet, MSBuild, NAnt, NCover, Pex, Powershell, Resharper, TestDriven.Net, TypeMockVisual Studio Team System

      查看英文原文:Gallio .NET Test Automation Platform

      PS:
      Gallio的官方网站:
      http://www.gallio.org/

      posted @ 2008-07-10 22:11 oscarxie 阅读(101) | 评论 (0)编辑

      最近登陆中国新蛋网,发现在账户中心,有个mynewegg beta试用版的新功能,

      点进去后,发现一个很花哨的界面,有点web 3.0的味道。



      使用jsp开发,样子很像一个操作系统,很有个性化。
      ps:从去年开始,电子商务就开始红火,PPG,Vancl,到京东商城以及最近史玉柱投资的51.com,都好像预示着新一轮互联网发展的开始。昨天回家坐地铁看到车上整版的校内网的广告,很有点当年空中网的味道。
      最近又有新闻报道,北京从8月份开始,网上开店需要申请执照,网上开店的税收问题终于提上了日程,这也难怪淘宝会在今年开始做网上商城,对于网上开店税收这块真空,一定会有相应的法规出台,这个是对目前苦苦挣扎中的B2C模式一个安慰,也符合个人预期。中国电子商务的发展值得期待。

      posted @ 2008-07-04 15:58 oscarxie 阅读(117) | 评论 (0)编辑

           摘要: 活动名称:paidai上海第二届电商聚会

      组织单位:paidai电商实战论坛

      赞助单位:ABC商务快递

      活动时间:2008年7月5日(周六) 14:30—20:30

      活动地点:锦江拉丁餐馆 别名:latina 闸北区共和新路1978号大宁国际商业广场9-E1幢102C-103C室

      地铁1号线 延长路站 4号口(左转前行100米)
        阅读全文
      posted @ 2008-07-02 10:23 oscarxie 阅读(92) | 评论 (2)编辑

           摘要: 58个常用GOOGLE 产品,你知道几个……  阅读全文
      posted @ 2008-06-22 11:20 oscarxie 阅读(160) | 评论 (0)编辑

      过去吃饭寻找优惠券都是上大众点评网,找好商铺后还要把优惠券打印出来。从去年开始,在各个地铁站口出现了维络城随宜行的装置,上面列出了商家的Logo,选择后可以打印优惠券,一种新的优惠模式诞生了,叫做“刷手机”,“刷手机”最早记得是说公交卡可以通过手机扣费来完成。不过这个维络城的“刷手机”还不是真正意义上的刷手机,而是年轻时尚一族都喜欢把Velo卡作为手机挂链。
          目前维络城装置上的签约商户还比较有限,主要是KFC,Mcdonald,DQ,星巴克,西提牛排等,当然,除了在装置上列出的商家,在Velo的网站上其实有餐饮、休闲、购物、教育和其他五大类,用户可以通过短信将优惠信息下载到手机后到装置上打印出来。
          获得维络卡的方式是在Velo网站上申请免费获得,然后快递过来,快递费6元需要自己支付,所以最好的办法就是多个人一起申请。得到卡后不是说就能马上用了,这里有一个激活的过程,官方说“VELO通过短信注册只是为了确定您手机号的真实性,以便为您提供更优质的服务。”,我觉得这个说法有些勉强,为什么不可以通过邮箱来激活呢,和论坛注册一致,个人觉得这个是后面还留有后招。


      感应VELO卡
       
      选内容
       
      打优惠

      http://www.velo.com.cn/
      维络城介绍:
      VELO| 维络城(上海宽鑫信息科技有限公司)专业从事于基于感应移动通讯那终端的信息服务平台建设和应用开发。作为一个国内领先概念的信息服务平台, VELO 提供了与世界同步的近距离感应手机( NFC 手机)应用环境,并与罗森便利、上海地铁、影院餐饮等强大资源形成了合作体系,提供了全新的感应手机使用体验。

      VELO| 维络城目前已经拥有用国内最为广泛的感应手机用户群体和应用网络,在上海初步构成了应用规模,形成自有的咨询发布平台。在众多的规划业务中,“随宜行”移动优惠服务为商户和终端用户提供了极为有效的优惠营销信息打印服务平台。作为一种全新的传媒技术和形式,公司在感应互动信息服务领域具备多项专利技术,并正在积极参与 2010 年上海世博会的信息服务工作。

      公司的合作伙伴不仅包括各种应用资源,同时也包括该领域的国际权威公司。 VELO| 维络城服务平台未来业务发展的目标是构建国内最大的现场信息服务平台,利用感应互动、移动通讯等技术,形成具有革命意义的咨询传递和商业营销服务平台。

      引用:关于维络卡的一些小想法 - [最爱MKT]
      http://joyfulring.blogbus.com/logs/10524419.html

      VELO|维络城 首页


      记得曾在几个月在徐家汇地铁站的出口发现了一个装置,上面有一些食品商家的Logo,貌似是可以选择的,不过周围没有任何文字说明,于是只能在围着它饶了几个圈之后仍对它是个什么东西完全摸不着头脑,当时还挺好奇的,呵呵,这应该算是Velo第一步市场推广的一个小招数吧。

      今天同样在这个地方周围看到了免费发放维络卡的促销员,凑上去填了下个人信息申请了一张,我终于搞清楚了这是个什么东东。这是一个号称自己是可以“刷手机”的装置,你可以通过网站或是现场赠送的方式获得一张小小的卡片(“维络卡”,手机链状),短信激活它的唯一代码后它就与你的手机号绑定了。这些刷手机终端通常设在某商圈或部分罗森店里,只要有终端,你就可以通过刷这张小小维络卡,打印出一些商家的优惠券,比如说KFC,Mcdonald,DQ,星巴克,西提牛排,甚至还有一些电影院和极少数K歌或者服饰优惠。当然,每个装置上的优惠券大概只有附近的大概十几到二十几个商家,你如果觉得不过瘾,还可以通过它的网站把最多30个优惠以短信的形式发到自己的手机里,然后在找到这个刷卡终端,把优惠券打印出来,于是你就可以使用了。

      不可否认,乍看之下,维络卡是一个很吸引我的东西:第一,它提出了“刷手机”的概念:网站上有这样的宣传“打电话、发短信、拍照摄像、上网,你的手机还有其它玩法吗?最新玩法——加入VELO,“刷手机”。越刷越精彩!”目前手机已经逐渐成为各项技术的综合终端,集成电子标签的功能也成为它的必然趋势,因此,在这一点上,维络顺势而动,在新兴起的主要消费群—关注时尚的80后一族中赢得了关注。第二,对于周末常常轧马路的年轻消费群来说,中心商圈的几个水平实在偏高,有时常会为可以去哪家物美价廉的餐厅打发晚饭而想到焦头烂额。但维络就给你了一个灵感,把“去哪吃”这样的开放性问题变成了“KFC,西提牛排,棒约翰都有优惠券哎,吃哪家更好呢?”的选择题,为那些想省钱的消费者把选择框定在某几个商家中帮助他们更高效的决定,同时也为这些在维络终端的商端创造了更多的关注度。第三,由于每个终端上集中的都是位于此商圈附近的商户,在这个刷卡机旁经过的消费者有更大可能性会到这些商户进行消费,那么对于商家来说,他们在维络上做的广告更有针对性,也就达到了“分众”的效果。这对于一些饮食业的小商户,是个非常实惠的广告策略。第四,也是技术开发商自己提出的,“维络将信息从“桌面”转移到“手掌间”,让用户能够随时随地将原来只能通过网络或者书面获得的信息,变成通过刷卡和手机就能获取。”恩,这一切加起来听起来真的还不错。

      但是,在仔细琢磨它的一个整个商业模式后,我也发现了很多问题:比如首先,我在寻找刷卡终端的时候遇到了很大障碍。当我在地铁站那里获得了免费卡后,我迫不及待地把它拴在了我的手机上,注册后就开始兴致勃勃地寻找下一个终端了,但是,在兜了很多个据说有刷卡器的地方后,我仍然没有找到终端,优惠券的魅力渐渐减退,轧马路的疲惫让我觉得只要随便给我点什么吃就好了多花点钱就多花点吧。其次,“刷手机”的概念实在很牵强,只不过是卡做成了手机链,挂在手机上,于是刷卡就演变成刷手机。说到底还是在刷卡,“欺骗”消费者,哼哼。另外,开发商提出,3G的出现将大大繁荣维络的市场,它将使优惠券更加多样且更有吸引力,但我的理解是,如果3G时代到来,那么优惠券显然可以很轻松地直接Download到我的手机里,那我又何必要费劲找到一个刷卡终端还要浪费纸资源把它打印出来咧?!

      So,我的结论就是,维络的出现是一个很不错的引子,但也必然会很快被替代,理想中这样的商业模式应当是这样的:首先,它只需要基于手机,是一个真正“刷手机”的服务;而不是一定要附加上一个卡,卡很丑先不说,如果不小心弄丢那么对用户来说又会造成很大的麻烦。这一点从技术上应该并不难做到,现在中国移动已经出现了一些手机二维码的服务,在一些电影院就可以通过直接刷手机上的二维码而获得优惠服务。第二,无纸化必然是它的发展方向,打印这种传统方式是肯定要被淘汰的;在终端上必须通过全面联网使消费者能够达到全部商户信息,而不是为了部分商户的利益剥夺消费者对其他信息的获取,这就类似互联网上的促销信息提供网站一样,消费者肯定更会倾向那些以他们的利益为中心的促销信息提供方。这是一个价值链的传递问题,维络主要考虑的是不能得罪商户,一定要首先保障他们的利益,但舍本逐末的方法只能获得短期效益而已。这条价值链的传递是从消费者到商户再到维络,也就是只有从根本上获得消费者的肯定才能得到商户的长期投资。第三,优惠服务不仅要基于地域上的集中,更要考虑消费者的需求和偏好。比如说消费者喜欢吃川菜,那么他就可以在川菜中寻找看看有没有什么优惠券,而不是在已有的优惠券里找找看哪个是可以接受的选择。以消费者为中心是服务行业的发展方向,不仅要体现在终端服务体验上,在市场宣传广告传递等方面也要有所展现。第四,一些消费者对于优惠券的选择其实是这一商业模式中的重要信息,可以把信息综合起来后对消费者的消费行为和偏好进行分析,从而在之后更有针对性地推广优惠券或者发展自己的潜在消费者。

      好了,随便一侃,再说下去,维络的老板要批我胡言胡语了

      posted @ 2008-06-18 10:57 oscarxie 阅读(714) | 评论 (1)编辑

      最近2年国内很时兴的一件事情就是晒工资,比如把某某垄断行业的员工公司给晒出来,晒公务员的工资,然后引起一阵阵的讨论,在搜索引擎上输入工资估计结果会有一大堆。其实按照国内的传统,过去问某人工资多少都是很小心的,绝对不会大张旗鼓,经常有某某换公司了,同事是悄悄的问出去有多少啦。不过近2年,公开工资已经变成一个时尚了。虽然各个大的公司都有规定,禁止内部员工互相打听工资,但却无法阻止网络公布的途径。
          最早讨论工资应该是在毕业的时候,在学校论坛上看到各种面经和各个大公司的入职薪资,然后很是激动地去投看中的公司,之后是满怀希望的等待面试,等待那最后和HR谈论物质的时刻。
          最近美国出现了一个网站,专门是用来晒工资的,http://www.glassdoor.com/ ,它的愿景,是提供全世界所有公司的薪水资料,给所有正在找工作的人作参考!经过了一年的收集,当前Glassdoor的「肚子」里已经有250间公司的薪资信息,共有3300位各职位的员工披露他们的薪资机密。目前比较详细的有Google,Microsoft,Yahoo和Cisco,


          我不知道各个公司的HR看到这样的信息做何感想,虽然只是一个范围,但是基本是使得各个公司的薪资状况都透明了,不知道Glassdoor在今后会否引来官司缠身。不过对于知名公司却是大有好处,起到了非常好的宣传效果,你看我公司的待遇不错吧,你是人才就来我公司吧。这样大把的打工人士都会向这些公司靠拢。

      引用:Glassdoor专门揭露薪水机密:Google工程师月薪30万台币

      posted @ 2008-06-12 15:50 oscarxie 阅读(390) | 评论 (0)编辑

          前段时间在PaiDai论坛上有人讨论建立一个小区电商的可行性,并有了一个前期网站的雏形,http://www.exiaoqu.com/,讨论帖子见http://www.paidai.com/displaythread.php?boardid=11&topicid=1763,今天看到MR.6的文章,台湾也出现了一个是管家的卖菜网,看来长尾理论无处不在,随着客户对网络的认知度逐渐提高,这样的模式我个人觉得应该提倡去尝试。

      MR.6的文章转载如下:
      「是管家」让台北妈妈在家买菜!漫谈美国买菜网的「重生」


      by Mr. 6 on June 10th, 2008,

      前天在BabyHome讨论区,有位妈妈介绍了一个叫「是管家」买菜网站,让辛苦的妈妈们不必出门,在家用叫的,新鲜的菜直接送到家!妈妈们说,这地方有点贵,但对于住在较偏远地区的网虫,可说相当方便;当前只服务台北市与台北县大部份地区,而且据另一位妈妈说付款也很方便,一周结帐一次,以缴费单到便利商店便可付款。我看了很是兴奋,足见,「是管家」这个买菜网真的是有备而来!

      为何说「有备而来」?因为买菜网曾是美国网络界最大的一块野心,也是最大的一次跌倒。还记得,曾获得大量创投资金却砸钱盖仓储与车队盖到没半毛钱的Webvan、Kozmo?我对Webvan的回忆特别的深刻,记得在史丹佛念书期间,某一个鸟语花香的午后,我和几个同学在宿舍里作小组讨论,还记得那个新加坡人笑着说,不然,我们来买Webvan好了!于是,一人买了一支冰淇淋,Webvan送到我们宿舍的门口。我们看着Webvan的那穿着制服的礼貌送货员,那台车子,那精致的冰淇淋,和我们递出去这么几薄薄几张钞票,心中不禁浮现:「这家真的能撑下去吗?」

      啊,当时雄心壮志,我也想做网站!但,此时此刻,被学业给绑住了,没时间做,只能等到暑假……。

      结果,暑假还没等到,网络开始泡沫化了。

      Webvan这个领头的泡沫网站,是许多网络创业家永远的痛,因为痛所以不再去看,因为痛所以不再触碰,其实,「买菜网」仍是一个有需求的点子,所以它早就一点一滴的回来了。台湾的「买菜网」是其一。前阵子在大陆也看到一家「南昌网络菜场」(新闻见这里这里),由三个大学生创立,现在已到12人(许多可能是下岗工人),平均一天取得80份订单,最多达200张订单。有没有发现?这些新的线上买菜网与当年美国的Webvan最大的不同,就是很坚持「从小生意开始」,首先做到的就是「零库存」,而且「限定一个小地区」,有的甚至不坚持「马上送」……这时候,我们才突然发现,天,「买菜网」这个在美国网络界曾变得「人人喊怕」的「巨大点子」,可以像Webvan那样做得如此失去控制,却也可以做得非常的简单

      无独有偶,这周,KillerStartup竟也连续介绍两家「线上买菜」的网站One Click GroceryAmerica Grocer,激起我兴趣想再来研究一下这些买菜网的最新做法,譬如其中一家One Click Grocery,于2004年便已创立在纽约州的Syracus区,在2005年中,已有一篇文章详细说明它的赚钱模式。当时这个小型买菜网只有三个地点,全都在大学校园的旁边,因为它看准了「大学生许多没车」,而纽约州内陆的大学校区又常常离超市很远!One Click Grocery也只是几个大学生创办的,做的就是他们母校的学生「Syracus大学」的生意,靠这么一个校园,吸引了大约700名的「固定客户」,一个月就达到了7000~15,000美元的收入(台币40万元),后来他们将One Click Grocery延展到邻近的康乃尔大学及康州大学,学生量增加大约2.5倍,生意做得更大了。

      最有趣的是,One Click Grocery规定很是严格,每天只在下午6点之前收订单,隔天才会将鱼肉青菜送达家中,而且,周二周四不送货,让人员可休息。有人下订后,他们的做法是「工人劳力」,每天下午六点,网站将所有客户要买的东西给统合起来,打印成一张超大的「买菜列表」,交给他们的小弟亲自去当地的超市购买!买完了以后,再一起打包,然后隔天送到对方家里(冷藏的部份我就不确定了,或许是向该超市借用冰箱一角)。而且,One Click Grocery还规定每次至少要买25美元才会运送,而他们不收「运费」,自己从每个商品的定价中取得利润(同「是管家」)。不过,美国有个好处是,客户都会给送货小弟一些「小费」,站方只需给小弟时薪即可确保好的服务,因此当前最重的「非人事成本」只有广告费用,他们靠在当地报纸与校园报纸登广告来吸引学生。

      除了One Click Grocery架在校园旁边,令人兴奋的是,其他许多成功的「买菜网」,似乎就直接架在一个大城市里面,譬如纽约!我们狐疑的问,纽约市是一个如此地窄人稠之地,为何需要买菜网?或许,因为城市人也比较忙碌?纽约地区,竟然已有Xpress GrocerFresh DirectMax Delivery等「买菜网」在彼此竞争着!而且,单单看市民对这些公司的印象,就知道「买菜网」已经成功了,就看「Fresh Direct」这家好了, 2002年,还有许多人笑它是下一个烂Webvan,还说它的卡车每次都违规停车!到了2007年,这篇文章竟在讨论,Fresh Direct为何不服务纽约一些贫民区(当然不送,怕被抢啊),是种族歧视吗?同篇文章也指出,Fresh Direct从2002年创立至去年十一月止,已经完成了400份订单、服务了25万名顾客!

      于是,「买菜网」宣布成功重生!不大,但买菜是人人需要的事情,我们才发现,原来它最需要的地方就在人人忙碌的城市里,而且,很可能只要几个大学生,就做得起来。原来,曾经在大家心目中最难做的一个网站,竟是最好做的一个网站

      这件事,也促使我们要继续想想,还有没有其他曾失败的点子被认为「太大」,可以改以这么简单、稳健的运作?

      posted @ 2008-06-12 15:17 oscarxie 阅读(311) | 评论 (1)编辑

           摘要: [ZZ]高盛:Amazon预计10年营收涨10倍达台币3兆元  阅读全文
      posted @ 2008-05-26 20:46 oscarxie 阅读(107) | 评论 (0)编辑

           摘要: link of web service测试文章  阅读全文
      posted @ 2008-05-26 20:42 oscarxie 阅读(139) | 评论 (0)编辑

           摘要: [ZZ]微软昨推出Live Search Cashback,「赠钱」不如「挣钱」?  阅读全文
      posted @ 2008-05-25 15:16 oscarxie 阅读(195) | 评论 (3)编辑

           摘要: [ZZ]将测试人员整合到敏捷团队中  阅读全文
      posted @ 2008-05-21 10:59 oscarxie 阅读(152) | 评论 (0)编辑

           摘要: 网上购物折扣如此红火  阅读全文
      posted @ 2008-05-20 14:29 oscarxie 阅读(205) | 评论 (0)编辑

      目前很多网站使用了Url重写的技术,好处可以使URL变短,最主要的就是静态页面,有利于SEO,方便搜索引擎抓取,典型的例子就是我们公司的网站http://www.chiefvalue.com/,后缀都从Aspx重写成CV了,这个后缀就个性化了,同时能起一个宣传的作用。

      image

      在这里就不介绍UrlRewrite的实现了,园子里有很多文章,其中老赵的系列介绍得最详细,相关文章如下:

      重提URL Rewrite(1):IIS与ASP.NET

      重提URL Rewrite(2):使用已有组件进行URL Rewrite

      重提URL Rewrite(3):在URL Rewrite后保持PostBack地址

      重提URL Rewrite(4):不同级别URL Rewrite的一些细节与特点

      我们网站的实现方式和老赵文中提到的类似,生成Dll文件后加入IIS中,

      image

      同时在Documents中添加新的后缀配置

      image

      添加完成后,必须检查这个Dll是否可用,也就是Status是否在运行状态,由于我们是用C++写的,在一台服务器上部署时怎么也不能运行起来,包括安装了C++ Runtime,最后使用最傻的办法,把Dll文件放到Microsoft.net文件夹下才运行起来。这个是一个注意点。

      image

      配置好后,接下来就是测试是否把网站上所有的页面都重写成功了,由于UrlRewrite里是自定义了规则,同时使用正则表达式来转换指定的参数,比如?可以转换为_-_,=转换为--,但是网站带参数的页面至少也是几万,甚至几百万个,不可能所有URL都满足规则,因此需要进行一番测试,具体步骤如下:

      1、前面提到Web上有几万几十万的页面,如果一个个测试手工肯定是不行的,时间上就不允许,那么如何减少操作呢,首先必须做一个列表,那就是列出所有后缀为aspx的页面,这个是有一定数量的,大概最多也就几百个,可以列出后保存在Excel中,首先检查这些页面是否重写成功,即使手工测试也能做到,当然推荐使用自动化测试。

      2、对整个网站进行链接测试,这里推荐以前提到的工具Xenu Link Sleuth,具体使用见链接测试工具小汇一文,通过返回的状态再次检查Cancel或Timeout的页面。

      3、第二步做完后并不是万无一失了,因为还有遗漏的死角,例如,某个页面是通过点击Button弹出的,某个页面的文字描述中带有链接,这些需要专门处理,可能是正则表达式无法检测到的。

      4、到这里,基本上就可以完成使用UrlRewrite后的测试,当然如果大家有其他的经验希望能分享一下。

      虽然这个项目在06年就上线了,写得有点迟,但还是希望对有UrlRewrite测试需要的人提供一些参考。

      posted @ 2008-05-20 13:53 oscarxie 阅读(175) | 评论 (0)编辑

      现在大部分网站都有使用负载均衡的技术,这样可以提高网站的稳定性和访问量的分流,加快访问速度。下图是一个演化的过程,从单台Server到多台Server:

      image

      负载均衡技术的介绍,网上有很多,这里引用一段:

      由于网络的数据流量多集中在中心服务器一端,所以现在所说的负载均衡,多指的是对访问服务器的负载进行均衡(或者说分担)措施。负载均衡,从结构上分为本地负载均衡和地域负载均衡(全局负载均衡),前一种是指对本地的服务器集群做负载均衡,后一种是指对分别放置在不同的地理位置、在不同的网络及服务器群集之间作负载均衡。

      每个主机运行一个所需服务器程序的独立拷贝,诸如Web、FTP、Telnet或e-mail服务器程序。对于某些服务(如运行在Web服务器上的那些服务)而言,程序的一个拷贝运行在群集内所有的主机上,而网络负载均衡则将工作负载在这些主机间进行分配。对于其他服务(例如e-mail),只有一台主机处理工作负载,针对这些服务,网络负载均衡允许网络通讯量流到一个主机上,并在该主机发生故障时将通讯量移至其他主机。

      其他参考:网络负载均衡技术概况

      现在对于大型的商务网站,都会购买负载均衡器来完成硬件的负载均衡,比如使用DNS,代理服务器等,但是对于测试环境由于条件和成本的限制,往往无法使用硬件,一般是使用双网卡,同时安装Network load banlancing协议,使用软件的方式来实现负载均衡,之后在属性中分配指定的IP地址,如下图:

      image

      image

      image

      image

      在Host Parameters里面可以指向同一个Host,比如xxx.domain.com,这样,部署了多台的服务器都可以同时使用一个Host访问。这里以2台机器为例,一般最少需要4个IP地址,每台2个,一个IP给内部使用,一个是给外部查看。

      下面就介绍下如何测试Web的负载均衡,这里平台以Windows为例(Linux其他的实在不熟),同时Web是部署在IIS中,有2台Server组合做负载均衡,Web是Asp.net 开发的,当然Web不仅仅是以前提到的Website,同样也适用目前比较流行的WebApplication。

      其实步骤很简单:

      1、首先两台Server都启动

      2、需要开发一个页面,比如是test.aspx,用来显示此时访问的Web是使用哪台Server,也就是显示Server的外部IP地址,类似下图:

      image

      3、注意,访问Web的时候都是用Host的那个URL来访问,例如我的博客oscarxie.cnbologs.com,而不使用IP

      4、输入Host/test.aspx不断访问Web,因为这时候你所访问的Server是随机分配的,以看到2个不同的IP为准,例如2个IP为:192.168.0.1,192.168.0.2,这2个IP都能访问到即可

      5、再次访问Web,并获得此时是在哪台Server上,比如为192.168.0.1,这时关闭192.168.0.1这台Server或停止这台Server的IIS,这时继续访问Web,确保不出现异常,同时访问test页面,看是不是Server切换到192.168.0.2上,这样通过负载均衡,做到了平滑的切换。(这个过程手工或自动化都可以)

      当然如果Web使用了Session,这个时候还需要做程序的处理,比如Session需要在2台Server都要存在,Session的存储,是在State Service还是在DB中不属于讨论的范围了,博客园中很多牛人肯定介绍过,不在此班门弄斧了。

      通过负载均衡还有一个好处就是当Web在真实环境时,新的项目上线部署可以不必停掉Web,可以逐台关闭Server进行部署,不影响Web的正常使用,只要保证还有一台Server在运行就可以了。

      posted @ 2008-05-20 10:44 oscarxie 阅读(210) | 评论 (0)编辑

      How We Test Software at Microsoft
      Author Alan Page; Ken Johnston; Bj Rollison
      Pages 336
      Disk N/A
      Level Intermediate
      Published 08/06/2008
      ISBN 9780735624252
      coming soon 
      About the Book

      Get the inside story on how Microsoft manages its software-testing process.

      Discover how Microsoft implements and manages the software-testing process company-wide—with guidance and insights direct from its test managers. Organizing any testing program—the people, processes, and tools—can be challenging and resource intensive. Even when the necessary tradeoffs are made, no development team can test every scenario. This book explains how a worldwide leader in software, services, and solutions—staffed with 8,000 testers—implements and manages its testing process effectively company-wide. Whether you’re a tester or test manager, you’ll gain expert insights on effective testing techniques and methodologies—including pros and cons of various approaches. To add interesting context, the book also shares such facts as the number of test machines at Microsoft, how the company uses automated test cases, and bug statistics. It answers key testing questions, such as who tests what, when, and with what tools. And it describes how test teams are organized, when and how testing gets automated, testing tools, and feedback—with illuminating insights for software-development organizations of all kinds.

      posted @ 2008-05-15 09:25 oscarxie 阅读(353) | 评论 (0)编辑




      posted @ 2008-05-13 14:48 oscarxie 阅读(41) | 评论 (0)编辑