monicazhang 发表于 2017-8-16 15:54:48

你必须知道在做自动化测试之前做些什么?


测试职业的再认识:“这个问题是写给想要做自动化测试的人,或许你以为软件测试的门槛很低,低到任何人都可以做,随便点点就可以了,这个行业太low了,所以你想做自动化测试,提升自己的逼格,我想说手工测试并不low,如果让一个什么都不懂,一点业务基础都没有的人去做测试,能测出来问题吗?不要忽略你的业务知识储备。”以上文字,引自Young的原话,小编看后只有一个感受:说到心坎里了,太T*D对了!自动化测试人员能力素质:随着这几年国内IT行业的快速发展,测试这一职位也越来越受到企业的重视,但是测试人才却存在巨大的缺口。为了尽快满足项目的需要,所以很多企业招聘时就会降低对测试人员的能力要求,进而导致这一职业被外界普遍认知都是:门槛低、水平低,就是随便点点;许多的待就业人员也会形成同样的认知,大量涌入这一岗位;进而影响下一波人…….如此恶性循环下去。其中有一批人觉得这个行业太low,觉得自动化够高大上,在没有打牢测试基础的情况下,开始学语言,立下要做自动化测试的方向…...但是殊不知测试基础都没有做好,写出来的脚本根本不能解决问题。这以上就是测试行业的现状和自动化测试人员参差不齐的原因。借着这个机会,小编想说明一下:一位优秀的自动化测试人员应具备的能力和素质。
从下到上,依次分别是:基础素质、测试能力、代码能力、平台架构能力和核心驱动力。正如金字塔形状,下层是上层的基础,如:基础素质是测试能力的基础、测试能力是代码能力的基础、代码能力是平台架构能力的基础…..基础素质一个人做任何事都离不开基础素质要求,它是根基和基础。
[*]细心:做事情细致认真,它体现在方方面面,例如:简历格式是否都对齐、有没有错别字、测试发现中一个小的UI错误都不会放过。
[*]耐心:做测试也好,做自动化测试也好,都会遇到许多重复的、枯燥难以解决的问题,这时候最需要耐心、沉着应对工作中的各种问题,不浮躁。
[*]责任心:就是要自己负责的事情做到最好,举个极端的例子:哪怕是第二天就要离职了,也要在离职前把自己负责的工作都做好。
以上三点,是做所有事情都需要的素质,在测试这一行业尤其重要。
[*]学习能力:正如Young在其文章中所说的:"软件行业从桌面软件到web端,又从web端迁移到移动端,谁也不知道下一个是什么。而我们作为软件行业的从业者,不能因为那些很火的东西不火了而让自己没落,一个人最为核心的能力就是学习能力,如果你善于学习,你就不必担心这些变迁,因为你可以毫无压力的迁移,selenium的原理你掌握了,学习appium简直小菜一碟…..."
[*]问题分析能力和问题解决能力:手工测试或自动化测试过程中,一定会遇到各种各样的问题。这些问题需要大家发挥各自的聪明大脑,分析原因、找解决方案、不断去尝试...你把这些问题独立解决了,你的能力就提升了,东西也学到手了。在QQ群里,小编经常看到有许多的同学,想都没想、查都没查,就把问题抛到QQ群里找人解决,这样的话你是得不到锻炼的。
[*]总结能力:学过的东西或解决过的问题,要善于经常性地把它总结和记录下来,否则时间久了就忘了。
以上是对测试人员的基础素质要求,一般情况下从业不久的同学,在以上的素质要求上都或多或少有欠缺,这需要在未来的工作中持续不断地进行改进提高,贯穿整个职业生涯。测试能力牢固的测试能力是未来做自动化的基础。简单来说,如果没有很好的测试能力,那么就….
[*]无法很好地发现测试过程中的效率问题,
[*]无法很好地设计有效的用例和自动化用例,
[*]无法很好地知道在整个项目流程中什么时候引入自动化,
[*]无法很好地发现BUG,
最终的结果就是没有价值!没有价值的东西是不会被认可的。代码能力高质量的自动化测试脚本所必备的能力。这里一般都会有一个误区:很多同学以为掌握了一门语言就是代码能力OK了,其实不然,自动化测试脚本也是需要有代码健壮性、代码扩展性、代码稳定性要求的,而良好的代码功底、数据结构和算法,可以开发出高质量的自动化脚本,这会极大地减少后期自动化脚本的维护成本。平台架构能力:随着自动化脚本所解决的问题逐步增多,范围逐步扩大,对自动化脚本的架构设计也会提出更好的要求。举例来说:在手机输入法项目,一开始你可能只需要用python+uiautomator(一款自动化框架)写一个脚本满足打字的自动化需求即可;慢慢地,项目要求不再局限于只是打字了,需要你把换肤自动化、发表情自动化、安装卸载自动化…..;再后来,自动化需求会变为这些自动化的操作要进行随机混合在一起…..这时候就需要有平台架构能力,去搭建一个扩展性强、稳定性高的自动化测试框架了。创新意识这是核心驱动力,尤其是自动化相关的工作。自动化测试人员成长之路:按照小编的工作经历,对于有意愿成为自动化测试专家的同学,分享下自动化测试之路。第一步:打好扎实的测试功底。时间跨度:2年~3年。在这一阶段,将自己的测试功底打牢,一方面锻炼和积累自己的测试能力,另外一方面持续地学习脚本语言,为后续的工作打下基础,同时持续不断地提升个人的基础素质。第二步:将所学语言用于实践并锻炼。时间跨度:1年~2年。当第一阶段的测试功底打牢之后,后续的项目中如果有机会,就可以逐步地去自动化技术解决一些重复的、性价比高的自动化问题,在实践的过程中再巩固学习。第三步:主动挖掘和解决工作中的效率和质量难题,并不断地解决更难的问题,积累更多的经验。时间跨度:2年~3年。第四步:深入钻研相关领域的知识和技术,将自动化技术应用于在更大范围和更多的项目,形成自己独特的成果。时间跨度:3年~5年。
原创:Deadwalk

页: [1]
查看完整版本: 你必须知道在做自动化测试之前做些什么?