??xml version="1.0" encoding="utf-8" standalone="yes"?>国产色91在线,国产精品三级视频,欧美风情在线视频http://www.aygfsteel.com/liaojiyong/category/12628.htmlzh-cnThu, 03 Dec 2009 00:59:17 GMTThu, 03 Dec 2009 00:59:17 GMT60嘉旺 炚w pȝ http://www.aygfsteel.com/liaojiyong/archive/2009/12/02/304497.htmlliaojiyongliaojiyongWed, 02 Dec 2009 04:00:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2009/12/02/304497.htmlhttp://www.aygfsteel.com/liaojiyong/comments/304497.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2009/12/02/304497.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/304497.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/304497.html

http://www.aygfsteel.com/Files/liaojiyong/嘉旺炚wpȝ.rar

liaojiyong 2009-12-02 12:00 发表评论
]]>
深圳求职|?/title><link>http://www.aygfsteel.com/liaojiyong/archive/2007/05/24/119751.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Thu, 24 May 2007 08:22:00 GMT</pubDate><guid>http://www.aygfsteel.com/liaojiyong/archive/2007/05/24/119751.html</guid><wfw:comment>http://www.aygfsteel.com/liaojiyong/comments/119751.html</wfw:comment><comments>http://www.aygfsteel.com/liaojiyong/archive/2007/05/24/119751.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liaojiyong/comments/commentRss/119751.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liaojiyong/services/trackbacks/119751.html</trackback:ping><description><![CDATA[<a >http://www.51job.com/</a><br><a >http://www.zhaopin.com</a><br><a >http://www.szhr.com.cn/</a><br><a >http://www.job88.com/zh-cn/<br></a><a >http://www.cjol.com</a><br> <img src ="http://www.aygfsteel.com/liaojiyong/aggbug/119751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liaojiyong/" target="_blank">liaojiyong</a> 2007-05-24 16:22 <a href="http://www.aygfsteel.com/liaojiyong/archive/2007/05/24/119751.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>威金logo1_.exe专杀工具下蝲http://www.aygfsteel.com/liaojiyong/archive/2007/04/18/111597.htmlliaojiyongliaojiyongWed, 18 Apr 2007 05:57:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/04/18/111597.htmlhttp://www.aygfsteel.com/liaojiyong/comments/111597.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/04/18/111597.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/111597.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/111597.htmlhttp://www.aygfsteel.com/Files/liaojiyong/Vikingkiller.rar

liaojiyong 2007-04-18 13:57 发表评论
]]>
购物车设计开发(转)http://www.aygfsteel.com/liaojiyong/archive/2007/03/22/105502.htmlliaojiyongliaojiyongThu, 22 Mar 2007 03:16:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/03/22/105502.htmlhttp://www.aygfsteel.com/liaojiyong/comments/105502.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/03/22/105502.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/105502.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/105502.html W一章,购物车需求调研?span lang="EN-US">

 

只要是电子商务购物网站,购物车是必不可少的功能?span lang="EN-US">

设计一个功能强大、易用性好的购物Rl对是提高顾客购买兴和达成购买的一个重要因素?span lang="EN-US">

 

U观国内外的电子商务|站Q做得比较好Q在国内有卓( www .joyo.com Q?span lang="EN-US">,当当Q?span lang="EN-US">www.dangdang.comQ,
国外的则比较多,主要有亚马逊书店(www.amazon.comQ,GAPQ?span lang="EN-US">www.gap.comQ,
www.target.com Q?/font> www .buy.com {?span lang="EN-US">

 

q些|站对于购物车的设计各有特色Q但大致是分ZU购物RQ?/font> MiniCartQ迷你RQ?/font> ?span lang="EN-US">

ShoppingCartQ购物RQ?/font> ?span lang="EN-US">

  • MiniCart的分?span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">


MiniCart 是购物R的一个微~版Q一般是昄最后加入购物R的一个商品,当然也有昄多个的,但这要注意尺度,
一般显C最?/font>
3个已l很_Q再多到排版过长,影响览?span lang="EN-US">

?/font> MiniCart 面Q现在流行的安排是左ҎC推荐的相关产品Q右Ҏ MiniCart 。这是根据用户当前选购商品的一
U业务需求挖掘,来进一步推动销售。具体如?span lang="EN-US">1
?span lang="EN-US">

 


另外一U?/font>
MiniCart 则ؓ www .gap.com 独创Q笔者浏览过国内外各大电子商务品及|站Q暂时只是发?/span> GAP pȝ|站有这U设计?span lang="EN-US">

见下图?span lang="EN-US">


读者请注意我用U色圈住的地方,是它的
MiniCart Q当֮点击 [Add to cart ] Ӟpȝ在右上栏的 MiniCart
柔和地展开Q第一部分是顾客刚才加入购物R的商品,如果该商品存在相关促销zd或者是属于某个产品?br />Q购?/font>
A +B 节?span lang="EN-US">n%{)Q将在第二部分显C相关的推荐?span lang="EN-US">

整个动态效果做得非常舒服,很吸引顾客眼球。只是它的实现较复杂?br />

  • Shopping Cart的分?/font>
     

购物车( ShoppingCart Q的设计则大同小异,?/font> Amazon 的设计如下:


见图中红色圈圈?span lang="EN-US">

?/font> 1 】列功能区:攄该列商品加入购物车的旉、对每个商品的操作按钮?span lang="EN-US">

?/font> 2 】商品详l信息区Q包括品名U、库存、是否免q费及是否需要礼品包装等?span lang="EN-US">

?/font> 3 】h格区Q该商品折后h及节省了多少?span lang="EN-US">

?/font> 4 】数量区Q可以修改购买数量?span lang="EN-US">

?/font> 5 】M功能区:提供操作整个购物车区域(分ؓ Buy Now ?span lang="EN-US">Buy Later两个取悦Q?span lang="EN-US">

的操作按钮和l计信息?span lang="EN-US">

 

l过分析Q大致需要提供给用户操作的功能有Q?span lang="EN-US">

更新数量Q?span lang="EN-US">

删除 (1…n) Q?span lang="EN-US">

Save for later Q?span lang="EN-US">Joyo描述为收藏)Q?span lang="EN-US">1...nQ;

Move to cart Ud购物车(?span lang="EN-US">Save for later的商品)Q?span lang="EN-US">1?span lang="EN-US">nQ?span lang="EN-US">

 

而在pȝ内部我们q需要对购物车进行更多的处理Q比如对购物车的商品q行计费、计出

折后hQ统计数据,Ҏ促销zd的商品给֮以明昄提示Q?/font> Also buy {等?span lang="EN-US">

 

到这里,购物车的业务需求分析研I就q一D落了,下一章将会进行购物R的徏模设计?span lang="EN-US">

W二章:购物车业务徏模?/p>

 

W者在本文中将会采?/span> UML 对购物Rq行建模?/span>

对于我们的例子,涉及参与者( Actor Q是֮Q业务实体则?/span> MiniCart ?/span> Shopping Cart ?/span>

 

1 、术语解释?/span>

购物?/span> /ShoppingCart Q模拟现实的购物车,存放֮选购的商品?/span>

购物车元?/span> /ShoppingCartItem Q表C每个加入购物R的商品, 1 个购物R元素对应一个商品?/span>

q你?/span> /MiniCart Q购物R的微~版Q只昄最后(或者近几个Q加入购物R商品Q会附加一些促销的信息?/span>

 

 

2 、用例( Use Case Q?/span>

用例Q?/span> Use Case Q是֮对购物Rq行直接操作的事件?/span>

l过分析Q得出的用例如下图:

 

3 、业务实体?/span>

 

描述如下Q?/p>

1 Q?/span> ShoppingCart ?/span> ShoppingCartItem 是聚合关p,?/span> ShoppingCartItem 生命周期依赖?/span> ShoppingCart Q?/span>

2 Q?/span> MiniCart 和和 ShoppingCartItem 是组合关p,一?/span> MiniCart 可以呈现多个 ShoppingCartItem Q?/span>

ShoppingCartItem 生命周期?/span> MiniCart 没有直接关系Q?/span>

3 Q?/span> MiniCart ?/span> ShoppingCart 有依赖关p,如果q没有֮ؓ分配 ShoppingCart Q则 MiniCart 也ؓI?/span>

 

4 、时序图?/span>

描述֮和购物R之间的交互关p,q表q对象之间的旉序可以用时序图表达Q但限于幅Q?/p>

W者只对其中的【将商品加入购物车】进行设计?/p>

4.1 基本如下:

 

程描述如下Q?/p>

֮                                                     服务?/span>

1 Q查看商品;

2 Q将商品加入购物车;

                                                         3 Q购物R模块判断可以加入Q?/span>

                                                         4 Q将该商品加入购物RQ?/span>

                                                         5 Q调用其它接口对购物车进行处理(如计Ҏ口)Q?/span>

                                                         6 Q调?/span> MiniCart 接口l装q回数据Q?/span>

                                                         7 Q呈?/span> MiniCart 面Q?/span>

8 Q查?/span> MiniCart 面?/span>

 

4.2 扩展如下:

 

1 Q?/span> Add to cart Ӟ通过购买验证Q发现顾客等U不以购买当前商品Q则q回提示信息Q流E结束?/span>

2 Q另外还有其它的扩展,比如库存不{,׃很相|所以在本文׃d了?/span>

 

5 、其它?/span>

下图表达了一个顾客进入网站后选购商品——结帐的zdq程概述?/p>

其中?/span> Add to cart 的子程做了描述Q结帐流E不在本文描q范围?/span>

 

 

下一将q行实体和接口的具体设计Q请x?/p>

 

【{载请注明出处Q?/p>

W者现?/span> www .probiz.cn 任项目主,q行Z J2EE 电子商务套g的研发?

产品在线 demo 请垂阅: http://demo.probiz.cn

后台Q?a >http://demo.probiz.cn/StoreAdmin

W者对 J 2EE 相关技术及电子商务斚w有所研究Q欢q进行交?/span>

QQQ?6399476

MSN Q?/span> yanchaomin @hotmail.com



liaojiyong 2007-03-22 11:16 发表评论
]]>
使用SiteMesh化网布局(?http://www.aygfsteel.com/liaojiyong/archive/2007/03/22/105501.htmlliaojiyongliaojiyongThu, 22 Mar 2007 03:14:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2007/03/22/105501.htmlhttp://www.aygfsteel.com/liaojiyong/comments/105501.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2007/03/22/105501.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/105501.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/105501.html 在公叔R目用了 Appfuse Q其带有 SiteMesh 对于|页布局化让我感觉很好用Q本文旨在对?/span> Sitemesh 的基本原理和在项目中使用 Sitemesh 的实现流E、用技巧的介绍?/span>

1.   基本原理

SiteMesh 是以 Servlet 2.3API 为基。它包含一个引擎,用来解析输出的网|者网늉D,军_是否需要应用装饰器以及合ƈ合适的装饰器?/span>

       SiteMesh 与应用内Ҏ养I适用的内Ҏ式包?/span> Html ?/span> JSP ?/span> Servlet ?/span> XSL Q甚?/span> CGI ?/span>

 

2.   实现程

1Q?span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">  当ؓ Servlet 容器指定一?/span> Http SiteMesh 截取hQ用一?/span> Servlet Filter Q然后捕?/span> Html l果?/span>

2Q?span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">  然后q个 Html 被解析,q且M相关的内定w被提取到一?/span> Page 对象中?/span>

3Q?span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">  询问 DecoratorMapper 来确定那一个装饰器需要被应用?/span>

4Q?span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">  Servlet 向包含装饰器?/span> JSP 发送请求?/span>

5 Q装饰器生成带有?/span> page 对象中获得的内容?/span> Html 布局?/span>

大致程如下图:

 


         Sitemesh
q样的好处是Q所有具体业务页面的开发者无需考虑该页面将处在最l输出页面的那个位置。无需 include 一大堆面Q以后如果系l整体改版,那么只需要改写装饰器面及重新配|装饰规则即可完成,方便快捷Q可l护性极好?/span>

 

3.   在项目中使用 Sitemesh

1.         ?/span> sitemesh_[version].jar 包加?/span> WEB-INF\lib ?/span>

2.         ?/span> web.xml 中增?/span>

 

        < filter >  

              
< filter-name > sitemesh </ filter-name >  

              
< filter-class > com.opensymphony.module.sitemesh.filter.PageFilter </ filter-class >  

       
</ filter >  

       
< filter-mapping >  

              
< filter-name > sitemesh </ filter-name >  

              
< url-pattern > /* </ url-pattern >  

       
</ filter-mapping >  

 

       表示对系l中所?/span> url h均?/span> sitemesh Filter q行拦截?/span>

3.         ?/span> WEB-INF 下配|?/span> sitemesh.xml ?/span> decorator.xml 配置文g?/span>

Sitemesh.xml

 

< sitemesh >  

    
< property  name ="decorators-file"  value ="/WEB-INF/decorators.xml" />  

    
< excludes  file ="${decorators-file}" />  

    
< page-parsers >  

        
< parser  default ="true"  class ="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />  

        
< parser  content-type ="text/html"  

class
="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />  

        
< parser  content-type ="text/html;charset=ISO-8859-1"  

class
="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />  

    
</ page-parsers >  

    
< decorator-mappers >  

                  
<!--  for print  -->  

        
< mapper  class ="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper" >  

                            
< param  name ="decorator"  value ="printable"   />  

                            
< param  name ="parameter.name"  value ="printable"   />  

                            
< param  name ="parameter.value"  value ="true"   />  

        
</ mapper >  

        
< mapper  class ="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper" >  

            
< param  name ="config"  value ="${decorators-file}" />  

        
</ mapper >  

    
</ decorator-mappers >  

</ sitemesh >  

 

 

Decorator.xml

 

< decorators  defaultdir ="/decorators" >  

    
< excludes >  

        
< pattern > /demos/* </ pattern >  

        
< pattern > /resources/* </ pattern >  

        
< pattern > /test* </ pattern >  

        
< pattern > /FCKeditor/* </ pattern >  

    
</ excludes >  

         
<!--  decorator for print(has parameter: printable=true) -->  

    
< decorator  name ="printable"  page ="decPrintable.jsp" />  

         
< decorator  name ="login"  page ="decLogin.jsp" >  

                   
< pattern > *login* </ pattern >            <! —url 映射模式 -- >  

         
</ decorator >  

    
< decorator  name ="default"  page ="decDefault.jsp" >  

        
< pattern > /* </ pattern >                  <! — 缺省的装饰器?- >  

    
</ decorator >  

</ decorators >  

 

?/span> sitemesh.xml 中配|了两个 DecoratorMapper Q?/span> PrintableDecoratorMapper ?/span> ConfigDecoratorMapper ?/span>

PrintableDecoratorMapper 是供打印专用Q在 url 后加?/span> printable=true 即会使用 decorator.xml 中指定的 printable 装饰器来寚w面进行装饎ͼ一般来说打印页面是只需要打印本面的内容,其余的如头、脚、导航栏、左双单等是不需要打印的Q通过装饰器可以轻村֮现打印页面的qo?/span>

4.         创徏一个装饰器 JSP 面Q我所有装饰器面攑ֈ decorators 目录Qƈ且以 dec[ 功能 ].jsp 作ؓ命名方式Q如 decPrintable.jsp ?/span> decDefault.jsp ?/span>

下面是一个装饰器的代码:

 

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "
    
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
        
<%--  Include common set of tag library declarations  for  each layout  --%>
<% @ include file = " /common/taglibs.jsp " %>

< html xmlns = " http://www.w3.org/1999/xhtml "  xml:lang = " en " >
    
< head >
         < decorator:head />
    
</ head >
< body
< decorator:getProperty property = " body.id "  writeEntireProperty = " true " />
< decorator:getProperty property = " body.onload "  writeEntireProperty = " true " />
< decorator:getProperty property = " body.onunload "  writeEntireProperty = " true " />
>       
        
<% @ include file = " /common/header.jsp " %>
             < h1 >< decorator:getProperty property = " page.heading " /></ h1 >  
            
<% @ include file = " /common/messages.jsp "   %>
            
< decorator:body />
         < jsp:include page = " /common/footer.jsp " />
</ body >
</ html >

 

注意?/span> <decorator:?gt; 标签Q这些标{ְ被装饰的 page 面的相应内容作为属性传入?/span> Page 面的相兛_容将攑֜ decorator 标签所指定的位|?/span>

Title Q标?/span>

Head Q头部,一般是公共?/span> js ?/span> css ?/span> meta ?/span>

Body Q被装饰?/span> page 的主体内宏V?/span>

5 ?/span> Sitemesh 通过?/span> sitemesh.xml 中配|?/span> DecoratorMapper 配置映射器,通过?/span> decorator.xml 中配|装饰器文g及其匚w方式。当有页面需要输出到客户端时Q将Ҏq些配置选择相应的装饰器来进行装饎ͼ装饰结果返回给客户界面?/span>

 

4.   参考资?/span>

关于 Sitemesh ?/span> api 及详l用说明可以参看其官方|站

http://www.opensymphony.com/sitemesh



liaojiyong 2007-03-22 11:14 发表评论
]]>
noNamehttp://www.aygfsteel.com/liaojiyong/archive/2006/07/24/59830.htmlliaojiyongliaojiyongMon, 24 Jul 2006 07:52:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2006/07/24/59830.htmlhttp://www.aygfsteel.com/liaojiyong/comments/59830.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2006/07/24/59830.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/59830.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/59830.html1.My Focus

2.Online Docs

3.Chinese Community

4.English Community

5.Source DEMO

6.Tech BLOG

7.Linux Community


http://sourceforge.net/projects/speedframework


http://www.instantiations.com/codepro/index.html

AUTOMATED JAVA TESTING TOOLS

Defect Detection, Repair and Reporting

Automated JUnit Test Generation

JUnit Test Editor

Code Coverage Analysis

Static Code Analysis

Benefit by

  • Driving out quality problems earlier in the development process
  • Creating tight, maintainable systems
  • Enforcing quality measures across teams
  • Spending less time and money to develop high-performance Java systems


liaojiyong 2006-07-24 15:52 发表评论
]]>
什么是白盒试Q什么是黑盒试?(?http://www.aygfsteel.com/liaojiyong/archive/2006/07/18/58843.htmlliaojiyongliaojiyongTue, 18 Jul 2006 12:28:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2006/07/18/58843.htmlhttp://www.aygfsteel.com/liaojiyong/comments/58843.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2006/07/18/58843.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/58843.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/58843.html    black box testing focus on functional requirements,attempts to find following errors:
    1.incorrect or missing functions;
    2.interfaces errors;
    3.errors in data structures or extenal database access;
    4.performance errors;
    5.initialisation and termination errors

    white box testing test control structure of a procedural design can derive test cases to ensure:
    1.all independent paths are exercised at least once;
    2.all logic decisions are exercised both ture and false paths;
    3.all loops are executed at their boundaries and within operational bounds;
    4.all internal data structure are exercised to ensure validity;

白盒与黑盒测试什么区?

1、黑盒测?br />
  黑盒试也称功能试或数据驱动测试,它是在已知品所应具有的功能Q通过试来检每个功能是否都能正怋用,在测试时Q把E序看作一个不能打开的黑盆子Q在完全不考虑E序内部l构和内部特性的情况下,试者在E序接口q行试Q它只检查程序功能是否按照需求规D明书的规定正怋用,E序是否能适当地接收输入数锯而生正的输出信息Qƈ且保持外部信息(如数据库或文Ӟ的完整性。黑盒测试方法主要有{hcd分、边值分析、因—果图、错误推等Q主要用于Y件确认测试?“黑盒”法着gE序外部l构、不考虑内部逻辑l构、针对Y件界面和软g功能q行试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况用,才能以这U方法查出程序中所有的错误。实际上试情况有无I多个,Z不仅要测试所有合法的输入Q而且q要寚w些不合法但是可能的输入进行测试?br />

2、白盒测?br />
  白盒试也称l构试或逻辑驱动试Q它是知道品内部工作过E,可通过试来检品内部动作是否按照规D明书的规定正常进行,按照E序内部的结构测试程序,验程序中的每条通\是否都有能按预定要求正确工作Q而不֮的功能,白盒试的主要方法有逻辑驱动、基路测试等Q主要用于Y仉证?br />
  “白盒”法全面了解E序内部逻辑l构、对所有逻辑路径q行试。“白盒”法是穷举\径测试。在使用q一ҎӞ试者必L查程序的内部l构Q从查程序的逻辑着手,得出试数据。诏I程序的独立路径数是天文数字。但即每条路径都测试了仍然可能有错误。第一Q穷举\径测试决不能查出E序q反了设计规范,即程序本w是个错误的E序。第二,ID路径试不可能查出程序中因遗漏\径而出错。第三,ID路径试可能发现不了一些与数据相关的错误?br />
软g人员使用白盒试ҎQ主要想对程序模块进行如下的查:
?对程序模块的所有独立的执行路径臛_试一ơ;
?Ҏ有的逻辑判定Q取 ???与取 ???的两U情况都臛_试一ơ;
?在@环的边界和运行界限内执行循环体;
?试内部数据l构的有效性,{?
具体包含的逻辑覆盖有: ?语句覆盖 ?判定覆盖 ?条g覆盖 ?判定Q条件覆??条gl合覆盖 ?路径覆盖?br />
a白盒试技?(White Box Testing) Q?深入C码一U的试Q用这U技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部Q根据开发h员对代码和对E序的熟悉程度,Ҏ需要的部分q行在Y件编码阶D,开发h员根据自己对代码的理解和接触所q行的Y件测试叫做白盒测试。这一阶段试以Y件开发h员ؓ主,?JAVA q_使用 Xunit pd工具q行试Q?Xunit 试工具是类一U的试工具Ҏ一个类和该cȝҎq行试?

b黑盒试技术( Black Box Testing Q:黑盒试的内容主要有以下几个斚wQ但是主要还是功能部分。主要是覆盖全部的功能,可以l合兼容Q性能试{方面进行,Ҏ软g需求,设计文档Q模拟客户场景随pȝq行实际的测试,q种试技术是使用最多的试技术涵盖了试的方斚w面,可以考虑以下斚w

c正确?(Correctness) Q计结果,命名{方面?

d可用?(Usability) Q是否可以满Y件的需求说明?

e边界条g (Boundary Condition) Q输入部分的边界|是使用一般书中说的等L划分Q试试最大最和非法数据{等?

f性能 (Performance) Q?正常使用的时间内pȝ完成一个Q务需要的旉Q多人同时用的时候响应时间在可以接受范围内?J2EE 技术实现的pȝ在性能斚w更是需要照儡Q一般原则是 3 U以下接受, 3-5 U可以接受, 5 U以上就影响易用性了。如果在试q程中发现性能问题Q修复v来是非常艰难的,因ؓq常常意味着E序的算法不好,l构不好Q或者设计有问题。因此在产品开发的开始阶D,p考虑到Y件的性能问题

g压力试 (Stress) Q?多用h况可以考虑使用压力试工具Q徏议将压力和性能试l合hq行。如果有负蝲q的话q要在服务器端打开监测工具 , 查看服务?CPU 使用率,内存占用情况Q如果有必要可以模拟大量数据输入Q对盘的媄响等{信息。如果有必要的话必须q行性能优化 ( 软硬仉可以 ) 。这里的压力试针对的是某几功能?

h错误恢复 (Error Recovery) Q错误处理,面数据验证Q包括突焉断电Q输入脏数据{?

i安全性测?(Security) Q这个领域正在研I中Q防火墙、补丁包、杀毒Y件等的就不必说了Q不q可以考虑。破坏性测试时L看了一些资料后得知 , q里面设计到的知?\ 内容可以写本书了 , 不是一两句可以说清的,特别是一些商务网站,或者跟钱有养I或者和公司U密有关?web 更是需要这斚w的测试,在外国有一U专门干q一行的人叫安全NQ可以审总码,提出安全Q出现紧急事件时的处理办法等Q在国内没有听说哪里有专门搞安全技术测试的内容?

j 兼容?(Compatibility) Q不同浏览器Q不同应用程序版本在实现功能时的表现不同的上|方式,如果你测试的是一个公q站的话?img src ="http://www.aygfsteel.com/liaojiyong/aggbug/58843.html" width = "1" height = "1" />

liaojiyong 2006-07-18 20:28 发表评论
]]>
Web应用中重复提交的问题的三U解x?Q{Q?/title><link>http://www.aygfsteel.com/liaojiyong/archive/2006/06/29/55758.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Thu, 29 Jun 2006 07:12:00 GMT</pubDate><guid>http://www.aygfsteel.com/liaojiyong/archive/2006/06/29/55758.html</guid><wfw:comment>http://www.aygfsteel.com/liaojiyong/comments/55758.html</wfw:comment><comments>http://www.aygfsteel.com/liaojiyong/archive/2006/06/29/55758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liaojiyong/comments/commentRss/55758.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liaojiyong/services/trackbacks/55758.html</trackback:ping><description><![CDATA[ <div id="wmqeeuq" class="postbody">前两U是利用javascript,后面一U是在用Struts的情况下的参考实?<br /><br />1、javascript Q设|一个变量,只允许提交一ơ?br /><table style="WIDTH: 562px; HEIGHT: 461px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="562" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code><script language="javascript"> var checkSubmitFlg = false; function checkSubmit() { if (checkSubmitFlg == true) { return false; } checkSubmitFlg = true; return true; } document.ondblclick = function docondblclick() { window.event.returnValue = false; } document.onclick = function doconclick() { if (checkSubmitFlg) { window.event.returnValue = false; } } </script> <html:form action="myAction.do" method="post" onsubmit="return checkSubmit();"></ccid_code></pre></td></tr></tbody></table><br /><br /><center><ccid_nobr></ccid_nobr></center><br /><br />2、还是javascriptQ将提交按钮或者image|ؓdisable <br /><br /><center><ccid_nobr><table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code><html:form action="myAction.do" method="post" onsubmit="getElById('submitInput') .disabled = true; return true; "> <html:image styleId="submitInput" src="images/ok_b.gif" border="0" /> </html:form></ccid_code></pre></td></tr></tbody></table></ccid_nobr></center><br /><br />3、利用struts的同步o牌机?<br /><br />利用同步令牌QTokenQ机制来解决Web应用中重复提交的问题QStruts也给Z一个参考实现?<br /><br />基本原理Q?<br /><br />服务器端在处理到辄h之前Q会请求中包含的o牌g保存在当前用户会话中的o牌D行比较, <br /><br />看是否匹配。在处理完该h后,且在{复发送给客户端之前,会产生一个新的o牌,该o牌除传给 <br /><br />客户端以外,也会用户会话中保存的旧的o牌进行替换。这样如果用户回退到刚才的提交面q再?<br /><br />提交的话Q客L传过来的令牌和服务器端的o牌不一_从而有效地防止了重复提交的发生?<br /><br /><center><ccid_nobr><table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code>if (isTokenValid(request, true)) { // your code here return mapping.findForward("success"); } else { saveToken(request); return mapping.findForward ("submitagain"); }</ccid_code></pre></td></tr></tbody></table></ccid_nobr></center><br /><br />StrutsҎ用户会话ID和当前系l时间来生成一个唯一Q对于每个会话)令牌的,具体实现可以参考TokenProcessorcM的generateToken()Ҏ?<br /><br />1. //验证事务控制令牌,<?XML:NAMESPACE PREFIX = HTML /?><html:form>会自动根据session中标识生成一个隐含input代表令牌Q防止两ơ提?<br /><br />2. 在action中: <br /><br /><center><ccid_nobr><table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code>//<input type="hidden" name="org.apache.struts.taglib.html.TOKEN" // value="6aa35341f25184fd996c4c918255c3ae"> if (!isTokenValid(request)) errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.transaction.token")); resetToken(request); //删除session中的令牌</ccid_code></pre></td></tr></tbody></table></ccid_nobr></center><br /><br />3. action有这L一个方法生成o?<br /><br /><center><ccid_nobr><table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code>protected String generateToken (HttpServletRequest request) { HttpSession session = request.getSession(); try { byte id[] = session.getId().getBytes(); byte now[] = new Long(System.currentTimeMillis()). toString().getBytes(); MessageDigest md = MessageDigest.getInstance("MD5"); md.update(id); md.update(now); return (toHex(md.digest())); } catch (IllegalStateException e) { return (null); } catch (NoSuchAlgorithmException e) { return (null); } }</ccid_code></pre></td></tr></tbody></table></ccid_nobr></center></html:form></div> <style><![CDATA[ td { font-size: 12px } .commentTextBox { font-family : Verdana; font-size: 13px; } ]]></style> <!--Beging Temp Save--> <style><![CDATA[userData { BEHAVIOR: url(#default#userdata) } ]]></style> <img src ="http://www.aygfsteel.com/liaojiyong/aggbug/55758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liaojiyong/" target="_blank">liaojiyong</a> 2006-06-29 15:12 <a href="http://www.aygfsteel.com/liaojiyong/archive/2006/06/29/55758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2EE Web技术学习(转)http://www.aygfsteel.com/liaojiyong/archive/2006/06/29/55753.htmlliaojiyongliaojiyongThu, 29 Jun 2006 07:00:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2006/06/29/55753.htmlhttp://www.aygfsteel.com/liaojiyong/comments/55753.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2006/06/29/55753.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/55753.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/55753.html JSF与Struts的区?/a>

Struts应用pȝ案例设计~程讲解

Z容器的用户安全管理系l和JMS 使用ZJ2EE容器的安全验证体p,可以降低~程代码量,完全实现用户权限的配|管理,为J2EE应用pȝ带来用户体系设计的可伸羃性。JMS又是J2EE一个非常具有׾~性的解决Ҏ?/p>

Java性能相关设计Q内?0文?/strong> QJsp被~译成Serlvet,Servlet实际是U程Q如果需要深L握Web技术,实际是需要理解线E等低层机制?/p>

JBoss及J2EE的?/strong>

开发基于Eclipse+Jboss+Mysql的J2EE应用pȝ

初学者如何开发出一个高质量的J2EEpȝ

Java/J2EE中文问题l极解决之道

Z么要使用EJB? 

关于对J2EE几点误解和错误认识的澄清

JBoss 3.0的安?/a>

在JBoss中开发部|一个的单EJB

在JBoss中开发部|一个简单Web应用

J2EE的几个部|文件介l?/a>

实体Bean的BMP和CMP选择

用JBuilder Ent 7开发一个简单J2EE 应用

Jive源码分析

Jive源码分析:Tree树Ş数据l构

JdonJive论坛pȝ完整分析

Jive其它资料

Jsp/Javabean使用?/b>

Jsp中的Application使用

Jsp中的session使用

Jsp中数据bean的直接赋?/a>

Jsp/bean Mysql数据?新增 修改 删除的通用Ҏ

Jsp/bean 随机整数 点?字符串的产生

XML技术篇

Castor在XML数据l定技术中的应?/a>

Jspl合XML XSLT输出昄

Jive中Jdom使用剖析

XML配置文g的读取处?/a>

Web Services是什?/a>

服务器端囑Ş处理?/b>

动态图文结?/a>

上传囄的羃攑֤?/a>

理论?/b>

以开源精看Php和Jsp/Java

从脚本语a到Java

基础技术篇

WEB开发中常用Jsp/Bean相关(初)技术ȝ

构造Jsp/javabean开发和发布环境的简单办?/a>

Tomcat中Java/jsp中文问题完全解决Ҏ

三步安装Tomcat 4.0.1+JDK1.4+linux+Mysql

三步安装Tomcat 4.0.1+JDK1.4+Win2000+Mysql

Tomcat 4.0+apache 1.3完美整合

其他

Qmail+Vpopmail+Mysql安装心得

解惑房之学习CGI



liaojiyong 2006-06-29 15:00 发表评论
]]>
W一天申请BLOGhttp://www.aygfsteel.com/liaojiyong/archive/2006/05/19/47068.htmlliaojiyongliaojiyongFri, 19 May 2006 07:31:00 GMThttp://www.aygfsteel.com/liaojiyong/archive/2006/05/19/47068.htmlhttp://www.aygfsteel.com/liaojiyong/comments/47068.htmlhttp://www.aygfsteel.com/liaojiyong/archive/2006/05/19/47068.html#Feedback0http://www.aygfsteel.com/liaojiyong/comments/commentRss/47068.htmlhttp://www.aygfsteel.com/liaojiyong/services/trackbacks/47068.html20060211268943.gif
2006q??9?5:29:47

liaojiyong 2006-05-19 15:31 发表评论
]]>
վ֩ģ壺 | | ʡ| | ײ| | | | ɽ| | | ߰| | | ˮ| ¯| ɽ| | «Ϫ| | | ƽ| Ԫ| Ϳ| ̩| | | ľ| | ٳ| | ǹ| ګ| | | ϲ| | ɽ| | Т| |