软件测试(白盒测试入门之gtest测试)
一、gtest是什么
gtest全程为GoogleTest,是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。
如何去下载,调用,这个可以去找下相关教程,还需要先学下cmake相关的知识。篇幅有限,我们有空再讲。
二、gtest能做什么
gtest提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”
我们直接举个栗子:
我们写了一个a+b的加法函数,输入2个int型的数,返回它们的和。
我们调用这个函数,然后输入设计的参数,与预期的值进行比对。比如我们输入1,2.我们预期它返回的值为3.
TEST宏是gtest提供的一个测试宏,它有2个参数,第一个为测试套件名称,第二个为具体用例名称。这2个名字,都是我们可以自己随意写的。
gtest提供了2个断言宏ASSERT和EXPECT。
ASSERT_——如果当前点检测失败则退出当前函数
EXPECT_——如果当前点监测失败则继续往下执行
EQ表示数值型数据检查,预期值与实际值相同。
这里我们可以粗略的介绍下其他类型的断言
下面那个main方法,是gtest的固定写法,可以先不管,有兴趣可以点进去看下源码。
最后,我们运行下这个测试demo,看下测试结果
从图上,我们可以清晰的看到,哪些测试套件、测试用例运行是否成功。
这里,我们也可以故意写个错的,看下失败的展示样子
从结果从,我们看到,它显示测试不通过,并且指出了测试不通过的位置,函数。非常的好用。
好了,这个demo讲解就到这了,我们后续再去了解下gtest的事件机制、参数化、死亡测试等内容
软件测试(白盒测试入门之gtest测试)相关推荐
- 软件测试--白盒测试、黑盒测试、α测试、β测试
测试的目的:尽可能多的发现缺陷,比如功能的错误,性能低下,易用性差. 测试的思路:先假设程序存在什么缺陷,然后执行程序来发现缺陷. 测试类型:白盒测试,黑盒测试. 主要发现以下问题:是否有不正确或遗漏 ...
- Gtest 测试指导 入门基础(A)
Gtest 测试指导 入门基础(A) Table of Contents • 1 Gtest的基本使用,包括下载,安装,编译. o 1.1 下载 o 1.2 编译 1.2.1 Gtest静态库的编 ...
- 软件测试工程师入门面试理论题库(一)
软件测试工程师入门面试理论题库 1,软件测试的定义:通过运行被测试的软件,发现软件的问题和错误来对软件进行质量评估. 2,测试的范围:程序,程序所用的数据及相关文档. 3,测试的风险:进度风险,质量风 ...
- 软件测试笔记——3.多种多样的测试类型
前言 在之前的<软件测试笔记--1.什么是软件测试-定义.类型.方法?>中也曾经提高过测试的种类非常多,不同的术语往往让新人或者入行不久的测试人员望而生畏,对于开发也是同样的.这里推荐一个 ...
- 软件测试-白盒测试:逻辑覆盖
逻辑覆盖 参考文献: 软件测试第4章白盒测试一 软件测试--白盒测试 白盒测试-覆盖测试(六种覆盖方法) 几种常用的逻辑覆盖测试方法 目的:结构测试是依据被测程序的逻辑结构设计测试用例,驱动被测程序运 ...
- 24岁本科女生培训入门,学测试和前端哪个好?
无论是从年龄还是从学历来说,学这两个学科都是没有任何问题的,两个学科从发展前景和薪资,技术难度方面来说都是相对比较适合女生去学习的.那么你现在的出发点就应该换到,自己对哪个学科更感兴趣,更能学习下去, ...
- 工资软件测试白盒测试报告,软件测试白盒测试实验报告
<软件测试白盒测试实验报告>由会员分享,可在线阅读,更多相关<软件测试白盒测试实验报告(7页珍藏版)>请在人人文库网上搜索. 1.西南科技大学计算机学院实验报告实 验 名 称 ...
- 软件测试用例白盒测试,软件测试白盒测试测试用例与代码.doc
软件测试白盒测试测试用例与代码 实验二 白盒测试 1.实验目的 能熟练应用白盒测试技术设计测试用例 2.实验内容 计算生日是星期几 已知公元1年1月1日 是星期一.编写一个程序,只要输入年月日,就能回 ...
- 软件测试 白盒测试案例--代码输入日期计算星期数
文章目录 软件测试 白盒测试案例--代码输入日期计算星期数 一.实验内容 二.实验步骤 三.实验结果 软件测试 白盒测试案例–代码输入日期计算星期数 一.实验内容 以下代码为输入日期计算星期数.对其代 ...
- 《软件测试》第八章 配置测试
<软件测试>第八章 配置测试 8.0 前言 8.1 配置测试综述 8.1.1 分离配置缺陷 8.1.2 计算工作量 8.2 执行任务 8.2.1 确定所需的硬件类型 8.2.2 确定有哪些 ...
最新文章
- 遥感图像+CNN,预测区域人口收入水平
- 程序员福音-定时提醒bat
- Git命令家底儿及Git数据通信原理详解
- 算法基础课-动态规划-区间dp-AcWing 282. 石子合并:区间dp
- vue上传文件到php,vue+axios+php如何实现上传文件功能?,formdata上传文件附加参数...
- 使用gradle-android搭建jenkins slave构建机器常见构建问题(二)
- ffmpeg中文开发手册_快速调用复杂命令,支持中文注释,命令行备忘工具navi两天就火了...
- 插入数据的时候出现错误:Error during job, obtaining debugging information…
- java堆和非堆_java 堆与非堆 内存
- 第五节:一个令人兴奋的ES6新特性:解构赋值
- [一分钟先生]涂勇:通过跳槽走上管理岗位不可取
- “双击Pycharm无响应”解决方案
- 2.mysql高级查询
- vue 下载文件的两种方法
- 【xinfanqie】美女逢泽莉娜win7主题_8.3
- 跨境电商独立站,如何找到更多联盟流量资源
- Linux运维工程师必看:如何成为一个合格的运维工程师
- 2种方式!带你快速实现前端截图
- 小米路由r2d论坛_小米路由R2D,拼夕夕翻车了没
- 【python学习小案例】提高兴趣之BMI计算器
热门文章
- vs2010最佳配色选择_2010年代35部最佳电影
- Springboot+高校考勤小程序 毕业设计-附源码131039
- stdafx.h头文件代码
- 图像处理笔记1一上采样与下采样
- c语言16qam,基于SIMULINK的OFDM-16QAM系统仿真与分析
- l440加装固态硬盘ngff_[转载]Thinkpad E431装NGFF固态硬盘图文详解
- python画正切函数图像_python的pygal模块绘制反正切函数图像方法
- db2 中sql 拼接字符串
- 国家统计局统计用区划和城乡划分代码
- 公众号H5跳转小程序