测试知识整理——基础篇
1、软件的概念——程序+数据+文档=软件
1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。
2)程序能够满意地处理信息的数据结构。
3)描述程序功能需求以及程序如何操作和使用所要求的文档。
以开发语言作为描述语言,可以认为:软件=程序+数据+文档
2、软件→软件危机→软件工程
软件危机:软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件工程:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
3、软件测试
定义1(Hetzel):评价一个程序和系统的特性或能力,并确认它是否达到预期的结果,检查是否满足规定的需求。
定义2(Myers):测试是为发现错误而执行程序的过程。
定义3(现代): 是对软件需求分析、设计、编码的最终复查的一系列过程,是软件质量保证的关键步骤。
4、测试目的
1、 发现缺陷,提高质量:发现并纠正软件中的错误来提高软件质量( 正面测试、反面测试)
2、 验证是否满足需求:验证软件的功能和性能等满足需求(功能需求、性能需求、可靠性需求等)
3、 建立软件质量的信心:测试报告提供软件质量的相关信息,建立起对软件质量的信心(正面测试是否充分、 反面测试是否充分)
5、测试工作流程
软件测试过程包括:
测试计划和控制
测试需求分析和用例设计
实现和执行测试用例
评估出口准则和报告
测试结束活动
计划 |
控制 |
分析 |
设计 |
识别测试任务 定义测试目标 定义为达到测试目标和任务所必须的测试活动 |
测试过程的监控应该贯穿所有测试活动 应该及时通过监控信息的反馈,适时的调整测试活动,比如调整测试计划 应该制定一些可度量的监控目标,从而监控测试过程 |
评审测试依据(比如需求、系统架构、设计和接口说明等) 评估测试依据和测试对象的可测性 通过对测试项、规格说明、测试对象行为和结构的分析,识别测试条件并确定其优先级 |
设计测试用例并确定优先级 确定测试条件和测试用例所需的必要的测试数据 规划测试环境的搭建和确定测试需要的基础设施和工具 |
6、基于生命周期的软件测试
V模型
V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系
V模型特点:
定义:基本的开发过程和测试行为
标明:测试过程中存在不同类型、不同级别的测试
描述:不同测试阶段和开发过程期间各阶段的对应关系
W模型:
W模型特点:
增加了软件各开发阶段中应同步进行的 验证 (verification)和 确认(validation) 活动。
基于“尽早地和不断地进行软件测试”的原则。
V模型和W模型的局限性
- 串行活动,无法更好适应变更:把软件的开发视为需求、设计、编码等一系列的串行活动,无法解决需求变更等变更调整。
- 线性的前后关系,无法有效支持迭代:开发和测试保持线性的前后关系,上一阶段完成才能开始下一阶段,无法有效,快速支持产品迭代。
- 测试完整性不足:顺序模型中没有很好体现测试流程的完整性。
生命周期各个阶段的测试内容
需求阶段
评估被测软件的风险,以此决定所采用的测试力度
- 软件工程统计结果发现
− 50%以上的系统错误是由于错误的需求或缺少需求导致的
− 超过80%的开销花在追踪需求的错误上
- 需求测试贯穿了整个软件开发周期,通过需求测试
− 可指导软件测试的各个阶段
− 可帮助我们设计整个测试的进行,测试计划怎样安排,测试用例怎样选取,软件的确认要达到哪些要求等
设计阶段
设计阶段的测试活动
- 在概要设计阶段,测试人员应阐述测试方法和测试评估准则,编写测试计划,成立测试小组,安排具有里程碑的测试日程
- 在详细设计阶段,测试人员要开发或获取确认支持工具,生成功能测试数据和测试用例
设计阶段的评审
- 对实际阶段处理的完整性进行正式的评价
编码阶段
在编程阶段完成测试用例开发,对程序进行实际的测试:
- 系统是否可维护
- 解决的首要问题是编码是否和设计一致
- 系统的规格说明是否正确地实现
- 编码是否按照既有的标准进行
- 是否有充分的测试计划评价可执行的程序
- 程序是否提供了足够的文档资料
- 程序内部是否有足够的注释等
测试阶段
- 在全生命周期软件测试方法中,由于在需求、设计、编码阶段都进行了测试,因此测试阶段的问题相对传统的软件测试中的问题要少一些
- 在测试阶段要进行第三方的正式确认测试,检验所开发的系统是否能按照用户提出的要求运行
- 在测试阶段要使得用户能成功地安装一个新的应用系统来进行测试
7、软件测试分类
四种软件测试级别
组件/单元测试、集成测试、系统测试、验收测试
转载于:https://www.cnblogs.com/jingzhenhua/p/6170221.html
测试知识整理——基础篇相关推荐
- 个人知识整理(javascript篇初识)
个人知识整理(javascript篇初识(简介 书写方式 注释)) 一个小前端~突然想写点什么-算是梳理一下自己的知识吧 Javscript 简介 浏览器本身并不会执行JS代码,而是通过内置 Java ...
- jqGrid 学习笔记整理——基础篇
jqGrid 学习笔记整理--基础篇 jqGrid 实例中文版网址:http://blog.mn886.net/jqGrid/ 国外官网:http://www.trirand.com/blog/ 本人 ...
- 知识图谱 | 基础篇
知识图谱 | 基础篇 1 什么是知识图谱? 1.1 图形角度 1.2 数据角度 1.3 技术角度 2 知识图谱和机器学习的关系? 2.1 部分应用殊途同归 2.2 部分应用相结合 2.3 过程中可以互 ...
- SpringBoot系统整理|基础篇|黑马视频
写在前面:很早之前看了狂神的springboot快速入门,后来发现还是有很多开发知识点需要补充学习.乘着假期,将基础篇.运维实用篇.开发实用篇.原理篇一口气学习巩固,再次记录下学习笔记.系列笔记在sp ...
- 资料搜集-JAVA系统的梳理知识5-JAVA基础篇JVM
<!-- TOC -->- [Collections 工具类和 Arrays 工具类常见方法](#collections-工具类和-arrays-工具类常见方法)- [Collection ...
- JavaWeb知识整理-增强篇
1.Java基础 1.1.序列化和反序列化的底层实现原理 定义? 序列化:把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中.传递或者保存对象时,保证对象的完整性或可传递性. 反序列化:客户 ...
- Java知识积累-基础篇
把前段时间看过的内容,结合面试经历,作以整理,持续改进:D Java基础 JVM emmmm,为什么把JVM放第一个咧-- 主要是因为之前某次面试的时候被问到"从宏观角度怎么看Java&qu ...
- JVM知识整理----基础和垃圾处理
JVM java概述 java体系 java程序语言 java虚拟机实现 class文件格式 java类库api 第三方类库 javaSE javaEE javaME java历史 1991年4月 J ...
- java如何把查到的对象集合放入 展示对象list中_Java面试整理-基础篇8.集合1
1.Java中常见的集合及其关系? 2.ArrayList.LinkedList.Vector的区别? 1. LinkedList.ArrayList.Vector都是List接口的子类:Linked ...
最新文章
- 常用的NSLOG日志打印格式
- JMetro版本11.6.5和8.6.5发布
- 通过Small Basic把儿子/女儿带入编程的世界
- 超融合将成为数据中心技术应用主流
- idea debug端口被占用
- 英特尔技术领导委员会(GTC) 专题系列之主席致辞
- 太强了,头发丝完整保留!一个开源的 Python 实时视频抠图工具
- Faster R-CNN算法详细流程
- 微软日语输入法安装及简单教程(深度技术 ghost xp)
- 英伟达驱动更新记录_英伟达GeForce显卡驱动411.63版更新内容
- Android vivo美颜相机相册 照亮你的美 图片压缩 图片滤镜,裁剪(附带完整项目源码)
- 计算机软件工程国家标准汇编目录
- css空心三角形_纯CSS制作空心三角形和实心三角形及其实现原理
- Vue引用原生高德地图标注
- 鸣人和佐助(记忆化广搜)
- Odoo11入门请假单模块学习教程源码
- PTA L1-062 幸运彩票 C++实现
- 网站安全在线扫描工具
- Jmeter 参数化中文乱码问题
- java实现时钟表盘教程方法