6.软件的生命周期
一、为什么要测试?
- 软件本身就有缺陷
- 代码是人写的,难免会出现错误
- 环境会影响软件
- 测试才能保证软件的质量
二、什么是测试?
- 制造者定义:“以检验产品是否满足为目标”
- 软件行业定义:
- 验证软件的正确性
- 发现软件中的缺陷bug
三、软件的生命周期
软件生命周期别称:软件生存周期或软件开发生命周期
定义:指的是软件从产生到报废的整个过程,是一种时间的概念
四、通常软件生命周期包括哪些阶段?
- 客户问题引入或定义
- 可行性分析,(涉及经济(商业论证),政治,法律,技术等)
- 项目招投标
- 项目立顶
- 需求分析
- 开发阶段(设计,编码,测试)
- 维护
五、软件生命周期模型有哪些?
(1)瀑布模型(waterfall) 最早的一种模型 被淘汰了
(2)V模型 (重点)
(3)W模型 (w是v的补充)
(4)H模型 (重点)
(5)敏捷开发模型 最新开发模型,
(6)迭代开发模型
(7)增量开发模型
V模型:
(1)需求(全程:软件需求规格说明书,简称srs)
用户需求:是一个文档
内容:对整个项目的设计,框架,功能,模块的描述
(2)概要设计(简称:HLD)
概要设计:是一个文档
内容:架构的初步设计文档,使用说明什么类型的数据库,架构的描述,设计,模块的名称;(理解未:盖房子的大概设计,基本框架结构)
(3)详细设计(简称:LLD)
详细设计:是一个文档
内容:针对功能具体的实现文档,模块的具体实现,具体设计,架构的具体描述,(理解为房子的具体装修)
v模型的四个阶段:
(1)单元测试 (ut)
单元测试:是指验证软件单元是否满足详细设计文档的规格,能正确的执行,主要是对代码测试;
单元测试是最小的测试单位
在工作中单元测试一般是开发自测,如果需要测试进行单元测试,对测试技术要求非常高,必须要懂开发语言。
(2)集成测试(it)
集成测试是指多个单元测试组合亚洲软件是否满足概要设计文档的规格,能正常执行,主要是模块与模块之间的数据交互。
(3)系统测试(st)
系统测试是指把软件进行正常的运行,对整个系统进行测试,验证这个系统能正常运行,主要是测试一个整体业务的流程。
(4)验收测试(uat)重点
验收测试是指:站在用户角度对软件进行测试,验证系统满足用户需求。
验收测试分为两种:alpha测试(α)和beta 测试(β)
α测试是内部测试
β测试是客户方测试(第三方验收)
alpha测试和beta测试区别:
- alpha测试地点是在公司,beta测试一般在客户方
- alpha测试都是内部人员测试,开发测试都在现场,发现问题及时解决;
- beta测试 是客服方的员工测试,发现问题统一反馈给开发再解决
- alpha测试时间段,技术人员比较集中
- beta测试时间长,测试人员不集中