热爱测试生活

发布新日志

  • 性能测试指标

    kellyxie 发布于 2007-12-12 15:38:08

    测试所需指标:
    1、 获取各WEB服务的性能指标,包括 WEB SERVER的性能(包括线程数(为了给执行队列决定一个理想的线程数,当队列中所有应用程序都运行在最大负荷的情况下,监视队列的吞吐量。增加线程数, 重复负载测试,直到达到最佳的吞吐量。(在某些情况下,增加线程数将产生足够多的上下文转换程序,使得队列中的吞吐量开始减少。))、最大并发数、最优并 发数、TPS);
    --最佳线程数(调整并满足既定的配置数,详见2.2硬件环境描述)
    --最佳吞吐量 for server (tomcat/sip/oracle)
    --响应时间 for case(OSAP/PXYWEB/xxxCOMP/WEB SERVICES)
    --最大同时并发用户数 for osap
    --最佳同时并发用户数 for osap
    --最佳用户数下的TPS for case(OSAP/PXYWEB/xxxCOMP/WEB SERVICES)
    2、 能力组件性能
    --最大并发用户数下的CPS for case(xxxCOMP)
    --最佳线程数(调整并满足既定的配置数,详见2.2硬件环境描述)
    --最佳吞吐量 for server (tomcat)
    --响应时间 for case(xxxCOMP)
    --最大同时并发用户数 for case(xxxCOMP)
    --最佳同时并发用户数 for case(xxxCOMP)
    3、 应用服务(SIPSVR)的性能指标:
    ---最佳线程数
    ---最佳吞吐量 for case5
    ---CPS for case2/case5
    4、 后置指标:
    ---各服务器的CPU占用百分比(基准测试/容量规划测试/渗入测试)
    ---各服务器的Memory平均占用比例 (基准测试/容量规划测试/渗入测试)
    (例如,如果想知道增加JVM内存是否会影响应用程序的性能,就逐次递增JVM内存(例如,从1024 MB增至1224 MB,然后是1524 MB,最后是2024 MB),在每个阶段收集结果和环境数据,记录信息,然后到下一阶段。)

    容量规划
    前提(测试结果有效的先决条件):
    1、 web/sip/oracle/第三方后台服务器配置满足建设方案标准配置或以上;

    2、 系统正常工作时,用户访问系统的基本性能需求如下:
    1) 软终端用户登录时间<= 3秒
    2) WEB终端用户页面初始化操作<= 3秒
    3) WEB接入的系统响应时间:在带宽足够的情况下,用户点击访问页面时间不超过3秒,请求提交响应时间最大不超过5秒;
    4) 系统一般性操作最长时间<= 2秒
    5) 用户操作界面友好,交互性强,在出现错误时,应能显示错误提示信息,并且错误信息能够被用户取消,并恢复界面正常显示。

    3、 根据项目一期设计,系统建设要求满足3万用户需求,业务话务模型如下:
    1) 点击拨号
    按最大CAPS为60计算,普通用户的通话时长为60秒,媒体服务器为主叫放音时长为30秒。
    2) 网络传真
    按最大CAPS为3计算,每个呼叫时长为120秒,媒体服务器话音提示时长为15秒。
    3) Web会议
    按最大CAPS为0.2计算,每次会议保持时长为120秒,会议方数为5方,40%用户存在数据协同会议需求。
    4) 短信
    短信按每秒100条计算。
    5) 电话总机
    按最大CAPS为0.5计算,每个呼叫时长为90秒。

    4、 九的个数和时间之间的对应关系。
    可接受的运行时间百分比 每天的停机时间 每月的停机时间 每年的停机时间
    95 72.00 分钟 36 小时 18.26 天
    99 14.40 分钟 7 小时 3.65 天
    99.9 86.40 秒钟 43 分钟 8.77 小时
    99.99 8.64 秒钟 4 分钟 52.60 分钟
    99.999 0.86 秒钟 26 秒钟 5.26 分钟

    5、业务比例选取:
     “xx”平台用户主要针对中小企业用户,按照约有3万企业用户,xx商业客户分类如下:
    客户类型 客户员工规模 客户数量 比率
    1-2线客户 约3-10人 135万 86%
    3-10线客户 约10-100人 19.5万 12%
    10线以上客户 约20-500人 2.2万 2%
     按以上比例,3万用户中,2.58万为1-2线用户,3600为3-10线用户,600为10线以上用户。

    6、在线使用概况
    峰值乘数用于计算与平均负载有关的系统的最大容量。 如果每秒钟的平均请求数量是 50 ,如果您的峰值乘数是 3 的话那么预期峰值将会是每秒钟 150 次请求。 为了对实施进行容量规划,您应当为系统的峰值容量做规划。
    描述 值
    会话的平均时间 7 分钟(420 秒)
    峰值乘数 3x 平均值
    每个用户每次访问的请求数 10

    7、事务比例选取
    对于行业应用,测试数据的准备中最重要的就是事务的选取,以上从业务比例中抽取每个客户类型的事务比例:
    比例的分布:
    操作 分布权重 发送比例 标准化 每个操作的请求数 每个会话的请求数 
    定购(ws)/请求使用 0.10  10*0.1=1 2 1 Ws:canuse
    登录 0.10  10*0.1=1 1 2 Login->logout
    发送传真 0.20  10*0.2=2 1 3 Osap->pxy->comp->sip
    已发/接收传真 0.03  10*0.03=0.3 2 2 Osap->pxy->comp->
    发送短信 0.20  10*0.2=2 1 3 Osap->pxy->comp->
    已发/接收短信 0.05  10*0.05=0.5 2 2 Osap->pxy->comp->
    点击拨号 0.20  10*0.2=2 1 3 Osap->pxy->comp->ctd
    发起会议 0.09  10*0.09=0.9 1 3 Osap->pxy->comp->ipunity
    定制语音流程 0.03  10*0.03=0.3 1 3 Osap->pxy->comp->->sip
    总计 1  10   

    其中 分布权重 一栏给出某类操作占总请求数的百分比。
    其中 标准化 一栏表示分布权重乘以前表给出的每用户每次访问请求数得到的结果。 注意这一栏合计达10。
    其中 每个操作的请求数 一栏给出了执行某一操作所用的用户请求数量。 由于回帖或服务器重定向等原因,有些操作会产生多个请求。
    其中 每个会话的请求数 一栏给出了用户在每次会话中发起的对某一操作的请求数量。

    8、测试强度估算:
    测试强度估算时采用如下假设前提:
    *全年的业务量集中在10个月完成,每个月20个工作日,每个工作日8个小时;
    *采用80—20原理,每个工作日中80%的业务在20%的时间内完成,即每天80%的业务在1.6小时内完成;
    测试压力的估算结果:
    按照3万用户每用户每次访问的10请求数,每7分钟一次会话计算,可处理业务约30万笔,每小时处理超过100次请求。其中,假设早上9点及下午15点为高峰期,按照2个小时段的业务处理量估计如下:
    10%的业务处理每笔订购业务需对应用服务器提交1(标准化)*10=10次请求;
    10%的业务处理每笔登录业务需对应用服务器提交1(标准化)*10=10次请求;
    20%的业务处理每笔传真业务需对应用服务器提交2(标准化)*10=20次请求;
    20%的业务处理每笔短信业务需对应用服务器提交2(标准化)*10=20次请求;
    20%的业务处理每笔呼叫业务需对应用服务器提交2(标准化)*10=20次请求;
    9%的业务处理每笔呼叫业务需对应用服务器提交9(标准化)*10=9次请求;
    其余11%的业务每笔业务向应用服务器提交1.1(标准化)*10=11次请求。

    根据以往统计结果,每年的业务增量为15%,考虑到今后三年业务发展的需要,测试需按现有业务量的2倍进行。
    每年总的请求数量为: (30*10%*10*2+30*10%*10*2+30*20%*20*2+30*20%*20*2+30*20%*20*2+30*9%*9*2+30*11% *11*2)*2=60+60+240+240+240+48.6+72.6=961.2万次/年。
    每天的请求数量为:961.2/200=4.806万次/天。
    每秒的请求数量为:(48060*80%)/(8*20%*3600)=38448/5760=6.675次/秒。
    正常情况下,应用服务器处理请求的能力至少应达到:6.675次/秒。
    某种程度上,可认为请求数量约等于交易数量:
    如果再考虑未来几年的交易量的增加(每年增长15%),则可以归纳为:
    第一年(万) 第二年(万) 第三年(万) 第四年(万) 合计(万)
    30 34.5 39.675 45.627 149.802

  • 一个成功测试人的解读测试这路

    kellyxie 发布于 2008-12-10 00:30:18

    (转载)

    我也来谈一谈吧,尽量详细一些。
    因为以前是搞开发的,所以一起都谈谈,毕竟是有因果关系的。
    毕业第一年,半年试用期工资1100。半年转正工资1700。
    毕业一年跳槽到国内一家大型公司,工资增幅比较大,达到了年薪10万。
    说明一下,这次机会还是很靠能力。当时跟我一起进去的只有我一个本科生,基本都是北大,中科院的研究生,博士,面试了很多轮。
    工作半年之后,感觉发展已经到头了,应该提升一些自己了。辞职开始学习,准备申请研究生。
    研究生3年毕业,又开始工作。
    以前都是开发,这次本来的工作也是开发,年薪××万,跟3年前一样。可是鬼使神差让我做了测试的工作。
    试用期3个月中,老板说准备让我做team lead.转正后开始做team lead.半年后,派到美国带项目回来,开始负责一个单独项目的测试。工资涨到了×××××月薪。
    工作一年后涨到××万年薪。工作一年半,涨到××××万年薪。
    工作20个月后,找到国外的一份工作,年薪45万,不过不是team lead,只是普通测试员。在那里工作1.5个月,跳槽到一家世界很大规模的公司,也是在国外,工资8万多美金。
    基本上,做测试不到两年的时间,从年薪10万人民币到8万多美金。
    当时很不情愿做测试,后来有人跟我说,“做什么想做好都不容易”,改变了自己的开发。自己实现了一套自动化测试系统,为以后的找工作,受到国外大公司的注意,打下了很好的基础。

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

    引用:
    原帖由 sunxy5291 于 2007-2-26 10:30 发表
    是呀 楼主把工资摆出来吓唬人吗?有意思吗
    你怎么不谈谈自己是怎么从开发到测试 在从测试入门到高手的,这一系列是怎么过来的?
    碰到了那些困难,是怎样克服的,又学习了哪些知识???等等等等
    那我说一下各阶段掌握的知识吧:
    大学主要是C,C++,VC。
    工作第一年就是VC编程,TCP/IP编程。
    后来的半年主要是C编程。
    研究生搞了很多,不过都不算精通,Java,Linux,并行计算,分布式计算。
    做测试以后搞了.net, C#, 开发自动化测试系统。
    另外,英文水平可以和外国人直接沟通。
    ---------------------------------------------
    引用:
    原帖由 sunxy5291 于 2007-2-27 16:20 发表
    怪不得呢
    楼主好棒!
    那楼主给我建议一下:
    我的情况:我05年毕业 本科,计算机专业
    毕业就去上海一下一般大的软件公司做.net开发,待遇一般,感觉自己也没多大进步。
    06年8月回到家乡西安在一家软件公司做 ...
    那我说一下我的看法吧。因为大家都是搞测试的,这里我也只谈测试。
    首先,我们可以有两条路发展,技术和管理。管理就是做team lead, manager, director这么走。因为我没有走这条路,所以,我这里也只谈技术。而且,即使走管理,也是应该

    具备很强的技术能力才行,所以技术是我们的发展之本。我个人不喜欢技术不精通的领导,也不喜欢被这种人管理。

    技术的发展是分阶段的,基本上你要是能发展到最后的阶段,工作,钱,房子,车子,老婆都不用发愁了。当然要一步一步走,不可能一步升天,而且一路走过来也不是很容易,

    应该说大部分人可能都达不到。不过只要你肯努力,坚持不懈,就一定能达到。

    第一阶段:就是基本功的问题。这个阶段从大学入学就开始了,我接触不少人工作几年都没有达到要求。这个要求是一定要达到的,不然以后没法往高发展。大学的一些课程一定

    要学好,主要是数据结构,算法,数据库操作系统,计算机网络。争取精通两门。数据结构,算法对软件开发非常的重要,很多大公司面试就考这些。你不过关,根本通过不了

    面试,一两道算法题一下就把你难住了。另外,我可以告诉你,顶尖公司的面试80%都是考算法,你有没有经验不要紧,做没做过项目不要紧。关键是考察你的基本功,基本功打好

    了,其他工作就都容易很多了,基本功打不好,什么都白说。操作系统,争取要精通windows或者linux内核,看你走哪条路了,我是搞windows的,不过他们之间很多地方也是相通

    的。计算机网络,争取精通TCP/IP协议。数据库我不怎么懂,我的理解是要精通oracle, sqlserver, 还有sql编程。
    另外就是编程技术了. C,C++,面向对象一定要搞懂,搞熟。大公司面试的算法就是要你用C/C++实现的。这些搞熟了,学习其他语言就是几个小时的事情。(我指的是上手,不是精

    通)。这些东西搞不透,不管你其他语言用多少年,回来学他们还是难。
    再有就是英语水平了,听说读写,各个方面都要达到要求。技术到了一定程度,英语对你的发展就起到了非常决定性的作用了。你英语好,就可以去外企,就可以外派出国,甚至

    在国外发展。
    以上这些都是在大学应该掌握好的。当然了,能在大学掌握好这些的毕竟是少数。这些少数人就是去了微软,google的那些,一毕业就拿到月薪上万工资的。大部分人都是达不到

    要求的,这没关系,毕业后一定要找时间把这些基本功补上。不然的话,在下个阶段的发展就很受限制了。

    第二阶段:计算机知识的扩展,行业知识的精通。这个阶段从你大学毕业走向第一个工作岗位开始。工作之后,发现计算机的世界比大学的知识要博大精深很多。一开始工作,就

    要拼命吸收以前没有接触过的,新的知识。这个就不多说了,大家都会有很多感受的,会觉得很多东西都不会,不会就学。以后你跳槽去面试,人家就会看你工作几年,这几年干

    什么了。工作1,2年之后,很重要的一件事情就是要选择一个行业了。也许是你现在正在从事的行业,也许是一个新的行业。总之,你自己要为自己规划,选择一个适合自己,而

    且又热门,以后有发展的行业。无论是现在的行业,还是跳槽到一个新的行业,都需要你开始积累在这个行业的经验了,要精通这个行业。有这个基础之后,就要去这个行业里top

    的公司了,国企,外企都可以,一定要有名气,大公司。比如,通信的华为,搜索的百度,等等。如果你精通了这个行业,去这些公司不是很难。
    另外有一点很重要,如果你本科不是一所名校毕业的话,争取能上一个名校的研究生,全职,兼职都可以。这样可以为下一阶段做好充分的准备,否则的话会有比较大的困难。总

    之了,是自己的短处都要想办法去弥补,不然发展总会受限制。

    第三阶段:国际著名大公司。有了前两个阶段的积累,加上自己的英文水平,就要找机会进入国际的大公司了。相信这个时候就会有很多猎头来联系你了。选择你这个行业的世界

    前3,最好是第一或者第二。进去之后要学习两个方面,一是英文,中国人可以学一辈子英文的。另外一个就是大公司的管理。可以这样说,国际大公司的管理有很多类似的地方,

    因此他们的招聘非常愿意招其他国际大公司的职员。这就是为什么,你一旦踏上一家公司,一辈子都不用愁工作了,可以在这些大公司跳来跳去,工资节节高。到了这个阶段,你

    基本上可以有个比较不错的生活了,房子,车子都不会是太大的问题。

    第四阶段:向国际化发展。如果你还不满足,觉得自己还有能力更进一步,那我就建议你向国际化发展了。中国的工资毕竟有限,到了第三阶段也不过就是20万左右,你可能还不

    满足。那么你就可以联系国外的公司了,有了你的英文,你的经验,你的背景,到时候就是水到渠成了。我相信国际的猎头也会盯上你的。

    最后说一下,如果你现在已经具备了我所说的各个阶段的能力,那么你的简历是任何公司都很难拒绝的了。因为目前的情况,具有这些素质的测试人员在世界都紧缺。很多公司都

    招不到人,即使连google,MS也不列外。他们都在到处寻找这种人。

    最后说一下测试。我一直没有讨论测试的问题,因为我一直没有把测试当作一个难得东西来看待。我认为测试是表面上的,我前边提到的东西要比它重要的多。欢迎大家一起来讨

    论。我也是进入测试才2年多的时候,其中大多数的时间也像大家一样的迷惘,很多时候也很悲观。不过通过自己的努力,最后终于得到了一个满意的结果。我发现自己对测试这个

    行业的理解和很多人都不同,希望我的理解能给大家一点帮助。
    ----------------------------------------------
    引用:
    原帖由 smz_198181 于 2007-3-6 15:52 发表
    楼主很牛,佩服,顺便问一下,楼主说的第四阶段是指要到国外去工作么?
    我觉得是,除非情况发生变化。
    目前,国内的方方面面还是不能跟国外相比。而且,当你达到一定水平,想去国外发展也是一件非常自然的事情了。
    我就接到过新加坡,爱尔兰,加拿大,美国这些地方猎头或者公司的联系。感觉到他们都是很缺人。比如新加坡的猎头还让我跟他们保持联系,给他们推荐人才。

    还有就是国内搞测试,从技术发展来讲,到了微软,google就基本发展到头了。微软,google的中国员工基本上下一个发展目标都是想调去美国的总部发展。
    ----------------------------------------------
    引用:
    原帖由 smz_198181 于 2007-3-6 16:22 发表
    另外想问楼主,如何学习TCP/IP呢, 我网络这块很薄弱,想好好补一下,但是直接看tcp/ip三卷套,我看不懂,应该如何学习,有什么好的入门书可以给我介绍一下么! 谢谢了!
    我的看法是这样的,
    1。把大学的课程《计算机网络》学好,主要是OSI七层协议,TCP/IP四层协议搞清楚,搞明白。知道每层协议是干什么的,包括什么东西,工作基本原理怎么回事。当时去华为面试,专门考了这些知识,有研究生工作多年了,没有回答好,就被淘汰了。
    2。重点学习一下TCP/IP,主要是网络层和链路层,把里边的相关知识学会。我不知道什么书适合,如果大学教材就包括了最好,否则找本TCP/IP入门的书,不要想搞得太精通,那3卷可能太深入了。我也没看过。另外学习一下应用层的几个流行的协议,http, ftp 等等。
    3。学习一下TCP/IP编程,无论用什么语言,知道怎么进行TCP/UDP通信。随便编个什么应用,编个server, 编个client. 两边通信一下,比如聊天什么的。
    4。学习一个socket编程,用C/C++。socket有一套API,学习怎么用socket来实现第三步的功能。

    有了这些,我觉得对测试就基本够用了。你甚至可以去尝试攻击一些网站了。
    ------------------------------------------------
    引用:
    原帖由 wwwyhx 于 2007-3-7 10:04 发表
    至于你说的去国外工作,我想请问一下cleverman,我姐姐现在是在落山基的一家IT公司工作(职位是DBA),他们公司缺人,介绍一个给5000$de现在我还在国内读研,我能用上这层关系吗.该如何做??
    这当然是一个很好的机会了。在国外找工作80%,甚至90%都是通过推荐的获得的。
    当然现在国内也越来越多的通过被推荐来获得工作,或者公司通过推荐来获得雇员了。

    实际上你姐姐更应该能够告诉你应该怎样去做,毕竟是她的公司吗。

    不过我认为,首先你要知道他们缺的职位是什么,有什么要求。相应的你准备好你的英文简历,要符合美国人的习惯。这些,你姐姐都可以指导你。
    然后,你姐姐要把简历送到hiring manager的手上。不知道他们是否是很熟的朋友,如果一般的关系话。你的简历要能够打动那个manager,并且你还要运气好,没有美国本地人能够适合这个工作,而你能够适合。当然还有一种情况就是他们公司想省钱,从中国招一个低工资的员工。(低是相对美国员工来说的,跟中国工资比起来还是高很多)。
    如果manager觉得你不错,可能会安排电话面试,初步考察你的英文和技术能力。面试一定要搞好,给他留下深刻的印象。
    然后可能会安排你去美国面试,到了这一步成功率就比较大了,毕竟他们要负责你的机票,吃住,是花了钱的。因此,你要通过你姐姐搞清楚面试的过程和内容。
    通过了onsite interview, 公司就会给你offer, 办工作签证什么的了。拿到签证就可以飞去工作了。

    这个是一般的过程。里边有一些困难。
    第一就是,你一定要很适合这个职位,而且,其他美国人不行。
    第二就是工作签证每年是有名额的,全球一共58,000,公司要及时申请给你抓到一个名额。

    总之,中国人申请要比美国人难很多,实力和运气是成功的保证。
    -----------------------------------------------
    引用:
    原帖由 newdam 于 2007-3-8 14:49 发表
    问下LZ 在第二阶段 为什么要 上名校的研究生?对后面的发展会有哪些影响?
    是这样的。因为中国的人才太多了,所以名企在选择候选人的时候往往会通过学历,毕业学校的名气,以前或者现在工作单位的名气来选择。
    一个具有名校高学历,并且具有著名外企工作经验的人,找好工作基本上是没有任何问题的,也许他的能力很一般,甚至不如一些非名校的人。
    可是他的背景在那里,找工作就要容易的多。比如google的招聘,不是名校的基本就不要。在中国我不是很清楚,在美国不是那几所顶尖名校的,都很难进入。往往面试顺利最后因为学校的牌子而与google无缘。
    第二点,你能考上名校和考上普通院校,能力上还有有差距的。因为你考名校所花费的时间,精力要比普通院校都要大,遇到的困难也要大。你成功了会极大的提高你的自信心,对以后的发展也是非常有帮助的。其实说一个人的能力高低,就是能解决多大的困难。优秀的人才总是能解决别人解决不了的困难。这里面能力是一方面,自信心也非常的重要。
    第三点,你上了名校,你就能有一张更好的关系网。你的教授,你的同学,你的校友都跟普通院校不是一个层次了。这张网对你的事业帮助非常的大。比如你的很多同学都在微软,你想进微软是不是会容易很多?比如说你的一个师哥在google做了经理,你想进google是不是也会比其他人更有渠道?比如说你的同学在美国开了一家公司,把你邀请过去工作是不是也顺理成章?
    第四点,就是中国的歧视问题。中国的品牌歧视还是比较厉害的。我就因为本科不是名校在找工作方面受到了不少的歧视。看看那些大外企的校园招聘都是去什么大学吧?他们根本没兴趣去那些普通院校做宣传。

    个人认为,如果你真的技术很牛的话,学历,学校对你并不重要。对于一般人来说,搞个名校的学历,会对个人的发展提高一大步。
    最后,本科,硕士,博士,上的学校应该是牌子越来越响才对。这是国际通行的惯例,至少要牌子相当,否则还不如不上。
    另外,据我现在的了解,上个名校硕士并不算难。尤其是中科院的研究生,感觉很多普通学校的本科都能进入,并且还可以边工作边学习。还有一些人是通过公司和学校有项目合作,一边完成工作一边就完成毕业论文了。路子好像挺多的,大家都可以考虑一下。
    ----------------------------------------------
    引用:
    原帖由 consentto 于 2007-3-9 10:25 发表
    我一连几天都在跟这个贴,大受鼓舞,希望楼主多留言啊。
    谢谢。那我再多说几句。有一个比较重要的发展方向我还没有谈过,就是出国留学的问题。
    其实中国人出国发展,最主要的路还是出国留学。直接出国工作的人还是少数。
    以我的经验,我还是鼓励大家在北京,上海发展。可能你会说消费高,买不起房子。可是,整个大环境对你的影响,对你的未来发展非常的有帮助。
    小地方,生活安稳,消费低,可是也很难有太大的发展了。北京,上海卧虎藏龙,让你看不到边际。
    如果你在北京工作,你可能会经常听到,看到,有些甚至是你的同事,朋友,拿到奖学金出国了。这些东西都会或多或少的触动你的神经。可能有些人平时根本就不显眼,也就是说根本不是牛人,也去美国了。
    我知道,除了那几所名校,其他学校出国的人凤毛麟角,因此很多人也根本不了解这里边的东西。我认为出国留学不是一件特别难得事情,当然也肯定不容易。但是,以我的观察,一般的人凭借努力都可能达到这一步。对于有些人来讲,甚至要比考研究生容易很多。为什么这么说呢?考研要考什么?英语,数学,政治,专业课。可是你出国只需要英语,就一门。有些人特别不喜欢政治,考研就很吃亏。
    不知道大家的英文水平如何,如果你大学已经考过六级,就拥有了基本的英文能力,是可以考虑出国留学这条路的。

    另外一条路就是移民,加拿大,澳大利亚都是移民国家。因为加拿大的地理位置的优势,和美国关系的优势,成为了中国人移民的热门国家。加拿大成就了很多中国人的出国梦想,因为只要你具有专科学历就有机会拿到加拿大绿卡,从而在北美发展自己的事业。当然里面最重要的一点还是英文了,不过比去美国留学的要求要低。

    总而言之,如果你具有六级水平,或者你有信心能够学好英文。都是有希望,都是可以考虑出国发展的。为什么我要鼓励大家出国发展呢?因为搞技术的在中国实在是没有地位。搞销售,搞市场的才叫厉害。可是如果到了国外,只有技术人才才能找到工作,搞市场的可就不行了。因此,我还是建议搞技术的最好能出去发展。 当然了,如果想在管理方向发展的,还是应该选择国内。中国人在国外很难进入管理层。

    希望能对大家有点启发作用。至少,我刚毕业的时候觉得出国好遥远,根本不敢去想。可是后来发现,并不是像想象中的那么难。

    最后给大家讲个真实的故事:
    以前一个同事,他有一个同学学习特别的烂,因此工作也很不如意。
    有一年的聚会,他说他要考研究生,大家都很surpriesd, 暗地里觉得很好笑。
    第二年的聚会,大家问他考得怎么样?他说没考上,不过还要继续考。大家觉得更好笑。
    第三年的聚会,大家问他,他又没考上,可是还要继续考,大家觉得他可能有点神经了。
    到了第四年的聚会,大家都没有问他,他确告诉大家他考上了,而且考上的是一所北京的名校。

    我的同事非常受震撼,因为他自己就是一个智力,天赋非常一般的人。工作能力也是出奇的差。记得我刚工作的时候,他已经工作一年了,竟然还不会装操作系统。
    可是他感受到了一种“坚持就是胜利的”力量。
    听说之后他每天只睡4,5个小时,工作时间之外就是学英文,GRE考了5次。不过,最后真的去了美国了,还带走了我们单位的一位美女。这也是我身边出国的第一人。
    ----------------------------------------------
    引用:
    原帖由 wwwyhx 于 2007-3-9 14:22 发表
    我想请问一下,出国读研是不是学费很贵
    费用问题比较复杂。我解释一下。
    出国有两种,一种是有奖学金的,一种是自费。
    有奖学金的国家主要是美国,加拿大,新加坡,香港。
    自费的国家主要是英国,澳大利亚,德国,日本,等等。

    如果你拿了奖学金的话,费用自己不是问题,是学校给你出。
    如果没有奖学金的话,还是有可能过去以后申请奖学金。当然最后就是全自费了。
    全自费的话,美国基本上就不要考虑了。费用不是最根本的问题,最根本的问题是签证,自费留学基本上那不到签证。
    加拿大的话,每年至少10万人民币,15万比较正常。不过你可以打工,生活费可以挣出来。
    澳大利亚现在好像学费涨了不少,估计比加拿大会多点。打工机会好像不多。估计主要得靠自己的钱。
    英国比较贵,可是硕士只需要一年的时间。要照着20万人民币。可以打工,不知道能挣回多少。不过英国学历现在挺不值钱的。
    德国学费比较便宜,有些专业还免学费。很多经济有困难的都去了德国。
    日本打工机会很多,我知道很多中国人上完学还存了不少钱。不过会很辛苦。
    ---------------------------------------------
    引用:
    原帖由 consentto 于 2007-3-9 14:42 发表
    我现在工作1年半,是否应该准备考研呢??
    我认为可以准备,当然主要是要看你自己的想法,也不是一定。
    只要在30岁以前把该拥有的东西拥有就可以了。
    如果你觉得现在的工作能学很多东西,能提高你的能力,工作所得的经验也许更重要。
    上边有个朋友说的很对,当你感觉到瓶颈的时候就去考研。

    我的理解是,工作以后上研比大学毕业直接上研要好。有了工作经验你就会知道研究生应该学什么,会很好的在你的工作经验之上更上一层楼。
    如果你还没感到瓶颈也可以再多工作一段时间。
    ---------------------------------------
    引用:
    原帖由 consentto 于 2007-3-10 09:08 发表
    你在上面说到,应该在30岁前把应该拥有的都拥有,可以说具体一点吗?
    基本上就是一个好的背景,让你的简历,你这个人能够与众不同。
    我觉得包括这几个方面,
    1。学历:最好就是硕士,博士并没有优势,除非想在学校工作。
    2。学校名气:名牌大学,或者重点大学。
    3。英文:能够流利地听说读写。
    4。工作经验:大公司的工作背景。
    5。技术水平:在某一领域达到比较深的程度。
    6。能力:能够解决生活,工作上遇到的各式各样的困难,快速的学习新知识,新技术。
    7。出国:拥有国外学历,身份。

    以上的几点可能不一定能够全部获得,那么起码要获得4,5条。30岁之前不要太在乎金钱,爱情。不要被金钱和爱情拖累了自己。
    我的观点是,我跟很多人也这样说,“年轻的时候就要争取一些得到了就不会失去的东西”。
    什么是得到了就不会失去?不是金钱,不是爱情,是上边列出的那7条。
    很多人为了涨一点点工资就频繁跳槽,这样对事业长期的发展是非常不利的。也有很多人为了男女朋友的事情,浪费了几年的青春,以后都没机会弥补了。
    我觉得20多岁的时候要往30多岁看,不要管现在怎么样,只要是有利于自己的成长就行,不要被外在的东西迷失了自己。要知道笑到最后才笑得最好。
    -------------------------------------------
    引用:
    原帖由 hongjumq 于 2007-3-9 14:56 发表
    我刚找了一份工作,做手机测试的,月薪2500,感觉很少,也不提供住宿,而且是偏硬件测试,感觉学不到什么东西,不知道要不要签,个位前辈给点建议,可以吗?
    你的具体情况我不是很了解,比如是跳槽呢?还是刚毕业呢?还有其他的offer吗?自己的兴趣爱好是什么?

    如果你觉得钱少,又不喜欢硬件,如果还有其他更好的选择,那当然可以放弃这个机会了。

    如果只是从技术上来说,我觉得手机测试应该还算热吧?这个行业我不是很熟悉,可是现在看到Apple推出了iphone, 传说google也要推出手机产品。微软更是把手机作为一个很重要的领地。还有就是摩托罗拉,诺基亚,爱立信这些大公司。感觉应该还算有前途吧。现在手机OS,应用还不是很成熟,因此发展也很迅猛,微软刚推出了mobile6.0。应该还是能学到些东西吧。个人认为手机还是个很不错的行业。这个论坛应该不少人士测试手机的,不知道他们什么感受?
    ----------------------------------------------
    引用:
    原帖由 smz_198181 于 2007-3-9 16:10 发表
    对于大多数朋友来说,工作以后考研是一个两难的决定!毕竟生活压力与考试的风险都摆在那里!楼主觉得读在职研究生是不是一个不错的选择,工作单位以及国外的认可度如何!
    另对于本科生来说,想出国工作比研究生 ...
    我觉得在职研究生是best choice,工作学习两不误。我不清楚国内的在职和全日制的毕业证书有区别吗?
    没区别就无所谓。有区别我个人认为也没什么。
    首先,国外的全日和在职的证书是一个样子,学校,社会对两种证书的对待没有任何区别。因此,他们对待国内的在职也没有任何的不同。在国内的话我认为也没什么缺陷。首先,你是有工作的,没有毕业找工作的问题。全日的毕业还要到处找工作。其次,你写简历只是写那个学校毕业的,没有必要写是否在职。跟全日的也没有区别。真正面试的时候,是看你面试的效果,在职和全日不会影响公司对你聘用的觉定。
    所以,我认为是没有什么问题的。我就不觉得我以前的公司对待这两种学历有任何不同。

    对于出国工作,本科生对比研究生完全是一样的。出国工作主要靠的是英文和技术。
    国外是很不看重学历的。他们本科毕业能找到好工作,根本不去读研究生。并且,他们挑选员工也基本上不考虑学历,除非是特殊的职位。
    而且,美国的工作签证要求就是本科就可以了。

    不过如果想要移民的话,研究生就有了一定优势,可以多加好几分。
    -----------------------------------------
    引用:
    原帖由 windflowere 于 2007-3-10 15:06 发表
    lz好强啊,看你的帖子真是看的热血沸腾

    我是快毕业的研究生,上学期间在一家还不错的外企实习了大半年,找工作时也拿了几个offer,权衡之下,签了百度,做测试。其实百度的这个offer拿的真的很容易,都没怎么 ...
    我觉得你有一个很好的起点,研究生学历,大外企的实习经验,又在百度工作.以后怎样发展都会很容易.
    像你这么好的条件,我认为你可以向你的兴趣方面发展.想想看,你可以从现在开始制定一条适合自己的发展方向.可能有这么几种,
    1.出国:个人比较推荐你走这条路,原因很简单,我已经说过了,国内搞研发的地位比较低.大家总是比较开发和测试那个好,很多开发的还看不起测试.其实根本没有必要比较,地位都不高,还是市场,销售的厉害.你的收入怎么也比不过他们.我觉得你这么好的条件,想出国不会太困难.
    2.管理:确实也有不少人并不想出国,那么我建议往管理的方向发展.国内管理的工资还是会高很多,而且年纪大了也不会轻易被淘汰.
    3.技术:我所谓的技术并不是测试技术,而是搜索引擎的技术.现在搜索引擎的竞争非常激烈,国内google,百度打得火热,国外google,yahoo,微软也打得不可开交。这是一个非常热门,非常有前景,也非常激动人心的领域。你如果把这个领域的知识学好,并且有自己的理解,甚至自己的创新,前途一片光明。

    当然以上3条路并不是互相独立的,而是相辅相成的。我觉得你可以两条,甚至三条一起来发展。比如,技术+出国,技术+管理,技术+管理+出国。当然了,管理+出国的可能性就非常小了,在国外主要还得靠技术。
    一般来讲,你可以按照你自己的兴趣为自己规划技术+出国,或者技术+管理。3条都发展还是挺难的,我是不行。

    无论你怎样选择,两点非常重要。因为你已经有了其他相关的背景了,因此技术和英文就是你要进行改善和补充的了。技术上一定要紧跟世界最先进的潮流,因为你在百度,本身就是搞得最先进的。要即时了解google,yahoo和微软的技术创新。学习新潮的web 技术。自己也一定要具备这方面的开发能力。英文吗?说来惭愧,我的英文也是属于比较烂的水平。只是刚刚能够应付工作而已。不过我以前英文更差,常常考试不及格。后来还是硬给弥补过来了,没有在我的发展上拖后腿。你既然过了六级,可能主要就是要改善口语水平了。如果在百度没有很好的语言环境,你只能自己去创造说英语的机会了。比如可以去人大的口语角。还有非常重要的一个方法就是背课文,课文背多了,语感自然就有了。有了语感就容易脱口而出了。跟熟读唐诗三百首,不会吟诗也会吟是一个道理。

    总之,你的起点比以前我好多了。好好规划以后前途不可限量。我比较喜欢你的发展轨迹是“百度-〉google北京-〉google总部moutain view".
    希望你能够成功。

    对了,google北京的面试对口语要求不高。onsite都是找的总部的中国工程师,都是国语面试。不过总部的电话面试是英文的。
    ---------------------------------------------
    引用:
    原帖由 testxml 于 2007-3-11 12:38 发表
    搂主太强了,我刚毕业,在上海一家公司试用了六个月,刚刚转正,先前作开发。后就被安排到了测试部门,心里很不是滋味,主要做黑盒测试,感到没有什么前途,白盒测试和自动化测试根本没有机会去实践。。。对测试 ...
    不知道你测试做了多久了?我想刚开始转到测试最重要的一件事情就是找感觉。我很理解你现在的心理,我以前也是这个样子的。
    我是完完全全经历了你这个阶段,在你这个阶段我主要做的事情就是,
    1。上51testing看一些测试高手的文章和测试知识,技术的相关文章。
    2。跟有测试经验的人进行技术交流和探讨。
    3。在工作中不断总结经验。
    4。学习一些自动化的测试工具

    我从进入测试行业,到找到测试的感觉大概用了一年的时间。所谓找到测试的感觉就是“觉得测试就是那么回事”。
    下一个阶段我就是找灵感了。因为大部分的公司实际上都是黑盒测试,并且很多产品是很难进行自动化的。因此,如果你想从黑盒转到自动化测试需要非常大的challenge, 比一般的软件开发工作要难多了。因为里边有个灵感的问题,有个设计的问题。
    我觉得灵感的到来还是要有一些东西作基础的,专业知识,开发能力,经验,测试的理解,测试工具的熟悉运用,对所测试产品的理解,等等。

    我最终开始自行设计自动化是因为看到了美国同事用了半年时间所开发出来的测试系统,我觉得很烂。以前没有进行这项工作是因为我把它想的太完美了,想做出一个非常完美的东西,所以迟迟没有动手。后来,我的思想改变了,“虽然我的自动化不是完美,可是比他们美国的系统还是要好很多很多了”。因为,他们考虑到的东西我全部都考虑到了,我考虑到的很多东西他们却完全没有考虑。一个月后,我的系统开发成功,并且成功的打败美国人半年开发出来的系统。这个系统为我后来的找工作奠定了一个非常好的基础。

    我大概是这样走过来的,希望能给你一些借鉴作用。我觉得要努力学习,工作,思考,一定要一步一步提高,最终在测试领域作出自己的贡献。不要被困难吓倒,大家都觉得不可能的东西,你做出来了,才真正的成熟了。我从进入测试行业到开发出自己的自动化系统用了15个月的时间,我想你也不用特别的着急,很多东西还是需要时间去积累的。

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

    引用:
    原帖由 lq810425 于 2007-3-13 17:55 发表
    真的很震撼耶!!!
      我04年毕业,做了一年的web编程,两年的测试。
      现在已经对c、c++都忘得差不多了(在学校里这两门语言学的还是挺不错的)。对数据库(只限于sql server)还是比较清楚特别是sql编程。参 ...
    既然做了一年的Web编程,就不要放下。像你现在这样的背景是既可以做编程也可以做测试。
    不知道你个人是如何来考虑的。如果想在测试的方向更上一层楼的话,我觉得就是要从自动化测试入手了。
    虽然你现在的项目很少,但毕竟是有项目可做的。项目有没有实现自动化测试?自动化程度有多少?
    在这方面多思考一下,多尝试一下。如果真的没什么东西可做的话,是不是可以考虑换个公司了?
    还有就是如果工作不多的话,是不是可以考虑进修,考虑学英语,考虑自己搞点自己喜欢的技术?
    ----------------------------------------------
    引用:
    原帖由 gantangyu 于 2007-3-16 09:23 发表
    看了楼主blog里的关于自动化测试的部分,虽然都是用TestComplete作为测试工具,但是发现我实现的自动化真简单,很想看看你实现的自动化系统具体什么样子,希望能得到你的指导!
    我这个系统是在以前的公司做的。实际的样子可能没有机会看到了。而且,我的代码也全部留在了以前的公司里,属于以前公司的知识产权吧。
    具体的样子就是3台机器,大量的虚拟机。
    一台机器是web server, 一台机器是web service的host,一台机器是测试机。测试机上装有vmware,可以打开不同的虚拟机。
    用起来的话是这样的,
    通过IE登陆web server, 在网页上设计测试用例,保存到一个xml文件里。然后可以点击按钮执行测试用例,xml下放到web service上,web service 要求测试机打开相应的虚拟机。然后给虚拟机发布命令,等待测试结果。最后把所有测试结果整合,传回到web server上。

    现在的公司有非常成熟的测试系统,因此也不需要我再继续进行我以前的系统。
    不过区别在于,以前是通过brower来访问,现在的系统是需要一个client software,没有我以前的方便。
    现在是server直接把任务下发到测试机,没有service这一层,因为多台机器的协作测试就很困难了。
    当然,现在的系统是专门的team 开发的,功能性,稳定性等等都比我的系统要好。不过我的系统确实有一些特点,是现在系统所不具备的。
    如果你感兴趣的话,也可以尝试开发一下类似的系统,我可以在技术上帮你你一下。
    ------------------------------------------------
    引用:
    原帖由 gantangyu 于 2007-3-16 09:57 发表
    相比你的系统来讲,我的是很简单,没有用到虚拟机等,只是把测试程序生成了安装程序,用户只需要安装后,在对话框输入版本信息和此次所要执行的testcase,然后执行测试,测试结果及log格式是预先xml定义好的,不 ...
    我觉得你已经看到了问题了,“测试范围小”,“稳定性不好”。
    因此,你可以在这两个方面进行改进。
    稳定性的改善首先可以改善你自己的程序,代码稳定,另外就是进行exception control and error handling. 也就是在你执行test case的进行中,如果出现错误,出现异常你要进行怎样的处理。
    我的系统开发用了一个月的时间,在稳定性方面的改善也是用了一个月的时间。所以,这里面的工作量是很大的。
    另外就是你的系统结构也决定了能够处理错误的程度。看上去你就是一台计算机来测试,没有用到虚拟机,没有用到多机的协作,因此你就有着因为系统结构而不得不存在的不稳定的可能。
    比如,如果你的计算机crash了,你怎么办?你的测试就不能进行下去了。
    在我的系统结构里,我是用虚拟机进行测试的,如果虚拟机工作不正常了,我可以重新启动虚拟机,或者重新load snapshot,从一个干净的环境重新测试。如果那台装有vmware的测试机发生了故障,我可以通过service layer去转换到一台备份机上继续测试下去。总之,要保证任何情况下都尽可能的能测试完成。这个很重要,比如你明天就要release了,必须要知道测试结果,如果你的系统出了故障,怎么办?在我的结构里,因为service layer不亲自进行测试任务的执行,所以它出现异常的可能性就会很低,基本上不用考虑,除非自己的代码太烂了。
    另外一点就是测试范围,如果想测试的范围大,那么就要把系统设计的open and extensible。所谓open就是你很容易的能给他集成其他的系统或者工具,extensible就是很容易能够扩展。比如现在需要两台机器协作来测试。你能怎么办?比如测试的case太多,需要10台计算机一起来完成,你又要怎么办?
    所以,我觉得你还有很大的改善余地,尤其是系统结构的改善。
    ------------------------------------------------
    引用:
    原帖由 skybusy2000 于 2007-3-14 15:15 发表
    你好!看了你的帖子 ,收获不少~~
    有些个人问题想问一下.
      我是06年毕业的,在一家private company 做测试半年了,感觉收获不少,学到了不少测试理论,测试流程方面的知识.
      但是公司目前住要做的全是MIS系统,偏 ...
    我觉得很难说哪个更好。你跳槽也许不一定会像你想得那样正规。
    我想如果你对公司的工作环境还满意的话,可以不必急着跳槽,把测试的基础打牢,并且把相应的知识都好好地掌握好。
    我并不懂任何性能测试工具。不过我可以告诉你,测试到达一定的水平以后,手工或者自动测试已经没什么太大区别了,也没有说谁重要不重要了。关键是看你对所测试项目的理解深度。
    因此你也不一定非要急于要掌握什么测试工具,多了解自己测试的产品,从事的行业应该更重要。
    工具就是个工具,真正需要用的时候,给你几天的时间就够了。可是行业知识,那可真是日积月累呀。
    ------------------------------------------------
    楼主您好:
                   我现在已经做测试一年多了,在一家外企做QA,我很赞同你所说的测试必须要有编程的能力,而且我也是这样做的,我刚毕业也不知道测试是什么就糊里糊涂的做测试了,当然我不是说测试不好。 我在大学里面C和C++还是学得不错得,而且我也开始把这些东西捡起来,我已经在为转开发做准备了,但是我就怕做测试这么久,没机会转了,搂主能不能给我点意见? 我现在应该怎么做呢? 虽然现在工作环境和待遇还行,但我现在决心转开发了或者做测试工具得开发,就像楼主所说对将来得发展有利。(我现在做得是黑盒, 我本科学得也是计算机)sdlkfj7     谢谢楼主了。
     
    既然下定决心了,那么就算是自己一个近期的目标了。按说,以你的情况从测试转到开发的难度并不大。如果真的下定决心,那么就一定要实现这个目标,否则以后怎么能去克服更大的困难,攀登更高的山峰呢?
    转开发的options其实还是不少的,不过首先还是要把C,C++和一些基本的东西捡起来,熟练起来。
    看来你现在的工作情况还是很不错的,那么最好的办法是在公司内部转。这里主要做的工作是跟上边多沟通,这个就不多说了,每个公司的情况不一样。可能你哪天跟老板吃顿饭,喝喝酒,唱唱卡拉OK就OK了呢。对你来说是一件大事情,从上边来看只是小事一桩了。如果不想在人际关系上入手,那么就要在技术上下功夫了。多跟开发人员沟通,有机会的话也多跟开发经理沟通,多学习自己公司所使用的开发工具,有可能的话多看看开发的源代码。等你技术上达到开发的要求,跟上边多谈谈,应该不会太困难。我以前很多同事都是这么转过去的。
    如果转开发实在是很困难,那么就自己在测试工具,自动化方面多下下功夫了。不知道你们公司有没有专门这样的职位,如果有的话,跟上边说过的转开发要做的工作差不多。如果没有的话,自己多想想是不是自己能够push公司进行自动化,还有就是在黑盒测试的过程中发现什么问题,自己编程序来解决一下。
    另外就是跳槽了,不过因为你现在公司还是不错的,因此我觉得应该积累到一定程度再跳槽。
    ------------------------------------------------
    楼主, 我还有个问题请教, 对于你所说的读研究生的问题, 到了瓶经的时候去读?  我对这个还是比较模糊的, 你能说具体些吗? 工作多久,自身发展到哪个阶段去读是最好的呢?  sdlkfj1
     
    我个人认为应该是在你工作2年左右的时间。这么说吧,本科刚出来一般多是干打杂的工作,在这个阶段主要是要把本科的专业知识与实践相结合起来,起码需要一年多的时间。这个阶段过后,可能会达到一个瓶颈。一是因为你学历的问题,提升的机会会小一点,提升的速度会慢一点。另一方面,本科的知识毕竟有限,你可能也会发现需要更深层次的专业知识来指引自己向上的发展。这个时候,你会从这两个方面都产生了读研究生的心态。一是为了知识,二是为了学历。并且,因为你已经有了行业的经验,你心里会比较清楚知道自己喜欢的研究方向,从而报考相应的学校,导师,专业方向。
    很多本科刚毕业就上研究生的是不具备这些想法和认识的,因此他们的学习在某种程度上可能有些盲目。还有很多社会上的去上研究生也只是想混个学历,甚至有些就相当于花钱去买,学不到太多的真正的知识。
    而我建议的是,我们要在几个方面都做好,在拿到学历的同时,真正的提高的自己的知识面,研究能力。使得我们所花费的时间,金钱最大限度的回报我们。
    这也是为什么我说的一定要上名校的研究生,一般学校更多的是混,很难提供你的真正需求。
    总而言之,你在发展的过程中,会自然的产生这个需求。我当时是工作一年半左右,周围都是北大的研究生,因此而产生的。
    ------------------------------------------------
    引用:
    原帖由 skybusy2000 于 2007-4-5 11:02 发表


    工作一年多在回去考研? 学的东西都还给学校了咋办?数学都忘干净了....   而且名校的研究生分数线又高 sdlkfj9      复习一年万一考不上不就...................
    难道楼主上的是在职的?
    是有你说的困难,可是我们身边不是有太多的人是工作以后又考研的吗?
    我不是在职的。我是花了8个月申请到国外的研究生的。
    ------------------------------------------------
    引用:
    原帖由 joe1214 于 2007-4-5 14:03 发表
    国外研究生难道不用考么? 需要啥条件呢?sdlkfj5
    考只是其中的一小部分。

    条件有以下几个:
    1。托福,GRE成绩,这些是你要考的。
    2。大学GPA,这些是你大学得到的。
    3。教授推荐信,如果没有知名教授,就都差不太多了。
    4。个人的研究背景和兴趣方向

    一般中国人是在1和2上下功夫的,也就是说托福,GRE考高分,以及大学的优秀成绩。
    不过有些大外企背景的,或者大学的老师有世界知名教授给出推荐信的,托福,GRE就不用要求太高了。
    一般来讲,托福要620以上,GRE要2200以上,大学成绩平均85以上,得到offer的机会就容易一些。
    托福600,GRE2000,大学成绩80是基础,加上大外企背景,或者名教授推荐机会也很大。

    当然这是说去美国,如果是加拿大的话,没有GRE也可以。其他国家的话,花钱就能去了。不过学出来也烂。
    ------------------------------------------------
    看完了这个帖子所有的文字我就决定注册一个ID来说几句.
    首先我是在一个迷茫的状态下用"计算机专业毕业 有两年工作经验的女生适合怎么转行"这个关键字在百度的第三条找到这个主题帖子的.
    看完以后和大家一样感到一些振奋的力量.这个论坛以前没有逛过,奇怪楼主没有把它发到CSDN,那里或许反映更强烈.
    LZ分析的一切问题和表达的一些想法我大多很赞同,比如30岁之前要...
    我有一个想法就是楼主提到的所有观点对IT行业的的男性非常合适,而且,有追求的行业男性都应该按照这种思路规划自己的职业道路.
    但是做为女性,或许就有一些其他的顾虑.
    来说说自己吧,普通的计算机本科毕业两年多一点,迄今为止一直在一个不能称为外企的国外软件公司(办公地点在国内,针对国外的项目)
    做.NET方面的开发.工作的前期主要做些测试,维护,写些文档,修改些程序,后期参与Window和Web项目的开发.
    目前为止我对此行工作越来越迷茫,个人觉得自己能力的提升空间不大,还有一个外部因素,感觉行业领域对女性的认可程度也不大,总之是看
    不到前进的方向.而且越来越被女性做什么开发,久坐熬夜辛苦,年龄大了就无退路更外部因素所左右.
    于是想转行但不知道要怎么实施比较好.个人的想法是要能完全不同领域的大跨度最好,或者转做测试等同行业不同性质工作.
    目前对测试可以说完全不在行,自己所做项目完全停留在手动找错的阶段,没有系统化可言.
    希望楼主能就思想上和可行性操作上给出点建议,如果楼主还会来这里的话.
    非常感谢,我还是非常愿意朝着优秀的方向努力,尽管工作中消磨掉了很多激情!
     



    你说的很对,的确我的观点主要是适合男性,并不一定很适合女性。
    一般来讲,我们不得不承认,男性比女性更适合IT这个行业。IT中的成功人士可能90%都是男性吧?这也造就了你现在的困惑。我想从两个方面来讲。
    一方面,既然IT不适合女性,可以考虑转行业。这个的确可行,我一个亲戚就是从计算机转到会计,现在月薪2万以上。当然,转行业也需要比较大的代价,需要承受失败的风险,并且在现行业的积累可能也会做废掉,要重新来过。还有就是转行业需要一定的资本,比如要有个学历吧?如果你再去学个东西出来,时间,金钱方面都有消耗。当然了,你也谈到了,可以在同行业不同性质工作中转,这样风险就会小很多。
    另一方面,IT不适合女性并不等于不适合所有的女性。很多女孩子有很好的天赋,在IT业做的也很出色。如果你是这样的人,是没有必要跟随大众的观点的。

    有一句话说得对“行行出状元”。其实在什么行业并不一定是最重要的东西,能做这个行业最top的人才才是最难能可贵的。因此,我认为你想转行的问题应该结合你自身的特点来考虑。首先,你是否适合IT行业?如果不适合的话,适合什么行业?如果转到那个行业,成功的概率大不大,付出的代价值不值得?另外,如果适合IT行业,那么最适合什么工作类型?开发还是测试?

    我看你有两方面的顾虑,一是感觉自己能力的提升空间不大,二是外部因素的影响。我向来是很难受别人思路的影响,更多的是考虑自己的感受,因为只有自己最了解自己。因此我这里只是谈谈你感觉能力提升空间不大的问题。我想你工作了两年的时间,肯定不能说你把行业的知识都学通了吧?因此想知道你所说的提升空间不大到底意味着什么?是公司不能提供你提升能力的机会,还是你觉得你的能力已经开发的差不多了,再做下去也就是这个水平?我想如果是你自己能力的问题,到了其他行业也难说就能优秀。如果是公司做的工作太简单的话,是你的工作简单,还是你觉得整个公司的工作都简单?如果是自己的工作简单,可以要求做难度大些的工作,或者等机会接触更高重要性的工作。如果你对整个公司的工作都不满意的话,应该说你的水平确实到了一定程度了,是不是可以考虑跳槽了?

    个人还是比较看重行业经验的积累,不太赞成大跨度的转行,尤其是从IT这么热门的专业转行,除非你认为真正的不适合这个行业。当然我对其他行业的了解也非常的少,理解可能也有偏差。不过我最想知道的还是你的一些个人的特点,看看你现在到底处于怎样的情况。个人感觉你目前不应该太迷惘。
    ------------------------------------------------
     看了cleverman的很多回贴,感觉楼主实在是个工作社会经历比较丰富的人,而且也很热情,给我们这些新人在测试方面发展提供了很多的帮助。我也说说我的情况吧,希望CLEVERMEN也能帮我指点一二,尽量少走一些弯路吧,在此先谢啦。
    我是04年计算机系毕业的,由于当时就业心切,再加上比较贪玩,计算机基础并不是很扎实,所以就随便在一家金属加工行业的国企工作了两年,现在越来越感觉到非常的迷茫,无意中发现了51testing,也了解了很多测试方面的信息,决定重新开始,向测试这方面努力了,看了CLEVERMEN的这么多经历,给我震撼挺大的。也相信通过努力一定也可以像楼主这么优秀。我现在也开始恶补C语言,数据结构,英语这些基础课了。接下来我该如何规划呢,是上一些系统的培训机构,还是该如何如何,希望CLEVERMEN能给些意见或建议。
    我也留下我的联系方式吧,希望楼主能在百忙中分享一些经验和心得,重谢过!!
     
    不知道你这两年的工作内容是什么,有没有脱离计算机呢?测试还是个不错的发展方向,你如果选择了这行应该没错。我想你现在恶补这些课程都是要进入测试行业的一些必要准备,当然同时也要多了解一些测试的知识。等到基本知识ready的时候,就可以去尝试找测试方面的工作了。(相信你应该是跳槽,现在的单位可能没有相应职位)。我觉得入门是一个关键,也就是找到机会进入测试的行业,找到测试方面的工作。当然有各种途径了,自己投简历,熟人介绍,好像51testing的培训也负责给推荐工作,是吧?培训机构我可以说一点也不了解,以我个人的性格来说是喜欢自学。包括现在很多的培训,我都是报个道就溜了,很多都是从国内专程跑过来的。所以说还是要看适不适合自己。当然运气也很重要,我以前带过的一个工程师,大学刚毕业,我看重了他的发展潜力。工资刚开始2000,现在工作不到两年都涨到9000了。因此,第一步是进入测试行业,第二步是找到完全发挥自己能力的机会,加上自己的努力,成功并不遥远。
    ------------------------------------------------
     
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
    ------------------------------------------------
     
  • LoadRunner性能测试应用(连载七)

    kellyxie 发布于 2008-12-08 09:43:04

                       转载:http://www.51testing.com/?action_viewnews_itemid_99168.html

      2.1.5 脚本回放问题解决

      在运行脚本回放过程中,有时会出现错误,这在实际测试中是不可避免的,毕竟自动录制生成的脚本难免会有问题,需要运行脚本进行验证,把问题都解决后才加入到场景中进行负载测试。下面结合常用的协议(如Web、Web Services协议)录制的脚本进行回放时出现的问题介绍一下解决的方法。

      需要注意的是,回放脚本时出现的错误有时是程序自身的原因导致的,因此在解决脚本回放问题前必须保证程序录制出的脚本是正确的。

      1.LoadRunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。

      错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。

      错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。

      解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。

      错误现象2:Action.c(81):Continuing after Error -27498: Timed out while processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/ subOrderQuery.do

      错误分析:这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。

      如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。

      解决办法:例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。

      如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。

      最后,增加一下运行时的超时设置,在“Run-Time Settings”>“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request connect timeout” 或者“HTTP-request receive”的值。

      2.LoadRunner脚本中出现乱码:在录制Web协议脚本时出现中文乱码,在回放脚本时会使回放停止在乱码位置,脚本无法运行。

      错误现象:某个链接或者图片名称为中文乱码,脚本运行无法通过。

      错误分析:脚本录制可能采用的是URL-based scrīpt方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。

      解决办法:重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording Options”的“Advanced”选项里先将“Surport Charset”选中,然后选中支持“UTF-8”的选项。

      3.LoadRunner HTTP服务器状态代码:在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。

      错误现象1:-404 Not Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。

      错误分析:此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,造成一定的负载压力。

      解决办法:在出现错误的位置进行脚本关联,在必要时插入相应的函数。

      错误现象2:-500 Internal Server Error服务器内部错误,脚本运行停止。

      错误分析:服务器碰到了意外情况,使其无法继续回应请求。

      解决办法:出现此错误是致命的,说明问题很严重,需要从问题的出现位置进行检查,此时需要此程序的开发人员配合来解决,而且产生的原因根据实际情况来定,测试人员无法单独解决问题,而且应该尽快解决,以便于后面的测试。

      4.LoadRunner请求无法找到:在录制Web协议脚本回放脚本的过程中,会出现请求无法找到的现象,而导致脚本运行停止。

      错误现象:Action.c(41): Error -27979: Requested form not found [MsgId: MERR-27979]

      Action.c(41): web_submit_form highest severity level was "ERROR",0 body bytes, 0 header bytes [MsgId: MMSG-27178]"

      这时在tree view中看不到此组件的相关URL。

      错误分析:所选择的录制脚本模式不正确,通常情况下,基于浏览器的Web应用会使用“HTML-based scrīpt”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的Javascrīpt/VBscrīpt代码、基于浏览器的应用中使用HTTPS安全协议,这 时则使用“URL-based scrīpt”模式进行录制。

      解决办法:打开录制选项配置对话框进行设置,在“Recording Options”的“Internet Protocol”选项里的“Recording”中选择“Recording Level”为“HTML-based scrīpt”,单击“HTML Advanced”,选择“scrīpt Type”为“A scrīpt containing explicit”。然后再选择使用“URL-based scrīpt”模式来录制脚本。

      5.LoadRunner不执行检查方法:在录制Web协议脚本中添加了检查方法Web_find,但是在脚本回放的过程中并没有执行。

      错误现象:在脚本中插入函数Web_find,在脚本中设置文本以及图像的检查点,但是在回放过程中并没有对设置的检查点进行检查,即Web_find失效。

      错误分析:由于检查功能会消耗一定的资源,因此LoadRunner默认关闭了对文本以及图像的检查,所以在设置检查点后,需要开启检查功能。

      解决办法:打开运行环境设置对话框进行设置,在“Run-time Settings”的“Internet Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text check”选项。

      6.LoadRunner回放Web Services协议脚本错误:LoadRunner 8.0版本在录制Web Services协议的脚本时正常,但在回放时会出现错误,提示停止脚本运行。

      错误现象:利用LoadRunner 8.0版本来录制Web Services协议的脚本没有任何错误提示,回放脚本时会出现如下错误提示“Error:server returned an incorrectly formatted SOAP response”。

      错误分析:出现此错误的原因是LoadRunner8.0在录制Web Services协议的脚本时存在一个缺陷:如果服务器的操作系统是中文的,VuGen会自动将WSDL文件的头改为<?xml version="1.0"encoding="zh_cn" ?>,所以才会有此错误提示。

      解决办法:下载两个补丁,分别为“LR80WebServicesFPI_setup.exe”和“lrunner_web_ services_patch_1.exe”安装上即可。

  • TCP/IP 的工作原理

    欧阳 发布于 2008-12-31 18:01:44

    下面以采用TCP/IP协议传送文件为例,说明TCP/IP的工作原理,其中应用层传输文件采用文件传输协议

    (FTP)。

    TCP/IP协议的工作流程如下:

    1.在源主机上,应用层将一串应用数据流传送给传输层。

    2.传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。

    3.在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路

    层。

    4.链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC

    地址,将MAC帧发往目的主机或IP路由器。

    5.在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。

    6.网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果

    一致,则去掉IP报头,将TCP段送交传输层。

    7.传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认

    信息;若不正确或丢包,则向源主机要求重发信息。

    8.在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接

    收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。

  • 别忘了你是谁!

    欧阳 发布于 2009-01-15 16:19:36

    别忘了你是谁——一位哈佛院长给毕业生的贺礼
      作者:谭家瑜

      母亲逝世于1998年,父亲也在两年前的6月蒙主召唤。虽然很舍不得双亲离开,但我知道他们每天仍与我同在———他们对我的教诲和告诫依旧长留我心。那些叮咛至今仍持续指引我,我也愿意和即将各奔前程的你们分享这些生活教训。

      你今天要出门当领袖

      第一个告诫来自我母亲。她是一位浑身散发着热情的女性,给我们源源不绝的信任与母爱。母亲儿时住在犹他州立大学附近,家里出了几个有学问的人,其中一位兄弟担任大学校长,还有一位是著名医生兼医学教授,所以她对子女期望甚高,希望我们也为自己立下崇高的标准。

      “小金!”每天早上我离开家时,她都会低下头来盯着我的眼睛说,“你今天是要出门去当领袖的,千万要明辨是非,可别让人家牵着鼻子走,也别忘了你是谁哟!”母亲每天都会嘱咐我,你要记得所有为你努力工作、牺牲自我、让你能过现在这种日子的人。走出家门以后,不要忘了自己的责任、家人的名誉、爸妈的期望和梦想。也不要忘记你有光明的前途,美好的机会就在眼前,你可以让世界变得更棒。

      对于一个每天一大早就要提着便当去上学的小学生来说,这些叮咛实在太多,但的确是金玉良言。母亲坚持我一定要给自己定几个高标准———包括我该做什么、怎么做、为什么做。而她不只是提供意见而已,还会非常热心地帮助我付诸行动。

      我读幼儿园时,她就替我报名参加朗诵班。之后的5年中,她都开车送我到史都华太太工作室上课,每星期两次。史都华太太是戏剧导演、表演指导师和发声老师,常给我们一些短篇剧本、独白诗,甚至莎士比亚十四行诗当教材。她要我们用心地把那些相当复杂的词句背下来,再利用周末上台表演给大家看。

      每天清晨,母亲很早就把我从床上拉起来练习功课。在我排练的时候,她不会待在别的房间,而是坐在我面前聆听和指导———别忘了,当时我只有5岁!有时候,我还半睡半醒,记不住要背的东西,表演得有气无力,她就会打断我说:“小金,你不够努力,该做的事情就要好好做。”除了对某些句子还有印象,我早忘了当年要我们背的大部分诗句,但我母亲的教诲至今仍留在脑海里。部分原因是它们一再重复,童年阶段的我时时刻刻———真的是每分每秒———都会听到同样的教训。

      不过,更重要的原因还是那些话都隐含特别的意义,母亲表面上好像是在对我耳提面命,心里面其实是在肯定我的能力,对我充满信心。为期20周的朗诵课不但是我淬炼演说能力的工具,也是增强自信心的媒介。她要我“当领袖”的意思,不是叫我遵守所有的规定,而是希望我不要被其他孩子的意见左右,跑去做不符合自己个性和正确观念的事情。更重要的是,当母亲说“别忘了你是谁”这句话时,意思就是:我相信你,希望你去追求光明的前程,把握眼前的机会,实现改造世界的愿望。

      骑着马儿上高原

      第二个告诫来自我父亲。他在一座十分偏僻的农场长大,后来成为家中第一个上大学的人。年少时期的他是个不折不扣的牛仔,常骑着马儿巡视牧场、驱赶牛群、驯服马匹,也尝过天不亮就起床干一整天粗活的滋味。当牛仔的经验让他得到多方面的磨练,所以他总是勤奋不懈地工作,十分重视教育,而且热爱骑马。虽然后来他离开牧场到外地求学,脱离了牛仔生活,但一生都以骑马为乐,还因此悟出人生道理,给了我一个意境优美且含义深远的忠告:要骑着马儿上高原。

      他了解大多数人都习惯待在环境比较安定的山谷里,只注意眼前的琐事,但我们不一定要骑着马儿走入山谷,也可以爬上高原———他的意思是:人要高瞻远瞩,应当走出生活里的山谷与阴影,进入一望无际的高原,然后沉浸在那儿的阳光里,让灵魂翱翔,让风吹拂头发,让内心充满伟大的梦想,让生命、生活和蜕变的热情恣意奔放。

      我没有忘记我是谁

      这些都是父母在我幼年时期对我的谆谆教诲,我早就耳熟能详、倒背如流,但我直到高中毕业那年才体会他们是如何以身作则教我为人处世的道理。

      高三那年,我跟班上几个朋友组织了个摇滚乐团,大家非常认真地练习,在车库里度过相当美好的一段时光,后来居然还有人付钱请我们在周末登台去演出。我兴奋极了。不过,虽然我非常热衷乐团活动,但当时我正忙着申请大学,还瞒着父母向哈佛递出了申请表。由于家族里从来没有人进过哈佛大学,我并不认为自己的胜算机会很高,但还是想试试看。于是我把一半时间分给“酷哥摇滚乐团”,另一半时间就专心追求学业目标,等于是脚踏两条船。

      当我们赢得风靡全市的“摇滚乐团演奏擂台赛”大奖时,大家都为之疯狂,团员们眼里闪着金光,幻想着我们说不定能成为明日的摇滚巨星。但我却开始坐立难安,因为我发现自己不是踩在两条平行线上,而是站在两条逆向而行的马路上,我几乎快变成两个人,不停地来回切换自我,所以,我必须做个抉择。

      正在考虑该选择什么样的前途和角色的时候,父母的话便适时出现,帮助我找到方向。我想起了我是谁、来自何处,也想到了自己的未来,一点也不向往获得唱片合约、留着长发住在休旅车上的那种日子,于是决定退出乐团。团员们都跌破了眼镜,以为我大概脑筋短路。然而不管乐团再怎么成功,我已经知道它不适合我,它不符合我的理想,也不符合我的志向及个性——那根本不是我。

      那一次,父母的告诫帮助我重新拾回生活的重心和焦点,后来也曾多次遇到类似情况,我没有忘记我是谁,以及我所怀抱的希望和梦想,同时也看到了我想去的那座高原。有时候,我仍然不太清楚自己应该追求什么样的生活,觉得前途一片茫然,但是父母之言始终是我最重要的判断标准。

      今天,我的工作是在教育未来的领导人才,培养他们改造世界的能力。我想送给他们一句简单的忠告:做明智、正确的选择,找到可以为你们指引人生方向的基本原则及价值理念,然后忠于它,守住它。

      别忘了你是谁,要骑着马儿上高原。

      摘自《读者》2005年第7期P54

  • 关于软件测试的几个经典问题(1)

    tengmy 发布于 2008-05-07 19:21:10

    其实这些问题真的在哪个论坛里都有,不过奇怪的也是,每次面试都会遇到,无论是自己面试还是给别人面试。。

    PS:声明一下,这里的问题基本都不是原创的,答案呢,在软件测试百家争鸣,百花齐放的时代也是丰富多彩的。但是道理都差不多。仅作为参考,呵呵~~

    什么是“软件测试”?

    1。出自(IEEE, 1986; IEEE, 1990).

    Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features ofthe software item

    就是一个通过分析软件和需求之前差异,发现bug,对软件的功能进行评价的过程。

    2。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。

    3软件测试是为了发现错误而执行程序的过程。

    这一种也是大多数文档和书籍进行的定义,其实和第一个定义没有什么区别。

    什么是“测试案例”?

    测试案例是一份文档,它描述了一个输入、反应、或者是与其相应的预期的响应,以便来判断应用软件的工作是否正常。测试案例应当包括测试标识、测试案例的名称、目标、测试条件/设置、输入数据要求、步骤、以及预期的结果。

    如果时间不够,无法进行充分的测试怎么办?

    使用风险分析,确定测试的重点。

    由于很少有机会对一个应用软件进行所有可能的测试 (包括所有可能的事件组合、所有的相关性、或者一切可能出错的东西),对大多数软件开发项目来说,利用风险分析是适当的。这需要判断技能、常识、感觉和经验。如果有正当理由,也可采用正式的方法。需要考虑下列因素:

    ü  对于该项目的用途而言,哪种功能最重要?

    ü  哪种功能对用户最明显?

    ü  哪种功能对安全影响最大?

    ü  哪种功能对用户最有用?

    ü  对客户来说,该应用软件的哪个部分最重要?

    ü  在开发过程中,该应用软件的哪个部分可以最先测试?

    ü 哪一部分代码最复杂,容易导致出现错误?

    ü 哪一部分的应用程序是在急迫或在惊恐的情况下开发出来的?

    ü 哪一部分程序与过去项目中引起问题的部分相类似/有关?

    ü 哪一部分程序与过去项目中需要大量维护的部分相类似/有关?

    ü 需求和设计的那些部分不清楚或不容易读?

    ü 开发人员认为在应用软件中哪些部分是高风险的?

    ü 哪些问题能造成最差的发行?

    ü 哪些问题最能引起用户抱怨?

    ü 哪些测试可以容易地覆盖多种功能?

    ü 哪些测试在覆盖高风险部分的测试时使用时间最少?

     

    如果需求一直在变化怎么办?

     

    这是一个常见的令人头疼的问题。

    ü如果可能,尽早与承担该项目风险的人接触,以便了解需求会怎样改变,从而可以尽早地改变测试计划和策略。

    ü 如果在对应用程序进行初始设计时多考虑一些适应性,那么以后在发生需求的改变时,就不需要再为改变做很多事情了。

    ü 好的代码注释和好的文档有助于开发人员作出相应的改变。

    ü只要有可能,就应使用快速原型 (rapid prototyping),以帮助用户确认他们的需求,从而减少变更。

    ü在项目的时间表中应当留出余量,以应付可能出现的变更。

    ü尽量把新的需求纳入应用软件的“下一版”,而把原始需求作为“第一版”。

    ü通过谈判,把易于实现的新的变更列入项目,而把难于实现的新需求列入该应用软件的以后的版本。

    ü要确保让客户和管理人员了解变更对进度表的影响、所带来的风险、以及因变更所引起的大量资金消耗。

    ü在应付改变时,应在为建立自动测试而作的努力和重新进行测试所做的努力之间取得平衡。

    ü在设计自动测试剧本时,试图使其有一些灵活性。

    ü在对应用软件进行自动测试时,要把注意力集中在看来不大会改变的部分。

    ü对变更进行适当的风险分析,以减少回归测试的要求。

    ü在设计测试案例时要有一定的灵活性。做到这一点并不容易,所以要降低测试案例的详细程度,或者只建立高级的通用型的测试计划。

    ü 少注意详细的测试计划和测试案例,要把重点放在专门的测试 (ad hoc testing) 上。

     

     

  • 软件测试的原则

    tengmy 发布于 2008-07-28 09:40:57

     
    1)1.在测试工作开始以前,不应设想程序中没有缺陷或找不出缺陷。(测试心理学)
    2)2.测试以前应预知测试的结果数据。
    3)3.程序员尽可能避免测试自己写的程序。坚持独立测试原则,必要的情况下建立独立测试机构。
    4)4.测试用例应兼顾有效输入和无效输入。即 不仅要检验程序是否做了该做的事,还应检验是否做了不该做的事。 事实也证明,忽视无效输入的测试往往会遗漏在复杂或者非常态下的重大问题。5)6)测试的充分性。
    7)5.测试的有效性。
    8)6.限于人力、物力,测试工作适可而止。最优化测试的图表还记得吗?(测试经济学)
    9)7.保留一切测试用例。 这些测试用例也属于测试成果物的一部分。此外还有提交的缺陷文件,测试数据等等。这对于测试结束后,下一个版本的更新都是重要的参考资料。
    10)8.任何已测程序的变更都应重新进行测试。这也是回归测试的重要意义和原则。不能因为以前没有问题,在发生版本变更或者程序修改的时候就忽视对其的测试。不进行相对的充分测试,是无法知道修改到底是否导致了多少个模块发生了变化。
     
  • 分享:国际化软件测试简介

    tengmy 发布于 2008-08-19 15:23:58

    文章作者:崔启亮   文章来源:中国本地化网   发表时间:2005-7-13 11:08:00

    国际化软件测试是近年来逐渐发展的新兴测试领域,与传统的面向单一区域和语言的常规软件测试相比,具有很多不同的特征,表现在跨区域的全球测试、测试内容广泛、测试周期时效性强等多个方面。

    1. 跨国家/地区的全球测试

    国际化测试的各方分布在不同的国家和地区,是典型的全球分布测试,离岸外包测试的兴起使得全球测试的特征愈加明显。由于测试各方相隔遥远,因地区时差、文化观念和办公时间等的差异增加了国际化软件测试管理的复杂程度,要求测试管理人员具有较强的区域协调能力、交流沟通能力、远程项目跟踪和控制能力。

    国际化软件测试的参与各方包括软件开发商的质量保证人员、技术支持人员和软件开发人员以及测试管理人员;软件测试服务商的软件测试人员、质量保证人员和测试管理人员;软件开发商在各个国家/地区的分支机构或其邀请委托的行业领域专家(技术和语言方面);软件外包测试服务商邀请委托的行业领域专家(技术和语言方面)。

     2. 核心功能测试为基础,软件国际化和本地化测试为重点

    国际化测试的测试内容广泛,包括核心功能/性能测试、国际化特征测试和本地化测试。

    核心功能测试以测试软件的功能和性能为主。从测试阶段可以细分为单元测试、集成测试、系统测试和验收测试;从测试实现方式上可以分为手工测试和自动测试。

    国际化特征测试包括国际化支持能力测试和本地化能力测试。国际化支持能力测试在于发现软件支持不同区域数据的能力,例如日期、时间、数字、货币和不同语言字符集;本地化能力测试在于检测软件是否考虑了本地化的方便性,是否容易实现本地化而不需要修改软件源代码。

    本地化测试包括本地化功能测试和本地化语言质量测试。本地化功能测试检测软件本地化后的软件的功能是否全部可用,不会丢失某些功能;本地化语言质量测试在于测试软件本地化的文字是否准确、一致、符合当地用户的表达习惯,还包括对软件的用户界面进行外观测试,本地化的字符串能够完整地显示在软件界面上。依据本地化软件的语言数量,多种语言的版本往往与源语言版本同时展开测试。

    3. 复杂的测试项目管理

    国际化软件是一项复杂的系统工程,参与的公司和人员分布在全球各地,需要同步本地化的语言可能超过几十种,报告的软件缺陷数量可能多达几千上万,而且由于软件外包将带来很多交流和管理的问题。因此,对国际化软件测试管理提出了更高的要求,项目计划和预算管理与跟踪,测试文档管理、测试缺陷管理、技术支持和沟通交流等都比传统的软件测试项目复杂。

    4. 测试周期时效性强

    随着软件市场全球竞争的加剧,软件的开发周期不断缩短,对于全球发布的国际化软件来说,越来越多的国际大型软件公司追求多语言版本与源语言版本同时发布或者相隔时间尽量缩短。为了达到同步发布的目的,软件的国际化测试和本地化测试以及核心功能测试需要与软件开发过程并行进行。由于软件测试依赖于软件开发过程,而且随着软件项目周期的缩短,留给软件测试的时间经常比较紧张,尤其在软件即将发布的后期测试,对测试时间提出了较为苛刻的要求。

     

  • 由国内项目的软件测试流程感悟到的

    tengmy 发布于 2008-04-22 17:56:59

    做国内测试项目的若干感悟

     

    谈到这个话题,就会想起若干年前,柏杨先生的一篇让国人为之痛骂的《丑陋的中国人》

    我觉得,一个国家一个民族的个性真的可以体现在各个方面。

    比如:我做的测试项目,从对日测试到欧美测试,就感触颇深。

    日本人的等级森严,阶级尊卑的传统体现在他的工作中就是非常严格而规范的流程。项目中的每一个参与者都有其确定的身份,也就有其确定的权限和责任。

    符合项目制定的规范,严格按照既定的逻辑和标准去做事,成为日本项目的一大特点。

    在工作中,你发现了一个问题,你会明确的知道应该向谁汇报而不能越级。一旦出现问题,会进行责任的层层追究,考勤,考核都有严格的流程。。

    而相对而言,非常崇尚自由和个性化的欧美项目,就会有着相对宽松的氛围。在工作中,你发现了一个问题,你 可以有更加宽泛的范围去选择汇报和询问的对象。只要能保质保量的完成工作的内容,没有人在乎你是提前来了半个小时还是早走了15分钟。。

    国内项目,我觉得就是比较尴尬的一个现象。一方面,归根于中国几千年来的封建等级制度,有一种层层汇报的制度。但是每个组成部分却不能像日本项目一样界限分明,于是当问题出现的时候,不知道找谁。似乎是对日本规范的一种抵制,国内大多项目不喜欢制定严格的规范和流程。表面是充斥着各种的自由和个性,但是却缺乏后期很好的维护。以至于在破烂不堪的表面,残存着若干或大或小的问题。

    做国内项目,只有2个词的感受:上火~

    我也衷心的希望,这只是个案。。

    对日项目的时候:

    项目开始2个月前,我们会有项目启动会议。会得到项目的TTSJ等需求文档,客户与开发之间协商的可开发,不可开发的最终成果文档。我们会了解这个项目的总体流程。

    项目开始一个半月之前,我们会得到项目的系统详细设计和概要设计文档。大家利用这些文档进行测试系统的熟悉,测试点的划分,测试case的抽取,设计,测试case的评审。并且开发方会定期将系统设计变更的文档予以公布,供我们进行备案,以及对测试点的修改(一般来说,成型的测试case很少进行改动,而是会进行notes添加,在后续测试中才会针对notes和设计文档对测试case进行修订)

    项目开使之后,会维持部分模块的稳定性,比如当前测试A模块的时候,A是绝对不允许开发人员在测试中进行修改,而是在既定的测试完成之后,开发才可以进行修改,并且提出修改文档,回馈测试方,声明修改了哪些部分,供测试人员进行retest

    测试人员发行bug之后,相关的开发人员会进行修改,修改的记录和测试员后续测试的记录会追加在bug表上。在测试员进行retest确认关闭后,开发的负责人要给予该bug关闭的原因。项目结束后,这些原因也会成为软件质量的评价因素之一。

    软件项目完成后,项目组需要书写评价报告,包括软件的质量总体评价,负责测试的模块中出现问题的几率,原因分析等。

    国内项目:

    至少我参与过的国内项目,测试员会在实际测试开始2周内参加测试,这期间包括了对系统的熟悉,测试式样的设计。而且一般的测试项目,因为项目实际开发与需求的脱节性,加上开发人员时间的紧迫性以及没有形成良好的文档约束性。测试人员基本在项目开始的时候是拿不到设计文档,包括详细设计和概要设计文档。能得到的只是很久之前的或者无效或者部分有效的一份比较模糊的需求文档。。

    我不太清楚,这里面的原因到底在哪里,但是我清楚的知道,这样的需求文档,能到导致的问题是:测试人员需要跟开发以及需求人员去核实一些重要信息。这在很大程度上取决于测试人员的主观能动性和测试的经验,而且由于对测试系统的熟悉程度不够,也很难做到没有遗漏。。。直接导致的后果就是测试的效果下降,测试出来的产品留有或多或少对后期有影响的bug

    bug这一块,国内项目往往开发和测试出现重迭,也就是说,我刚刚测试过的模块,可能转瞬就被改过了,导致测试量的浪费。不得不进行无规则的重复的测试。

    而且国内的开发人员很少会有这样一个习惯,对bug进行针对性的定位和反馈。在他们看来,自己的开发模块都忙不过来,能抽出时间来进行修改已经是给了测试人员天大的面子,哪里有时间进行反馈,有什么必要?殊不知,这样的想法在很大程度上造成了测试管理的滞后,导致系统整体的质量受到影响。

    说到这里,都似乎忘记了自己写这篇文字的初衷。

    虽然,我们大家都说,全面质量管理,都说,测试和开发都是软件生命周期中不可或缺的重要一环,但是到目前为止,至少在国内,很多的企业,重视的依然是开发,对于测试,特别是独立的第三方测试,依然是不重要的补充。依然是开发后期才能参与进来的。

    没有人不重视食物的质量,因为攸关人命,一种不合格的罐头可能会导致成百上千人的中毒以及死亡。所以食品企业的质管员责任重大。他们监督着流水线上的每一个环节。没有人不重视建筑的质量,尽管在当今,由于利益的驱动,这份责任在被淡化,进而出现大桥坍塌,住宅小区裂缝等质量问题,关乎民生。。而在软件这个领域,虽然人们说了很多年,软件质量,软件质量,但是对于软件测试的重视程度依然还在低水平徘徊。开发的没有高超的技能,做不了开发了,就以为一定能做好测试,一个个培训机构,几个月就要培养出月薪8000测试精英。。我倒是想问,测试,软件测试,到底在你们这些人眼中,意味着什么?没有测试的灵魂,没有测试的信念,只为了追风,只为了薪水而进入测试行业的人,到底会给我们的测试行业,带来什么??

     

    ******************************************************************************

    这篇文章本来写在csdn,感谢51test的兄弟把它转载到了这里,并且成为精华。

    于是努力找回密码,再次开始我的51test生涯:)

Open Toolbar