你怀里的温度,从来都不属于我
对于没有进入IT领域的同学而言软件测试并不陌生但如果听到测试开发他们一定会感到十分困惑这究竟是测试呢还是开发呢
按照字面意思理解大家或许会觉得测试开发是指既能开发产品又能测试产品的技术王者但其实并非如此今天我们就来看看这两者到底有什么区别
什么是软件测试
顾名思义就是在规定的条件下对一个产品或程序进行操作以发现程序错误衡量软件质量并对其是否能满足设计要求进行评估的过程
测试工程师主要工作内容是检查软件有没有Bug是否具有稳定性并写出相应的测试计划测试规范测试用例测试数据测试报告他们在一个项目中担当类似质量管理的角色及时纠错及时更正确保产品的正常运作
什么是测试开发
随着行业发展为了提升产品质量节约人力成本企业会招聘专门的功能测试人员为完成的产品进行专业测试
但是当公司扩大发展之后为了优化团队提升效率单纯的功能测试人员就会成为企业短板而此时企业为了保持团队运行提高测试效率降低测试成本使测试价值最大化便会引入测试开发人员
51, 51, 51; text-indent: 2em;">测试开发的核心职能依然是测试
只是工程师在具备测试经验熟练使用测试工具并有一定开发能力的前提下可以自主开发平台或对现有开源工具进行二次开发最终目的是提升产品测试效率
举个栗子
测试一款手机应用APP如果使用普通的手工测试我们必须把市面上绝大部分手机都拿来使用这是非常耗时且重复的工作因为APP的功能是一样的你的目的只是要测试这款App在不同厂商的不同手机型号的兼容性
如果使用自动化测试它可以用简单的脚本实现大量的重复的操作从而通过对测试结果的分析得出结论这样不仅提高了效率节省了大量的人力和物力而且测试结果也会更加准确
这有点类似于分拣快递普通测试就是用人肉来分拣快递测试开发就是一个人发明了自动机器人来分拣快递看起来后面这位更高级但实际上都是在分拣快递只是自动机器人的效率更高一些
软件测试和测试开发对其从业人员的要求有什么不同
普通的测试人员不需要有太强的编程技术普通应用或是代码段能看懂就行思考问题时要全面细致有原则对产品敏感不能跟着开发和产品走这是测试人员的基本要求
测试开发人员需要写测试工具自动化测试代码具备一定的开发编码能力虽然不像开发那样深入地掌握一种编码语言但对于脚本语言还是要有所掌握比如JavaPythonphpshell有时也需要会cc++ruby等编程语言
说到底其实这两个职位都属于软件测试体系只是软件测试工程师是纯粹的软件测试执行执行用例而软件测试开发工程师是测试体系里面会使用测试工具或者能开发测试工具从而提高测试效率的软件测试人员这也是未来的趋势所向