软件测试和测试开发有什么区别?

对于没有进入IT领域的同学而言,软件测试并不陌生,但如果听到测试开发,他们一定会感到十分困惑,这究竟是测试呢?还是开发呢?


按照字面意思理解,大家或许会觉得测试开发是指既能开发产品又能测试产品的“技术王者”,但其实并非如此,今天我们就来看看这两者到底有什么区别。 什么是软件测试?


顾名思义,就是在规定的条件下对一个产品或程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
测试工程师主要工作内容是检查软件有没有Bug,是否具有稳定性,并写出相应的测试计划、测试规范、测试用例、测试数据、测试报告,他们在一个项目中担当类似“质量管理”的角色,及时纠错及时更正,确保产品的正常运作。  什么是测试开发?
随着行业发展,为了提升产品质量、节约人力成本,企业会招聘专门的功能测试人员为完成的产品进行专业测试。
但是当公司扩大发展之后,为了优化团队,提升效率,单纯的功能测试人员就会成为企业短板,而此时,企业为了保持团队运行、提高测试效率、降低测试成本、使测试价值最大化,便会引入测试开发人员。

测试开发的核心职能依然是测试。
只是工程师在具备测试经验、熟练使用测试工具并有一定开发能力的前提下,可以自主开发平台,或对现有开源工具进行二次开发,最终目的是提升产品测试效率。 


举个栗子!
测试一款手机应用APP,如果使用普通的手工测试,我们必须把市面上绝大部分手机都拿来使用,这是非常耗时且重复的工作,因为APP的功能是一样的,你的目的只是要测试这款App在不同厂商的不同手机型号的兼容性。
如果使用自动化测试,它可以用简单的脚本,实现大量的重复的操作,从而通过对测试结果的分析,得出结论,这样不仅提高了效率,节省了大量的人力和物力,而且测试结果也会更加准确。 这有点类似于分拣快递,普通测试就是用人肉来分拣快递,测试开发就是一个人发明了自动机器人来分拣快递,看起来后面这位更高级,但实际上都是在分拣快递,只是自动机器人的效率更高一些。 


软件测试和测试开发对其从业人员的要求有什么不同?
普通的测试人员不需要有太强的编程技术,普通应用或是代码段能看懂就行。思考问题时要全面、细致、有原则,对产品敏感,不能跟着开发和产品走,这是测试人员的基本要求。 测试开发人员需要写测试工具,自动化测试代码,具备一定的开发编码能力,虽然不像开发那样深入地掌握一种编码语言,但对于脚本语言还是要有所掌握,比如:Java、Python、php、shell、有时也需要会c、c++、ruby等编程语言。 说到底,其实这两个职位都属于软件测试体系。只是软件测试工程师是纯粹的软件测试,执行执行用例。而软件测试开发工程师,是测试体系里面会使用测试工具,或者能开发测试工具从而提高测试效率的软件测试人员,这也是未来的趋势所向。

原文地址:https://www.cnblogs.com/woniuxy/p/11512985.html