




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、提纲白盒测试技术调试软件可靠性6.8.1 调试过程调试是在测试发现错误之后排除错误的过程。测试用例结果调试附加测试纠正且回归测试已识别原因被怀疑原因6.8 调试调试困难的原因(特征):(1) 症状和产生症状的原因可能在程序中相距甚远,也就是说,症状可能出现在程序的一个部分,而实际的原因可能在与之相距很远的另一部分。紧耦合的程序结构更加剧了这种情况。(2) 当改正了另一个错误之后,症状可能暂时消失了。(3) 症状可能实际上并不是由错误引起的(例如,舍入误差)。6.8.1 调试过程(4) 症状可能是由不易跟踪的人为错误引起的。(5) 症状可能是由定时问题而不是由处理问题引起的。(6) 可能很难重新
2、产生完全一样的输入条件(例如,输入顺序不确定的实时应用系统)。(7) 症状可能时有时无,这种情况在硬件和软件紧密地耦合在一起的嵌入式系统中特别常见。(8) 症状可能是由分布在许多任务中的原因引起的,这些任务运行在不同的处理机上。6.8.1 调试过程1. 蛮干法:打印内存的内容,从中寻找错误的线索,是效率最低的程序调试方法。2. 回溯法:从发现问题的程序段开始人工地往回追踪分析程序代码,直到找到错误。3. 原因排除法:包括:对分查找法、归纳法、演绎法6.8.2 调试途径对分查找法的基本思路:如果已经知道每个变量在程序内若干个关键点的正确值,则可以用赋值语句或输入语句在程序中点附近“注入”这些变量
3、的正确值,然后运行程序并检查所得到的输出。如果输出结果是正确的,则错误原因在程序的前半部分;反之,错误原因在程序的后半部分。对错误原因所在的那部分再重复使用这个方法,直到把出错范围缩小到容易诊断的程度为止。6.8.2 调试途径归纳法的基本思路:首先把和错误有关的数据组织起来进行分析,以便发现可能的错误原因。然后导出对错误原因的一个或多个假设,并利用已有的数据来证明或排除这些假设。当然,如果已有的数据尚不足以证明或排除这些假设,则需设计并执行一些新的测试用例,以获得更多的数据。6.8.2 调试途径演绎法的基本思路:从一般原理或前提出发,经过排除和精化的过程推导出结论。采用这种方法调试程序时,首先
4、设想出所有可能的出错原因,然后试图用测试来排除每一个假设的原因。如果测试表明某个假设的原因可能是真的原因,则对数据进行细化以准确定位错误。6.8.2 调试途径动手改正错误之前要进行的思考:是否同样的错误也在程序其他地方存在?在许多情况下,一个程序错误是由错误的逻辑思维模式造成的。将要进行的修改可能会引入的“下一个错误”是什么?在改正错误之前应该仔细研究源程序(最好也研究设计文档),以评估逻辑和数据结构的耦合程度。如果所要做的修改位于程序的高耦合段中,则修改时必须特别小心谨慎。为防止今后出现类似的错误,应该做什么?如果不仅修改了软件产品还改进了开发软件产品的软件过程,则不仅排除了现有程序中的错误
5、,还避免了今后在程序中可能出现的错误。6.8.2 调试途径提纲白盒测试技术软件可靠性软件可靠性:是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。6.9.1 软件可靠性的基本概念随机变量随着运行时间的增加,运行时出现程序故障的概率也将增加,即可靠性随着给定的时间间隔的加大而减少“错误”:由开发人员造成的软件差错(bug)“故障”:由错误引起的软件的不正确行为软件可用性:程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。可靠性和可用性的区别:可靠性是在0到t时间间隔内,系统没有失效的概率可用性是在t时刻,系统是正常运行的概率。 6.9.2 软件可用性的基本概念如果在一段时
6、间内,软件系统故障停机时间分别为:td1 , td2 , ,正常运行时间分别为:tu1 , tu2 , ,则系统的稳态可用性定义为: 其中Tup= tui , Tdown= tdi 6.9.2 软件可用性的基本概念如果引入系统平均无故障时间MTTF和平均维修时间MTTR的概念,则上面公式的系统稳态可用性变成:平均维修时间MTTR是修复一个故障平均需要用的时间,取决于维护人员的技术水平和对系统熟悉程度。平均无故障时间MTTF是系统按照规格说明书规定成功地运行的平均时间,取决于系统中潜伏的错误数量。 6.9.2 软件可用性的基本概念1. 符号 估算MTTF时使用到下列符号 ET测试之前程序中故障总
7、数; IT程序长度(机器指令总数); 测试(包括调试)时间; Ed() 在0至期间发现的错误数; Ec() 在0至期间改正的错误数; 6.9.3 估算平均无故障时间MTTF的方法2. 基本假定根据经验数据,可作出下列假定:1)单位长度里的故障数ET/ IT近似为常数。一些统计数字表明,通常有:0.510-2ET/ IT210-2。2)失效率正比于软件中剩余的(潜藏的)故障数,而平均无故障时间MTTF与剩余的故障数成反比。3)调试过程没有引入新的故障,即Ec()= Ed()。由于系统剩余的故障数为: Er() = ET- Ec()所以单位长度程序中剩余的故障数为: r () = ET / IT
8、- Ec()/ IT6.9.3 估算平均无故障时间MTTF的方法3. 估算平均无故障时间MTTF因为平均无故障时间与单位长度程序中剩余的故障数r ()成反比,所以: 其中:K为常数,它的值根据经验选取,经典值是200。6.9.3 估算平均无故障时间MTTF的方法由上式变换后得到程序中改正的错误数: 根据对软件平均无故障时间的要求,可以估计需要改正多少个错误后,测试工作就可以结束。 14. 估计故障总数ET的方法1)植入故障法 假设人为地植入的故障数为Ns,经过一段时间的测试之后发现ns个植入的故障,同时还发现了n个原有的故障,则可以估计出程序中原有的故障总数:其中: 是故障总数ET的估计值;
9、6.9.3 估算平均无故障时间MTTF的方法2)分别测试法分别测试法随机把程序中一部分原有错误加上标记,根据测试发现的有标记和无标记错误的比例,估计程序错误总数。分别测试法使用两个测试员,独立地测试同一个程序的两个副本,由另一名分析员分析他们的测试结果,把其中一个测试员发现的故障作为有标记的故障。用表示测试时间,假设 = 0时故障总数为B0(即ET); =1时测试员甲发现的故障数为B1; =1时测试员乙发现的故障数为B2; =1时两个测试员发现的相同故障数为bc。 4. 估计故障总数ET的方法6.9.3 估算平均无故障时间MTTF的方法 如果认为测试员甲发现的故障是有标记的,即程序中有标记的故
10、障总数为B1,那么测试员乙发现的B2个故障中有bc个是有标记的。所以可以估计出测试前程序中的故障总数为:其中, 是故障总数ET的估计值。 每隔一定时间,分析员分析两名测试员的测试结果,来估计错误总数。几次估计结果差不多时,用其平均值作为错误总数的估计值。4. 估计故障总数ET的方法6.9.3 估算平均无故障时间MTTF的方法练习在测试一个长度为48000条指令的程序时,第一个月由甲、乙两名测试员各自独立测试这个程序。经一个月测试后,甲发现并改正了20个错误,使得MTTF达到8h。与此同时,乙发现了24个错误,其中6个错误甲也发现了。以后由甲一个人继续测试这个程序。问:(1)刚开始测试时,程序共
11、有多少个潜藏的错误?(2)为使得MTTF达到20h,必须再改正多少个错误?练习(1)本题中采用了分别测试法, 如果认为测试员甲发现的故障是有标记的,即程序中有标记的故障总数为B1,那么测试员乙发现的B2个故障中有bc个是有标记的。所以可以估计出测试前程序中的故障总数为: 因此可以估算出刚开始测试时,程序中错误总数为: ET=24/6*20=803. 估算平均无故障时间MTTF因为平均无故障时间与单位长度程序中剩余的故障数r ()成反比,所以: 其中:K为常数,它的值根据经验选取,经典值是200。6.9.3 估算平均无故障时间MTTF的方法由上式变换后得到程序中改正的错误数: 根据对软件平均无故障时间的要求,可以估计需要改正多少个错误后,测试工作就可以结束
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年淮南师范学院单招职业技能测试题库新版
- 2025年黑龙江交通职业技术学院单招职业适应性测试题库完美版
- 第七单元《习作:-即景》教学设计-2024-2025学年五年级上册语文统编版
- 2025年贵阳职业技术学院单招职业适应性测试题库完整
- 2025年河北化工医药职业技术学院单招职业适应性测试题库完整版
- 2025年度电梯门套智能化门禁系统安装合同
- 2025年度互联网行业劳务派遣与技术研发合同
- 2025年度房地产投资信托基金房屋回购安排协议
- 2025年度房屋出售代理市场拓展协议
- 2025年度公司停车场车辆停放管理及赔偿协议
- 【班级管理表格】学生检讨反思承诺书
- 抗生素种类归纳分类
- 社会保险职工增减表
- 客户满意率统计表
- 低压电工考试题库(含答案)
- 边坡抗滑桩计算
- 工程建筑部门周例会-课件
- 2022人脸识别安全白皮书
- 体育测量与评价04心肺功能的测量与评价
- 提高意识风险防范化解能力体会发言
- 无人机应用案例-石油领域油气管线巡查
评论
0/150
提交评论