在之前的很久一段时间内,我都会思考一件事情,我是一名软件测试工程师(姑且可以这么说),每天面对的是测试用例,bug等这些东西,那么我真正的价值到底是什么呢?
怎么说呢,可能不止是我,相对来说身在这个行业的人大部分也有这样的疑惑吧,嗯,今天就给大家分享一下我求高人、访名师之后的到的结果吧
——什么是软件测试呢?
首先呢肯定要看一下官方的解释:
1979年,Glenford Myers(美 梅尔斯),<软件测试艺术>[The Art of Software Testing]:为了发现错误而 执行程序或者系统的过程
1983年,Bill Hetzel在《软件测试完全指南》(Complete Guide of Software Testing)一书中指出:测试是以 评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。
1983年,IEEE软件工程标准术语:使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它 是否满足规定的需求或弄清预期结果与实际结果之间的差别。
可以简单的说一下,测试可以分为两个步骤:首先运行程序,先保证程序整体的正确性;其次,检查功能是否满足用户需求。
上面的都是特别书面的标准答案,下面就来说说个人的想法
你有见过创业公司招专职QA的吗,至少我认为没有,谈一下我对QA在一个公司内部的进化过程的理解,简单的说, DEV是最好的测试,但专职的QA是专业化分工的结果。
不管是whatsapp、facebook、google、dropbox,最开始都是只有几个人的小公司,员工都是身兼产品、开发、测试,甚至市场运营等职位。
讲到这里,好像还没有QA什么事。但是接下来就是QA出场啦!!!!
随着公司继续发展壮大,比如又又拿到一笔风投之后,第一件事当然还是招人啦,公司规模随之扩大。 随后产品中可能出现写代码的QA也解决不了的问题,比如产品用户体验、产品性能、服务器受压程度等,光会写代码的DEV已经不能解决这些问题了,这时公司就需做更加偏向用户角度的测试。
我想传统意义上的QA应该划入这个类别。随着公司不断发展,比如发展到微软几万人的规模,QA人数已经和DEV基本持平。在微软QA叫SDET,还是和开发搭边,既要会写代码,又要懂用户。纯粹的手动测试已经非常少了。
也就是说QA在一个公司不是一开始就有的,而是公司发展过程中专业化分工的结果。
下面就给大家提供一下软件测工程师的标准职能
——软件测试岗位有哪些
软件测试开发工程师,测试工程师,软件开发测试工程师
按测试对象分:web测试工程师,app测试工程师,游戏测试工程师
按是否手工分:手工测试,自动化测试
按测试分类:功能测试,性能测试,安全测试
按级别:初级,中级,高级,资深,组长,主管,经理,总监等
——软件测试在不同公司的定位
职能性和项目性:职能性是指按职能分部门,有项目之后从各职能部门中调人去参与项目;而项目性是指,按项目进行安排,一个项中的人是固定的,只受项目经理的管辖,除非项目不再跟进,则人员重新安排。
综合性:综合性是指按部门分,但是包含常规测试人员,会长期负责某个具体项目,也包含非常规测试人员,流动去各个项目。
——软件测试与研发的异同
软件测试广度大,专业度低;研发广度小,专业度高;
软件测试要求更广泛,业务能力,设计和架构分析能力;
测试一般情况下比研发轻松,但是敏捷模式下差距不大,产品发布前压力较大;
还有就是测试与研发下调试的区别:测试的任务是发现程序中的缺陷,调试的任务是定位并且解决程序中的问题;调试主要是由测试和开发人员来执行,黑盒测试主要由测试人员完成,单元/集成测试主要是由开发人员执行。调试由开发人员完成;测试观察整个软件开发生命周期,调试一般在开发阶段。
end
推荐阅读:
网友评论