(读书笔记)基于CMMI的软件工程及实训指导(13-16章)
软件测试
1.定义:
使用人工或自动的手段来运行或测试某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
简单来说,软件测试是为了发现程序中的错误而执行的过程。
2.软件缺陷:
- 软件未达到产品说明书(简称,SPEC)表名的功能。
- 软件出现了产品说明书指明不会出现的错误。
- 软件功能超出了产品说明书指明范围。
- 软件未达到产品说明书虽然未指出但应达到的目标,此条的目的是抓住产品说明书上遗漏之处。
- 软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
3.软件测试的原则:
- 完全测试程序是不可能的,不可能找出软件的所有缺陷。
- 软件测试是有风险的行为。
- 测试无法显示潜伏的软件缺陷。
- 软件缺陷就像是生活中的寄生虫一样,两者都是成群出现的。
- 软件对测试方法及技术也有免疫力,只有发明新的测试技术或方法。
- 并非所有的软件缺陷都能修复。
- 难以说清的软件缺陷,对其理解不一致。
- 产品说明书的不断变化。
4.软件的版本:
- Alpha版--公司内部测试的版本
- Beta版--对外发布公测
- 发布版--正式发布版本,一般在Beta3之后软件正式发布
5.软件测试分类:
5.1特性分类
- 白盒测试(语句测试、分支测试、路径测试、条件测试,目测)
- 灰盒测试(介于白盒与黑盒之间)
- 黑盒测试(功能测试)
5.2要求分类
- 基本功能测试
- 全面测试
- 基准测试
5.3软件特性
- 功能测试
- 非功能测试
5.4开发过程分类
- 单元测试
- 集成测试
- 系统测试
- 用户验收测试
- 用户验收测试
6.自动化测试:
6.1应用方面
- 回归测试
- 涉及大量不同数据输入的功能测试
- 用手测完成难度较大的测试
6.2步骤
- 编写测试用例
- 分析、验证测试用例
- 对已有测试用例归类,制定自动化计划方案
- 编写自动化测试程序
- 尽量用“数据驱动”来提高测试覆盖率
- 将测试用例编写成自动化测试程序
- 执行测试程序,记录并反馈BUG
- 不断完善自动化测试系统或程序
7.BUG管理流程
7.1通用
- bug登记
- 指派任务
- 修改bug
- 验证
- 关闭
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章)的更多相关文章
- [在职软件工程]基于CMMI的软件工程教程
第1章 软件工程基础 1.1软件工程基本原理 a.按照软件生命周期的阶段划分制定计划,严格依据计划进行管理 项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划 b.坚持进行阶 ...
- 读书笔记,《深入理解java虚拟机》,第三章 垃圾收集器与内存分配策略
要实现虚拟机,其实人们主要考虑完成三件事情: 第一,哪些内存需要回收: 第二,什么时候回收: 第三,如何回收. 第二节,对象已死吗 垃圾收集其实主要是针对java堆里面的数据来说的,传统的垃圾收 ...
- 读书笔记——Windows环境下32位汇编语言程序设计(13)关于EXCEPTION_DEBUG_INFO结构体
在动手自己尝试编写书上第13章的例子Patch3时,遇到了一个结构体EXCEPTION_DEBUG_INFO. 这个结构体在MASM的windows.inc中的定义和MSDN中的定义不一样. (我使用 ...
- 【读书笔记《Android游戏编程之从零开始》】13.游戏开发基础(Paint 画笔)
1.Paint画笔 Panit(画笔)是绘图额辅助类,其类中包含文字和位图额样式.颜色等属性信息.Paint 的常用方法如下: setAntiAlias(boolean aa) 作用:设置画笔是否无锯 ...
- Android群英传》读书笔记 (4) 第八章 Activity和Activity调用栈分析 + 第九章 系统信息与安全机制 + 第十章 性能优化
第八章 Activity和Activity调用栈分析 1.Activity生命周期理解生命周期就是两张图:第一张图是回字型的生命周期图第二张图是金字塔型的生命周期图 注意点(1)从stopped状态重 ...
- 【读书笔记】《Java Web整合开发实践》第3章 JSP
1. JSP:Java Server Pages 2. JSP注释:<%--注释内容--%> 3. page指令(页面指令):定义JSP页面的全局属性. <%@ page langu ...
- C++ Primer读书笔记(一)第一篇:C++概述,第一章:开始
1. 主要内容 介绍程序语言的核心思想和C++的基本概念. 印象比较深刻的就是分而治之(divide and conque)的分解思想. 2. 知识广场 1) C++ 文件后缀 cc, cpp,,cx ...
- [读书笔记]《Android开发艺术探索》第十五章笔记
Android性能优化 Android不可能无限制的使用内存和CPU资源,过多的使用内存会导致内存溢出,即OOM. 而过多的使用CPU资源,通常是指做大量的耗时任务,会导致手机变的卡顿甚至出现程序无法 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- 《深入理解bootstrap》读书笔记:第一章 入门准备
一.bootstrap框架简介 Bootstrap是最流行的前端开发框架. 什么是框架:开发过程的半成品. bootstrap具有以下重要特性: (1)完整的CSS样式插件 (2)丰富的预定义样式表 ...
随机推荐
- Linux编辑器
Vim 安装: yum install vim $ vim test.cnf --打开文件 命令模式: i --切换到输入模式,以输入字符 : --切换到底线命令模式,以在最底一行输入命令 输入 ...
- js判断任意数值接近数组中的某个值
可以是数组,也可以是数组对象,看需求定义 let val = '' for (let i = 0; i < this.allData.length; i++) { if (this.days & ...
- SVN检出未响应,版本库浏览打不开卡死。
今天遇到一个奇葩问题. 1.换了新电脑,首先SVN地址没问题.检出就未响应,不弹出输入用户名,密码. 2.发现装了讯软加密软件,后安装的SVN.(未告知管理员,对新机加密软件配置).配置完可以正常用了 ...
- iOS 制作一个动态库
方式一 1.新建一个framework 命名为test 2.将build archive architecture only 改成 NO 3.将Mach-O Type 改成 static Lib ...
- vue.js----之router详解(三)
在vue1.0版本的超链接标签还是原来的a标签,链接地址由v-link属性控制 而vue2.0版本里超链接标签由a标签被替换成了router-link标签,但最终在页面还是会被渲染成a标签的 至于为什 ...
- Visual Studio Code 如何设置成中文语言
Visual Studio Code 是一款微软的代码编辑器,这款软件是比较不错的,用起来也比较方便,但是好多人在第一次安装的时候展现的是英文的,这对于一些小伙伴是比较头疼的问题,那如何调整为中文的呢 ...
- vxWidgets(二):接口文档
第一章 介绍 在这一章中,我们会回答这样一些基本的问题:wxWidgets是什么,它和别的类似的开发库有什么不同.我们还会大概说一下这个项目的历史,以及wxWidgets社区的工作,它采用的许可协议, ...
- [267] High Five
[267] High Five Client 00 SendLogOut 01 RequestAttack 03 RequestStartPledgeWar 04 RequestReplyStartP ...
- docker 搭建minio
minio为开源的高可用分部署对象存储服务组件,已经提供了分布式部署的解决方案,实现高可靠.高可用的资源存储,MinIO以极简主义为指导进行设计,追求极致的维护精简性和卓越的读写性能表现. -dock ...
- springboot项目基于mybatis-plus创建逆向工程
pom 依赖 <!--web 依赖--><dependency> <groupId>org.springframework.boot</groupId> ...