软件工程中软件测试的必要性_第1页
软件工程中软件测试的必要性_第2页
软件工程中软件测试的必要性_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程中软件测试的必要性1 软件工程提升软件健壮性分析软件工程目前一直缺少一个明确的定义,但是目前业内专家都一致认 为软件工程一般分为需求分析、设计、编码及测试 4 个环节。其中前 面 3 个环节是整个软件的编写,而最后 1 个环节的软件测试,则是通 过各种专业测试方法来测试软件是否满足软件工程下的 10 种特性:可 修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应 性、可移植性、可追踪性和可互操作性。2 当前软件测试的现状从对软件工程的分析来看,软件测试是保证软件最终健壮性的最后一 个工序。但是,当前很多软件设计公司,在软件测试方面投入的人力 物力都非常低,甚至没有专门的软件测

2、试部门,而是由一些软件设计 人员兼职。虽然这样也有了所谓的软件测试这道工序,显然因为软件 设计人员本身的先入为主,所以在软件测试的过程中,往往不容易发 现潜在的问题。另外有的软件测试人员仅仅把软件推到市场上,部分 使用人员来进行测试,虽然这也是一种测试方法,但是这种由用户测 试的软件测试环节,更多的是在软件的操作体验的测试,并不能够发 现软件潜在的bug,正确的软件测试流程,应该设计专业的测试软件, 通过白盒测试的方法来针对软件代码进行测试。而上述的仅仅测试界 面和操作,那只是软件测试中的黑盒测试法,只有综合白盒和黑盒, 才可能获得更好的软件测试效果。但是,目前能够综合这 2 种测试方 法的专

3、业软件测试部门,还是非常稀缺的。这自然导致了国内整个软 件行业的软件健壮性存在缺陷的主要原因之一。3 软件测试重要性分析3.1 软件危机下凸显软件测试的重要性软件危机一直是 IT 行业的最重要的话题,其实在软件危机这个名词 出来之前,软件工程就已经初步有了核心流程,不过正是因为很多专 家有着自己的理论,所以让软件工程这门技术的解释出现了很多不同 的版本,不过在众多版本中,软件测试始终占据一个重要的模块。软 件危机常见的表现就是因为软件在开发的过程中,成本失控、时间跳 水、稳定性和兼容性欠缺等诸多问题,而不得不一而再再而三的重新 开发,特别是软件在设计的过程中,对于可维护性、可修复性不重视, 导

4、致维护的成本占据了整个软件生存周期的 90%以上,这很明显是不正 常的。通常而言,软件维护的成本应该是软件生存周期的 70%以下,超 过 70%,这个软件最终的结局一定会失败。软件测试的过程,除了针对 软件的运行是否稳定,同样也会对软件的可维护性进行有效的判断, 尽可能的避免软件危机的产生,所以从软件危机的角度上来看,软件 测试在软件工程中的地位无疑是非常重要的。3.2 软件测试的必要性(1)是交流的问题,容易导致软件接口处的错误。现代软件设计已 经不是单人作战的模式,已经上升到团队甚至全球软件工程师通过互 联网这个大平台进行合作,这种方式显然对软件工程规范要求更高。 其中交流往往就成了一个很

5、重要的问题,很多软件工程师在设计的过 程中,尽可能的将自己负责的模块做到完美,甚至也能够考虑到模块 间的借口问题。但是因为交流上的不便,或者忽视交流,往往会产生 2 个模块接口不兼容,甚至还会发生软件需要重新改写的问题。(2)软件结构有越来越复杂的趋势。虽然软件开始实施模块化设计 方式,将一个软件整体拆解成无数个小的系统模块进行设计,然后将 设计好的模块进行统一封装。这种化整为零的软件设计方式的确有效 的改善了软件复杂性的问题,但是同样也面临着模块间的兼容问题, 不同设计师的设计风格可能会导致软件可维护性降低及可移植性降低, 特别是一些软件开发公司,根本就没有软件工程的概念,其研发的软 件产品

6、,更是漏洞百出,自然很难保证软件产品的健壮性。(3)程序代码的设计问题。目前一个软件的诞生,往往会有好几千 万行的代码,而且在软件正式代码编写之前,还需要撰写概要设计代 码和详细设计代码,这些往往都给错误埋下伏笔。如果程序设计代码 撰写不规范,没有相应的注释,没有相应的模块设计,往往计算式发 现了软件的错误,最终维护起来,也很难让维护工程师定位,甚至连 测试工程师也很难找到错误的地方。(4)设计文档的组成非常少。一个软件产品的诞生,除了优秀的代 码设计之外,还要一份完善的代码文档,包括软件的可行性研究、需 求分析、详细设计、代码编写,以及软件测试等工作流程中所需要的 一切的代码文档。如果代码文

7、档贫乏,甚至没有,那么一旦在软件测 试环节,或者在软件使用环节,出现错误时,那就很难进行维护调试 了。这时候的维护成本往往会比重新编写一款软件的成本还要低,可 见设计文档的错误撰写给软件健壮性的影响。(5)一些软件测试工具和开发工具本身的问题,往往导致软件出现 严重的bug。而且在设计阶段,还很难发现,因为是本身软件测试工具 和软件开发工具引起的,因为软件测试工具和开发工具实际上也是一 种软件,如果这些软件的健壮性有问题,自然也会导致测试结果出现 偏差,最终影响到软件的健壮性。3.3 软件测试成本过半证明了软件测试的重要性软件工程虽然在很多专家和权威机构的定义有所偏差,但是无一例外, 对于软件

8、成本构成的分析上,软件测试的成本一直占据了主要部分, 最低的认为,软件测试成本要占据 30%,最高的则认为占据到 50%。如 果将后期维护成本也放在软件测试板块中,那么这个测试成本就会变 得更高。因为软件进入维护期时,一旦出现软件需要进行调试,那么 修复后的软件依然要进行软件测试,否则很难保证调试后软件依然能 够保证健壮性。作为一个软件系统的所有代码,都是牵一发而动全身, 修改了某处代码,可能会影响到另外一个模块的功能,所以在维护期 内,对软件的任何变动,都需要进行软件测试,才能够保证软件接下 来的健壮性。但很明显,如果将软件测试工作放在软件推出市场之前, 就来进行有效的测试,那么对于软件整个

9、生命周期的成本,将能够得 到有效的降低。软件测试的成本的高低,往往和软件的质量成正比, 而软件质量提升了,后期的维护成本就能够有效的降低,所以综合起 来,软件测试这部分的成本支出是非常有必要的。4 软件测试流程分析(1)建立独立的软件测试部门,测试部门领导应该对这个专业非常 精通,而不是简单的由开发人员兼职,这个测试部门需要从可行性研 究开始就应该着手对软件研发进行测试,可行性研究的最终确认应该 也有软件测试主管部门的签字确认才能够进行下一步的工作。(2)软件测试工作不是等到软件全部开发完毕才来进行测试,而是 跟随软件设计的整改生命周期,针对每一个环节进行测试,软件测试 部门应该拥有独立的物理

10、部门和独立于开放环境的测试环境,这样才 能够提供更加完善的软件测试,尽可能的将软件 bug 扼杀在摇篮里。( 3)软件模块测试,因为现在软件设计都已经进入模块化设计标准, 比如一个完整的软件是S,它有A B、C D等模块构成,那么对于 A 模块的软件设计过程中,就应该有独立的软件测试人员进行跟踪,直 到A模块被测试证明没有隐患。以此类推,分别对 B、C D等模块分 别进行测试,合格以后,组装后的软件依然进行测试,这样才能够最 终提升软件健壮性。在软件设计的过程中,其实测试人员是和软件开 发人员并行工作的,而不是等到软件设计完毕之后,再来对模块进行 测试,这种方法才能够提升软件测试的效果。5 结语软件测试随着软件系统复杂性的不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论