1.公司做的都是小型的项目,同步进行项目的有两三个。
2.测试人员就只有一个
怎么才能建设好测试的管理和产出?
1.明确当前项目的目标。因为测试团队是支持性团队,所以测试团队规模大小及目标,是与项目目标相匹配的。如果当前项目是属于创业型团队,短期内测试团队的目标就是完成项目任务为主,那么我觉得还谈不上搭建团队,更谈不上搭建高产出的测试团队了。如果当前项目已经有用户基础了,正在逐步扩张的过程,那么测试团队的资源也应该随之进行调整。
2.争取测试资源。从你的描述来看,似乎你个人已经无法支撑项目任务了,所以是不是要想上反馈正确更多的测试资源。
3.保证基本的测试产出。项目任务再多,这也不妨碍我们做一些基本的总结,例如:测试过程中的问题有哪些、测试过程中学习到的知识有哪些。这些内容将它总结起来形成文档,日后对个人是有很大帮助的。
首先感谢你的提问。我将你提出的问题拆分出来分别回答
问题1:目前我们公司测试部门都是执行手工测试,测试人员对自动化测试都不熟悉,而老板突然之间要求整个测试部门人员要用自动化来测试,
且必须马上要会,这种情况下,该怎么样才能让所有测试人员迅速学会自动化测试呢?然后有什么方法能避免老板因为测试人员没有马上掌握自动化技术,而不满呢?
回答:在回答这个问题之前,我觉得我们还是有必要搞清楚几个问题:
1)老板突然之间要求整个测试部门人员要用自动化测试的原因是什么?是因为对测试质量不满意,还是因为对测试效率不满意?还是因为其他什么原因。
2)如果老板是因为测试质量不满意,那么出现了什么样的问题,这些问题通过自动化测试是不是就能保证?
3)如果老板是对测试效率不满意,期望通过自动化测试提升效率,那么就是这个工作如何开展的问题了。进一步我们要想的是:
a.这个工作如何开展,是不是可以考虑部分人员先掌握自动化技术,部分人还是保持原有的手工测试。
b.如果所有人员都掌握自动化技术可能带来什么样新的问题?比如:能力相对低的人可能投入非常高的学习成本;没有意愿的人可能学习不会;有能力有意愿的人学会之后存在稳定性的问题等等。这些问题老板是否又是知道的?
问题2:同时因为老板对测试部门不是很看重,故测试人员的薪资都普遍很低,导致测试人员的积极性不是很高,且对公司的热情不高,产品质量相对也受到了一些影响,这样会导致公司对员工不满意,员工对公司老板也不满意,形成一个恶性循环。该怎么解决呢?
回答:说老实话,这个问题是个不太好回答的问题。我只是说说自己的看法,如何不妥,欢迎大家指出批评。
意识形态:
1)看清情况,坚定自己的信念。不可否认,国内存在大量的企业和公司,对测试部门不重视的情况,相应的待遇也会低许多。造成这一问题的根本原因是,测试这一行业在国内在发展才区区几年,相比较开发岗位发展数十年,我们还在起步阶段。再加上国内在测试行业各式各样的人都有,也在一定程度上造成了外界对测试行业的水平低的认识。这个问题是客观存在的,我们怨天尤人也没用。测试的未来只有通过大家一起的努力,让我们做的事情越来越有价值,让我们越来越受重视。作为团队的Leader,首先不能丢了这个信念。
2)证明文化。鉴于搜狗测试团队的过去经验,也是这样一个过程:基于手工测试、不遗余力地加班加点保证项目的质量--逐步得到上层领导的肯定--领导逐步给予了部分资源支持--开始尝试自动化测试领域--进一步得到领导的认可---再给予资源支持。所以,我只能说:哥们,我知道你现在很苦,但唯有通过证明文化让领导认识到测试的价值。
具体问题:
谈了前面2点意识形态之后,该回答实际具体的问题解决方法上了。
如果某天浏览器发展很稳定了,你们的工作又是什么呢,除了自动跑用例外
一、绩效考核的原则:smart原则
Specific——明确性
所谓明确就是要用具体的语言清楚地说明要达成的行为标准。明确的目标几乎是所有成功团队的一致特点。很多团队不成功的重要原因之一就因为目标定的模棱两可,或没有将目标有效的传达给相关成员。
BadCase:
在2015年Q1目标制定时,测试技能目标是“提高测试设计能力”,这样简单的看没有什么问题如果仔细来看,这个目标很不明确,提高测试设计能力方法有很多例如:掌握了解测试设计方法、加强测试敏感度等,提高测试设计能力这个目标制定是失败的
改进方案:
修改后的测试能力目标设定为:完成三次B级模块测试用例设计,这样就很明确了。
Measurable——可衡量性
衡量性就是指目标应该是明确的,而不是模糊的。应该有一组明确的数据,作为衡量是否达成目标的依据。
如果制定的目标没有办法衡量,就无法判断这个目标是否实现。比如领导有一天问“这个目标离实现大概有多远?”团队成员的回答是“我们早实现了”。这就是领导和下属对团队目标所产生的一种分歧。原因就在于没有给他一个定量的可以衡量的分析数据。但并不是所有的目标可以衡量,有时也会有例外,比如说大方向性质的目标就难以衡量。
badCase:
2015年Q1目标设定时,衡量固定渠道包自动化完成情况时,写的是高质量完成固定渠道包自动化脚本,其实这个标准是不可衡量的,什么是高质量?无法进行评定
改进方案:
修改后的衡量标准为:固定渠道包自动化脚本能够运行且没有BUG,这样的衡量标准是有办法衡量的。
Attainable——可实现性
目标是要能够被执行人所接受的,如果上司利用一些行政手段,利用权利性的影响力一厢情愿地把自己所制定的目标强压给下属,下属典型的反映是一种心理和行为上的抗拒:我可以接受,但是否完成这个目标,有没有最终的把握,这个可不好说。一旦有一天这个目标真完成不了的时候,下属有一百个理由可以推卸责任:你看我早就说了,这个目标肯定完成不了,但你坚持要压给我。
“控制式”的领导喜欢自己定目标,然后交给下属去完成,他们不在乎下属的意见和反映,这种做法越来越没有市场。今天员工的知识层次、学历、自己本身的素质,以及他们主张的个性张扬的程度都远远超出从前。因此,领导者应该更多的吸纳下属来参与目标制定的过程,即便是团队整体的目标。
定目标成长,就先不要想达成的困难,不然热情还没点燃就先被畏惧给打消念头了。
问题:
在计划制定时,没有自己去评估工作量就将其写入计划中,导致的就是一个季度过完后,计划没有完成
改进方案:
切合实际的制定自己能力范围内的计划,就算是要学习一门编程语言也是一样,不能一口吃一个胖子。
Relevant——相关性
目标的相关性是指实现此目标与其他目标的关联情况。如果实现了这个目标,但对其他的目标完全不相关,或者相关度很低,那这个目标即使被达到了,意义也不是很大。
因为毕竟工作目标的设定,是要和岗位职责相关联的,不能跑题。比如一个前台,你让她学点英语以便接电话的时候用得上,这时候提升英语水平和前台接电话的服务质量有关联,即学英语这一目标与提高前台工作水准这一目标直接相关。若你让她去学习六西格玛,就比较跑题了,因为前台学习六西格玛这一目标与提高前台工作水准这一目标相关度很低。
Time-bound——时限性
目标特性的时限性就是指目标是有时间限制的。例如,我将在2005年5月31日之前完成某事。5月31日就是一个确定的时间限制。没有时间限制的目标没有办法考核,或带来考核的不公。上下级之间对目标轻重缓急的认识程度不同,上司着急,但下面不知道。到头来上司可以暴跳如雷,而下属觉得委屈。这种没有明确的时间限定的方式也会带来考核的不公正,伤害工作关系,伤害下属的工作热情。
实施要求:目标设置要具有时间限制,根据工作任务的权重、事情的轻重缓急,拟定出完成目标项目的时间要求,定期检查项目的完成进度,及时掌握项目进展的变化情况,以方便对下属进行及时的工作指导,以及根据工作计划的异常情况变化及时地调整工作计划。
总之,无论是制定团队的工作目标,还是员工的绩效目标,都必须符合上述原则,五个原则缺一不可。 制定的过程也是对部门或科室先期的工作掌控能力提升的过程,完成计划的过程也就是对自己现代化管理能力历练和实践的过程。
二、绩效考核的内容:
1.从问题出发,根据问题制定行动方案,对目标制定衡量标准。
2.绩效考核的内容:除了完成既有的测试项目(我称之为固有职责),还可以添加一些提高方面的目标。例如,在我的测试团队中先后经历过这几种目标:
a.固有职责+知识沉淀
b.固有职责+突破(技术突破或者个人问题解决)+创新
c.固有职责+影响力+创新 (目前是这个衡量体系)
附一张组内的绩效考核表格 <ignore_js_op>
1.业务测试质量。
2.团队结构
a.人员招聘成果
b.人员培养成果
3.团队氛围
a.团队TB活动
b.团队会议产出情况
4.团队积累程度
a.文章总结
b.公共用例库建立
c.对内讲座
d.对外影响力打造
5.技术创新:
a.自动化测试
b.白盒测试
c.性能测试
d.黑盒测试改进
6.管理创新:
a.流程规范改进
b.工作方法改进
....
还有很多,不再一一列举,请自己发散想吧。
我在这家公司也已待了三年。刚进公司不久,就委任我为测试部负责人,
一两年前,公司老总就想让我们搞自动化测试,
但是没人没技术,并且都把自动化想的很美,也不看看适不适合搞。
基于种种原因自动化一直没弄。我们都是给客户做传统项目的,也一直在弄自己的产品平台,但是到现在,
也没有稳定的产品版本出来。
由于各种个各样的原因吧,领导对我的工作有了看法。
目前我又怀孕了,所以由别人暂代测试部负责人了,这种情况下,我将何去何从?
或者公司的自动化将如何开展?
基于以前的经验,要做自动化需要注意的几个事项:
1.自动化准则问题,即什么样的模块适合做自动化测试?根据以往的经验:
1)需求稳定的模块适合做自动化,希望频繁变更的不适合。
2)功能逻辑层强的模块适合做自动化(例如搜狗浏览器的收藏功能有添加、删除、拖拽等等),纯UI层的模块不适合做自动化。
3)新功能不适合做自动化,需要反复回归的模块适合自动化。自动化的目的主要是将测试人员从重复性的工作中解放出来,主要是回归测试用。
2.自动化的收益比,即投入产出比问题。投入成本有:
1)人力成本,包括人员招聘、人员培养。
2)自动化脚本的开发成本。
3)自动化脚本的维护成本。
针对以上3个成本,我们需要尽可能想办法去降低成本,例如培养一个人掌握自动化和外面招一个有经验的自动化工程师相比,如果后者成本低则采用后者。
3.工具意识问题。自动化在我看来只是提高工作效率的方式之一,除了用例自动化的方式之外,我们还有很多中提高测试效率的方法,例如开发便捷的测试工具。
这个解决的方法很多,总结的来说有这么几种:
1)靠自己思考和分析。遇到问题不会马上上网查找,首先还是要自己打log、单步调试去查找原因。比如:我们在编写一个自动添加收藏的用例时,在某些环境会添加失败。通过打log等方式,在脚本中定位出来在部分机器环境上,窗口的类名参数会有不同,导致自动化脚本识别失败。
2)上网搜索查资料。一般是google,搜索的范围很广,没有特定的网站。
3)求助公司内部能力更强的人。如其他团队的牛人,或者求助开发。比如:我们在进行搜狗浏览器自动化测试时,由于新版浏览器采用了DUI技术,这使得窗口根本无法识别。这时候我们与开发沟通后,一同进行协作,开发在浏览器代码内部提供UIA自动化接口,测试开发工程师在外部对UIA的库函数进行封装,最终,我们一同解决了浏览器的自动化问题。
情况是这样的.现在在一家做证劵软件的公司上班.被测试的软件是用c++写的。现在看开发代码调试找bug都没问题.但是不怎么会写.看外面的职位要求高一些的测试都是要会java.python和vbs等等这些。现在的情况是 我java和c++都不怎么精通.网上说c++非常难不是专业开发人员没有必要学这个.所以搞得我很纠结.我本来准备学c++的(毕竟公司周围都是c++大神)又担心驾驭不了学个半桶水还不如学个简单的比如java学得相对熟悉一点更加靠谱,希望群主能指点一下.
C++的确是一门比较难的语言,之前做开发的时候听前辈们说,一般需要3-4年的持续不断学习和锻炼,才能在C++领域成为得心应手的专家,所以足见其难度。但话又说话来,C++如果熟练掌握,那么其他的语言则不成问题,所以学什么语言不成核心问题,核心问题是编程能力和coding能力的水平。
基于以上的问题,我的建议是:
搞清楚你要得到的是什么。
如果是在现公司要将测试的深度进一步加深(如单元测试)的话,那么必然还得死磕C++。
如果是在现公司要将自动化测试水平提升的话,那么外围的Pythonjava等语言都可以达到,所以可以考虑学一些高级脚本语言。
如果是看到其他公司的JD描述要求python考虑跳槽的话,那么我可以负责任地告诉你,JD描述的具体语言不是关键点,仍然是编码动手能力和扎实的基础。所以继续学习C++不矛盾,只要你学得扎实,有很强的动手能力,那么新公司仍然会接收你。
你好,诸葛先生。我是一名纯手工测试人员,从事黑盒测试也有几年了,之前一直在深圳发展,在刚好学习了点东西且工作可以得心应手的时候转到自己的家乡发展了,可能由于家乡发展的机会不多,也没有像那些一线城市在这行的各方各面的压力,导致目前工作一直比较安逸。几年了,感觉还在吃老本,还在用着两年前的思维与技术(一个小公司,测试不受重视是一方面。另一方面做的是纯手工的web界面测试),这让我很不安。现在因为一些私人原因目前没有换工作,但以后也不想这么发展下去。由于本人对代码还有一定的兴趣(熟练C语言,了解点JAVA),且深知自动化测试的优势与发展趋势,虽然公司目前用不到自动化,但想将学习自动化作为自己的前进目标。我现在的疑问就是不知道从哪里下手,只知道自己要学的东西很多,所以想麻烦诸葛先生对于我这种情况给出一定的建议与学习方向,不甚感激
hi,kellyred
您说的问题我理解是您未来职业发展的问题,我的建议是这样:
1.测试未来的职业发展有很多路,并不是只有自动化一条路可走,例如:
1)项目管理方向。对项目的过程管理进行持续不断的优化,尤其是最近这两年敏捷测试及项目过程实践,各个公司变得重视。
2)产品人员方向。
3)测试专家方向,这包括自动化测试专家、白盒测试专家、性能测试专家等等。
4)业务专家方向。虽然在技术上不是其长项,但是在业务领域方向非常熟悉,典型的有银行、电信项目的测试专家。
所以,您可以看看自己适合选择哪个。
2.知行合一。
无论是您最后选择了项目管理,还是选择了自动化方向,剩下就只有一个建议了:知行合一。学习--->实践--->总结----->再学习,通过这样一个过程,循序渐进。
举个例子:
1.发现工作中的问题。我们的组员每次测试输入法弹泡功能时,都要重复一些工作,比如设置注册表,配置一个文件,然后杀一些特殊进程,修改系统时间,最后切换输入法出来。那么这个工作过程中有没有可能去用一些脚本来解决呢?
2.学习和调研相应的语言。有同学就去自己学习了python语言,发现用python语言可以做注册表操作、文件操作、进程操作等相关的事情,所以他就边查书,边试着写脚本替代以上的过程,最后开发出来这样一个一键部署的脚本。
3.将之前学习到的知识点总结形成自己的笔记。然后重复以上的步骤1,再去挖掘更多的可以提升的脚本。通过这样一个过程,也许可以提升自己的能力。
大家好,我现在在一家新公司的一个项目组做测试工作,目前此项目组只有我一个人,后续还会不断招人;领导希望我能搭建完整的测试体系,包括技术、管理等,但我不知道如何下手,不知道从哪里开始。。请各位各抒己见,给予宝贵的意见和建议。非常感谢!
测试团队从小到大,个人觉得离不开两点:人和事1.人:
人员招聘
人员培训
目标设定
绩效考核
等等以上体系的建立
2.事:这个就比较大了,细节展开有
黑盒测试:
1)测试用例设计规范
2)BUG管理流程及相关规范
自动化测试:
1)自动化测试流程
2)自动化测试框架
...
测试管理:
1)缺陷管理系统
2)用例管理系统
3)测试流程中每个环节的规范、要求和辅助系统