软件测试

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. 51nod 1594 Gcd and Phi

    Link 题解: $ans = \sum_{i = 1}^{n}\sum_{j = 1}^{n}phi(gcd(phi(i), phi(j)))$ $=\sum_{d = 1}^{n}phi(d)\s ...

  2. # huawei--流策略+NAT+单臂路由

    huawei--流策略+NAT+单臂路由 项目要求: 公司内部有两个网段,分别为192.168.1.0/24和192.168.2.0/24,使用路由器R1实现单臂路由,并配置流策略,使192.168. ...

  3. SpringBoot中常见问题

    Invalid bound statement(not found): 异常原因:编译之后的mapper文件中的.xml文件未编译, 解决方法:在pom.xml文件中添加如下配置,添加位置为build ...

  4. 重写Collections集合的排序比较CompareTo方法

    Collections.sort()使用该方法实际是重写Comparator接口的compare方法实现排序: //传入参数list集合,Comparator接口 T:list的元素类型 //如Lis ...

  5. SpringBoot代理图片、文件等路径

    在config文件夹下新增一个配置类即可 /** * @author cyl * @time 2022/10/25 */ @Configuration public class UrlConfig e ...

  6. JS日期时间增加减少

    new Date().add(Date.MONTH, +3).format('Y-m-d')  // 加三个月 new Date().add(Date.MONTH, -3).format('Y-m-d ...

  7. git提交命令

    链接:https://www.waimaiguai.com/technology/article/5425017来源:外卖怪 外卖怪技术学习git更新代码命令2022-08-17 02:56:11gi ...

  8. Dapper、EF、WebAPI转载记录

    轻量级框架Dapper基础 https://www.cnblogs.com/Sinte-Beuve/p/4231053.html   基本使用 https://www.cnblogs.com/hxzb ...

  9. redisTemplate实现分布式锁(释放锁用lua脚本)

    package com.xxx.platform.util; import org.springframework.beans.factory.annotation.Autowired; import ...

  10. Python3开启自带http服务

    1.基本方式Python中自带了简单的服务器程序,能较容易地打开服务.在python3中将原来的SimpleHTTPServer命令改为了http.server,使用方法如下: 1. cd www目录 ...