发布新日志

  • 项目管理中的需求变更控制分析(转载)

    2008-05-06 16:46:47

                   项目管理中的需求变更控制分析(转载)  

       需求变更的表现形式是多方面的,如老板临时改变想法、项目预算增加或减少、客户对功能的需求改变等。在IT项目中,变更可能来自方案服务商、客户或产品供应商等,也可能来源于项目组内部。虽然需求变更的表现形式千差万别,但究其根本不外乎以下几种原因:

    1. 需求变更的原因分析

        (1)范围没有圈定就开始细化

            细化工作是由需求分析人员完成的,一般是根据用户提出的描述性的、总结性的短短几句话去细化的,提取其中的一个个功能,并给出描述(正常执行时的描述和意外发生时的描述)。当细化到一定程度后并开始系统设计时,范围会发生变化,那细节用例的描述可能就有很多要改动。如原来是手工添人的数据,要改成根据信息系统计算出来,而原来的一个属性的描述要变成描述一个实体等。

        (2)没有指定需求的基线

            需求的基线是指是否容许需求变更的分界线。随着项目的进展,需求的基线也在变化。是否容许变更的依据是合同以及对成本的影响,比如软件整体结构已经设计出来是不容许改变需求范围的,因为整体结构会对整个项目的进度和成本有初步预算。随着项目的进展,基线将越定越高(容许的变更将越少),其过程如下:变更请求à比较基线à变更实现。

        (3)没有良好的软件结构适应变化

            组件式的软件结构就是提供了快速适应需求变化的体系结构,数据层封装了数据访间逻辑,业务层封装了业务逻辑,表示层展现用户表示逻辑。但适应变化必须遵循一些松祸合原则,各层之间还是存在一些联系的,设计要力求减少会对接口入口参数产生变化。如果业务逻辑封装好了,则表示层界面上的一些排列或减少信息的要求是很容易适应的。如果接口定义得合理,那么即使业务流程有变化,也能够快速适应变化。因此,在成本影响的容许范围内可以降低需求的基线,提高客户的满意度。


    2. 如何控制需求变更

            按照现代项目管理的概念,一个项目的生命周期分为启动、实施、收尾三个过程。需求变更的控制不应该只是项目实施过程考虑的事情,而是要分布在整个项目生命周期的全过程。为了将项目变更的影响降低到最小,就需要采用综合变更控制方法。综合变更控制主要内容有找出影响项目变更的因素、判断项目变更范围是否已经发生等。

            进行综合变更控制的主要依据是项目计划、变更请求和提供了项目执行状况信息的绩效报告。为保证项目变更的规范和有效实施,通常项目实施组织会有一

        (1)项目启动阶段的变更预防

            对于任何项目,变更都无可避免,也无从逃避,只能积极应对,这个应对应该是从项目启动的需求分析阶段就开始了。对一个需求分析做得很好的项目来说,基准文件定义的范围越详细清晰,用户跟项目经理扯皮的幌子就越少。如果需求没做好,基准文件里的范围含糊不清,被客户抓住空子,往往要付出许多无谓的牺牲。如果需求做得好,文档清晰且又有客户签字,那么后期客户提出的变更就超出了合同范围,需要另外收费。这个时候千万不能手软,这并非要刻意赚取客户的钱财,而是不能让客户养成经常变更的习惯,否则后患无穷。相对于需求来说,什么WBS、风险管理、计划进度都是次要的,只要需求做好了就会一帆风顺。

        (2)项目实施阶段的需求变更

            成功项目和失败项目的区别就在于项目的整个过程是否是可控的。项目经理应该树立一个理念——“需求变更是必然的、可控的、有益的”。项目实施阶段的变更控制需要做的是分析变更请求,评估变更可能带来的风险和修改基准文件。控制需求渐变需要注意以下几点:

            需求一定要与投入有联系,如果需求变更的成本由开发方来承担,则项目需求的变更就成为必然了。所以,在项目的开始,无论是开发方还是出资方都要明确这一条:需求变,软件开发的投人也要变。

            需求的变更要经过出资者的认可,这样才会对需求的变更有成本的概念,能够慎重地对待需求的变更。

            小的需求变更也要经过正规的需求管理流程,否则会积少成多。在实践中,人们往往不愿意为小的需求变更去执行正规的需求管理过程,认为降低了开发效率,浪费了时间。但正是由于这种观念才使需求逐渐变为不可控,最终导致项目的失败。

            精确的需求与范围定义并不会阻止需求的变更。并非对需求定义得越细,就越能避免需求的渐变,这是两个层面的问题。太细的需求定义对需求渐变没有任何效果。因为需求的变化是永恒的,并非需求写细了,它就不会变化了。

            注意沟通的技巧。实际情况是用户、开发者都认识到了上面的几点间题,但是由于需求的变更可能来自客户方,也可能来自开发方,因此,作为需求管理者,项目经理需要采用各种沟通技巧来使项目的各方各得其所。

        (3)项目收尾阶段的总结

            能力的提高往往不是从成功的经验中来,而是从失败的教训中来。许多项目经理不注重经验教训总结和积累,即使在项目运作过程中碰得头破血流,也只是抱怨运气、环境和团队配合不好,很少系统地分析总结,或者不知道如何分析总结,以至于同样的问题反复出现。

            事实上,项目总结工作应作为现有项目或将来项目持续改进工作的一项重要内容,同时也可以作为对项目合同、设计方案内容与目标的确认和验证。项目总结工作包括项目中事先识别的风险和没有预料到而发生的变更等风险的应对措施的分析和总结,也包括项目中发生的变更和项目中发生问题的分析统计的总结。

    3、需求变更的处理流程

      需求变更既然不可避免,那么就必须有一套规范的处理流程。对于需求变更的处理流程应该分以下步骤:提出变更à变更评估à实施变更。

      需求变更处理流程

      因为现实世界的软件系统可能有不同的严格程度和复杂性,所以事先预言所有的相关需求是不可能的。系统原计划的操作环境会改变,用户的需求会改变,甚至系统的角色也有可能改变。实现和测试系统的行为可能导致对正解决的问题产生新的理解和洞察,这种新的认识就有可能导致需求变更。CMM提出“分配需求的变更被复审,并加入到软件项目中来”,其关键是在需求发生变更时,没有必要马上把这些变更付诸于软件开发工作之中。实际上,坚持把需求变更付诸开发努力,企业就会形成一种混乱且不稳定的氛围,进而严重破坏项目的控制和管理。需求管理关键过程试图通过把分配需求的变更囤积到可管理的组中,等到开发工作允许的时候再引人相应的方法,避免产生这种混乱的氛围。结果,需求管理创建了一个隔绝开发工作与所有真实的、潜在无序的、来自于客户的变更。这个缓冲器允许真实的变更被注意、记录、追踪,同时开发工作又不会因此而被扰乱。开发项目应该周期性地暂停来吸收最新的需求变更积累,此时,所有的计划、设计、行为都根据刚刚吸收的需求变更的影响进行更新。

      需求变更的控制当然与项目管理范畴之外的纯技术因素息息相关,比如面向对象的分析、面向对象的设计、面向对象的编码方式等等。但所有技术的发展趋势都是一样,那就是为了使变更管理变得更容易,因此,不论在项目变更控制中采取什么方法、策略,对于项目本身的变化一定要时时洞悉,处处留意,只有这样才能从真正意义上对项目进行很好的变更控制。

  • 内核的忙碌生活

    2008-03-17 10:14:08

    我,作为计算机的内核,也就是人们眼中所谓的操作系统,是不折不扣的幕后英雄!给大家说说都干了些什么,你们就知道我不是在吹牛了。

    随着散热风扇的嗡嗡声响起,我的忙碌生活就开始了。BIOS大哥习惯做甩手掌柜,把里里外外扫一遍发现没什么意外后,就通知CPU,省下的事情,照旧——找内核。然后,睡大觉去了。

    CPU是我们这儿的顶梁柱,脑子特好使,几乎从来不犯错误。不过这位同志的缺点就是太缺乏主观能动性,总是不断的问我:“下一步干什么?下一步干什么?”,他不觉得烦,我就要不厌其烦的告诉他。

    于是我开始捣鼓硬盘:“小样,醒醒,把Shell给我”。硬盘这伙计懒,虽然记性没话说,但就是磨叽,找个东西要半天。对于我这个忙碌习惯了的人来说,实在受不了,所以我都是告诉他该找什么,然后该忙什么忙什么,反正找到了他会通知我(硬件中断)。或者有时候干脆让他和内存自己嘀咕去(DMA)。不过大家在一起时间长了,彼此也就了解了,有些合作的技巧:比如说我经常让他找东西的时候多找点,相关的、用得到的,一股脑给我(预读取),我都放到内存里(磁盘缓存),省得他麻烦,也省的自己老着急。

    内存正好和硬盘正相反,反应快是没话说,但一歇班就全忘干净了。于是还要硬盘一点点的告诉他,累。

    几位同事都准备好了,就开始干活。其实我是个演员,不对不对,是管理人员,而且只是个中层管理人员。所以上面还有几个老板(内核程序),还要伺候一大堆客户(用户程序)。

    老板好说,所有领导的话都是对的(内核总是假定内核的程序没有错误)、都是重要的、紧急的(内核认为内核的要求都是合理的,应该尽快满足的)。所以都应该是尽量满足。客户的情况就复杂了,经常会有客户想干不能干的事情,而且客户还可能会犯错误。这些都要进行协调,能解决的就尽量解决,实在无可救药的,也只能舍小家,为大家了。(杀进程)

    不管是老板还是客户,分配的任务也是五花八门:有的要求反应快,比如Shell和文本编辑程序,但是通常任务不重,也就是显示个字,存个盘啥的,我们管这叫交互式进程;也有任务重的,比如编译程序,但是快点慢点都成,这叫批处理进程;还要得要求隔一段时间就想做点儿什么的,比如计划任务啥的,算是实时进程。总之,根据不同的任务特点,也有不同的应对办法。但是这也要花心思,通过任务过去干过什么来确定他的特点,我们内部管这叫“基于过去行为的启发式算法”。

    而我要做的事情就是尽可能地满足所有人的要求!为了完成这个impossible mission,我努力学习、不断总结经验教训,掌握了以下办法:

    1. 把任务切片。由于CPU同志从来不关心在做什么、也从来不知道下一步要做什么。所以我就让他这个时间段干这个任务,下个时间段干下个任务。这样CPU同志就会分身术了!
    2. 把内存分页。一个字节一个字节分配内存是会累死人的,而我的办法是把把内存分成4K、4K的一小块,然后按块分配。在此基础上,我还会用4K到4M不同大小的段来分配内存,以便解决内存的碎片问题,这就是著名的“伙伴算法”。
    3. 学会偷懒。有很多事情不一定立刻要做,比如说有的任务要求在内存里分配个地方,我的办法是让他觉得“貌似”已经分配完了就可以了,至于真正开辟内存空间,还是等他用到这块空间的时候再说吧,一个小小的缺页异常处理就可以搞定。
    4. 我还会能通过复杂的算法在固定的时间内决定下一个要处理的任务,这对付成百上千的任务时,效果相当好。
    5. ......

    类似这样的工作技巧太多太多了,哎呀,又一个中断响了,我要去忙了,同志们再见!o(∩_∩)o...

  • 转载的资源链

    2008-01-31 11:01:51

    解决一些中文软件在英文操作系统里安装不成功和安装后标识都是问号的问题:
    1.路径不要有中文,都应为英文,则安装成功
    2.Start-Settings-Control Panel-Regiona and Language Options-将Regional Options项里的Standards Options的值改成Chinese (PRC)则标识都显示出来了

    软件破解网址:
    http://www.cracksearchengine.net/
    http://www.crackfound.com/
    http://www.astalavista.ws/
    http://www.t1000.net/
    http://www.cracklib.net/
    http://cracksearch.ws/
    http://www.zcrack.com/

    http://www.serials.ws/

    http://www.9down.com/

    .NET:
    http://msdn.microsoft.com/msdnmag/issues/04/07/MustHaveTools/default.aspx#S2 MSDN杂志.NET Tools

    项目管理:
    (9)思维导图软件MindManager:
    ftp://ftp2.mindjet.com/download/MM60-E-643_Pro.exe mindmanager 6.0注册版(SN:MP66-982-DPMA-AF55-27EE)
    ftp://ftp2.mindjet.com/download/MMX52-E-344_Pro.exe MindManager.X5.Pro 5.2.344 修正汉化版-原英文版下载-安装序列号:MP5M-555-7P19-133C-D5CE
    http://www.hanzify.org/index.php?Go=Show::List&ID=8152 MindManager.X5.Pro 5.2.344汉化包
    汉化说明:
    1. 请先安装原英文软件,必须保证是Mindmanager.X5.Pro.v5.2.344,否则汉化不能正常进行。
    2. SN:MP5M-555-7P19-133C-D5CE
    3. 退出Mindmanager.X5.Pro.v5.2.344 应用程序!
    4. 解压缩后运行汉化包,软件会自动查找原英文软件的安装目录。
    5. 有些用户汉化后可能菜单还是英文的,这时可以选择“工具”菜单下的“自定义”然后选择“全部重启”,就可以变为中文菜单了。
    6. 如果无法安装汉化补丁,请重新安装MindManager.

    (10)原型设计软件:
    你用什么工具画原型图?
    http://www.moond.com/lab/?p=136
    试试用这些工具记录你的概念和创意
    http://moond.com/lab/?p=146
    Axure-不得不推荐的原型设计工具
    http://www.caiwangqin.com/post/283 

    开发团队工具:
    (1)http://www.grigsoft.com/ 比较两个文件不同的工具Compare It! 3。可将其作为Perforce的比较工具,方法如下:打开Perforce的“Settings-Options”,在弹出的对话框中点击“Files-Diff”,选择“User Supplied diff application”,选择路径为C:\Program Files\0JasonLi\Perforce\MyPlugin\Compare It!\wincmp3.exe,其他默认,点OK,然后在Perforce中右键你想比较的文件,然后选Diff 2 Files or Revisions,就可调用出此软件使用了。

    (2)Project Server Connector for Visual Studio Team Foundation Server:
    http://www.gotdotnet.com/workspaces/workspace.aspx?id=b9f69ea5-ace1-4a21-846f-6222a507cc9c 

    (3)Peer Code Review Tool代码审查工具:
    http://www.smartbear.com/   CodeReviewer官网
    http://www.hammurapi.biz Open source Java code inspection tool
    http://www.laatuk.com/tools/review_tools.html 各种Code Review工具比较

    (4)http://www.elementool.com/ Bug Tracking

    桌面开发:
    (1)
    ReSharper
    http://www.jetbrains.com/resharper/ 官网
    http://www.3ddown.com/soft/23528.htm ReSharper v3.0 注册版
    http://www.codeproject.com/csharp/DTReSharperPlugin.asp ReSharper 2.5.2 build# 376插件
    http://www.cnblogs.com/xiaoyin_net/archive/2006/03/16/351298.html ReSharper2.0 for VS2003/2005 最新注册机

    (2)vb.net与c#相互转换工具
    vb.net与c#相互转换工具 http://www.ragingsmurf.com/vbcsharpconverter.aspx http://w1.311.telia.com/~u31115556/desc/programs.htm http://authors.aspalliance.com/aldotnet/examples/translate.aspx http://csharpconverter.claritycon.com/Default.aspx http://www.kamalpatel.net/ConvertCSharp2VB.aspx http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx 

    (3)
    加密
    http://www.maxtocode.com/

    混淆
    http://www.xenocode.com/ 混淆代码
    http://www.cnblogs.com/xiaoyin_net/archive/2007/06/08/776707.html 箫音Blog
    http://www.ayxz.com/soft/9935.htm Xenocode Postbuild Fox 2007 v5.0.1 Build 2433 破解版
    http://www.blogcn.com/u2/5/70/loyee/blog/39290136.html
    http://www.cnblogs.com/Files/loyee/Xenocode%202006%20crack.rar Xenocode2006破解补丁
    http://hi.baidu.com/%D6%D0%B9%FA%B4%B4%D4%EC/blog/item/341ac75c4b925d43fbf2c0be.htmlhttp://dev.csdn.net/article/76805.shtm 解密被XenoCode混淆的代码。
    http://blog.csdn.net/yezie/archive/2005/09/13/479048.aspx?Pending=true 解密XenoCode加密的字符串

    Dotfuscator      
    http://www.preemptive.com/dotfuscator/index.html
    DotFuscator使用步骤
    http://time-is-life.cnblogs.com/articles/310693.html

    Salamander .NET obfuscator      
    http://www.remotesoft.com/salamander/obfuscator.html
    Salamander .NET Protector
    http://www.remotesoft.com/salamander/protector.html

    Demeanor for .NET      
    http://www.wiseowl.com/products/Products.aspx

    .Net IL-Obfuscator
    http://9rays.net/cgi-bin/components.cgi?act=1&cid=86

    LSW IL Obfuscator      
    http://www.lesser-software.com/ilobf.htm
    http://www.lesser-software.com/en/content/products/LSW%20DotNet-Tools/LSW_DotNet_IL-Obfuscator.htm
    http://www.wiseowl.com/products/Products.aspx

    ILDog

    dnguard

    Anti .Net 2.0

    Aspose.Obfuscator
    http://www.aspose.com/

    Deploy .NET
    http://www.junglecreatures.com/jungle/index.jsp

    Thinstall
    http://thinstall.com/dotnet/

    反混淆
    Xenocode Fox 2007

    Reflecotr
    http://www.aisto.com/roeder/dotnet/ Lutz Roeder's .NET Reflector
    或Microsoft Visual Studio 2005的\SDK\v2.0\Bin\ildasm.exe或\Common7\Tools\Bin\OleView.Exe
    或Microsoft Visual Studio 2003的\SDK\v1.1\Bin\ildasm.exe或\Common7\Tools\oleview.exe
    或\Common\Tools\OLEVIEW.EXE

    pedumper+Reflecotr

    Disa#

    Salamander .NET Decompiler
    http://www.remotesoft.com/salamander/index.html

    Exemplar/Anakrino
    http://www.saurik.com/net/exemplar/ 

    格式化:
    UniversalIndentGUI
    http://sourceforge.net/project/showfiles.php?group_id=167482
    使用说明:
    http://blog.pixnet.net/Nelson/post/2576146http://www.wretch.cc/blog/nelson&article_id=4510406 

    WEB开发:
    (1)安装Visual Studio 2005 Web Application Project
    http://blog.csdn.net/ups216/archive/2006/09/06/1186835.aspx
    http://www.cnblogs.com/lost0/archive/2007/04/17/716486.html

    (2)http://www.iconico.com/colorpic/gettingStarted.aspx ColorPic,这也是一个免费的软件,用于拾取颜色的,鼠标移动到哪里就拾取哪里的颜色,可以对拾取的颜色分组,这样我们就可以把需要的颜色都一次性拾取完,再慢慢的用了。拾取颜色和重新拾取时都是用Ctrl + G 快捷键(要使软件处于激活状态此快捷键才起作用),其它功能靠大家自己琢磨了。

    好色鬼 2006 V02.08-取色工具
    http://www.skycn.com/soft/5144.html#
    色值传递员-取色工具
    屏幕取色-取色工具

    (3)http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en 使用方法:打开IE浏览器-选View-选Explorer Bar-选IE DOM Explorer,之后再打开网页时在页面的下面就有IEDevToolBar这个工具了。
    点Find-Select Element By Click。
    如果要独立出窗口点“unpin”就可以了,恢复回来按“pin”。

    其实不用IEDevToolBar也行,IE里面的Powerband和Firefox下面的DOM Inspector都可以的。Powerband我也有装,感觉和DevToolBar易用性相差挺大。

    微软的IEDevToolBar,这是一个免费的转为Web开发人员制作的IE插件,做博客Skin时用到的主要功能有:
    1.以树结构查看CodeDom,并查看每个Element属性,可以使用鼠标点击选中Element,这个在我们制作Skin时很有用
    2.生成图片报表,就是将页面上说有出现的图片生成一份详细的报表,这样就省的我们自己去找图片路径和量图片大小等等。
    3.高亮显示表格,表格单元,Div等的边框,这个在我们调整布局时也是很有用
    4.页面尺子,可以然你任意在页面上度量长度,这个是大大的提高了我们的工作效率,不用为了量个长度而抓图再用画图工具量
    我也强烈推荐你装上,Web项目调整界面时它真的是用处很多啊

    (4)http://outofhanwell.com/ieleak/index.php?title=Main_Page 或

    http://www.host01.com/Print.Html?57968 IE Leak Tool-Drip

    (5)http://support.businessobjects.com/downloads/merge_modules.asp 水晶报表Merge模块
    (6)正则表达式编辑器:
    http://www.ultrapico.com/ Expresso
    http://tools.osherove.com/CoolTools/Regulator/tabid/185/Default.aspx The Regulator
    http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=C712F2DF-B026-4D58-8961-4EE2729D7322  Regular Expression Workbench (V2.00)

    教程:
    https://msevents.microsoft.com/CUI/SearchResults.aspx?culture=en-US&evtTyp=0&kwdExact=Regular%20Expressions&lng=en&advFlag=1 Webcast视频-Regular Expressions
    http://blogs.msdn.com/zainnab/pages/webcasts-page.aspx Webcast系列视频
    http://www.codeproject.com/dotnet/regextutorial.asp 文本教程
    http://beta.verycd.com/files/0ae203f08724575945551c2ff7bf2947129125353 尚学堂科技_马士兵_JAVA视频教程_J2SE_专题_正则表达式.rar
    http://rayfocky.bokee.com/viewdiary.15985529.html 文本教程-Javascrīpt正则表达式

    (7)PowerDesigner12 简单应用
    http://www.cnblogs.com/kay/archive/2007/06/07/774361.html

    Mercury:
    http://downloads.mercury.com/cgi-bin/portal/download/index.jsp Mercury公司下载页面

    <LoadRunner8.0>下载地址:
    http://esd.mercury.com/akdlm/trial/lr/LR8DownLoad.exe
    http://www.cnblogs.com/gdgzboy/archive/2007/01/11/617390.html
    http://blog.csdn.net/yifeiyuann/archive/2005/12/22/558325.aspx

    http://www.cnblogs.com/liyunsohu/archive/2007/01/30/199811.html简单使用LoadRunner for Visual Studio 2003插件(入门级)

    <qaload>:
    http://www.17testing.com/zyxz/csgjzy/190.html
    http://www.agiletesting.cn/bbs/utility.php?mode=news&forumid=10&topicid=1090306391

    <winruner>:
    http://www.17testing.com/zyxz/193.html

    <PureLoad>:
    EasyWebLoad v1.8(网络站点负载测试工具)

    QuickTest:
    QuickTest Pro.8.2.中文版.强大测试工具
    http://www.tomore.com/searchtools.php?job=search&s=3
    在上面的seach中输入QuickTest.Pro即可搜出01-18

    QuickTest Pro 8.2 中文版破解文件
    http://mumayi1.999kb.com/pic/2007-01-18/w6sl3n7y4qi89q2896um.rar
    QTP8.2破解文件
    http://www.rapidtesting.cn/Html/soft/10128.html
    注册码:0123-2820602186
    安装完毕将mgn-mqt82.exe复制到安装目录,运行进行破解即可。

    QTP8.2 JAVA ADD-IN 破解完全解决办法
    1、安装QTP8.2后,先安装QTP82-java-addin;
    2、然后再安装QTP82Java65upgrade.exe,我安装时没有修改默认的路径
    3、将破解的QTPro.exe 复制到安装目录下的bin目录里,以我的路径为例,即D:\Program Files\Mercury Interactive\QuickTest Professional\bin
    4、再启动QTP,终于看见JAVA ADD IN后讨厌的时间限制消失了,取而代之的是另人爽心悦目的permanent

    http://www.subei.com.cn/bbs/viewthread.php?tid=607
    QTP82-java-addin
    http://esd.mercury.com/akdlm/trial/qtp/QTP82-java-addin.zip
    QTP82Java65upgrad
    http://www.rapidtesting.cn/bbs/attachments/QTP82Java65UPGRADE.zip  

    QuickTest.Pro.8.2.中文版
    http://lib.verycd.com/2005/09/19/0000065551.html 

    Quicktest 1.5 & Astra Site Manager v1.08:
    Name: Pirate Company: Pentium Inc. s/n: 999000023AS09128c354

    WinRunner:
    WinRunner永久注册方法 
    装完WR,打开C:\Program Files\Common Files\Mercury Interactive\License Manager的lservrc,将内容替换成下面的内容:

    5SFDHYECAW7F8V8ULAEHCVYQSIRG93D29XAQ8KKM4FC#
    # Dynamically installed.
    FF2VLB3CX43FE7GRYIB3W96MVFUFK7UX5IM6DTS2WL4YR8JS4N27M6DWEM9
    # Dynamically installed.
    G8A9EF79GM5Z7C2V6IKBQZ64773ZBDCLMWETBCRHBG57634GFVY9K#
    # Dynamically installed.
    NRDDL7SPI9LDT5PUG8E4MHVA2933VROPSPBIEZ95JLHMH48OC7P8UEFJXNLRGG8W274AHT
    # Dynamically installed.

    WinRunner8.2
    http://lib.verycd.com/2005/09/18/0000065515.html

    WinRunner 7.0.1
    1234-5858585858

    Quality Center:
    Mercury测试管理工具Quality Center 9.0下载
    http://bbs.51testing.com/thread-64725-1-1.html 

    TestDirector:

    TestDirector 8.0
    http://www.xa-btesting.com/download/show.asp?id=1717

    http://bbs.51testing.com/viewthread.php?tid=32954&highlight=TestDirector%2B7.6%2B%CE%DE%CF%DE%D6%C6
    破解TD7.6无限制使用方法
    以下是TestDirector 7.6的一些破解方法,希望对大家有帮助
    TestDirector 7.6
    7FFFK-A2722-FF7AC-A6KKN
    安装之前将日期往后改几年,如2006-04-02,安装完成后使用期限自然是到2006-06-02.
    成功后,在将当前日期改回来,2004-04-02,再进去看看License的使用期限,还是2006-06-02。

    ----------------------------------------------------------------------------------------------------------

    TD 7.6 License Code      日期限制  合作    缺陷    需求    TestPlan-TestLab
    --------------------------------------------------------------------------
    7DFDM-8EFEE-EA68C-A6KKN  4个月     无限    25      25     25
    NPPPF-WGGGG-RPHWS-UH330  无限      无限    32      16     16

    ----------------------------------------------------------------------------------------------------------

    B343P-44B44-43444-6444S  (无任何限制)
    FF2VLB3CX43FE7GRYIB3W96MVFUFK7UX5IM6DTS2WL4YR8JS4N27M6DWEM9#
    TD8.0用7.6的也可以
    code1:JSTS0-TTJTT-TSTTT-VTTT3
    code2:7FFFK-A2722-FF7AC-A6KKN
                  NPPPF-WGGGG-RPHWS-UH330
    code3:W000000-0000000-0000000-0000000
    我的机器安装了7.6以后,用版主提供的序列好7FFFK-A2722-FF7AC-A6KKN,只有5个用户并行操作,换为NPPPF-WGGGG-RPHWS-UH330以后,用户增加了,但是每次登陆的时候都会有一个提示::you are not licensed  to register module <collaboration> .please consult your project administrator.
    那位高手能不能帮忙解决一下
    先声明,我不是高手,我安装TestDirector7.6是稀里糊涂的安装好了,其序列号是安装时自动有的是:JSTS0-TTJTT-TSTTT-VTTT3;
    而机器码我用的是:W000000-0000000-0000000-0000000

    TestDirector80
    http://lib.verycd.com/2006/03/19/0000095046.html

    TestDirector 7.0.1
    w000000-0000000-0000000-0000000
    TestDirector 7.2
    18AM9CA-H98RD98-P398P38-A3J8AI0

    安装篇:
    XP和2000都可以安装,2003似乎有兼容性问题,没试过,装过的朋友可以说一下。TestDirector的安装环境要求 IIS。如果你没有,请在控制面板添加/删除程序中安装IIS。(这里需要注意的一点是,你系统的administrator用户不能使用空密码,也就是说你必须为管理员用户指定一个密码,不然安装完成后无法正常运行TestDirector,会报那个著名的RPC错误)。安装之前请关闭一些IE的辅助工具,并关闭其功能,在初次运行时,会要求更新部分IE空间,很有可能被IE的辅助工具所拦截。所以为了能让我们顺利的完成它,把杀毒软件也关掉吧。
    运行安装程序。
    输入你的License 继续Next
    License可以用TD7.6的:B343P--44B44--43444--6444S
    根据环境选择需要的数据库,这里使用的是Access,继续Next
    注意User 里面默认的是 你的机器名\管理员
    Password:输入管理员密码(要想正确安装你的Administrator必须有密码,不能为空)
    继续Next
    如果你有邮件服务器,则选择SMTP Server 输入你的邮件服务器
    继续Next
    Virtual Directory Name 输入你虚拟目录名,即你在IIS中访问要用的地址,默认即可
    继续Next
    继续Next
    配置完成后,可以在上面的栏目中查看你前面的详细配置,如果可以点击Install开始安装过程
    安装完成后,需要重起一下机器,在登陆系统的时候会发现多了一个关于员用户,这里是无法登陆,是TD自动创建的一个系统用户,不用去管它。
    接着继续安装SP1补丁,中途会要求输入一次系统管理密码,然后再要求重起一次
    重复上面步骤安装SP2补丁。即安装完成

    LoadRunner:
    LR8.1(中文版)破解方法大公布!(破解成功)
    LR8.1版本已经将7.8和8.0中通用的license封了,因此目前无法使用LR8.1版本,包括该版本的中文补丁。
    破解思路:由于软件的加密程序和运行的主程序是分开的,因此可以使用7.8的加密程序覆盖8.1中的加密程序,这样老的7.8和8.0中通用的license就可以使用了。

    操作步骤:
    1、用官方版的LR8.1安装,也可以安装中文补丁。
    2、将LR7.8或者LR8.0(安装包或者安装后目录中的都可以)中的
    lm70.dll
    mlr5lprg.dll
    这两个文件复制并粘贴到LR8.1安装目录下的bin文件夹下,一般是C:\E:\Program Files\Mercury\LoadRunner\bin;

    lm70.dll 文件的描述是 with conbined license support,是一个license的支持文件;
    mlr5lprg.dll应该是一个保存license的文件。
    大家可以试一试,其实不要替换mlr5lprg.dll也是可以的,只替换lm70.dll文件,老的license一样能注册通过,但是软件的试用的license还在。

    3、运行LR8.1,打开license管理器,点击添加new license,将老license复制进去,OK,验证通过!
    7.8、8.0通用的license有:
    golba-100: AEAMAUIK-YAFEKEKJJKEEA-BCJGI
    web-10000: AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

    此方法适用于英文原版8.1和中文版8.1。

    LoadRunner8.1(含汉化包)的下载地址
    http://lib.verycd.com/2006/08/11/0000114991.html

    软件测试工具:
    http://www.ml570.com/default.asp?cateID=4 

    可用于LoadRunner 8.0 以下版本的序列号
    100 clients
    AEAMAUIK-YAFEKEKJJKEEA-BCJGI
    10000 web clients
    AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

    LoadRunner.8.0.工业级测试工具
    http://lib.verycd.com/2005/10/01/0000067173.html

    LoadRunner 6.5 20H-4D82-7F
    license 20H-4D82-7F

    LoadRunner 7.5 AEAMAUIK-YAFEKEKJJKEEA-BCJGI
    Global 100

    LoadRunner 7.5 AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB
    WEB 10000
    dummy8 10
    Serial:
    KWC500R6538415-885

    loadrunner 7.51
    License: BGAUGLIX-AJGI-AEIEKEKJJKEAFJP-BDFHW

    LoadRunner v6.0 SP1 S/n: 9606-4774477437 Key: 20H-4D82-7F
    LoadRunner v5.01 S/n: 9876-5432102521 Key: 218-1-EA1-BB-AD
    LoadRunner Addin for SAP v2.1 S/n: 9876-5432102521
    LoadRunner for DOS S/n: 856464092302113
    LoadRunner v7.0.0 S/nLicense: FNCU-CVBQ-BEFQ

    Astra LoadTest:
    Astra LoadTest 4.5
    s/n: AEAJIVII-AKEAE-AVEG

    Astra LoadTest 5.4.3
    s/n: BKANCFCV-YKEAF-GJUEG
    (Note: Install as in evalution version and after that goto LoadTest Controller and use this maintena
    nce s/n)

    Astra Loadtest 5.4.1.7
    s/n: BKANCFCV-YKEAF-GJUEG

    Astra QuickTest 5.0
    Code: 7972-1234567890 Key: AEAJDDFR-Y-AQBK

    Telelogic:
    http://www.telelogic.com/ 官方总网址
    http://www.telelogic.com/index.cfm 官方英文首页
    http://www.telelogic.com.cn/index.cfm 官方中文文首页
    https://support.telelogic.com/en/ 官方下载
    http://www.telelogic.com/campaigns/2007/global/doors_fastrak_release/index.cfm 

    IBM Rational:
    http://www.rational.com 官方首页
    http://www-900.ibm.com/cn/software/rational/
    http://www14.software.ibm.com/webapp/download/brand.jsp?b=Rational 所有Rational产品

    盟动力Rational下载:
    http://www.tomore.com/searchtools.php?s=3&job=search&key=Rational&select=1&select1=0&jumpto=1&njumpto=0

    IBM.Rational.Suite.V2003.06.00.Multilanguage:
    http://download.csdn.net/search/IBM.Rational.Suite.V 
    Rational Suite Enterprise 2003 产品安装及破解办法
    http://www.tomore.com/3/7338.html 

    Rational RequisitePro下载
    http://www-306.ibm.com/software/awdtools/reqpro/ 

    Rational Rose 2003 汉化版
    http://www.hnspace.com/downinfo/41830.html 
    rational rose 2003破解
    拷贝rational_perm.dat到rational安装目录下的Common里,覆盖原文件即可破解。

    rational rose破解文件为:
    http://zixi.bokee.com/inc/sdasdas.rar
    如果还不能破解,就按照下面的步骤来做:
    1.安装Rose后,默认是需要许可证书的..去下载个破解的..
    http://www.cnblogs.com/Files/lixianhuei/rose2003crack.rar
    2.先用破解压缩包里的 rational.exe,lmgrd.exe 覆盖到你的 \安装目录的Rartional\commen\下
    3.然后记事本打开 license.dat, 修改里面的 SERVER yourPC ANY DAEMON rational "C:\Program Files\Rational\Common\rational.exe"
    改成 SERVER 你的机器名 ANY DAEMON rational "你的安装目录\rational.exe" ,拷贝到Common目录下
    4. 将Flexlm.cpl拷贝到C:\winnt\system32\下, 在控制面板里运行 FlexLm License Manager,
    运行后, 在 Setup 面板配置文件路径,lmgrd.exe -> 你的安装目录 \Common\lmgrd.exe, 而 License File 为你改过的 license.dat(我用的是xp,目录为C:\WINDOWS\system32)
    5.在Control面板点击Start,如果成功的话点击Status按钮将显示 你的机器名:license server UP (MASTER) 说明成功了
    失败的话重启一下FlexLm License Manager就没问题了。
    6.如果弹出对话框License Key Administrator Wizard后, 选定Point to a Rational License Server to get my licenses,单击下一步,Server Name文本框中填写你的机器号(可能已经填好),单击完成。 (成功的话会出现两屏的licenses)

    Borland:
    http://www.borland.com/ 官网首页
    http://www.borland.com/us/products/index.html 所有产品

    http://download.csdn.net/down/148368 CaliberRM 2005 Keygen

    http://trial.borland.com/survey.aspx?sid=638 JBuilder 2007 Enterprise Trial下载
    http://www.wujianrong.com/blog/archives/SHOCK.jar JBuilder 2005、JBuilder 2006 Enterprise注册破解

    http://www.xyju.com/bbs/attachments/07-01/jbuilder2007注册机.rar JBuilder2007注册机
    http://jones.javaeye.com/blog/52939 JBuilder2007破解补丁
    http://www.xyju.com/bbs/attachments/07-01/jbuilder2007%D7%A2%B2%E1%BB%FA.rar
    http://lib.verycd.com/2007/01/15/0000135764.html 

    JBuilder2007破解终于出来了大家快下载啦
    1.用eMule下载[JBuilder.2007].sanct6.jar和[JBuilder.2007].sanctuary.jar两个文件:
    [JBuilder.2007].sanctuary.jar文件的BT链接地址:
    ed2k://|file|[JBuilder.2007].sanctuary.jar|1128426|AF3D21D1A0E8E4A138CA85ABBBF8E8C6|h=ELGPRR6UYLOLDA2AKQEUX3BFMUXW7VGV|/ [JBuilder.2007].sanct6.jar文件的BT链接地址:
    ed2k://|file|[JBuilder.2007].sanct6.jar|22172|88C833D4A11F2F7601231F756B81D3C8|h=LR7V6SVYYU5FKM4S2IKHVRKSNJ7FEXGT|/
    2.把[JBuilder.2007].sanct6.jar改为sanct6.jar
    3.把[JBuilder.2007].sanctuary.jar改为sanctuary.jar
    4.把sanct6.jar复制到JBuilder安装目录下的jbuilder\eclipse\plugins\com.borland.sanctuary.client.core_6.0.0文件夹,并复盖原件
    5.把sanctuary.jar复制到JBuilder安装目录下的jbuilder\eclipse\plugins\com.borland.sanctuary.client.core_6.0.0文件夹,并复盖原件
    6.恭喜你!OK了

    JBuilder 2005 Enterprise破解方法:
    JBuilder 2005 Enterprise安装结束,安装文件中提供了破解文件shock.jar 。 此注册文件使用方法:
    运行注册文件前不要运行JBuilder 2005 Enterprise。
    将shock.jar拷到c:\Borland\JBuilder2005\jdk1.4\jre\bin目录下,当然,可以不用COPY,指定路径也是可以的。
    运行CMD
    C:\Documents and Settings\Administrator>cd c:\ 进入到安装目录下的jdk1.4\jre\bin下
    C:\Borland\JBuilder2005\jdk1.4\jre\bin>java -jar shock.jar SHOCK presents JBuilder 2005 Enterprise Enjoy another quality product from SHOCK C:\Program Files\JBuilder2005\jdk1.4\jre\bin> 运行JBuilder 2005 Enterprise,会发现不再提示你进行注册,直接进入界面。

    JBuilder 2006 企业版
    地址:http://www.borland.com/downloads/download_jbuilder.html
    破解方法:
    1.安装Jbuilder2006
    2.将破解文件包Crack.zip中的*.JAR文件(有两个)复制到JBuilder2006\lib目录中,
    将*.SLIP复制到JBuilder2006\(即安装好后的根目录),
    再将*.SLIP放至JBuilder2006\license下
    3.更新JDK核心: 从网络上下载最新JDK1.5.0 安装上,将\JAVA\JDK1.5.0\下所有文件,包括子目录所有文件复制到JBuilder2006\jdk1.5\下,就可以了。
    破解文件网上有的是,如果找不到请Email索取


    Java系列:
    项目管理:
    (1)
    需求管理软件:
    1.Telelogic DOORS占70%份额
    2.Rational Requisite Pro
    3.Borland CaliberRM
    4.Microsoft SharePoint Portal Server
    5.OpenCollective
    6.Dragonfly算是唯一的中文版本吧

    Rational公司对UML语言建模以及RUP提供的CASE工具:
    Rational   Requisite   Pro 通过使需求更易于书写交流和修改使在整个应用开发中全体开发小组能实时更新和跟踪.  
    Rational   ClearQuest Windows和基于Web的需求变更管理产品时,项目小组能跟踪和管理开发生命期中的所有变更活动.  
    Rational   Rose 世界领先的用于商业过程建模需求分析构建结构设计的可视化建模工具.  
    Rational   SoDA 为整个软件开发过程提供产品文档自动化的工具,极大减少了文档工作的时间和成本.  
    Rational   Purify c/c++构件和应用程序开发者使用的运行错误检查工具帮助检查内存错误.  
    Rational   Visual   Quantify C/C++,VB,Java构件和应用程序开发者使用的高级性能评测工具,帮助评估性能瓶颈.  
    Rational   Visual   PureCoverage 自动的软件测试覆盖率工具,使开发者能全面地有效地测试他们的应用程序.  
    Rational   TeamTest 创建,维护和执行自动化的功能测试,允许全面地测试代码和决定软件是否满足期望的需求和性能.  
    Rational   PerformanceStudio 评测和预计Client/Server和Web系统性能的易于使用,准确和可升级的工具.  
    Rational   ClearCase 主导市场的软件配置工具,为项目经理提供跟踪每个软件开发项目进化的能力.
    Rational   XDE 为最流行的集成开发环境提供了真正的无缝集成的可视化建模环境.
    Rational   Apex--Rational Apex系列产品为一集成开发环境,使程序员能够设计、开发和维护复杂的C/C++或Ada系统。Apex除提供程序编译器、纠错器外,还具备版本控制(Version Control)、架构规划(Architecture Organizing)、发布管理(Release Management)等先进的软件工程能力
    测试工具SQA

    (4)http://www.itpub.net/attachment.php?attachmentid=385396&postid=6498216 ITPub的Rose、Borland和UML等的下载

    (5)解决安装和应用rational rose时报错“MEM_BAD_POINTER”的问题:
    环境:
    windows xp pro sp2
    RationalSuiteEnterprise.2003.06
    原因:
    同样出在winxp sp2系统上。
    对此,官方的解释是:
    1) extract shw32.dll from the attached rar file.
    2) locate the copy of shw32.dll that the affected program (the one
    that's giving the MEM_BAD_POINTER error) is using. Rename this file,
    or move it to some other directory for safe keeping. Note: this step
    is not strictly necessary, BUT if you experience problems with our
    new DLL, the first thing we're going to suggest is that you revert to
    your old one.
    3) with your old shw32.dll renamed or moved for safe keeping, install
    the new shw32.dll where the old one used to be. Now run your app as
    usual and verify that the error no longer appears.

    4) if after step 3 you still see the MEM_BAD_POINTER error, search
    your hard drives for any other occurrences of shw32.dll and replace
    those (using the above procedures), one at a time, until the error no
    longer appears.
    实际上,解决这个问题无需那么复杂,只须下载show32.dll补丁(地址:http://www.cnblogs.com/Files/begincsdn/MEM_BAD_POINTER_EMEND.rar),再到Rose对应的目录中(C:\Program Files\Rational\Rose)将原文件替换成新文件,下次退出时就没有这种错误了。

    原文地址http://blog.csdn.net/Fjnu_Angel/archive/2007/01/10/1479032.aspx 
    其他下载地址http://blog.chinaunix.net/u/20117/showart.php?id=124064 
    http://www.blogjava.net/lyjjq/articles/69217.html 

    开发工具:
    (1)
    混淆
    proguard
    http://proguard.sourceforge.net/ 
    RetroGuard
    joc.jar

    反混淆
    http://www.blogjava.net/huanzhugege/archive/2007/05/13/117123.html Java反编译工具Jodeclipse for eclipse3.2
    jad

    (2)
    Eclipse
    http://www.eclipse.org/ 
    Eclipse下载及教程
    http://www.eclipse.org/europa/

    MyEclipse 5.1.0
    http://downloads.myeclipseide.com/downloads/products/eworkbench/5.1.0GA/F

    ullStack_MyEclipseEnterpriseWorkbenchInstaller_5.1.0GA_E3.2.1.exe

    License Name : TLF
    License Key  : GLR8ZC|065444|545454|7663624914

    License Name : EastGame
    License Key  : RLR8ZC|065444|545454|352499020

    License Name : eastgame.net
    License Key  : rLR8ZC|065444|545454|340248553

    Subscriber: www.1cn.biz
    Subscriber Code: jLR8ZC-444-55-4467865481680090
    注册成功后会发现:

    Subscriber: www.1cn.biz
    Product ID: E3MP (MyEclipse Professional Subscrīption)
    License version: 9.99
    Full Maintenance Included
    Subscrīption expiration date (YYYYMMDD): 20991231
    Number of licenses: Unlimited

    Eclipse主插件:
    BIRT Report Downloads
    http://download.eclipse.org/birt/downloads/

    教程:
    http://www.eclipseworld.org/bbs/read-cec-tid-8349-fpage-1-toread--page-1.html eclipse官方birt图表报表视频教程
    指南:
    主要都是一些官方资料
    http://www.eclipse.org/birt/tutorial/">http://www.eclipse.org/birt/tutorial/
    包括:
    A.Basic Tutorial
    http://www.eclipse.org/birt/tutorial/basic
    B.Flash hello world 教程
    http://download.eclipse.org/birt/downloads/demos/MyFirstReport.html My First Report
    C.三个视频教程
    http://www.eclipse.org/downloads/download.php?file=/birt/downloads/demos/parameter_demo.wmv&r=1 Using data set arameters and report parameters.(讲述报表参数)
    http://www.eclipse.org/downloads/download.php?file=/birt/downloads/demos/sub_report_demo.wmv&r=1 Creating a subreport.(讲述简单子报表,嵌套报表)
    http://www.eclipse.org/downloads/download.php?file=/birt/downloads/demos/scrīpted_data_src.wmv&r=1 Creating a scrīpted data set.(讲述简单的scrīpt用法)

    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13933 BIRT 报表-中文指南 
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13934 BIRT 中文指南-1.Introduction
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13935 BIRT 中文指南-2.Creating a Report
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13935 BIRT 中文指南-3.Brief UI Tour
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13937 BIRT 中文指南-4.Building a Data Source
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13938 BIRT 中文指南-5.Building a Data Set
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13939 BIRT 中文指南-6.Building a Table
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13940 BIRT 中文指南-7.Testing Your Report
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13941 BIRT 中文指南-8.Setting Visual Properties
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13942 BIRT 中文指南-9.Setting Data Properties
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13943 BIRT 中文指南-10.Using Styles
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13944 BIRT 中文指南-11.Cascading Styles
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13945 BIRT 中文指南-12.Using a Grid
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13946 BIRT 中文指南-13.Using a Text Item
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13947 BIRT 中文指南-14.Next Steps
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=13948 BIRT 中文指南-Setup
    http://blogger.org.cn/blog/more.asp?name=sixsun&id=16694 开始学习BIRT的源码

    Eclipse插件:
    如果新加的插件不能被发现,可以关掉JBuilder,之后run cmd出现命令窗,输入相应盘符如e:,之后退到JBuilder的安装目录如cd E:\0JasonLi\JBuilder2007,之后键入jbuilder -clean启动JBuilder就可以看到你加的插件了。插件我是加到E:\0JasonLi\JBuilder2007\jbuilder\eclipse\plugins和E:\0JasonLi\JBuilder2007\jbuilder\eclipse\features里,而不是E:\0JasonLi\JBuilder2007\plugins和E:\0JasonLi\JBuilder2007\features里。插件也可以放在自己建立的文件夹里,但此文件夹要建立个.eclipseextension文件,没有扩展名,内容为:
    id=com.borland.jbuilder.productname=JBuilderversion=1.0.0
    也可以通过Help-Software Updates-Find and Installing-Search for new features to install-在更新的时候将保存路径改为你自己的,这时候会自动为你添加一个.eclipseextension文件。

    http://www.eclipseplugincentral.com/Web_Links+main.html 插件网

    Javascrīpt插件:
    Aptana IDE(js,css有智能提示,有浏览器类型和DOM版本提示,输入即提示,无格式化)
    http://www.aptana.com/
    http://www.aptana.tv/
    http://www.aptana.com/dev/index.php/Main_Page

    Javascrīpt Reporter(tm) Javascrīpt Tool
    调试查错的工具
    http://www.dhitechnologies.com/products/reporter/

    Teniga(js有智能提示,无浏览器类型提示,Alt+.提示,js有格式化)
    Teniga是一个Javascrīpt编辑器插件。它提供运行期语法错误检查,内容大纲,代码提示和语法着色等功能。 它能够帮助你快速,轻松编写javascrīpt代码。Teniga还支持动态扩展用户包。
    http://sourceforge.net/projects/teniga/

    JSEclipse(js有智能提示,有浏览器类型和版本提示,Ctrl+.或Alt+.或Alt+/提示,无格式化,可以识别是"Javascrīpt类"和"javascrīpt 函数"-outline视图,Ctrl+/是注释一行)
    可以编辑Javascrīpt 文件,支持语法突出显示和包括了一些常用的面向对象的方法。支持的面向对象的功能有:构造函数,类方法,实例方法,类变量等等。支持代码错误提示,警靠报告等。
    http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/?&error=1
    http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/

    For JSEClipse plugin Ext of the code completion library
    http://extjs.com/forum/showthread.php?t=6112
    这个东东可完善JSEclipse对extjs的代码自动完成功能.

    install: unzip the file,put all xml files to "YourWorkspace\.metadata\.plugins\com.interaktonline.jseclipse\user_library",reboot eclipse.if the user_library not exists,then create it.
    Another solution:
    1. Copy ext-all-debug.js into your project in your project.
    2. Refresh your code completion library from JSEclipse menu.
    JSEclipse plugin will generate library for you.

    I installed Ext lib for Jseclipse 1.5.X and Eclispe 3.1.2 successfully!
    --------------------------------------------------------------------------------
    I installed Ext lib for Jseclipse 1.5.X and Eclispe 3.1.2 successfully!
    1.Download the two zip files.extract them to a temporary folder.
    2.In Eclipse ,create a new js file, choose the menu "jsEclipse->add library",choose one xml file of the extracted temporary folder. then eclipse will create a folder named "user_library" under path "\yourworkspace\.metadata\.plugins\com.interaktonl ine.jseclipse\".
    3.Copy all files from temporary folder to the "user_library" folder.
    Hope it's helpful!

    JSEditor-不好用。
    JSEditor也是一个可以在eclipse下编写Javascrīpt的插件。
    http://sourceforge.net/projects/jseditor

    myJSEditor-MyJSEditor-0.9.0-RC.zip-不好用。
    myJSEditor是一个Javascrīpt编辑器。它的功能包括:语法高亮显示,代码自动完成等。myJSEditor还对自定义的Javascrīpt对象有高亮显示,代码自动完成的功能。这个插件主要是支持Rhino Javascrīpt引擎,但也能够兼容其它符合Ecma262标准的Javascrīpt引擎。
    http://eclipse.moelleryoung.com/jseditor/index.php

    SpketIDE-(Spket IDE 1.5.11)spket-1.5.11.zip-不好用。
    SpketIDE提供很多功能用于帮助Mozilla Extensions开发人员提高开发效率。其强大的Javascrīpt编辑器提供了像代码自动补全,目录大纲,代码(包括XML代码)折叠,语法(包括XUL/XBL语法)高亮显示,XPCOM组件视图这些功能都有助于提高开发人员编写Javascrīpt代码的效率。此外SpketIDE还是Yahoo!UI组件的一个辅助开发工具。
    http://www.spket.com/

    (Javascrīpt Editor PlugIn for Eclipse)net.sf.wdte.js_0.0.9b.zip-不好用。
    (EclipseHTMLEditor)tk.eclipse.plugin.htmleditor_2.0.4.zip-不好用,无智能提示,无浏览器类型提示,无格式化功能。

    (VelocityWebEdit)VelocityWebEdit-1.0.8.zip-不好用。

    CSS插件:
    CSS Editor-(CSS Editor)net.sourceforge.csseditor_0.0.4.zip-不好用,无智能提示,无浏览器类型提示,无格式化功能。
    CSS Editor (Eclipse Plugin)这是一个为Eclipse 提供的插件,可以编辑复杂的CSS功能。
    http://sourceforge.net/projects/csseditor/


    Implementors
    当追踪方法代码时,Eclipse默认是转到方法的接口类,而接口中是只有方法名称没有具体的实现代码,此插件提供了追踪到具体实现类的实现代码的功能。
    http://eclipse-tools.sourceforge.net/implementors/

    Call Hierarchy
    Call Hierarchy 显示一个方法的调用层次
    http://eclipse-tools.sourceforge.net/call-hierarchy/

    EclipseTidy
    EclipseTidy基于HTML Tidy提供校验和格式化HTML/XML文件的功能
    http://eclipsetidy.sourceforge.net/

    EclipseHTMLEditor
    EclipseHTMLEditor是一个可以在Eclipse下编辑,校验HTML/ XML / JSP的插件。
    http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?

    page=EclipseHTMLEditor

    Checkclipse
    Checkclipse 检查代码的风格、写法是否符合规范
    http://checkstyle.sourceforge.net/ CheckStyle官网
    http://sourceforge.net/projects/checkstyle/ CheckStyle下载页

    Spell Checker
    这是一个适用于Eclipse3.1平台的拼写检查程序插件,它可用于ava,Javascrīpt,JavaProperties,XML,HTML,JSP,与PHP的拼写检查。eSpell支持自定拼写字典,针对项目的特殊设置,检查键入的词语等。
    http://www.bdaum.de/eclipse/

    JAutodoc
    JAutodoc是一个能够自动为你的源代码加上Javadoc注释的Eclipse插件。
    http://jautodoc.sourceforge.net/

    eclipse UML
    UML建模插件功能其全。
    http://www.eclipsedownload.com/download/index.html

    Violet UML Editor
    Violet UML Editor是一个强大的UML编辑器,易于使用,开发快捷.它能画出好看的类图,对象图,顺序图,状态图和use-case图。这个插件把Violet嵌入到Eclipse中。
    http://sourceforge.net/projects/violetumlplugin

    AmaterasUML
    UML建模插件,可利用该插件来绘制UML类图和UML时序图。
    http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML

    VUML
    该Eclipse插件是一个可视化UML2.0编辑器。

    Jupe
    Jupe是一个基于GEF和UML2框架的UML插件,它为UML类图创建,代码生成,逆向转换提供支持。Jupe支持利用鼠标创建UML类图,并把图导成XMI,加载和保存类图。支持基于源代码创建UML类图,并且源代码如果有变动将自动改变类图。
    http://jupe.binaervarianz.de/

    ArgoEclipse
    这个插件把ArgoUML建模工具集成到Eclipse IDE中。支持UML1.4所有类图。
    http://argoeclipse.tigris.org/

    Topcased UML Edit
    UML2.1建模工具,支持9种模型图包括:UML用例图,类图,包图,顺序图,协作图,状态图,活动图,构件图,部署图。并提供Java与模型图的转换引擎。
    http://topcased-mm.gforge.enseeiht.fr/modeling/uml/index.php

    Green UML
    Green UML一个UML类图创建工具,主要是针对学生使用而设计。你可以利用Green UML从代码创建UML类图,或者通过UML类图来生代码。类图中的所有关联都是以插件的形式存在可动态增/删。Green支持把UML类图导出成jpg与gif的格式。
    http://green.sourceforge.net/

    Relo
    Relo是一个帮助开发人员研究大型代码库的好工具,它能够一步步的跟踪你所展开的代码包,并快速生成类似UML的类图。
    http://relo.csail.mit.edu/

    Google Code Search
    Google Code Search插件。
    下载:org.proteus.google.code.search-1.0.0.zip

    VSSplugin
    VSS客户端插件,VSS是一个和CVS齐名的版本管理系统。
    http://sourceforge.net/projects/vssplugin


    StrutsIDE
    StrutsIDE是开发Struts框架开发工具。它提供了struts-config.xml配置文件的图形管理界面。
    http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=StrutsIDE

    StrutsBox
    StrutsBox主要特点包括:
     ◆基于Eclipse3.1开发平台
     ◆一个用来编辑Struts配置文件的可视化编辑器
     ◆以图形的方式来显示Struts应用程序的Web Flow
     ◆一个可高亮显示语法的JSP编辑器
     ◆可利用向导来创建Struts项目与一个新的Struts form
     ◆支持Struts 1.0,1.1与1.2标准
    http://www.strutsbox.de/

    Struts-It
    Struts-It为开发基于Struts的Web应用程序提供全面的支持。它基于Eclipse 3.1并能够很好的与WTP 0.7集成。Struts-It支持Struts1.1,1.2与JSTL。
    http://sourceforge.net/projects/struts-it/

    Flux
    Flux是一个支持采用模型驱动来设计一个Struts1.1 web应用程序的Eclipse插件。它能够从UML活动图生成struts-config.xml和struts-config-.xml配置文件。在其主页和Eclipse帮助系统中有提供详细的用户使用手册。
    http://flux4eclipse.sourceforge.net/

    QuickREx
    正则表达式测试插件.
    http://www.bastian-bergerhoff.com/eclipse/features/web/QuickREx/toc.html

    J2EE design pattern generator
    一个可以生成J2EE设计模式代码Eclipse插件并支持J2EE refactorings。它使用XML文件来存储设计模式描述。这个插件有一个友好的用户界面向导。支持的设计模式有:
     * Front Controller -
     * Session Facade -
     * Service Activator -
     * Service Locator -
     * Composite Entity -
     * Transfer Object Supporterd refactorings: -
     * Hide Entity behind Session -
     * Move business Logic to Facade -
     * Iintroduce Front Controller
    http://sourceforge.net/projects/j2ee-dp-gen

    PatternBox
    PatternBox是一个Java设计模式编辑器。它提供一个基于模板的代码生成器。这个基于XML的模板机制使得你能够定义自己的代码模板。PatternBox当前能够为16种

    GoF设计模式生成代码。
    http://www.patternbox.com/index.html

    SEDS Design Pattern Pugin
    这个插件将使利用设计模式来开发Java应用程序变得更加容易。它内建一些基本的模式如Singleton,Factory等,但用户也可以配置其它模式。SEDS Design Pattern Pugin内建的具体设计模式包括:Chain of Responsibility,Iterator,Mediator ,Memento ,Observer,Strategy,Command ,Factory Method,Prototype,Singleton,Holder,Bridge ,Composite,Facade,DAO,Type Safe Enumeration ,Visitor,Flyweight,Facade。
    http://home.icslab.agh.edu.pl/~shogun/iosr/site/maven/

    Jinto:国际化插件
    http://www.guh-software.de/

    java sdk docs for eclipse
    这个插件把Java SDK文档(包括Java™ 2 SE 5.0 SDK (JDK 5.0) Docs、Java™ 2 SE 1.4.2 SDK Documentation、Java™ 2 EE 5.0 SDK API Docs)和其它一些文档(Apache Ant 1.6.5、陆续将添加Apache SOAP v2.3.1 Documentation、Apache Struts Framework、Xerces Java Parser 1.4.4、Xerces Java Parser 2.8.0、C++相关文档)集成到Eclipse帮助系统便于开发过程中浏览与搜索。
    http://eclipsedocs.sourceforge.net/

    Eclipse Instant Messenger
    Eclipse即时消息插件,它结合了一些常用的协议如:MSN,YAHOO,ICQ,AIM等。
    http://eimp.sourceforge.net/d/

    Eclipse Messenger
    即时消息插件,方便开发者交流。不需要任何其它应用程序。
    http://www.myjavaserver.com/~cosmologic/ 

    测试工具:
    (3)推荐两个非常好用的测试工具JMeter和Badboy:
    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现:
    官方网址:http://jakarta.apache.org/jmeter/index.html

    Badboy也是一个强大的测试工具:
    官方网址:http://www.badboy.com.au/

    Badboy不比jmeter功能多,但是有了badboy可以让你的测试脚步制作更加轻松。

    PHP系列:
    http://www.zend.com/ Zend Studio官网

    Zend Studio v5.5.0破解
    http://www.4x4y.com/86701_down_Zend.Studio.v5.5.0_crack.html 
    PHPChina论坛ZendStudio-5_2_0下载
    http://www.phpchina.com/html/down.html

    http://files.zend.com/videos/zend_studio_demo/ Zend Studio Demo

    http://www.phped.com/ NuSphere PHPEd官网
    http://www.nusphere.com/ NuSphere PHPEd官网

    NuSphere PHPeD IDE v4.6.4616 特别版
    http://down.chinaz.com/s/10200.asp

    http://www.nusphere.com/products/phped.htm PHPEd Debug Demo

    Javascrīpt系列:
    http://bbs.51js.com/forum-24-1.html 无忧脚本

    http://www.w3schools.com/js/default.asp W3英文学校

    http://www.8esky.com/handbook/Javascrīpt/contents.htm Javascrīpt 参考

    (1)调试javascrīpt的好方法:
    修改IE的设置:
    IE的“选项-高级”,有两个选项默认是钩选的:
    Disable scrīpt Debugging(Internet Explorer)
    Disable scrīpt Debugging(Other)
    中文可能是“禁用脚本调试”,去掉这两项的钩选。

    在VS2005“工具-选项-调试-实时”,选中脚本调试。

    在需要调试的地方加上debugger;例如:
    <scrīpt language=javascrīpt>
    ..
    debugger;
    ..
    </scrīpt>
    打开或刷新一下页面就进入断点了。

    (2)Javascrīpt IDE开发工具:
    1)软件Eclipse+Javascrīpt插件:
    见本页-Java系列:-(7)Eclipse插件:-Javascrīpt插件。

    2)软件1st Javascrīpt Editor Pro 3.8(有比较全面的智能提示,可以设计HTML代码)
    http://www.yaldex.com/JSFactory_Pro.htm
    1st javascrīpt editor 3.8破解
    下载地址:http://download.csdn.net/source/163908
    http://blog.csdn.net/hertcloud/archive/2007/04/03/1551053.aspx
    使用破解后 程序启动后是不能智能提示的 需要在 设置里面打开(每次启动都需要手动打开..:)破解的不完善.)

    3)软件AceHTML Pro v6.6 特别版(有一点智能提示但不是所需要的)
    name:www.chinaz.com
    sn:WRSG-XCQC-4XXZ-NCGS

    4)软件Antechinus Javascrīpt Editor 9.0(有一点智能提示但不是所需要的)

    5)软件Javascrīpt Plus! 4.1(无智能提示)

    6)软件ScrypTik 1.14(无智能提示)

    (3)Javascrīpt源码格式化
    SourceFormatX-格式化js代码,可以格式被任何软件混淆的js代码,原样保留但中文注释会变成乱码,提供的功能多,界面专业,可以不修改源文件。
    http://cn.textrush.com/integrate.htm 
    SourceFormatX 2.56 的注册破解版
    http://hi.baidu.com/hn123/blog/item/41b10df44a75556edcc4742f.html 
    http://vxer.cn/downloads/SourceFormatX.rar 

    http://vxer.cn/downloads/SourceFormatX.rar SourceFormatX破解
    仅一个功能“格式化目录”不能用(需要正版KEY解码)。使用的时候最好不要开调试器,filemon等工具,因为这个软件有主要的危险代码:
    1,用winexec无限开窗口,直到你死机
    2,删除你注册表,删了你肯定要重装了!
    http://www.textrush.com/download/sfx256sp3.zip SourceFormatX SP3下载

    使用 Key Maker 165 制作 内存补丁 针对 2.56 非SP
    SP3 版本没有找到下载地址,CRACK提供的版本中部分菜单有英文,且功能莫明其妙,不知道是否有问题.
    建议"等待进程闲置时修改"
    带上做好的 MemPatch 程序.
    http://bbs.pediy.com/attachment.php?attachmentid=3544&d=1164863022
    SourceFormatX SP3 内存补丁 带上做好的 MemPatch 程序
    http://bbs.pediy.com/attachment.php?attachmentid=3546&d=1164872805

    Javascrīpt Code Improver-格式化js代码,可以格式被任何软件混淆的js代码,但只有第一个注释被保留且不是中文乱码,提供的修改参数少,界面简单,可以不修改源文件。
    http://www.jcay.com/javascrīpt-code-improver.html
    Javascrīpt Code Improver 中文语言包
    http://blog.csdn.net/KimSoft/archive/2006/05/23/750407.aspx

    polystyle-格式化js代码,不能格式被Javascrīpt Obfuscator软件混淆的js代码,很多js文件都不能完全格式化,原样保留但中文注释会变成乱码,提供的功能多,但界面混乱,提供右键格式化功能,不提供保存格式化后的文件的功能要自己copy粘贴,不修改源文件。
    http://www.polystyle.com/integrations/
    http://www.polystyle.com/walkthrough/

    Trita 1.6a-格式化js代码
    http://as.onlinedown.net/down/trita-source-formatter-windows-setup.exe
    code:1748314567063
    注册码:1734759207571

    Javascrīpt源代码格式化工具
    http://cn.textrush.com/formatter-javascrīpt.htm

    MyEclipse中的默认的Javascrīpt编辑器提供了格式化格能,只要按一下(CTRL+SHIFT+F)就OK

    在线格式化js代码
    http://files.cnblogs.com/matrix/beautyjs.htm
    http://www.div-css.com/f/tool/js-format-compress.html javascrīpt格式化及压缩工具
    http://www.div-css.com/f/tool/js-format-color.html javascrīpt格式化及代码着色工具

    (4)Javascrīpt源码混淆压缩
    Jasob2.1-混淆器,混淆后不马上修改源文件,提示你保存,而且有两个窗口显示混淆前后的文件,不支持拖入文件,可打开嵌入到页面文件如.aspx文件里的js代码而且灰显其他代码只显示js代码。
    http://www.jasob.com/Downloads.html
    http://www.jasob.com/Features.html 

    Javascrīpt Obfuscator-混淆器,混淆后即将源文件修改了,但通过他生成的备份文件可以原样恢复,支持拖入文件,只能打开.js文件,不能打开嵌入到其他文件里的js代码。
    http://www.javascrīpt-source.com/
    http://www.javascrīpt-source.com/tutorial.html
    http://www.javascrīpt-source.com/help.html
    JsObfuscator2.01 Crack Version
    http://www.sosuo8.com/article/show.asp?id=1383

    JsMinGUI-javascrīpt脚本压缩工具,界面简单,没有修改参数的地方,只有一个压缩按钮,其自身没提供恢复被混淆的文件的功能,被混淆后的内容已经去掉了注释内容,支持拖入文件,只能混淆.js文件,不能混淆嵌入到其他文件里的js代码。
    http://www.sosuo8.com/article/show.asp?id=1382

    Javascrīpt Chaos Edition(JCE)-JCE Pro Obfuscator,要用命令才能混淆,而且好像只是将字符换成编码,代码的格式都没变,没怎么混淆。
    http://www.syntropy.se/?ct=downloads 

    ESC 1.14-压缩工具,没找到安装文件。
    功能比较全的一个压缩程序,压缩分为0-4个级别,其中level4可以对变量进行替换。不过不能对使用回车结尾的语句自动添加分号。
    这款工具可自定义压缩级别和是否进行混淆,当然缺点也不是没有,压缩效果一般,而且要求每个JS语句必须以分号结尾,有大括号也不行。
    http://www.saltstorm.net/depo/esc/?pod=js 

    X2JSCompactor-我没用过
    http://www.jb51.net/downtools/X2JSCompactor.rar 

    Rob Seiler的packer-我没用过
    这款压缩混淆工具效果也不错,有三种版本,.Net,Perl,和WSH版本,Windows平台下WSH脚本比较适合,命令行操作。
    http://dean.edwards.name/download/

    在线混淆js代码
    http://www.bizstruct.cn/JavascrīptOnlineObfuscator/
    http://editor.lionsky.net/JSConfusionWebDemo/
    MemTronic's FREEWARE HTML/Javascrīpt Cruncher-Compressor v1.0k
    压缩效果好得不一般,混淆出来的代码完全不可读,压缩率可达50%,IE 5+ / NS 7.0 / Mozilla / Opera 7.0 中均可使用
    http://hometown.aol.de/_ht_a/memtronic/MemTronic_CruncherCompressor.html

    (5)Javascrīpt模块代码:
    1-2-3 Javascrīpt Library!
    http://www.wyka-warzecha.com/website/products/javascrīpts/123library/index.htm 

  • 无线通讯名词解释

    2007-06-19 09:11:50

    OTA(Over-the-Air Technology)空中下载技术:是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。这样,应用及内容服务商可以不受平台的局限,不断开发出更具个性化的贴近用户需求的服务,如信息点播、互动娱乐、位置服务以及银行交易等。通过OTA空中下载技术,手机用户只要进行简单操作,就可以按照个人喜好把网络所提供的各种业务菜单利用OTA机制下载到手机中,并且还可以根据自己的意愿定制具体业务。

    2.5G:是基于2G与3G之间的过渡类型。代表为GPRS。比2G在速度、带宽上有所提高 。可使现有GSM网络轻易地实现与高速数据分组的简便接入。

    3G:(third generation)表示第三代移动通讯技术。面向高速、宽带数据传输。 国际电信联盟(ITU)称其为IMT-2000(International Mobile Telecom-munication)。最高可提供2Mbp/s的数据传输速率。主流技术为CDMA技术代表有WCDMA(欧,日)、CDMA2000(美)和TD-SCDMA(中)。

    GSM:(Global system for Mobile communications)全球移动通讯系统。2G的主流技术,数据速率为9.6kb/s。

    GPRS:(General Packet Radio Service)通用分组无线业务。是一种基于GSM系统的无线分组交换技术。2.5G的主流技术。理论最高数据速率为171.2kb/s 。

    WAP:(Wireless Application Protocol)无线应用协议。它是无线互联网上的一系列协议的组合。面向移动电话等小型、窄带的移动设备。WAP能够运行于各种无线网络之上,如GSM、GPRS、CDMA等。

    J2ME: Java 2 Platform micro Edition 1999年6月诞生是JAVA2的一个组成部分,一种以广泛的消费品为目标的高度优化的JAVA的运行环境。现主要应用为掌上终端(PDA、手机)、电视机顶盒。

    CLDC:Connected Limited Device Configuration 连接限制设备配置。配置的作用是决定环境所使用的JVM J2ME使用的是KVM

    MIDP:Mobile Information Devices Profile 移动信息设备简表。J2ME有两种简表MIDP和KJava 手机上的开发使用的是MIDP。

    J2ME相关词汇FAQ

    1. J2ME是Java 2 Platform micro Edition的缩写。1999年6月诞生是JAVA2的一个组成部分,一种以广泛的消费品为目标的高度优化的JAVA的运行环境。现主要应用为掌上终端(PDA、手机)、电视机顶盒。

    2. MIDP:移动信息设备简表。J2ME有两种简表MIDP和KJava 手机上的开发使用的是MIDP。

    3. CLDC:连接限制设备配置。配置的作用是决定环境所使用的JVM J2ME使用的是KVM。

    4. J2SE SDK:支持J2ME的JDK 建议使用1.3版本。

    5. Palm:Palm是Palm公司生产的掌上电脑的名称,也是其*作系统的名称。经常使用的型号如Palm M505

    6. POSE :Palm*作系统在PC上的模拟器。

    常见的wireless名词整理
    -----------

    什么是1G/2G/2.5G/3G

    1G(first generation)表示第一代移动通讯技术。如现在以淘汰的模拟移动网。

    2G(second generation)表示第二代移动通讯技术。代表为GSM。以数字语音传 输技术为核心。

    2.5G是基于2G与3G之间的过渡类型。代表为GPRS。比2G在速度、带宽上有所提高 。可使现有GSM网络轻易地实现与高速数据分组的简便接入。

    3G(third generation)表示第三代移动通讯技术。面向高速、宽带数据传输。 国际电信联盟(ITU)称其为IMT-2000(International Mobile Telecom- munication)。最高可提供2Mbp/s的数据传输速率。主流技术为CDMA技术代表有WCDMA(欧,日)、CDMA2000(美)和TD-SCDMA(中)。

    -----------
    什么是GSM

    全球移动通讯系统(Global system for Mobile communications)的英文缩写。2G的主流技术,数据速率为9.6kb/s。

    -----------
    什么是GPRS

    通用分组无线业务(General Packet Radio Service)的英文缩写。是一种基于GSM系统的无线分组交换技术。是2.5G的主流技术。理论最高数据速率为171.2kb/s 。

    -----------
    什么是UMTS

    UMTS(Universal Mobile Telecommunication System)通用移动通信系统的英文缩写。由欧洲电信标准协会(ETSI)负责UMTS的标准化工作。并与ITU负责的IMT-2000协调一致。它是ITU IMT-2000的重要组成部分。UMTS使用ITU分配的、用于陆地和卫星无线通信的频带。它可通过移动或固定、公用或专用网络接入,与GSM和IP兼容。可支持2Mb/s的数据速率。
    -----------
    什么是CDMA(注:这里指3G的CDMA)码分多址的英文缩写,是目前公认的3G主流技术。目前存在3种3G的主流CDMA标准,分别是WCDMA、CDMA2000和TD-SCDMA。前两者分别由欧洲和美国提出,TD-SCDMA由中国提出(大唐电信),已被ITU和3GPP所接受。其中,WCDMA和CDMA2000是FDD模式,而TD-SCDMA是TDD模式(注:FDD-频分双工,需用两个频段进行收发;TDD-时分双工,采用同一个频段,但以不同的时隙进行。)

    -----------
    WAP和WML

    WAP是无线应用协议(Wireless Application Protocal)的英文缩写。它是无线互联网上的一系列协议的组合。面向移动电话等小型、窄带的移动设备。WAP能够运行于各种无线网络之上,如GSM、GPRS、CDMA等。

    WML是无线注标语言(Wireless Makeup language)的英文缩写。支持WAP技术的手

    机能浏览由WML描述的Internet内容。

    -----------
    I-mode 和 CHTML

    i-mode是日本电信(NTT)的子公司DoCoMo在日本市场推出的无线通讯服务。是目

    前世界上使用人数最多(都在日本)的无线互联网服务。I-mode 和 WAP 的主要

    区别在于:I-mode 的内容是用CHTML写成的,因此现行的大部分网络内容只要稍做修改可以使用;而WAP使用的是WML,现有的网络内容必须转化为WML才能被WAP所使用。CHTML(Compact HTML)HTML的一种变体。与HTML大部分兼容。

    -----------
    蓝牙(BlueTooth)

    蓝牙是一种支持设备短距离通信(一般是10m之内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。它的标准是IEEE802.15。工作在 2.4GHz 频带。带宽为1Mb/s(注:蓝牙这名字很有意思,来自公元10世纪统一丹麦和瑞典的斯堪的纳维亚国王的名字。)

    -----------
    Wireless LAN

    无线局域网,是由局域网发展而来,标准是IEEE802.11、IEEE802.11b 和IEEE802.11a。其中802.11b 工作在2.4GHz频带,带宽可达11Mbps。而802.11a定义在5GHz频带,带宽有望达到54Mb/s 。但相应地,Wireless LAN成本较高,使用昂贵。

    -----------
    HomeRF

    HomeRF主要为家庭网络设计的无线射频技术,是IEEE802.11与DECT的结合,旨在降低成本。HomeRF也采用了扩频技术,工作在2.4GHz频带,目前HomeRF的带宽为1~2Mb/s,未来会增到10Mb/s。
    -----------
    SyncML

    SyncML是一种行业通用的移动数据同步化协议。利用SyncML可使移动设备上的数据与远程数据保持同步状态。由Ericsson、 IBM、 Lotus、 Matsushita、Motorola、 Nokia、 Palm、 Psion和Starfish Software等公司组成的协会所开发。


    -----------
    VoiceXML

    VoiceXML(Voice eXtensible Markup Language)是W3C定义的可扩展标记语言(XML)的一种扩展,根据播放的提示信息、口述的命令、语音或按键音输入,实现人机交互。VoiceXML的标准化将简化Web上具有语音响应服务的个性化界面的创建,使人们能够通过语音和电话访问网站上的信息和服务。

  • 为什么婚戒要带在无名指上

    2007-06-18 17:39:27

     为什么婚戒要带在无名指上  (你可以试试)

    一个奇妙的生理现象

    1,首先大家伸出两手,将中指向下弯曲,对靠在一起,就是中指的背跟背靠在一起
      2,然后将其它的4个手指分别指尖对碰
      3,在开始游戏的正题之前,请确保以下过程中,5个手指只允许一对手指分开。下面开始游戏的正题。
      4,请张开你们那对大母指,大母指代表我们的父母,能够张开,每个人都会有生老病死,父母也会有一天离我们而去。
      5,请大家合上大母指,再张开食指,食指代表兄弟姐妹,他们也都会有自己的家世,也会离开我们。
      6,请大家合上食指,再张开小母指,小母指代表子女,子女长大后,迟早有一天,会有自己的家庭生活,也会离开我们。
      7,那么,请大家合上小母指,再试着张开无名指。这个时候,大家会惊奇的发现无名指怎么也张不开,因为无名指代表夫妻,是一辈子不分离的。真正的爱,粘在一起后,是永生永世都分不开的。
      这就是夫妻。
  • 用电脑之生活小常识

    2007-06-18 08:59:17

     现代社会中,电脑已经成为人们生活和工作不可缺少的工具,但电脑也越来越成为一把“双刃剑”:它在给人们生活和工作带来方便、快捷的同时,也在悄悄地危及人们的健康,引起人的视力衰退、关节损伤、辐射伤害、头部和肩膀疼痛。据调查,常用电脑的人中感到眼睛疲劳的占83%,肩酸腰痛的占63.9%,头痛和食欲不振的则占56.1%和54.4%,还会出现自律神经失调、忧郁症、动脉硬化性精神病等,够吓人吧!

       专家指出,“电脑病”的产生主要是和人们在电脑面前的坐姿、使用方法,以及使用时间长短有关。因此,对长期使用电脑的人来说,做好防护工作非常重要,切记切记!!!

      一、坐姿正确。在操作电脑时尽可能保持自然的端坐位,将后背坐直,并保持颈部的挺直。两肩自然下垂,上臂贴近身体,手肘弯曲成90度,操作键盘或滑鼠,尽量使手腕保持水平。

      二、电脑的摆放高度要合适。将电脑屏幕中心位置安装在与操作者胸部同一水平线上,最好使用可以调节高低的椅子。应有足够的空间伸放双脚,膝盖自然弯曲成90度,并维持双脚着地,不要交叉双脚,以免影响血液循环。

      三、与屏幕保持恰当的距离。眼睛与电脑屏幕的距离应在40—50厘米,使双眼平视或轻度向下注视荧光屏,这样可使颈部肌肉轻松,并使眼球暴露于空气中的面积减小到最低。

      四、劳逸结合。
       避免长时间连续操作电脑,使用电脑的时间最好是30分钟就休息一下,可到室外散步,或抬头望天,或向远处眺望,或进行10至20次伸颈和扩胸练习,要不然,你就会成为真正的大虾,驼背大虾。

      五、保持皮肤清洁。
       电脑荧光屏表面存在着大量静电,其积聚的灰尘可转射到脸部和手的皮肤裸露处,时间久了,易发生斑疹、色素沉着,严重者甚至会引起皮肤病变等。为减少辐射,应使办公室保持通风干爽,这样能使那些有害物质尽快排出,在电脑桌下放一盆水或是放一盆花草也可减少辐射,勤洗脸也能防止辐射波对皮肤的刺激,这点容易做到吧。

      六、合理膳食。
       平时多吃些胡萝卜、白菜、豆芽、豆腐、红枣、橘子以及牛奶、鸡蛋、动物肝脏、瘦肉等食物,少食肥甘厚味及辛辣刺激性食品,以补充人体内维生素A和蛋白质。平时可多饮些茶,茶叶中含有茶多酚等活性物质,有利于吸收与抵抗放射性物质。

      最后别忘了,也是很重要的:使用电脑后,一定要洗手。键盘上面附着着很多细菌和病毒,也会给人带来伤害。
  • 软件测试知识复习

    2007-06-14 11:20:40

    软件开发过程及软件质量保证
    1.软件开发过程的几个主要阶段:
    1)定义。明确开发的目标,软件的需求
    2)计划。制订软件开发所涉及到的计划。
    3)设计。设计、编码、编写文档等,完成要求的软件特性。
    4)稳定化。主要是测试和缺陷修复,确保软件的质量。
    5)安装。安装、提交完成的软件,为客户提供运行环境。
    2.几种常用的软件生命周期模型:
    1)瀑布模型。
    2)原型模型。
    3)增量模型。
    4)螺旋模型。
    软件测试人员的角度来看软件开发过程,需要注意的是:测试贯穿在整个开发过程中,而不是在某个阶段集中地做一下测试而其它阶段不用理会测试工作

    一个软件之所以被认为为质量优秀,是它内在具备了这样一些特性:
    满足用户的需求;
    合理进度、成本、功能关系;
    具备扩展性和灵活性,能够适应一定程度的需求变化;
    能够有效地处理例外的情况;
    保持成本和性能的平衡。

    软件质量保证(Software Quality Assurance-----SQA)是为了确保软件开发过程和结果符合预期的要求而建立的系列规程,以及依照规程和计划采取的一系列活动及其结果评审。

    软件质量保证的活动主机包括:
    技术方法的就用;
    正式技术评审的实施
    软件测试;
    标准的执行;
    修改的控制;
    度量;
    记录和记录保存。

    软件错误的定义:软件错误是软件产品中存在的导致期望的运行结果和实际结果间出现差异的一系列问题,这些问题包括故障、失效、缺陷。


    软件测试:
    软件测试就是为了发现软件中存在的错误而分析或执行程序的过程。具体地说,软件测试是分析程序或根据软件开发各阶段的规格说明和各程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。

    软件测试有两个基本的功能:验证(Verification)和确认(Validation)。
    验证指保证软件正确地实现了特写功能的一系列活动。
    确认指保证最终的产品满足系统需求。
    通俗的说:验证保证产品的正确性;确认保证生产了正确的产品。

    软件测试人员应该至少具备以下两个关键领域方面的知识:
    1)软件测试技术;
    2)被测应用程序及其相关应用领域知识。

    理解以下的描述:
    测试能提高软件的质量,但是提高质量不能依赖测试;
    测试只能证明错误存在,不能证明错误不存在;
    测试的主要困难是不知道该如何进行有效地测试,也不知道什么时候能够放心的结束测试;
    每个程序员都应当测试自己的程序(份内事),但不能作为程序已通过测试的依据(所以项目需要独立的测试人员);
    80-20原则:80%的错误聚集在20%的模块中,经常出错的模块改错后还是会经常出错;
    测试应当循序渐进,不要企图一次性做完。"欲速则不达"。

    测试人员的目标和主要工作:
    目标:(1).基本目标是发现软件错误;
    (2).要尽可能早的找出软件错误;
    (3).必需确保找出的软件错误得以关闭。

    主要工作:
    1)规划测试任务
    2)设计测试(包括编写测试用例等等)
    3)建立一个合适的测试环境
    4)评估、获取、安装和配置自动测试工具
    5)执行测试
    6)撰写适当的测试文档

    软件测试的分类
    1.从是否需要执行被测试软件的角度分:有静态测试和动态测试。
    2.从测试是否针对软件结构和算法的角度分类分:白盒测试和黑盒测试。
    3.从测试的不同阶段分:单元测试、集成测试、系统测试和验收测试四个阶段。
    其中系统测试有:功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等等。

    针对某些功能作用的测试:
    回归测试:指错误被修正后或软件功能、环境发生变化后进行的重新测试。
    功能测试:测试软件的功能是否符合功能性需求,通常采用黑盒测试方式。
    负载测试:测试软件系统的最大负载,超出此负载软件有可能会失常。
    压力测试:与负载测试差不多,叫法不同。
    易用性测试:测试软件是否易用,主观性比较强。一般要根据用户的反馈信息来评价。
    安装与反安装测试:测试软件在"全部、部分、升级"等状况下的安装/反安装过程。
    恢复测试:测试系统从故障中恢复的能力。
    安全性测试:测试系统防止非法侵入的能力。
    兼容性测试:测试系统与其它软件、硬件兼容的能力。
    内存泄漏测试:测试软件在运行过程中是否会造成内存泄漏。
    比较测试:通过与同类产品比较,考察该产品的优点、缺点。
    Alpha测试:一种先期的用户测试,此时系统刚刚开发完成。
    Beta测试:一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。同Alpha测试一样都由用户进行,场地不同,Alpha测试一般是把用户请到开发方的场地来测试,Beta测试是指在一个或多个用户的场所进行测试。

    测试工作的主要步骤:
    1)测试计划:测试人员要首先对需求进行分析,最终定义一个测试集合。
    2)测试设计与开发:根据软件需求、说明书完成测试用例设计并编写必要的测试驱动程序。
    3)执行测试:需要做的工作是,建立测试环境;根据前面编写的测试计划和测试用例运行测试;记录测试结果;报告软件缺陷;跟踪软件缺陷直至其被处理;分析测试结果


    PS 测试工程师职业素质
    1)责任心
    2)学习能力
    3)怀疑精神
    4)沟通能力
    5)专注力
    6)洞察力
    7)团队精神
    8)注重积累
  • 什么是软件测试

    2007-06-04 15:38:02

    在G.J.Myers的经典著作《软件测试之艺术》(The Art of Software Testing)中,给出了测试的定义:“程序测试是为了发现错误而执行程序的过程”。这个定义,被业界所认可,经常被引用。除此之外,G.J.Myers还给出了与测试相关的三个重要观点,那就是:  
    1. 测试是为了证明程序有错,而不是证明程序无错误;
    2. 一个好的测试用例是在于它能发现至今未发现的错误;
    3. 一个成功的测试是发现了至今未发现的错误的测试。
      实际上,这里暗示了“软件测试”在不同侧面上的含义,也就决定了对软件测试不同的定义和不同的理解。根据作者多年的经验和理解,软件测试的不同视野,概括为如下5类:
    • 软件测试的狭义论和广义论——静态和动态的测试
    • 软件测试的辨证论——正向思维和反向思维
    • 软件测试的风险论——测试是评估
    • 软件测试的经济学观点——为盈利而测试
    • 软件测试的标准论——验证和确认
      1. 软件测试的狭义论和广义论

      G.J.Myers所给出了测试定义——“程序测试是为了发现错误而执行程序的过程”,实际是一个狭义的概念,因为他认为测试是执行程序的过程,也就是传统意义上的测试——在代码完成后,通过运行程序来发现程序代码或软件系统中错误。但是,这种意义上的测试是不能在代码完成之前发现软件系统需求、发现设计上的问题,把需求、发现设计上的问题遗留到后期,这样就会可能造成设计、编程的部分返工。增加软件开发的成本、延长开发的周期等。需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证软件质量。这种狭义论是受软件开发瀑布模型影响。

      正是为了更早地发现问题,所以将测试延伸到需求评审、设计审查活动中去,也就是将“软件质量保证”的部分活动归为测试活动。实际上,在软件开发实际操作中,常常将软件测试和质量保证——这两种努力(efforts)合并起来。

      延伸后的软件测试,被认为是一种软件测试的广义概念。这就引出软件测试的两个概念“静态测试”和“动态测试”,如 测试方法的辩证统一 (1)所述,这样就由静态测试和动态测试构成一个全过程的、完整的软件测试,而且静态测试显得更为重要。

      2.软件测试的辨证论


      G.J.Myers的第2个观点“测试是为了证明程序有错,而不是证明程序无错误”,引出了软件测试的另外一个争论,软件测试究竟是证明所有软件的功能特性是正确的呢?还是其反向思维——对软件系统进行各种试探和攻击,找出软件系统中不正常或不工作的地方呢?从我个人理解,这两个方面都有一定道理,前者(证明所有软件的功能特性是正确的)是从质量保证的角度来思考软件测试,后者(证明程序有错)从软件测试的直接目标和测试效率来思考,两者应该相辅相成。在后者的思想背景下,我们认为,测试不是为了证明所有的功能可以正常工作,恰恰相反,测试就是为了找出那些不能正常工作、不一致性的地方。也就是说,测试的一般工作就是发现缺陷 (detect bug),即在软件开发过程中,分析、设计与编码等工作都是建设性的,而测试是带有“破坏性”的工作。

      对于不同的应用领域,两者的比重是不一样的,如国防、航天、银行等软件系统,承受不了任何系统失效,因为一次系统的失效完全有可能导致灾难性的损失,所以强调前者以保证非常高的软件质量。而一般的软件服务应用则不同,强调后者,质量目标设置在“用户可接受水平”,不要国度追求质量,从而可以降低软件开发成本。作者建议,在我们实际操作中,可以分阶段实施不同的测试思想,在早期阶段集中在“证明程序有错”—— 发现Bug,后期集中在验证所有特性是否正常工作——降低风险,见作者的另外一篇讨论:测试执行中非常有效的策略

      下面就是这两种观点的基本描述:
    • 验证软件是验证软件是“工作的”,以正向思维,针对软件系统的所有功能点,逐个验证其正确性。其代表人物是软件测试领域的先驱Dr. Bill Hetzel (代表论著《The Complete Guide to Software Testing》)。
    • 证明软件是“不工作的”,以反向思维方式,不断思考开发人员理解的误区、不良的习惯、程序代码的边界、无效数据的输入以及系统的弱点,试图破坏系统、摧毁系统,目标就是发现系统中各种各样的问题。其代表人物就是上面多次提到的G.J.Myers。他强调,一个成功的测试必须是发现Bug Bug的测试,不然就没有价值。
      3.软件测试的风险论

       测试被定义为“对软件系统中潜在的各种风险进行评估的活动”,这就是软件测试的风险论。软件测试自身的风险性是大家公认的,测试的覆盖度不能做到100%。测试的这种风险定义一方面源于这层含义,另外软件测试的标准有时不清楚,“软件规格说明书(Specification/ Spec)”是其中的一个标准,但也不是唯一的,因为Spec中有些内容完全有可能是错误的。所以,我们常常强调软件测试人员应该站在客户的角度去进行测试,除了发现程序中的错误,还要发现需求定义的错误、设计上的缺陷,可以针对Spec 去报Bug。但是,测试在大多数时间/情况下,是由工程师完成,而不是客户自己来做,所以又怎么能保证工程师和客户想得一样呢?

      有人把开发比作打靶,目标明确,就是按照Spec 去实现系统的功能。而把测试比作捞鱼,目标不明确,自己判断哪些地方鱼多,就去哪些地方捞;如果只捞大鱼(严重缺陷),网眼就可以大些、撒网区域相对比较集中(测试点集中在主要功能-major features)。如果想把大大小小的鱼捞上来,网眼就要小、普遍撒网,不放过任何一块区域(测试点遍及所有功能——all features)。

      在“风险”论的框架下,软件测试可以被看作是一个动态的监控过程,对软件开发全过程进行检测,随时发现不健康的征兆,发现问题、报告问题,并重新评估新的风险,设置新的监控基准,不断地持续下去,包括回归测试。这时,软件测试可以完全看作是软件质量控制的过程。

      对应这种观点,产生基于风险的测试策略,首先评估测试的风险,功能出问题的概率有多大?哪些是用户最常用的20%功能——Pareto原则(也叫80/20原则)?如果某个功能出问题,其对用户的影响有多大?然后根据风险大小确定测试的优先级。优先级高的测试,优先得到执行,一般来讲,针对用户最常用的20%功能(优先级高)的测试会得到完全执行,而低优先级的测试(另外用户不经常用的80%功能)就不是必要的,如果时间或经费不够,就暂时不做或少做。

      4.软件测试的经济学观点

      “一个好的测试用例是在于它能发现至今未发现的错误”,体现了软件测试的经济学观点。实际上,软件测试经济学问题至今仍是业界关注的问题之一。经济学的核心就是要盈利,盈利的基础就是要有一个清楚的商业性目标。同样,商业性目标是否正确,直接决定了企业是否盈利的结果。多数情况下,软件测试是在公司内的执行。正是公司的行为目的,决定了软件测试含义或定义的经济性一面。正如,对软件质量的定义不仅仅局陷于“和客户需求的一致性、适用性”,而且要增加其它的要求——“预算内、按时发布、易于维护”。

      软件测试也一样,要尽快尽早地发现更多的缺陷,并督促和帮助开发人员修正缺陷。原因很简单:平均而言,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的20~40倍,在外部测试阶段是它的30~70倍,而到了产品发布出去时,这个数字就是 40~ 1000倍。修正错误的代价不是随时间线性增长,而几乎是呈指数级增长的。

      5. 软件测试的标准论


      如果从标准论来看软件测试,可以定义为软件测试就是“验证(Verification)”和“有效性确认(Validation)”活动构成的整体,即软件测试 = V&V。

      “验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。验证过程提供证据表明软件相关产品与所有生命周期活动的要求(如正确性、完整性、一致性、准确性等)相一致。相当于,以Spec为标准进行软件测试活动,验证软件产品和Spec的一致性。

      “有效性确认”是确认所开发的软件是否满足用户真正需求的活动。相当于,保持对软件需求定义、设计的怀疑,一切从客户出发,理解客户的需求,发现需求定义和产品设计中的问题。这主要通过各种软件评审活动来实现。

      需要说明的是,软件测试的对象是产品(包括阶段性产品,如市场需求说明书、产品规格说明书、技术设计文档、数据字典、程序包、用户文档等),而质量保证和管理的对象集中在软件开发的标准、流程和方法等。

      究竟什么是软件测试呢?综上所述,软件测试的定义为:


      软件测试是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,

      其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。
  • 饭后15种健康零食

    2007-05-28 09:03:57

    零食吃的适当也会有益身体健康,以下十五种零食饭后吃一些有益健康!

      1.葵瓜子 可以养颜,葵瓜子含有蛋白质、脂肪、多种维生素和矿物质,其中亚油酸的含量尤为丰富。亚油酸有助于保持皮肤细嫩,防止皮肤干燥和生成色斑。

      2.花生 能防皮肤病,花生中富含的维生素B2,正是我国居民平日膳食中较为缺乏的维生素之一。因此有意多吃些花生,不仅能补充日常膳食中维生素B2之不足,而且有助于防治唇裂、眼睛发红发痒、脂溢性皮炎等多种疾病。

      3.核桃 可秀甲,核桃中含有丰富的生长素,能使指甲坚固不易开裂同时核桃中富含植物蛋白,能促进指甲的生长。常吃核桃,有助于指甲的秀韧。

      4.大枣 预防坏血病,枣中维生素C含量十分丰富,被营养学家称作“活维生素C丸”。膳食中若缺乏维生素C,人就会感到疲劳倦怠,甚至产生坏血病。

      5.奶酪 固齿,奶酪是钙的“富矿”,可使牙齿坚固。营养学家通过研究表明,一个成年人每天吃150克奶酪,有助于达到人老牙不老的目标。

      6.无花果 促进血液循环,无花果中含有一种类似阿司匹林的化学物质。可稀释血液,增加血液的流动,从而使大脑供血量充分。

      7.南瓜子和开心果 富含不饱和脂肪酸、胡萝卜素、过氧化物以及酶等物质,适当食用能保证大脑血流量,令人精神抖擞、容光焕发。

      8.奶糖 含糖、钙,适当进食能补充大脑能量,令人神爽,皮肤润泽。

      9.巧克力 有使人心情愉悦及美容作用,能产生如谈情说爱时一样的体内反应物质。

      10.芝麻糊 有乌发、润发、养血之功,对症吃可防治白发、脱发,令人头发乌亮秀美。

      11.葡萄干 有益气、补血、悦颜之益。但要注意卫生。

      12.薄荷糖 能润喉咙、除口臭、散火气,令人神清喉爽。

      13.柑桔、橙子、苹果等水果 富含维生素C,能减慢或阻断黑色素的合成,增白皮肤,属碱性食品,能使血液保持中性或弱碱性,从而有健身、美容作用。

      14.牛肉干、烤鱼片 富含蛋白质、铁、锌等,适食令人肌肤红润。

      15.乳饮料,含有三分之一的牛奶 有时还强化维生素和微量元素,是富有营养的饮料之一。

  • 常用的功能测试方法解析

    2007-05-23 17:06:07

        1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。

      2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。

      3. 检查按钮的功能是否正确:如update, cancel, delete, save等功能是否正确。

      4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.

      5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.

      6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.

      7. 中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.

      8. 检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致

      9. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.

      10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理.

      11. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型.

      12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错.

      13. 重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。

      14. 检查多次使用back键的情况: 在有back的地方,back,回到原来页面,再back,重复多次,看会否出错.

      15. search检查: 在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确.

    16. 输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方.

      17. 上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。

      18. 必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*

      19. 快捷键检查:是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。

      20. 回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错。

  • 系统性能调优

    2007-05-23 16:55:24

    系统性能调优

    性能测试分析人员经过对结果的分析以后,有可能提出系统存在性能瓶颈。这时相关开发人员、数据库管理员、系统管理员、网络管理员等就需要根据性能测试分析人员提出的意见同性能分析人员共同分析确定更细节的内容,相关人员对系统进行调整以后,性能测试人员继续进行第二轮、第三轮……的测试,与以前的测试结果进行对比,从而确定经过调整以后系统的性能是否有提升。有一点需要提醒大家,就是在进行性能调整的时候,最好一次只调整一项内容或者一类内容,避免一次调整多项内容而引起性能提高却不知道是由于调整那项关键指标而改善性能的。那么在进行系统的调优过程中是否有什么好的策略来知道我们工作呢?经过多年的工作,作者的经验是按照由易到难的顺序对系统性能进行调优。
    系统调优由易到难的先后顺序如下:
    1.        硬件问题
    2.        网络问题
    3.        应用服务器、数据库等配置问题
    4.        源代码、数据库脚本问题
    5.        系统构架问题

    硬件发生问题是最显而易见的,如果CPU不能满足复杂的数学逻辑运算,可以考虑更换CPU,如果硬盘容量很小,承受不了很多的数据可以考虑更换高速、大容量硬盘等。如果网络带宽不够,可以考虑对网络进行升级和改造,将网络更换成高速网络;还可以将系统应用与平时公司日常应用进行隔离等方式,达到提高网络传输速率的目的。很多情况下,系统性能不是十分理想的一个重要原因就是没有对应用服务器、数据库等软件进行调优和设置引起来的,如:Tomcat调整堆内存和扩展内存的大小,数据库引入连接池技术等。源代码、数据库脚本在上述调整无效的情况下,您可以选择的一种调优方式,但是由于设计到对源代码的改变有可能会引入缺陷,所以在调优以后,不仅需要对性能的测试还要对功能进行验证,是否正确。这种方式需要通过对数据库建立适当的索引,以及运用简单的语句替代复杂的语句,从而达到提高SQL语句运行效率的作用,还可以在编码过程中选择好的算法,减少响应时间,引入缓存等技术。最后,在上述尝试都不见效的情况下,您就需要考虑现行的构架是否合适,选择效率高的构架,但由于构架的改动比较大,所以您应该慎重对待。
  • 侧重单元测试浅析

    2007-05-18 11:04:56

    软件测试是保证软件产品质量的重要手段之一。它是测量、评估软件产品特点和能力的活动。现在,国内一些软件企业对于软件测试的重视程度还很不够,认为测试工作非常简单,只是简单地操作所测的软件产品而已。这种错误的思想严重影响了国内软件质量,应该引起我们的高度重视。

      软件测试阶段可以分为若干个小的阶段,阶段的划分有多种,我现在按流程顺序将其分为四个阶段:

      · 单元测试:由项目小组完成

      · 集成测试:由项目小组完成

      · 系统测试:由专业测试小组完成

      · 交接测试:用户和开发商共同完成。

      测试的四个阶段完全逆向检测了软件开发的各个阶段。单元测试主要是测试程序代码,集成测试主要是对设计的检测,系统测试主要测试了软件的功能,交接测试主要是对用户需求的一种检测。但是每个测试阶段仍要对其它测试阶段的测试内容加以测试,只是测试重点不同。

      在这篇文章中,我只对单元测试流程加以阐述,而不涉及具体的测试方法。关于测试方法(如:使用手工测试还是自动测试)若有机会将在其它文章中进行阐述。

      在单元测试前,先让我们明白以下几个问题,这可以使我们对单元测试更加清晰。

      · 单元测试的目标: 确保模块被正确地编码

      · 由谁去做:    通常由程序人员测试

      · 怎样去测试:   功能测试可以用黑匣测试方法,代码测试可用白匣测试方法 

      · 什么时候可以停止:当 程序员感到代码没有缺陷时

      · 记录:      通常没有记录

      我们在清楚以上问题后就可以编写测试用例了。测试用例是输入、执行条件和一个特殊目标所开发的预期结果集合。它按测试目的不同可分为以下几种类型:

      · 需求测试用例:测试是否符合需求规范

      · 设计测试用例:测试是否符合系统逻辑结构

      · 代码测试用例:测试代码的逻辑结构和使用的数据

      需求测试用例通常是按照需求执行的功能逐条地编写输入数据和期望输出。一个好的需求用例是可以用少量的测试用例就能够覆盖所有的程序功能。

      设计测试用例检测的是代码和设计是否完全相符。是对底层设计和基本结构上的测试。设计测试用例可以涉及到需求测试用例没有覆盖到的代码空间(例如界面的设计)。

      代码测试用例是基于运行软件和 数据结构上的。它要保证可以覆盖所有的程序分支、最小的语句和输出。

    以上三种用例所用的数据又可分为正常数据、边缘数据和错误数据。

      · 正常数据:在测试中所用的正常数据的量是最大的,而且也是最关键的。少量的测试数据不能完全覆盖需求,但我们要从中提取出一些具有高度代表性的数据作为测试数据,以减少测试时间。

      · 边缘数据:边缘测试是界于正常数据和错误数据之间的一种数据。它可以针对某一种编程语言、编程环境或特定的数据库而专门设定。例如若使用SQL Server数据库,则可把SQL Server关键字(如:';AS;Join等)设为边缘数据。其它边缘数据还有: HTML的HTML;<>等关键字以及空格、@、负数、超长字符等。边缘数据要靠测试人员的丰富经验来制定。

      · 错误数据:显而易见,错误数据就是编写与程序输入规范不符的数据从而检测输入筛选、错误处理等程序的分支。

      由于执行测试用例的数据量巨大以及还要进行回归测试,所以可以考虑使用自动 测试工具,但提取测试数据仍要依靠编写测试用例人员的经验。并且,我们还要注意到自动测试也许不能找到程序中所有错误,手动测试所找到的错误会比自动测试所找到的要多。

      有了测试用例,我们就可以进行测试了吧?许多公司也是这样做的,但在这里我建议大家最好要先进行代码的审议。通过代码审议找到的错误可以比测试用例测试所能找到的错误更加深入,并且发现错误的时间也比测试用例要早。代码审议要以代码 标准(根各公司具体情况自行制定)为依据,一般情况下要检查以下几点:

      · 代码风格和规则审核

      · 程序设计和结构的审核

      · 业务逻辑的审核

      代码风格和规则的审核是在每个 程序员完成一个模块或类的 时候要进行编码规范的检查。要召开审核 会议让所有的项目组人员都参加。在会前 项目经理要做一个检查表,以表的内容为检查依据,检查表的内容主要是检查的要点。在审核会上项目组的每一个人员都能看到自己和其他人员的编码问题,从而起到预防的作用。这些问题都要被解决,并且解决的结果要在审议会上被确认。

      进行程序设计和结构的审议是因为开发工具的不同和项目时间的限制而造成设计不详细。比较深入的设计通常是在编码阶段完成的,但由于程序人员和设计人员的经验是不同的,所以会出现很大的问题。我们引入了程序设计和结构审核来保证质量。审核人员要有先进的技术开发经验。在审核之前也要一个审核列表,列出主要几项,如:程序的概要、详细设计。但仅局限于列表是不够的,审议人员 还要审议程序的精巧度和具有创造力的方面,这只能靠经验而不能只靠列表中的内容来审议。对于不同的程序员所检测代码的宽度和深度也是不同的。项目经理可以根据程序员经验的不同制定被审议人员的宽度和深度。例如:年轻的程序员要审议所有代码。但有经验的就可适当减少。

      业务逻辑性审议必须要在代码完成后审议。业务逻辑审议实际上是审议单元模块的功能。这些功能是以系统说明为依据的。审议人员要有开发的经验并且对系统也要熟悉。审议人员通过执行程序从而了解底层代码的状态。这阶段的审议实际也包含了前两种审议,因为审议者也可以通过最后的结果检测单元模块设计和结构的准确性。

      以上三种审议都要耗费一定的时间和 资源,但是它却能更早地发现和解决不易显现的错误。

      审议通过后,我们终于可以使用用例来进行代码测试和调试了。代码的调试是用来保证程序能按照系统需求正常运行的一种手段。但是我所提到的这种代码调试并不是简单的调试,它要包括以下两部分:

    · 特征调试

      · 代码覆盖调试

      首先我们要先进行特征调试。它是通过运行程序找到代码中的错误,这与我们平时常进行的调试相同。到程序能运行后,我们可使用已编好的三种类型的用例并以正常数据测试用例进行测试,若不能正常运行则要用调试工具调试。在这阶段,我们要用大量正常数据去测试。测试后,该程序应可在绝大多数的正常数据中运行。

      其次,我们要进行代码覆盖测试,一直要达到以下目标为至:

      · 测试到每一个最小语句的代码

      · 测试到所有的输出结果

      我们应该通过一步步的调试去运行每个程序的所有语句和分支。如果我们想要百分之百地覆盖就应适当运用边缘数据和错误数据。测试在这个阶段的质量是难以掌握的。它基于 程序员的责任心和经验。当这阶段完成后,每个程序员所测的深度也是不同的。因此,在这个测试阶段之前, 项目经理(或测试工程师)应制定出测试指导和计划书。它们至少应包括以下内容:

      · 测试的主要对象

      · 主要调试点

      · 怎样测试

      · 什么时候可以完成

      至今为至,我们已完成了代码的审议和调试。如果我们是严格按照以上步骤做的,那就可以保证代码没有太多的错误,至少没有使程序运行中断的错误了。如果我们不能很好地执行代码审议和正确的调试,那我们就不能顺利地通过测试,有时我们还要不得不返回来做这些事。

      好了,我们终于完成了单元测试的工作,程序员们可以喘口气了,但不要忘记还有更加严格的集成测试要我们去做。

  • WinRunner

    2007-05-17 16:04:00

     

    WinRunner

    1.1 脚本录制规范:
    基本原则是录制脚本要分开、gui文件要合并、批调用回放验证、可移植回放验证。
    1.1.1 录制脚本要分开:
    脚本太大,不仅不利于以后的维护,并且会导致WinRunner的不可预测的错误产生(具体可以参考WinRunner 的Readme文档)。录制时,可以根据测试用例的流程,拆分为几个小流程,对每个小流程分别录制成不同的脚本。
    1.1.2 gui文件要合并:
    首先,要在系统参数中,设置gui的录制模式为“Global GUI Map File
    录制过程中,WinRunner会自动产生gui文件,一个测试用例要确保生成一个公用gui文件。用一个gui文件主要是为了以后gui对象的维护,脚本回放时gui对象的查找。但是由于我们的测试用例是分开录制的,每个小流程录制时都会产生一个gui临时文件,因此录制完脚本后要把临时gui文件合并到该测试用例的公用gui文件中。但是也要注意,开始新的录制前,一定要先手工加载测试用例的公用gui文件。
    如果划分的子流程超过20个,则按每20个子流程录制一个gui文件的方式。Gui文件太大,会影响WinRunner的回放效率。
    1.1.3 批调用回放验证:
    为了提高脚本的正确性,每录制完成一个子流程后,都要恢复数据库其他初始环境进行回放,以近早发现脚本错误。
    单个测试用例脚本录制完成后,要专门写一个主脚本,进行各子脚本的主次调用处理,然后恢复数据库和其他初始环境进行回放,以验证整个脚本是否可以正确回放。
    1.1.4 可移植回放验证:
    由于WinRunner 工具的限制,在本机回放成功后,如果把脚本移植到其他机器上,往往无法成功。这其中既有自己编写的脚本问题,又有WinRunner录制自动生成的脚本问题。
    自己编写脚本问题:往往是编写的可移植性较差,如加载gui文件时用的是绝对地址,如gui_load(“c:\\aa\\aa.gui”),这样的脚本换到其他机器必然出错。
    WinRunner录制自动生成的脚本问题: WinRunner的录制脚本往往和机器的环境有关,如果换了其他机器环境,往往回放不成功,这就需要手工修改脚本。
    因此,可移植性回放是非常必要的。
    1.1.5 脚本中使用的ODBC数据源名称统一命名为WR。
    1.1.6 录入中文数据时统一使用简体。
    1.1.7 数据表列名称规定
    录入数据驱动的脚本时,数据表列名称统一采用英文,使用PB数据窗口中列对象的名称。数据表列名称下的第一行用中文对英文列名称做注释,使用PB数据窗口中列对象的中文标签,这一行不作为有效的录入数据。与数据表相关的循环语句请修改脚本从数据表的第二行开始读取数据。典型的例子是将数据驱动脚本中For循环的第一个表达式改为table_Row = 2。
    1.1.8 脚本成功回放判定规定
    一个子测试录制完成后,一定要及时回放测试,直到测试报告显示测试结果为OK,且子测试明细报告中没有红色的出错提示。如果是回放主测试,回放成功的标准是:主测试的结果报告显示为OK,同时所有子测试的结果报告也为OK,且子测试明细报告中没有红色的出错提示。
    1.1.9 WinRuner主脚本中关于设置系统日期时间设置的规定,以保证脚本所描述的业务过程按业务逻辑在时间上有序。
    因为脚本回放与脚本录制时的系统日期时间不一致,会导致与系统时间关系密切的测试脚本回放时失败。
    为了消除时间差导致的回放错误,要求每一个测试用例的主测试在第一个子测试前加上date_set_system_date(年,月,日,时,分,秒)函数,以修改本地机器的日期时间等于这个主测试在接力式验收回放成功执行后的日期时间.这样再次回放时系统的日期时间就和上一次成功回放时的日期时间一致。

    1.2 测试脚本存放规范:
    各子测试脚本必须放到同一目录下,即环境目录下的scrīpt目录下。这样便于批调用时引用。
    1.3 Gui文件的存放:
    Gui 文件,必须和测试脚本放到同一目录下,即环境目录下的scrīpt目录下。
    1.4 WinRunner使用规范:
    (1) 必须写上清楚的注释:编写测试脚本,要进行详细的标注,每测试一小段,就要写一段备注,以便于将来修改,格式可以参考如下:
       功能描述:描述脚本的功能
       前置条件:该脚本在满足什么条件下才可以被执行
       步骤描述:描述脚本录制的动作
       检查点描述:描述作了对什么的检查,检查条件。
       录入人:录制人
       录入时间:
       备注:
    (2) gui文件的加载保存:
    每次开始测试用例的录制脚本前,如果该测试用例已经存在gui文件,一定要手工打开gui文件,再开始录制。如果不想手工打开,可以写段自动加载gui的脚本,每次录制前运行一下该脚本。录入脚本后,要注意保存GUI文件,如果测试用例已经存在gui文件,一定要把临时的gui文件合并到该用例的公用gui文件中,然后保存。
    (3) 如果机器数据较慢,或者网络较慢、或者数据库运行较慢,需要把等待打开窗口的时间设长。或者在脚本中插入同步点来处理。
    (4) WinRunner不支持Fomular One,目前不可以用wr测试Fomular One
    使用WinRunner录制时不可以切换不同输入法录制,仅可以用一种输入法。
    (5) WinRunner 对shift 键无法纪录,需要特殊处理 ,可以加入如下处理
    obj_type "dw_1.fslipbugno","<kShift_L>-";(告诉WinRunner按下Shift键)
    中间是选择行的脚本
    obj_type ("dw_1.FBugNo","<kShift_L>+";(告诉WinRunner释放Shift键)
    (6) 保证录制的脚本干净性:
    在录制过程中,不可避免的要进行其他动作,如打开邮件、打开非录制程序等,这些动作也会被WinRunner录制下来,这些动作会严重影响测试脚本的回放(除非作这些动作前停止录制)。
    因此,为了保证脚本的干净,在WinRunner的参数中进行如下设置:设置Recode 的“Selected Applications” 为要录制的程序。
    (7) 录制脚本时,不允许同时打开两个运行程序(指进行wr测试的程序)
    (8) 变量的声明:WinRunner有auto \public \static \extern 四个类型的变量作用域声明,其中public为默认的类型。由于public 是全局的,只要在一个脚本中声明了,在任何其他脚本都可以引用,这就带来一个问题,如果其他的脚本修改了这个public 变量的值,将会引发问题。因此变量声明时必须明确的加上类型(auto \public \static \extern),public 的一般不要使用,推荐使用static \auto 。
    2. 异常处理规范:
    在录制或者编写测试脚本时,必须进行异常的错误处理。以提高程序的错误检查能力。
    2.1 函数异常检测:
    对于一些常用函数,必须进行函数执行异常的处理。至少进行如下函数的异常检测:et_window、win_activate、menu_select_item、ddt_open。
    发现异常后,要终止程序的执行,并发邮件通知相关人员。
    2.2 返回值规范:
    模块、函数的返回值约定如下,0 表示成功 ,其他失败。
    对于一些函数的返回值,需要进行判断处理:
    (1) 每一个call语句都应该检查它的返回值是否为0, 如果不为0则报错退出。
    所有GUI检查点、数据库检查点都应做返回值检查。如果不为0则报错退出。

  • 测试工程师工作流程概论

    2007-05-14 16:40:14

    测试工程师工作流程概论

    测试工程师的工作流程,与公司的整体工作流程,项目的测试要求等因素相关。本文主要讨论测试工程师的一般工作流程。

    做好测试准备

    1)明确测试任务的范围

    测试文档通常包括测试目的、测试环境、测试方法、测试用例、测试工具等。测试工程师首先要通读文档,对整个测试要求形成整体认识,明确测试目的,以及测试要求和测试重点,明确软件测试方法和使用的测试工具

    2)明确测试时间

    明确测试周期和测试时间进度。如果是多人合作完成一个软件,则要首先明确属于自己的测试内容、根据测试内容和测试周期,估算自己每日应该完成的工作量。此外由于软件测试是群体协作的测试活动,需要明确哪些测试内容要与其他测试工程师协作才能完成。

    3)设置测试环境

    根据测试文档要求,设置测试需要的软件和硬件环境,包括操作系统,要测试的软件和其他必要的测试工具软件等。所有这些完成后,分别运行,查看是否能正确运行,保证符合测试文档要求的测试环境。

    4)学习被测试软件

    对于不太熟悉的软件,可以通过阅读软件自身的教程和帮助文件,学习本软件的一般操作方法,也可以参照相关的书籍资料等。另外,向熟悉测试软件的其他同事请教软件使用方法,也是学习软件的一条捷径。对软件使用越熟练,测试过程越顺利,测试效果越理想。

    5)确认完全理解测试任务

    软件测试最重要的要求就是确实明确了测试任务和要求,这包括正确理解了测试文档,确认可以按照测试进度要求,完成测试。对于测试工具要正确安装,熟练使用。如果有任何不明白之处,向软件测试负责人询问。切忌凭自己的理解和主观推测,自行其事。当然,真正测试中,往往会遇到各种新的小疑难问题,也需要及时向测试负责人请教,以保证测试顺利进行。

    执行软件测试任务

    1)按照测试文档要求,逐项认真测试

    根据测试文档测试要求,按照测试步骤,逐项进行。通过运行软件,观察测试结果,与软件需求说明书的内容进行比较,找出软件错误。对于需要调用测试用例的测试,保证正确地调用了测试用例,注意观察和分析测试结果。某些不容易重复的错误,需要反复测试,总结重复该错误所需要的测试步骤,直到确认可以重复出现为止。

    2)记录发现的错误,填写软件问题报告

    为了纠正软件中的错误,测试工程师要正确记录发现的错误,将错误再现的步骤写入测试报告中,测试报告是程序测试的重要组成部分,正确书写测试报告是对测试工程师的基本要求。采用软件缺陷数据库管理测试中发现的软件缺陷,每一条错误作为数据库的一条记录,方便记录、修改、查询。

    3)填写测试进度表和必要的测试内容记录表

    每天将测试内容写入测试进度表文档,可以使测试负责人了解测试进度,控制测试周期内测试的连续性,增强测试过程控制性,保证测试的正常进行。测试记录要准确完整,实事求是,必要时插入测试注释,解释测试中的特殊问题。测试进度表是评价测试质量和工作内容的重要凭证,对于测试后发现的测试错误和失误,可以通过检查测试记录,寻找产生错误的原因。

    4) 测试中发现疑难及时请教

    测试是一个动态的过程,可能由于自己的错误操作或者测试文档内容的错误,使得测试过程中出现自己不能解释的现象或结果,出现与测试要求不符合的情形,这时可能需要与其他测试者协商或求助,如果问题仍然不能解决,应该及时请教,听取意见和建议,必要时反复讨论直到问题全面解决。

    全面检查测试结果

    1)对照测试文档要求,检查测试内容是否完整

    测试完成后,要对照测试文档检查测试是否全部完成,保证没有丢失测试内容。如果某些内容,由于测试环境的要求不满足,或者由于测试时间短没有进行,则要写入测试进度表文档。

    2)检验书写的软件问题报告的记录,使之确切、规范

    正确书写测试记录是保证迅速定位软件错误,加快改正错误的必要前提。专业规范的软件记录报告是体现公司测试水平和专业实力的外在体现。认真检查书写的每条记录是否符合规范,格式、步骤、内容一一检查,必要时补充或删减。

    上述三个阶段,相互联系紧密,其中准备是基础,测试是重点,检查是保证,应该根据测试的软件特点合理安排

  • 软件测试中的网站测试技术要领

    2007-05-14 16:23:59

    软件测试中的网站测试技术要领(收藏)

    基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。

      本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法

      随着Internet和Intranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。

      Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它"使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。

      在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。

      在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。

      一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。

      网站测试流程、要求及测试报告

      一个网站基本完工后,需要通过下面三步测试才可以交活。

      一、 制作者测试,包括美工测试页面、程序员测试功能。在做完后第一时间内有制作者本人进行测试。

      a) 页面 包括首页、二级页面、三级页面的页面在各种常用分辨率下有无错位;图片上有没有错别字;各连接是否是死连接;各栏目图片与内容是否对应等

      b) 功能 达到客户要求;数据库连接正确;各个动态生成连接正确;传递参数格式、内容正确;试填测试内容没有报错;页面显示正确

      二、 全面测试 根据交工标准和客户要求,由专人进行全面测试

      也是包括页面和程序两方面,而且要结合起来测,保证填充足够的内容后不会导致页面变形。另外要检查是否有错别字,文字内容是否有常识错误。

      三、 发布测试 网站发布到主服务器之后的测试,主要是防止环境不同导致的错误

    软件缺陷的原则

    •   软件缺陷区别于软件bug,它是在测试过程中出现的对系统有影响的,但是在设计中没有的或者对修改后的bug测试和开发人员有不同意见等
    •   软件未达到产品说明书标明的功能。
    •   软件出现了产品说明书指明不会出现的错误。
    •   软件功能超出产品说明书指明范围。
    •   软件未达到产品说明书虽未指出但应达到的目标。
    •   软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
  • 走出软件测试的迷茫

    2007-05-11 09:29:41

    随着信息技术在国内不同行业应用的开展,人们已经不再怀疑软件对于社会运转的巨大作用。但是,随着人们对软件作用期望值的提高,已经有越来越多人将关注点转移到软件的可靠性上,因此,国内软件测试公司或测评中心如雨后春笋般出现。


    软件测试并非万能药


      我们在进行软件测试市场开发的过程中,发现了这样的一个问题:不少企业认为软件测试确实很重要,于是提出:我将执行程序(或者还有没有写完整的用户手册)给你,你给我测吧(“对不起,代码不能给,因为涉及产权问题”);如果测完通过了,用户就不应该再可能提出问题了。如果最终用户提出了问题,企业就会找到软件测试公司:“看,你是怎么搞的,用户提出了问题,你们为什么不能通过测试找到问题?”。
      我们也遇到这样的情况,某地软件开发商与用户多次出现因软件质量引发的纠纷。于是该公司找到我们说:“既然你们是软件测试的行家,你们来做测试吧,只要测试费用一个软件控制在2万元以内,我们给你们介绍生意。”最终我们没有敢承担这样的业务,因为我们担心会陷入进退维谷的境地。因此也可以看到,人们对软件测试的理解存在一些误区。
      对于航空工业之中最高级别的软件,为了保障其可靠性,进行测试的工作内容包括语法规则检查和程序分析、条件覆盖、边界覆盖、语句分支覆盖、需求覆盖、强壮性、功能性及输入输出的测试,最终全部通过,也只能保证10-9的缺陷概率。
      因此,软件测试是提高软件质量与可靠性的重要一环,但并不意味着有了软件测试,软件就不存在问题了。如果仅仅是模拟用户进行一下简单的试用,则对于软件质量的验证效用就更差了。
      不妨做一个类比,如果一个工程验收时,外部装修极为符合标准,给人的感觉十分良好,我们是不是可以断定这个工作是质量优良的好工程呢?实际情况经常是,里面豆腐渣外面金钢玉。当然你打开水龙头、打开灯泡不会有问题,如果出现了火灾、大风,这个工程还行吗?不知道。为什么不知道?因为没有看到施工过程是否符合规范;施工过程即使合格,不知道材料是否合格。
      因此,软件测试并不是保障软件可靠性的万能药。

    软件测试要分层


      如果仅凭用户手册,做出来的用户验收测试仅仅是以偏概全的特例测试。有经验的测试者不过是将测试用例设计得更科学些系统些,另外就是增加一些强壮性测试及压力测试。对于一个安全性可靠性要求不是很高的软件,这样做也许就够了。
      但是,我们知道,目前我们国家在搞以“十二金”为代表的电子政务工程。这些工程中涉及财税的部分以及电信、金融、保险、航空、航天等高科技领域或对软件可靠性要求高的领域,他们的对软件的测试仅仅如此是远远不行的。不妨简单地想象一下,航空机载嵌入式软件要求出现缺陷的概率是10-9,仅凭前面的测试能够满足要求吗?
      而进行如此严格要求的测试,投入的人力与财力将是十分巨大的。一般来讲,至少是开发费用的3~5倍,而且要求开发过程十分规范。
      总体来讲,我们不赞成简单地进行用户模拟测试的方式,因为这种做法欠系统和完整。
      我个人认为,进行验收测试要完成如下工作:功能遍历、链接测试、界面测试、稳定性测试、数据接口测试、安全性测试、性能测试、负载测试、压力测试、平台测试、浏览器测试、强壮性测试等等。
      如果在测试过程中发现问题,则要根据相关的设计文档,将问题隔离到部件进行部件测试。对于核心模块,如功能核心或主要的控制部分,则要进行模块一级的白盒测试。


    测试应与开发过程控制相配套


      许多开发商或用户关注软件质量也重视软件测试,但是由于其开发过程尚不规范,往往导致测试,尤其是模块级的黑盒与白盒测试难以正常开展。原因很简单,就是缺少详细的设计文档以及对应于各模块代码的流程图与接口关系。其结果测试就如盲人摸象——仅靠读程序是不能看出程序本身是否与设计思想一致、软件的输入输出的正确性的。
      因而,要进行软件测试,特别是严格的软件测试,软件的开发过程不要仅符合一般的规范;不仅如此,文档的完备、细致化程度也应相当高才行。为保证测试效果及回归测试的顺利开展,开发过程的配置管理也应该严格有效。
    “巧妇难为无米之炊”。作为专业的软件测试公司,我们希望通过我们的努力也通过开发商和用户的共同努力,完善并改进开发流程的过程控制和开发文档,使测试工作能更好地提高软件的可靠性

  • 软件测试的六个误区

    2007-05-11 09:26:09

    随着软件规模的不断扩大,软件设计的复杂程度不断提高,软件开发中出现错误或缺陷的机会越来越多。同时,市场对软件质量重要性的认识逐渐增强。所以,软件测试在软件项目实施过程中的重要性日益突出。但是,现实情况是,与软件编程比较,软件测试的地位和作用,还没有真正受到重视,对于很多人(甚至是软件项目组的技术人员)还存在对软件测试的认识误区,这进一步影响了软件测试活动的开展和真正提高软件测试质量。


    误区之一:软件开发完成后进行软件测试
    人们一般认为,软件项目要经过以下几个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布。据此,认为软件测试只是软件编码后的一个过程。这是不了解软件测试周期的错误认识。
    软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档。软件开发与软件测试应该是交互进行的,例如,单元编码需要单元测试,模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试,那么,测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力。


    误区之二:软件发布后如果发现质量问题,那是软件测试人员的错
    这种认识很打击软件测试人员的积极性。软件中的错误可能来自软件项目中的各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,因为从根本上讲,软件测试不可能发现全部的错误。从软件开发的角度看,软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程中设计出来的。出现软件错误,不能简单地归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。


    误区之三:软件测试要求不高,随便找个人做都行
    很多人都认为软件测试就是安装和运行程序,点点鼠标,按按键盘的工作。这是由于不了解软件测试的具体技术和方法造成的。随之软件工程学的发展和软件项目管理经验的提高,软件测试已经形成了一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具,新流程,新测试设计方法都在不断更新,需要掌握和学习很多测试知识。所以,具有编程经验的程序员不一定是一名优秀的测试工程师。软件测试包括测试技术和管理两个方面,完全掌握这两个方面的内容,需要很多测试实践经验和不断学习精神。


    误区之四:软件测试是测试人员的事情,与程序员无关
    开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切的联系,需要更多的交流和协调,以便提高测试效率。另外,对于单元测试主要应该由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的的分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。


    误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试
    这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划,对项目实施过程中的任何问题,都要有风险分析和相应的对策,不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为缩短测试时间带来的测试不完整,对项目质量的下降引起的潜在风险,往往造成更大的浪费。克服这种现象的最好办法是加强软件过程的计划和控制,包括软件测试计划、测试设计、测试执行、测试度量和测试控制。


    误区之六:软件测试是没有前途的工作,只有程序员才是软件高手
    由于我国软件整体开发能力比较低,软件过程很不规范,很多软件项目的开发都还停留在“作坊式”和“垒鸡窝”阶段。项目的成功往往靠个别全能程序员决定,他们负责总体设计和程序详细设计,认为软件开发就是编写代码,给人的印象往往是程序员是真正的牛人,具有很高的地位和待遇。因此,在这种环境下,软件测试很不受重视,软件测试人员的地位和待遇自然就很低了,甚至软件测试变得可有可无。随着市场对软件质量的不断提高,软件测试将变得越来越重要,相应的软件测试人员的地位和待遇将会逐渐提高。在微软等软件过程比较规范的大公司,软件测试人员的数量和待遇与程序员没有多大差别,优秀测试人员的待遇甚至比程序员还要高。软件测试将会成为一个具有很大发展前景的行业,软件测试大有前途,市场需要更多具有丰富测试技术和管理经验的测试人员,他们同样是软件专家。

  • 测试设计中需要考虑的22种测试类型

    2007-05-11 09:23:22

    测试设计中需要考虑的22种测试类型 
      1.  黑盒测试:不基于内部设计和代码的任何知识,而是基于需求和功能性。
     2. 白盒测试:基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。
     3. 单元测试:最微小规模的测试;以测试某个功能或代码块。典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。这个工作不容易作好,除非应用系统有一个设计很好的体系结构; 还可能需要开发测试驱动器模块或测试套具。
     4.累积综合测试:当一个新功能增加后,对应用系统所做的连续测试。它要求应用系统的不同形态的功能能够足够独立以可以在全部系统完成前能分别工作,或当需要时那些测试驱动器已被开发出来; 这种测试可由程序员或测试员来做。
     5. 集成测试:一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。
     6. 功能测试:用于测试应用系统的功能需求的黑盒测试方法。这类测试应由测试员做,这并不意味着程序员在发布前不必检查他们的代码能否工作(自然他能用于测试的各个阶段)。
     7. 系统测试:基于系统整体需求说明书的黑盒类测试;应覆盖系统所有联合的部件。
     8. 端到端测试:类似于系统测试;测试级的“宏大”的端点;涉及整个应用系统环境在一个现实世界使用时的模拟情形的所有测试。例如与数据库对话,用网络通讯,或与外部硬件、应用系统或适当的系统对话。
     9. 健全测试:典型地是指一个初始化的测试工作,以决定一个新的软件版本测试是否足以执行下一步大的测试努力。例如,如果一个新版软件每5分钟与系统冲突,使系统陷于泥潭,说明该软件不够“健全”,目前不具备进一步测试的条件。
     10. 衰竭测试:软件或环境的修复或更正后的“再测试”。可能很难确定需要多少遍再次测试。尤其在接近开发周期结束时。自动测试工具对这类测试尤其有用。
     11. 接受测试:基于客户或最终用户的规格书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。
     12. 负载测试:测试一个应用在重负荷下的表现,例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。
     13. 强迫测试:在交替进行负荷和性能测试时常用的术语。也用于描述象在异乎寻常的重载下的系统功能测试之类的测试,如某个动作或输入大量的重复,大量数据的输入,对一个数据库系统大量的复杂查询等。
     14. 性能测试:在交替进行负荷和强迫测试时常用的术语。理想的“性能测试”(和其他类型的测试)应在需求文档或质量保证、测试计划中定义。
     15. 可用性测试:对“用户友好性”的测试。显然这是主观的,且将取决于目标最终用户或客户。用户面谈、调查、用户对话的录象和其他一些技术都可使用。程序员和测试员通常都不宜作可用性测试员。
     16. 安装/卸载测试:对软件的全部、部分或升级安装/卸载处理过程的测试。
     17. 恢复测试:测试一个系统从如下灾难中能否很好地恢复,如遇到系统崩溃、硬件损坏或其他灾难性问题。
     18. 安全测试:测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样。这可能需要复杂的测试技术。
     19. 兼容测试:测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。
     20. 比较测试:与竞争伙伴的产品的比较测试,如软件的弱点、优点或实力。
     21. Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
     22. Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成
  • 软件项目测试管理

    2007-05-11 09:17:49

    软件项目测试管理

        一、软件测试员自身素质培养

        1 首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程中不管遇到什么样的困难,我相信你一定能克服。

        2 善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。别人认为是对的,我却认为不是对的。

        3 打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。

        4 保持一个良好的心情,否则可能无法把测试作好。不要把生活中的不愉快的情绪带到工作中来。

        5 做测试时要细心,不是所有的bug都能很容易的找出,一定要细心才能找出这些bug

        6 灵活一些,聪明一点,多制造一些容易产生bug的例子。

        7 在有条件的情况下,多和客户沟通,他们身上有你所需要的。

        8 设身处地为客户着想,从他们的角度去测试系统。

        9 不要让程序员,以这种情况不可能发生这句话说服你,相反,你应该去说服他,告诉他在客户心里,并不是这样的。

        10 考虑问题要全面,结合客户的需求、业务的流程、和系统的构架,等多方面考虑问题。

        11 提出问题不要复杂化,这一点和前面的有点矛盾,如果你是一新手,暂时不要管这一点,因为最终将有你的小组成员讨论解决。

        12 追求完美,对于新测试员来说,努力的追求完美,这对你很好,尽管有些事无法做到,但你应该去尝试。

        13 幽默感,能和开发小组很好的沟通是关键,试着给你的开发小组找一个“BUG杀手,或对他们说我简直不敢相信,你写的程序居然到现在没有找到BUG”

        14 到此是不是对测试很有兴趣呢?不过我要告诉你,测试过程中有酸甜苦辣,其中的滋味只有你知道,也许你会感到枯燥,要学会放松自己,去溜冰或做你喜欢做的事,不过,别放弃,因为你的自信告诉过你你会是很优秀的测试员不是吗?

        二、浅谈软件测试之技巧

        
    软件测试虽然辛苦,但是掌握了一定的技巧之后将使你事半功倍。

        1 边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。

        2 非法测试,例如在输入数字的地方输入字母。

        3 跟踪测试,跟踪一条数据的流程,保证数据的正确性。

        4 在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG

        5 接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。

        6 代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。

        7 突发事件测试,服务器上可能发生意外情况的测试。

        8 外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时, 这个系统所受到的影响的情况。

        9 在程序员刚修复Bug之后的地方,再找一找,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。

        10 认真做好测试记录在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。

        11 文字测试,如果在系统中有用词不当的地方,我想这是不应该的。

        12 系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。有些程序在WIN2000下能运行,而到WIN98却不能运行。像一些很特别的用户去使用系统,你很有可能发现BUG

        13 用户的易用性测试,往往用户的需求是不断的变化的,而其中的一部份变化的原因,是有用户操作上不方便引起的。

        软件测试是软件开发中的重中之重,没有一点可以马虎的,在项目管理过程,强调的是每个过程的每一个环节都要进行测试,保证系统在每个阶段可以控制。因为软件测试中考虑的问题基本上是项目管理中考虑的问题。 工作中真的需要多总结,多剖析,对于毛病:有则改之、无则加冕

        软件开发是一件很辛苦的事,只有在工作中多总结,才能找到符合自己的方式方法,才能在工作中事半功倍。

     

  • 软 件 缺 陷 分 类 标 准

    2007-05-11 09:10:41

    软 件 缺 陷 分 类 标 准
    分类范畴 子项目 缺陷等级 备注
           
    系统缺陷 由于程序所引起的死机,非法退出 待定  (建议A类) 不能执行正常工作工那或重要功能,使系统崩溃
      程序死循环 待定  (建议A类) 或资源严重不足
      程序错误 待定  (建议A类)  
        待定  (建议A类)  
           
    数据缺陷 数据计算错误 待定  (建议B类) 严重地影响系统要求或基本功能地实现,且没有
      数据约束错误 待定  (建议B类) 办法更正(重新安装或重新启动软件不属更正
      数据输入、输出错误 待定  (建议B类) 办法)
        待定  (建议B类)  
           
    数据库缺陷 数据库发生死锁 待定  (建议B类)  
      数据库的表、缺省值未加完整性等约束条件 待定  (建议B类)  
      数据库连接错误 待定  (建议B类)  
      数据库中的表有过多的空字段 待定  (建议B类)  
           
    接口缺陷 数据通讯错误 待定  (建议B类)  
      程序接口错误 待定  (建议B类)  
      硬件接口、通讯错误 待定  (建议B类)  
        待定  (建议B类)  
           
    功能错误 程序功能无法实现 待定  (建议C类) 严重的影响系统要求或基本功能的实现,但存在
      程序功能实现错误 待定  (建议C类) 合理的更正办法(重新安装或重新启动软件不属
        待定  (建议C类) 于更正办法
           
    界面错误 操作界面错误 待定  (建议D类) 使操作者不方便或遇到麻烦,但不影响执行工作
      打印内容、格式错误 待定  (建议D类) 功能的实现
      删除操作未给出提示 待定  (建议D类)  
      长时操作未给出提示 待定  (建议D类)  
      界面不规范 待定  (建议D类)  
      界面错误详细清单见《界面缺陷分类》 待定  (建议D类)  
           
    建议类错误 功能建议 待定  (建议E类) 建议性的改进要求
      操作建议 待定  (建议E类)  
      校验建议 待定  (建议E类)  
      说明建议 待定  (建议E类)  
           
           
    说明:以上缺陷分类中的内容构成基本缺陷库,根据实际工作总结,将不断扩充、完善。如新增分类,或分类内容均需要经过技术总监与质量主管的认可,备注中的内容为缺陷等级分类说明。   
894/5<12345>
Open Toolbar