• 0
  • 0
分享
  • Bug都少的可怜,叫我测试怎么活?——软件测试圈
  • 恬恬圈 2023-11-09 11:39:26 字数 2230 阅读 1129 收藏 0

  最近参与了几个需求开发,BUG很少,有些需求没BUG,有些才一个BUG,搞的测试人员还发牢骚说:

  大佬,你负责的项目,bug都少的可怜,叫俺怎么活?

  哈哈,其实测试人员要感谢我才对,因为开发人员的代码质量高了,会极大的提升测试人员测试的速度,因为测试过程中非常顺畅,没啥阻碍的东西。

  设想一下,如果提测后,代码BUG满天飞,测试人员不断的提BUG单,开发人员不断的修复,一不小心还可能修复出其他BUG来呢,中间还穿插各种各样不必要的讨论,这些都严重影响了测试进度,当然也严重影响了测试人员和开发人员的心情。

  因此:

  最好是在开发阶段就认真起来,把代码写好,以求后续流程的顺畅性。

  那么如何做到写代码的时候,尽量避免BUG呢?趁这个机会也跟大家分享一下我的做法。

  与产品经理和经验丰富的测试人员多沟通

  需求阶段

  产品经理正式开需求会议之前,一般都会先把需求文档发出来,这个时候,开发人员一定要认真的看并仔细分析,每个细节都要多想想,有疑问的地方及时跟产品经理沟通。

  另外,看需求的时候,最好跟熟悉业务的测试人员多多沟通,测试人员是对以往需求最清楚的人,能看到其他人看不到的细节。像我自己就经常从测试人员那里,听到了一些要命的而我却忽略掉的需求细节。

  代码设计阶段

  我一般想好方案后,第一时间就会去找技术老大和熟悉业务的测试人员。

  能做到技术老大,他的思路一般都是比较广的,多听听他的意见是没错的。另外,也要去找测试人员,有些开发可能认为,技术方案怎么会去找测试人员商量呢?

  请不要忘记,部分测试人员是对整个公司的大部分应用和需求和业务都了如指掌的人,能清楚的知道系统与系统之间如何交互,整个链路是怎么走的,整个上下文又是怎么样的。

  当开发人员的设计方案出来后,表面上看起来,完美无瑕,其实可能存在影响上下游系统的隐患。而多与熟悉业务的测试人员沟通,则可以尽早把这些问题暴露出来,减少影响和损失。

  代码开发阶段

  必须写单元测试

  单元测试的重要性,无论怎么强调都不为过。它是用于测试自己写的代码是否符合预期的极好的手段。尤其是在创业公司,需求都非常多,经常需要改代码,如果没有一套完整的单元测试来回归验证代码,分分钟由于新写了代码而破坏了原有的代码功能。

  单元测试可以让开发人员放心大胆的改代码,无需担心影响之前的功能。

  但是单元测试一定要认真负责的写,尽量覆盖主流程业务。那种随便写写,随便验证的单元测试,不写也罢,没啥意义,还浪费时间。

  写单元测试经常犯的另外一个错误是,由于急着改bug,忘记同时改单元测试了,导致之前跑过的单元测试,后面又跑不过了,这个是绝对不允许的,单元测试也必须持续维护的。

  另外有一个点就是,开发人员提测后,理论上就可以接另外一个开发任务了,如果开发阶段BUG太多的话,则会影响下一个开发任务的进度。这个是开发经理不愿意看到的。

  不断的重复的看自己的代码

  代码提测前,要多看几次,有时候能看出一些隐藏的代码BUG的,有时候也会觉得,昨天写的代码,真垃圾,还是有蛮多代码要优化的。

  在看代码的时候,最好顺便做到下面几点:

  代码收拢性要强,不要存在那种类似的代码满天飞,能封装起来的就封装;

  业务代码一定要有必要的准确的注释,千万别信那套方法名命名好了就能解释清楚的鬼话;

  代码抽象层次要一致,不要跳跃,例如,你的业务方法,操作其他模块业务表的时候,都是调用Service类的,就不要突然冒出个直接使用xxxxxMapper去操作数据库表了;

  流程性比较强,最好用 //1、 //2、 //3、 标注一下,这样会更加清晰。

  必须做开发联调

  当你的业务接口开发完成后,一定要做开发者之间的联调。联调是端对端的,就算其中一方做的再好,没有联调,还是会出问题。

  开发联调通过后,建议叫产品过来提前验收

  一般来说,功能测试通过后,上线前,会让产品先验收一下。但是我则喜欢开发联调完后,就先拉上产品经理,先大概验收一下。不要小看这一步,经常能提早发现一些问题的。

  开发人员列出改动了哪些已有接口

  列出改动细节有个好处:

  让测试人员更加有针对性的做回归测试。虽说每次项目上线前,测试人员会做回归测试,但是很难做到全面回归,而没有回归到的场景,到线上可能就会造成bug。如果开发人员能列出改动点,则测试人员可以重点且认真的回归。

  已有接口已经是在线上验证过的接口,如果改动了,是一定要做兼容性测试的,既要保证新功能可用,也要保证不影响旧功能。

  尽最大努力,保证开发提测不delay

  对于那种上线日期已经定了,一般会采用倒排的方式,推导出,开发哪个时间点提测,测试人员什么时候介入测试,测试多少天等,都会安排好。

  如果开发提测delay了,留给测试人员的测试时间就缩短了,会给测试人员造成很大的压力,压力一大,则更容易出错,直接影响测试质量,也就影响了上线质量。

  当出现了提测delay的苗头,开发人员一定要及时反馈出来,由组长或者经理协调资源,进行补救。

  这里要重点强调的是,一个功能的提测,是涉及到前端、后端的,你想自己加班到深夜赶进度也是没用的,一定要以最快的速度,将问题暴露出来,由上级去协调一下,留下相关的人一起奋斗一下,尽量保证按时提测。


作者:佚名    

来源:http://www.51testing.com/html/74/n-6391374.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • HTTP首部字段根据实际用途被分为以下4种类型。1.通用首部通用首部字段(General Header Fields)请求报文和响应报文两方都会使用的首部。Cache-Control:用来声明服务器端缓存控制的指令。包括请求设置指令和响应请求指令。请求控制指令如下。no-cache:不使用缓存实体,要求从 Web 服务器去请求内容。max-age:只接受 Age 值小于 max-age 值的内容,即没有过期的请求对象。max-stale:可以接受过去的对象,但是过期时间必须小于 max-stale 值。min-fresh:接受生命期大于其当前 Age 跟 min-fresh 值之和的缓存对象。...
            0 0 918
            分享
          •   渗透测试的整个过程中,需要提前制定一个测试方案,各种因素都会影响最终的测试结论和结果。渗透测试的目标是最大限度地找出系统的漏洞,时间短,覆盖全面,说服力强。所以在方案的设计中,通过比较突出哪些方法更快更有效,渗透攻击需要点到为止,不破坏系统,也需要有针对性和速度。因此,提出了一个模块化的测试方案。单独的方法测试后,设计自动渗透测试系统,然后实现和测试,得出结果。通过方法比较,可以获得网站在建设和维护中的一些经验。  因为WEB系统和网站本身都有一定的局限性,所以整个方案的目标就是找出更多的漏洞,配以一定的渗透攻击,对网站系统进行评分,使网站维护人员能够直观地感觉到问题,有针对性地解决。整个...
            0 0 921
            分享
          •   一、判定表  1.使用场景:  当多个输入条件之间存在逻辑关系,需要组合测试时,使用判定表法进行分析  2.相关概念  (1)条件桩:输入条件,如工资薪制,错误程度  (2)条件项:输入条件的取值,如年薪制、月薪制  (3)动作桩:输出结果项,如扣款比例,扣款金额,实发工资  (4)动作项:输出每个项的具体值  3.使用步骤  (1)需求分析,得到条件桩和条件项,以及动作桩  (2)确定组合数量(条件项乘积)  (3)得到判定表  (4)导出测试用例,原则,一列是一条测试用例  案例1:  工资发放系统  条件桩:工资薪制  条件项:年薪制,月薪制,季薪制  案例2:  有一个处理单价为5...
            4 4 2767
            分享
          • 一、测试组的任务职责和测试的基本概念:在软件系统开发完成后,必须进行测试和评价,以确定软件质量是否达到预定目标,这样才能保证软件系统安全可靠地运行。通过软件测试可以尽可能地和尽可能多地找出各种隐藏的错误和缺陷,及时进行修改和弥补。软件测试将直接影响到软件产品的最终质量。测试组的任务是用尽可能高的精度测试所开发的软件产品与规定需求的差距及其应用时的适用性。如果发现缺陷,则软件产品不能通过验收和使用,并退回给开发组。测试组的另一个任务是制定软件应用计划,负责计划在生产领域如何正确地使用程序及数据库。测试组的职责是确定测试过程、测试计划和组织测试过程及执行测试,但是不负责被测试系统的质量。测试组能够...
            12 13 2078
            分享
          • 面试中,针对“用户登录”界面设计测试用例这个题目可以说是非常的耳熟能详了!可能你会说,“用户登录”这个测试对象也有点太简单了吧,我只要找一个用户,让他在界面上输入用户名和密码,然后点击“确认”按钮,验证一下是否登录成功就可以了。的确,这构成了一个最基本、最典型的测试用例,这也是终端用户在使用系统时最典型的 Happy Path 场景。但是作为测试工程师,你的目标是要保证系统在各种应用场景下的功能是符合设计要求的,所以你需要考虑的测试用例就需要更多、更全面,于是你可能会根据“用户登录”功能的需求描述,结合等价类划分和边界值分析方法来设计一系列的测试用例。那什么是等价类划分和边界值分析方法呢?首先...
            14 15 3381
            分享
      • 51testing软件测试圈微信