电子科技大学软件工程期末复习笔记(七):测试策略
目录
前言
重点一览
V模型
回归测试
单元测试
集成测试
重要概念
自顶向下的集成方法
自底向上的集成方法
SMOKE方法
系统测试
验收测试
α测试
β测试
本章小结
前言
本复习笔记基于王玉林老师的课堂PPT与复习大纲,供自己期末复习与学弟学妹参考用。
重点一览
V模型
V模型非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段对应关系:
- 单元测试的主要目的是验证软件模块是否按详细设计的规格说明正确运行;
- 集成测试的主要目的是检查多个模块间是否按概要设计说明的方式协同工作;
- 系统测试的主要目的是验证整个系统是否满足需求规格说明;
- 验收测试从用户的角度检查系统是否满足合同中定义的需求,以及确认产品是否能符合业务上的要求
回归测试
有选择的重新测试系统或其组件,以验证对软件的修改没有导致不希望出现的影响,以及系统或组件仍然符合其指定的需求。
回归测试可以在所有的测试级别执行,并且应用于功能和非功能测试中。
回归测试应该尽量采用自动化测试
单元测试
单元:
- 面向过程的语言:函数/过程
- 面向对象的语言:成员函数/类本身
主要依据:
- 是详细设计,不是针对代码的测试
- 因为未测代码可能包含错误和缺陷,如果依照其测试,则可能无法发现一些错误
主要内容:
- 模块接口
- 局部数据结构
- 边界条件
- 独立路径
- 出错处理
集成测试
重要概念
桩模块:用以代替被测模块调用的子模块,可以做少量数据操作
驱动模块:相当于被测模块的主程序,接受测试数据传送给被测模块,最后输出实测结果
自顶向下的集成方法
将模块按系统程序结构,沿控制层次自顶向下进行集成,从属于主控模块的按深度优先方式或广度优先方式集成到结构中去。
优点:较早验证了主要的控制和判断点;选用了按深度方向集成的方式,可以首先实现和验证一个完整的软件功能
缺点:桩的开发量较大
自底向上的集成方法
从软件最底层模块开始,按照接口依赖关系逐层向上集成进行测试。
优点:每个底层模块都得到测试,不需要桩模块。
缺点:每个模块都需要编写驱动模块;缺陷的隔离和定位不如自顶向下。
SMOKE方法
系统最基本功能的测试,快速验证基本功能,在软件代码正是编译并交付测试以前先尽量消除其表面的错误,减少后期测试成本。
优点:节省测试时间,防止构造失败
缺点:覆盖率比较低
系统测试
主要内容有:功能性测试、性能测试、压力测试、恢复测试、安全测试、其他测试(配置测试、兼容性测试、本地化测试、文档测试、易用性测试)
验收测试
时间:通过系统有效性测试及软件配置审查以后,开始系统验收测试。
人员:以用户为主,开发人员和质量保证员也应参加。
内容:由用户参加设计测试用例,使用生产中的实际数据进行测试。
α测试
由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。
β测试
由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信息给开发者。
本章小结
- 测试的通用V模型定义了测试的基本级别:单元测试、集成测试、系统测试和验收测试
- 单元测试检查单一的软件组件。集成测试检查这些组件的协调。系统测试从用户角度检查整个系统。在验收测试时,客户采用根据合同进行的验收测试、操作验收测试和用户验收测试来检查产品
- 在测试的各个级别中,在修改程序后,都要执行回归测试
- 测试有多种类型:功能测试、性能测试、压力测试、恢复测试和安全测试等
- 由于软件测试不可能发现所有的软件缺陷,因此可以用对数泊松执行时间模型估计测试终止的时间
- 要保证测试工作的顺利进行,需要对测试进行有效组织,要尽量避免由开发人员测试自己的代码
相关文章:
电子科技大学软件工程期末复习笔记(七):测试策略
目录 前言 重点一览 V模型 回归测试 单元测试 集成测试 重要概念 自顶向下的集成方法 自底向上的集成方法 SMOKE方法 系统测试 验收测试 α测试 β测试 本章小结 前言 本复习笔记基于王玉林老师的课堂PPT与复习大纲,供自己期末复习与学弟学妹参考用…...
逆向-还原代码之除法 (Interl 64)
除法和32位差不多,毕竟背后的数学公式是一样的。区别只是32位的乘法需要两个寄存器来存放大数相乘的结果,而64位的不需要,一个寄存器就能存下。所以在64位的环境下,多了右移32位这条指令,其他指令一样。 //code #incl…...
Python WebDriver自动化测试
Webdriver Selenium 是 ThroughtWorks 一个强大的基于浏览器的开源自动化测试工具,它通常用来编写 Web 应用的自动化测试。 Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是…...
2023年微信小程序获取手机号授权登录注册详细教程,包含服务端教程
前言 小程序中有很多地方都会用到用户的手机号,比如登陆注册,填写收货地址等等。有了这个组件可以快速获取微信绑定手机号码,无须用户填写。网上大多数教程还是往年的,而微信官方的api已做了修改。本篇文章将使用最新的方法获取手…...
YOLOv8模型学习笔记
在前面的章节中博主学习了YOLOv5的相关知识,从YOLOv5的数据增强处理到模型设计,从正负样本匹配策略到LOSS设计,今天博主学习的是YOLOv8,同为ultralytics公司的产品,两者无论是思想层面还是具体的设计方面都有着异曲同工…...
Java SE知识点1
一、continue、break、和return的区别是什么? 在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要 在循环的过程中,当发生了某种条件之后 ,提前终止循环,这就需要用到下面几个关键词: 1. continue :指跳出当前的这一次循环,…...
华为OD机试模拟题 用 C++ 实现 - 端口合并(2023.Q1)
最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明端口合并题目输入输出示例一输入输出说明示例二输入输出说明示例三输入输出说明...
C++ Primer Plus 第6版 读书笔记(3) 第3章 处理数据
目录 3.1 简单变量 3.1.1 变量名 *位与字节 3.1.4 无符号类型 3.1.7 C如何确定常量的类型 C是在 C 语言基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言,是C语言的超集。本书是根据2003年的ISO/ANSI C标准编写的,通过大量短…...
ArrayList源码解读
参数 //默认初始容量private static final int DEFAULT_CAPACITY 10;//空数组(用于空实例)private static final Object[] EMPTY_ELEMENTDATA {};//用于默认大小空实例的共享空数组private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA {};//保存数据的数组tra…...
python实战应用讲解-【语法高级篇】时间与日期(附python示例代码)
目录 保持时间、计划任务和启动程序 time 模块 time.time() 函数 time.sleep() 函数 Python3 日期和时间...
D. Moscow Gorillas(双指针 + 区间分析)
Problem - D - Codeforces 在冬天,莫斯科动物园的居民非常无聊,尤其是大猩猩。你决定娱乐他们,带了一个长度为n的排列p到动物园。长度为n的排列是由n个从1到n的不同整数以任意顺序组成的数组。例如,[2,3,1,5,4]是一个排列…...
华为OD机试题,用 Java 解【相同数字的积木游戏 1】问题
最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…...
Python实现GWO智能灰狼优化算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。1.项目背景灰狼优化算法(GWO),由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优…...
无线蓝牙耳机哪个牌子好?2023质量好的无线蓝牙耳机推荐
近几年,随着蓝牙技术的不断进步,使用蓝牙耳机的人也越来越多。蓝牙耳机的出现,不仅能让我们摆脱线带来的约束,还能提升我们学习和工作的效率。最近看到很多人问,无线蓝牙耳机哪个牌子好?下面,我…...
Qt之QTableView自定义排序/过滤(QSortFilterProxyModel实现,含源码+注释)
一、效果示例图 1.1 自定义表格排序示例图 本文过滤条件为行索引取余2等于0时返回true,且从下图中可以看到,奇偶行是各自挨在一起的。 1.2 自定义表格过滤示例图 下图添加两列条件(当前数据大于当前列条件才返回true,且多个列…...
电商(强一致性系统)的场景设计
领域拆分:如何合理地拆分系统? 一般来说,强一致性的系统都会牵扯到“锁争抢”等技术点,有较大的性能瓶颈,而电商时常做秒杀活动,这对系统的要求更高。业内在对电商系统做改造时,通常会从三个方面…...
算法与数据结构(一)
一、时间复杂度 一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。 时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作big O)来表示。具体来说,这个算法流程中,发生了多…...
【Python】元组如何创建?
嗨害大家好鸭!我是小熊猫~ Python 元组 Python 的元组与列表类似, 不同之处在于元组的元素不能修改。 元组使用小括号,列表使用方括号。 元组创建很简单,只需要在括号中添加元素, 并使用逗号隔开即可。 如下实例…...
qt操作文件以及字符串转换
//从文件加载英文属性与中文属性对照表QFile file(":/propertyname.txt");if (file.open(QFile::ReadOnly)) {//QTextStream方法读取速度至少快百分之30#if 0while(!file.atEnd()) {QString line file.readLine();appendName(line);}#elseQTextStream in(&file)…...
数组中只出现一次的两个数字(异或法思路)
题目简介 一个数组中只有2个数字只有一个,其他数字都有两个。找出这两个数字。a, b 用HashMap记录就不说了。 这里记录一下用异或的方式解决。 由于异或特性为自己异或自己为0。a^a 0;所以可以异或数组中的所有数字得出 a^b 的结果,其他相同的都消掉…...
python支持的操作系统有哪些
支持python开发环境的系统有Linux、OSX和windows,以及所有主要的操作系统中。 Linux,Linux系统是为编程而设计的,因此在大多数Linux计算机中,都默认安装了Python。编写和维护Linux的人认为会使用这种系统进行编程。要在Linux中运…...
S3C2440开发环境搭建
拿出了之前的S3C2440开发板,然后把移植uboot、移植内核、制作根文件系统、设备树编写驱动等几项再做一遍,这篇文章先记录下环境搭建过程,以及先把现成的uboot、内核、根文件系统下载进去,看看开发板还能不能用,先熟悉一…...
软件测试之测试用例
测试用例 1. 测试用例定义 测试用例又叫做test case,是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 2. 编写测试用例的原因 2.1 理清思路,避免遗漏 如果测试的项目大而复杂&#…...
null和undefined的区别有哪些?
null和undefined的区别有哪些?相同点不同点undefinednull总结相同点 1.null和undefined都是js的基本数据类型 2.undefined和null都是假值(falsy),都能作为条件进行判断,所以在绝大多数情况下两者在使用上没有区别 if(undefined)…...
【强烈建议收藏:计算机网络面试专题:HTTP协议、HTTP请求报文和响应报文、HTTP请求报文常用字段、HTTP请求方法、HTTP响应码】
一.知识回顾 之前我们一起学习了HTTP1.0、HTTP1.1、HTTP2.0协议之前的区别、以及URL地址栏中输入网址到页面展示的全过程&&DNS域名解析的过程、HTTP协议基本概念以及通信过程、HTTPS基本概念、SSL加密原理、通信过程、中间人攻击问题、HTTP协议和HTTPS协议区别。接下来…...
关于Java中的静态块讲解
文章目录类的加载特性与时机类加载的特性类加载的时机static的三个常用地方什么是静态块?特点写法静态块 static怎么用?类的加载特性与时机 在介绍static之前可以先看看类的相关 类加载的特性 在JVM的生命周期里,每个类只会被加载一次。 类加载的原则…...
ledcode【用队列实现栈】
目录 题目描述: 解析题目 代码解析 1.封装一个队列 1.2封装带两个队列的结构体 1.3封装指向队列的结构体 1.4入栈函数实现 1.5出栈函数实现 1.6取栈顶数据 1.7判空函数实现 题目描述: 解析题目 这个题我是用c语言写的,所以队列的pu…...
【基础算法】双指针----字符串删减
🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…...
Billu靶场黑盒盲打——思路和详解
一、信息收集 1、探测内网主机IP可以使用各种扫描工具比如nmap,我这里用的是自己编写的。 nmap -n 192.168.12.0/24 #扫描IP,发现目标主机 2、先不着急,先收集一波它的端口(无果) nmap -n 192.168.12.136 -p 1-10000…...
【2363. 合并相似的物品】
来源:力扣(LeetCode) 描述: 给你两个二维整数数组 items1 和 items2 ,表示两个物品集合。每个数组 items 有以下特质: items[i] [valuei, weighti] 其中 valuei 表示第 i 件物品的 价值 ,we…...
郑州市人民政府/广州seo排名收费
在安卓模拟器上跑flutter 工程的时候,遇到了如下的报错 Cannot resolve symbol ‘Properties’ Cannot resolve symbol ‘GradleException’ 解决方法 打开file—> project structure ->modules -> android 工程 — modules SDK 选择一个sdk即可 然后还…...
为什么做网站越早越好/百度排名
我有一个监视套接字连接的服务.当连接丢失时,需要显示Toast,通知用户它正在重新连接.这是第一次工作正常.之后,我在日志中看到了enqueueToast,但是没有显示吐司.任何想法都赞赏我以为这会是一件容易的事情,但是我一定是缺少一些东西.日志条目INFO/NotificationService(118): en…...
什么企业需要网站建设/百度还原
在使用Excel统计数据时,有时会用条件格式等方法把一些符合特定条件的单元格标记成某种颜色。例如把成绩表中分数在60分以上的单元格用颜色标记出来,但标记颜色后有时可能还需要对已标记颜色单元格的数量进行统计,从而知道究竟有多少个人达到了…...
如何网站做外贸生意/网站查询ip
概述为了增加用户体验,可能要求在一个APP中打开另外一个APP的需求,一般分为三种:显式调用跳转隐式调用跳转URL Scheme跳转代码用到的一些公共方法,当打开APP时,检测到第三方APP没安装时调到应用市场进行下载࿰…...
荥阳郑州网站建设/网络营销公司是做什么的
1.把snmpdiskio文件上传到被监控服务器的/usr/local/bin目录下;2.把解压之后文件夹下的 partition.xml上传到cacti监控服务器的/xxx/cacti/resource/snmp_queries/目录下。3、导入2个模板:cacti_graph_template_disk_io_bytessec.xmlcacti_data_query_snmp_disk_sta…...
网站后台培训方案/百度广告代理商
一、什么是CDN? 内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。CDN应用广泛,支持多种行业、多种场景内容加速ÿ…...