论软件测试在软件工程中的作用

来源 :中外企业文化 | 被引量 : 0次 | 上传用户:aheoo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【文章摘要】
  随着软件规模的日益增大,软件的安全测试问题也日益突出,使得软件安全测试也成为软件开发中一个不可分割的重要部分。基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。
  【关键词】
  软件开发;白盒测试;黑盒测试
  0 引言
  软件测试是属于开发阶段最后一段时间的主要工作。需要对软件进行全方位的测试,以确保软件在上线运营时不会出现影响正常功能使用上的问题。软件测试时一项非常重要的工作,也是软件工程中一个重要的环节。软件测试是在软件投入运行前,对软件需求分析,设计规格说明和编码的最终复审,是软件质量保证的关键步骤。常见的测试方法有黑盒测试与白盒测试。
  1 黑盒测试与白盒测试
  软件工程中的测试,必须要用正确的方法,才能提高效率并且行之有效的解决整个开发过程中的问题,并且能为后期的维护提供最大的便利。而我们最经常用到的测试方法就是黑盒测试与白盒测试。
  例如我们在做web程序的黑盒子测试时会经常使用一些Fuzzing工具去进行一些压力的测试,有时候也会进行一些安全性的比如跨站脚本攻击的测试、SQL注入攻击的测试、跨域提交漏洞的测试等等注入此类在不知道程序源代码情况下的Fuzzing技术都属于黑盒测试的范畴。用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出,但这是不可能的。
  工作中大部分的黑盒测试都可以通过编写代码来实现全自動化的安全测试,这样可以解放人的不断重复性劳动,是一种在做黑盒测试中最常见的方式。
  把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,这就是白盒测试。白盒测试又称为结构测试或逻辑驱动测试。软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。
  白盒测试是一种比较容易找出软件编码中存在的严重问题的方式,他通过通读源代码,来发现整个工程中存在的一些逻辑漏洞,或者一些危险函数的利用。有时候也可以通过监测输入数据与输出数据的中间流程来发现是否存在输入未过滤或者输出不合法等问题。我们以PHP脚本语言问例,当前很多的WEB端软件工程多是用PHP开发完成,而PHP语言存在的危险函数和危险变量则多达几十个如果稍有使用不慎,就会造成较为严重的安全漏洞。
  在PHP的设置中register_globals = Off,PHP在进程启动时,会根据register_globals的设置,判断是否将$_GET、$_POST、$_COOKIE、$_ENV、$_SERVER、$REQUEST等数组变量里的内容自动注册为全局变量。
  2 软件测试在软件工程中的意义
  软件的测试环节做的好与坏,决定了整个工程的成败。从软件测试和软件可靠性理论入手,对现有的软件可靠性技术进行研究分析从中发现一些问题就是软件测试的主要目的。与此同时要总结出现有可靠性模型的特点并分析出现有可靠性模型所存在的局限性与不足,以方便后续开发程序中注意存在的问题。
  而对于目前我国软件产业的现状,存在多个开源或者非开源项目均曾经爆出过较为严重的安全漏洞问题。如下是国内某著名开源软件工程中存在的一个存储型跨站脚本攻击的代码。
  如下函数,解析转化Iframe标签(Iframe标签本身就是个危险标签,不知道要保留这个功能意义何在)如下
  public static function parseIframe($message,$convertStatus = 1){
  return preg_replace("/\[iframe\]([^\[\<\r\n\"']+?)\[\/iframe\]/eis","self::createIframe('\\1',\$convertStatus)",$message,
  self::$_cvtimes);
  }
  看正则/\[iframe\]([^\[\<\r\n\”’]+?)\[\/iframe\]/eis 知道,是匹配形如[iframe]任意非特殊字符[/iframe]。所以可见[iframe]标签中间的内容是可以任意控制的。匹配后出来的值被放到createIframe中作为第一个参数做了处理,跟进
  public static function createIframe($url,$convertStatus){
  if($convertStatus){
  $html = "";
  } else {
  $html = "Iframe Close:$url";
  }
  return self::_pushCode($html);
  }
  1)判断convertStatus,该参数默认为1,生成的$html是将$url的值直接带入src。所以问题出现了。构造javascript:alert(1)即可触发该漏洞。我们可以看到生成的HTML代码为,
   当不知情者访问后即可触发跨站脚本漏洞
  2)当传递的convertStatus的值为0时,生成的$html是将$url的值直接带入href。所以问题同样出现。构造javascript:alert(2)点击即可触发。我们可以看到生成的HTML代码为,
  javascript:alert(1)
  点击后仍能触发跨站脚本漏洞
  由于该款产品在国内用户使用量大概在六百万以上,所以这个问题刚开始爆出来的时候给很多的个人建站用户造成了很大的影响,官方也在第二天及紧急发布安全补丁修复这个问题,但是仍然造成数以万计的使用该程序的站长网站被利用。
  3 结语
  软件测试最终的目的是为了发现软件工程中存在的BUG以及安全漏洞等,从而有效的对整个软件工程中潜在的风险进行改正。
  【参考文献】
  陈汶斌.软件测试技术基础[M].北京:清华大学出版社,2008(19)
  【作者简介】
  夏天(1982—),男,沈阳人,辽宁德康医药有限公司电子商务部经理,同济大学软件学院软件工程硕士研究生。
其他文献
【文章摘要】  笔者结合当前无线网络和无线局域网建设的现状,分析了其安全隐患,探讨了当前各种无线网络安全机制解决方案的优劣,提出解决无线网络安全隐患的对策措施。  【关键词】  无线网络;安全;防范措施  随着信息化技术的飞速发展,很多网络都开始实现无线网络的覆盖以此来实现信息电子化交换和资源共享。无线网络和无线局域网的出现大大提升了信息交换的速度和质量,为很多的用户提供了便捷和子偶的网络服务,但
期刊
【文章摘要】  本文主要介绍的模型和算法都是数据挖掘中最常见的和应用最广泛的,在计算机科学、统计数学、和人工智能领域的科学家们已经在研究和改进这些算法方面作了大量的工作。  【关键词】  数据挖掘;算法;神经网络  1 神经网络的应用  神经网络近来越来越受到人们的关注,因为它为解决大复杂度问题提供了一种相对来说比较有效的简单方法。神经网络可以很容易的解决具有上百个参数的问题。神经网络常用于两类问
期刊
【文章摘要】  分析了由网络连线故障而引起的网络问题,并结合工作实践提出解决办法,以为网络管理员的日常网络维护提供参考。  【关键词】  网络连线;故障;网络维护  网络连线连接着各种网络设备,是传递信息的基础,某条线路突然中断,若连续几次ping都出现Request time out,则表明网络不通。现将网络连线故障原因及解决措施介绍如下。  1 故障原因  1.1 网线质量问题  网线故障通常
期刊
【文章摘要】  嵌入式实时操作系统(RTOS)是嵌入式系统的基础运行平台,是嵌入式系统稳定、可靠工作的基础,其功能和性能的好坏将直接影响嵌入式系统的功能和性能。嵌入式时实操作系统目前应用的范围越来越广,逐渐成为今后操作系统开发和发展的主要方向。  【关键词】  操作系统;嵌入式;实时  1 嵌入式和实时系统介绍  实时嵌入式系统是嵌入式系统的一种,它能够对外部事件给予及时响应。对外部事件的响应有三
期刊
【文章摘要】  高职高专院校从培养技能型、应用型人才的目的出发,不仅要求教师具有较高的专业理论水平,更要求教师具备熟练的专业实践技能,建设一支“双师型”的教师队伍。通过教师到企业一线顶岗实习,提高实践能力,可以推动教学改革,提高人才培养质量,办出高职高专院校的特色。  【关键词】  高职教育;企业实践;行业会计;教学改革  《江苏省中长期教育改革和发展规划纲要(2010-2020)》中明确指出,要
期刊
【文章摘要】  随着我国社会经济的不断发展,也相应的促进了我国成人职业教育的发展。在实际的教学中,教师通过采用有效的教学策略,不断的提高学员学习水平和学习能力。因此,本文针对于成人职业培养中引导学员有效学习的教学策略进行了具体的分析,希望通过本文的探讨,能够为相关方面的研究提供理论性的参考。  【关键词】  成人职业培养;有效学习;教学策略  0 前言  本文针对于成人职业培养中引导学员有效学习的
期刊
【文章摘要】  雷电是一种常常被人们忽视的严重气象灾害。随着科技的进步和社会的发展,人们对雷电的认识逐渐深入,对预防雷电灾害的意识也在不断提高。如何防范雷电灾害,怎样降低“天灾”带来的损失成了人们关心的话题。就此,记者(刘川)采访了业内资深防雷高级工程师丁锦鹏先生。  【关键词】  雷电;防雷技术;防雷监管  雷电具有极其巨大的破坏力,其破坏作用是综合的,包括热效应、电动力效应、机械效应、冲击波效
期刊
【文章摘要】  三毛是20世纪70、80年代的港台,大陆以及海外华文读者中享有盛誉的台湾知名女作家。三毛的独特不仅在于她的“游于义”、“我执”的创作观念,更在于她笔下所传达出的那种悠然的诗意气息,无论是神奇斑斓的撒哈拉撒哈拉沙漠,还是她与荷西凄美传奇的爱情,亦是她对待生活的态度,都体现了三毛田园诗人的情怀,追求一种诗意的生活。  【关键词】  三毛作品;诗意生活  三毛的一生,是一次漫长的旅行,每
期刊
【文章摘要】  随着城市建设的日新月异,城市的深层无线覆盖变得越来越复杂。本文对各种方法在网络的深层覆盖、广域覆盖及业务覆盖的使用性进行分析,并对相应的方法从投资回报比、实施难度、技术实现细节等进行分析,给出移动运营商可以参考的分析研究报告。  【关键词】  深层覆盖;无线网络规划  1 深层覆盖的必要性  随着移动通信网络的建设和发展,网络的容量和覆盖日趋完善,网络运营商间的竞争和用户对服务的要
期刊
基金项目:河南省教育厅立项课题(课题编号:JYB2013082)  【文章摘要】  探索在社会经济转型时期大学生高质量就业的新举措。大学生毕业后能顺利就业和高质量就业的状况,己成为国内大众普遍关注的热点问题。我院借鉴国内外大学生就业的可行措施和成功经验,创建了符合药学专业学生的培养模式、就业工作机制和就业评价体系。实现了毕业生较好的就业,连续4年药学毕业生就业率达97%以上。  【关键词】  药学
期刊