欢迎来到学术参考网

软件测试在软件开发过程中的应用技术发展

发布时间:2015-07-18 09:49

 中图分类号:TP311.53
  信息技术在迅速的发展,加快了软件应用到不同的领域,那么该产品在市场上的优劣就成了一个需要重点关注的,因此对软件进行检测也必须相应的进行。在现在的社会中,不管是开发商还是使用者,对于软件的质量上的要求都必须加强,这是现在市场上竞争激烈所形成的。因为不管是谁肯定都希望自己使用的软件的质量很好,而且可以避免因为使用劣质软件经常出现事故和减少维护费用。
  1 软件检测在市场上的重要性
  对全部信息学科的工件都需要进行测试,那样对于软件开发有很大的作用。这是因为软件进行程序设计开始就是要严格的控制其的安全性和稳定性,所以对其进行测试是必要的。据统计得知,在定性的软件开发时,对软件进行检测超过开发工作量的百分之四十,而且占在进行投资时的总成本的百分之三十到一半,况且对其进行维护投入人力和物力还要增加,这就说明该软件测试在软件开发时占的比重很大。
  2 测试的目的及原则
  软件测试的目的就是发现,就是模拟某种状态来运行程序的过程,在此过程中发现缺陷,当然这里所讲的“模拟某种状态”就是测试用例,评价一个测试用例的优劣在于它能否发现至今未发现的缺陷,以及发现至今未发现的缺陷的多少。测试的结果说明缺陷的存在,而不能证明被测软件(系统)没有缺陷,也就是说对于一个复杂的被测软件(系统)来说,无论采取什么测试手段和测试用例都不能证明这个系统没有缺陷,完美无缺,因此测试的原则就是以最少代价(时间和费用),检测出隐藏在软件内的各种隐患(缺陷)甚至错误,更不能无休止地检测。
  3 关于软件测试的团队
  (1)测试团队由测试人员和管理人员(支持人员)组成,也可以将这两部分人分为两组---测试小组和管理小组,分别由各个小组的组长负全责,测试小组一般根据测试项目的需要临时组建的,其生命周期比较短,在测评期间,测试组长是测试团队与项目组的唯一联络接口,负责测试人员的工作安排、工作检查、进度管理等一切与测试有关的技术工作管理。支持小组则是一个比较稳定的部门,一般是一个常设机构,负责向测试小组提供后勤服务保障和一些日常的管理事务;(2)软件测试人员一般要对软件开发有一定的了解,具有系统分析的能力,并要全面了解系统,这对于编写用例具有重要的作用,开软件开发的过程中,开发人员一般只负责自己的那个模块范围,根据输入条件、输出要求进行编写自己的软件,而测试人员是对整个系统进行测试,因此要求测试人员对整个被测试系统有一个很高把控,甚至会比程序开发人员要求的更高。其实在一些规范的公司测试人员从软件开发的初期都以质量保证人员的身份参与到软件的文档的审核、代码检查、科等工作中,可测试性需求、测试用例的开发等等。因此,对于一名合格的测试人员来讲,首先要看懂代码、了解软件开发整个过程,毕竟测试的目的是发现缺陷,与开发是密切相关的。软件可以通过测试来发现缺陷,并更改错误来提高软件的质量。当然我们也要明白高质量的软件是编出来的、开发出来的而不是测试出来的,测试只是提高质量的一个辅助手段。
  4 如何进行检测
  想要进行检测,就必须先了解测试时所需要进行的程序。其中包括:(1)要事先制定策划,那么就要对所需要操作的事项进行合理的分配,并且整理好所需要的测试系统;(2)将大的事项计划好后,那就要对其进行合理的设计,那么就要对测试所要的数据和过程设计完善;(3)具体操作过程,对测试用例完成自动化脚本和员工手工实施的环节;(4)就是实际操作过程;(5)对已经操作完的测试工程和得到的数据进行处理,并且作出适当的分析;(6)将最后的结果经过检验后确认其的价值是否重要,再根据其重要性进行适当的管理。
  5 检测时会出现的问题
  (1)在软件检测的领域中,因为传统的技术在不断的更新,使得人们错误的以为新的科学技术可以解决很好的解决出现的任何问题。但是实际上,如果管理的人没有很好的预期和从实际状况出发,那就很容易导致最初的期望难以实现;(2)任何新的软件测试刚刚进行开发是必然会出现很多问题,那么就需要对其进行适当的修改才能满足要求。但是很多时候想要将软件的编程代码进行更改会很容易影响到该软件的其他部分,因此这就需要很多投入;(3)在有的时候用测试软件是未发现缺陷,但是这不是代表软件很正常,也有可能是因为检测时刚好被漏过或者是进行检测的软件本身就有问题。所以要多留心检测时所用的软件和得到的结果,这样才能最大限度的减少错误;(4)技术上出现的漏子。现在很多地方都在使用软件,但是就是因为随着信息技术的发展过于迅速,给软件测试带来巨大的挑战性。因为该软件要与其它软件之间的互动性要加强,还有就是批量生产的巨大和难以操作性,使得厂商难以很好的适应并且随步而行。
  6 现代的新软件检测工序
  6.1 黑盒检测
  这也可以称为利用软件的功能或者是数据情况进行测试的方法,这就要求要知道产品的所有功能,经过检测来确定这些功能的可行性。那么软件检测就是将那些程序当成一个密封的黑盒子,进行检测的人员在接口处进行测试,但是它只是检查那些程序有没有达到原本设计的要求,还有就是输入的数据能否很好的接收和进行处理后的信息完整性。并且它只是关注与程序外部的结构,不关注内部的具体情况,重点是看软件界面和软件在使用时的具体功能。
  6.2 白盒检测
  这也可以被称之为结构检测和逻辑驱动上的检测,这就要求要先知道产品的内部构造,经过检测来具体了解产品有没有按照制定的程序运行。它的主要方式有逻辑驱动、基本路线的检测等,这就要将所有的路线都测试,用于软件检验证明其实用性。
  (1)软件如果有说明书,那就只需要对说明书上所说的去进行检测和合理的分析。并且要认真审查说明书上的内容是否正确或者是符合标准;(2)因为现在很多软件的开发速度过快,造成对其适当的进行说明软件的情况比较差,就必须采用试探性的检测,通过事先的预设条件进行设计过程,一个步骤一个步骤的将软件的功能了解清楚;(3)对一些软件可以先建立一个状态的结构图,采取最好的方式清楚的将其成立的程序状态描叙,把实际输入和输出所需要的数据情况 和条件进行细化。假设该软件过大和复杂,那么软件测试时就需要很多人的帮忙,不一定要将其状态结构图完整的描绘,选择一些大体的方向就可以了。
  7 结束语
  我们之所以要进行软件测试不只是说找出软件的缺陷,而是要通过找到的不足之处进行合理的统计再来帮助现在开发软件人员,也是为了在更快的基础上将软件尽可能的优质化。同时也可以对一些典型性的问题在很有对策的情况下很快的解决。也可以改良软件测试的程序设置,给技术变革带来可行性的基础。鉴于本人对软件开发以及检测的实际了解不多,那么对于其实际应用了解更加少,所以只能从部分情况进行探讨。
  参考文献:
  [1]张炯.软件测试用例设计方法研究[J].计算机光盘软件与应用,2012(21):211-212.
  作者简介:李金凤(1977-),女,山东广饶人,硕士研究生,讲师,主要研究方向:软件开发、数据库设计。

上一篇:基于元胞遗传算法的无线传感器网络生存的应用

下一篇:无线传感器网络数据压缩技术的研究的综述分析