• 0
  • 0
分享
  • 软件测试前景好,但不是所有人都适合——软件测试圈
  • 曼倩诙谐 2024-10-29 14:59:01 字数 3044 阅读 144 收藏 0

  测试工作是一项极其重要的质量保证活动,因此测试部门既是软件发布质量把控的出口,也是客户意见反馈的入口。但是因为之前的不重视,导致了软件测试行业的发展相对滞后,优秀的软件测试工程师非常难得。

  一个优秀的测试工程师要对一些不易重复出现的错误找到规律,要能够帮助开发人员定位问题,能够对代码进行一定的检查,将错误尽可能在项目生产的早期阶段发现,同时,测试工程师还要对各种编程语言、数据库都有一定的了解,要有编程的概念。

  那么,什么样的人才适合做软件测试工程师呢?

  一般情况下,分为技术技能需求和职业素质需求。

  一、基础要求(技术技能需求)

  软件测试工程师岗位基础要求一般包括以下几个方面。

  1.学历

  学历,代表学习的能力。软件测试工程师的最低学历要求一般是专科以上学历,有个好的基础,才可能有好的结局,因此,很多公司对学历有一定的要求。

  2.专业

  专业基本无要求,当然要是计算机及相关专业更好。不过特殊的行业可能有特殊的需求,例如做建筑软件的公司,招聘测试工程师倾向于招聘土木工程专业的;做医疗软件的公司,则倾向于医疗专业毕业生,因为这样专业更对口。对于基础技术而言,因为软件测试本身就需要从最终用户的使用角度考虑,所以专业往往没有特别的要求。

  3.经验

  很多公司在招聘测试工程师时希望应聘者具有1到2年以上的测试经验,企业要求具有一定经验的目的在于,降低员工工作风险、缩短员工适应周期、减少员工培训成本。如果应聘人员具有对口的问题解决能力,则是否有软件测试工作经验不是关键问题。

  4.测试技术

  1)了解软件工程、软件生命周期基础知识,了解软件配置管理;

  2)能够根据不同企业的产品特点快速理解需求;

  3)了解相应的开发、测试模型,如SCRUM、敏捷测试等;

  4)熟悉软件测试的常用技术、方法、流程;

  5)熟练掌握软件测试文档写作,如测试计划、测试方案、测试用例、缺陷报告、测试报告等。

  6)熟悉自动化测试的流程、管理及深层开发(包括测试驱动、测试框架等)。

  7)了解若干主流测试工具,如接口测试工具Jmeter、PostMan、SoapUI等,功能自动化测试工具Selenium、Appium等,性能自动化测试工具LoadRunner、Jmeter等,测试管理工具QualityCenter、ApplicationLifecycleManagement(ALM)、ClearQuest、禅道等。

  5.开发技能

  对于资深的测试工程师,需要一些开发知识,如编程语言C、C++、Java等,在测试过程中开发一些测试工具、测试脚本等。在此过程中,需要掌握数据库(MySQL、SQLServer、Oracle、MangoDB)、操作系统(WindowsServer、Linux/UNIX)等。

  6.业务知识

  因为不同业务有不同的测试方法,所以企业招聘测试工程师时,一般需要应聘者具有招聘企业的业务背景知识,目前一般集中在金融证券类、移动通信、电子商务、页游手游、移动互联、Web门户等系统。

  二、职业素质要求

  软件测试工程师所需具备的基本职业素质为:

  1.责任心

  大多公司以缺陷的多少来衡量软件测试工程师的工作质量。但是测试工作,在不同时段,其特点不同。如在测试工作开展初期,被测对象中存在大量的缺陷,测试工程师毫不费力,即可找到很多缺陷。随着测试工作不断深入,测试版本不断迭代,不论测试工程师再怎么用心,也不一定能找到更多的缺陷。因此,以缺陷的多少来衡量软件测试工程师的工作质量,并非一种明智、公平的考核方法。

  在实际工作中,如果没有明确的测试需求,没有完善的测试用例,软件测试活动在很大程度上就依赖于测试工程师的责任心,主动完成测试任务,确保自己的工作质量。

  2.沟通能力

  软件测试活动中,沟通能力并不是通常意义上所讲的交流,其包含的更多成分是技术含量以及服务意识。

  测试是连接开发和客户的纽带,与开发人员沟通,需要从专业知识角度考虑,当发现的缺陷开发人员不认可时,如何从理论、实际应用以及缺陷可能引发的后果等角度去阐述缺陷,使研发人员认同测试工程师的判断,所做出的阐述要有理有据,而不是强词夺理,更不是争吵。

  时刻记住,缺陷很大程度上是开发人员犯下的错误,令人承认自己犯错通常都是一件困难的事,这就需要软件测试师具有一定的沟通能力。

  3.团队合作精神

  软件产品研发活动,需很多部门协同工作,市场部、研发部、测试部、售后服务部、运维部等。一个高质量的软件产品从设计、生产到发布,是众人努力劳动、智慧的结晶。单枪匹马闯天下的局面已经不复存在,现在几乎每家公司都在强调这种精神。例如,华为公司,在新员工入职培训中,会通过多种形式,如演讲、相声、小品等来培养、增强员工团队合作意识。

  软件测试工作从其工作内容来看,是极具破坏性的工作,开发活动则是建设性的,从这点可以看出,如何沟通,如何妥善地协调开发与测试同事的工作关系,将决定软件生产活动的工作质量。因此,软件测试工程师需要具备高度的团队合作精神,与其他同事一起努力,为保证软件产品的质量做出贡献。

  4.耐心、细心、信心

  软件测试工作中,需要测试工程师有极大的耐心、细心、信心,与性别无关。随着测试的深入,发现缺陷越来越难,不是所有的缺陷都能容易地找出,这个时候,就需要耐心、细心了。

  人无完人,在项目管理不规范,文档不齐全等客观因素,增加了软件测试工程师犯错的几率。对需求的误解,业务知识的缺乏等原因,可能会提出一些不是缺陷的缺陷,研发人员可能对此类测试工程师存在一些看法。此时测试工程师应对自己的观点有足够的自信心,谦虚地接受研发人员提出的意见和建议,提高自身发现问题并解决问题的能力。

  5.风险防范意识

  软件测试与软件开发工作内容的不同,导致了在某些时候测试工程师发现缺陷后,开发人员会以各种借口将该缺陷掩饰过去。测试工程师则需从测试理论、测试技术、实际用户需求角度出发,采用一定的策略去准备各种测试数据,从每个细节上设计不同的用例,去证明缺陷确实存在,或者确实可能造成比较严重的不良后果。

  从事实出发,尽可能多地找出软件缺陷,协助开发人员定位问题,以求解决问题,这样才能不断地发现问题、解决问题。

  软件测试工程师作为软件质量保证活动实施的主体,一定要有风险防范意识。当发生过的缺陷再次重现后,需分析其重现的原因,找出解决办法,从而避免再次出现。要善于分析测试结果,缺陷分布情况等。只有不断地总结,加强缺陷预防的能力,才能提高软件测试的工作效率。

  6.持续学习能力

  大多数企业、公司在招聘软件测试工程师时,提出了很高的要求,如开发语言掌握情况、测试理论熟悉程度、测试工具使用经验,等等。为了获得更多的发展机会,提高自身的职业竞争力,软件测试工程师需要不断地学习,掌握开发人员所使用的编程语言,能更多、更有效地找出缺陷,掌握一定的测试理论、测试工具将会大幅度提高自身的工作效率。同时,也为自身的发展奠定坚实的技术基础。

  软件测试工作其实对软件测试工程师的技能要求很高,例如,编程语言不一定要精通,但测试工程师必须了解大部分的编程语言,要具备软件开发的思想。测试工程师还要掌握众多的业务知识。因此,学习能力对于测试工程师来说是非常重要的。


作者:佚名    

来源:http://www.51testing.com/html/67/n-7798567.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、jmeter简介Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以;Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。二、jmeter安装首先需要安装jdk(最好是最新版的);其次去官网下载最新的jmeter版本;然后配置jmeter的环境变量;最后双击jmeter.bat或者在“命令提示符”输入jmeter,运行jmeter。具体安装步骤请自行网上查看三、设置jmeter的中文界面进入jmeter的bin目录,找到“jmeter.properties”文件,打开文件搜索“language”,将“#langu...
            0 0 1196
            分享
          •   1. 测试想法生成器  可以使用ChatGPT技术,帮助我们扩展或优化测试思路、测试场景、测试数据等;  比如针对SCRM/CDP/MA等,可以根据GPT给出的初始想法来检查我们的测试思路,来提高测试覆盖程度,减少项目缺陷。  2.优化测试流程  通过向ChatGPT输出,可以得到如何优化目前的测试流程,来提高效率以及质量。  3.分析需求的关键语句  当我们拿到需求文档之后,如果文档中的话术存在二义性,我们可以尝试使用ChatGPT进行分析该话术在特定的场景下的多种解释。  4.快速融入项目  在进入一个不熟悉的业务线系统中,可以通过向ChatGPT请教一些基本的测试方法,来达...
            0 0 934
            分享
          •   1、大数据入库测试背景  在大数据时代,数据已经成为企业的重要资产。为了确保数据的准确性和可靠性,数据入库测试成为了不可或缺的一环。大数据入库测试是在确保数据质量得前提下进行的,它包括了对数据的验证、处理以及存储的一系列检查工作。本文主要聚焦源系统测试部门收到开发人员提供的数据文件后,进行数据一致性测试过程中的简化操作。这里的数据一致性是指上传到大数据平台中的数据与从外部写入前的数据保持一致,即写入数据与读出数据始终是一致的。数据一致性能够表明大数据平台可保证数据的完整性,不会导致数据丢失或数据错误。  2、大数据平台入库测试重点  在大数据平台入库测试中,测试人员收到开发人员给的数据之后...
            0 0 592
            分享
          •   Postman不仅是一个强大的 API 开发工具,它还提供了创建自动化测试脚本的能力,这些脚本可以用于检验API请求得到的响应是否符合预期。这些测试脚本被称为 “Tests”,支持使用 JavaScript 编程语言进行编写,并且 Postman 提供了一系列的断言库来帮助你检查包括但不限于状态码、响应内容以及响应时间在内的响应数据。  创建并运行这些测试脚本的过程分为几个步骤:  创建新的API请求  首先,启动 Postman 应用并新建一个 API 请求。在请求设置界面的顶部导航中,找到并点击 "Tests" 标签。此处提供了一个编辑器,允许你输入和编辑 Java...
            0 0 1356
            分享
          • 测试分类       常见的开发流程里面,都有测试人员,这种我们称之为黑盒测试。测试人员并不需要去管实现机制,只看最外层的输入输出。比如一个计算机加法页面,设计人员会设计n个case,去测试该加法的正确性。这种如果我们开发人员用代码去做的话,我们称之为e2e测试。       还有一种测试叫白盒测试。我们针对?些内部机制的核?逻辑,使?代码进行编写,我们称之为单元测试。       其实我们代码里面的console.log,也算是一种测试的雏形。    &...
            12 12 2871
            分享
      • 51testing软件测试圈微信