2024年6月4日发(作者:)

软件测试理论知识

第一章 测试基础

软件测试的定义:

使用人工和自动的手段来运行或测试某个系统的过程。其目的是检验它是

否满足规定的需求或弄清预期结果与实际结果间的差别。

软件测试的目的:

证明 检测 预防

证明:

1) 获取系统在可接受风险范围内可用的信心

2) 尝试在非正常情况和条件下的功能和特性

3) 保证一个工作产品是完整的且可用或可被集成的

检测:

1) 发现缺陷,错误和系统不足

2) 定义系统能力和局限性

3) 提供组件、工作产品和系统的质量信息

预防:

1) 通过将测试活动提前介入到软件生命周期中,尽早的发现并消除前期研发阶段引入的

缺陷,以防止前期缺陷遗留并放大到后续环节

2) 通过对发现的缺陷进行分析,找出导致这些缺陷产生的流程上的不足,通过改进流程,

预防同类缺陷再次产生

软件生命周期:

计划->需求分析->概要设计->详细设计->编码->测试->运行维护

1) 计划:

SDP (软件研发计划) UTP(单元测试计划)

SVVP(软件验证与确认计划) ITP (集成测试计划)

STP (系统测试计划)

2) 需求分析:

SRS(软件需求规格说明)

根据研发类型,需求来源,则用户针对的具体对象分为两种:针对产品的与针对

项目的

3) 设计:

HLD(High Level Design概要设计)

LLD(Low Level Design 详细设计)

4) 编码:

写成以某个程序设计语言表示的源程序清单,使用RDBMS(Relational Database

Management System 关系型数据库管理系统)工具建立数据库。

5) 测试:

检验软件是否符合客户需求,达到质量要求。

按测试阶段分 单元测试(UT)

集成测试(IT)

系统测试(ST)——最先介入,最晚结束

6) 运行维护:

将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对其

进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。

软件研发的相关要素:

人员 过程 工具

人(组织) 过程(流程)

质量

技术(工具)

1) 人员组成

分析人员

设计人员

开发人员

测试人员

配置管理人员(CMO,SCM)

SQA

2) 组架构

项目经理

SQA

开发经理 测试经理 配置经理

软件开发组 软件测试组

配置管理组