|   1. 
                                Bug生命周期 
                              在本节中,我们将了解bug生命周期以及bug和bug报告模板的不同状态。 
                              在这里,我们将讨论一个bug的完整生命周期,从它被发现、修复、重新测试和关闭的阶段。 
                              我们有一些不同的bug状态,例如新建/打开、已分配、修复、重新打开和关闭。 
                               
                               一旦测试工程师发现bug,状态就会被指定为“新建”,这表示刚刚发现了bug。 
                              需要通过将状态更改为“已分配”来将此新bug报告给相关开发人员,以便负责人处理该bug。 
                              然后开发人员首先检查bug,这意味着开发人员阅读所有导航步骤以确定它是否是有效的bug。 
                              基于此,如果bug有效,开发人员开始在应用程序上重现bug,一旦bug成功重现,开发人员将分析代码并进行必要的更改,并将状态更改为“已修复”。 
                              一旦代码更改完成,并且bug得到修复,测试工程师就会重新测试bug,这意味着测试工程师再次执行相同的操作,这在bug报告中提到,并相应地更改状态: 
                              如果bug修复正确,请关闭,并根据要求在功能上工作。 
                              或 
                              重新打开,如果bug仍然存在或无法按照要求正常工作,则bug会再次将其发送回开发人员。 
                              此过程将持续进行,直到修复并关闭所有bug。 
                             
                           
                                  |    
                                      注1:测试工程师无法将bug口头告知开发者,原因如下: 
                                     
                                      -  
                                        
开发人员可能会忽略该bug  
                                      -  
                                        
开发人员误解了该bug  
                                      -  
                                        
忘记bug  
                                      -  
                                        
该bug可能无法在确切位置找到  
                                      | 
                           
                         
                                
                              2. 将bug分配给谁 
                               该bug可以分配给以下人员: 
                               
                               开发人员:如果我们知道谁开发了该特定模块。 
                              开发人员负责人:如果我们不知道开发特定模块的开发人员。 
                              测试线索:当我们与开发团队没有任何互动时。 
                              当bug被修复并关闭时,或者如果它对其他模块有任何影响,那么我们会进行新的bug报告。 
                              或 
                              当bug的状态为重新打开(未修复)并影响另一个模块时,我们必须准备新的bug报告。 
                             
                           
                                  |    注2: 
                                        
                                      -  
                                        
每当我们发现bug并且开发人员修复它时,我们必须检查一轮影响区域。  
                                      -  
                                        
如果旧 bug 已正确修复,请将状态更改为“关闭”。  
                                      -  
                                        
如果我们在影响区域发现bug,则报告为新bug。  
                                      -  
                                        
如果旧bug未正确修复,请将状态更改为重新打开。  
                                      -  
                                        
 或者,如果我们发现 bug 影响区域,则将状态更改为“新建”或报告为新 
                                          bug。  
                                      | 
                           
                         
                                
                              3. Bug的另一个状态 
                               一旦我们准备了bug报告并将其发送给开发人员,开发人员将接受bug并开始进行必要的代码更改,这些更改将成为bug生命周期的积极流程。 
                              可能存在服务条件,开发人员可能不会进行必要的代码更改,而是根据情况,这将成为bug生命周期的负流或状态。 
                              以下是 bug 生命周期的不同状态: 
                             - 无效/已拒绝
 
                                  - 
                                重复
 
                                  - 
                                推迟/推迟
 
                                  - 
                                无法修复
 
                                  - 
                                不可重现
 
                                  - 
                                RFE(请求增强)
   
                                 
 
                                  3.1 无效/已拒绝 
                               当测试工程师因为误解需求而编写了不正确的bug报告时,开发人员将不接受该bug,并将状态指定为无效并将其发回。(有时开发人员也可能误解要求)。 
                             
 
                                  
 
                               
                                Bug无效状态的原因 
                              由于以下原因,发生了bug的无效状态: 
                              
                                让我们看一个测试工程师和开发人员误解需求的示例,如下图所示: 
                               
 
                                  3.2 重复 
                               当不同的测试工程师多次报告相同的bug时,称为重复bug。 
                                
 
                               
                                Bug重复状态的原因 
                              以下是重复状态的原因: 
                                 
                              
                                - 共同特性:例如: 
                                  
 假设我们有测试工程师P和Q正在测试软件,测试工程师P和Q将测试他们的功能,如登录应用程序。 
                                   在这里,测试工程师P输入有效的用户名和密码,然后单击登录按钮。 
                                   一旦P点击登录按钮,它就会打开一个空白页面,这意味着它是一个bug。 
                                   之后,P 为特定bug 准备bug报告并将其发送给开发人员。 
                                   然后测试工程师Q也登录了应用程序并得到了相同的错误。Q 
                                    还准备了一份bug报告并将其发送给开发人员。 
                                   一旦开发人员都得到了两个测试工程师的bug报告,他/她就会将bug报告发回给Q并说它是重复的。  
                                -  依赖模块 
                                  
 如下图所示,测试工程师想要撰写邮件,因此首先,测试工程师需要登录,然后只有他/她才能撰写邮件。 
                                   如果在登录模块中发现bug,测试工程师将无法执行进一步处理,因为组合模块依赖于登录模块。 
                                    
  
                                -  避免重复bug 如果开发人员收到重复的bug,那么他/她将转到bug存储库并搜索bug,并检查bug 
                                  
 是否存在。 如果存在相同的bug,则无需在报告中再次记录相同的bug。  
                               
                              或者 
                               如果bug不存在,则记录bug并存储在bug存储库中,并将其发送给开发人员和测试工程师,将其添加到 
                                [CC] 中。 
                              
                              
                           
                                  |   注意2:每当我们比较两个bug报告以确定它是否重复时,我们应该始终查看两件事,如下所示: 
                                     
									  
                                      
                                    
                                        | 
                           
                         
                               
                                3.3 不可重现 
                                
                               开发人员接受该bug,但由于某些原因无法重现。 
                                
                                   
                                    
                                  |   这些是开发人员在完成测试工程师在bug报告中给出的导航步骤后无法找到它的bug。  | 
                                   
                                 
                                
                              Bug不可重现状态的原因  
                              该bug状态不可重现的原因如下: 
                                
                              
                                - 不完整的bug报告--测试工程师没有在报告中提及完整的导航步骤。
 
                                -  环境不匹配--环境不匹配可以用两种方式描述: 
                                  
                                
 
                               
                                
                               服务器不匹配:测试工程师正在使用不同的服务器(测试服务器),开发人员正在使用不同的服务器(开发服务器)来重现bug,如下图所示: 
                                 
 
                                   平台不匹配:测试工程师使用不同的平台(window7和谷歌浏览器),开发人员也使用不同的平台(windowXP和IE浏览器)。 
                                
                              
                                - 数据不匹配 
                                  
 测试工程师使用的不同值,而测试和开发人员使用不同的值。 
                                   例如: 
                                   对管理员和用户提出了要求。 
                                    
                                   即,两者都对同一登录模块使用不同的值。  
                                -  
                                  
构建不匹配 
                                   测试工程师将在一个构建中发现该 bug,而开发人员将在另一个构建中重现相同的 
                                    bug。该错误可能会在修复另一个bug时自动修复。  
                                -  不一致的bug 
                                  
 该bug在某个时候被发现,有时它不会发生。 
                                   不一致bug的解决方案: 
                                   一旦我们发现bug,首先截取屏幕截图,然后开发人员将重新确认bug并修复它(如果存在)。  
                               
                                 
                               3.4 无法修复 
                                
                               当开发人员接受bug并且也能够重现时,但由于某些限制而无法进行必要的代码更改。 
                                 
 
                                
                               无法修复bug状态的原因 
                                
                              以下是无法修复bug的限制或原因: 
                                
                              
                                 
                                 
                                 
                                 3.5 延期/延期 
                                
                               延迟/推迟是由于时间限制而将bug推迟到未来版本的状态。 
                                 
 
                                  由于时间限制,在初始构建中未修复 bug 的延迟状态。 
                                如下图所示: 
                                
                              Bug ID-B001 bug在初始版本中发现,但不会在同一版本中修复,它将推迟,并在下一个版本中修复。 
                                
                              Bug ID-B0024、B0025 和 B0026 是在构建的最后阶段发现的bug,它们将被修复,因为这些bug是次要bug。 
                                  
 
                                  
                                 
                                 3.6 RFE(请求增强) 
                               这些是测试工程师以bug报告的形式对应用程序增强给出的建议。RFE 
                                代表 请求增强。 
                               
 
                                正如我们在下面的示例图像中看到的,测试工程师认为应用程序或软件的外观和感觉不好,因为测试工程师正在以最终用户的身份测试应用程序,他/她将状态更改为RFE。 
                              如果客户说“是”,则状态应为“修复”。 
                              或 
                              如果客户说“否”,则状态应为“关闭”。 
                             
 
                                
                               4. Bug报告模板 (excel) 
                               bug报告模板如下: 
                                 
                               让我们看一个bug报告的例子: 
                                 
                                
                               在这里,我们描述了bug报告的一些重要属性。 
                              bugID:它是分配给bug的唯一编号。 
                              测试用例名称:当我们发现bug时,我们会向相关开发人员发送bug报告,而不是测试用例。它用作测试工程师的参考。 
                              严厉程度:它是bug对应用程序的影响。它可以是阻塞、关键、主要和次要。 
                              优先权:在这种情况下,我们必须决定必须首先修复哪个bug。它可以是 
                                P1/P2/P3/P4、紧急、高、中和低。 
                              
                                地位:可以分配、无效、重复、延迟等的 bug 的不同状态。 
                              记者:在此,我们将提及发现该bug的人的姓名。它可能是测试工程师,有时可能是开发人员、业务分析师、客户等。 
                              日期:它提供发现bug的日期。 
                              发布/构建版本:它提供发生bug的版本号,以及应用程序的构建版本。 
                              平台:提及平台详细信息,我们确切地找到了bug。 
                              描述:在这里,我们将解释特定bug的导航步骤,预期和实际结果。 
                              附件:附上我们捕获的bug屏幕截图,因为它可以帮助开发人员查看bug。 
                              5. 手动bug报告的缺点 
                               以下是手动bug报告的缺点: 
                                 
                              
                                - 耗时
 
                                -  在搜索bug报告中的每个bug时,这将是一个耗时的过程
 
                                -  人为bug的可能性,bug可能会重复出现,bug报告中提到了bug的数据,并bug了要添加到bug。
 
                                -  报告中的内容
 
                                -  没有安全性
 
                                -  任何人都可以更改或删除它
 
                                -  繁琐的过程
 
                                -  没有集中式存储库
 
                               
                                 
                                 
                               |