基于林业害虫识别系统的缺陷分析

基于林业害虫识别系统的缺陷分析

爱笑的加油怪

信息科学与技术学院,信1805-3班

摘要:软件测试是开发软件过程中的重要一环,谈及软件测试就不得不提到软件缺陷,一旦在软件测试中对软件缺陷管理过程与缺陷优先级的关联性理解不够准确,不但会对缺陷的统计结果、缺陷报告的质量造成影响,还会延误软件的正常发布期限,本文将对软件缺陷进行探讨,并针对缺陷优先级与缺陷管理过程进行一些个人总结。

关键词:软件缺陷,优先级,缺陷管理过程

Defect analysis based on forestry pest identification system

爱笑的加油怪

College of Information Science and Technology,Xin 1805-3 class

Abstract: Software testing is an important part of the process of developing software. When it comes to software testing, you have to mention software defects. Once the relationship between the software defect management process and defect priority is not accurately understood in software testing, it will not only affect the defect The statistical results and the quality of the defect report will affect the software and delay the normal release period of the software. This article will discuss the software defects and make some personal summaries on the defect priority and defect management process.

Key words: Software defects, priority, defect management process

近日参加的赛题名为林业害虫识别,通过对大数据、智能识别、深度学习等技术的应用,针对常见林业害虫通过应用手机拍摄或选取相册中的害虫图像,经分析处理后可智能识别害虫种类、识别率、个数等信息。解题难点在于数据集的多层处理,以及场景业务流程的具体化展现。第一阶段团队主要完成了基础信息的管理,并成功识别同图多害虫的识别,并能对不同类害虫进行标记,返回害虫信息,以及识别准确率,完成了害虫识别基础要求。下文将通过本次的软件作品经历分析软件缺陷,探究软件测试中软件缺陷的内容及缺陷管理过程。

什么是软件缺陷?

软件缺陷(Defect),常常又被叫做Bug。为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。

优先级

软件缺陷的优先级是指处理和修正软件缺陷先后顺序的指标,即哪些缺陷需要优先修正,哪些缺陷可以稍后修正,确定软件缺陷优先级,更多的是站在软件开发工程师的角度思考问题,因为缺陷的修正顺序是个复杂的过程,不纯粹是技术问题,而且开发人员更熟悉软件代码,能够比测试工程师更清楚修正缺陷的难度和风险。

软件缺陷分类之BUG类型

系统缺陷:由于程序所引起的死机,异常退出。程序死循环,程序错误。不能正常工作或重要功能,使程序崩溃或资源不足。

数据缺陷:数据计算错误,数据约束错误,数据输入输出错误。

数据库缺陷:数据库发生死锁,数据库的表、缺省值未加约束条件,数据库连接错误,数据库中的表有过多的空字段

接口缺陷:数据通信错误,程序接口错误

功能缺陷:功能无法实现,功能实现错误

安全性缺陷:用户全县无法实现,超时限制错误,访问控制错误,加密错误

兼容性缺陷:与需求规定配置兼容性不符合

性能缺陷:未达到预期的性能目标,性能测试中出错,导致无法继续进行测试

界面缺陷:操作界面错误,打印内容,格式错误,删除操作未给出提示,长时间操作未给出提示,界面不规范

建议:功能建议,操作建议

软件缺陷之严重程度

  1. Low:表面性错误

  2. Medium:影响一个相对独立的功能,仅仅在特定条件下发生,与产品需求定义不一致,断断续续的出现问题

  3. High:功能点没有实现,或不符合用户需求,数据丢失

  4. VeryHigh:频繁的死机,系统大部分功能不可用

<!-- -->
  1. Critical:系统瘫痪,异常退出,死循环,严重的计算错误

软件缺陷之优先级

可用性针对的是系统,可用性,顾名思义,是系统能不能使用,当一个系统可以上线时,说明其具有了一定的可用性。而易用性针对的是用户,描述的是系统好不好用,这两个概念有一定的区别,可用性是能不能用,易用性是好不好用。

5-Urgent:最高优先级。在这个错误影响下,系统几乎不可用。

4-VeryHigh:高优先级。错误对这套系统的能力产生严重的影响。

3-High:中优先级。如果这个错误存在与系统中,会制约开发和测试的活动的进行,如果先前没有修复它,那么需要在发布前修复它。

2-Medium:低优先级。不会延迟发布,但是会在以后修正这个错误。

1-Low:最低优先级。时间和资源允许时修正。

判断缺陷的四种错误

正确处理和区分缺陷的严重性和优先级,是包括软件测试人员和开发人员在内的全体项目组成员的一件大事,对于经验不很丰富的项目组成员来说,经常会犯一下四种错误。①把低严重性的缺陷当做高严重性来处理,②把高严重性缺陷当做低严重性来处理,③把低优先级的缺陷当做高优先级来处理,④把高优先级的缺陷当做低优先级来处理,再次可以将这四种错误归结为两类,在测试工作中,犯了前两种错误说明对缺陷的判断上"不分轻重",出现后两种错误则说明在缺陷的判断上"不分缓急",如果要在测试工作中准确判断缺陷的严重性与优先级,应该合理区分轻重缓急,这既是保证软件质量的关键细节,也是项目组成员能力与经验的最好体现

严重性与优先级的关联性

缺陷的严重性和优先级是含义不同但相互联系密切两个概念,他们都从不同的侧面描述了软件缺陷对软件质量和最终用户的影响程度和处理方式,一般情况下,缺陷的严重性和优先级之间是存在密切关联的,即严重性越高,处理优先级别越高,然而,严重性和优先级并不是一一对应的,我们需要综合考察,可能他的严重性很高,但是发生的概率极低,遇到压力前,开发方总会留在下一版本前进行修复,诸如此类。

软件缺陷的生命周期

缺陷始于缺陷报告,终止与缺陷修正或放弃修改。在软件产品的生命周期内,团队人员通过不同方式发现缺陷,并进行总结、汇总。

缺陷管理实践

软件缺陷管理是软件开发过程的一个重要组成部分,除了根据上述对缺陷进行管理外,还需要分析缺陷产生的原因。软件缺陷通常来自于以下几个方面。

(1)要实现的功能没有定义清楚或开发人员没有充分理解要实现的功能。统计结果表明,80%的错误是由于需求错误导致的;

(2)项目安排不合理。为了完成某个"紧迫"的任务,制定的计划不切合实际,使得开发人员不能遵循通常的开发流程,没有时间做详细的设计和完整的测试等工作;

(3)没有开展设计、测试等必须的工作,因此不得不反复修改需求、设计、代码,其结果是欲速则不达;

(4)没有对设计变化后的代码及时更新;(5)依赖的第三方组件包含缺陷;

(6)缺陷管理存在问题,导致相同缺陷反复出现;(7)项目本身复杂,实现难度大;

(8)开发人员使用的开发工具性能差。如编译程序、调试工具;

(9)第三方提供的硬件或驱动程序不符合标准,导致不能正确地响应标准的调用;(10)开发人员之间缺乏沟通。当开发人员修改了自己编写的代码后,没有及时通知与这部分代码有关的其他开发人员。

项目实践总结

软件开发过程中,安排不是很合理,对于实现功能有些急于求成,在未完成成初步的信息统计功能前,改动数据库表,造成数据不一致,出现页面数据紊乱情况,没有做好详细的设计及流程测试,除了上述,在功能上也出现一些纰漏,方法的错误位置放置而导致的功能失效,优先级为High 严重度为High 好在测试过程中即时发现并予以解决。

结语

对于软件开发人员而言,要主动参与到软件测试的过程中去,树立主人翁观念,把自己看成是缺陷管理的一员;不仅要遵循标准开发软件,还要提出改进建议;尽最大努力改善软件测试过程,不断提高自己的技术水平。

参考文献

软件缺陷_百度百科 (baidu.com)

《软件缺陷管理》

posted @ 2021-05-21 11:48  爱笑的加油怪  阅读(190)  评论(0编辑  收藏  举报