《软件测试的资源分配、进度管理与最优发行.ppt》由会员分享,可在线阅读,更多相关《软件测试的资源分配、进度管理与最优发行.ppt(30页珍藏版)》请在三一办公上搜索。
1、,第1页,了解各种软件测试类型;集成测试通过的准则;理解各类测试的基本内涵;了解软件可靠性增长模型;理解软件最优发行问题;软件项目的支持信息及其分类,第7章-软件测试的资源分配、进度管理与最优发行,SEE,学习目标,第2页,软件测试与可靠性增长,2.1,软件测试的资源分配与进度管理,第2章 软件工程经济学基础,软件最优发行问题,2.3,软件系统信息库建设,第3页,7.1.1 软件测试概述 软件测试的目标是希望以最少的人力费用和时间发现潜在的各种差错和缺陷,以期进行改正。为此需要一定的测试方法、测试策略和测试流程。1.软件测试方法和测试流程 软件测试的方法有很多,不同的测试方法往往针对不同的测试
2、目标和测试对象,不同的思路以及采取不同的手段。例如,按照被测对象的不同,可分为面向功能、结构为主的测试和面向对象的测试等。,7.1 软件测试与可靠性增长,第4页1,2.NIS软件的测试过程,7.1.1 软件测试概述,图7.1 软件测试流程图,2.静态测试 静态测试是通过阅读程序来查找软件的差错与问题的一种方法,其检查的重点为代码与设计的要求是否一致,代码的逻辑表示是否正确与完整,代码的结构是否合理,是否有未定义或用错的局部变量或全局变量等。3.黑盒测试与白盒测试 黑盒测试将软件视为一个看不到内部状况的黑盒子,在完全不考虑内部程序结构的情况下考察软件的外部功能与性能特征。白盒测试将软件视为一个内
3、部结构透明的白盒子。,7.1.1 软件测试概述,黑盒 白盒,功能测试数据驱动测试,结构测试逻辑驱动测试,4.单元测试 由于软件开发是一个由单元(模块)到整体(系统)的过程,因此软件测试的首次活动应为单元测试,以确定每个单元测试能否正常工作。5.集成测试 集成测试是在对被测软件所有单元分别独立测试完后,按照系统设计的模块结构进行逐步组装的一种有序测试。,7.1.1 软件测试概述,5、单元测试 6、集成测试,7.1.1 软件测试概述,7.1.1 软件测试概述,集成测试通过的准则:达到规定的测试覆盖类和覆盖率要求;对测试中的异常要有合理的解释;各模块无错误链接;满足各项功能增长和性能增长的要求;对错
4、误输入有正确的处理能力;在组合模块测试时,为了避免引入新的软件差错和产生新的问题,往往采用回归测试法,7.1.1 软件测试概述,各类测试的基本内涵:(1)恢复测试 恢复测试是检测系统的容错能力。检测方法是采用各种方法对系统出现故障后检验系统是否按照要求能从故障中恢复过来,并在预期的时间内开始事务处理,而且不对系统造成任何伤害。(2)安全性测试 系统的安全性测试是检测系统的安全防范机制、保密措施是否完美且没有漏洞。测试的方法是测试人员模拟非法入侵者,采用各种方法冲破防线。,7.1.1 软件测试概述,(3)强度测试 强度测试是对系统在异常情况下的承受能力的测试,是检查系统在极限状态下运行,性能下降
5、的幅度是否在允许的范围内。(4)性能测试 性能测试是检查是否满足系统说明书对性能的需求。(5)可靠性测试 对于在系统分析说明书中提出了可靠性要求的软件或对一些要求高可靠性的软件,可靠性测试是必须的。,7.1.2 软件可靠性增长模型,1.基本G-O模型(1)基本假设 差错随机的存在于程序中,在对软件的量测与排错过程中,差错的出现是程序运行的函数,在任何时间区间内出现的期望差错数与时间区间的长度t成正比,与剩余差错数成正比,比例系数设为b;在量测与排错过程中,差错的累积过程是一个非时齐的泊松过程;纠错时不发生新的错误;前后出现差错无关联。,7.1.2 软件可靠性增长模型,设N(t)表示(0,t)内
6、查出的累计差错数,则由上述基本假设知NT=N(t),t=0为NHPP;若设(t)为NT的强度函数,为累计强度函数,则由非其次泊松过程理论可以证明,对 有EN(t)=m(t),从而表明m(t)即为在(0,t)内查出的期望累计 差错数。此外,又由于,故(t)可理解为在t时的差错查出率(单位时间内查出的平均差错数)。,7.1.2 软件可靠性增长模型,2.扩展G-O模型 在基本G-O模型的假设中规定软件差错一旦被发现将立即被修正,并不会引入新的差错,而扩展G-O模型则将上述假设进一步放宽,即假设软件在t时刻发现的差错并非一定会修正,并设p表示在t时刻被发现的软件差错完全修正的概率。,7.1.3软件产品
7、质量水平评价模型,在采用G-O模型或其他可靠性增长模型估计被测软件的潜在初始固有差错数时,其估计精度应为人们所关注。显然,此软件的潜在初始固有差错数的估计值将大大依赖于软件测试的覆盖率和测试质量,因此在对被测软件评价时兼顾考虑测试覆盖率与测试质量的方法显然是人们所欢迎的。于是一种将NHPP模型与差错植入模型结合起来的组合模型-软件产品质量水平评价模型出现了。,7.2软件测试的资源分配与进度管理,7.2.1考虑测试人力投入的可靠性增长模型7.2.2软件测试中的静态资源分配与进度管理7.2.3 软件测试中的动态资源分配,7.2.3 软件测试中的动态资源分配,两种动态资源分配模型:(1)当所投入的测
8、试人力资源总数一定时,以软件模块中剩余差错数平均值最小为目标的模型。(2)当给定测试结束,软件模块中剩余差错数平均值达到预定的指标时,以所用的测试人力资源最少为目标的模型。,7.3软件最优发行问题,7.3.1 基本概念7.3.2 基于可靠性目标的最优发行问题7.3.3 基于费用目标的最优发行问题,1.以残存差错数为可靠性目标的最优发行问题,一个带有初始潜在固有差错数a的软件,随着测试人力的不断投入和差错的不断被查出并排除,其t时段的残存差错数r(t)显然是时间t的单调减函数或t时段查出并排除的累计差错数m(t)是时间t的单调增函数。显然,为使软件可靠性目标达到a0时,其最优发行时间由下式决定:
9、由上式知最优发行时间为:其中,参数a、m的估计与7.2相同。,软件测试可靠性增长图,2.以条件可靠度为目标的最优发行问题,注意到随着软件测试人力的不断投入和差错的不断查出与排除,软件的条件可靠度R(t/T)同样是时间t的单调增函数,因此,与上同理可知为使软件经测试后达到可靠度目标R0时其软件的最优发行时间T1由下式决定:因此最优发行时间为,3.基于费用目标的最优发行问题,通过考虑已达到的可靠性和已花费测试资源两者之间的关系,利用总期望成本这一评价标准,最优软件发行问题可归纳为得到一个最优发行时间已使总期望成本最小的数学规划问题。其中,把软件测试阶段的测试人力成本和软件在释放前后的改错成本都考虑
10、在成本因素之内,则软件总成本为:,最优释放时间 可以通过C(T)对总测试时间T求导而算出:其中利用了关系式:且A(T)由下式给出:由上式可以解得,4.基于成本-工期目标的最优发行问题,例7.5:试求解最优发行时间。其中,设C1=1,C2=50,C3=3,C4=5,Ts=45,TLc=100,求解NHPP模型参数a、r、m同前例7.4,Cj单位(j=14)与Ts、TLc单位同前例7.4解:经计算有,并算得,同时验证满足条件,则由软件最优发行时间结论(3)知最优发行时间T*可通过(7.49)式解得T1与软件工期Ts相比较而得到。由于有T1=48.9Ts=45,故有T*=T1=48.9.其中,解(7
11、.49)式可采用迭代法等数值计算方法。,7.4 软件系统信息库建设,7.4.1 支持信息及其分类 总结前述各章的有关内容,我们看到软件项目的支持信息大致包含如下7类:(1)软件企业的外部环境信息。(2)软件企业的内部条件信息。(3)软件工程的领域知识和技术支持信息。(4)软件开发工作中的重要工程经济参数确定所需要的经验时间序列与历史资料的支持信息。,7.4.1 支持信息及其分类,(5)软件测试尤其是可靠性测试过程中为确定可靠性增长模型的几个待定参数而需要的测试排错时间分析、测试人力投入时间序列等信息。(6)为建立分解结构WBS和开发平台、过程等属性信息。(7)各种工程经济参数之间的交叉影响分析和风险分析与控制的分析及报告信息。,7.4.2 软件信息库的建设,软件的支持信息广泛,内容众多。因此为保障软件信息库的成功建设,需要做好以下工作。(1)建立软件信息库的专门管理机构和行之有效的信息采集机制。(2)从技术设计的角度来看,软件信息库应该成为企业信息系统中的一部分。(3)开展经常性的信息处理与研究是信息库建设过程中最重要的工作。,7.4.2 软件信息库的建设,(4)注意到软件信息的建设是一项需要企业内部人人参与的人-机工程,尤其是企业高层主管的大力支持与组织协调。(5)软件工程或软件企业的行业协会应有专人负责国内各软件开发机构信息库建设的组织、协调与技术指导。,THE END!,