软件错误分类

合集下载

软件错误分类与定级标准

软件错误分类与定级标准

软件错误分类与定级标准软件错误是指在软件开发和使用过程中发生的问题或缺陷。

准确地分类和定级软件错误可以帮助开发团队和用户更好地理解和解决问题。

本文将介绍常见的软件错误分类以及定级标准。

一、软件错误分类1. 程序错误(Bugs):程序错误是指由于编码或设计错误导致的问题。

这类错误通常会导致程序崩溃、功能异常或逻辑错误等问题。

2. 界面错误:界面错误主要指与用户界面相关的问题,例如按钮无响应、布局混乱或文字显示错误等。

3. 安全错误:安全错误是指软件中存在的漏洞或不安全的设计,可能会导致用户信息泄漏、黑客攻击或系统崩溃等问题。

4. 性能问题:性能问题是指软件在处理大数据量或高负载情况下的速度和效率下降。

例如,响应缓慢、卡顿或内存占用过高等。

5. 兼容性问题:兼容性问题是指软件在不同操作系统、硬件设备或浏览器等环境下的适配性问题。

例如,界面错位、功能不可用或兼容性错误等。

二、错误定级标准为了更好地管理和解决软件错误,通常会对错误进行定级。

不同的定级可以帮助开发团队和用户确定处理错误的优先级和时间。

以下是常见的错误定级标准:1. 紧急级(Critical):紧急级错误是指会导致软件崩溃、严重功能故障或系统不可用等问题。

这类错误需要立即解决,以确保软件的正常运行。

2. 高级(High):高级错误是指会影响软件正常工作或功能受损的问题。

这类错误需要在短期内解决,以提高软件的稳定性和可用性。

3. 中级(Medium):中级错误是指会影响软件的易用性或性能的问题。

这类错误需要在合理的时间内解决,以提升软件的用户体验和性能表现。

4. 低级(Low):低级错误是指影响较小或不影响软件正常工作的问题。

这类错误可以在后续的版本中解决,但也需要跟进和处理。

5. 提示(Informational):提示级错误是指提供有关软件使用或功能说明的信息。

这类错误不影响软件正常工作,但提供了一些额外的信息供用户参考。

三、处理软件错误的流程为了高效地处理软件错误,可以按照以下步骤进行:1. 报告错误:用户或测试人员应该及时报告发现的错误。

软件缺陷分类标准

软件缺陷分类标准

软件缺陷分类标准
软件缺陷可以根据不同的标准进行分类。

以下是一些常见的软件缺陷分类标准:
1. 功能性缺陷:指软件功能无法正常工作或不符合预期要求的问题,如某个功能无法启动、不能正确计算结果等。

2. 易用性缺陷:指软件在用户界面方面存在问题,使用户难以理解、操作或导航。

例如,界面布局混乱、操作流程不直观等。

3. 性能缺陷:指软件在执行过程中出现的性能问题,如响应时间过长、运行速度慢等。

4. 兼容性缺陷:指软件与其他系统、平台或设备之间的兼容性问题,如不能在特定操作系统上运行、与其他软件不兼容等。

5. 安全性缺陷:指软件存在的安全风险和漏洞,可能被黑客攻击或滥用。

例如,密码泄露、权限控制不完善等。

6. 可靠性缺陷:指软件在长时间运行或高负载情况下出现的故障、崩溃或数据丢失等问题。

7. 可维护性缺陷:指软件代码或结构设计方面存在的问题,使软件难以维护、扩展或修改。

例如,代码冗余、缺乏注释或文档等。

8. 其他缺陷分类标准:根据不同的软件类型和行业特点,还可以使用其他分类标准,如移动应用程序中的交互性缺陷、电子商务网站中的支付缺陷等。

对于软件开发团队来说,合理分类和标记缺陷是非常重要的,可以帮助他们更好地理解和解决问题,提高软件质量和用户满意度。

软件缺陷分类标准

软件缺陷分类标准

1
附录I 附录
等级 描述
系统死机 数据损坏 5-致命 功能失效 异常退出 功能缺少 功能错误 计算错误 4-非常高 精度错误 交互错误
缺陷等级定义标准
说明 测试特性
可靠性 可靠性 可靠性 可靠性 功能性 功能性 功能性 功能性 功能性
系统、环境及应用崩溃死机。 软件发生故障数据毁坏或丢失。 软件发生故障导致功能失效。 软件发生故障异常退出。 用户需求未实现。 实际提供功能与用户需求不一致。流程或接口 中,数据未做关联。 结果计算错误。 精度与用户需求不一致。 与其他软件或系统交换数据出错, 包括导出文件 后内容丢失。 未达到需求说明书中所规定的性能指标, 例如响 应时间过长。 输入未控制和未判断导致功能异常、信息缺失,
性能缺陷
效率
3-高
控制错误
或界面显示、 提示信息异常等; 如必输项、 重复、 数据约束、数据长度;删除未确认;屏蔽判定; 正常逻辑错误。 界面显示错误, 页面刷
错别字,打印内容格式错误。可修改字段与不可 修改字段中字体颜色标示未区别; 界面风格不一致,术语不统一,对话框颜色不一 致,按钮大小不统一,提示信息不一致;未使用 默认值,默认值使用不便或不正确。
易用性
易用性
1-低
建议意见
需求说明书、用户手册中未说明,但影响用户对 软件使用的方便性等。
易用性
1
附录II 验收通过标准 验收通过 通过标准 附录
验收项
缺陷数量 需求分析文档,设计文档和编码是否实现一致 验收测试工件齐全
验收通过标准
系统无 5-致命、4-非常高缺陷,3-高缺陷数量 不超过系统测试功能点数 2% 是 是

软件开发中常见的错误类型及解决方案

软件开发中常见的错误类型及解决方案

软件开发中常见的错误类型及解决方案软件开发是一个及其繁琐、技术含量较高的工作,开发的过程中难免会出现错误。

很多开发者可能会忽视错误的存在,认为这些问题可以被修正。

然而,有时候我们忽视的这些小问题,最终可能会导致较大的后果。

因此,在软件开发中,我们必须积极地解决问题,尽可能减少错误的存在。

在接下来的文章中,我将会谈到一些常见的软件开发错误类型及解决方案,希望能给广大开发者提供一些参考意见。

1.代码错误这是软件开发中最常见的错误类型之一。

代码错误可以分为两种类型,语法错误和逻辑错误。

语法错误指的是程序代码不符合语法规则的错误,而逻辑错误则指的是程序代码在实现业务时出现的逻辑错误。

解决方案:一、使用IDE插件,代码自动格式化及错误检测功能开发者可以使用各种IDE软件的插件,如 Code Spell Checker、Prettify JSON、Code Linting 等,自动检测代码中出现的错误,以避免运行出现问题。

二、在代码编写前规定好严格的代码风格并进行代码审查开发团队可以在代码编写前规定好严格的代码风格及标准以协同代码的编写,在代码完成后进行代码审查,及时纠正错误。

这样不仅有利于代码的编写及维护,也可以让开发者更加规范地编写代码。

三、测试驱动开发测试驱动开发(TDD)是一种测试为基础的软件开发方法,通过定义一个测试案例集作为开发的起点,通过不断的编写测试用例及功能代码来达到完整开发流程的一个过程。

这种方法可以使得测试早期发现代码问题,从而降低代码的错误率。

同时,开发过程中,重构代码也是TDD方法中的一个步骤,可以保证代码的可读性及可维护性。

2.安全性错误安全性错误指的是软件相对用户的数据保护不恰当所引起的错误。

这种错误可以包括密码泄露、XSS攻击、SQL注入等。

它是因为开发者忽视安全问题而产生的,是非常危险的。

解决方案:一、避免使用过时的技术开发者需要关注项目中的所有技术及框架,并定期更新文档及对应的依赖库,以避免使用过时的技术。

软件测试中的错误分类与优先级

软件测试中的错误分类与优先级

软件测试中的错误分类与优先级在软件开发的过程中,测试是一个至关重要的环节,它可以帮助发现和修复软件中的错误。

为了更好地进行软件测试,需要对错误进行分类和确定优先级,以便开发人员有针对性地进行修复。

本文将介绍软件测试中的错误分类与优先级确定的方法。

一、错误分类在软件测试过程中,常见的错误可以分为以下几类:1. 语法错误:这类错误通常是由于程序员在编写代码时使用了错误的语法规则,导致程序无法被正确解析和执行。

2. 逻辑错误:这类错误通常是由于程序员在编写代码时出现了错误的逻辑推理,导致程序执行的结果与预期不符。

3. 界面错误:这类错误通常是由于软件界面设计不合理或者实现不当导致用户无法正常使用软件。

4. 性能错误:这类错误通常是由于软件在处理大量数据或者复杂任务时出现效率低下或者崩溃的情况。

5. 安全错误:这类错误通常是由于软件在设计和实现过程中没有考虑到安全风险,导致系统容易受到攻击。

二、错误优先级确定方法在进行软件测试时,需要根据错误的严重程度和影响范围来确定错误的优先级,以便在修复时能够有针对性地解决问题。

常见的错误优先级确定方法包括以下几种:1. 严重性优先级:按照错误对系统功能、性能和安全性的影响程度进行分类,将出现的错误按照严重性从高到低排序,优先解决影响最大的错误。

2. 频率优先级:按照错误出现的频率进行分类,将频率高的错误优先解决,以提高软件的稳定性和可靠性。

3. 用户体验优先级:按照错误对用户体验的影响程度进行分类,将影响用户体验的错误优先解决,以提升软件的用户满意度。

4. 兼容性优先级:按照错误对不同平台、不同操作系统或者不同浏览器的兼容性影响进行分类,将兼容性问题较大的错误优先解决。

5. 交付期限优先级:按照错误对软件交付期限的影响进行分类,将会导致交付延误的错误优先解决,以确保软件按时交付。

三、错误分类与优先级实践案例为了更好地理解错误分类与优先级的实际应用,以下是一个实践案例:在某个电商平台的软件测试中,团队发现了以下几个错误:1. 语法错误:在用户注册页面,输入框的验证逻辑出现了错误,导致用户无法成功注册。

计算机软件使用中避免常见错误的策略

计算机软件使用中避免常见错误的策略

计算机软件使用中避免常见错误的策略第一章:了解常见错误的分类与原因计算机软件使用中常见的错误可以分为以下几类:输入错误、逻辑错误、语法错误、运行时错误和网络错误等。

这些错误的出现原因往往是因为使用者对软件功能的理解不够深入、对软件操作流程不熟悉或是在编写代码时存在一定的疏忽和马虎等。

第二章:提前规划并测试软件功能在使用计算机软件之前,我们应该提前了解软件的功能和操作方法,尽量避免因为对软件的使用不熟悉而出现错误。

同时,在使用新的软件时,可以先测试一下软件的功能,了解软件运行的方式和规则,这样能够减少错误的发生概率。

第三章:注意输入的准确性和合法性在使用计算机软件时,输入是一个非常重要的环节。

因此,我们要保证输入的准确性和合法性,尽量避免输入错误。

在输入数据时,应该仔细检查数据的格式、范围和有效性,确保输入的数据符合软件的要求。

同时,对于输入的敏感数据,还要注意确保数据的安全性,避免数据泄露和滥用。

第四章:遵循良好的编程规范对于开发人员来说,遵循良好的编程规范是避免错误的重要手段之一。

编程规范包括命名规范、注释规范、代码风格规范等。

良好的编程规范可以使代码更加易读、易理解,减少代码错误的发生。

此外,还要定期进行代码审查,及时发现和修正代码中的错误。

第五章:定期备份和更新软件为了避免因软件错误而导致的数据丢失,我们应该定期备份重要数据。

备份数据可以帮助我们在出错时恢复数据,减少数据损失。

同时,还要及时更新软件版本,以获取最新的功能和修复已知的错误。

定期备份和更新软件可以有效减少软件错误和故障的发生。

第六章:学习常见错误的解决方法针对计算机软件使用中的常见错误,我们还应该学习并掌握解决错误的方法。

这包括查看软件的帮助文档、寻求技术支持、参考在线论坛和博客等途径。

通过不断学习和探索,我们可以积累解决错误的经验和技巧,提高解决错误的效率和准确性。

第七章:与他人合作,共同解决问题在遇到困难和错误时,我们要善于与他人合作,共同解决问题。

软件开发中常见的错误类型和处理方法

软件开发中常见的错误类型和处理方法在软件开发中,错误处理是一项非常重要的工作。

它可以保证软件的可靠性、稳定性和安全性。

但是,由于软件开发项目的复杂性,很容易出现各种各样的错误。

这些错误类型往往有其特点和处理方法。

本文将对软件开发中常见的错误类型和解决方法进行详细论述。

一、编码错误编码错误是软件开发中最常见的错误之一。

这种错误包括语法错误、拼写错误、语义错误等。

由于编码错误往往是由程序员的业务能力、代码水平和耐心等因素影响,因此必须注重细节,耐心地调试代码。

此外,在开发工具中启用语法提示也是避免编码错误的有效方式。

解决方法:1.使用调试器排错调试器是软件开发中的重要工具。

可以对程序进行逐行调试,并对错误进行定位和分析。

调试过程中,可以使用单步执行、断点、跟踪等功能来检查代码。

调试器还可以在代码运行时提供实时数据,方便程序员发现潜在的编码错误。

2.遵循代码规范对于编码错误的出现,许多时候都是因为程序员没有遵循代码规范。

因此,代码规范是避免编码错误的关键。

通过遵循规范,能够减少代码冗余、提高代码复用性和可读性,并减少出错机会。

3.使用工具自动化检查工具自动化检查是软件开发中另一种重要方法,可以帮助程序员快速识别编码错误。

比如,可以使用代码审查工具、代码编辑器等工具进行自动化检查。

这些工具通常可以检查代码的拼写、语法、格式等方面,提高代码的质量。

二、性能错误性能错误是指软件在执行过程中出现的缓慢、响应不及时、资源浪费等问题。

这种错误可能导致软件无法正常运行,影响用户体验。

在软件开发过程中,针对面向对象程序设计软件性能需要进行设计和测试,可以做到在将其部署到生成环境之前尽量避免性能瓶颈的出现。

解决方法:1.使用性能分析工具性能分析工具是一种能够识别程序性能问题的工具。

开发人员可以使用这些工具来测试系统、内存使用情况、CPU 使用率等指标。

这些工具还可以帮助查找瓶颈所在,并提供解决性能问题的建议。

2.优化代码程序员可以通过代码优化来提高软件的性能表现。

计算机软件错误排除和解决方案

计算机软件错误排除和解决方案第一章:软件错误的分类和原因在计算机软件开发和使用过程中,错误是不可避免的。

为了更好地排除和解决这些错误,我们首先需要了解软件错误的分类和原因。

1.1 语法错误语法错误是最常见的软件错误之一。

它们指的是程序代码的语法不符合编程语言的规范,导致编译或解释错误。

常见的语法错误包括拼写错误、缺少分号、括号未匹配等。

1.2 逻辑错误逻辑错误是指程序的执行结果与预期结果不符。

这种错误通常是由于程序员在算法或逻辑设计上的错误造成的。

例如,条件判断错误、循环错误、数据类型错误等。

1.3 运行时错误运行时错误是在程序运行过程中发生的错误,它们可能导致程序崩溃或异常终止。

常见的运行时错误包括除以零、数组越界、空指针引用等。

1.4 系统错误系统错误是与操作系统或硬件相关的错误。

例如,内存溢出、文件读写错误、设备驱动问题等。

这些错误通常需要更高级别的排除和解决方法。

第二章:软件错误的排查步骤与方法为了准确地排查和解决软件错误,我们可以按照下述步骤进行操作。

2.1 复现错误首先,我们需要尽可能准确地复现出错误。

复现错误时,可以尝试不同的输入数据、操作步骤或环境条件,以便排除其他因素的影响,确定错误产生的具体条件和触发方式。

2.2 查看错误日志错误日志是记录软件错误信息的重要工具。

我们可以查看软件生成的错误日志,了解错误发生的时间、位置和详细信息。

通过分析错误日志,可以缩小错误排查的范围。

2.3 调试代码调试是一种常用的错误排查方法,它可以通过逐行执行程序代码,跟踪变量的值和程序流程,找出错误所在的具体位置。

常用的调试工具有断点调试器和跟踪器。

2.4 使用日志和断言日志和断言是程序中常用的调试工具。

我们可以在程序中插入日志输出语句,记录程序执行过程中关键数据的值。

同时,断言可以在程序中插入一些条件判断语句,如果条件不满足,则触发错误。

2.5 逐步删除代码如果我们在某行或某块代码中确认存在错误,但无法准确定位错误的具体位置时,可以尝试逐步删除代码。

bug知识点总结

bug知识点总结一、Bug概念及分类1.1 Bug概念Bug是指软件或硬件中的错误、缺陷或故障。

在软件开发过程中,Bug是不可避免的,因为软件开发是一个复杂的过程,涉及到不同的环境、需求、技术等因素。

Bug的存在会影响软件的功能、性能、安全性等方面,甚至造成用户体验不佳,因此Bug的管理和修复是软件开发过程中非常重要的环节。

1.2 Bug分类根据Bug的性质和影响程度,可以将Bug分为以下几类:1) 功能性Bug:指软件功能无法正常实现或者实现不符合需求的Bug。

2) 性能Bug:指软件在性能方面存在问题,比如运行速度慢、消耗资源过多等。

3) 安全Bug:指软件存在安全漏洞或者易受攻击的Bug。

4) 兼容性Bug:指软件在不同平台、设备或浏览器上存在兼容性问题的Bug。

5) 易用性Bug:指软件的用户界面设计不佳,影响用户体验的Bug。

6) 数据Bug:指软件对数据的处理存在问题,比如数据丢失、数据错误等。

7) 遗漏Bug:指软件功能或者需求中存在遗漏的Bug。

8) 接口Bug:指软件的接口实现存在问题的Bug。

9) 界面Bug:指软件的界面显示存在问题的Bug。

10) 操作Bug:指用户在软件操作中遇到的问题的Bug。

二、Bug管理流程2.1 Bug管理流程Bug管理是软件开发过程中的一个重要环节,其流程一般包括Bug的发现、记录、分类、定位、修复、验证和关闭等阶段。

具体流程如下:1) Bug发现:软件开发人员、测试人员或用户发现软件中存在问题。

2) Bug记录:将Bug的具体信息记录下来,包括Bug的描述、复现步骤、影响程度、优先级等。

3) Bug分类:根据Bug的性质和影响程度进行分类,方便后续的处理和管理。

4) Bug定位:定位Bug产生的原因,找出Bug的根本问题。

5) Bug修复:开发人员根据Bug的定位信息进行修复工作。

6) Bug验证:测试人员对修复后的软件进行验证,确认Bug是否已经修复。

软件测试中常见的八大软件缺陷分类

软件测试中常见的八大软件缺陷分类在软件开发行业中,软件测试是一项至关重要的任务。

它确保软件产品能够按照用户需求、设计规范以及质量标准进行运行。

软件测试不仅仅是找到程序中的错误,更是一项综合任务,包括对软件的功能、性能、可靠性、用户界面、兼容性等多方面的测试。

而在软件测试中,缺陷分类也是一项很重要的工作。

软件缺陷指的是软件中出现的任何问题,如错误、漏洞和缺陷。

缺陷分类是指描述和分类这些软件缺陷的过程。

在本文中,将会介绍软件测试中常见的八大软件缺陷分类,包括:1.功能缺陷功能缺陷也称“功能故障”,指的是软件应当实现但未实现的功能。

例如,软件没有按照用户需求进行操作、未能提供全面的功能、或没有完全满足所有的用户需求等。

对这种缺陷进行测试和分类时,应当首先了解需求,以确保软件实现的功能是符合用户需求的。

2.界面缺陷界面缺陷指的是软件中针对用户的图形或文本界面存在的问题。

这种缺陷包括但不限于,窗口大小不当、按钮位置不当、文字排版不当等。

界面缺陷会对用户的使用造成困扰,并降低软件的易用性。

3.性能缺陷性能缺陷是指软件运行速度不足、响应时间过长或资源占用率过高等问题。

这些缺陷可能会导致软件无法适当地处理大量数据,或无法及时响应用户请求,这将产生长时间的等待或系统崩溃等问题。

4.兼容性缺陷兼容性缺陷是指软件与其他软件或硬件组件不兼容所导致的问题。

例如,软件不能在嵌入式系统或低端的计算机上运行,或不能与某些特定版本的操作系统或浏览器兼容。

这些问题可能会导致用户无法访问或使用软件。

5.安全性缺陷安全性缺陷是指软件存在未经身份验证的访问、黑客攻击或病毒感染等情况。

安全问题对软件的可靠性和可用性产生了严重的影响,并可能导致安全漏洞对系统产生重要的风险。

6.数据缺陷数据问题指的是软件在处理数据时出现的问题。

例如,程序可能错误地计算数据,导致结果不准确。

数据缺陷也可能是导致数据覆盖或丢失的原因。

7.文档缺陷文档缺陷包括错误或未完成的文档。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件错误分类由于人们对错误有不同的理解和认识,所以目前还没有一个统一的错误分类方法。

错误难于分类的原因,一方面是由于一个错误有许多征兆,因而它可以被归入不同的类。

另一方面是因为把一个给定的错误归于哪一类,还与错误的来源和程序员的心理状态有关。

(1) 按错误的影响和后果分类* 较小错误:只对系统输出有一些非实质性影响。

如,输出的数据格式不合要求等。

* 中等错误:对系统的运行有局部影响。

如输出的某些数据有错误或出现冗余。

* 较严重错误:系统的行为因错误的干扰而出现明显不合情理的现象。

比如开出了0.00元的支票,系统的输出完全不可信赖。

* 严重错误:系统运行不可跟踪,一时不能掌握其规律,时好时坏。

* 非常严重的错误:系统运行中突然停机,其原因不明,无法软启动。

* 最严重的错误:系统运行导致环境破坏,或是造成事故,引起生命、财产的损失。

(2) 按错误的性质和范围分类B.Beizer从软件测试观点出发,把软件错误分为5类。

①功能错误* 规格说明错误:规格说明可能不完全,有二义性或自身矛盾。

* 功能错误:程序实现的功能与用户要求的不一致。

这常常是由于规格说明中包含错误的功能、多余的功能或遗漏的功能所致。

* 测试错误:软件测试的设计与实施发生错误。

软件测试自身也可能发生错误。

* 测试标准引起的错误:对软件测试的标准要选择适当,若测试标准太复杂,则导致测试过程出错的可能就大。

②系统错误* 外部接口错误:外部接口指如终端、打印机、通信线路等系统与外部环境通信的手段。

所有外部接口之间,人与机器之间的通信都使用形式的或非形式的专门协议。

如果协议有错,或太复杂,难以理解,致使在使用中出错。

此外还包括对输入/输出格式错误理解,对输入数据不合理的容错等等。

* 内部接口错误:内部接口指程序之间的联系。

它所发生的错误与程序内实现的细节有关。

例如,设计协议错、输入/输出格式错、数据保护不可靠、子程序访问错等。

* 硬件结构错误:这类错误在于不能正确地理解硬件如何工作。

例如,忽视或错误地理解分页机构、地址生成、通道容量、I/O指令、中断处理、设备初始化和启动等而导致的出错。

* 操作系统错误:这类错误主要是由于不了解操作系统的工作机制而导致出错。

当然,操作系统本身也有错误,但是一般用户很难发现这种错误。

* 软件结构错误:由于软件结构不合理或不清晰而引起的错误。

这种错误通常与系统的负载有关,而且往往在系统满载时才出现。

这是最难发现的一类错误。

例如,错误地设置局部参数或全局参数;错误地假定寄存器与存储器单元初始化了;错误地假定不会发生中断而导致不能封锁或开中断;错误地假定程序可以绕过数据的内部锁而导致不能关闭或打开内部锁;错误地假定被调用子程序常驻内存或非常驻内存等等,都将导致软件出错。

* 控制与顺序错误:这类错误包括:忽视了时间因素而破坏了事件的顺序;猜测事件出现在指定的序列中;等待一个不可能发生的条件;漏掉先决条件;规定错误的优先级或程序状态;漏掉处理步骤;存在不正确的处理步骤或多余的处理步骤等。

* 资源管理错误:这类错误是由于不正确地使用资源而产生的。

例如,使用未经获准的资源;使用后未释放资源;资源死锁;把资源链接在错误的队列中等等。

③加工错误* 算术与操作错误:指在算术运算、函数求值和一般操作过程中发生的错误。

包括:数据类型转换错;除法溢出;错误地使用关系比较符;用整数与浮点数做比较等。

* 初始化错误:典型的错误有:忘记初始化工作区,忘记初始化寄存器和数据区;错误地对循环控制变量赋初值;用不正确的格式,数据或类型进行初始化等等。

* 控制和次序错误:这类错误与系统级同名错误类似,但它是局部错误。

包括:遗漏路径;不可达到的代码;不符合语法的循环嵌套;循环返回和终止的条件不正确;漏掉处理步骤或处理步骤有错等。

* 静态逻辑错误:这类错误主要包括:不正确地使用CASE语句;在表达式中使用不正确的否定(例如用">"代替"<"的否定);对情况不适当地分解与组合;混淆"或"与"异或"等。

④数据错误* 动态数据错误:动态数据是在程序执行过程中暂时存在的数据。

各种不同类型的动态数据在程序执行期间将共享一个共同的存储区域,若程序启动时对这个区域未初始化,就会导致数据出错。

由于动态数据被破坏的位置可能与出错的位置在距离上相差很远,因此要发现这类错误比较困难。

* 静态数据错误:静态数据在内容和格式上都是固定的。

它们直接或间接地出现在程序或数据库中。

由编译程序或其它专门程序对它们做预处理。

这是在程序执行前防止静态错误的好办法,但预处理也会出错。

* 数据内容错误:数据内容是指存储于存储单元或数据结构中的位串、字符串或数字。

数据内容本身没有特定的含义,除非通过硬件或软件给予解释。

数据内容错误就是由于内容被破坏或被错误地解释而造成的错误。

* 数据结构错误:数据结构是指数据元素的大小和组织形式。

在同一存储区域中可以定义不同的数据结构。

数据结构错误主要包括结构说明错误及把一个数据结构误当做另一类数据结构使用的错误。

这是更危险的错误。

* 数据属性错误:数据属性是指数据内容的含义或语义。

例如,整数、字符串、子程序等等。

数据属性错误主要包括:对数据属性不正确地解释,比如错把整数当实数,允许不同类型数据混合运算而导致的错误等。

⑤代码错误主要包括:语法错误;打字错误;对语句或指令不正确理解所产生的错误。

(3) 按软件生存期阶段分类Good enough-Gerhart分类方法把软件的逻辑错误按生存期不同阶段分为4类。

①问题定义(需求分析)错误它们是在软件定义阶段,分析员研究用户的要求后所编写的文档中出现的错误。

换句话说,这类错误是由于问题定义不满足用户的要求而导致的错误。

②规格说明错误这类错误是指规格说明与问题定义不一致所产生的错误。

它们又可以细分成:* 不一致性错误:规格说明中功能说明与问题定义发生矛盾。

* 冗余性错误:规格说明中某些功能说明与问题定义相比是多余的。

* 不完整性错误:规格说明中缺少某些必要的功能说明。

* 不可行错误:规格说明中有些功能要求是不可行的。

* 不可测试错误:有些功能的测试要求是不现实的。

③设计错误这是在设计阶段产生的错误,它使系统的设计与需求规格说明中的功能说明不相符。

它们又可以细分为:* 设计不完全错误:某些功能没有被设计,或设计得不完全。

* 算法错误:算法选择不合适。

主要表现为算法的基本功能不满足功能要求、算法不可行或者算法的效率不符合要求。

* 模块接口错误:模块结构不合理;模块与外部数据库的界面不一致,模块之间的界面不一致。

* 控制逻辑错误:控制流程与规格说明不一致;控制结构不合理。

* 数据结构错误:数据设计不合理;与算法不匹配;数据结构不满足规格说明要求。

④编码错误编码过程中的错误是多种多样的,大体可归为以下几种:数据说明错、数据使用错、计算错、比较错、控制流错、界面错、输入/输出错,及其它的错误。

在不同的开发阶段,错误的类型和表现形式是不同的,故应当采用不同的方法和策略来进行检测。

分类举例:1) IBM公司的缺陷分类标准类型编号类型名称描述10文档注释,消息20语法拼写,标点符号,打字,指令格式30联编打包变更管理,库,版本控制40赋植说明,重名,作用域,限制50接口过程调用和引用,输入输出,用户格式60检查出错信息,不合适的检查70数据结构,内容80函数逻辑,指针,循环,递归,计算,函数缺陷90系统配置,记时,内存100环境设计,编译,测试,其它支持系统问题2) 工作产品的缺陷分类标准Defect Types for Work Product ReviewDefect TypeDescriptionAmbiguousAny statement, graphic, or phrase that can have more than one interpretation. Found mostly in requirements or specifications, also occur in design documents and in code comments. CommentaryTextual information that is inaccurate, misleading, inappropriate, or unprofessional. Can occur in any documentation, including code comments. Applies also to general text defects (e.g., misspellings or typographical defects). Note these on the work product document and provide to the author for correction. Enter just one defect in the log to cover all typographical defects, misspelling, etc.found in a given inspection.DataAll defects that are related to the poor use or definition of data. Includes incorrect data types, data that has not been initialized, incorrect embedded data in tables, and data entities that have not been completely or clearly defined.IncompleteAny single component of a product that has missing parts, perhaps a requirement, design, or code component. Alternatively, any set of components in which one or more is found to be missing. Includes requirements or definition statements that have not been stated thoroughly or adequately.InterfaceIll defined, incorrect, or incomplete connections between parts. Includes defects in interfaces between the reviewed work product and referenced work products, or within the work product under review, i.e., when wrong numbers of arguments are given in function calls in a program. Defects in user interfaces also fall under this category.InconsistentA component of a work product that is self-contradictory or that contradicts another component in the work product under review or in a referenced work product.LogicDefects in the definition, design, or implementation of an algorithm or procedure. Includes all defects that can lead to software faults or algorithmic defects, such as missing steps, duplicate logic, misinterpretations, missing condition tests, poorly defined equations, precision loss, or a sign convention error..ResourceDefects related to the use of vital system resources that result in a loss of performance, such as unnecessary use of real time memory or the overloading of a channel to create a bottleneck. Defects of this type are assigned when implementation would have adverse effects on system performance. Selection of a slow algorithm where a fast one is needed results in overuse of the CPU and should be included in this category.StandardsOccurs when the work product in question violates some agreed upon organizational standards. UnverifiableAny requirement or specification statement that cannot be tested, or a concurrent program that cannot be tested for absence of deadlock.OtherUsed when no other types are adequate. Provides new defect types for future use.Note: in some cases, a particular defect may match one or more of the type categories. Use that which appears to be the best match for the situation.。

相关文档
最新文档