作为测试人员一般经历的几个阶段

一、执行测试用例

作为一个测试新手来说,最主要的工作应该就是执行测试用例,最基本的要求当然就是不能够出现执行漏测了。是的,达到这个要求毕竟简单,只要严格按照用例来执行就可以了,这里主要考验的就是一个测试人员的执行力和细心的能力。另外,这个阶段测试人员能够学习到自己测试模块的一些基本业务知识,以及如何去执行用例,提交和跟踪bug等等,这个阶段也很容易达到,甚至可能会跟第2个阶段一起进行,但是该阶段虽然简单却很重要

二、发现bug

经历第一个阶段后,这个时候测试人员可以开始在执行用例的基础上开始一些自己的发散测试(更好的叫法是探索性测试),来更好的发现一些通过执行用例无法测试到的bug。这个阶段就比较考察一个测试人员的发散思维了(个人觉得测试人员的发散思维恩能力是测试人员非常重要的一个能力,这也是软件测试的魅力所在),有的测试人员就是能够通过自己的一些想法来发现一些bug(甚至是隐藏很深的bug),并且很享受在其中。个人觉得这些能力(也可以叫对bug的敏感程度)是天生的,当然,并不是说这块能力不强的人在测试里面发展不好,因为测试也有技术(确定的因素)的成分,比如:自动化等。但是,这样的测试人员不太容易享受到发现bug给自己带来的成就感(即软件测试的艺术性)。当然,要达到这样的程度对于模块本身的业务逻辑也需要非常熟悉

三、保证质量

质量是一个测试人员的生命,当我们将一个功能模块交给一个测试人员负责的时候,我们肯定是希望对方能够给保证质量的。但是实际上要达到这个要求是很难的。首先,我们对于保证质量是如何定义的,是保证该模块到客户那里不会影响客户的业务还是在客户那里不出现问题?实际上2者是很难区分的,目前我们对于测试人员的要求大概都是能够发现所有的bug吧,虽然实际上不可能。其次,作为一个测试人员,我们自己对于该模块的测试策略该如何把握呢(因为测试时间是一定的)?根据个人经验,要达到这个目标,至少需要做到以下几点吧!

1、需求覆盖:对于的整个需求的理解程度:对于客户来说,为什么需要这个功能?主要是用使用习惯是怎样的?客户哪里可能会出现的一些异常情况等等

2、业务逻辑覆盖:对于整个业务逻辑的理解程度:通过看研发的设计文档和具体的实现逻辑图,来分析如何覆盖到所有的逻辑以及异常逻辑(这个时候还需要提前发现一些研发没有考虑到的地方),并且设计对应的逻辑测试用例,保证我们的测试业务逻辑的覆盖率(代码覆盖率非逻辑覆盖率)。当然,这个阶段是能够通过一些技术手段做的更好的,比如:接口测试、单元测试、代码的静态走读等等,后面再讨论...

3、性能压力覆盖(为什么就不说了):主要是在前面对业务逻辑非常熟悉的基础上,对于每个业务逻辑的性能测试点进行分析,看下这些逻辑是否可能有压力点,比如:当资源不足的时候是否有影响?当并发数或者流量很大的情况下是否会有影响?是否会涉及到多线程通信或者进程之间抢占资源等等,分析完成后还需要考虑如何去覆盖到这些地方(包括压力是否足够等等)

4、关联覆盖:大部分情况下一个模块总是会和整个系统的其他模块存在关联的地方,那么我们除了要分析出和哪些模块有关联,还需要分析具体的关联点是什么?这其实就要求我们对于与之关联的模块也足够的熟悉,这样才能够更好的分析到对应点上

5、当然,还会需要涉及到其他的,比如:模块的可靠性,安全性等等

6、发散测试:一般情况下,前面的几点很难分析到非常的全面和充分,这个时候就需要依赖自己的分析能力和发散思维能力了,如果这方面比较好的话应该是有意外惊喜的,而且前面的一些测试也需要依赖自己的发散思维能力
如果能够达到这个阶段,相信你已经是一个比较让人放心的测试人员了,这些阶段一个非常重要的就是对被测模块的业务熟悉程度。

四、提高测试效率

测试是有成本的,而且测试的周期越长,成本越大,甚至可能影响整个产品在市场的占有情况或客户的满意程度。所以,对于测试人员一个很重要的要求当然是如何在更短的时间内保证质量。要做到这个程度,主要依靠两个手段吧!

一、前期缺陷预防:测试人员通过前期和开发人员配合,共同的将很多bug直接扼杀在摇篮,避免bug在后面被发现。下面可以从每个阶段来分析测试测试人员需要做好哪些事情。

1、需求阶段:测试和研发一起将该功能的所有需求点全部列出来,并且分析所有的需求点是否明确和合理。另外,是否还有没有考虑到的客户的隐藏需求等等,通过不断的检视来完善。需要的能力:测试经验、对于需求的理解能力和思考问题的全面性

2、设计阶段:加深对于设计的理解,多跟开发进行交流,能够根据自己的测试经验以及对于该模块的理解程度对研发的设计进行评审,并能够发现设计存在的一些问题(比如:一些场景可能没有考虑到,一些异常情况可能没有考虑到等等)。并且将自己后面可能会怎么测试提前告诉开发(这个时候心里应该大概知道该如何去测试该模块,可能的风险是什么灯)。需要的能力:对于模块的理解程度,对于用户场景的理解程度,对于整个业务的理解程度(参考测试人员的第3个阶段)。

3、编码阶段:这个时候可以通过一些改进,比如:对研发的代码进行静态走读,通过工具覆盖,思考单元测试或者借口测试,对用例实现自动化等,目的就是在黑盒测试前就能够提前发现该模块存在的代码逻辑问题,减少后面的手工测试时间。需要的能力:代码理解能力、代码测试工具的使用能力,一定的编码能力,自动化开发能力等

二、测试分析能力

进入测试后,需要对我们前期的缺陷预防进行分析和总结,并且分析下该模块的质量:看下哪些地方是存在风险的,哪些地方是前面做的比较充分的,从而来制定我们的测试策略,减少一些没有必要的测试点或增加一些有效的测试点,让我们的整个测试更加的有效,并且通过不断的测试和分析,来及时调整测试策略,来减少我们的测试时间(比如:以前需要测试500个测试用例,后面通过分析后能够减少到300个,并且证明测试结果是一样的),当然我们需要对我们的测试结果负责,要达到这个程度应该是比较难的!

时间: 2024-11-10 07:53:23

作为测试人员一般经历的几个阶段的相关文章

测试人员眼中的app版本迭代过程中的问题

测试人员眼中的app版本迭代过程的问题     --记一次app新版本的开发测试过程 1. 前言 自从8月初入职当前的公司以来,在这一期的版本迭代过程中,第一次独立承担app部分的全部测试设计及需求跟踪,从头至尾跟踪了需求分析到开发测试上线的整体过程,和曾经做过的各种测试类型相比,它没有想象的那么好,也没有想象的那么坏.应了那句老话,梨子好不好吃,自己尝了才知道. 经历完整个迭代之后,感慨良多.在这里梳理整个过程,以测试的角度来分析整个迭代过程,作为以后工作的参考. 2. 简介 2.1 项目及公

测试人员的误区:迷信自动化(转)

终于有时间总结一下过去几年在微软的测试经验,谈谈对测试自动化的看法. 先说说为什么做测试的人喜欢搞自动化. 第一,自尊心.计算机科班出身的人都喜欢作开发(Dev).做测试工作经常是身不由己,可是测试工作很多时间不需要编程,于是做测试的人想方设法写些程序,以显示自己也会编程.结果往往是欲罢不能,测试自动化程序越写越多,越写越复杂.后面我会谈谈测试自动化框架复杂的代价. 第二,为了出成绩.很多测试组为了向管理层展示成绩,往往要拿出例如测试自动化达到80%,程序覆盖率达到90%.要我说,这些都是Bul

毕业两年做到测试经理的经历总结

前言 最近看到行业的前辈都分享一些过往的经历来指导我们这些测试人员,我很尊敬我们的行业前辈,没有他们在前面铺路,如今我们这帮年轻的测试人估计还在碰壁或摸着石头过河,结合前辈们的经验,作为年轻的测试人也有自己的一些职场,技术以及行业交际的一些总结经验,今天有些时间,我也写写我做为一名90后测试人的一些经历和看法吧,还是先简单介绍一下自己,本人15年本科毕业,还有一个月工作就满两年了,现在在公司的创新团队任测试负责人,不过由于个人发展的原因,也很快要和现在的公司说88啦 二.情怀 我对软件测试这个方

【转】 测试人员的职业规划 --整理标注

不同类型的软件公司,对测试工作的重视程度也有很大不同.建议测试人员选择一些业务持续发展的公司.做项目东一榔头西一棒的公司,是不需要高质量的测试的,他们需要的是尽快把软件交出去,却无法静下心来思考,怎么把质量做好.选择这样的公司,要冒相当大的风险. 接下来说一下大家关心的话题,如果选择了测试,怎么能从测试团队中脱颖而出呢?经常被提出的概念有“管理和技术两条路线”,这个概念太抽象,还是无法帮我们理清思路.有的观点认为,测试要学习开发技术,这个也没有说到关键点上.我认为测试人员的职业发展有下面两个,换

适合所有测试人员读的书籍

软件测试:经验与教训:如果只让推荐一本书,我就推荐这一本.书以很多看似零散的小知识点组成,但是字字珠玑.真正做过2年~20年测试的人,拿起它来,每一条和自己的工作做对照,都会有共鸣或者”原来如此“的感受.工作经验越多,体会越深,是一本常看常新,并且能够一直指导你的书.从某种意义上,它教会测试人员的是“思辨思维”,这才是最重要的财富. 有效软件测试: 跟<软件测试,经验与教训一样>是一部分实战很强的总结类书籍,我觉得也可以列入经典.推荐阅读的时候同自己的工作一条一条做对照,肯定会有很深体会.(里

测试人员怎么避免背黑锅?

作为一个“质量保障”的角色,这个问题肯定会遇到,那么我就浅谈一下自己的看法吧. 谈到这个话题,也许很多人下意识会想到如何“甩锅”,想着如何把责任撇清.其实就我个人经历而言,这个方法虽然必不可少,但用的时候需慎之又慎,而且切不可常用. 因为一旦出现了质量事故,无论解释的多么天花乱坠,都于事无补,反而容易让人觉得你这个人不可信.不可交.说的越多,越让领导反感,觉得你在找借口,没责任心! 如果真这么干了,那方向可能就错了. 我个人觉得可以从下面这七方面来考虑: 测试前进行充分沟通,测试范围和风险 跟开

【转。摘】五个测试人员必须具有的优点

下面的列表就是一个测试人员必须具备的最重要的五项优势: 1. 持续不断的自我提升 软件测试人员必须持续学习.技术的世界并不迟缓.在眨眼之间它都在变化.今天,我们正在讨论把人通过喷射飞机在太空中飞行实现3小时内从英国转送到澳大利亚. 我不是说每个人需要退出来并开始学习航空科技.我说的是测试人员不应该坐在他们舒适的区域,并用世界上著名的自卫格言"我只测试这个"为他们缺乏能力进行辩护.在这么多东西之中,其中测试人员需要学习的最重要的东西之一就是持续增长产品领域的知识.测试人员普遍存在一个错觉

测试人员职业规划

公众号里发文章,超链接只能链接到发布过的文章,所以这几天我会把以前写的但没群发过的文章重新发一下便于页面跳转,各位看官请知悉. 关于测试人员的职业规划,我想无论是刚入行的新手,从业几年的测试工程师,还是大牛们,都需要面对并慎重的考虑.做测试有前途吗?做到什么程度才算好的测试?如何才能成为大牛(怎么把工作做的卓越)?......从目前测试行业的人员结构来说,新人占了绝大多数,所以远方有一盏明灯就会显得更加重要.在这个问题上,我考虑过很多,也做过很多尝试,之前也把自己的一些经历和心得发到到自己的博客

[转]译文:五个测试人员必须具有的优点(软件测试人员需要转换视角)

出处:CHJ's BLOG 原文:Top 5 Things a Tester Must Have to Excel (And the Software Tester’s Shifting Perspectives) 作者:Ratha Jegatheson 在软件测试领域工作10年中,我曾有幸直接见证这个领域在相对短时间内跨越性的改变.在我刚进入这个领域的时候,除去软件开发周期里面所说的,大家刚开始真正意识到软件测试的重要性和把它从“应该做”提升到“必须做”. 在过去,由于会产生额外的成本,软件测