如何成为一个优秀的软件测试工程师

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-07
如何成为一名优秀的软件测试工程师

1.起码有三年以上的软件开发经验
现在许多软件企业招收一些刚刚毕业的大学生或者非计算机专业的人员作为自己公司软件测试工程师,这是非常错误的,也是对软件测试不负责任的表现。虽然他们可以发现软件中的一些错误,但是对于软件中的一些关键,致命,危险的错误他们是很难发现的。大家都知道,软件工程中有个模型叫瀑布模型,这是最基本的软件模型,这个模型又叫碗状模型,因为开发位于碗的最底部,左上方依次为建模,需求分析,设计;右上方依次为测试,部署,维护。这就是说明软件开发是一切软件活动的基础,同时也是软件测试的基础。一个人只有经历过一定年限的软件开发工作,才可以积累丰富的经验,知道在软件中哪些地方容易出错而那些地方不容易,这给以后的软件测试工作带来非常宝贵的经验。

2.有逆向思维的能力
我曾经接触过一些软件测试工程师,他们干了一段时间软件测试工作后返回去又开始去做开发工作了,问他们为啥?答案是软件测试工作太难了,开发是顺向思维,而测试是逆向思维,老要找一些稀奇古怪的思路去操作软件。软件的使用者千差万别,软件在使用过程中遇到的各种现象也是千差万别的,所以要求软件测试工程师需要具有一些逆向思维的能力,想别人所不想,测别人所不测,这样才可以找到更多的软件中的错误。这是作为一名优秀的软件测试工程师最基本的素质。

3.善于同软件开发人员沟通
沟通是当今软件项目中需要掌握的最关键技术之一。软件测试人员要善于同软件开发人员沟通,软件测试人员与开发人员搞好关系,使测试人员不成为开发人员的眼中钉,这对于提高整个软件项目质量是十分重要的。沟通主要包括:
讨论软件的需求,设计:通过这样的沟通,你可以更好的了解所测试的软件系统,以至于尽可能少的测试出软件中不是错误的“错误”,从而降低给软件开发人员带来的压力。
报告好的测试结果:作为一个测试人员,发现错误往往是测试人员最愿意而且引以自豪的结果,但是一味地给开发人员报告软件错误,会给他们造成厌恶感,降低整个软件的质量和开发进度。所以作为一名软件测试工程师,当你测试的模块没有严重的错误或者错误很少的时候,你不妨跑到开发人员那里告诉他们这个好消息,这会给你带来意想不到的结果。
讨论一些与工作无关的事情:作为一个测试人员经常和开发人员讨论一些与工作无关的事情,比如大家可以谈谈新闻,趣事,家庭…这样可以加强相互间的默契程度,许多统计表明,这样可以更好的提高软件工作质量。

4.善于同领导沟通
测试人员往往是领导的眼和耳,领导根据测试人员的测试结果可以了解公司的产品质量,从而调整其他的工作。领导工作一般比较繁忙,所以作为一名优秀的测试人员要学会把测试结果进行总结,最好以图表的形势给领导看。

5.掌握一些自动化测试工具
测试工作往往是比较繁琐,枯燥无味的工作,测试人员长期处于重复的手工工作,会降低测试效率,并且对于测试质量也往往是不利的;况且许多测试不使用测试工具是不可以进行的,比如性能测试,压力测试等等。目前市场上有许多测试工具供你使用,你可以根据自己的需要选择一些测试工具来辅助你的测试。但是要记住一点,不是说有了测试工具就不要人工测试了,测试工具不是万能的。

6.善于学习的能力
软件测试技术随着时间的变化也在做一些提高和改进,作为一名优秀的测试人员要善于利用书籍,网站,论坛,交流等各种途径不断提高自己的软件测试水平。

7.提高自己的表达能力
软件测试人员当发现软件中存在缺陷的时候,往往要书写缺陷报告,缺陷报告要写得详尽清楚,使开发人员能够尽快定位错误,修改错误,所以作为一名优秀的测试人员提高自己的写作能力是非常必要的。

8.了解业务知识
更好的了解你说测试软件的业务知识是非常重要的,对业务知识了解得越深入,越能够找出更深入,更关键,更隐蔽的软件错误。所以作为一名优秀的软件测试工程师,要多向该领域专家,同行学习,提高自己的业务知识水平。
以上仅为个人的一些经验所谈,希望大家都能够成为一名优秀的软件测试工程师。

[转行软体工程师]我自己从非专业背景转型成为软体工程师的心路历程|经验分享

1、基本理论
具有扎实的计算机专业知识,作为一名测试工程师,不能仅仅从使用者的角度来测试软件产品,而且还要从技术的角度来设计测试用例,这里所说的技术包括基础的与专业的,基础方面应需要学习过以下的课程:软件技术基础、C语言、面向对象设计、C++、数据库理论、计算机网络技术、软件工程、数据结构与算法、离散数学等;专业方面应掌握:软件测试技术概论、测试管理、测试工具、软件质量管理、CMM、RUP等等。
软件工程理由能够从事软件一切工作最基本的前提,是软件工程最基本的素质,这要求软件工程师必须精通高等数学、离散数学、电子学、编程语言、数据结构等课程。
软件本地化技术与软件国际化技术紧密相关,软件本地化又具有软件工程技术的通用特征,所以,有必要了解这些基础专业知识。
1)软件本地化/国际化的基本知识,包括:软件本地化/国际化的概念,软件本地化的作用,发展历史和行业前景等。这些知识可以加深对该行业的认识,增加工作的主动性。
2)软件本地化工程的基础知识,包括软件本地化的一般工作流程,软件本地化资源文件的类型、作用和处理过程,计算机字符编码的知识,包括Unicode和双字节字符集(DBCS)知识,软件的图形用户界面(GUI)的类型和作用等。
2、基础技能
包括熟练的计算机基础知识和良好的语言技能:1)装和配置常用操作系统知识
软件本地化过程可能会在多种操作系统上执行,例如,经常需要在多个操作系统中对本地化软件进行测试。熟练安装和配置常用操作系统是基本要求。例如,操作系统Windows,Unix,Linux,Solaris。
2)计算机网络基础知识
为了便于资源共享,需要在计算机网络环境下完成。此外在与客户的交流过程中也需要因特网技术。例如,下载软件本地化指导文档和其他相关文件,提交工作任务,测试某些软件功能。因此,需要了解局域网和因特网基础知识,通信软件的使用和常用通信协议的基本知识。
3)通用软件的使用知识
软件本地化需要使用多种软件工具,例如常用办公软件,包括字处理软件,表格处理、数据库管理和邮件管理软件等。熟练安装和使用这些通用软件,可以提高工作效率和质量。
4) 良好的语言技能
软件本地化是与语言密切相关的技术,涉及多种语言理解、表达和转换的多方面知识。软件开发商提供的文档以英文为主,良好的阅读理解能力和基本的英语写作基础是从事本软件地化工作的基础技能。如果与软件开发商直接联系,还需要英语听说表达能力。
3、 基础专业知识
主要要是技术能力,如软件工程师需要
1)编码能力:基础软件工程师的一个重要职责是把用户的需求功能用某种计算机语言予以实现。编码能力直接决定了项目开发的效率。这就要求软件工程师至少精通一门编程语言,比如当前国内企业常用的C/C++、VB和国际上最流行的Java语言,熟悉它的基本语法、技术特点和API(应用程序接口)。
2) 认识和运用数据库的能力
信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要具备的基本素质之一。目前常用的数据库软件有甲骨文公司的Oracle数据库和微软公司的SQLServer等。
3)具有一定的编程经验
测试工程师有时候需要对源码进行检查,有时候也会从程序结构的角度来测试软件,有时候需要写一些自动测试的工具软件,有时候需要写测试脚本,显而易见,会写简单代码,能读懂源码对测试人员来说是必须的,而且如果有一定的编程经验,可以帮助你对软件开发过程有较深入的理解,从编程人员的角度来正确地评价;但这一点在国内大部分公司里面是很难实现的,因为这意味着测试人员的salary要高于开发人员,很多BOSS会想不通的,而且也没那么高的觉悟。
4)具有软件工程的概念
基础软件工程师处于软件企业人才金字塔的底层,是整个人才结构的基础,虽然他们从事的工作相对于系统分析师和高级程序员要单纯一些,但是他们是整个软件工程中重要的一环,因此,基础软件工程师同样要具有软件工程的概念。从项目需求分析开始到安装调试完毕,基础软件工程师都必须能清楚地理解和把握这些过程,并能胜任各种环节的具体工作,这样的能力正好符合了当前企业对基础软件工程师的全面要求。

  • 如何才能算是一个合格的软件测试人员?
    答:1.具有探索精神:软件测试员不会害怕进入陌生环境。2.具有故障排除能力:软件测试员善于发现问题的症结,喜欢猜谜。3.不懈努力:软件测试员总是不停尝试。他们可能会碰到转瞬即逝或者难以重建的 软件缺陷;他们不会心存侥幸,而是尽一切可能去寻找。4.创造性:测试显而易见的事实,那不是软件测试员;他...
  • 一个优秀的软件测试工程师需要具备怎样的特质。
    答:【答案】:作为一名优秀的软件测试工程师应该具备这些技能特质:一、熟练的计算机操作能力,简单的编程基础;二、熟练地搭建测试环境的能力;三、高效设计测试用例和发现有效缺陷的能力;四、掌握网络技术、数据库知识、操作系统知识以及其他计算机专业知识和技能;五、熟练使用自动化测试工具;六、具有一定的自...
  • 软件测试需要什么能力
    答:如果你还知道TCP和UDP有什么不一样的话请赶快去补充点知识吧、互联网时代、一切都通过网络传输、常用协议必须得了解、曾经面试了一个测试工程师做了2年的测试居然不知道自己测试软件使用什么协议、这样的人是你的话你敢招么? 7、 开发语言即代码编写能力: 虽然不会写代码也能做测试、但是如果你想做到高级测试...
  • 优秀的软件测试工程师应具备哪些素质
    答:优秀的软件测试工程师应具备的素质是:沟通能力、技术能力、自信心、外交能力。1、沟通能力。一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。和用户...
  • 一名优秀的软件测试工程师应具备哪些素质?
    答:【答案】:一个优秀的测试工程师应该具备的基本素质有:责任心、沟通能力、团队精神、自信心、耐心、怀疑精神、洞察力、幽默感等。应具备的专业素质有:有竞争力的测试人员要具有三方面的技能:计算机专业技能、测试专业技能、软件编程技能。
  • 软件测试工程师应该如何做职业规划?
    答:测试框架与书籍指导 提升到高级阶段,学习和掌握高级测试框架,如Robot Framework和Django框架,以及相关书籍如《Google软件测试之道》和《Python编程:从入门到实践》将助力你的技术深化。同时,初级阶段的《软件测试的艺术》等书籍将为你打下坚实基础。总结:灵活选择,双管齐下 最终,测试工程师的职业规划...
  • 做软件测试需要掌握哪些技能?小白一枚...
    答:要做一名优秀的测试工程师需要掌握的知识广而多。至少要具备如下几方面的能力:1、必须掌握测试方面的理论知识。这点很重要,是首要基础。2、具备编写程序的能力。不会写代码,发现了bug无法找到问题的根源也无法调试。3、懂得网络方面的基础知识。这个主要是安全测试做准备。4、必须掌握数据库方面的知识。
  • 作为一名软件测试工程师,需要具备哪些能力
    答:1、首先必须一定要具备的就是认真、负责、严谨、耐心的态度,因为软件测试工程师吃的就是这口饭,所以必须对你所测试的产品负责。宁可错杀一千,也不可放过一个,虽然不能做到完全没有Bug,但一定要尽自己最大的努力保证产品质量。2、要有过硬的技术本领,技术是为测试服务的,无论是测试理论、测试...
  • 测试工程师要考证吗测试工程师要学什么
    答:15、成为优秀软件测试员之提升条件,如果你想成为一个更优秀的软件测试员的话,除了上面那些,你也最好能够具备开发语言即代码编写能力,虽然不会写代码也能做测试、但是如果你想做到高级测试工程师以上、那么代码编写能力就是必选项、如果不会写代码、那么你不可能成为高级测试。16、高级测试工程 师的一...
  • 怎样成为好的测试工程师
    答:这是作为一名优秀的软件测试工程师最基本的素质。3. 善于同软件开发人员沟通 沟通是当今软件项目中需要掌握的最关键技术之一。软件测试人员要善于同软件开发人员沟通,软件测试人员与开发人员搞好关系,使测试人员不成为开发人员的眼中钉,这对于提高整个软件项目质量是十分重要的。沟通主要包括:讨论软件的...