




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件错误和管理.本章的要点.重现软件错误对软件质量的影响常见的软件错误类型,软件错误的分析技术.软件错误的说明和管理. 本章的目标是了解软件错误的影响和发生。掌握软件开发过程中发生的错误的种类掌握再现错误的技术掌握软件错误报告应包含的主要内容和软件错误的管理流程。 软件错误概述IEEE 1983 of IEEE标准729中软件缺陷的标准定义: (1)从产品内部来看,软件缺陷是软件产品开发和维护中存在的错误、缺陷等各种问题;(2)从外部来看软件缺陷有很多种类,其中主要的软件缺陷类型有:1 .一部分功能、特性未实现或只实现了一部分2 .软件设置修订不合理,有缺陷。 实际运行结果与预期结果不一致3
2、.包括运行错误、运行中断、系统崩溃、接口混乱4 .数据结果不正确、精度不足5 .用户不能接受的其他问题,如访问时间过长、接口损坏臭虫的影响臭虫给用户和使用者带来很大的麻烦,给集团和国家带来很大的经济损失。 /千年虫问题。 错误发生错误的由来。 对于软件来说,错误是由于程序创建错误而导致软件问题的缺陷。 软件测试的目的是在软件程序代码中找到错误并对其进行修复,这种错误被称为调试。 故障的发生原因很多,具体有以下几点。 1很难回避程序制作错误错误。 2由于需求的变更过频繁,需求的变更产生的结果是变更程序代码,程序代码稍微变更就必须确保经过测试能正常工作,所以这种影响被称为连锁反应或依存问题。 3软
3、件复杂性图形用户界面(GUI )、BS结构、面向对象的配置修订、分布式计算、基础通信协议、超大型关系数据库和巨大的系统规模,软件的复杂性比以前明显更高,出现错误4很多交流不充分或者交流成为问题的项目员工在与顾客的交流方面,往往存在各种各样的问题。 研究原因还是因为项目人员、参与者和客户之间缺乏5个测试人员的经验和技巧不足6小时的紧迫7个文档:缺乏或者不好的文档使代码的维护和修改变得非常困难, 结果导致其他开发人员或顾客的大量错误理解8管理上的缺陷bug的种类bug是软件的“天生”特征,因软件开发阶段的不同bug不同,结果也不同,所以bug的属性也不同。 需求阶段的错误这个阶段的错误最难发现,最
4、难修复,并且应该注意的是需求阶段的错误如果不发现到实现阶段,修复它的费用比当初的修复高1575倍。 主要原因如下: 1、模糊不清的需求2 .被忽略的需求3 .相互冲突的需求、设定修正阶段的错误设定修正中的错误比需求阶段发生的错误特征明显容易捕获,但维护成本高。 这是因为设定纠错已经影响了整体系统的实现。 原因主要有三种。 1 .无视设置修订2 .混乱的设计3 .模糊的设计、实现阶段的错误是软件系统中最普遍、最普遍的“常规错误”。 在实现阶段发生的错误有: 1、消息错误2、用户接口错误3、缺少功能4、存储器溢出或程序崩溃5或其他实现错误的第一类型,其表示软件系统已向用户发送错误,也有可能在消息中
5、出现错误消息。 下图:第二种类型是用户界面错误,可以归纳为GUI错误。 GUI的制作不合规格,用户可能无法正常工作。第三种类型是缺少的功能错误(以输入框输入信息错误、无程序慢速异常为代表)第四种类型是内存溢出或程序崩溃错误,表现为程序挂起、系统崩溃,对于比较严重的软件错误类型(详见教材中药店药品进口销售的软测试错误)配置阶段错误配置阶段错误出现的原因很复杂,典型的是旧代码复盖了新代码,或者测试服务器上的代码与实现者本机最新代码的版本不一致。 可能是因为实现人员操作的部署管理工具不正确,测试人员和最终用户的操作也可能不正确。 短视未来的臭虫“千年虫”的问题是当初的设订者为了稍微节约硬件成本给世界
6、带来了不可估量的损失。 作者为大型药店开发了药品管理的进口软件,但最初由于对业务流程不熟悉,在定义药品代码时将许多药品的ID号定义为整数变量(INT ),作者开始认为它们足以定义所有的药品名称。 一年后,药店业务量激增,药品ID也不足。 整个系统由Power Builder编写,因为整数变量的最大值只有32767,所以程序经常因数据溢出而发生问题,作者需要花费近一周时间修改原程序。 静态文档中的错误文档错误的定义很简单。 也就是说,模糊的说明、不完整的说明、过期的都属于文档错误。 模糊意味着确定如何正确处理事物,尤其是在没有足够的信息的情况下;不完整意味着文档信息不足以使用户能够完成工作;过期
7、的文档未及时更新错误报告的内容错误报告也称为缺陷报告或问题报告。 问题报告所需的基本信息类型相似,但只有组织和标志不同。 下面的字段进行说明。 (1)问题报告编号(2)程序名称(3)版本id :发行编号和版本编号。 是用来识别测量的代码的。 例如,版本号是1.01m,版本号是1.01,“m”是指版本1.01的第13稿。 (4)报告类型:描述了发现的问题类型。 包括编码错误、设置修订问题、建议、文档、硬件和疑问。 (5)严重性:评价问题的严重性。 有三个等级。 是轻微、重大、致命三个等级。 (6)可以创建在附件中存储了测试数据的软盘、键盘捕获记录或测试用例的宏、程序的打印输出、内存dump或注释
8、。 详细说明了你所做的操作和认为这个问题重要的原因。 (7)问题概述:记述问题有助于评论突出的问题,找到相应的问题报告。 (8)问题能否再现。 必须反复测试是否再次出现。 (9)问题的说明和再现方法。 描述所有步骤和现象,包括错误消息。 请务必提交报告。 (10 )提议的补救措施(11 )报告员(12 )日期:指报告员发现问题的日期。 (13 )功能域:将问题大致分类。 (14 )负责人(15 )注释:程序员在此简单说明为什么推迟处理,或者如何修正问题。 (16 )状态。 三种状态代码:打开、关闭、已解决。 (十七)优先权。 只有项目经理设定。 (18 )处理状态和处理版本的处理状态定义了问题
9、的当前状态:未解决:初始化状态或仍有冲突状态。 修改了。 无法再现保留。 存在的问题在以下版本中得到了修正。 报告员撤回了设置修订,并且需要更多信息不同意提议重复:关闭重复报告缺陷。 (19 )签名:签名表示改变被测试,结果令人满意。 (20 )保留处理:对缺陷的延期处理。 图-3、图-4合并后,形成完整的申报表。、图-3申报书(第1部分)、图-4申报书(第2部分)、错误报告的特点1部分好的问题报告应书面、编号、简单、易于理解、可重现、易读、不判断。 1 )需要书面报告,日后请管理层、销售人员、产品支持人员检查,以测试修改后的程序。 2 )根据已编号的唯一编号跟踪问题报告。 3 )在一个简单的
10、报告中只记录一个问题,不要在一个报告中记录多个缺陷。 4 )可再现的必须强调错误的再现性。 5 )对不做判断的程序员的评价要慎重考虑之后再进行,以合作的精神为基础做出合理的判断。 中的组合图层性质变更选项。 本节重点介绍编码错误,而不是报告设置修订问题,以重现错误分析和方法。 另一方面,再现错误的分析“可再现”暗示了以下定义:我们可以说明使程序成为已知状态的方法。 熟悉程序的人可以按照我们的说明使程序处于这种状态。 从那个状态,我们确定了正确的一系列步骤暴露了问题。 为了使报告更有效,有必要进一步分析问题:1)寻找问题的最严重后果。 通过找出漏洞产生的最严重的后果,人们可以纠正它的兴趣。 看起
11、来轻微的问题往往会导致处理被搁置。 例如,假设有一个错误,屏幕的角落显示了无用的字符。 这个问题很轻微,但可以报告。 在某些情况下,屏幕上显示无用的信息可能是一个孤立的问题(因此,忽略它的决定可能是明智的。 特别是在程序即将交付之前)。 但是,如果继续运行这个程序,一旦显示无用的信息,程序几乎马上就会崩溃可能会造成最严重的后果。 2 )找出最简单、最直接、最常见的错误触发条件。 如果只需要很少的工作量来理解和修正问题,请进行修正。 如果解决问题需要很长的时间和精力(或者看起来需要),程序员不愿意修改它。 日常使用计划时遇到问题会增加管理层对问题的兴趣。 如果几乎不知道问题的发生,关注度就低。
12、3 )找出发生同样问题的其他路径。 时,可以使用多种方法触发一个错误。 如果两个不同的路径通向同一个错误,则比只有一个路径来的危险信号更强。 即使每条路径都包含复杂的步骤序列,但存在两条路径也意味着代码包含严重错误。 为了充分展示各路径的差异,程序员不能将多个路径视为同一错误的类似描述。 4 )找出相关问题。 根据积累的经验,模仿以前发现错误的方法,找到程序中其他可能的地方,在新代码中找到类似问题的机会相当大。 二、能够重现错误的分析技术1 )寻找最重要的步骤根据错误寻找代码中的错误,不要忽略有关细小错误的线索。 1 .错误信息2 .处理延迟3 .画面闪烁4 .光标跳跃5 .文本错误6 .动作
13、指示灯在设备不使用时点亮。 2 )最大限度地提高程序执行的可视性,使程序执行的多方面可视化,越能够看到更多的错误状况,使明确重要的步骤成为可能。 调试工具可用于报告当前活动的进程、程序所消耗的内存和其他资源数量、正在使用的堆栈数量以及其他内部信息。 1 .监视堆栈中剩馀的数据量2 .监视端进程的发送接收信息、内存的占用情况。 另一种方法是打印并分析屏幕上显示的所有内容、磁盘文件和所有更改。 3 )多尝试将程序的事件组合起来执行。 4 )找到后续错误后,需要运行程序一段时间,确认是否会发生其他错误。我们必须认真做这件事,最初出现的问题可能会诱发一系列后续问题。 5 )如果逐步省略或更改步骤的问题
14、很复杂,可以跳过一些步骤,但对每个省略的步骤进行测试,确认是否是再现错误所需的步骤。 变更步骤可在各步骤中检查是否存在边界条件,对边界条件的灵敏度是测试者技术是否成熟的指标之一。 6 )在程序的早期版本中查找错误7 )如何查找配置相关性,以便错误可以重现,记录我们记住的第一个操作的所有内容,并逐步回顾问题。 如果没有效果的话,可能就没有满足正确的条件,而且没有出现漏洞。 应该考虑的情况: 1)竞争条件2 )被遗忘的详细3 )由于错误的影响不能再现4 )错误依存于内存5 )只在初次执行时出现的错误6 )由于数据错误引起的错误7 )其他问题引起的错误8 )断续性硬件故障9列举了几个因长期积累而形成
15、错误管理过程的错误跟踪管理是测试工作的重要部分,测试的目的是为了尽早发现软件系统中的缺陷,使错误跟踪管理能够对每个发现的缺陷进行及时处理。 错误管理流程是复杂的处理流程,是关于测试器(再审查员)、项目数据库管理者、实施者(设定修正者)这三者之间的交换的流程图,图-4所示的错误管理流程图详细记述了三者之间的关联关系(在正式技术再审查问题处理流程中也有) 图-4错误管理流程图,错误跟踪管理的开始动作是测试者(再审查员)选择测试用例开始测试,如果测试者(再审查员)发现程序的实际输出值与程序的期待值不一致,则发现错误, 执行流程的第二个动作“填写测试结果”。测试者(重审员)将错误传递给错误跟踪管理系统
16、后,系统将该错误保存到“项目数据库”,同时向“AutoMail Send”(也可以是程序)发送消息实施者(设置修订者)即时接收此类错误报告,并根据报告中包含的错误特定序列号,查询项目数据库中该错误的详细信息。 实施者(设定修正者)完成错误追踪的修复动作后,在“项目数据库”中将该错误的状态变换为“Fixed”,错误追踪管理系统一旦接收到这样的“UpData”动作,就自动地向错误的测试者(再审查员)发送错误, 1 .如何提交系统中的错误不要在同一邮件或同一错误输入框中报告多个错误(特别是在不同的软件包中)。 2 .使用自动错误报告工具,使用成熟的错误管理工具,实现错误的全过程管理,能够有效避免大量测试数据隐藏引起一系列问题。 具有安装错误管理工具简单、操作简单、管理安全的优点。 错误管理工具有助于错
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 历代乐清围海筑塘考略
- 2025华远集团高层管理人员绩效合同
- 2025装修工程施工合同范本:家居装修与商业空间装修
- 买卖合同样本简
- k式房合同样本
- 光租船合同标准文本
- 简单劳务用工协议书
- 计时工工作制的劳动合同二零二五年
- 光伏经销合同标准文本
- 二零二五安防工程售后服务承诺书
- 2025年高考英语二轮复习测试04 从句综合+语法填空(测试)(原卷版)
- 春季肝胆排毒课件
- 建筑公司劳动防护用品管理制度
- 医院药品采购制度及流程
- 宿舍管理考试试题及答案
- 2025年郑州铁路职业技术学院单招职业适应性考试题库附答案
- 《审计风险防范与控制的案例分析-以康得新为例》10000字
- 2025福建德化闽投抽水蓄能有限公司招聘15人笔试参考题库附带答案详解
- 【参考】2016扣字排行榜
- 2025年二级注册计量师专业实务真题
- 基于改进YOLOv5的交通标志检测与识别
评论
0/150
提交评论