软件测试

1.定义:

使用人工或自动的手段来运行或测试某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

简单来说,软件测试是为了发现程序中的错误而执行的过程。

2.软件缺陷:

  • 软件未达到产品说明书(简称,SPEC)表名的功能。
  • 软件出现了产品说明书指明不会出现的错误。
  • 软件功能超出了产品说明书指明范围。
  • 软件未达到产品说明书虽然未指出但应达到的目标,此条的目的是抓住产品说明书上遗漏之处。
  • 软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。

3.软件测试的原则:

  • 完全测试程序是不可能的,不可能找出软件的所有缺陷。
  • 软件测试是有风险的行为。
  • 测试无法显示潜伏的软件缺陷。
  • 软件缺陷就像是生活中的寄生虫一样,两者都是成群出现的。
  • 软件对测试方法及技术也有免疫力,只有发明新的测试技术或方法。
  • 并非所有的软件缺陷都能修复。
  • 难以说清的软件缺陷,对其理解不一致。
  • 产品说明书的不断变化。

4.软件的版本:

  • Alpha版--公司内部测试的版本
  • Beta版--对外发布公测
  • 发布版--正式发布版本,一般在Beta3之后软件正式发布

5.软件测试分类:

5.1特性分类

  • 白盒测试(语句测试、分支测试、路径测试、条件测试,目测)
  • 灰盒测试(介于白盒与黑盒之间)
  • 黑盒测试(功能测试)

5.2要求分类

  • 基本功能测试
  • 全面测试
  • 基准测试

5.3软件特性

  • 功能测试
  • 非功能测试

5.4开发过程分类

  • 单元测试
  • 集成测试
  • 系统测试
  • 用户验收测试
  • 用户验收测试

6.自动化测试:

6.1应用方面

  • 回归测试
  • 涉及大量不同数据输入的功能测试
  • 用手测完成难度较大的测试

6.2步骤

  1. 编写测试用例
  2. 分析、验证测试用例
  3. 对已有测试用例归类,制定自动化计划方案
  4. 编写自动化测试程序
  5. 尽量用“数据驱动”来提高测试覆盖率
  6. 将测试用例编写成自动化测试程序
  7. 执行测试程序,记录并反馈BUG
  8. 不断完善自动化测试系统或程序

7.BUG管理流程

7.1通用

  1. bug登记
  2. 指派任务
  3. 修改bug
  4. 验证
  5. 关闭

7.2BUG分类

7.2.1按缺陷状态分类

  • open:确认提交的缺陷,等待处理
  • rejected:不需要修复或不是缺陷
  • resolved:缺陷被修复
  • reopen:回测后,缺陷没有被修复
  • closed:回测后,缺陷被修复,将其关闭

7.2.2按缺陷严重等级分类

  • 严重
  • 较严重
  • 一般
  • 轻微

7.2.3按缺陷优先级分类

  • 高:立即解决
  • 中:正常排队
  • 低:可暂缓解决

系统实现与测试过程

1.概念系统实现与测试过程阶段对应于CMMI中技术解决方案(Technical Solution, TS)过程域、验证(Verification, VER)过程域、产品集成(Product Integration, PI)过程域。

2.准备工作

  • 搭建开发环境:《开发环境配置表》
  • 确定相关规范:《研发所用规范列表》
  • 细化项目进度表:《角色职责对照表》、《编码安排表》、《代码检查安排表》

3.产品实现

4.单元测试

  • 《单元测试用例列表》
  • 《单元测试管理列表》

5.缺陷管理与改错

  • 《系统集成计划表》
  • 《缺陷统计报告》

6.系统集成与系统测试

  • 《集成测试计划表》
  • 《集成测试报告》

7.建立产品支持文档

  • 《支持文档编写表》
  • 《用户操作手册》
  • 《系统维护手册》
  • 《培训教材》
  • 联机帮助
  • 系统安装包

系统测试

1.系统测试对应于CMMI中的确认(Validation, VAL)过程域。系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并遵循系统设计的标准和规定。

2.系统测试采用黑盒测试的测试方法,主要包括功能性测试、健壮性测试、性能-效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等。

(读书笔记)基于CMMI的软件工程及实训指导(13-16章)的更多相关文章

  1. [在职软件工程]基于CMMI的软件工程教程

    第1章 软件工程基础 1.1软件工程基本原理 a.按照软件生命周期的阶段划分制定计划,严格依据计划进行管理 项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划 b.坚持进行阶 ...

  2. 读书笔记,《深入理解java虚拟机》,第三章 垃圾收集器与内存分配策略

    要实现虚拟机,其实人们主要考虑完成三件事情: 第一,哪些内存需要回收: 第二,什么时候回收: 第三,如何回收. 第二节,对象已死吗    垃圾收集其实主要是针对java堆里面的数据来说的,传统的垃圾收 ...

  3. 读书笔记——Windows环境下32位汇编语言程序设计(13)关于EXCEPTION_DEBUG_INFO结构体

    在动手自己尝试编写书上第13章的例子Patch3时,遇到了一个结构体EXCEPTION_DEBUG_INFO. 这个结构体在MASM的windows.inc中的定义和MSDN中的定义不一样. (我使用 ...

  4. 【读书笔记《Android游戏编程之从零开始》】13.游戏开发基础(Paint 画笔)

    1.Paint画笔 Panit(画笔)是绘图额辅助类,其类中包含文字和位图额样式.颜色等属性信息.Paint 的常用方法如下: setAntiAlias(boolean aa) 作用:设置画笔是否无锯 ...

  5. Android群英传》读书笔记 (4) 第八章 Activity和Activity调用栈分析 + 第九章 系统信息与安全机制 + 第十章 性能优化

    第八章 Activity和Activity调用栈分析 1.Activity生命周期理解生命周期就是两张图:第一张图是回字型的生命周期图第二张图是金字塔型的生命周期图 注意点(1)从stopped状态重 ...

  6. 【读书笔记】《Java Web整合开发实践》第3章 JSP

    1. JSP:Java Server Pages 2. JSP注释:<%--注释内容--%> 3. page指令(页面指令):定义JSP页面的全局属性. <%@ page langu ...

  7. C++ Primer读书笔记(一)第一篇:C++概述,第一章:开始

    1. 主要内容 介绍程序语言的核心思想和C++的基本概念. 印象比较深刻的就是分而治之(divide and conque)的分解思想. 2. 知识广场 1) C++ 文件后缀 cc, cpp,,cx ...

  8. [读书笔记]《Android开发艺术探索》第十五章笔记

    Android性能优化 Android不可能无限制的使用内存和CPU资源,过多的使用内存会导致内存溢出,即OOM. 而过多的使用CPU资源,通常是指做大量的耗时任务,会导致手机变的卡顿甚至出现程序无法 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. 《深入理解bootstrap》读书笔记:第一章 入门准备

    一.bootstrap框架简介 Bootstrap是最流行的前端开发框架. 什么是框架:开发过程的半成品. bootstrap具有以下重要特性: (1)完整的CSS样式插件 (2)丰富的预定义样式表 ...

随机推荐

  1. vue跨行跨列动态表格生成

    一.思路步骤: 根据后台传输的数据进行格式转化: 索引为多少的时候进行跨行: <table id="table"> <thead> <tr> & ...

  2. mysql数据库查看版本号

    1.在命令行登录mysql,即可看到mysql的版本号 [root@mysql02 bin]# ./mysql -uroot -pEnter password: Welcome to the MySQ ...

  3. dp-状压dp

    https://www.bilibili.com/video/BV1Z4411x7Kw?from=search&seid=13855865082722302053 状压介绍: 状态表示: 转移 ...

  4. 使用NibiruSDK 坑

    最近有项目要接NibiruSDK ,在使用时需要用他们提供的软件,进行项目签名,在这里包名前必须是 com.dream.*** ,否则会导致签名失败而且没有任何提示.用DreamClass打开apk, ...

  5. ubuntu下安装使用jupyter

    sudo snap install jupyter安装,jupyter notebook使用,到浏览器访问服务URL这种使用方式不再赘述. 如何在服务端开启jupyter服务供客户端使用有待研究. 本 ...

  6. DOM状态监听(观察者模式)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. MOBI 】逆流而上的我:重塑心理韧性,在逆境中实现自我超越【早稻田大学名誉教授、哈佛大学客座研究

    书本详情 标题:逆流而上的我:重塑心理韧性,在逆境中实现自我超越[早稻田大学名誉教授.哈佛大学客座研究员加藤谛三的年度心理学温情巨作!掌握心理韧性,每个人都是生活的修行者!] | 加藤谛三 |年份:2 ...

  8. 莫烦Python 4

    莫烦Python 4 新建模板小书匠 RNN Classifier 循环神经网络 问题描述 使用RNN对MNIST里面的图片进行分类 关键 SimpleRNN()参数 batch_input_shap ...

  9. shell_Day09

    awk [单独的编程语言解释器] awk介绍 全称:Aho Weinberger Kernaighan 三个人的首字母缩写: 1970年第一次出现在Unix机器上,后来在开源领域使用它: 所以,我们在 ...

  10. java中indexOf()获取指定次数的下标

    indexOf() :指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置 Java中提供了四中查找方法: int indexOf(String str) 返回第一 ...