zoukankan      html  css  js  c++  java
  • 如何处理与开发有争议的Bug?

     工作中,测试人员有时会遇到类似的问题:提交了一份软件缺陷报告,可由于某种原因,无论是开发人员还是开发经理就是不愿修改程序。应如何处理这类问题呢?我认为,当对报告出现分歧意见后,测试工程师应首先做如下第一、二步分析:
        
        一、问题确认与评估
        再次论证该问题确实是程序缺陷,并评估该缺陷的重要程度并对其分类。比如可存在以下分类:
        
        1、设计文档范围内的功能性缺陷
        2、影响到程序的安全性和稳定性缺陷
        3、界面缺陷
        4、一般性错误(如未考虑边界检查等)
        5、边缘死角,规律不明显,不太容易重现的错误
        6、兼容性错误(例如旧机型、CPUMEM,旧标准等等)
        7、安全性或易用性等的修改建议
        ……(可扩展)
        
        二、明确Dev不修改该缺陷的确切原因
        比如可存在以下原因:
        1、规律不明显,不好重现
        2、dev认为是不影响主要功能的一般性bug,因时间处于版本的稳定期,担心牵一发动全身引起更多错误
        3、调用了第三方组件或库函,是第三方程序存在的缺陷
        4、存在技术难点
        5、设计本身存在问题,程序逻辑是正确的,但实现结果并非用户所需(换言之,dev说这是设计问题,不是程序问题)
        6、Dev的个人主观意见:
    该瑕疵可以容忍,没必要修改
    修改该瑕疵会引起更大的问题
        7、Tester和dev对错误的理解有分歧:
    tester理解错误,该问题并不是bug
    tester没有说服dev这是个bug
        
        ……(可扩展)
        
        三、具体问题具体分析
        分析完第一、二步之后,也就基本上明确了问题的争议焦点,然后具体问题具体分析。
        1、如果dev认为不好重现,则tester有责任和义务找到更简洁有效的重现规律。
        2、如果tester没有说服dev认识到这是个缺陷,则需要拿出强有力的证据(测试用例、设计文档、错误现象等)来证明。
        3、对于第三方库函bug,或技术难点导致的bug,则坚持原则--宁缺勿滥,必要时宁可封掉该功能。
        4、针对错误的设计、不能说服的dev主观理解、改动隐患,以及稳定期等特殊情况,则可通过TM进行多方沟通。
        
        四、发挥TM与PM的沟通职责
        强调沟通
        TM和PM有团队沟通的职责。在bug分类、指派和反馈过程中出现有争议的问题时,TM和PM有责任和义务进行干预。根据问题的重要程度和轻重缓急,采取不同的方式进行沟通。如出现“三”中3、4类较大争议的问题,可通过会议研讨等形式召集多方进行论证,并达成一致的解决意见,解决方法形成备忘录。
        
        对因各种原因继续保留在发布版本中的bug,尤其可能影响功能的,应予以说明,提醒用户绕过。
  • 相关阅读:
    interview ms1 N_Dorm
    interview ms1 robert move **
    LeetCode OJ-- Jump Game II **
    LeetCode OJ-- Jump Game
    LeetCode OJ-- Palindrome Partitioning II ***
    LeetCode OJ--Palindrome Partitioning **
    LeetCode OJ--Palindrome Number
    LeetCode OJ-- Linked List Cycle II **
    3dContactPointAnnotationTool开发日志(十一)
    3dContactPointAnnotationTool开发日志(十)
  • 原文地址:https://www.cnblogs.com/fighter007/p/8432925.html
Copyright © 2011-2022 走看看