论软件测试中缺陷管理及其应用

论软件测试中缺陷管理及其应用

司宇明

摘要当今社会软件应用的领域非常广泛,但是软件是由人来编写的,无可避免的存在各种各样的缺陷。软件缺陷管理就是为了确保所发现的缺陷已经被开发团队纠正或是被正确的处理并且没有引入新的缺陷。本文在参阅国内外大量关于软件本地化项目开发和测试以及软件项目缺陷管理等文献资料的基础上,对当前软件本地化开发过程的改进标准和模型以及缺陷管理的标准进行了详细研究,结合软件本地化企业的实际项目,研究和探讨软件本地化测试过程以及缺陷管理的优化。

关键词软件缺陷;缺陷管理;应用

本人参与开发的软件项目工作是2020年疫情期间参加中国大学生计算机计算机设计大赛所研发的系统。我们的作品是一个疫情信息可视化系统,这个系统取得了全国三等奖的优异成绩。我的工作呢是对代码以及最后的软件进行测试和一些需求规格说明书、用户使用手册等的文档编写。工作虽然不算多但是我很尽职尽责的完成了本职工作。

软件缺陷是发生在软件中的会导致软件产生质量问题的不被接受的偏差。根据传统的定义,只要符合下面五种情况中的一种,我们就可以称其为软件缺陷。这五种情况是:软件未达到软件规格说明书中规定的功能;软件超出了软件规格说明书中指明的范围;软件未达到软件规格说明书中应达到的目标;软件运行出现错误;软件测试人员认为软件难于理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好。

当我们发现软件缺陷的时候,我们会通过不同的方式对软件缺陷进行分类。一般的分类方式包括:导入阶段,错误类型。本文通过阶段来分类软件缺陷。在需求分析阶段中,是至关重要的。它密切关系到一个软件一个系统是否成功。然而需求阶段的缺陷发现和修复的难度都是最高的。当出现模棱两可的需求,有时候需求在定义上模糊不清或者不够周全,因此可能会产生有争议的需求,导致测试人员和用户不满意,认为软件存在缺陷。或者是被忽略的需求,这类的忽略会导致用户认为软件残在比较严重的软件缺陷。很可能造成后面软件设计、开发的缺陷,最后将无法符合用户的要求。还有发生冲突的需求,如果有两个需求必须存在, 但是他们的性质互相矛盾, 就很有可能出现严重的缺陷 。还有可能出现分析、设计阶段的缺陷,设计将需求转换为软件系统应该以何种方式工作的技术性描述,这个过程肯定会出现一些问题。设计中的缺陷比需求阶段产生的缺陷特征明显易于捕获,但是修复代价很高,原因在于设计缺陷已经作为一个整体影响着整个系统的实现。

软件缺陷管理就是为了确保所发现的缺陷已经被开发团队纠正或是被正确的处理并且没有引入新的缺陷。一般来说,当测试人员通过各种方法发现了文档或是代码中的缺陷或错误后,测试人员和开发人员必须有效地沟通,开发人员可以根据缺陷优先级进行修改。当开发团队关闭了某个缺陷或错误后,测试人员还必须验证开发人员在关闭过程中没有引入新的错误。

缺陷管理涉及四个阶段:1)指定需求:分析应用程序并确定测试需求。2)计划测试:基于测试需求创建测试计划。3)执行测试:创建测试集并执行测试运行。4)跟踪缺陷:报告应用程序中检测到的缺陷并跟踪修复的进展情况。在各个阶段,都可以通过生成详细的报告和图来分析数据。

首先,基于测试需求创建测试计划。检查应用程序、系统环境和测试资源,以便确定测试目标。将应用程序划分为要进行测试的各个功能部分。构建测试计划树,以层次结构的方式将应用程序划分为测试单元或主题。确定每个科目所需的测试类型。向测试计划树中添加每个测试的基本定义。创建需求范围:将每个测试与一个或多个测试需求相链接。通过向测试计划树中的测试添加步骤,以制订手动测试。测试步骤描述测试操作以及每个测试的预期结果。确定要自动化哪些测试。使用Mercury测试工具、自定义测试工具或第三方测试工具,为决定实现自动化的测试创建测试脚本。生成报告和图,帮助分析测试计划数据。检查测试,确定它们对测试目标的适用性。

其次,创建测试集并执行测试运行。定义测试组,以达到项目规定的各种测试目标。例如,这可能包括,测试新的应用程序版本或应用程序中的特定功能。确定每个测试集中要包括哪些测试。计划测试执行并向应用程序测试人员分配任务。3)运行测试:自动或手动执行测试集中的测试。查看测试运行的结果,以便确定是否在应用程序中检测到了缺陷。生成报告和图表,帮助分析这些结果。

最后,提交应用程序中检测到的缺陷并跟踪修复的进展情况。报告应用程序中检测到的新缺陷。质量保证测试人员、开发人员、项目经理和最终用户可以在测试流程的任何阶段添加缺陷。检查新缺陷并确定应修复哪些缺陷。更正决定要修复的缺陷。测试应用程序的新内部版本。继续执行该流程,直至缺陷修复为止。生成报告和图表,帮助分析缺陷修复的进展情况,并协助确定发布应用程序的时间。

我们的疫情信息可视化系统进行缺陷管理,一共六个步骤:1.准备阶段。首先获得进行缺陷分类方法操作的批准;采取缺陷分类方法,要获得开发团队和测试团队的支持。找到缺陷分类方法的关键人物;调查项目当前的状况。给开发人员和测试人员指派缺陷分类方法角色。在一个缺陷跟踪工具上部署缺陷分类方法计划。最后进行必要的培训。2.计划阶段。对属性进行确定。之后把项目划分成几个组件。评估缺陷分类方法需要设定项目检查点。然后建立管理计划文档。制定评审缺陷分类方法计划。3和4.数据的输入和验证。数据输入之前,确保所有的开发人员和测试人员都清楚地明白每个属性的含义。在数据输入过程中,数据的格式应该由工具来控制。缺陷状态的转换必须保持一致。数据输入以后,需要完全的验证。5.评估阶段,生成缺陷分类方法评估报告,或者选择一些有意义的图表。6.活动。这个步骤是最后一个步骤,此时可以设计一个正式的活动计划。这个计划能够帮助我们持续不断地提高软件质量。这个活动计划包括来自项目文档的材料,程序代码组件,开发步骤以及测试方法等。其中最重要的是下一次发布或者下一次迭代所要采取的活动。这些活动的目标必须清楚而且是可度量的。因为下一个阶段中出现的问题往往是前一个阶段中出现的错误所导致的。

在开发我们的疫情信息可视化系统时在软件测试方面下了很大的功夫,我们深受触动,收获颇丰,也意识到了从事软件缺陷测试与评估研究是一个有理论价值和实际意义、并且存在一定难度的课题 。如何加强软件测试缺陷管理 , 提高软件质量已经成为业界所关注而又必须解决的热点问题 。

 

 
posted @ 2021-05-19 21:33  _Aming  阅读(709)  评论(0编辑  收藏  举报