跟着当当学测试建模
软件测试是为发现软件产品中存在的缺陷,从而保证项目质量。而项目的质量、成本、进度三者相互制约,在实际项目中通过测试活动无法保证项目的零缺陷。测试不足隐藏风险,过度测试资源浪费,所以测试的总目标是充分利用有限的人力、物力,高效率、高质量地完成测试。在软件测试中如何把握这个尺度显得尤为重要,需要一个度量工具进行判定,这也是CMMI4中的要求。然而在日常工作中,大部分都是对缺陷、品质指标的度量,或者根据各种趋势进行分析,而这些度量都是基于数据的定性判断,没有真正进行定量评估。本文为解决软件测试过程中的定量评估和预测而引入Gompertz模型,基于软件测试数据,对测试过程进行分析评估,并最终给出测试结束的合理判断和预测。Gompertz模型是时间序列分析法中的一种常用的数学模型,也称为生长曲线预测模型,这种模型通常用来描述生物的生长过程,生长模型是基于对事务发展过程的认识而发展起来的一类曲线模型,它通过一条近似‘S’的曲线,可以很好地拟合事物的发生、发展和成熟的全过程。目前该模型已经在农业、医疗、科研、地质勘探、市场预测等领域得到了应用。
我们在日常的软件测试过程中会发现,在测试的初始阶段,测试人员对测试环境不很熟悉,并且通常进行基本功能测试,因此日均发现的软件缺陷数比较少,发现软件缺陷数的增长较为缓慢;随着测试人员逐渐进入状态并熟练掌握测试环境后,日均发现软件缺陷数增多,发现软件缺陷数的增长速度迅速加快;但随着测试的进行,软件缺陷的隐藏加深,测试难度加大,需要执行较多的测试用例才能发现一个缺陷,尽管缺陷数还在增加,但增长速度会减缓,同时软件中隐藏的缺陷有限的,因而限制了发现缺陷数的无限增长。这种发现软件缺陷的变化趋势及增长速度是一种典型的‘S’曲线,满足Gompertz 增长模型的应用条件。
Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中。Matlab具有友好的工作平台和编程环境,编程语言类似于C,可直接通过脚本进行自定义数据分析;具有出色的图形处理功能和可视化功能;在输入输出方面可直接向Excel和HDF5进行连接。综上所述并结合实际情况,Gompertz模型利用Matlab工具进行实现较好。
感谢分享
页:
[1]