软件测试理论知识基础详细解说—总结
目录
软件研发流程
软件生命周期:需求;设计;编码;测试;维护;升级;废弃。
软件测试流程:需求分析;测试计划;测试方案;测试用例;测试执行;测试报告;
测试工程师:负责找出软件中存在的问题,并报告。
软件测试基础
测试不仅仅是为了发现软件缺陷与错误,而且也是对软件质量进行度量和评估,以提高软件的质量。测试是程序执行的过程,母的在于发现错误。一个好的在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误。
软件质量:软件与明确的和隐含的定义的需求相一致的程度。
软件测试原则
- 所有的软件测试都应追溯到用户需求
- 应当把“尽早地和不断地进行软件测试”作为软件测试者的座右铭
- 安全测试是不可能的,测试需要终止
- 测试无法显示软件潜在的缺陷
- 充分注意测试中的群集现象
- 程序员应避免检查自己的程序。
- 应尽量避免测试的随意性。
软件测试的对象
- 根据软件的定义,软件包括程序、数据、文档,所以软件测试并不仅仅是程序测试。软件测试贯穿于整个软件生命周期中。
- 由于软件测试贯穿于整个软件生命周期中,各阶段有不同的测试对象,形成了不同开发阶段的不同类型的测试。需求分析、概要设计、详细设计以及程序编码等各阶段产生的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应作为“软件测试”的对象。
软件测试分类
- 按照开发阶段划分软件测试:单元测试、集成测试、系统测试、验收测试
- 按照测试实施组织划分软件测试:开发方测试、用户测试(Beta测试)、第三方测试
- 按照测试技术划分:白盒测试、黑盒测试、灰盒测试。
软件测试方法和技术的分类与软件开发过程相关联,它贯穿了整个软件生命周期。
软件测试风险
软件测试中的软件风险是根据预测软件将出现的风险,指定软件测试计划并排列优先等级,风险分析是对软件潜在问题进行识别、估计和评价的过程。
风险也包括进度风险、质量风险、人员风险、变更风险、成本风险等。
软件测试类型
按照开发阶段划分
- 单元测试:是指对软件中的最小可测试单元进行检查和验证
- 集成测试:在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成子系统或系统,进行集成测试
- 系统测试:将已经确认的软件、计算机硬件、外设、网络等其它元素结合在一起,进行信息系统的各种组装测试和确认测试。
- 验收测试(a,b测试):
a:它是意向确定产品是否能够满足合同或用户规定需求的测试。这时管理型和防御性空值
b:主要确认软件是否按照合同要求进行工作,既是否满足软件需求规格说明书中的要求