软件工程中软件测试的必要性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程中软件测试得必要性
1软件工程提升软件健壮性分析
软件工程目前一直缺少一个明确得定义,但就是目前业内专家都一致认为软件工程一般分为需求分析、设计、编码及测试4个环节。其中前面3个环节就是整个软件得编写,而最后1个环节得软件测试,则就是通过各种专业测试方法来测试软件就是否满足软件工程下得10种特性:可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性与可互操作性。
2当前软件测试得现状
从对软件工程得分析来瞧,软件测试就是保证软件最终健壮性得最后一个工序。但就是,当前很多软件设计公司,在软件测试方面投入得人力物力都非常低,甚至没有专门得软件测试部门,而就是由一些软件设计人员兼职。虽然这样也有了所谓得软件测试这道工序,显然因为软件设计人员本身得先入为主,所以在软件测试得过程中,往往不容易发现潜在得问题。另外有得软件测试人员仅仅把软件推到市场上,部分使用人员来进行测试,虽然这也就是一种测试方法,但就是这种由用户测试得软件测试环节,更多得就是在软件得操作体验得测试,并不能够发现软件潜在得bug,正确得软件测试流程,应该设计专业得测试软件,通过白盒测试得方法来针对软件代码进行测试。而上述得仅仅测试界面与操作,那只就是软件测试中得黑盒测试法,只有综合白盒与黑盒,才可能获得更好得软件测试效果。但就是,目前能够综合这2种测试方法得专业软件测试部门,还就是非常稀缺得。这自然导致了国内整个软件行业得软件健壮性存在缺陷得主要原因之一。
3软件测试重要性分析
3、1软件危机下凸显软件测试得重要性
软件危机一直就是IT行业得最重要得话题,其实在软件危机这个名词出来之前,软件工程就已经初步有了核心流程,不过正就是因为很多专家有着自己得理论,所以让软件工程这门技术得解释出现了很多不同得版本,不过在众多版本中,软件测试始终占据一个重要得模块。软件危机常见得表现就就是因为软件在开发得过程中,成本失控、时间跳水、稳定性与兼容性欠缺等诸多问题,而不得不一而再再而三得重新开发,特别就是软件在设计得过程中,对于可维护性、可修复性不重视,导致维护得成本占据了整个软件生存周期得90%以上,这很明显就是不正常得。通常而言,软件维护得成本应该就是软件生存周期得70%以下,超过70%,这个软件最终得结局一定会失败。软件测试得过程,除了针对软件得运行就是否稳定,同样也会对软件得可维护性进行有效得判断,尽可能得避免软件危机得产生,所以从软件危机得角度上来瞧,软件测试在软件工程中得地位无疑就是非常重要得。
3、2软件测试得必要性
(1)就是交流得问题,容易导致软件接口处得错误。现代软件设计已经不就是单人作战得模式,已经上升到团队甚至全球软件工程师通过互联网这个大平台进行合作,这种方式显然对软件工程规范要求更高。其中交流往往就成了一个很重要得问题,很多软件工程师在设计得过程中,尽可能得将自己负责得模块做到完美,甚至也能够考虑到模块间得借口问题。但就是因为交流上得不便,或者忽视交流,往往会产生2个模块接口不兼容,甚至还会发生软件需要重新改写得问题。
(2)软件结构有越来越复杂得趋势。虽然软件开始实施模块化设计方式,将一个软件整体拆解成无数个小得系统模块进行设计,然后将设计好得模块进行统一封装。这种化整为零得软件设计方式得确有效得改善了软件复杂性得问题,但就是同样也面临着模块间得兼容问题,不同设计师得设计风格可能会导致软件可维护性降低及可移植性降低,特别就是一些软件开发公司,根本就没有软件工程得概念,其
研发得软件产品,更就是漏洞百出,自然很难保证软件产品得健壮性。
(3)程序代码得设计问题。目前一个软件得诞生,往往会有好几千万行得代码,而且在软件正式代码编写之前,还需要撰写概要设计代码与详细设计代码,这些往往都给错误埋下伏笔。如果程序设计代码撰写不规范,没有相应得注释,没有相应得模块设计,往往计算式发现了软件得错误,最终维护起来,也很难让维护工程师定位,甚至连测试工程师也很难找到错误得地方。
(4)设计文档得组成非常少。一个软件产品得诞生,除了优秀得代码设计之外,还要一份完善得代码文档,包括软件得可行性研究、需求分析、详细设计、代码编写,以及软件测试等工作流程中所需要得一切得代码文档。如果代码文档贫乏,甚至没有,那么一旦在软件测试环节,或者在软件使用环节,出现错误时,那就很难进行维护调试了。这时候得维护成本往往会比重新编写一款软件得成本还要低,可见设计文档得错误撰写给软件健壮性得影响。
(5)一些软件测试工具与开发工具本身得问题,往往导致软件出现严重得bug。而且在设计阶段,还很难发现,因为就是本身软件测试工具与软件开发工具引起得,因为软件测试工具与开发工具实际上也就是一种软件,如果这些软件得健壮性有问题,自然也会导致测试结果出现偏差,最终影响到软件得健壮性。
3、3软件测试成本过半证明了软件测试得重要性
软件工程虽然在很多专家与权威机构得定义有所偏差,但就是无一例外,对于软件成本构成得分析上,软件测试得成本一直占据了主要部分,最低得认为,软件测试成本要占据30%,最高得则认为占据到50%。如果将后期维护成本也放在软件测试板块中,那么这个测试成本就会变得更高。因为软件进入维护期时,一旦出现软件需要进行调试,那么修复后得软件依然要进行软件测试,否则很难保证调试后软件依然能够保证健壮性。作为一个软件系统得所有代码,都就是牵一
发而动全身,修改了某处代码,可能会影响到另外一个模块得功能,所以在维护期内,对软件得任何变动,都需要进行软件测试,才能够保证软件接下来得健壮性。但很明显,如果将软件测试工作放在软件推出市场之前,就来进行有效得测试,那么对于软件整个生命周期得成本,将能够得到有效得降低。软件测试得成本得高低,往往与软件得质量成正比,而软件质量提升了,后期得维护成本就能够有效得降低,所以综合起来,软件测试这部分得成本支出就是非常有必要得。
4软件测试流程分析
(1)建立独立得软件测试部门,测试部门领导应该对这个专业非常精通,而不就是简单得由开发人员兼职,这个测试部门需要从可行性研究开始就应该着手对软件研发进行测试,可行性研究得最终确认应该也有软件测试主管部门得签字确认才能够进行下一步得工作。
(2)软件测试工作不就是等到软件全部开发完毕才来进行测试,而就是跟随软件设计得整改生命周期,针对每一个环节进行测试,软件测试部门应该拥有独立得物理部门与独立于开放环境得测试环境,这样才能够提供更加完善得软件测试,尽可能得将软件bug扼杀在摇篮里。
(3)软件模块测试,因为现在软件设计都已经进入模块化设计标准,比如一个完整得软件就是S,它有A、B、C、D等模块构成,那么对于A模块得软件设计过程中,就应该有独立得软件测试人员进行跟踪,直到A模块被测试证明没有隐患。以此类推,分别对B、C、D等模块分别进行测试,合格以后,组装后得软件依然进行测试,这样才能够最终提升软件健壮性。在软件设计得过程中,其实测试人员就是与软件开发人员并行工作得,而不就是等到软件设计完毕之后,再来对模块进行测试,这种方法才能够提升软件测试得效果。
5结语
软件测试随着软件系统复杂性得不断提升而变得越来越重要,如果现在得软件设计公司依然按照传统得软件研发,只注重软件得功能设