单元测试

springboot 2.0.5.RELEASE单元测试例子

假装没事ソ 提交于 2020-01-22 12:55:09
springboot版本:2.0.5.RELEASE jdk:1.8 目标,根据一个properties文件获取内容,并添加到对象上。并通过springboot单元测试 在esources根目录下添加other.properties文件 other.properties内容 other.title=burns other.blog=http://zhongyuele.top/ 在com.esoon.ids.entity包中创建OtherProperties类 OtherProperties.java package com.esoon.ids.entity; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; @Component @Data @ConfigurationProperties(prefix = "other") @PropertySource(("classpath:other.properties"))

自动化测试入门

帅比萌擦擦* 提交于 2020-01-22 10:42:19
1 初识自动化测试 如果以前没有做过自动化测试,那么就不了解自动化测试,可能会觉得自动化测试比较神秘,但是,我们在日常的计算机操作中,可能会碰到一些自动化处理的过程,这些过程和自动化测试比较接近。 例如, Windows操作系统的控制面板中,有一项功能: 任务计划向导 。 DOS批处理文件,直到今天的Windows Vista还在使用它。它更接近自动化测试。 上述的自动化处理过程还不是测试,因为 测试的重要一点是须要验证 ,将实际执行的结果和用户期望的结果进行比较。没有这个比较,就不是自动化测试。 2 自动化测试和手工测试有什么不同 亲手做过自动化测试之后,我们对自动化测试就有了一个感性的认识,至少有下列几点感觉:   l 机器人从来就不会感觉累   l 自动化测试的速度,是手工测试无法比的   l 测试结果准确。例如搜索用时即使是0.33秒或0.24秒,系统都会发现问题,不会忽视任何差异。   l 一旦脚本完成,可以一劳永逸地运行很多遍,重复使用。 从这里就可以初步体会到自动化测试的优越性―― 高效率、准确可靠 和 复用性 。同时,自动化测试也有不利的一面,即在 创造性、发现新缺陷 等方面能力不足。 有资料显示,即使自动化测试实施良好,也只能发现软件系统中30%的问题,而70%的问题还要靠手工测试发现。所以 自动化测试更适合于负载测试、性能测试和回归测试 。 概括起来

【华为云技术分享】【测试微课堂】测试金字塔和持续自动化测试

£可爱£侵袭症+ 提交于 2020-01-21 13:07:14
敏捷和DevOps开发模式下,产品要具备随时可发布的能力,本文介绍如何应用测试金字塔和CI/CD持续自动化测试实现高效的测试反馈,保障随时发布产品的质量。 测试金字塔 自动化测试金字塔 最早是由Mike Cohn在2009年的著作《Succeedingwith Agile: Software Development using Scrum 》(《Scrum敏捷软件开发》)中提出。最早提出来的时候是一个三层的金字塔,从上到下分别是UI界面/Service服务/Unit单元测试,随着敏捷测试的不断推进,测试金字塔出现一些变种。实际使用中不用太拘泥于每层的名字,在服务化软件架构中Service层也可以理解为 API测试。 这种下宽上窄的三角形结构,代表在各层自动化的建议投入分配比例,越接近底层的单元测试建议的投入最多,接口测试居中,界面层建议的投入最少。 测试金字塔 Martin Flower关于测试金字塔有这样一段评论。“GUI测试用例还很脆弱,如对系统的一些修正可能导致很多用例的失败,这时候你需要重新录制。你可以放弃录制的方法来解决这个问题,通过写GUI测试代码,但是这样效率非常低。就算你已经很精通了GUI测试代码的编写,端到端的GUI测试用例也很容易出现不可预期结果的问题-一些用例成功一些用例失败,因此,基于GUI的自动化测试是脆弱、耗时(包括用例维护和执行)的

sonarqube官方文档翻译之UserGuide

拥有回忆 提交于 2020-01-20 00:01:45
今天继续学习使用SonarQube分析项目代码,为了便于理解,将官方手册用到的翻译出来。 UserGuide Quality Gate Use the Best Quality Gate Configuration 推荐默认配置,对于每一个版本,我们都会根据SonarQube的能力调整默认质量门(Quality Gate)。SonarQube6.2版本新增了三个度量,可靠比,安全比,可维护性比。极力推荐这些新的度量作为默认质量检查的一部分。 注意质量门的条件,必须使用不同的值。举例说明,对于检查绝对数量值没有意义,如:代码行数大于1000. Quality Gate Status 在Project页面上方会显示质量门现有的状态。 若质量门显示状态为“Fails”,你可以注意到是哪些地方出了问题,也可以为你的其他感兴趣的项目提交新的质量门状态。 Security 质量门可以被任何用户访问。若想要改变质量门配置,必须获得管理员允许。项目管理员可以选择哪个项目和哪个质量门关联。 Define Quality Gate 每个质量门条件是有以下部分组合: 度量(measure) 时间(period):值(对于时间)或漏洞(不同值) 比较操作符 警告值(可选) 错误值(可选) 例如,条件组合可能为: measure:Blocker issue period:Value comparison

数独_单元测试

十年热恋 提交于 2020-01-19 20:56:04
目录 单元测试 数独生成模块的测试 求解数独模块的测试 mainfun函数的测试 计算文件行数函数的测试 单元测试 单元测试主要分为5部分, 数独生成模块的测试 数独题目生成模块的测试 求解数独模块的测试 mainfun函数的测试 计算文件行数函数的测试 数独生成模块的测试 由于数独生成模块终局路径不由用户给出,所以不用测试路径的合法性,只需测试生成不同数量的终局,由于需求要求生成数独个数在1~1000000之间,而且通过mainfun函数的合法性判断,数独生成模块generate_final的参数取值只可能为1~1000000。为所以我们给出的测试用例分别为。 为了检验是否生成所给要求的数独,实现了一个函数,可以通过计算终局文件的行数来确定生成终局的个数。 测试内容 测试用例 生成终局数目 0 1 500 1000000 TEST(GenerateTest, size1) { generate_final(1, FINALPATH); int sign = value_file(1, FINALPATH); EXPECT_TRUE(sign); } TEST(GenerateTest, size500) { generate_final(500, FINALPATH); int sign = value_file(500, FINALPATH); EXPECT_TRUE(sign

PhpUnit 接口API单元测试

好久不见. 提交于 2020-01-18 06:27:30
一,安装PhpUnit 1.下载phpunit: 点击进入 2.配置phpunit: 1)添加环境变量 右键 我的电脑 ,选择 属性 。点击左侧的 高级系统设置 。此时弹出 系统属性 ,选择 高级 选项卡,点击右下角的 环境变量 。 在用户变量里面,双击 PATH ,在 变量值 后面添加 ;D:\repository\CourseManagement\mobile_api_test (注意最前面的分号,路径填存放phpunit.phar的路径)。配置这个是为了在任意位置都能使用PHPUnit,不配置的话,需要在phpunit.phar的路径下才能使用PHPUnit。 2)配置: 进入存放phpunit.phar的路径,命令窗口运行 echo @php "%~dp0phpunit.phar" %* > phpunit.cmd 二,项目目录文件 1.API请求类 目录:./lib/CurlClient.php <?php /** * 封装curl的http客户端操作类 */ class CurlClient { /** * 执行get请求 * * @access public * @param string $url 远程地址 * @param string $cookie cookie * @param array $options curl配置 * @param integer

13-使用Junit单元测试

眉间皱痕 提交于 2020-01-18 03:13:07
在main下的java包与test下的包虽然物理路径不一样,但是在编译后class文件里是一起的 1.引入junit依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> 2.创建测试类 2.引入Spring单元测试模块 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.13.RELEASE</version> </dependency> 使用单元测试模块总结: 来源: CSDN 作者: 蝶衣_疯魔 链接: https://blog.csdn.net/shujuku____/article/details/103834858

Boost_Test 单元测试框架UTF

这一生的挚爱 提交于 2020-01-17 07:44:24
/************************************************************************/ /*单元测试框架UTF(Unit Test Framework) 一个用于单元测试的基于命令行界面的测试套件UTF,具有单元测试、检测内存泄露、监控程序运行的功能。 test库将测试程序定义为一个测试模块,由测试安装,测试主体,测试清理和测试运行器四个部分组成。 1:测试主体是测试模块的实际运行部分,由测试用例和测试套件组织成测试树的形式。 2:测试用例是一个包含多个测试断言的函数, 是可以被独立执行测试的最小单元, 各个测试用例之间是无关的, 发生的错误不会影响其他测试用例. 3:测试套件是测试用例的容器,可以嵌套,包含一个或多个测试用例,将多个测试用例分组管理,共享安装/清理代码, 更好的组织测试用例。 4:主测试套件, 任何UTF单元测试程序必须存在唯一一个主测试套件, 它是整个测试树的根节点, 其他测试套件都是它的子节点. 主测试套件的定义可以使用宏BOOST_TEST_MAIN或者 BOOST_TEST_MODULE, 它们必须出现在<boost/test/unit_test.hpp>之前. UTF中的测试断言:BOOST_LEVEL_ITEM LEVEL: WARN 警告级,不增加错误数量,不影响程序运行 CHECK

测试工程师的专业理论面试题

痞子三分冷 提交于 2020-01-16 20:06:42
1 黑盒、白盒测试的区别 答: 2 测试阶段的划分 答: 3 什么是系统测试,什么是单元测试: 答: 单元测试,顾名思义就是面向最小单元进行测试。比如java中的类,C中的函数。 4 如何设计测试用例 答: 测试用例一般是EXCEL表格组成的二维表,包含如下几栏目, 用例编号 用例标题 功能模块名称 默认条件 输入数据 操作步骤 预期结果 优先级 执行结果 编写人 执行人 日期 其他补充项 来源: CSDN 作者: Yslsql 链接: https://blog.csdn.net/qq_26983201/article/details/104003503

单元测试

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-14 21:16:52
一·单元测试: 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 二· 单元测试步骤   在代码编写完成后的单元测试工作主要分为两个步骤人工静态检查和动态执行跟踪。   人工静态检查是测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性(尽量通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性、算法高效性。并尽可能的发现程序中没有发现的错误。   第二步是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。经验表明,使用人工静态检查法能够有效的发现30%到70%的逻辑设计 和编码错误。但是代码中仍会有大量的隐性错误无法通过视觉检查发现,必须通过跟踪调试法细心分析才能够捕捉到。所以,动态跟踪调试方法也成了单元测试的重 点与难点。 三·单元测试的具体操作: 1,新建一个项目,起名叫JUnitTest,首先编写一个目标类Calculator,测试代码: package andycpp; public class