如果软件提交到客户那里出现无数个bug,那么是是谁的问题
1、唯一性。
一个bug说明一个问题,如果有能力的话,一个bug说明一类问题,这一类问题一定要能判断出是一条代码错误引起。
2、可重现。
提供这个bug的精确步骤,使开发人员容易看懂。
3、一致性。
bug描述及所有信息要前后一致,不可有歧义。
4、完整性。
最好能抓图,一目了然;测试环境和特定条件一定要描述清楚,许多软件功能在通常情况下没有问题,而是在某种特定条件下会存在缺陷,所以软件缺陷描述不要忽视这些看似细节但又必要的特定条件。
5、简洁性。
通过使用关键词,可以使软件缺陷的标题描述短小简练,又能准确解释产生缺陷的现象。
6、跟踪性。
也许随着版本的变化,或者测试的深入,对bug有了新的认识或者新的判断,及时补充相关信息,能够提供给开发更有用的信息。
7、客观性。
软件缺陷描述不要带有个人观点,不要对开发人员进行评价,软件缺陷报告是针对产品的。
其实在平时测试中,经常会遇到不能重现的bug,这些问题有不能提交bug,如果放过往往上线后出现的概率很大,问题也一般比较不可接受。
所以我觉得对于重现不可重现的bug是做好测试很重要的能力。
1、保留信息。
遇到问题,最好抓图,搜集错误日志,保留测试现场环境,一旦发现此问题不可重现,这些数据和信息将很重要。
2、提高意识。
很多人在遇到这类问题时,往往觉得后来操作不可重现了,因此就忽视了。
这样往往会把此类bug遗留到产品发布后。
欠的帐总要还得。
3、自我分析。
对于自己分析这类问题,其实对自己的提高是最大的。
分析思路:环境问题和操作顺序。
4、寻求帮助。
如果研发可以帮忙,并且研发是负责任的话,只有信息全,研发分析往往是最快的途径。
如果研发忙或者不乐意做,也是不可厚非的。
但就要寻求组内能力强的人员或者组内讨论分析,集中大家的力量往往可以事半功倍。
在我的经历中,通过上面的方法,几乎能把所有的不可重现的问题变成可重现的并且提交bug。
如何提交bug?
如何做好bug在线管理我们在日常工作中都可能都会遇到软件bug问题,而bug也是各种各样的:功能未实现,功能不完整,重复,多余等;软件功能和需求规格书中描述的功能不一致; 系统不能正常工作,死机,没反应;边界条件,在边界条件时发生的功能缺少或错误;界面、消息、提示不够准确,不友好;兼容,对某种软硬件不兼容;当管理团队收到各部门发出的BUG信息时,首先要按照对工作影响的大小,把BUG的严重程度分类:1) 致命:造成系统死机、程序崩溃、死循环、造成系统主要功能无法实现的异常等;产品的关键功能和性能不能符合用户要求。
2) 严重:重要功能基本实现,但系统不稳定、会导致数据破坏丢失、运行错误、操作性错误、功能不能实现、功能遗漏、错误结果。
3)一般:不影响业务的BUG或可避免的BUG,有避免的操作;打印内容、格式错误、信息内容错误,前台未做输入限制等问题。
4)轻微:操作不方便、视图不友好、颜色搭配、小问题、错别字、界面布局、罕见故障。
5)建议:极有必要的建议,仍作为BUG处理。
BUG被提交到了BUG系统后,应该先改哪些BUG呢?结合每个BUG的影响程度,来分配每个BUG修改的优先级,BUG优先级定义的规则如下:P0级,必须要尽快修复的BUG,这些BUG直接影响到产品发布进度和最重要的功能使用,这些BUG不修复,将会阻碍其他任务的完成,项目组必须组织人力,马上进行修复;P1级,在每个里程碑结束前必须修复的BUG,对修正的要求不是非常迫切,但是必须在里程碑版本发布之前修复掉;P2级,如果时间允许就修正的BUG,这样的BUG一般来说不会影响里程碑版本的使用,是否需要修复根据项目组的时间和资源情况考虑,如果时间允许,就会修正;P3级,很低优先级的BUG,可以根据项目组时间和资源情况,决定是否修复,或遗留到产品发布后作为遗留BUG进行修复,在下一个版本中进行发布。
现在稍大点的中小团队往往让技术人员开发一套异常简陋的“bug管理”系统,按照通用的bug管理流程进行系统设计,忽略UI、交互等等一切“次要”元素,保证顺畅使用基本职能;这套内部的bug管理系统如果不考虑用户体验要素,基本上能够满足正常流程:纪录、审查、跟踪、分配、修改、验证、关闭、整理、分析、汇总以及删除。
自己开发bug管理系统虽然投入成本相对较高,但可以根据团队工作习惯定制化。
不过有一点麻烦:这个bug管理系统并不是团队每个成员经常登录的系统,这就导致遇到bug时,需要经过“找出收藏的网址→登陆→依照指标输入详情→阶段性查看最新进展”,如果遇到这个bug是用户向你反馈而后你输入到bug系统时,你还需要等几天后给出反馈。
这冗长的环节和时间等待,让我有点失去耐心,等到后来遇到用户反馈的bug我往往直接找技术反馈、处理而绕过bug管理系统。
这样做肯定会影响到技术人员的开发效率,打断其思路,是非常不好的工作习惯。
我们团队一直在使用日事清进行“bug管理”:在“计划”中建立“bug管理”看板,将 bug管理流程分为如下几个状态:收集→确认→其他→暂缓bug→开发中→测试中→已解决→发布并通知用户→重复问题→提醒问题。
在“计划”中建立“bug管理”看板,将 bug管理流程分为如下几个状态:收集→确认→其他→暂缓bug→开发中→测试中→已解决→发布并通知用户→重复问题→提醒问题。
处理流程为:提bug人员将bug输入到“收集”状态,不需要像“bug管理系统”一样筛选多种标签,由产品助理/产品经理集中处理,视bug具体情况将bug拖拽到其他集中状态。
如果拖拽到“确认”,在该bug下添加相应技术人员让其处理,技术人员会在日事清协作系统内收到通知并且bug同步到其收纳箱,方便技术人员集中处理,解决后由技术人员拖拽到“已解决”状态卡片。
使用日事清进行bug管理可以在一个工作系统内完成,不增加“提bug人员”、“甄别bug人员”、“处理bug人员”的使用成本; 而且是由产品助理/产品经理/测试工程师集中甄别bug并和技术人员延时沟通,杜绝其他成员直接联系技术人员询问打扰其工作; 如果bug状态发生改变,比如“已解决”、“评论沟通”等,提bug人员会收到通知,可以实时跟进bug状态,提bug人员更可阶段性点击“bug管理”模块查看实时状态 ; 并且无需单独购置一套bug管理系统,直接在办公平台流畅解决,降低企业运营成本; 相比自己开发的bug管理系统,具备更优秀、顺畅的使用体验,可以说不仅提升了管理效率,还降低了企业成本,非常值得借鉴。
怎么才能递交BUG???我发现了一个BUG,但找不到BUG递交网
1. 测试人员提交新的Bug入库,错误状态为New。
2. 高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。
如果不是错误,则拒绝,设置为Declined(拒绝)状态。
3. 开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。
不能解决的Bug,要留下文字说明及保持Bug为Open状态。
对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。
4. 测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reopen。
软件错误流程管理要点 为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。
每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug状态。
拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决定。
错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。
加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例...
软件提交到客户那里出现无数个bug,是谁的问题
简单跟你讲下吧,1.软件测试流程,一般是这样:需求了解——测试计划——测试设计——测试用例编写——测试执行——bug管理跟踪——测试报告生成2.bug就是测试过程中发现的程序缺陷,可以指需求上的,也可以指功能、性能上的3.bug提交有多种方式,可以通过测试管理工具来管理bug,比如QC等4.bug的生命周期: 发现bug(open)——修复bug(fixed)——关闭bug(closed)...
软件测试提交bug时包括哪些内容
1. Bug的标题(Title)和详细描述(Descriptions):标题是对你所提交的Bug进行简明描述;详细描述是对Bug进行详细描述,例如在什么情况下发生等;也可以直接将标题作为描述部分。
2. 回归(Regression): 是测试前一个版本有没有此类bug(称为回归测试)。
3. Bug测试环境(Environment):发现的这个bug的环境,例如:什么系统,哪个版本等。
对于bug环境的描述可以通过简单的罗列即可。
4. 复现的详细步骤(Repro Steps):将测试的过程简单的写一下,从你开始测试软件的最开始到你发现bug的时为止。
5. 实际结果(Actual Results)和预期结果(Expected Results):实际结果是在测试软件的过程中,软件所表现出来的特征或者行为;预期结果就是软件需要设计所要求达到的结果或者目标。
6. 备注(Notes):对bug的一些补充,例如:其它系统也发生,上个版本不发生等需要补充的内容。
7. 内容还包括bug的严重等级、优先等级等,对于不同的bug,要做出相应的提交内容
软件测试中如何提交高质量bug
1、唯一性。
一个bug说明一个问题,如果有能力的话,一个bug说明一类问题,这一类问题一定要能判断出是一条代码错误引起。
2、可重现。
提供这个bug的精确步骤,使开发人员容易看懂。
3、一致性。
bug描述及所有信息要前后一致,不可有歧义。
4、完整性。
最好能抓图,一目了然;测试环境和特定条件一定要描述清楚,许多软件功能在通常情况下没有问题,而是在某种特定条件下会存在缺陷,所以软件缺陷描述不要忽视这些看似细节但又必要的特定条件。
5、简洁性。
通过使用关键词,可以使软件缺陷的标题描述短小简练,又能准确解释产生缺陷的现象。
6、跟踪性。
也许随着版本的变化,或者测试的深入,对bug有了新的认识或者新的判断,及时补充相关信息,能够提供给开发更有用的信息。
7、客观性。
软件缺陷描述不要带有个人观点,不要对开发人员进行评价,软件缺陷报告是针对产品的。
其实在平时测试中,经常会遇到不能重现的bug,这些问题有不能提交bug,如果放过往往上线后出现的概率很大,问题也一般比较不可接受。
所以我觉得对于重现不可重现的bug是做好测试很重要的能力。
1、保留信息。
遇到问题,最好抓图,搜集错误日志,保留测试现场环境,一旦发现此问题不可重现,这些数据和信息将很重要。
2、提高意识。
很多人在遇到这类问题时,往往觉得后来操作不可重现了,因此就忽视了。
这样往往会把此类bug遗留到产品发布后。
欠的帐总要还得。
3、自我分析。
对于自己分析这类问题,其实对自己的提高是最大的。
分析思路:环境问题和操作顺序。
4、寻求帮助。
如果研发可以帮忙,并且研发是负责任的话,只有信息全,研发分析往往是最快的途径。
如果研发忙或者不乐意做,也是不可厚非的。
但就要寻求组内能力强的人员或者组内讨论分析,集中大家的力量往往可以事半功倍。
在我的经历中,通过上面的方法,几乎能把所有的不可重现的问题变成可重现的并且提交bug....
系统中的BUG是什么来的
什么是Bug??Bug的定义可以很广泛,在软件使用过程中所出现的任何一个可疑问题,或者导致软件不能符合设计要求或满足消费者需要的问题都可以是Bug,即使这个Bug在实践中是可行的?Bug可以真正消灭吗?可以说,没有任何一个产品没有Bug,也永远不可能找出并修复所有的Bug。
在修复了旧的Bug的同时,往往又会产生新的Bug?以微软的经验,每修复三到四个Bug,一般又会产生一个新的Bug?所以,Bug提交开发人员解决后,可能会有以下几种类型的反馈?1。
Fixed:表示Bug已经被修复或更正了2。
Duplicated:表示测试人员所找到的某个Bug已经被别人找出来了。
3。
PostPoned:表明这个Bug不是很重要,在当前阶段不用进行更正了,或者更正这个Bug风险太大,Bug本身又不会造成大的影响4。
By Design:测试人员认为是Bug,不符合逻辑,也不符合用户的需求,但开发人员则认为是按照项目经理的设计做的5。
Not repro:以前出现的某个Bug自动消失了,可能是处理其他Bug的时候把这个Bug一并修复掉了6。
Won't Fix:这个Bug是一个错误,还没有重要到非要更正不可的地步,完全可以忽略不计?软件测试应该注意的问题1。
测试最重要的一件事就是要考虑所有的出错可能性。
同时,还要做一些不是按常规做的,非常奇怪的事情2。
除了漏洞之外,测试还应该考虑性能问题,也就是一定要保证软件运行得很好,非常快,没有内存泄漏,不会出现越来越慢的情况3。
另外,测试还要考虑软件的兼容性??软件测试方法和辅助工具1。
覆盖性测试(Coverage Testing)??? 这是一种从代码的特性角度(即内部)出发的测试方法,包括以下方式单元测试(Unit Test),按照代码的单元组逐个进行测试 功能测试(Function Test)或特性测试(Feature Test):按照软件的功能或特性逐个进行测试。
提交测试(Check-in Test):在开发人员对代码做了任何修改,或者修复了某个Bug时,需要重新Check-In代码,即将修改后的代码放入到整个大的系统中。
这时开发人员也要进行测试,看代码是否工作正常。
基本验证测试(Build Verification Test):对完成的代码进行编译和连接,产生一个构造,以检查程序的主要功能是否会像预期一样进行工作。
?回归测试(Regression Test):过一段时间以后,再回头来对以前修复过的Bug重新进行测试,看该Bug是否会重新出现。
2。
使用测试(Usage Testing)??? 这是一种用户角度(即外部)出发的测试方法,包括以下方式配置测试(Configuration Test):从用户的使用出发进行多方面的测试。
兼容性测试(Compatibility Test):例如一个产品的不同版本,不同厂家的不同产品的兼容性问题 强力测试(Stress Test):在各种极限情况下对产品进行测试(如很多人同时使用该软件,或者反复运行该软件),以检查软件的长期稳定性 根据微软的实验经验,如果一个软件产品能通过72小时的强力测试,则该产品超过72小时后出现问题的可能性微乎其微。
所以,72小时就成为微软产品强力测试的标志。
性能测试(Performance Test):保证程序具有良好的性能。
如果别人的产品只需要5秒就能得出结果,而你的产品需要10秒,就说明你的产品性能不好。
如果在测试阶段发现性能问题,修复起来非常艰难。
因为这常常意味着程序的算法不好,结构不好,或者设计有问题,因为在产品开发的初期阶段,就要考虑软件的性能问题。
文档和帮助文件测试(Documentation and Help FIle Test):因为用户通常是通过文档和帮助文件来学习使用产品的,如果文档和帮助文件存在错误,就可能会导致用户无法正常使用产品。
Alpha和Beta测试(Alpha and Beta test):在正式发布产品之前,往往会先发布一些测试版,让用户能够反馈相关信息,或者找到存在的Bug,以便在正式版中解决??另外一种分类方法?1。
白盒测试(White Box Testing)又叫做玻璃盒测试(Glass Box Testing),在软件编码阶段,开发人员根据自己对代码的理解和接触进行的软件测试。
主要以软件开发人员为主。
2。
黑盒测试(Black Box Testing)接受性测试(Acceptance Testing) Alpha/Beta测试(Alpha and Beta Testing) 菜单/帮助测试(Menu/Help Testing) 发行测试(Release Testing) 回归测试(Regression Testing) RTM测试(Release to Manufacture Testing) 功能及系统测试(Function & System Testing) 规范验证 正确性 可用性 边界条件 性能 强力测试 错误恢复 安全性 兼容性 软件配置 软件安装还有一种分类方法1。
手工测试2。
自动测试?辅助工具计算机 优秀的办公处理软件(用于编写测试计划和规范) 视频设备 秒表(计算程序的运行时间,测试产品性能) 自动跟踪系统(微软内部使用的是RAID,用来自动跟踪Bug) 自动测试工具(产生AutoMation脚本) 软件分析工具 好的操作系统(如Windows 2000,有很多有用的工具,如文件比较器,查看器,转换器,内存监视器等) 多样化平台相关测试文档测试计划 测试规范 测试案例 测试报告 Bug报告如何与项目经理及开发人员沟通巴迪测试(Buddy Test) 友好的关系(Friendly Relationship) 测试是...