软件测试技术在计量测试中的应用

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

软件测试技术在计量测试中的应用

徐沛才

淮南市计量测试检定所   

摘要:现在,各种各样的应用软件,与人们的衣食住行息息相关,在日常生活的地位举足轻重,如果这些软件在功能、性能和安全上存在隐患,会严重影响人们的生活,软件开发的目的是优化人的生活,这样就与开发初的目的不符,甚至有的情况下会造成严重的经济损失。为了减少和避免这些损失,测试是处理上述困难的一种十分有效的解决措施。随着测试行业的不断发展,新的测试理论、测试方法和测试方法层出不穷,软件测试技术也一直优化和进步。

关键词:软件测试技术;计量测试;应用

1行业背景和现状

信息化技术的普及和社会的不断发展,应用软件的数量和类型越来越多,在人们的日常生活中的作用已经变得非常关键。随着软件系统的日益复杂和完善,无论经验多么丰富的开发人员,用了多么先进的研发技术,在软件上线发布时也不可能做到没有任何问题[1]。所以如何保证产品质量,减少企业运行损失,增强用户体验是每一个项目参与人员非常关注的一个重要问题。为了解决上述困难,软件测试提供了对应问题的有效完成形式[2]。根据调查结果显示出一个传统的项目(软件)开发过程中,软件测试的工作在整个项目的生命周期占了接近一半的比例。软件测试也是将软件推向市场的最后也是最重要的一关,测试人员是产品把控最后的守门员。传统的测试手段大多都是手工测试,其特点就是上手容易,没有任何技术含量,所以这种方式往往也会存在很多问题[3]。然而人的精力是有限的,这就导致当涉及到大量数据的情况下,变得手忙脚乱起来,并且随着项目进度的赶压,测试的压力逐步增大,可能还会导致人为的错误。另外测试有很多重复性的工作,在软件发生改动的情况下,这种情况会更加明显。在很多公司的项目中,有很大一部分人从项目开始到结束全程都是手动处理的,实际上,有很大一部分重复性强的工作是可以自动完成的。

2软件测试与计量测试的关系

在计量工作中,科学仪器具有非常重要的作用,通常一流的科学研究往往都依赖于一流的科学仪器。随着计算机科学技术的快速发展,人们已经逐渐接受这样的一个事实:"计算机软件就是仪器、就是设备"[4]。从仪器操作人员的角度来看,所有的操作过程直接接触的不再是传感器、电流、电压等客观物体或参数,而是变成了触摸屏、选择菜单、按钮等事先由软件设置好的程序,以前计量测试过程中所用到的传感器、电桥等都被封装在软件的背后,使操作人员无需也无法知道传感器的反馈电压是多少等等这类信息,软件自动的将这类信息转换成我们能读得懂的形式展现,软件就像外衣一样包裹着仪器。

近年来,随着我国计算机技术发展的高速应用以及领域的不断深化拓宽,软件技术应用行业规模总量的逐年不断增长扩大度及行业复杂性水平的逐年不断的增加,ISO、ANSI标准及国际IEEE规范等众多国际关于信息技术软件应用测试评价和软件工程质量控制管理的先进国际标准也相继制定问世,使中国软件技术测试发展和信息化软件质量管理水平得到社会了更加广泛深度的关注[5]。人们才逐渐的意识到进行软件错误测试的不应该单单只是为发现软件错误,还更应考虑包括对现有软件质量进行的科学评价,是今后保证改进软件质量工作的最重要技术手段。2004年,IEC和国际ISO组织的标准第一联合技术委员会在国际软件工程的标准术语中将"软件测试"重新定义为:是一项为科学标识软件问题类型及主要缺陷,评价软件并为改进其软件质量问题而专门进行评估的活动。即软件性能测试目的并远不仅仅止是为单纯的找出某个软件系统出现的质量错误,还要同时包括了对其缺陷特性的客观评价方法以及应当如何实施改进,因此软件测试也是另一个可以贯穿于一个软件研究开发的过程为始终的、科学严密的软质量控制过程。

传统计量测试是对某个系统进行测定,判断其性能是否满足需求,或者确定实际结果与预期结果之间的差别,与软件测试技术的主要区别在于测量的对象不同。因此,软件测试是传统计量测试的拓展与延伸,是现代计量技术的重要分支。计算机技术与传统计量测试技术的交叉融合构成了现代软件测试技术的基础。

3软件测试的原则

3.1软件测试应贯穿软件开发的全过程

由于软件开发各个阶段工作的复杂性与多样性,及各阶段工作人员间工作的配合关系,使得开发的每个阶段都可能有错误产生。因此软件测试不是软件开发过程中的某个独立的阶段,而是贯穿于软件开发各个阶段的一个过程,应坚持在各个阶段进行详细的测试及技术评审,尽早发现并预防错误。软件测试的W模型能够具体地表现出软件测试与软件开发的同步性。

3.2合理选择测试用例

完整的测试用例包括测试的输入数据和这些输入数据所对应的预期输出结果。在设计测试用例时,还应考虑其合理及不合理的输入条件。在软件设计的合理范围内能够验证软件的输入条件是合理输入条件;在软件设计的合理范围之外的、临界的、异常的输入条件是不合理输入条件。用不合理的输入条件对软件进行测试能够检测软件的完整性及容错能力,常常会比合理输入条件发现更多、更全面的错误。

4软件测试的实施

4.1静态测试

静态测试主要是对被测软件进行特性分析,要是手动测试,采用不在计算机上运行被测试的软件的其他手段达到测试目的。静态测试能够有效地发现软件中30%~70%的编码错误和逻辑错误。

4.1动态测试

动态可靠性测试软件需要通过在用户计算机工作站上连续运行的被测试软件,通过随机输入一个相应参数的测试软件用例,判定程序执行试验结果值的可靠合理性,对其被所测的软件本身的软件可靠性、有效性程度及测试正确性度进行判断。动态测试方法包括"白盒"测试方法和"黑盒"测试方法2种试验方法。

自动化测试在近几年来展现出了它强大的实用性和规范性。由于自动化测试的高效性,能够在很大的程度上降低测试人员的工作压力;自动化测试可以通过模拟大量用户来进行一些操作,对性能测试和压力测试做出解决问题的新出路。相信在不久的将来,随着测试技术的不断发展,不断完善,还会涌现出新的技术,新技术能更好的服务于人,服务于产品,提高每个软件的生命力。在未来自动化测试也会过时,但是我们人都是要不断的学习的,以前的测试思想,解决问题的思路和方式,永远会伴随我们,一路前行。

参考文献

[1]浅析黑盒测试与白盒测试[J].赵宸.硅谷. 2010(11).

[2]概念地图和事例教学法在黑盒测试技术教学中的应用[J].刘晓敏,马慧彬,张艳丽.山西建筑. 2017(05).

[3]粒子群算法在黑盒测试中的应用[J].齐名军,程明辉.华商. 2008(15).

[4]遗传算法在黑盒测试中的应用[J].陈浩,刘海涛.电子技术应用. 2000(09).

[5]粒子群算法在黑盒测试中的应用[J].刘胜利,刘鹏飞.现代经济信息. 2009(21).