![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/459.jpg)
软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称改正性维护。
改正性维护是在软件运行中发生异常或故障时进行的维护工作。在软件交付使用后,由于开发时测试的不彻底、不完全,必然会有一部分隐藏的错误被带到运行阶段来。这些隐藏下来的错误在某些特定的使用环境下会暴露出来。
为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程,是改正性维护。例如,改正性维护可以是改正原来程序中开关使用的错误;解决开发时未能测试各种可能情况带来的问题;解决原来程序中遗漏处理文件中最后一个记录的问题等。
目的:
改正性维护作业的目的是改正软件中原有的错误、缺陷和不足,以完善原有的软件。它从接到错误申报开始。首先,要收集和占有与错误申报有关的信息或数据,然后据此判断错误申报是否应被接受。由于可能会有不正确的错误申报,因此改正性作业中还包括最终不导致修改软件的作业。
1、手工测试(纯黑盒测试):
即使发现缺陷的能力非常强,也会很快遇到发展瓶颈,因为任何手工测试的风险都较高,并且投入产出比不尽如人意。项目变更后,能够复用的只有个人经验,对团队建立与知识沉淀是几乎无帮助的。(经验可以分享?谁能保证人人适用呢。)
2、黑盒自动化测试:
稍微进阶了一些,提高了效率,可以做到定时自动执行,但是维护自动化脚本也是相当痛苦的,就算可以将一些代码抽象为公共模块,却无法避免前端的改动。目前产品功能自动化测试都基于比较浅的层次,所以是否开展、以多大范围开展是个值得仔细权衡的点。
3、接口测试(包括接口自动化):
这算比较深入的,有时感觉当一个测试真正抛开了前端页面,从接口层面开始介入测试时,他才真的成为了一名合格的测试攻城狮。此时可做的内容如满天繁星,想象空间无穷。
4、性能测试:
无论对于App还是后台服务器,性能都是非常重要的点,专业的性能测试攻城狮对单一方向的要求很高,对性能问题的嗅觉也会更敏感。
5、白盒测试:
这个方向非常高深,真正的白盒测试是要能够去验证代码的正确性和有效性,这些攻城狮的水平应该高于很多开发。
软件维护活动类型总起来大概有四种:纠错性维护(校正性维护)、适应性维护、完善性维护或增强、预防性维护或再工程。除此四类维护活动外,还有一些其它类型的维护活动,如:支援性维护(如用户的培训等)。针对以上几种类型的维护,可以采取一些维护策略,以控制维护成本。
软件维护主要根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序2。修改后要填写《程序修改登记表》,并在《程序变更通知书》上写明新旧程序的不同之处。
扩展资料
软件开发时就要考虑到维护问题:
1、在需求分析阶段:明确维护范围及责任,审查系统要求;研究运行/维护的支持;明确性能要求及变更;明确扩充或收缩;检验关键资源的可扩充性。
2、在设计阶段:考虑系统的扩展、压缩和变更及设计通用性等。
3、在编程阶段:查找源程序错误,度量源程序可理解性等。
4、在测试阶段:维护人员参与集成测试,统计分析错误等。
参考资料来源:百度百科-软件维护性
参考资料来源:百度百科-软件维护
软件测试的工作内容主要包括“验证”和“确认”,具体内容如下。一、验证:保证软件正确地实现了一些特定功能的一系列活动,即保证软件以正确的方式来做了这个事件。1、确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。2、程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。3、评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。二、确认:一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性,即保证软件做了用户所期望的事情。1、静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性。2、动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。扩展资料一、软件测试的原则1、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。2、程序员应该避免检查自己的程序,软件测试应该由第三方来负责。3、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态,如网络异常中断、电源断电等。4、应该充分注意测试中的群集现象。5、对错误结果要进行一个确认过程。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。6、制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成一个高水平的测试。7、妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。二、软件测试的主要目标1、发现一些可以通过测试避免的开发风险。2、实施测试来降低所发现的风险。3、确定测试何时可以结束。4、在开发项目的过程中将测试看作是一个标准项目。
软件测试是一种过程,用于评估和检查软件产品的质量、功能、可靠性、安全性和性能,以便确定它是否符合规范和预期的要求。
软件测试的主要目的是发现软件中的缺陷或错误,并通过修复这些缺陷或错误来提高软件质量和可靠性。
软件测试可以在软件开发周期的各个阶段进行,包括需求分析、设计、编码和维护。常见的软件测试类型包括功能测试、性能测试、安全测试、可靠性测试、用户界面测试等。
补充一下软件测试的一些相关信息:
1. 软件测试的目的
软件测试的主要目的是确保软件在使用时的功能、性能、稳定性和可靠性等方面都能够满足用户的需求和期望。通过测试可以发现软件中存在的缺陷或错误,从而促使开发人员进行修改和优化,提高软件质量和用户满意度。
2. 痕迹
在软件测试过程中,应该对所有的测试活动和测试结果进行记录和可追溯性追踪,以便查找和排除问题,这些记录被称为测试痕迹。测试痕迹可以包括测试计划、测试用例、测试报告、缺陷报告等。
3. 测试的策略
测试策略是指在测试工作中确定测试目标、范围、方法和资源的过程。测试策略应该根据不同的测试需求和开发环境来制定,以确保测试活动的有效性和高效性。
4. 测试的类型
常见的软件测试类型包括:功能测试、性能测试、安全测试、可靠性测试、兼容性测试、用户界面测试、压力测试等。不同的测试类型侧重于检查软件的不同方面,以确定它是否符合规范和需求。
5. 测试的阶段
软件测试应该贯穿整个软件开发周期,包括需求分析、设计、编码和维护等不同阶段。不同阶段的测试目标和方法也有所不同,但都应该注重测试和质量控制。
6. 测试用例
测试用例是为了检查软件功能和行为而设计的一组输入数据和操作步骤。测试用例应该覆盖软件的各个方面,以发现潜在的错误和缺陷,并确保软件能够正确地满足用户需求。
总之,软件测试是确保软件质量和稳定性的一项重要工作,它可以通过发现和解决软件中存在的问题,提高软件的可用性、可靠性和用户满意度。
1、软件生产不能满足日益增长的软件需求;
2、软件生产率随软件规模与复杂性的提高而下降;
3、软件开发进度与成本失控;
4、软件系统实现的功能与实际需求不符;
5、软件难以维护;
6、软件文档配置没有受到足够的重视;
软件危机产生的原因可以从两个方面加以认识:一是软件产品的固有特性( 软件的不可见性和软件的规模和逻辑复杂性 ),二是软件专业人员的自身缺陷( 没有掌握正确的软件开发方法,对软件的开发与维护存在许多模糊、错误的认识,不可避免地导致许多软件错误 )。
软件生存周期包括 软件定义、软件开发、软件测试、软件使用、软件维护 等几个阶段
软件的可维护性是与软件设计密切相关,因此在软件的开发过程中应该重视对软件可维护性的支持。
软件生命周期的最后一个阶段是终止对软件系统的支持,即软件停止使用。
以上就是小编为大家整理的关于软件维护时,对测试阶段未发现的错误的全部内容,更多相关知识请持续关注学分高考!(本文共5735字)

微信扫码关注公众号
获取更多考试热门资料