关于测试¶
发现问题,分析问题(分析出问题也就解决了一大半),解决问题
测试开发¶
测试开发并不是开发,本质上依然是测试,需要深入理解被测业务,根据场景和目的开发对应的工具或者框架,以提高测试效率和质量。
最不想要懂一点技术又懂一点业务的人,这种人要的薪资很高,但其实啥都不会。
要么技术特别厉害,懂底层的技术。要么业务特别熟练,但这种人往往换一个业务就不行了。
不是说只有开发了什么什么工具和平台才是技术,技术是你解决问题的能力。
- 测试架构师
开发是所有问题都能解决,遇到问题就去解决,just do it
架构是所有问题都可以分解,遇到问题先分解,所有的问题并不是只有0和1两个状态或者结果,从0到1是一个过程,可以被分解成若干份。
那些高大上的技术工具框架对我们的业务其实没有什么帮助,我们应该思考底层的能力,逻辑,思考清楚业务,能力。能做什么?能解决什么问题,重复使用?浪费时间?
从业务层面想:分享,qq微信微博等有何不同?分享即成功,做过很多业务经验,但是换个业务完全是零,所以要思考底层的差异
从技术层面想:比如兼容性:不用挨个测,不同浏览器内核,不同系统等,比如安卓新系统兼容性测什么?就是安卓8和安卓7有何不同
职业发展¶
开发领域已经有那么多优秀的前辈,我觉得不少我一个,而测试领域非常专业的人才还很少,我觉得我能有机会,而且测试发展空间其实也挺大的,自动化测试,性能测试,安全测试等。而且从产品角度思考问题,加上增长黑客的意识,职业道路还是挺宽泛的,相信努力以后会做到话语权更高的职位。
个人价值,公司价值,用户价值,个人和企业价值同步,通过量化而进化。
测试经理应该是被消灭的,大家应该都做到,扁平化,赋能的作用。比如一个家庭老公和老婆,过日子需要一个人来管么?自治。比如大学,虽然有老师,但不能指望老师教了,要有自己的价值。 90后不好管理?最好管理,要么给钱要么他喜欢。而80后还要画饼。
测试工程师的自我修养?¶
测试必须先了解业务架构
我们常常会说一个测试的研发能力怎样怎样,但往往忽略了一个开发的测试能力,是的,很多测试的研发能力不足,但同时,很多研发的测试能力也非常差。
对于高阶测试开发,有些bug不是测出来的,而是分析出来的
会那么多工具,为什么用,好在哪里,要学会思考,掌握底层原理,而不是所有经验都单纯的来自工作
单元测试、埋点测试、code review 等其实都不应该归属于测试职责范围
测试左移最主要就是持续集成
基础能力¶
- 良好的沟通和表达能力
这是一切的基石与前提。
- 快速学习与理解能力
作为测试要深入理解业务需求,明确测试重点,但业务知识不等同于测试能力,面对业务的变化以及其它的业务,要能快速学习,理解本质,融会贯通才是关键。
- 自我管理能力
互联网公司目前都越来越扁平化,管理也会越来越扁平化,每个人都应该学会自我管理。比如了解被测目标,及其涉及的人员和资源,合理制定测试计划,安排测试进度,评估测试风险。
- 探索创新能力
专业能力¶
- 用例设计能力
- 缺陷分析与定位能力
- 测试开发能力
自动化测试¶
自动化本身并不难,难的是产生价值。
- 自动化测试只是一种测试手段,仅能替代重复的手工操作,并不能替代手工测试。
- 自动化的本质是发现变化的东西对不变的东西的影响,即主要用于回归测试,验证新功能是否影响了旧功能。
- 自动化一定是基于业务的,必须要考虑可重用性和维护成本,不要为了自动化而自动化,从而违背测试的宗旨。
自动化不是银弹,而且有很多成本:开发成本,维护成本,与手工测试重复测试造成的无用功损耗。
开发告诉你改了哪里,只测相关的改动,但是线上却出现了问题,出在那些没有改动的地方,所以经验性的减少测试case是没有依据的,但是又有时间的限制,我们不能cover所有,所以需要自动化。
自动化依据的是测试用例,测试用例遗漏或者出了问题,自动话也一定是有问题的,所以自动化不能解决所有问题。也不能与手工无缝衔接
自动化主要搞定环境和数据(为满足不同场景需要参照数据,即动态数据)
自己做的云测其实根本用不起来,不现实,除非testin这种云基础,公有云不行,私有云,随插随跑(想到百度之前的架子)
自动化有没有用?有必要做,但为啥做着做着就失败了呢,有成本,有特定环境,试用范围。
更多的只是团队能力的积累和提升。很多测试人员偷偷学自动化然后跳槽,团队可以一起公开搞,提高团队能力。
自动化维护成本很高,而前端是最容易变得东西
质量保证是上层的东西,质量控制是底层的
关于线下测试大会¶
几乎所有的主题其实本质上都是在讲:如何保证质量的同时提高测试效率,毫无疑问,就是自动化,自动化不是使用各种工具替代手工测试那么简单,它更多的是一种思想。
了解了行业内在做什么,水平是什么,我们和他们差距有多少。
讲师把这些东西讲出来更多的只是对他们自己有价值,而听众只是一时兴奋,过几天就忘光了。确实如此,不过大咖们分享的思考问题和解决问题的方式还是挺有价值的,值得学习一下。
测试平台¶
真正以技术为主的团队,通常不会用那些奇淫巧计,测试平台在测试开发中优先级可以放低,底层框架搭建好利用闲余时间可以搭建平台,提升下易用性
大可不必为了搭建平台而搭建,利用Django等框架快速搭建,没必要深入Vue等前端的技术栈,更不要做为发展方向,那并不是作为测试的重心