Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >测试开发:是测试还是开发?

测试开发:是测试还是开发?

作者头像
DevOps持续交付
发布于 2023-12-06 10:35:18
发布于 2023-12-06 10:35:18
1.1K0
举报
文章被收录于专栏:DevOps持续交付DevOps持续交付

软件工程中,测试和开发是两个核心的环节。这两个环节相互依赖,相互影响,构成了软件产品的整个生命周期。然而,在近年来,随着敏捷开发持续集成、持续交付等先进开发模式的普及,一个新的角色——测试开发工程师,逐渐进入了我们的视野。他们的工作似乎同时涉及到了测试和开发两个领域,那么,测试开发是测试还是开发呢?

一、从历史背景看测试开发的起源

在传统的软件开发过程中,开发和测试往往是分开的。开发人员负责编写代码,完成功能实现,而测试人员则负责对开发人员提交的代码进行测试,确保其质量和稳定性。这种模式虽然可以保证软件产品的质量,但测试环节和开发环节的割裂往往会导致效率低下,且可能出现沟通不畅、反馈不及时等问题。

为了解决这个问题,一些公司开始尝试将测试环节和开发环节结合起来。测试人员不再是单纯地对开发人员提交的代码进行测试,而是参与到整个开发过程中,与开发人员一起协作,共同保证软件产品的质量。这个过程中,测试人员不仅要进行传统的测试工作,还要进行一些开发工作,如编写测试脚本、搭建测试环境等。这就是测试开发的起源。

二、从工作内容看测试开发的性质

从上述描述中,我们可以看到,测试开发的工作内容既包括测试,也包括开发。具体来说,测试开发工程师的工作包括:

1. 编写测试计划和测试用例:这是测试环节的核心工作。测试开发工程师需要根据产品需求和用户故事,编写详细的测试计划和测试用例,确保软件产品的功能和性能符合预期。

2. 执行测试用例:在编写完测试用例后,测试开发工程师需要执行这些用例,对软件产品进行实际的测试。在这个过程中,他们需要使用各种工具和技术,如自动化测试工具性能测试工具等。

3. 调试和修复问题:当测试过程中发现问题和错误时,测试开发工程师需要与开发人员一起协作,调试和修复这些问题。这个过程中,他们可能需要查看日志、分析代码、修改代码等。

4. 编写和维护测试代码:为了提高测试效率和质量,测试开发工程师需要编写和维护测试代码。这些代码可以是自动化测试脚本、性能测试脚本等。

5. 搭建和维护测试环境:为了确保测试的准确性和可靠性,测试开发工程师需要搭建和维护一个稳定的、可靠的测试环境。这个环境需要包括各种硬件、软件和网络设备。

三、从技能要求看测试开发的定位

从工作内容可以看出,测试开发工程师需要具备多种技能。他们既需要了解软件测试的理论和实践,也需要掌握一定的软件开发技能。具体来说,一个优秀的测试开发工程师应该具备以下技能:

1. 软件测试理论和实践:这是最基本的技能。他们需要了解各种软件测试的方法和技术,如黑盒测试白盒测试、灰盒测试等。同时,他们也需要掌握各种测试工具的使用方法,如Junit、Selenium等。

2. 软件开发技能:虽然测试开发工程师的主要工作是测试,但他们的很多工作都需要涉及到软件开发。因此,他们需要具备一定的软件开发技能,如Java编程、Python编程等。

3. 系统架构和设计:为了更好地进行测试,测试开发工程师需要了解系统架构和设计。他们需要了解系统的各个模块、组件之间的关系和交互方式。

4. 数据库操作和维护:在很多情况下,软件产品的数据存储和管理都需要依赖于数据库。因此,测试开发工程师需要了解数据库的基本操作和维护方法。

四、从发展趋势看测试开发的前景

随着软件工程的发展和技术的不断进步,测试开发的前景也日益广阔。以下是一些可能的发展趋势:

1. 测试开发工程师的角色将更加重要:随着敏捷开发、持续集成、持续交付等先进开发模式的普及,测试开发工程师的角色将变得更加重要。他们将需要与开发人员更加紧密地协作,确保软件产品的质量和稳定性。

2. 自动化测试将更加普及:随着技术的发展,自动化测试将成为主流。测试开发工程师需要编写各种测试脚本和工具,以自动化地执行测试用例,提高测试效率和质量。

3. 测试工具将更加智能化:未来的测试工具将更加智能化,能够自动识别和修复问题。这将使测试开发工程师的工作更加高效和准确。

4. 测试与开发将更加融合:未来的软件开发过程中,测试和开发将更加融合。测试开发工程师将需要参与到整个开发过程中,与开发人员一起协作,共同保证软件产品的质量。

总之,测试开发是一种融合了测试和开发的全新角色。它既涉及到传统的测试工作,也涉及到一些开发工作。随着软件工程的发展和技术的不断进步,测试开发的前景也日益广阔。未来,测试开发工程师的角色将更加重要,自动化测试将更加普及,测试工具将更加智能化,测试与开发将更加融合。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps持续交付 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
测试开发都这么厉害了?为啥不直接转业务开发?
前段时间,在后台收到一则留言:"请问一下,你觉得开发技术好,还是测试技术好,如果测试技术好,为什么不直接开发,干嘛做测试?"
测试开发技术
2024/03/28
2050
测试开发是“懂测试的开发”还是“懂开发的测试”?
作为测试开发工程师(SDET),我们似乎总在身份的夹缝中挣扎:代码写得像开发,流程把控像测试。
测试开发技术
2025/05/08
1430
测试开发是“懂测试的开发”还是“懂开发的测试”?
【软件测试】初识测试
软件测试是指在开发软件的过程中,针对软件系统或应用程序进行各种测试,以确定其符合特定要求和标准,并能够正确地执行预期的功能和任务。 通俗的说,软件测试就是找bug,发现缺陷.验证软件产品特性是否满足用户的需求. 软件按照用户提出的需求而设计了很多的功能, 软件测试人员就需要验证软件功能的方方面面:
xxxflower
2023/10/16
3990
什么是测试开发工程师?
测试开发工程师 (Software Development Engineer in Test,简称SDET)是指那些既可以称作是开发人员,同时也负责软件开发阶段和测试周期的测试工作的技术人员。一个专业的SDET更关注软件产品的可测性,稳健性和性能。他们还可以在生产软件的设计初期发挥推波助澜或审阅的作用。
测试开发社区
2019/11/23
7.4K0
测试开发专题-开篇
近年来,随着DevOps和敏捷过程越来越广泛地被采用,软件测试、特别是自动化测试得到了迅速的发展。DevOps希望建立一个快速、频繁、可靠的一体化交付过程;敏捷则要求对交付件质量进行持续、及时、全面的反馈。软件测试作为研发过程中的重要环节,其能否达到快速响应、有效度量,实现过程自动化、系统一体化的目标,对整个组织的研发效率和产品质量将产生深远的影响。
陈哥聊测试
2021/06/03
6100
如何通过测试开发工程师的面试
以下是可能的测试开发岗位面试题目和参考答案,具体问题和答案还需要根据具体岗位和面试者经验和能力而定。
测试开发囤货
2023/03/14
5040
如何通过测试开发工程师的面试
2025 年软件测试趋势:你准备好了吗?
随着软件开发模式的不断变化,软件测试行业也在经历着一场深刻的变革。曾几何时,手工测试一度占据主导地位,但如今,自动化测试已经成为标准,而 AI 驱动的智能测试正迅速崛起。测试工程师的角色与技能要求也在不断提升,从单纯的找 Bug 到如今的质量保障全链条参与。到了 2025 年,软件质量的保障不仅仅依赖传统的测试人员,更需要与开发、运维、安全团队的深度协作,形成 DevOps、DevSecOps 以及智能化测试的新生态。
FunTester
2025/02/26
6311
2025 年软件测试趋势:你准备好了吗?
AI那么厉害,那测试开发和自动化测试这些职位是不是就多余了?
可以说现在的工作已经完全离不开AI了,它的强大影响了各个领域。尤其在互联网领域,不少人心里直犯嘀咕:这AI大模型都这么厉害了,那测试开发和自动化测试这些岗位,是不是就快没活儿干,要被淘汰啦?
软件测试君
2024/11/21
2080
AI那么厉害,那测试开发和自动化测试这些职位是不是就多余了?
软件测试基础与常识
软件测试,是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。
阳光岛主
2019/02/19
9140
破局者手册 Ⅰ:测试开发核心基础,解锁未来测试密钥!
在当今快速发展的软件开发领域,软件质量是决定产品成败的关键因素。测试开发作为保障软件质量的核心环节,融合了软件开发与测试的专业技能,致力于构建高效、可靠的测试工具和自动化测试体系。
羑悻的小杀马特.
2025/05/06
1880
破局者手册 Ⅰ:测试开发核心基础,解锁未来测试密钥!
自动化测试项目为何失败
自动化的端到端测试旨在替代手动测试人员部分工作,通过前端以及后端API的程序化测试和性能测试以自动化方式执行的内容。并非手动测试所做的一切都可以自动化,手动测试存在的重要原因。例如,很难自动化UX和可用性测试的各个方面,但是大多数重复的测试都可以自动化。根据我的经验,大多数测试可以自动化,包括与复杂功能相关的测试,但是自动化成本就差异万千。
FunTester
2020/04/03
6800
测试开发是什么?为什么现在那么多公司都要招聘测试开发?
好的,带着这个观点,咱们从行业目前的发展来说一下。如果你没有进入这个行业,那么有些概念可能不太理解,没关系,先接触一下。
霍格沃兹测试开发
2020/12/22
9890
Python自动化软件测试,解放我们的双手!
对软件产品的特性进行监视和测量,主要依据软件需求规格说明书,验证产品是否满足要求。所开发的软件产品是否可以交付,要预先设定质量指标,并进行测试,只有符合预先设定的指标,才可以交付。
Tricy软件测试工程师
2022/03/11
6920
敏捷测试价值观、方法和实践读书笔记(3)
Richard Knaster 和 Dean Leffingwell 在《SAFe4.0精粹:运用规模化敏捷框架实现精益软件与系统工程》中提道:“企业的领导者必须拥抱精益-敏捷”思维。如果领导者只是通过语言而不是自身的行动来支持“精益-敏捷”思维人们很快就会认识到他们不是在全心全意地推动变革。他们必须知晓方法,强调终身学习需要用新的行为践行这些价值观、原则和实践。所以在规模化敏捷 SAEe的系列培训课程中,专门有一门课程叫作Leading SAFe,主要对管理层和主管级别以上的领导进培训。
顾翔
2024/09/10
1450
敏捷测试价值观、方法和实践读书笔记(3)
软件测试工程师承受的压力(二)
其他两点:4.收入的压力 5.家庭的压力,因为所有职场人都会有遇到,暂时不说了。
muntainyang
2020/10/23
8640
软件测试工程师承受的压力(二)
测试左移和测试右移的 Why-How-What
软件测试技术应当贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其核心目标是尽快尽早地发现软件产品中所存在的各种问题 bug—— 与用户需求、预先定义的不一致性。
霍格沃兹测试开发
2020/10/12
1.2K0
测试左移和测试右移的 Why-How-What
【无矶之谈】聊聊ChatGPT对测试的影响
人工智能这个术语首次被提出是在1956年,距今已经67年了,从最开始的科学运算到现在的算力比拼,这几年人工智能的爆发还是基于理论和社会发展趋势所带来的蓬勃实践期,并没有在理论技术上有更大的突破,只能说实际运用难度大,未来可期。
梦无矶小仔
2023/08/03
3780
【无矶之谈】聊聊ChatGPT对测试的影响
产品经理与测试工程师的5点根本区别
相对设计和开发来说,测试工程师是产品经理接触较少的一类人群,因为测试人员往往也是躲在项目幕后,默默地奉献着自己,确保产品能够正常运行。产品测试是很重要的一个环节,目前所有的互联网公司都有测试工程师,他们是产品上线的最后一环,对公司和用户负责,他们的定位是产品把关者,颇有点像一座城市内的保卫人员,守护着一座城市的宁静和安全。 产品经理虽然与测试接触的少,但仍然需要了解测试工程师具体的一些工作内容,以及测试相关的一些知识,这样可以更好的处理好工作。比如在和测试沟通需求的时候,测试人员会说单元测试通过了吗,或者说
BestSDK
2018/02/28
3K0
软件测试工程师的技能树
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/11
1.8K0
软件测试工程师的技能树
ChatGPT助您打造个性化简历:个人品牌升级攻略
在工作过程中,如何做可以拿到更多的面试机会呢?其实这个有一个计算公式,即为:面试的机会=投递的数量(渠道)* 命中的比例(简历)。
霍格沃兹测试开发Muller老师
2024/05/13
1410
推荐阅读
相关推荐
测试开发都这么厉害了?为啥不直接转业务开发?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档