本书将软件故障检测和故障修正过程的资源进行区分,即将软件测试工作量分为两部分:故障检测过程所需要的资源称为故障检测工作量,故障修正过程所需要的资源称为故障修正工作量,并分别为它们建立模型。
大多数软件可靠性增长模型都假设检测到的故障被立即修正。这个假设与实际的软件测试情况并不相符。实际上,从故障检测到故障被修正完成之间会有一定的延迟,而且此延迟受到多种因素的影响。本书使用无限服务台排队(infinite server queuing,ISQ)模型来解释这个软件故障修正延迟,即已检测到的故障和故障修正人员分别对应于排队模型的到达顾客和服务人员。此外,书中重点讨论影响故障修正延迟的因素故障检测工作量和故障修正工作量,并将它们应用到ISQ模型中,提出一个考虑故障检测工作量和故障修正工作量的基于ISQ的软件可靠性增长模型,即ISQFDEFCE模型,并对ISQFDEFCE模型做了进一步修正,即在故障修正时引入新故障。本书将软件故障检测和故障修正过程的资源进行区分,即将软件测试工作量分为两部分:故障检测过程所需要的资源称为故障检测工作量,故障修正过程所需要的资源称为故障修正工作量,并分别为它们建立模型。
大多数软件可靠性增长模型都假设检测到的故障被立即修正。这个假设与实际的软件测试情况并不相符。实际上,从故障检测到故障被修正完成之间会有一定的延迟,而且此延迟受到多种因素的影响。本书使用无限服务台排队(infinite server queuing,ISQ)模型来解释这个软件故障修正延迟,即已检测到的故障和故障修正人员分别对应于排队模型的到达顾客和服务人员。此外,书中重点讨论影响故障修正延迟的因素故障检测工作量和故障修正工作量,并将它们应用到ISQ模型中,提出一个考虑故障检测工作量和故障修正工作量的基于ISQ的软件可靠性增长模型,即ISQFDEFCE模型,并对ISQFDEFCE模型做了进一步修正,即在故障修正时引入新故障。
绝大部分软件可靠性增长模型都假设故障修正率服从同一分布。但是在实际故障修正过程中,故障修正率受多种因素的影响,一旦这些因素发生变化,软件的故障修正率也会随之发生变化,即故障修正率既非不变的又非平稳的,而是可能在某些点发生变化,这就是软件可靠性建模中的移动点(change point,CP)问题。本书提出在考虑故障检测工作量和故障修正工作量的基于ISQ的软件可靠性增长模型基础上,将移动点应用到软件故障修正延迟建模过程中。建立基于移动点的ISQFDEFCE的软件可靠性增长模型,即ISQFDEFCECP模型,并对ISQFDEFCECP模型做了进一步修正,即在故障修正时引入新故障。
基于ISQ的软件可靠性增长模型假设故障修正资源是足够的,故障被检测到后立即分配给故障修正人员进行排除,无须排队等待。这个假设与软件故障修正的实际情况并不相符。针对这个假设存在的问题,提出考虑故障修正资源是有限情况下的模型,建立考虑排错等待延迟的基于有限服务台排队(finite server queuing,FSQ)的软件可靠性增长模型,即FSQRWD模型,并对FSQRWD模型做了进一步修正,即在故障修正时引入新故障。
随着测试的进行,软件中的故障被逐步排除,软件的失效率会逐步降低,软件故障进入等待被修正状态的速度也会降低,甚至可能会造成故障修正服务台的闲置。因此,在研究软件故障修正过程建模过程中,需要分析故障修正服务台数量的动态变化对排错等待延迟、故障修正延迟的影响。针对故障修正服务台数量的调整,利用移动点技术,建立基于移动点的FSQRWD的软件可靠性增长模型,即FSQRWDCP模型,并对FSQRWDCP模型做了进一步修正,即在故障修正时引入新故障。