学习啦 > 论文大全 > 技术论文 > 软件测试技术论文

软件测试技术论文

时间: 家文952 分享

软件测试技术论文

  软件测试技术是软件开发与运用过程中必不可少的手段,其重要性不可替代。下面是由学习啦小编整理的软件测试技术论文,谢谢你的阅读。

  软件测试技术论文篇一

  软件测试技术综述

  【关键词】软件测试技术 软件工程 软件质量

  众所周知,由于通用计算机或芯片在各种系统中的广泛使用,在工程中系统实现各种功能都离不开软件来实现应用功能,因而软件重要性越来越显突出,随着软件工程的发展,目前软件的规模也逐渐越来越大,软件的质量已成为决定各种工程或武器系统的质量乃至成败的最重要因素之一。因此有必要更加重视软件的质量问题。而软件测试作为软件工程的一项重要组成部分也越来越受到重视。

  1 对软件测试的定义

  在这里我们只讨论狭义上的软件测试。软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查。通常对软件测试的定义有两种描述:

  定义1:软件测试是为了发现错误而执行程序的过程。

  定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。

  2 软件测试流程和策略

  2.1 软件测试流程

  软件测试的流程可以细分为四个阶段:单元测试,集成测试,确认测试(有效性测A试)和系统测试。单元测试针对软件设计的最小单元A程序模块,进行正确性检验的测试工作。它的目的在于发现各模块内部可能存在的各种差错。集成测试在单元测试的基础上,将所有模块按照设计要求组装成为系统进行测试。确认测试(有效性测试)验证软件的功能、性能和其它特性是否与用户的要求一致。系统测试将测试的软件作为整个计算机系统的一个元素与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行组装测试和确认测试。

  2.2 软件测试的策略和技术

  软件测试的策略就是测试将按照什么样的思路和方式进行。如采用什么技术,什么步骤等。而软件测试技术可以按照以下几种方式来进行分类:

  (1)黑盒(功能性)测试和白盒(结构性)测试。

  (2)静态测试和动态测试。

  (3)传统测试方法和面向对象测试的方法。

  (4)特定环境及应用的测试。

  2.2.1 黑盒测试和白盒测试

  (1)黑盒测试。黑盒测试又称功能性测试、数据驱动测试、基于规格说明的测试。它 在已知软件所应具有的功能的基础上,检查程序功能能否按需求规格说明书的规定正常使用,功能是否有遗漏,性能等特性要求是否满足。在进行黑盒测试时只需参照规格说明检查软件,不要求考察代码,从用户视角来对软件进行测试。黑盒测试的目的在于检测软件功能是否正确和完整,检测是否有人机交互和数据访问错误,检测软件行为和性能是否满足需求以及检测软件初始化和终止过程是否有错误。

  黑盒测试要遵循以下的步骤:首先需要先根据规格说明书来生成测试用例,然后执行测试并分析覆盖标准,最后再根据所得结果来作出结论。

  (2)白盒测试。白盒测试又被成为结构性测试、逻辑驱动测试、基于程序的测试。它的与黑盒测试的区别在于我们在进行白盒测试的时候会将程序的执行表现与编码意图作比较,并且关心软件内部设计和程序实现,而主要测试依据是代码和设计文档,这就能够支持严格定义、数学分析和精确度量,从而更加准确的来评价一个软件。

  2.2.2 静态测试和动态测试

  (1)静态测试。静态测试广义上包括了人工代码检查,软件度量,程序结构分析(自动审查)和自动编程规则检查这些内容。

  (2)动态测试。动态测试包括覆盖测试分析和运行时的错误检测。

  2.2.3 路径测试

  路径测试是指根据路径设计测试用例的一种技术,经常用于状态转换测试中。基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。

  2.2.4数据流测试

  前面的测试针对程序的控制流路径,检查程序在各种条件值、各种决策下是否有错。数据流测试主要测试程序中的数值流(覆盖值传递路径),检测变量定义与使用的情况。它比较容易发现下列类型的错误:变量被定义,但是从来没有使用;所使用的变量没有被定义;变量在使用之前被定义两次;其它定义不当或使用不当的情况。

  2.2.5 面向对象软件测试

  面向对象技术开发出的程序更需要测试且对其进行测试将更复杂。面向对象软件与传统的软件存在不同的软件结构,不同的开发方法且每个开发阶段都有不同以往的要求和结果,针对面向对象软件的新特点,应有一种新的测试模型

  3 结论

  软件测试是一项非常重要的工作。有些观点认为测试是极简单的工作,谁都能进行软件测试,还认为软件测试技术要求不高,比编程容易多了,测试就是把数据输进程序,看结果对不对,甚至认为测试是就体力活而已。这些观点其实都是不正确的。软件测试是一项非常需要智慧,耐心,协调以及沟通能力的一项工作,它包涵的内容不光有深层次的技术性问题,也有管理方面的问题。如何才能做好软件测试,光有技术上的水平仍然是不够的,还必须要有好的团队合作和细致的工作能力和态度。

  软件测试虽然能够发现软件中的问题,但是它并不能证明软件中已经不存在其它的问题了,因此要提高软件的质量,光靠软件测试也还是不够的,还需要全面的履行和落实软件的质量控制,这样才能最大限度的减少软件问题所引起的损失。

  参考文献

  [1]徐世波.张健关于软件质量保证模型的研究[J].数字技术与应用,2010(09).

  [2]张瑶.白晓颖.张任伟.陆皓一种基于模型的测试充分性评估方法[J].计算机科学,2013(02).

  [3]徐冰霖.李战怀基于数据操作的航天测控软件测试复用模型[J].飞行器测控学报,2012(02).

  作者单位

  南京市玄武中等专业学校 江苏省南京市 210042

点击下页还有更多>>>软件测试技术论文

2607467