软件测试

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. CloudFlare Workers部署Pixiv图片反代

    CloudFlare Workers部署Pixiv图片反代 众所周知,pixiv的图片伺服器网域为i.pximg.net,因为有盗连保护,只要Referer是空值或不是来自pixiv的网域就会返回40 ...

  2. 论文阅读: CCF A 2022 MVD: 基于流敏感图神经网络的内存相关漏洞检测 (ICSE)

    Motivation: 内存相关漏洞会导致性能下降和程序崩溃,严重威胁到现代软件的安全性. 静态分析方法使用一些预定义的漏洞规则或模式来搜索不正确的内存操作,然而,定义良好的漏洞规则或模式高度依赖于专 ...

  3. 2022-05-07内部群每日三题-清辉PMP

    1.项目需要一位熟练的工程师来执行某个特定任务,但由于工作量大,该工程师不能参与这个项目.项目经理下一步应该怎么做? A.修改进度计划,以适应该资源 B.与职能经理协商该资源的参与 C.培训项目团队中 ...

  4. LeetCode(Java版)

    两数之和 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15 ...

  5. 删除启动台(LaunchPad)残留的图标

    忘记什么版本的时候以前在 "应用程序" 删除应用后,启动台自动更新删掉 不知道什么时候开始,直接在 "应用程序" 里删掉后,启动台居然不能删除了-- 10.13 ...

  6. pip安装psycopg2报错Could not find a version that satisfies the requirement psycopg2

    pip安装psycopg2报错 在使用命令(pip install psycopg2)安装psycopg2时,会报错: ERROR: Could not find a version that sat ...

  7. linux下启动rabbitmq,redis,nginx

    这只是其中一种启动方法,也是我自己安装好后试过多次可以用的, 1,启动rabbitmq rabbitmqctl start_app rabbitmq程序端口是5672,可视化界面入口端口是15672, ...

  8. Postman中的测试脚本(Test scripts)

    一.postman测试脚本 测试脚本是在发送请求之后运行的,并且已经从服务器接收到响应. 二.测试举例 1.设置环境变量 pm.environment.set("variable_key&q ...

  9. 在Excel中创建随机数据集

    1.随机小数0-1之间 =RAND() 2.随机整数1-100之间 =RANDBETWEEN(1,100) 3.生成一定比例的随机数0或1 =IF(RAND()>=0.8,1,0) 4.生成一定 ...

  10. scrollIntoView()方法将元素滚动到浏览器窗口的可见区域

    TIPS:容器可滚动时才有用! 语法 element.scrollIntoView(); // 等同于element.scrollIntoView(true) element.scrollIntoVi ...