期刊专题 | 加入收藏 | 设为首页 12年实力经营,12年信誉保证!论文发表行业第一!就在400期刊网!

全国免费客服电话:
当前位置:首页 > 免费论文 > 经济论文 >

测试技术下软件设计论文

一、软件设计中的主要测试技术

(一)静态测试分析。作为基本软件测试技术之一的静态技术主要是对软件程序和文件开展扫描分析,在此过程中计算机并不用对被测试的软件进行运行。即静态检测技术主要是对被测软件的特征进行分析,对被测软件所作出的评审可以人工进行,也可以使用软件测试工具来进行评审,从而查看软件是否与编程标准相符,并检查软件程序编写中存在的问题与错误。静态分析中经常使用到的分析方式包括控制流分析、数据流分析以及代码检查。

控制流分析主要是以控制流关系为依据来对软件进行测试。其中控制流关系可以对程序原色以及程序元素的执行秩序所具有的关系进行叙述,在软件测试中,控制流关系可以被绘制为控制流图,控制流图中的程序元素使用节点来表示,节点与节点之间使用弧线来进行连接,如果一个输入能够引发一种路径的执行,则这条路径被认定为是可达的;数据流分析是以程序和程序元素之间的数据访问行为来进行测试,软件程序同样可以用数据流图来表示,并使用未定义信息、变量定义等来进行标记。如果程序语句执行中的一个变量得到了分配的值,则可以认定这个变量已经被定义。这种分析方法可以被引用到测试数据声场、异常检测以及代码优化等检测方法中;代码检查是一种十分有效的软件测试形式,这种测试形式的优势在于可以将软件中存在的30%~70%的编码错误或者逻辑设计错误检查出来。

在使用代码检查形式进行软件测试的过程中,要求测试团队包括开发者、审查负责人、阅读者以及协调者。开展审查的目的在于在发现软件错误的基础上降低软件返工成本,相对于计算机测试而言,代码检查的优势在于能够在一次审查后找到多种缺陷,而计算机测试需要在发现错误后进行改正,由此可见,代码检查形式能够有效降低系统验证的工作量。

(二)动态测试分析。软件测试中的动态测试分析在是否对被测软件进行执行方面与静态测试分析是相对应的。在软件测试工作中,动态分析的内容主要包括以下几点:一是内存处理与内存泄露。对于内存错误或者程序没有释放已经不能使用的内存的内存泄露问题,这些问题都有必要通过设计测试用例来对存储或者使用目标是否得到满足作出监测;二是常见运行错误的检测,如空指针产生的未知错误、编译器截断处理产生的问题、很难发现的数据溢出问题等;三是覆盖率分析。覆盖率分析主要是对软件的完整性进行度量。通过对覆盖率数据的了解,能够得知对软件所作出的测试是否全面以及测试工作中是否存在问题等,从而使软件的测试工作者能够有依据地对软件测试工作作出改进以实现软件测试质量的提高。在覆盖率分析中,能够利用的工具有很多,但是在测试过程中,要避免对100%覆盖率的追求,虽然在足够的时间以及资源支撑下覆盖率可能达到100%,但是显然,要达到这种数据,需要测试工作投入过大成本,从软件设计的成本控制来看,这是完全没有必要的。因此在覆盖率分析工作中,测试工作人员有必要根据软件设计需求来设定覆盖率标准,并在这种覆盖率标准下对覆盖率数据进行测定与分析。

在软件设计中,80%的软件错误存在于20%的软件代码中,因此,在满足成本控制要求的基础上,有必要将代码静态分析和覆盖率分析结合起来,通过找出容易产生错误的软件代码并进行覆盖来减少覆盖分析工作需要投入的时间成本与经济成本;四是性能分析。所有软件都具有着效率目标以及性能目标。即软件需要在特定的配置环境和负载中表现出合格的吞吐率与响应时间,所以软件性能分析主要是检查软件程序能否达到性能目标,或者找出软件程序不能达到性能目标的原因。性能分析的主要内容包括对程序的计算处理进度、响应时间、占用空间、最大负荷、资源利用率以及并发程度等;五是安全性分析。安全性测试是对软件本身的保密性以及安全性作出测试,为了确保测试的有效性,软件安全性测试有必要在软件实际使用环境中进行测试,其中的主要内容包括针对软件的关键部分开展单独的测试与分析、对软件规避安全风险的措施有效性作出测试与分析、对软件避免被非法访问的能力作出分析、对软件中与安全性有关的冗余、容错、算法以及数据结构保护和中断处理方案等作出测试与分析。

二、软件测试工作质量的提高策略

(一)测试人员及早介入。为了实现软件测试质量的提高,软件测试人员需要在软件设计开展初期就介入到软件测试工作中,从而更加准确地对测试对象以及测试需求作出了解。在此过程中,测试人员应当以设计出全面且出色的测试设计、设施规划为出发点对软件产品作出深入了解,特别是了解软件中对于客户来说最为关键的部分以及风险最大的部分,并将精力放在对这些部分的检测中,从而使软件测试工作有重点。其中缺陷预防要求软件测试人员能够根据测试需求使用合理的测试技术来避免软件错误和问题遗留到软件设计的开发后期。缺陷预防工作的开展效率在需求阶段最高,因为这一阶段在发现问题后并不需要对软件作出过大的改动,从而避免给软件设计以及软件测试等工作带来成本压力和工期压力。

(二)在软件设计需求阶段对软件系统需求作出验证。在对软件需求作出验证的过程中,软件设计人员需要以每条需求为依据来构建软件测试标准,从而推动需求的明确化。在需求验证工作中,工作人员有必要对以下几项属性作出强调:一是正确性,即测试人员的软件测试工作需要以用户需求为基础;二是完整性,即测试人员要确保需求验证中没有遗漏任何重要元素;三是一致性。验证工作需要验证产品内部元素存在的矛盾或者产品之间内外部存在的矛盾;四是可验证性以及可测试性,即软件测试人员要确保每一种需求的测试都具有可能性,同时确保测试结果是可以进行人工或利用编程进行验证的;五是可行性,确保需求能够在成本、进度、技术等资源的要求下完成;六是必要性,即测试人员需要对规格说明书中的需求与软件系统是否存在关联作出验证;七是优先级,即测试人员需要了解每种需求的价值,并根据其重要性作出排序;八是明确性,确保需求陈述中使用了可测量且精确的方法。

(三)提高对软件测试工作的重视。虽然软件测试工作对于提高软件质量具有重要意义,然而在软件设计过程中,软件测试却是容易被忽视的重要内容,这主要是因为软件测试工作不仅要求细致,并且十分繁琐,需要测试人员作出周密的规划,同时也对软件设计团队的软件开发观念和人才素质提出了较高的要求。因此在软件设计过程中,软件设计团队一是要在满足客户需求的基础上强化对软件测试工作的重视,并将软件测试工作当做软件设计以及软件产品质量控制、进度控制以及成本控制中的重要一环;二是要重视自身专业素质的提高,特别是对于软件测试工作人员来讲,要及时了解软件测试工作的发展动态与发展趋势,掌握先进的软件测试技术的机床对软件产品进行有效测试,从而避免后期软件工程变更产生不必要的损失。

作者:王瑞婷 单位:上海同济大学


    更多经济论文论文详细信息: 测试技术下软件设计论文
    http://www.400qikan.com/mflunwen/jjlw/134182.html

    相关专题:经济学论文网 太阳神直销系统


    上一篇:老年股骨颈骨折临床护理研究
    下一篇:里根养生哲学分析

    认准400期刊网 可信 保障 安全 快速 客户见证 退款保证


    品牌介绍