1.软件测试定义
什么是软件测试
?
《软件测试艺术》:为了发现错误而执行程序或者系统的过程
《软件测试完全指南》:测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量
IEEE:使用人工或自动手动,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果和实际结果之间的差别
2.软件测试的目的和原则
目的
:验证软件是否存在问题原则
:以客户为中心,遵循软件测试的规范、流程、标准和要求
另外:
- 好的测试方案是极可能发现尚未发现错误的测试方案
- 成功的测试是发现了之前尚未发现的错误的测试
- 测试不仅仅是为找出错误,要通过分析错误产生的原因、阶段和错误发生的趋势达到以下目的:
- 1.帮助项目管理者了解当前软件开发过程中的缺陷,以便及时止损、改进
- 2.帮助测试人员设计有针对性的测试方案,提高测试的有效性
- 3.让开发人员知道错误产生区,加强自测
- 4.让客户信任且认可我们团队工作质量
没有发现错误的测试也是有价值的
,完整的测试是评定软件质量的一种方法- 根据测试目的不同,还有回归测试、压力测试、性能测试、安全测试等
软件测试是为了建立软件的信心
- 从测试的目的出发,测试工作大概可以分为两类
- 1.为了验证程序正常工作的测试
- 2.为了验证程序不能正常运行的测试
3.需求
IEEE定义:软件需求
是用户解决问题或达到目标所需要的条件或权能。是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能。是一种满足前面所述条件或权能的文档说明。它包括功能性需求
和非功能性需求
,非功能性需求对设计和实现提出了限制
4.bug
软件错误一般定义
是“程序与规格说明之间的不匹配”,但是这种说法是片面的,准确来说
是“当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误”,当没有规格说明书时
,判断标准以最终用户为准,即“当程序最终没有实现用户预期的功能要求时就是软件错误”
5.测试用例(Test Case)
测试用例
是为了实施测试而向被测试系统提供的一组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素
6.软件生命周期
软件生命周期
是指从软件产品的设想开始到软件不再使用而结束的时间。如果把软件看做有生命的事物,那么软件的生命周期可以分为六个阶段:需求分析
、计划
、设计
、编码
、测试
、运行维护
7.配置管理
配置管理(Configuration Management)
是通过对在软件生命周期不同时间点上的软件配置进行标识,并对这些被标识的软件配置项的更改进行系统的控制,从而保证软件产品的完整性和可溯性