谈软件工程中软件测试的重要性及方法

发表时间:2021/2/19   来源:《基层建设》2020年第27期   作者:陈阳
[导读] 摘要:现如今,我国互联网行业发展迅速,软件开发的质量直接与人民的生活水平以及工作效率息息相关。
        浙江省方大标准信息有限公司  310000
        摘要:现如今,我国互联网行业发展迅速,软件开发的质量直接与人民的生活水平以及工作效率息息相关。对于处于激烈竞争中的软件开发企业来讲,必须要提升软件开发质量才能够让企业在激烈的竞争中生存下来然后脱颖而出。对于每一个人来讲,都希望使用质量优良的软件满足自己的需求,质量出现问题的软件不仅会给用户带来困扰,同时也会给软件开发公司后期维护造成困扰,同时也有可能产生各种民事与法律问题,比如在一些关键的应用领域,涉及到用户的个人信息,支付信息等关键信息的软件如果产生质量问题,就会产生不可挽回的后果。
        关键词:软件工程;软件测试;方法
        引言
        随着软件设计规模的扩大,那种没有工程设计理念的软件是很难成功推出的,特别是缺少软件测试这一环节的软件,很容易在实际使用过程中产生各种各样的BUG,最终导致软件的失败。文章重点探讨软件测试在软件工程中重要性,并同时探讨了软件测试的常用方法。
        1软件测试的定义
        软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。而软件测试的目的就是尽可能找出软件中问题缺陷,促使开发人员解决缺陷,从而提高软件的正确性、可靠性,进而保证软件质量。
        2软件工程中软件测试的重要性
        自从软件危机进入到了公众的视野之后,就成了全社会最热门的话题之一。为了解决这一危机,全世界的软件专业人员,专家学者都倾注了大量的精力。随着技术的进步,一个又一个问题得到解决,人们发现软件危机是一个动态变化的问题,也就是说,软件开发时出现了问题,正视这些问题导致了软件开发成本飙涨,开发时间增加以及开发质量无法得到很好的控制。软件是人开发的,只要是人,那么工作就极难做到尽善尽美,就会有极大的可能出现各种各样的问题。问题的关键不是去关注软件开发人员出错这一不可避免的现象,而是通过各种方法减少开发人员出现错误以及出现错误时如何将错误尽快消除,尽最大可能减少软件开发过程中的错误。综合软件行业以及互联网产业近些年来的发展可以分析出,软件开发过程中出现问题的原因主要有以下几个方面。第一,软件开发人员与用户沟通交流不够,或是与客户的沟通交流过程出现了偏差,导致没有正确理解用户需求,在需求不明确的情况下进行的软件开发当然是漏洞百出。第二,软件规模在不断增大,软件复杂性在不断提升,同时涉及到的软件开发人员的数量和层次也在不断提升,这使得一些新手很难上手,同时复杂性提升的软件开发难度会更大,出错的概率就会更高。第三,开发人员专业性不足,在开发过程中出现各种代码问题以及程序设计问题,同时因为软件行业发展迅速,新工具新方法新理念层出不穷,这些新事物是否稳定可靠也成了影响如那件开发质量的重要因素。当软件工程学这门学科正式进入大众视野之后,软件开发被人们提升到工程的角度进行认识,使用工程化的方式方法进行软件开发。但是,任何的工具都无法百分之百的避免出现错误,采用新的编程语言,采用新的开发架构,晚上整个软件开发过程,可以减少错误产生的概率,但是不可能完全杜绝错误的产生,因此必须要通过软件测试来检测出开发好的软件存在的各种问题,从而解决问题。软件测试是软件工程的重要步骤,是必不可少的。在优秀的软件开发公司,软件测试工作量一般占到一个软件开发项目总工作量的四成以上,软件测试成本要占到软件开发成本的三成甚至到一半。如果放到软件的整个生命周期来考虑,并且同时考虑维护阶段的成本,那么测试的成本会有所降低。对于成熟的软件公司来说,对开发好的软件进行测试这项工作不亚于进行软件的二次开发工作,甚至是多次开发工作。

通过软件测试工作,可以尽早发现软件中存在的问题,软件问题发现越早,发现越快,产生的破坏和不利影响就越小。因此,在开发的软件正式交付到用        户手里之前,必须要尽快尽早将软件的问题找出来,而想做到这一点就必须要依靠有组织有计划的软件测试工作。
        3当前软件测试的现状
        从对软件工程的分析来看,软件测试是保证软件最终健壮性的最后一个工序。但是,当前很多软件设计公司,在软件测试方面投入的人力物力都非常低,甚至没有专门的软件测试部门,而是由一些软件设计人员兼职。虽然这样也有了所谓的软件测试这道工序,显然因为软件设计人员本身的先入为主,所以在软件测试的过程中,往往不容易发现潜在的问题。另外有的软件测试人员仅仅把软件推到市场上,部分使用人员来进行测试,虽然这也是一种测试方法,但是这种由用户测试的软件测试环节,更多的是在软件的操作体验的测试,并不能够发现软件潜在的bug,正确的软件测试流程,应该设计专业的测试软件,通过白盒测试的方法来针对软件代码进行测试。而上述的仅仅测试界面和操作,那只是软件测试中的黑盒测试法,只有综合白盒和黑盒,才可能获得更好的软件测试效果。但是,目前能够综合这2种测试方法的专业软件测试部门,还是非常稀缺的。这自然导致了国内整个软件行业的软件健壮性存在缺陷的主要原因之一。
        4软件检测的方法
        4.2.1黑盒检测
        这种检测方法,是指将软件检测的目标比作一个黑色的盒子,借助向软件里面录入数据信息来探析数据的输出情况,以此来观测软件所拥有的全部功用是否都施展了出来,在实际检测期间,将有关的数据录入到软件里面,然后观测数据的输出情况,如果在软件里面输出的数据信息与预设的信息相吻合,那么就说明这个软件检测合格了,反之,如果输出的数据信息与预设的数据不相符,虽然偏差不大,但是也能够说明软件里面浮现了问题,要在极短的时间内将问题找出来,并且将其消除。
        4.2.2白盒测试
        白盒测试也被专业人员称为结构测试或者是逻辑测试,这种测试方法就是已知软件内部工作逻辑和工作过程,通过软件测试工作来测试整个软件的设计是否按照设计规划书来进行,按照设计规划书标定的软件逻辑顺序来进行软件测试,检查程序中的每一条道路是否能够按照既定要求正常工作,而不在乎是不是能够正常实现软件工程。白盒测试是建立在全面了解软件内部的工作逻辑基础上的,同时对所有的软件逻辑路径进行测试,可以使用穷举法找出所有路径进行逐一测试。在使用这一方法时,必须要从软件程序的逻辑着手,得到测试数据。但是应当注意的是,有的软件不可能得到所有的可能路径,而有的软件即便是找到了所有可能的路径也有可能无法找出错误。这种方法的缺陷就在于,首先违反了程序设计规范的程序,也就是程序本身就是错的情况下无法找出程序的错误,其次如果遗漏了可能路径也无法查找出软件的错误,最后这种方法会遗漏一些与数据相关的缺陷。
        结语
        软件测试,关注的是在整个软件的开发周期中,每个阶段的测试活动。进而一步一步地来把控整个软件质量。软件测试是整个软件开发过程中必不可少的一环。
        参考文献:
        [1]杜娟,骆庆,张泉.计算机软件测试技术与深度开发应用探讨[J].电子测试,2017(19):127+126.
        [2]王彦.移动互联网软件测试技术研究及应用[J].现代信息科技,2019,3(3):8-9,12.
        [3]黄坤.浅谈软件工程原理在企业系统开发中的应用[J].数字技术与应用,2010(6):138.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: