浅析软件测试技术现状
摘
要:软件测试被定义为是以评价一个程序或者系统属性为目标的任何一种活动,测试
是对软件质量的度量。随着测试工具盛行
,Rick 和 Stefan 在《系统的软件测试》一书中对软件
测试做了进一步诠释
:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实
施和维护的整个生命周期过程。本文就软件测试的概念、必要性、测试方法和工具等方面作一
简单阐述。
关键词
:软件测试;软件测试技术;自动化测试;测试工具
1 软件测试概述与必要性
软件是由人来完成的
,所有由人做的工作都不会是完美无缺的。问题在于应该如何去避
免错误的产生和消除已经产生的错误
,使程序中的错误密度达到尽可能低的程度。
随着软件规模的增大
,软件的复杂程度也越来越大,与其他系统的接口不断增多应用越来
越广泛
,集成度越来越高,这使得没有现代软件开发经验的人很难理解它。为了尽可能地减少
错误
,软件测试这一环节必须得到重视。
中国软件外包市场巨大
,国内软件外包服务多属于为客户提供技术和质量服务的中间环
节。以占中国软件外包总量近
85%的对日软件外包来说,业务内容基本都针对测试环节。这就
要求我们加强对软件测试的重视。
质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加
,还可能产
生其他的责任风险
,在一些关键应用,如民航订票系统、银行结算系统、证券交易系统等中使用
质量有问题的软件
,还可能造成灾难性的后果。这使得软件测试环节显得尤为重要。
2 软件测试技术分析
2.1 软件测试的概念
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一组测试数
据
,并利用这些测试数据运行程序,以发现程序错误的过程。根据测试数据设计方法,软件测试
可分为结构测试和功能测试。在结构测试过程中
,测试者对程序的语句、分支和逻辑路径进行
各种覆盖测试
,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一致。软件测
试的目的是发现错误
,而不是确认其正确性,而对已进行的测试过程的程度进行评估。
2.2 软件测试的目的
软件测试的目的是为了保证软件产品的最终质量
,在软件开发的过程中,对软件产品进行
质量控制。一般来说软件测试应由独立的产品评测中心负责
,严格按照软件测试流程,制定测
试计划、测试方案、测试规范
,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试
报告。测试是为了证明程序有错
,而不能保证程序没有错误。
2.3 软件测试的方法和过程
软件测试的种类可以分为人工测试和基于计算机的测试。而基于计算机的测试又可以分
为白盒测试和黑盒测试。原则上讲
,软件测试分为静态测试和动态测试两类。静态测试包括代