软件测试基础

1. 软件概述

1.1 软件生命周期

  1. 问题定义

由软件开发方同需求方共同讨论,主要确定软件的开发目标以及可行性。

  1. 需求分析

该阶段对软件需求进行更深入的分析,划分需要实现的功能模块,并制作文档。

  1. 软件设计

该阶段是在需求分析的基础上对整个软件系统进行设计,如系统架构设计、数据库设计等。

  1. 软件开发

该阶段是在软件设计的基础上,选择一种编程语言进行开发。

  1. 软件测试

该阶段是在软件开发完成后对软件进行测试,以查找软件设计与软件开发中存在的问题并修改。

  1. 软件维护

是软件完成测试后并投入使用之后,面对庞大的用户群体可能无法满足用户需求,此时就需要对软件进行维护升级以延续软件使用寿命。

1.2 软件开发模型

1. 瀑布模型

开发过程6个阶段:计划 需求分析 软件设计 编码 测试 运行维护
瀑布模型是严格按照线性方式开发的,无法满足用户需求的变更。

2. 快速原型模型

开发过程:需求分析 构建原型 原型评价 确定最终需求 软件开发
特点:快速原型模型克服了需求不明确带来的风险,适用于不能预先确定需求的软件项目。
缺点:不利于开发人员对产品进行扩展

3. 迭代模型

又称增量模型或者演化模型,开发过程:每一次迭代都需要经过 需求分析 软件设计 编码 测试的过程。

特点:更好的适应用户的需求变更,组件化的交付产品,客户可以经常看到产品,降低了软件开发的成本与风险。
缺点: 增加将组件集成到系统中的集成失败风险,容易退化到 “边做边改” 的开发形式,失去对软件开发的整体控制。

4. 螺旋模型

该模型融合了瀑布、快速原型模型。
特点:引入了风险分析、适合开发复杂的大型项目

5. 敏捷模型

  1. 软件项目在构建初期被拆分成多个相互联系而独立运行的子项目,然后迭代完成子项目
  2. 当客户需求变更时,敏捷模型能够迅速地对某个子项目做出修改满足用户需求。
  3. 不断对产品进行细微、渐近的改进,每改进一小部分,如果可行便逐步扩大改进范围。
  4. 开发未动、测试先行
  5. 注重”人“在软件开发中的作用

特点:及时的响应客户需求变更、不断适应新的趋势,适合小型项目
缺点:开发灵活的同时也造成了一定程度的混乱。

1.3 软件质量概述

1. 软件质量的概念

  • 满足需求规定
  • 满足用户需求
  • 满足用户隐式的需求

2. 软件质量模型

  • 功能性
  • 可靠性
  • 可使用性
  • 效率
  • 可维护性
  • 可移植性

3. 影响软件质量的因素

  1. 需求模糊
  2. 软件开发缺乏规范性指导
  3. 软件开发人员问题
  4. 缺乏软件质量控制管理

1.4 软件缺陷管理

1.软件缺陷产生的原因

  1. 需求不明
  2. 软件结构复杂
  3. 编码问题
  4. 项目期限短
  5. 使用新技术

2.缺陷处理流程

  1. 提交
  2. 分配
  3. 确认
  4. 拒绝或者拖期
  5. 处理
  6. 复测
  7. 关闭

1.5 软件测试概述

1. 按照测试阶段分类

  1. 单元测试
  2. 冒烟测试
  3. 集成测试
  4. 系统测试
  5. 验收测试

2. 按照测试技术分类

  1. 黑盒测试
  2. 白盒测试

3. 按照测试质量特性分类

  1. 功能测试
  2. 性能测试

4. 按照自动化程度测试分类

  1. 手工测试
  2. 自动化测试

5. 按照测试类型分类

  1. 界面测试
  2. 安全性测试
  3. 文档测试

6. 其他测试

  1. α测试
  2. β 测试
  3. 回归测试
  4. 随机测试

1.6 软件测试与开发

1. 常见的软件测试模式

  1. V模型

特点具有阶段性、顺序性和依赖性、包含软件源码底层测试、需求层的高层测试
缺点:只能在编码后测试不能发现需求分析等早期的错误,为后期系统测试、验收测试埋下了隐患

  1. W模型

有利于尽早地全面发现问题。
缺点:无法支持迭代、自发性等需要变更调整的项目。

  1. H模型

测试流程和其他工作流程是并发执行的,只要一个工作流程条件成熟就可以进行测试

  1. X模型

将程序分成多个片段反复迭代测试、针对单独的程序片段进行相互分离的编码和测试。

2. 软件测试原则

  1. 测试基于客户需求
  2. 测试尽早进行
  3. 穷尽测试不可能的
  4. 遵循GoodEnough原则
  5. 测试缺陷要符号二八定理
  6. 避免缺陷免疫

3. 软件测试流程

  1. 分析测试需求
  2. 制定测试计划
  3. 设计测试用例
  4. 执行测试
  5. 编写测试报告
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李同学va

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值