软件测试入门
软件测试的基本概念,常用方法

软件测试的基本概念,常用方法
软件测试的基本概念:
软件测试是指通过执行一系列操作,以检查软件系统是否符合规格说明书、用户需求、设计规范等要求,以确保软件的质量和功能的正确性。
软件测试包括单元测试、集成测试、系统测试、验收测试等多个阶段,目的是发现潜在的错误和缺陷,从而提高软件质量和可靠性。
软件测试的常用方法:
1. 黑盒测试:以输入和输出的关系为测试对象,不考虑系统的内部实现,主要测试系统的功能是否符合要求。
2. 白盒测试:以系统的内部实现为测试对象,通过编写测试用例来检查系统内部的代码和数据结构是否满足要求。
3. 单元测试:针对软件的最小组成单元进行测试,例如代码模块、函数等,测试目的是验证单元的功能和性能。
4. 集成测试:测试各个单元或组件之间的交互关系,以验证系统的集成效果。
5. 系统测试:测试整个系统的功能、性能和可靠性,以验证系统的整体性能。
6. 验收测试:在软件交付前进行的最终测试,目的是验证软件是否符合用户需求和规格说明书的要求。
QTP-学习软件测试QTP入门

调试脚本
对脚本进行调试,确保其正 确性和稳定性。
优化脚本
对脚本进行优化,提高其执 行效率和准确性。
03 QTP高级功能
QTP自动化测试框架
QTP自动化测试框架
QTP(Quick Test Professional)提 供了一个强大的自动化测试框架,使 得测试人员能够通过录制和编辑测试 脚本,实现自动化测试。
02
它通过模拟用户操作,对软件界 面进行测试,验证软件的功能是 否正常。
QTP的特点
01
02
03
自动化测试
QTP支持自动化测试,能 够快速、准确地执行测试 用例,提高测试效率。
测试管理
QTP提供了测试管理功能, 能够对测试计划、测试用 例、测试结果等进行统一 管理。
兼容性强
QTP支持多种操作系统和 多种浏览器,能够满足不 同软件平台的测试需求。
QTP-学习软件测试QTP入门
目 录
• QTP简介 • QTP基础知识 • QTP高级功能 • QTP实践案例 • QTP常见问题与解决方案 • QTP未来发展与展望
01 QTP简介
QTP的含义
01
QTP是Quick Test Professional 的缩写,是一款自动化测试工具 ,用于对软件进行功能测试和回 归测试。
QTP性能测试
性能测试基础
QTP提供了性能测试功能,可以帮助测试人员对被测试应用程序 进行负载测试和压力测试。
场景设计
通过QTP的场景设计器,测试人员可以模拟多用户并发访问被测试 应用程序的情况,以检测应用程序的性能表现。
Байду номын сангаас结果分析
QTP提供了丰富的性能测试结果分析功能,可以帮助测试人员快速 定位瓶颈和问题所在。
软件测试过程及方法指南

软件测试过程及方法指南软件测试是确保软件质量的重要环节,它涉及到全面检查、评估和验证软件系统的各个方面。
本文将介绍软件测试的过程和方法指南,以帮助读者更好地理解和应用软件测试。
1. 测试准备阶段在测试准备阶段,测试团队需要进行测试计划的制定和测试资源的准备。
以下是该阶段的具体步骤:1.1 定义测试目标和范围在开始测试之前,明确测试的目标和范围是非常重要的。
测试目标可以是发现软件缺陷、验证系统功能、评估性能等。
同时,确定测试范围,即测试哪些功能、模块或者系统。
1.2 制定测试计划测试计划是测试工作的总体指导文件,它包括测试策略、测试范围、测试目标、测试资源、测试进度等。
根据项目需求和规模,合理制定测试计划。
1.3 确定测试环境和工具测试环境包括硬件、操作系统和网络环境等。
根据项目需求,选择适合的测试环境和工具,例如测试管理工具、自动化测试工具等。
2. 测试设计阶段测试设计阶段是根据测试计划,设计测试用例和测试数据。
以下是该阶段的具体步骤:2.1 确定测试用例测试用例是测试工作的核心,它描述了测试的步骤、输入、预期输出以及测试覆盖的范围。
在设计测试用例时,需考虑功能覆盖、边界条件、异常情况等。
2.2 制定测试数据测试数据用于执行测试用例,它应该包括各种典型情况和边界情况。
为了节省时间和资源,可以利用辅助工具生成部分测试数据。
3. 测试执行阶段在测试执行阶段,根据测试计划和测试设计阶段的工作,执行测试用例并记录测试结果。
以下是该阶段的具体步骤:3.1 准备测试环境确保测试环境配置正确,测试数据准备完整,测试工具可用。
如果需要,可以进行系统恢复、重启等操作,保证测试环境的稳定性。
3.2 执行测试用例按照测试计划和测试设计阶段的工作,逐条执行测试用例。
记录测试执行的结果,包括测试通过、失败、缺陷等。
3.3 缺陷管理在测试执行过程中,发现的缺陷需要进行记录、分类和报告。
同时,与开发团队密切合作,及时解决和验证缺陷修复情况。
计算机软件测试方法+测试前的准备工作

计算机软件测试是软件开发过程中至关重要的一环,它有助于确保软件的质量和性能,减少错误和缺陷,提高用户体验。
本文将详细介绍计算机软件测试的方法以及测试前的准备工作。
一、计算机软件测试方法单元测试:单元测试是对软件中的最小可测试单元进行检查和验证。
这些单元通常是函数、方法、模块或类等。
单元测试的目标是确保每个单元都能按照设计要求正确工作。
集成测试:集成测试是在单元测试的基础上,将所有单元组合在一起进行测试,以确保它们能够协同工作。
这种测试方法主要关注模块之间的接口和数据交互。
系统测试:系统测试是对整个软件系统进行全面的测试,以验证系统是否满足用户需求、设计要求和性能指标。
系统测试通常包括功能测试、性能测试、安全测试和兼容性测试等。
验收测试:验收测试是在软件开发完成后,由客户或用户代表进行的最终测试。
其目的是确保软件符合合同或协议规定的要求,以及用户的实际需求。
二、测试前的准备工作需求分析:在进行软件测试之前,首先要对软件需求进行深入的分析和理解。
这包括了解软件的功能需求、性能需求、安全需求以及其他非功能需求。
测试计划制定:根据需求分析结果,制定详细的测试计划。
测试计划应包括测试范围、测试方法、测试资源、测试进度和风险管理等内容。
测试用例设计:根据测试计划,设计具体的测试用例。
测试用例应包括输入数据、预期输出和执行步骤等信息。
设计良好的测试用例能够覆盖尽可能多的软件功能和场景。
测试环境搭建:搭建适合软件测试的环境,包括硬件、软件和网络等配置。
确保测试环境与实际生产环境尽可能接近,以便更准确地模拟用户的使用情况。
测试工具准备:根据测试需求选择合适的测试工具,如自动化测试工具、性能测试工具和安全测试工具等。
熟练掌握这些工具的使用方法,可以提高测试效率和准确性。
人员培训:对参与测试的人员进行必要的培训,提高他们的测试技能和意识。
培训内容可以包括软件测试方法、测试用例设计、缺陷管理等方面。
总之,计算机软件测试和测试前的准备工作对于确保软件质量具有重要意义。
软件工程师软件测试方法

软件工程师软件测试方法软件测试是软件工程中不可或缺的一环。
在软件开发过程中,软件测试师扮演着重要的角色,他们通过使用各种测试方法和工具来确保软件的质量和稳定性。
本文将简要介绍一些常用的软件测试方法,帮助软件工程师更好地进行测试工作。
1. 功能测试功能测试是软件测试中最常见也是最基础的一种方法。
在这种测试中,测试人员通过输入各种输入数据,测试软件的各项功能是否正常工作。
功能测试通常包括输入验证、界面测试、用户操作测试等。
它通过检查软件是否按照预期执行任务来验证软件的正确性。
2. 性能测试性能测试旨在评估软件在不同负载条件下的性能表现。
测试人员使用各种方法来模拟实际使用情况,例如并发用户数、数据负载等,以确保系统在高负载情况下的可扩展性和稳定性。
性能测试可以帮助软件工程师识别和解决系统中的性能瓶颈和资源利用不佳的问题。
3. 安全测试安全测试是为了评估软件在安全方面的表现。
软件工程师需要测试系统是否容易受到黑客攻击、数据泄露或其他安全漏洞。
安全测试通常涉及网络扫描、渗透测试、代码审查等技术手段,以确保软件在不同场景下的安全性。
4. 兼容性测试兼容性测试用于确保软件在不同的操作系统、浏览器或设备上正常运行。
测试人员使用各种操作系统和浏览器的组合来测试软件的兼容性。
这种测试方法有助于软件工程师发现并解决不同平台上的兼容性问题,提高软件的可用性和用户体验。
5. 接口测试接口测试是为了验证软件与外部系统或组件之间的交互是否正常。
软件工程师会测试软件的各种接口,例如数据库接口、Web服务接口等。
接口测试可以帮助软件工程师发现接口间的通信问题和数据一致性问题,确保系统的正常运行。
6. 自动化测试自动化测试是一种高效的测试方法,通过使用各种测试工具和脚本自动执行测试用例。
软件工程师可以使用自动化测试来增加测试覆盖范围,提高测试效率。
自动化测试通常适用于重复性较高的测试任务,例如回归测试。
总结:软件测试是确保软件质量的重要一环。
软件测试全套入门自学教程零基础小白必看

软件测试全套入门自学教程零基础小白必看一、教学内容本节课我们将学习软件测试的全套入门知识,包括软件测试的基本概念、测试方法、测试类型、测试工具以及测试流程等。
具体内容包括:1. 软件测试的基本概念:软件测试的定义、目的和重要性。
2. 测试方法:黑盒测试、白盒测试、灰盒测试和静态测试等。
3. 测试类型:功能测试、性能测试、兼容性测试、安全测试等。
4. 测试工具:自动化测试工具、性能测试工具、缺陷跟踪工具等。
5. 测试流程:测试计划、测试设计、测试执行、测试报告等。
二、教学目标1. 了解软件测试的基本概念,理解软件测试的目的和重要性。
2. 掌握不同的测试方法,能够根据需求选择合适的测试方法。
3. 熟悉不同的测试类型,能够区分并应用各种测试类型。
4. 了解常用的测试工具,能够选择合适的工具进行测试。
5. 掌握软件测试的基本流程,能够独立完成简单的测试工作。
三、教学难点与重点重点:软件测试的基本概念、测试方法、测试类型和测试流程。
难点:测试工具的选择和应用,测试流程的独立完成。
四、教具与学具准备教具:投影仪、电脑、黑板、粉笔。
学具:笔记本、笔、教材。
五、教学过程1. 引入:通过一个简单的案例,引入软件测试的概念,让学生了解软件测试的重要性。
2. 讲解:详细讲解软件测试的基本概念、测试方法、测试类型和测试流程。
3. 演示:通过实际操作,演示如何使用常用的测试工具进行测试。
4. 练习:学生分组进行练习,独立完成一个简单的测试案例。
六、板书设计1. 软件测试的基本概念2. 测试方法3. 测试类型4. 测试工具5. 测试流程七、作业设计1. 请简述软件测试的目的和重要性。
答案:软件测试的目的是发现软件中的缺陷和问题,确保软件的质量和稳定性。
软件测试的重要性在于,它可以预防软件发布后出现的问题,提高用户的使用体验,降低软件维护成本。
2. 请列举三种常用的测试方法。
答案:黑盒测试、白盒测试、灰盒测试。
3. 请列举三种常用的测试类型。
软件性能测试基础教程

软件性能测试基础教程第一章:引言软件性能测试是一项关键的工作,它旨在评估软件在不同负载条件下的性能表现。
在现代信息技术日益发展的背景下,软件性能测试变得愈发重要。
本教程将为读者介绍软件性能测试的基础知识,并提供实用的指导。
第二章:软件性能测试的概述2.1 软件性能测试的定义性能测试是指对软件系统在特定条件下进行测试和评估,以确定其在给定资源限制下的性能表现。
2.2 软件性能测试的目标- 确定软件系统的瓶颈和性能限制,以指导性能优化工作。
- 评估软件系统在高负载情况下的性能表现,以确定其是否符合预期需求。
- 验证硬件和软件配置的适应性和稳定性,以支持系统规模扩展。
2.3 软件性能测试的重要性- 提供性能基准,帮助决策者了解系统在不同条件下的表现。
- 改善用户体验,确保软件系统具备高性能和快速响应能力。
- 对系统进行可靠性验证,避免系统在实际使用中出现故障。
第三章:软件性能测试的方法3.1 负载测试负载测试是测试系统在不同负载下的性能表现。
其目标是评估系统在正常、峰值和超负荷条件下的性能和稳定性。
3.2 压力测试压力测试是为了确定系统在极限负载下是否能正常工作。
通过逐渐增加负载,观察系统的响应时间和资源利用情况,来评估系统的可靠性和稳定性。
3.3 容量测试容量测试旨在确定系统能够支持的最大负载。
通过逐渐增加负载并监测系统性能,来确定系统的容量极限。
第四章:软件性能测试的工具4.1 负载测试工具常用的负载测试工具包括Apache JMeter、LoadRunner和Gatling等。
这些工具可以模拟大量用户并发访问系统,并记录系统响应时间、吞吐量等关键指标。
4.2 监测工具监测工具用于监测系统在测试过程中的性能和资源使用情况。
常见的监测工具包括AppDynamics、New Relic和Nagios等。
4.3 分析工具分析工具用于对性能测试数据进行分析和解读,帮助找出系统性能瓶颈和优化方向。
常见的分析工具包括Grafana、Splunk和ELK等。
计算机软件测试基础

计算机软件测试基础软件测试是软件工程中至关重要的环节,它能够确保软件系统的质量和可靠性。
计算机软件测试基础是软件测试过程中必备的知识和技能,本文将从软件测试的定义、目的、方法以及常用的测试技术等方面进行论述。
一、软件测试的定义和目的软件测试是指通过运行软件系统的过程,以验证系统是否满足预期的要求,并检查软件系统中是否存在错误或问题。
软件测试的目的是为了发现和修复软件系统中的缺陷,提高软件系统的质量和可靠性。
二、软件测试的方法1. 黑盒测试黑盒测试是一种基于软件系统的输入和输出来进行测试的方法,测试人员并不需要了解软件系统的内部结构和实现细节。
测试人员只需要关注软件系统的规格、功能和用户需求,在不考虑具体实现的情况下,通过输入测试数据,观察输出结果,以此来判断软件系统是否符合预期。
2. 白盒测试白盒测试是一种基于软件系统内部结构和实现细节进行测试的方法,测试人员需要了解软件系统的代码、逻辑和结构。
白盒测试通过检查程序的逻辑路径、条件判断和数据流等信息,来设计测试用例,以覆盖尽可能多的代码路径,发现代码中潜在的错误。
3. 灰盒测试灰盒测试是黑盒测试和白盒测试的结合,既考虑了软件系统的输入和输出,也考虑了软件系统的内部结构和实现细节。
通过了解软件系统的某些部分的内部结构,测试人员可以更加有效地设计测试用例,提高测试覆盖率。
三、常用的测试技术1. 功能测试功能测试是针对软件系统的某个具体功能进行测试的技术。
测试人员根据软件系统的需求文档,在各种输入情况下,验证系统能否正确地完成预期的功能。
2. 性能测试性能测试是测试软件系统的性能和响应能力的技术。
测试人员通过模拟多种负载情况和压力情况,来测试系统的性能指标,例如响应时间、吞吐量和并发用户数等。
3. 安全性测试安全性测试是测试软件系统的安全性和防护能力的技术。
测试人员通过模拟各种可能的安全攻击和漏洞,检查软件系统是否存在安全问题,并提供相应的安全解决方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
与软件开发融合的发展历程,目前软件
测试进入了快速发展的轨道,自动化测试应用广泛,
测试技术不断细分。 2. 软件测试与软件开发的各阶段是一一对应的,且具
有和软件开发并行的特性。
27
《软件测试》
任务小结
2
3. 软件测试模型的主要特点:
V模型:反映了测试活动与分析设计的关系,清楚的描述了测试阶
段和开发过程期间各阶段的对应关系,但没有明确的指出应对软 件的需求、设计进行测试。 W模型:强调了测试计划等工作的先行和对系统需求和设计的测 试,但无独立的操作流程,受开发进度的制约。 X模型:提出针对单独的程序片段进行相互分离的编码和测试,此 后通过频繁的交接,通过集成最终合成为可执行的程序。 H模型:体现了软件测试模型是一个独立的流程,贯穿与整个产 品周期,与其他流程并发进行。 前置模型:是“测试驱动开发”的映射。前置测试模型结合了传 统的Ⅴ模型和Ⅹ测试模型特点,把软件测试的工作提早至对需求
SCM)
软件工程管理(Software Engineering Management) 软件开发过程(Software Development Process) 软件工程工具与方法(Computer-Aided Software Engineering, CASE) 软件品质(Software Quality)
FritzBauer
在NATO会议上给出的定义:建立并使用完善的 工程化原则,以较经济的手段获得能在实际机器
上有效运行的可靠软件的一系列方法。
14
《软件测试》
软件工程
定义
计算机科学技术百科全书 软件工程是研究和应用如何以系统性的、规范化 的、可定量的过程化方法去开发和维护软件,以 及如何把经过时间考验而证明正确的管理技术和 当前能够得到的最好的技术方法结合起来
软件测试的现状
发展趋势
1. 软件测试技术进入快速发展轨道 2. 自动化软件测试技术应用越来越普遍 3. 测试技术不断细分
1. WEB应用测试
2. 手机软件测试 3. 嵌入式软件测试
4. 安全测试
5. 可靠性测试
19
《软件测试》
软件测试与软件工程
对应关系
20
《软件测试》
软件测试模型
对应关系
V模型 W模型 X模型 H模型 前置模型
11
《软件测试》
软件测试
标准定义
软件工程知识体系指南2004版 定义 测试是为评价、改进产品质量、标识产品的缺陷和问 题而进行的活动。 软件测试由一个程序的行为在有限测试用例集合上, 针对期望的行为的动态验证组成,测试用例是从通常
的无限执行域中适当选取的。
12
《软件测试》
软件工程
由来
北大西洋公约组织(NATO)在1968年举办了首次 软件工程学术会议并于会中提出“软件工程”来界 定软件开发所需相关知识,并建议“软件开发应该 是类似工程的活动”。 软件工程自1968年正式提出至今,这段时间累积了
43
《软件测试》
软件测试成熟度模型
TMM
美国的伊利诺斯州技术学院参照CMM开发了 TMM(Testing Maturity Model),作为CMM的补充 一个试图达到TMM特定等级的企业必须至少达到同
样的CMM等级
分为5个等级
初始级
定义级
集成级 管理和测量级 优化,预防缺陷和质量控制级
TMM描述了测试过程,是项目测试部分得到良好计 划和控制的基础。
45
《软件测试》
拓展训练
进一步练习
1、进一步了解并简述软件质量管理中软件质量保证 和软件质量控制之间的区别和联系。 2、进一步了解并简述软件测试在软件质量管理中的 作用。
46
《软件测试》
任务三:软件测试的分类、原则和流程
任务简介 任务分析 相关知识点 任务实施 任务小结 拓展训练
IEEE软件工程(1983)的定义: 使用人工或者自动手段来运行或测试某个系统的过 程,其目的在于检验它。是否满足规定的需求或弄 清预期结果与实际结果之间的差别。它是帮助识别 开发完成(中间或最终的版本)的计算机软件(整
体或部分)的正确度(correctness) 、完全度
(completeness)和质量(quality)的软件过程;是 SQA(software quality assurance)的重要子域
44
《软件测试》
任务小结
1. 20世纪90年代中期以后,人们对软件测试的认识也 不断得到发展。 2. 美国卡耐基-梅隆大学软件工程研究所(SEI)研制并
推出了CMM,该模型逐渐成为了评估软件开发过程
的管理以及工程能力的标准。 3. Burnstein博士提出的TMM,依据CMM的框架提出测
试的五个不同级别,关注于测试的成熟度模型。
质量保证(QA)是通过预防,检查与改进来保证软 件质量的
软件测试关注的不是过程活动,而是每个过程活动
的产出物
32
《软件测试》
相关知识点
知识点列表
软件缺陷 软件可靠性 软件质量
33
《软件测试》
软件缺陷
定义
从产品内部看,缺陷是软件产品开发或维护过程中存
在的错误、毛病等各种问题;从产品外部看,缺陷是
9.确保发布给用户的系统中有哪些风险。
10.ISO9000定义:测试是一种基于机器的,对代码执行测试,确认测试的活动 。 11.对软件质量的度量(Hetzel,1983) 12.验证系统满足需求,或确定实际结果与预期结果之间的区别
13.确认程序正确实现了所要求的功能
10
《软件测试》
软件测试
标准定义
16
《软件测试》
任务实施
步骤
了解软件测试的历史发展过程和软件测试的现状 了解软件测试与软件工程各阶段的联系 了解软件测试模型
17
《软件测试》
软件测试的历史发展过程
发展阶段
1. 软件调试 2. 独立的软件测试 3. 定义软件测试
4. 软件测试成为专门学科
5. 开发与测试的融合
18
《软件测试》
37
《软件测试》
软件可靠性
2
软件可靠性定义 (1)在规定的条件下,在规定的时间内,软件不 引起系统失效的概率; (2)在规定的时间周期内,在所述条件下程序执 行所要求的功能的能力;
38
《软件测试》
软件质量
影响质量的因素
正确性、健壮性、效率、完整性、可用性、风险
(产品运行);
可理解性、可维修性、灵活性、可测试性(产品修 改); 可移植性、可再用性、互运行性(产品转移)。
30
《软件测试》
任务简介
简介
了解软件质量管理。 了解软件能力成熟度模型 了解软件测试成熟度模型
31
《软件测试》
任务分析
通常在一般的中小企业中会不将软件测试与软件质 量保证加以细分,软件测试人员也叫做质量保证人员 即QA,但是软件测试和软件质量保证是软件质量工程
的两个不同层面的工作,两者既有联系,又有区别。
21
《软件测试》
软件测试模型
V模型
22
《软件测试》
软件测试模型
W模型
23
《软件测试》
软件测试模型
X模型
24
《软件测试》
软件测试模型
H模型
25
《软件测试》
软件测试模型
前置模型
26
《软件测试》
任务小结
1
1. 软件测试的发展经历了从最初的软件调试 软件测试 门的学科 软件测试定义的讨论 独立的 软件测试成为专
39
《软件测试》
软件质量
标准
软件需求是度量软件质量的基础,与需求不一致就
是质量不高。
指定的标准定义了一组指导软件开发的准则,如果 没有遵守这些准则,几乎肯定会导致质量不高。 如果软件满足明确描述的需求,但却不满足隐含的 需求,那么软件的质量仍然是值得怀疑的。
40
《软件测试》
ቤተ መጻሕፍቲ ባይዱ任务实施
步骤
了解软件质量管理 了解软件能力成熟度模型 了解软件测试成熟度模型
大量的研究成果,广泛地进行大量的技术实践,借
由学术界和产业界的共同努力,软件工程正逐渐发 展成为一门专业学科。
13
《软件测试》
软件工程
定义
IEEE 在软件工程术语汇编中的定义:软件工程是:1. 将系统化的、严格约束的、可量化的方法应用于 软件的开发、运行和维护,即将工程化应用于软 件;2.在1中所述方法的研究
系统所需要实现的某种功能的失效或违背。 表现: 1、软件没有实现产品规格说明所要求的功能模块 2、软件中出现了产品规格说明指明不应该出现的 错误 3、软件实现了产品规格说明没有提到的功能模块 4、软件没有实现虽然产品规格说明没有明确提及 但应该实现的目标; 5、软件难以理解,不容易使用,运行缓慢,或从 测试员的角度看,最终用户会认为不好。
15
《软件测试》
软件工程
核心知识
软件需求(Software requirements) 软件设计(Software design) 软件建构(Software construction)
软件测试(Software test)
软件维护与更新(Software maintenance) 软件构型管理(Software Configuration Management,
8
《软件测试》
相关知识点
知识点列表
软件测试 软件工程
9
《软件测试》
软件测试
早期定义
1. 是证明软件中不存在错误的过程 2.是确信程序做了它应该做的事情(Hetzel,1973) 3.是为找出错误而运行程序或系统的过程(Myers,1979) 4.保证程序和相应的规范说明一致。 5.发现软件中的缺陷。 6.确保软件不做不必要的事情。 7.确保系统合理地执行。 8.确保系统失败前可以让系统运行到何种程度