lsekfe 发表于 2018-9-3 11:00:08

【你来问我来答第95期】:如何在零基础团队引入并推广接口自动化测试?(活动结束)


论坛ID:wanglidong1224真实姓名:王练现任公司: Raisecom现任职位:部门经理工作经验:2009年计算机硕士毕业,一直从事软件测试相关的工作。从基础测试工程师做起。目前担任 Raisecom平台测试部门经理。有丰富的软件测试实战经验,擅长接口自动化测试,Web,桌面UI自动化测试,性能测试,有测试团队管理和软件质量提升经验,持有软考系统分析师和系统架构师认证。嘉宾语录:如何才能持续成长,是每一个测试人员都绕不开的话题。入行之初,你可能会困惑于技能选择的方向和掌握的方法,测试前期,你可能会苦恼于如何提升自己的技术水平,技术水平达到瓶颈期,你可能又急于寻求突破和上升。但,还好总会有那些“走在我们前面的人”,别人留下的“脚印”和路径可以给予正在成长阶段的你很多启发与指引。在这专栏里,王老师将结合进十年的测试从业经验,设身处地去思索,去剖析,去拆解软件测试不同阶段可能面临的实际困惑与问题,并给出可供参考的答案。在零基础团队引入接口自动化测试方面,王老师有着清晰的路径和完整的体系,帮助你的测试之路走的更稳,更远。嘉宾作品:实战测试开发三部曲之大数据可视化管理平台 点击进入>>>http://bbs.51testing.com/data/attachment/forum/month_1112/11120109519a27fc08591f92eb.gif
各位会员可以在09月10日前以回帖的方式向客座专家提问。
(请大家围绕本期客座专家的擅长领域进行提问、探讨)
客座专家将在09月11日—09月30日为大家集中解答。
机会难得,欢迎大家踊跃提问!

jingzizx 发表于 2018-9-3 13:25:57

:lol

jingzizx 发表于 2018-9-3 13:27:10

王老师,你好,在初创自动化团队的初期,有什么注意事项吗?目前团队初创,技术未统一,都是一边学习,一边建设,求指点!谢谢

Miss_love 发表于 2018-9-3 18:43:02

支持

applepen 发表于 2018-9-4 09:23:21

自动化从无到有的过程很艰难。尤其是对于技术能力欠缺的团队。
会走很多的弯路。请问老师自动化从零到有怎么样才能少走弯路?

xiangyue 发表于 2018-9-4 11:00:15

王老师,怎样提高测试的质量和效率?求指点迷津

wanglidong1224 发表于 2018-9-4 11:27:27

jingzizx 发表于 2018-9-3 13:27
王老师,你好,在初创自动化团队的初期,有什么注意事项吗?目前团队初创,技术未统一,都是一边学习,一边 ...

对于初创的团队,不同的公司,不同的业务方向都会面临不同的困难。
我从管理方面和技术方面进行分享。
首先,管理方面。自动化团队短时间内无法给出成效,曾经有人问过我:你们现在做的自动化测试,对于公司而言,成效体现在哪里?
这是一个领导的原话,其实对于高层领导而言,并不特别在意人员能力提升,团队的技术底蕴提升,他关心的是你做的这个事,给业务、给公司带来什么好处。
初创团队在技术上,可以进行边建设边学习,但对于领导的"安抚"和兄弟部门的沟通才是需要注意的。
要尽可能让领导增强信心、加大耐心,同时要把阶段性的成果,如实的汇报,而且这些成果一定要以领导的预期为结果导向。
对于兄弟部门,如果是从来没有过自动化团队的情况,就会更复杂一些。
自动化团队是作为平台输出,还是某个部门(或业务线、产品、项目)的排头兵,作为团队负责人,要有明确的定位。
对于自动化团队出现后的流程变更、人员培养模式的变更,都要根据团队的定位与开发部门、质量部门、人力等做相应的沟通。
第二,技术方面。技术选型一定要做,一方面在选型的过程中可以比较优劣,选择最适用的。另一方面在选型的过程也是考验人的过程,
根据选型工作的完成情况,对团队的人员进行分级,为后续自动化推广做好分工。这里面,团队负责人的作用非常关键,需要密切关注
行业的动向,对选型的技术要都有所涉猎,重点的技术要了如指掌。技术选型的速度一定要快,结合第一条和领导沟通的情况。
技术框架确定后,结合团队人员的能力情况,进行分级,部分代码能力强的进行基础框架开发工作;其他代码稍欠的同学,尽量减少代码负担,
重心在于把业务落地到框架中。无论是框架开发还是,业务落地,作为团队负责人一定要负责具体的工作,防止开发出的框架不好用、无人用。

初创团队困难很多,但也有好处,由于是初创,领导会有一些容错度,所以即便是一点点小进步,也是测试团队的大进步。
祝你顺利。

wanglidong1224 发表于 2018-9-4 11:28:06

applepen 发表于 2018-9-4 09:23
自动化从无到有的过程很艰难。尤其是对于技术能力欠缺的团队。
会走很多的弯路。请问老师自动化从零到有怎 ...

你说的技术能力,可以归结为代码能力。自动化但从技术角度看,要想干成,需要代码能力和业务能力。
对于从无到有的过程,代码能力更为重要。而从1到100,业务能力就更重要了。
在从无到有的时候,为了避免走弯路,一定要做好调研,就是技术选型了。
我们说的弯路,实际上是对工作量的一种优化,引入不好的框架,后期脚本开发、脚本和框架维护、移植都会带来大量的工作。
也可能会出现,框架无法适配业务需求的情况,比如在自动化后期,有可能会联合质量评估体系,有可能会联合测试管理、项目管理体系。
所以,在开展自动之前一定要做好调研。业界在各层面自动化的方案都做一下对比,对比的时候可以分层进行。
首先,在是否开源、是否免费、是否能接受商用等大的方向进行对比,选择备选的几个方案进行细化。
之后,进行细致的对比,这里就需要进行一些demo性的实验的,对比的方面我总结为自动化的生态系统:
1、基本元素:UI的界面识别,接口的请求类型。
2、编程语言:框架使用的编程语言是否通用。
3、开发环境:是否提供友好的IDE,或有可替代的IDE。
4、容错处理:是否支持场景恢复,防止用例的批量失败。
5、用例管理:用例的灵活管理。
6、数据驱动:是否支持进行数据驱动、关键字驱动。
7、测试报告:测试报告是否详细、美观。
8、并发执行:测试执行效率能否提高。
9、扩展性:与其他系统集成的难度,自身模块的可替代性。
10、持续集成:与持续集成结合的难易程度。
当完成这些方面的对比后,相信已经有了比较清晰的选择了。
之后就是有计划的实施自动化的过程。
以我的经验来说,自动化往往是测试人员自己在踢自己的屁股,因为项目上的需求是完成测试,至于途径是自己选的。
所以,一定要有革自己命的决心,只要制定好的自动化目标,牙咬碎了也要完成!
祝你顺利完成任务。不要给自己太大压力,不走弯路是不可能的,尽量想多点,能避免则避免。避无可避,以目标优先!

wanglidong1224 发表于 2018-9-5 09:52:26

xiangyue 发表于 2018-9-4 11:00
王老师,怎样提高测试的质量和效率?求指点迷津

王老师,怎样提高测试的质量和效率?求指点迷津
这个问题和本次主题不是特别相关,对于测试团队,想要提高测试的质量和效率,是需要认真思考的。
首先说提升测试效率,肯定是引入自动化测试。根据团队和公司的整体情况,分步引入自动化测试。
自动化除了功能相关的UI、接口、单元之外,性能测试的自动化也可以在合适的时间引入。
再说测试质量的问题,自动化只能解决效率的问题,但测试质量需要多个团队的配合才能完成。
从务实的角度,测试质量需要有个非常科学的指标进行衡量,我的建议是在指标中加入如下参数:
1、缺陷泄漏率 2、测试覆盖率 3、千行代码缺陷数
当然,还有很多参数会影响测试质量,这三点是必须的。
在有了科学的衡量之后,与QA、开发以及相关人员制定规则,进行实施。
在这个过程中,自动化是手段,不是目的。
祝你顺利。

libingyu135 发表于 2018-9-6 14:31:42

支持一下,王老师长得好帅气

libingyu135 发表于 2018-9-6 14:34:53

请教2个问题:
1.任何项目都适合自动化吗?在我的判断来看用不上自动化,但是领导希望做这个东西来提示部门含金量,这时候有必要去据理力争吗?
2.在初创时,对于人力的投入如何安排合理?目前团队的人力紧张,对代码这块也很薄弱

wanglidong1224 发表于 2018-9-7 11:04:39

libingyu135 发表于 2018-9-6 14:34
请教2个问题:
1.任何项目都适合自动化吗?在我的判断来看用不上自动化,但是领导希望做这个东西来提示部 ...

感谢参与交流。
1、不是所有项目都适合自动化,并且自动化不能解决所有问题。
   项目周期短,功能不稳定,做自动化就是自己给自己挖坑。最终的结果是:开发改功能的代码、测试改测试的脚本,劳民伤财。
   只有功能稳定了,才具有进行功能自动化的前提。如果能保证接口的稳定,前期引入接口自动化是可以考虑的。
   项目中,领导有很大的话语权,做不做自动化还是要综合考虑。相信领导不会仅仅为了部门的含金量,牺牲掉项目整体利益的。
   所以,遇到这种情况,不要据理力争,要实事求是。具体业务测试需要多少工作量,引入自动化会牺牲掉多少工作量,带来的收益率是否核算。
   实事求是的帮助领导算好项目和技术含金量的帐,相信领导会有明智的选择的。
2、我理解你的问题是指初创的测试团队,如何安排业务测试和测试开发的工作。
   初创团队以业务测试为主,首先将产品的业务测试承接起来,交付让人放心的产品,再谋求技术上的进步。
   在业务测试中,根据具体的需求,再引入对应的测试开发工作。
   测试开发包括很多方面,除了框架开发、自动化脚本编写,当业务测试遇到人力无法解决的问题时,都会涉及到。
   比如数据的脚本准备,网络协议的模拟等等,所以基于具体业务的需求,进行测试开发,才会有的放矢,也会真正反哺项目。
   测试开发和业务测试,不是对立的关系,是共赢的关系。通过测试开发完善业务测试;通过业务测试证实测试开发。
   
对于代码薄弱这块,不用过于担心,代码只是逻辑的实现,熟能生巧。各种测试框架也都比较容易上手。
最后,祝你顺利。

wanglidong1224 发表于 2018-9-7 11:06:02

libingyu135 发表于 2018-9-6 14:31
支持一下,王老师长得好帅气

见笑了,这是王老师20年前的样子。;P

wanglidong1224 发表于 2018-9-7 11:06:13

libingyu135 发表于 2018-9-6 14:31
支持一下,王老师长得好帅气

见笑了,这是王老师20年前的样子。

17750219806 发表于 2018-9-9 20:57:25

QTP作为黑盒测试工具,对于小公司适用吗,一直学的很艰辛,如果不适合,有其他的测试工具可以推荐吗

wanglidong1224 发表于 2018-9-10 11:11:39

17750219806 发表于 2018-9-9 20:57
QTP作为黑盒测试工具,对于小公司适用吗,一直学的很艰辛,如果不适合,有其他的测试工具可以推荐吗

QTP是很经典的自动化测试工具,除了黑盒自动化外,接口、API测试也是支持的。
同时QTP周遭的配套很全,比如有测试管理的QC/ALM工具,是非常完整的自动化系统。
我理解你说的艰辛,开始学习自动化也是从QTP开始的。
QTP上手慢有两个原因:
一个是上面说的,QTP是完整的自动化生态系统, 但也是比较封闭的,它已经很完整了,所以不希望用户有太多天马行空的想法,所以会限制你的自由,就会让人感觉无所适从。
另一个,QTP基本是所有学习自动化人的第一次尝试,没有自动化的经验,很多问题没想明白,有些问题第一次处理。其实换做其他工具也会遇到的,只是第一次尝试,就会感觉一步一个坎。所以不要怀疑QTP,更不要怀疑自己。
艰辛是个过程,不知道你有没有类似的其他艰辛的过程。趟过当前的问题,回过头来,你会发现,原本没有那么难。
QTP是否适合小公司,要看具体的产品、业务,还有公司的自动化容许度。如果想要快速出脚本,看效果,QTP是很适合的。但要考虑两个问题,1、收费的问题,未来公司能否接受破解使用或者花钱使用;
2、资料问题,由于QTP的封闭性,网上的资料比较个性化,不一定适合当前的项目,遇到问题得到的支持会有些欠缺。
能够完成自动化的工具有很多,QTP、Selenium,IBM的RFT,Ruby写的watir,印度的sahi。
根据具体产品的形态、需求,公司的容许度,进行选择。

sunmin415 发表于 2018-9-10 16:41:34

谢谢老师

逃不掉 发表于 2018-9-12 14:44:48

视频直播这一块怎么做压力测试

wanglidong1224 发表于 2018-9-19 13:48:55

逃不掉 发表于 2018-9-12 14:44
视频直播这一块怎么做压力测试

这个问题和主题太不相关啦~~,也可以一起交流一下。
视频直播,是分很多平台的,比如pc端的,手机端的,pc端的有分web的和客户端的。
不同的平台协议是不同的,压力测试实际是对协议的模拟,所以要针对实际的产品进行协议的分析。
对于直播系统,除了平台之外,还需要考虑阶段性的测试,大体上直播系统分为采集---传输----回放。
压力测试的重点在于寻找瓶颈,所以要对各个阶段的协议进行模拟和测试。分阶段后,就可以针对各个阶段进行重点的数据构造和协议仿真了。
协议仿真需要一定的网络知识,通过实际报文的分析,选择合适的工具进行测试。

m5433660 发表于 2018-9-19 17:11:37

王老师你好!
我们公司现在产品业务比较稳定,打算做接口自动化,目前遇到以下几个问题想请教一下:
1、首先就是人员的技术功底不一样,而且有功底的,大家擅长的语言也不一样。
2、部分人员觉得现在测试任务比较紧,如果分出部分资源出来做接口自动化,业务测试上面会有压力。
以上2个方面应该来如何平衡?
3、我们团队没有接口测试相关的技术领头人,大家都只有边学边试着做,从无到有,应该按照怎样的步骤来走?老师能否提供一个系统的学习路线呢?
问题有点多,麻烦了
页: [1] 2
查看完整版本: 【你来问我来答第95期】:如何在零基础团队引入并推广接口自动化测试?(活动结束)