我们精选了一下网友答案:
···································^^····································
上一章我们主要介绍了一个黑盒测试工程师的主要工作任务和一些经验,本章我们分别讲解下一个测试开发工程师的主要工作内容吧。上一章用的是瀑布流程,这次用敏捷的整个流程来介绍。
迭代过程
测试开发工程师的内容
产品经理跟大家讲解用户story
跟开发一起去理解用户story
根据用户story分解任务
跟开发一起去分解任务
设计
根据设计来分析模块的耦合,并且设计接口测试用例,同时评审开发的设计文档
编码
完成接口测试用例的编码,并推动开发去自测
测试
完成功能用例的自动化和业务逻辑的测试
对于测试开发工程师来说,一个重要的工作就是提高开发的质量意识,来保证bug在早期就暴露出来。所以,对于测试开发工程师来说,主要的工作任务包括下面几个:
1、跟开发一起搭建建持续集成的环境,通过该环境自动完成代码覆盖率,单元测试,接口测试和基本功能的自动化测试等。
2、通过持续集成的环境去推动或约束开发去做代码覆盖率和单元测试,以及代码的自测,来提高代码的质量。
3、评审开发的设计,保证设计文档的质量
4、完成接口测试代码的编写和功能自动化代码的编写。
5、实时反馈当前代码的质量,并且给开发一些改进建议。
从上面工作任务可以看出,为什么称为测试开发工程师了吧?
因为干的是开发的活(写代码),目标跟测试一样(保证质量和提高效率)。
那么,我们该如何做好一个测试开发工程师的工作呢?
1、有很强的coding能力(这个也是为什么牛逼的测试开发工程师稀少的一个原因了,因为coding能力很强的人大部分会去选择做开发)。
2、对常用的持续集成工具很熟悉(不仅仅是会用),比如:Hudson和Jenkins等。
3、测试分析能力(这个依然是个人认为测试人员一个最重要的能力,没有之一)。
4、对技术的兴趣。
而对于一个刚进入该领域的测试开发工程师来说,我们可能接触的比较多的就是直接根据具体的功能去做接口测试和功能自动化测试,这里一个最好的方法就是多练习,不断的提高自己的coding能力。另外过程中去拓展接触学习下其他相关的内容。
至于测试分析的能力,这个可以多跟有经验的人去交流,另外就是要经常总结和分析,比如:对于后面发现的bug,其他人的测试用例,质量分析等等。(后面会专门介绍如何去提高个人的测试分析能力,大家可以关注下)。
相信经过不断的练习,自己是能够很快成长为一个合格的测试开发工程师的,而这个时候如果你想去做开发也是一件很容易的事情。对于这方面感兴趣的朋友可以去看看google测试之道,应该对自己的帮助比较大。
关于持续集成相关的知识,大家可以参考下
什么是持续集成
随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。
持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。
持续集成的核心价值在于:
1 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;
2 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;
3 持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。
持续集成的原则
业界普遍认同的持续集成的原则包括:
1)需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有 IBM Rational ClearCase、CVS、Subversion 等;
2)开发人员必须及时向版本控制库中提交代码,也必须经常性地从版本控制库中更新代码到本地;
3)需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每半个小时构建一次;
4)必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需要手动启动一次构建。
持续集成系统的组成
由此可见,一个完整的构建系统必须包括:
1 一个自动构建过程,包括自动编译、分发、部署和测试等。
2 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。
3 一个持续集成服务器。
·······································································
我们精选了一下网友答案:
我是觉得主要是你喜欢干什么?还有就是对那个感兴趣? 软件测试:需要你有一定的测试知识,理论,会用测试工具等。因为你以前做过研发,相对来说做测试容易一些。 云计算运维:首先看是做哪方面的?是自己公司开放软件做支持那种,还是云计算数据中心维护那种,第一种的话相对简单一些,了解自己公司产品,在了解其他同类产品,了解一些IT行业知识就行,就是知道的多点。要是第二种的话,估计学习的东西和精通的程度要更深,因为你是需要解决问题的,这就包括运维方面的东西了,比如监控报警,比如数据库、网络、虚拟化知识技术,还有就是问题处理的能力 软件测试是发现问题。运维是发现问题解决问题
···································^^····································
首先看楼主对哪一个兴趣更大,想向哪方面发展就选择哪方面,个人觉得云计算运维比较好些,云计算运维技术含量绝对比软件测试要大,薪资待遇也肯定高于软件测试,云计算运维比软件测试要高端很多,tanjurd这方面人才服务不错,看选择哪样最主要的还是由楼主的兴趣决定
···································^^····································
哈理工2015级软件学院 468396291
·······································································
我们精选了一下网友答案:
···································^^····································
点击文末的阅读原文或者公众号界面左下角的调剂信息是计算机/软件等专业的所有调剂信息集合,会一直更新的。
本人非常欢迎对软件工程和信息安全感兴趣的同学加入我们的团队,通过严格的科研训练,相信每位同学都能有所收获,做出杰出的工作。本人与海外优秀的科研团队(弗吉尼亚理工大学,香港科大,KAIST,香港理工,汉阳大学,新加坡管理大学等)建立了良好的合作关系,可以推荐我们团队培育出来的优秀同学进行更进一步的深造(攻读博士或者做博士后等)。
条件:
1. 对科研有浓厚的兴趣,立志成为本领域优秀的计算机科学家。
2. 数学基础较好,编程能力强,至少熟练掌握一门编程语言(比如Java, C++, Python等)。
3. 具有较好的英文基础,能够看懂并理解计算机类英文学术文献。
收获:
1. 享受国际化的科研培养模式和氛围,论文成果分配按照国际约定的贡献度公平分配。
2. 在论文录用的前提下,全额资助同学们参加本领域顶级或著名国际会议。
3. 享受组内科研津贴和高水平论文(CCF-B类以上)奖金。
4. 不定期组织到外地进行学术研讨活动。
5. 推荐优秀的同学到国内外顶尖的科研小组进行进一步的深造。
张涛老师简介:
张涛,男,博士,副教授,硕士生导师
学术荣誉:哈尔滨工程大学“青年学术骨干支持计划”入选者
2013年2月于韩国首尔市立大学获得计算机科学博士学位,之后赴香港理工大学从事博士后研究,于2016年12月加入哈尔滨工程大学计算机科学与技术学院,并被直聘为副教授。一直以来从事软件工程和信息安全领域的基础科学研究,其科研成果在国际顶级或著名期刊(比如TIFS, TSC, JSS等)以及会议(比如ICSE, ICPC, DSN等)上发表,并获得韩国专利局授权的6项发明专利。作为项目负责人主持国家自然科学基金项目1项,中国博士后以及黑龙江省政府博士后科学基金项目各1项,中科院网络测评重点实验室开放基金重点项目1项,以及中央高校科研基本业务费项目1项。2017年1月被哈尔滨工程大学遴选为“青年学术骨干支持计划”培育人选。
研究兴趣:软件仓库挖掘, 软件维护与演化, 程序语言分析, 面向移动应用的信息安全
研究课题:当前的主要工作为利用自然语言处理以及机器学习的相关技术分析、定位、以及修复在移动应用 (Mobile Apps)中存在的软件缺陷 (Bugs)和安全漏洞 (Vulnerabilities)。
You can find my English homepage cszhangtao.github.io/.
信息来源网址:muchong.com/t-11982378-1
点击阅读原文,看看今年目前所有计算机/软件等专业的调剂信息。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!