通常的软件测试从测试方法上分可以分为白盒测试和黑盒测试。白盒测试是根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按照预定的要求正确工作,白盒测试也称为代码级测试。而黑盒测试是根据规格说明书规定的功能来设计测试用例,检查程序的功能是否符合规格说明书的要求,黑盒测试也称为功能级测试。从测试的顺序和规模上分,又可分为单元测试、集成测试、确认测试和系统测试。
单元测试(模块测试〉是测试软件模块级的功能和算法。单元测试应该在编码和详细设计阶段应用白盒测试的方法进行测试。集成测试(组装测试〉是测试软件模块间的接口和通讯。集成测试应该在设计阶段应用黑盒测试的方法进行测试。确认测试是以规格说明书为依据,对软件的功能、性能等进行的黑盒测试。而系统测试则是对软件与硬件和其他相关因素的功能测试。
测试工具是软件测试中必不可少的,对各个阶段的测试必须选用相应的测试工具来完成,它能既快又好地完成测试任务。常用的软件测试工具有测试数据生成程序、动态分析程序、静态分析程序和文件比较程序。测试数据生成程序可以为被测试系统自动生成大量输入数据,但是它不能自动产生预期的输出,因此用途有限;要功能是分析被测程序中每个语句的执行次数,动态分析程序在软件测试中很有用,利用它可以发现测试过程中没有执行的语句,以便增加测试数据;静态分析程序不需要执行行被测试的程序,它仅仅扫描被测程序的正文,从中寻找可能导致错误的异常情况。例如,使用了一个尚未赋值的变量,实参和形参类型或个数不匹配,永远执行不到的程序段等等。文件比较程序是用来检查输出结果的程序,它会建立一个存放预期的正确结果的文件和一个存放程序执行后的输出结果的文件,然后对上述两个文件进行比较,找出两者之间的差异。在这些自动测试工具中,NuMega公司的NuMega测试软件最具权威性,它由三部分组成:NuMega BoundsChecker ,NuMega TrueCoverage和NuMega TrueTime。其中NuMega BoundsChecker 是一个静态分析程序,NuMega TrueCoverage和NuMega TrueTime是两个动态分析程序。
在“VXI总线测试软件平台”软件编制工作完成,并在单元测试和集成测试已经通过的基础上进行了确认测试和系统测试。为了对“四总线测试软件啪”进行较为完备的测试,结合上面提到的VXI平台的三大功能、我们拟订了以下测试方案:
●文件管理功能的测试
进行过分的制用制将对打开文件、新建文件问文件打即文件合并文件功能进行测试。
●程序运行及调试功能的测试
这部分的测试用例将对运行程原进入子面数刷子面数单步放行设重断点功能进行测试。
●编程控件的测试
这部分的测试用例将对基本控件,包括流程设计控件、函数词用控件、输入输出控件、数据控件以及显示控件进行功能测试。
●对VXI平台重要的常用功能的测试
这部分的测试用例将对仪器管理与控制、子程序与子函数的词用、测试数据的分析与显示、测试结果的存储与取回、操作员界面的建立以及生成测试报告六个常用功能进行测试。
●在进行上述的测试的同时,用NuMega公司的NuMega测试工具对源程序进行静态分析和动态分析。
2.软件维护
维护是软件生命周期的最后一个阶段,也是持续时间最长代价最大的一个阶段。静件工程学的主要目的就是提高软件的可维护性,降低维护的花费。
软件维护通常包括四类:为了纠正在使用过程中暴露出来的错误而进行的改进性维护:为了适应外部环境的变化而进行的适应性维护:为了改进原有的软件而进行的完善性维护:以及为了改进将来的可维护性和可靠性而进行的预防性维护。
软件的可理解性、可测试性和可修改性是决定软件可维护性的基本因素。软件生命周期每个阶段的工作都和软件可维护性有密切的关系。良好的设计、完善的文档资料以及一系列严格的复审和测试,使得一旦发现错误是比较容易诊断和纠正。因此,在软件周期的每个阶段都必须充分考虑可维护性问题,并且为软件维护作好准备。
文档是影响软件可维护性的决定因素,因此,文档甚至比可执行代码更为重要。文档可分为拥护文档和系统文档两大类。不管是那一类文档都必须和源代码同时维护,只有与程序完全一致的文档才是真正有价值的文档。
为了增强我们“VXI总线测试软件平台”的可维护性,我们编制了较为完善的用户文档和系统文档,这使得VXI软平台在今后易于维护。
3.软件可靠性
软件测试的根本目的是消除故障,提高软件的可靠性。软件可靠性涉及到两个概念,即软件的可靠性和软件的可用性。软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功运行的概率。软件可用性是程序在给定的时间点,按照规格说明书的规定成功运行的概率。
如果在一段时间内,软件系统故障停机时间分别为tdl,td2…,正常运行时间分别为tdl,td2…,则系统的稳态可靠性为:

其中:

如果引入系统平均无故障时间MTBF和乎均维修时间MTBR的概念,则Ass可以变为:

平均维修时间MTBR是修复一个故障平均需要的时间,它取决于维护人员的技术水平和对系统的熟练程度,也和系统的可维护性有重要的关系。平均无故障时间MTBF是系统按规格说明书规定成功地运行的平均时间,它主要取决于系统中潜伏的故障的数目。
软件的平均无故障时间MTBF是一个重要的质量指标,往往作为对软件的一项要求。MTBF可以用以下的公式进行估计:

其中:ET——测试之前程序中故障总数;
IT——程序长度(机器指令总数);
τ——测试(包括调式)时间;
Ed(τ)——在0到τ期间发现的错误数;
Ec(τ)——在0到τ期间改正的错误数。
K——常数,它的值应该根据经验选取。K的典型值是200。
在 上述公式中的ET(故障总数)是一个十分重要的量,它既是直接标志软件的可靠性程度,又是计算软件平均无故障时间的重要参数。ET与程序规模、类型、开发环境、开发方法、开发人员的技术水平和管理水平等等都有密切的关系。估计Er有两种方法,即置入故障法和分别测试法。
在估计我们“VXI总线测试软件平台”故障总数的时候,我们采用的是较易于实现的置入故障法。这种方法是在测试之前,向程序中随机地置入一些故障,测试之后,我们根据故障中原有的和置入的两种故障的比例,来估计“VXI总线测试软件平台”中的故障总数Er。其计算方法是:

其中N既是故障总数Er的估计值;
Ns是置入的故障数;
ns是测试出的故障中置入故障的数目;
n是测试出的故障中非置入故障的数目。
4、结论
软件的可靠性和可用性是衡量软件系统优劣程度的重要指标,而软件测试则是提高软件可靠性和可用性的关键。我们通过“VXI总线测试软件平台”的开发,对软件的可靠性和可用性做了初步的工作,但只是处于探索阶段,有大量工作需要进一步研究。
““VXI总线测试软件平台”的软件测试与可靠性提供各类毕业论文!”版权归作者所有,转载请著名出处。