基于VB的软件可靠性的研究

(整期优先)网络出版时间:2022-07-06
/ 2

基于 VB的软件可靠性的研究

申洪彬 赵策 齐从利

山东五岳电器有限公司 山东泰安 271000

摘要:Visual Basic诞生于1991年,曾是最流行的语言之一,它操作简单容易上手且功能强大,其“编辑并继续”的特性支持开发人员运行程序、发现并解决问题以及继续使用最新代码。这与众所周知的、几乎所有的其他编程环境截然不同,这些环境需要开发人员重新编译,并在每次更改后重新开始。虽然VB逐渐没落,但在一些工控应用领域还具有优势。软件可靠性是指在规定的时间和条件下,软件所能维持其性能水平的程度。可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度,且反映了在故障发生时能继续运行的程度。根据测试用例选取原则的不同,软件可靠性测试可分为黑盒测试方法和白盒测试方法两大类。黑盒测试方法是指按照软件需求生成测试用例对软件进行测试的方法,黑盒测试不关心程序是如何实现的;而白盒测试方法则是指根据程序的结构生成测试用例对软件进行测试的方法。

关键词:Visual Basic;软件可靠性;黑盒测试;白盒测试;

1、引言

随着国民经济的发展,电力事业迅速增长,装机容量和电网规模日益增大,人们对电力系统中设备的运行可靠性的要求不断提高,在现代电力设备的运行和维护中,电力变压器不仅属于电力系统中最重要的和最昂贵的设备之列,而且是导致电力系统事故最多的设备之一,它的故障可能对电力系统和用户造成重大的危害和影响。因此国内外一直把电力变压器在线检测与诊断技术作为重要的科研攻关项目,现今大多数运用的技术有局部放电法,和变压器油色譜分析法等。而在线监测系统软件作为变压器健康状况的观察窗,运行可靠性显得尤为重要。

2、方案对比分析

2.1黑盒测试

黑盒测试又称为功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试。测试人员一般把被测程序当作一个黑盒子。黑盒测试主要测到的错误类型有:不正确或遗漏的功能;接口、界面错误;性能错误;数据结构或外部数据访问错误;初始化或终止条件错误等等。常用的黑盒测试方法有:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

2.2白盒测试

白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。

2.3方案分析

项目方案内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。

3、程序设计

3.1功能测试

在软件程序中,时间一般会转化为Unix时间戳进行操作,Unix时间戳表示从1970年1月1日午夜0点经过的秒数(忽略闰秒),数据类型为32位有符号整数,最大值2147483647对应2038年1月19日03:14:07,当前时间并未超出其数据范围,但是当装置系统时间出问题,跳出此时间范围,系统就会报错崩溃,针对“2038年”问题,在时间转换之前先对标准时间进行判断,是否在2038年1月19日03:14:07时间以内,只有在此时间内才执行转换程序,以确保软件不会崩溃。

测试方法可以归为黑盒测试中的边界值分析法,输入2038年1月19日03:14:07、2038年1月19日03:14:08这三个标准时间点,检验软件预期的处理结果:

2038年1月19日03:14:07 2147483647 时间有效

2038年1月19日03:14:08 2147483648 时间无效

3.2程序逻辑测试

白盒法又称结构化方法(结构测试)或逻辑覆盖法,其基本思想是把程序看作是路径的集合。这样,对程序的测试便转化为对程序中某些路径的测试,要设法让被测程序的“各处”均被执行到,使潜伏在程序每个角落的错误均有机会暴露出来。因此,白盒法实际上是一种选择通过指定路径的输入数据的分析方法。[2]

程序的运行逻辑作为软件的核心,相比单一功能更复杂,可靠性自然更加重要。一般使用程序流程图的方法理清整个逻辑架构,然后测试每一条逻辑路径。以油中气体在线监测软件为例,如流程图所示,每一个箭头都代表了一条逻辑路径。根据测试路径在程序中设置节点,运行程序来查看是否达到预期效果,常见的问题有:未到达程序节点、代码报错、逻辑错误等。

以通讯是否成功为例,通讯成功进行下一步读装置状态,不成功则判断次数,小于3次时继续进行通讯连接,当发送三次指令无回应时,状态提示窗口显示“状态无回应,请检查设备!”,并交信息记录到日志文件中,将通信异常记录到异常日志中。

3.3软件运行环境对于程序可靠性的影响

除了软件本身,软件的运行环境也是程序可靠性的影响因素,在实际测试调试中,这部分因素占了不可忽视的比例。

电脑系统:电脑系统32位与64位,正常情况下都可以使用,但是对于32位系统的兼容性更好,出问题的概率低很多,所以首选32位win7系统;

电脑病毒:电脑调试会经常插拔U盘,没有杀毒软件的电脑百分百中毒,所以电脑必须安装杀毒软件;

运行环境插件:有些常用的如access、SQLite ODBC Driver、ChartDirector等;

系统文件:软件运行需要的一些系统文件,电脑系统没有或者未注册的,可以通过自己编制的bat文件进行复制粘贴及注册,对应系统位数运行以下文件即可。

4、总结

软件可靠性测试在软件研发过程中是非常重要的一环,在软件开发的测试阶段,开发人员通过运行程序来发现程序中存在的缺陷、错误,在这一阶段主要用到白盒测试方法;在产品调试、实验阶段,测试主要用来验证软件产品是否达到预期的要求,在这一阶段主要用到了黑盒测试方法;但是无论在什么阶段,测试方法的界限并没有那么明确,往往是两种方法相辅相成。测试用例是测试方法的具体实施,如何编写可靠的测试用例直接影响到软件测试是否可靠,因此,测试用例的设计和编制是软件测试活动中最重要的。测试用例是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。设计的用例除对测试点本身的测试外,还需考虑用户实际使用的情况、与其他部分关联使用的情况、非正常情况(不合理、非法、越界以及极限输入数据)操作和环境设置等。通过测试用例的编写,极大地提高了软件可靠性测试的效率和准确率,对于软件的研发起到了积极的作用,减少了软件的返工率。

参考文献:

  1. 徐尔贵,富莹伦.    Visual Basic 基础及程序设计教程. 清华大学出版社 ,2004.

  2. 谭浩强. Visual Basic程序设计. 清华大学出版社,2000.

  3. 李香菊,孙丽,谢修娟,操凤萍主编;朱林副主编.软件工程课程设计教程:北京邮电大学出版社,2016.01:第72页

  4. 周苏,王硕苹主编.大数据时代管理信息系统:中国铁道出版社,2017.01:第209页