与您一起分享在测试过程中的快乐与辛酸...

发布新日志

  • 微软的软件测试策略

    2009-02-04 15:11:06

    看了51testin论坛上 软件质量管理 精华板块中《微软的软件测试方法》一文,深有感触!原文链接地址:http://bbs.51testing.com/thread-39630-1-1.html

    以下是自己整理的测试策略,微软作为全球软件行业的大哥,在管理上自有一套,很多都值得我们学习!

    策略1:
    总体上说分为三个步骤进行三大步骤:审核需求和设计—>设计测试—>实施运行测试
    1.验证需求和设计:(1)由项目经理根据用户要求(信息来源于市场部门、用户支持部门等等)而编写的需求文
    本;(2)由项目经理根据需求文本而编写的功能设计文本;(3)由开发人员根据功能文本而编写的实施设计文本。测试人员要参与所有这些文本的审核。作为测试人员,审核重点是检查文本对用户需求定义的完整性、严密性和功能设计的可测性。同时这种审核对于测试人员也是一种热身活动,使他们尽早地进入技术和业务状态。
    2.测试人员要根据已审核通过的需求和设计编制测试计划,设计测试用例。。“测试计划” 主要阐述测试的范
    畴、领域、方法、工具、资源和计划时间表等等。“测试用例设计”要列出测试用例、每个用例的设置、执行步骤和预期结果。测试的这两个文档也要被项目经理和开发人员审核。这样经过各种相互的审核,大家对项目形成了基本的共识。
    3.实施运行测试是整个开发过程中最长最复杂的一个阶段。从测试的过程来看,总是先运行或执行简单用例,然
    后再复杂用例;先验证单一的基本功能,再综合的端到端的功能;先发现解决表面的,影响面大的Bug,再深层的,不容易重现的Bug。因此随着项目开发和测试的进程,产品的功能不断完善,质量不断提高。这一阶段测试人员还有一项繁琐但却很重要的工作,就是对已有的测试用例的维护。比如通常以下两种情况下要新增一些测试用例,一是对于当初测试设计不周全的领域,二是对于外部的Bug(比如从Beta客户报告来的),没有被现有测试用例所覆盖。当产品的功能设计出现更改时(在微软这是常事),所涉及的测试用例当然也要相应地修改。

    策略2:
    微软的测试是阶段性的,常常根据需要而带有随机性和突击性。对于这类测试,在微软有一个专门的名称
    :“BugBash(Bug大扫除)”。BugBash通常发生在项目开发各阶段(微软叫里程碑)的末期,比如Beta版发布前,划出一个专门的时间段(通常1-3天),在这期间所有参与项目的人员,集中全部精力,运用各方面的知识,尽全部智慧来搜寻项目的Bug。这是一个非常有意思的活动,但要组织好这样的活动并非易事。一般有以下要点:(1)尽管这是一个测试活动,但参与者并不仅限于测试人员。项目经理,开发人员甚至于高层管理人员都应参加,如同全民动员。目的是要集思广益;(2)要鼓励各部门,领域交叉搜索,因为新的思路和视角通常有助于发现更多的Bug;(3)为调动积极性,增强趣味性,可以适当引入竞争机制,比如当活动结束时,评出发现Bug最多,发现最严重Bug的个人,给以物质和精神奖励。(4)可以分专题展开,比如安全性、用户界面可用性、国际化和本地化等等。
        微软的第二类测试除了Bug Bash外,经常还有一些专业性的测试,最典型的是针对安全性攻击测试。一般会
    邀请公司内部,或业界的专家来搜寻产品的安全漏洞。

  • [转]使用LoadRunner测试TUXEDO (学习LR的好教程)

    2008-09-02 17:11:46

        LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。它通过模拟数据以千万计用户来实施并发负载来对整个企业架构进行测试,来帮助您更快的查找和发现问题。 
    关于LoadRunner 更全面的描述及使用,请参考《LoadRunner 使用手册》或Mercury Interactive 公司提供的联机帮忙文档。本文旨在帮助工程师们掌握使用LoadRunner ? 来测试BEA中间件产品的方法。 

        一、如何使用LoadRunner来测试BEA TUXEDO 

        1. LoadRunner的虚拟用户 

        LoadRunner使用虚拟用户(Virtual users)来模拟实际用户对业务系统施加压力。虚拟用户在一个中央控制器(controller station)的监视下工作。如下图所示。 



        在做一个测试方案时,要做的第一件事就是创建虚拟用户执行脚本。LoadRunner提供了Virtual User Generator来录制或编辑虚拟用户脚本。 

        2. 使用Vugen创建虚拟用户执行脚本 

        A.从菜单中选择运行Virtual User Generator: 



        B.创建一个单协议脚本,选择协议类型为"Tuxedo 7" 



        C.选择工具条中的"  "来录制一个脚本,在弹出的窗口中输入Tuxedo客户机程序的可执行文件名(SimpApp.exe),并选择"Record into Action"为Action。如下图所示: 



        点击"OK"开始录制脚本,这时Vugen就会启动Simpapp.exe,如下图所示,输入WSNADDR,输入字符串(Tuxedo is powerful!)之后,点击TOUPPER,TUXEDO服务器完成请求后把输出字符串(TUXEDO IS POWERFUL!)写到"Output string"中,点击停止录制按钮。



        D.编辑Vuser脚本。我们在C中做的所有操作都被录了下来,记录到一个脚本文件中,其内容如下,我们把它存为simpapp。 



        脚本内容如下: 

    /* This file is generated by LoadRunner. You may edit it carefully! */ 
    #include "lrt.h" 
    #include "replay.vdf" 
    Actions() 

    lrt_tuxputenv("WSNADDR=//172.22.32.25:7110"); 

    lr_think_time(3); 
    tpresult_int = lrt_tpinitialize(LRT_END_OF_PARMS); 
    lrt_abort_on_error(); 
    data_0 = lrt_tpalloc("STRING", "", 1); 

    /* Request STRING buffer 1 */ 
    lrt_strcpy(data_0, sbuf_1); 
    data_1 = lrt_tpalloc("STRING", "", 1); 
    tpresult_int = lrt_tpcall("TOUPPER", 
    data_0, 
    0, 
    &data_1, 
    &olen, 
    0); 
    /* Reply STRING buffer 1 */ 
    lrt_abort_on_error(); 

    lrt_tpfree(data_0); 
    lrt_tpfree(data_1); 
    lrt_tpterm(); 

    return 0; 


     

        代码中加粗的函数是LoadRunner对TUXEDO函的二次包装。 
        E.点击工具栏中的"  "按钮来执行我们刚才录制的脚本,确保执行无误。 


        3. 使用控制器(Controller)来调度虚拟用户 


        A.从菜单中选择运行Controller: 





        B.创建一个新的Scenario,选择刚才录制的脚本(simpapp): 





        点击"OK",弹出Scenario调度界面,如下图所示。在"Quantity"中输入100,表示使用100个虚拟用户。(虚拟用户与购买的LICENSE有关联)  





        C.点击"Edit Schedule"来编辑压力调度。 






        D.选择"Runtime settings"来作运行时设置 





        在Pacing的设置中,"Number of Iterations"用于设置Vusers的Actions被执行的次数;"Start new iteration"用于设置调度器在什么时机迭代执行Vusers的Actions。 




        "Think Time"用于设置Vusers的反应和思考时间,以尽量做到和正常人一样来施压。"Ignore think time"表示忽略思考时间,这是理想状态,一般不使用。"As recorded"表示按照录制时的实际操作时间。"Multiply recorded think time by"表示Vusers的思考时间是实际录制时间的若干倍。 




        在"Miscellaneous"中设置一些杂项,如使用进程还是使用线程等。对于TUXEDO,好象只能选进程模式。 

        E.选择"Start scenario"来开始本次压力测试调度。 





        执行结果分析如下: 




        施压时间为5分41秒,Vusers数量为100,一共完成的Actions交易数量为5625笔,平均响应时间为5.561秒,TPS为17.8 

        二、如何使用LoadRunner来测试BEA Weblogic Server 

        在本例中,我们将创建一个WebApp(toupper.war),用于调用TUXEDO的TOUPPER服务。为了达到这个目的,需要在Weblogic Server上创建一个WTC服务器,导入TOUPPER服务,同时在Weblogic Server部分一个EJB(toupper.jar),用于封装TOUPPER服务。在TUXEDO一端,需要配置TDOMAIN网关。 

        部署toupper.war和toupper.jar,测试toupper.war,得如下界面: 




        点击"TOUPPER",得如下界面: 




        这表明WTC、Webapp和EJB都工作正常。 

        1. 录制Weblogic Server测试脚本 

        A.在Virtual User Generator中选择创建一个新脚本,选择Single Protocol scrīpt,选择Web(HTTP/HTML),点击OK。 





        点击"  "开始录脚本,在URL中输入http://jq:7001/toupper/jsp1.jsp,点击OK。 


        执行一次TOUPPER操作,停止录制。得如下脚本: 





        执行一次TOUPPER操作,停止录制。得如下脚本: 





        点击" ",作一次运行测试,确保脚本执行无误。 

        2. 使用控制器(Controller)来调度虚拟用户 

        使用与TUXEDO一样的调度策略,创建100个虚拟用户,以线程的方式来给 





        http://jq:7001/toupper/jsp1.jsp链接加压,一共处理了5429笔交易,TPS为17.8。平均每秒点击次数为29.34次,测试报表如下: 

     
  • [转]一个29岁总裁对大学生的16条忠告

    2008-07-25 18:39:30

    一、读大学,究竟读什么?   

    大学生和非大学生最主要的区别绝对不在于是否掌握了一门专业技能……一个经过独立思考而坚持错误观点的人比一个不假思索而接受正确观点的人更值得肯定……草木可以在校园年复一年地生长,而我们却注定要很快被另外一群人替代……尽管每次网到鱼的不过是一个网眼,但要想捕到鱼,就必须要编织一张网……

     二、人生规划:三岔路口的抉择 

    不走弯路就是捷径…… 仕途,商界,学术。在这人生的三岔路口,你将何去何从……与其跟一百个人去竞争五个职位,不如跟一个人去竞争一个职位……学术精神天然的应当与尘嚣和喧哗保持足够的距离……商场不忌讳任何神话。你也完全可能成为下一个传奇……

    三、专业无冷热,学校无高低   

    没有哪个用人单位会认为你代表了你的学校或者你的专业……既然是概率,就存在不止一种可能性……如果是选择学术,冷门专业比热门专业更容易获得成就……跨专业几乎早已成为一种流行一种时尚……大学之间的实力之争到了考研考场和人才市场原来是那样的微不足道……

     四、不可一业不专,不可只专一业 

    千招会,不如一招熟…… 十个百分之十并不是百分之百,而是零……在这个现实的社会,真正实现个人价值才是最体面最有面子最有尊严的事情……要想知道需要学什么,最好的方式就是留意招聘信息……很多专业因为不具备专长的有效性,所以成为了屠龙之术……为什么不将“买一送一”的促销思维运用到求职应聘的过程中来呢……

    五、不逃课的学生不是好学生 

    什么课都不逃,跟什么课都逃掉没什么两样……读大学,关键是学会思考问题的方法……逃课没有错,但是不要逃错课……英语角绝对不是学英语的地方……为了英语丢了专业,那就舍本逐末了……招聘单位是用人才的地方,而不是培养人才的地方……既要逃课,又要让老师给高分……

    六、勤工俭学的辩证法 

    对于贫困生来说,首先要做的不是挣钱,而是省钱……大部分女生将电脑当成了影碟机,大部分男生将电脑当成了游戏机……在这个处女膜都可以随意伪造的年代,还有什么值得轻易相信……态度决定一切……当学习下降到次要的地位,大学生就只能说是兼职的学生了……

    七、做事不如做人,人脉决定成败 

    学问好不如做事好,做事好不如做人好……会说话,就能减少奋斗三十年……一个人有多少钱并不是指他拥有多少钱的所有权,而是指他拥有多少钱的使用权……一个人赚的钱,12.5%是靠自身的知识,87.5%则来自人脉关系……三十岁以前靠专业赚钱,三十岁以后拿人脉赚钱……你和世界上的任何一个人之间只隔着四个人……

    八、互联网:倚天剑与达摩克利斯之剑 

    花两个小时就写出一篇天衣无缝的优秀毕业论文……在互联网领域创业的技术门槛并不高,关键的是市场眼光和营销能力……轻舞飞扬已经红颜薄命了,而痞子蔡却继续跟别的女孩发生着一次又一次的亲密接触……很多大学生的网友遍布祖国大江南北,可他们却从未主动向周围的人说一声:你好,我们可以聊聊吗……

    九、考研:痛苦的安乐死 

    没有比浪费青春更失败的事情了……研究生扩招的速度是30%,也就意味着硕士学历贬值的速度是30%……同样是付出三年的努力,你可以让E1的值增加1,也可以让E2的值增加2甚至增加3……读完硕士或博士并不等于工作能力更强……面对13.54万的成本,你还会毫不犹豫地投资读研究生吗……努力就会有结果,但不一定是好结果……  

    十、留学:“海龟”变“海带” 

    月薪2500元的工作,居然引得三个“海归”硕士争相竞聘……对于某些专业而言,去美国留学和去埃塞俄比亚留学没什么两样……既然全世界的公司都想到中国的市场上来瓜分蛋糕,为什么中国人还要一门心思到国外去留学然后给外国人打工……

    十一、非统招:养卑照样处优 

    她在中国信息产业界创下了几项纪录。她被称为中国的“打工皇后”。而她不过是一名自考大专生……要想把曾经输掉的东西赢回来,就必须把自己比别人少付出的努力补上来……非统招生不但要有一定的实力,而且必须掌握一定的技巧,做到扬长避短出奇制胜……路在脚下。好走,走好……

    十二、毕业:十面埋伏的陷阱 

    母校不把自己当母亲,你又何必把自己当儿女……听辅导班不过是花钱买踏实……人才市场就是一个地雷阵……通过多种方式求职固然没有错,但是千万不要饥不择食……只要用人单位一说要你交钱,你掉头就走便是了……这年头立字尚且不足以为据,更何况一个口头约定……

    十三、求职:做人不要太厚道 

    求职简历必须突出自己的核心竞争力……求职的时候大可不必像严守一那样“有一说一”……一个人说假话并不难,难的是把假话说到底,并且不露一丝破绽……在填写自己的特长时,一定要尽可能详细……一份求职简历只要用一张A4纸做个表格就足够了……面试其实是有规律的,每次面试的时候只要背标准答案就行了……

    十四、骑一头能找千里马的驴 

     美国铁路两条铁轨之间的标准距离是4英尺8.5英寸,为什么呢?因为两匹马臀部之间的宽度是4英尺8.5英寸……垃圾是放错位置的人才……世界上最大的悲剧莫过于有太多的年轻人从来没有发现自己真正想做什么……中小型企业或许能够让你得到更充分的锻炼……从基层做起并不意味着可以从基层的每一个职位做起……要“钱途”,更要前途……

    十五、写字楼政治:白领必修课 

    大公司是做人,小公司是做事……职员能否得到提升,很大程度不在于是否努力,而在于老板对你的赏识程度……公司的事情和秘密永远比你想象的还要复杂和深奥……在适当的时候装糊涂不但是必要的,而且是睿智的……就把你的同事当成一群你可以叫得出名字的陌生人好了……

    十六、创业:29岁以前做富翁 

     瘦死的骆驼比马大……撑死胆大的,饿死胆小的……不再是“大鱼吃小鱼”,而是“快鱼吃慢鱼”……对于趋势的把握是一个创业者最重要的能力……高科技行业留给毕业生的空间已经很小……欲速则不达。在创业以前通过给别人打工而积累经验是非常必要的……市场永远比产品更重要……钱不够花,怎么办?第一,看菜吃饭;第二,借鸡生蛋……    

Open Toolbar