autofixture简介 有了单元测试框架加上Moq(后面我们会用单独章节来介绍moq),可以说测试问题基上都能搞定了.然而有了AutoFixture对单元测试来说可以说是如虎添翼,AutoFixture并且它能与moq,rhinomock等框架结合,对单元测试带来的便捷性,可维护性和扩展性更是难以言表,只有用用了才知道. 说了这么多,还没有介绍AutoFixture是干什么的,其实AutoFixture就是一个假数据填充工具. 其实不论是Nunit还是Xunit都有数据填充功能,并且大部分时…
从软件开发的过程按阶段划分有:单元测试 集成测试 系统测试 验收测试测试过程按 4 个步骤进行,概念内容如下:单元测试:单元测试是对软件基本组成单元(如函数.类的方法等)进行的测试.集成测试:集成测试是将软件集成起来,对模块之间的接口进行测试.系统测试(特征测试):检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到要求.其测试内容包括:功能测试,非公能测试与回归测试等.验收测试:检查软件是否符合合同要求,包括需求规格说明.设计规格说明和用户手册等.其测试内容包括:易用性测试.兼容性测…
 maven的生命周期: 讲解Maven测试篇之前将首先介绍一下Maven生命周期的相关概念,如果你熟知这部分概念可以略过此小节内容. 大多数时候,我们在构建一个项目时,不外乎是对其进行清理.编译.测试和部署等操作.对于大多数项目,我们每次都要重复这些主要的流程,而Maven正是对这些必要的构建过程进行了抽象,它以项目的清理.初始化.编译.测试.打包.部署等构建步骤作为项目生命周期的各个阶段.    每个Maven项目,都有三个相互独立的生命周期,其中包括: clean生命周期:负责项目的清理工…
jest & puppeteer 单元测试 & 集成测试 单元测试,就是测试一个函数或某个代码片段,通过模拟输入确保输出符合预期 集成测试,测的是一个功能模块,比如用户注册功能,集成测试又包括UI测试,UI测试用于确保页面正常渲染 集成测试完全是用测试脚本去模拟用户操作,比如打开浏览器.点击注册链接.输入用户名密码.点击注册 UI测试 UI测试怎么确保页面正常渲染? 像素级对比 DOM 快照 像素及对比,就是首先人肉确认页面渲染正常,执行脚本对页面截个图,下次利用测试脚本截个图跟上次的截图…
系列目录 单元测试及测试驱动开发简介 什么是单元测试 单元测试是一段自动化的代码,这段代码调用被测试的工作单元,之后对这个单元的单个最终结果的某些假设进行检验.单元测试几乎都是用单元测试框架编写的.单元测试容易编写,能快速运行.单元测试可靠.可读.并且可维护.只要产品代码不发生变化,单元测试的结果是稳定的. 特征: • 自动化.可重复执行: • 很容易实现: • 第二天还有意义: • 任何人都应该能一键运行它: • 运行速度应该很快: • 结果应该是稳定的: • 能完全控制被测试的单元: • 完…
Tessy 源自戴姆勒- 奔驰公司的软件技术实验室,由德国Hitex 公司负责全球销售及技术支持服务,是一款专门针对嵌入式软件进行单元/ 集成测试的工具.它可以对C/C++ 代码进行单元.集成测试,可以自动化搭建测试环境.执行测试.评估测试结果并生成测试报告,其多样化的测试用例导入生成方式和与测试需求关联的特色,使Tessy 在测试组织和测试管理上也发挥了良好的作用.目前Tessy广泛应用在汽车电子主流客户中. 主要特点 在V 模型开发中,Tessy 主要应用在单元测试和集成测试阶段.单元测试通…
自动选择规则 ffmpeg在处理视频时,如果只提供了输入和输出参数,ffmpeg会自动地去选择相应的视频流和音频流来合成文件 自动选择的方式根据如下规则: 视频流:选分辨率最高的,比如有两个视频,一个是1080,一个是720,会选择1080的作为默认的视频流 音频流:选通道数最多的,比如两个视频,一个无声音,一个有声音,会自动选择有声音的音频流作为最终的输出,如果A视频是1080无声音,B视频是720有声音,那么最终输出的文件画面是A视频的,声音是B视频的 字幕:选第一个被检索到的字幕流,如果两…
利用MyEclipse结合TestNG测试框架进行单元测试   by:授客 QQ:1033553122 测试环境 jdk1.8.0_121 myeclipse-10.0-offline-installer-windows.exe TestNG插件 org.testng.eclipse_6.8.6.20130607_0745 代码组织结构 代码示例 Humman.java存放了需要进行测试的类 package mypackage; public class Humman { String name…
1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执行 @AfterSuite 注解的方法只运行一次,在当前suite所有测试执行之后执行 @BeforeClass 注解的方法只运行一次,在当前类中所有方法调用之前执行 @AfterClass 注解的方法只运行一次,在当前类中所有方法调用之后执行 @BeforeTest 只运行一次,所有的测试方法运行…
有了上一节自定义配置,很多问题都能解决了,但是如果仅仅是为了解决一个简单问题那么创建一个类显得有点繁重.其实AutoFixture在创建Fixture对象时有很多方便的Fluent配置,我们这里介绍一些比较常用了. 创建对象是忽略一些属性 有些时候有这样的一些业务场景,有些字段是非必填项,但是一旦填写则必须符合指定规则.这些非必填字段在业务中仅仅当它存在的时候做一些校验,其它地方并没有使用到它.这样在单元测试的时候我们为了效率可以暂时忽略这些字段.在后面集成测试的时候再提供完整数据. 下面看看A…
系列目录 为String指定一个值. 在第三节里我们讲了如何使用自定义配置加上一个自定义算法生成一个自定义字符串,然而有些时候我们仅仅是需要某个字段是有意义的,这个时候随便生成的字符串也满足不了我们的需求.在一些简单场景下,我们可以显式的给一个字段指定一个值. 看以下代码 [Test] public void FixValueTest() { var fix = new Fixture(); var psn= fix.Build<Person>().With(a => a.Name,&q…
系列目录 实际工作中我们需要的数据逻辑万千,千变万化,而AutoFixture默认是按照一定算法随机生成一些假数据,虽然这在多数时候是ok的,但是可能不能满足我们的所有业务场景,有些时候我们需要进行一些配置,以期达到指定目标. AutoFixture简单使用 前面我介首先介绍的是AutoFixture如何与Nunit结合提供测试数据,这里我们介绍一下它自身,即脱离Nunit时它是如何工作起来的. 这里主要用到的就是Fixture对象的Create泛型方法 看以下代码 [Test] public…
2016/11/27更新:官方的测试工具有许多问题,我修改了一个版本 https://git.oschina.net/Hont/UnitTest_Modifyed 支持切场景,异常不失败等 其实Unity很早就有测试支持,从mono编辑器的UnitTest选项,还有安装目录中的NUnit.dll都可以看出来. 这次拿了AssertStore下的测试插件研究了一下,总结了一套可行的方案 https://www.assetstore.unity3d.com/#/content/13802 之前没有用…
系列目录 Moq库简介及安装 Moq简介 Moq是.net平台下的一个非常流行的模拟库,只要有一个接口它就可以动态生成一个对象,底层使用的是Castle的动态代理功能. 它的流行赖于依赖注入模式的兴起,现在越来越多的分层架构使用依赖注入的方式来解耦层与层之间的关系.最为常见的是数据层和业务逻辑层之间的依赖注入,业务逻辑层不再强依赖数据层对象,而是依赖数据层对象的接口,在IOC容器里完成依赖的配置. 这种解耦给单元测试带来了巨大的便利,使得对业务逻辑的测试可以脱离对数据层的依赖,单元测试的粒度更小…
格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:为了交项目干杯 测试用例:测试用例文档.zip 作业目标:描述项目的测试工作安排.测试工具选择和运用.测试用例文档.测试体会.项目测试评述 团队信息 队员学号 队员姓名 个人博客地址 备注 221600125 刘杰 http://www.cnblogs.com/MikasaAKM/ 队长 221600123 林信康 http://www.cnblogs.com/lxk1…
Wings-让单元测试智能全自动生成 前言 单元测试是保证软件质量非常有效的手段,无论是从测试理论早期介入测试的理念来看或是从单元测试不受UI影响可以高速批量验证的特性,所以业界所倡导的测试驱动开发,这个里面提到的测试驱动更多的就是指单元测试驱动.但一般开发团队还是很少的系统化的执行单元测试,针对应用软件的测试更多是由专业测试团队来执行黑盒测试.单元测试的最大的难点不在于无法确定输入输出,这毕竟是模块开发阶段就已经定好的,而在于单元测试用例的编写会耗费开发人员大量的工时,按照相关统计单元测试用例…
前言 前面写了这么多章节,都是通过浏览器访问的形式,进行接口方法访问进而验证方法的正确与否.显然在服务或者接口比较少时,这么做没有啥问题,但一旦一个项目稍微复杂或者接口方法比较多时,这么验证就有点不符合程序猿的懒人的特性了.所以这章节,讲述下SpringBoot中的单元测试及基于Contiperf压测工具进行性能测试相关方面的知识点. 单元测试 SpringBoot的单元测试 RESTful API 单元测试 Junit常用注解说明 基于ContiPerf的性能测试 性能测试示例 注解参数说明…
一般,这个可以用过开发当中的脚本测试吧. 如果正规的开发流程里,集成测试显然可以作为报告提交,必不可少.…
1:单元测试 1)JUnit是一个Java语言的单元测试框架,这里的单元指的就是方法 2)单元测试用来替换以前的main方法 1.1 Junit测试的步骤 1:在方法的上面加上 @Test 2:将junit库添加到工程的构建路径 3:选中方法--->右键--->JunitTest 1.2 常用的Junit测试注解 常用注解 @Test,用于修饰需要执行的方法 @Before,测试方法前执行的方法 @After,测试方法后执行的方法 1.3 测试有返回值的方法 public int sum(in…
课程信息 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Alpha冲刺 团队目标 切实可行的计算机协会维修预约平台 团队信息 队员学号 队员姓名 个人博客地址 备注 221600126 刘忠燏 http://www.cnblogs.com/Downstream-1998/ 221600207 黄权焕 https://www.cnblogs.com/hyry/ 队长 221600328 苏明辉 https://www.cnblogs.com/ahuigg/ 22160…
单元测试:开发程序的人自己测试自己的代码 unittest自动化测试框架 1.单元测试 import unittest def add(a,b): return a+b # 在运行时不要用run unittest in xxx,否则不能生成测试报告 class TestAdd(unittest.TestCase): '''测试add方法''' def test_add_normal(self): # 测试用例必须以test开头 '''正常测试加法用例''' result = add(1, 2)…
函数讲解部分参考http://net.pku.edu.cn/~yhf/linux_c/ isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isdigit,islower,isupper 表头文件 #include<ctype.h> 定义函数 int isalnum (int c) 函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试. 返回值 若参数c为字母或数字,则返回TRUE,否则返回NULL(0…
一.启动LVS集群服务LVS负载均衡管理和使用有两种方式,一种是以ipvsadm命令行脚步与ldirectord监控方式,一种是以Piranha工具进行管理和使用.下面分别介绍. 1.利用ipvsadm命令行脚步与ldirectord监控方式管理LVS在一切配置完毕之后,依次执行下面的操作启动LVS集群服务.首先,启动每个real server节点的服务:[root@localhost ~]# /etc/init.d/lvsrs  start start LVS  of  REALServer然…
对比测试代码编号 $(function(){ $('pre code').each(function(){ texts = $(this).text().replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&') .replace(//g, '>').replace(/'/g, ''').replace(/"/g, '"') var codetext = texts.split('\n'); var code = ''; $(codetext).e…
往往稍微有点规模的公司,都会有一个独立下载服务器,那么,我还是简单说一下下载服务器的原理吧,首先后台上传文件或软件,然后web服务器通过定时脚本检测,如有变化,则将文件同步出去到下载服务器,源站数据库中保存下载服务器的下载地址进行前台显示. 这里就apk下载为例,说明一下下载服务器的测试方式吧!抛下两个问题,1.链接是否可以下载文件,2.下载的文件是否正确. 首先,上传文件到源站服务器,然后,手动通过FTP查看文件是否存在,如有,请继续. 第二,等到定时脚本同步文件到下载服务器(前提是脚本已经写…
1. 测试MapReduce Job 1.1 上传文件到hdfs文件系统 $ jps Jps SecondaryNameNode JobHistoryServer NameNode ResourceManager $ jps > infile $ hadoop fs -mkdir /inputdir $ hadoop fs -put infile /inputdir $ hadoop fs -ls /inputdir Found items -rw-r--r-- hduser supergrou…
mockito,一个让人着迷的单元测试隔离框架.对比了easymock,jmock,jmockito,最终选择了它. 为什么用他 接口语法简洁.自然.写起来像在说话,很舒服. 文档更完整.让学习曲线更简单. 可以进行参数化.在很多情况下,不想关心具体的参数是什么. mock的思路更舒服.废弃了陈旧的"录制--重放"的方法,使用的"期望--执行--断言"更自然的方法. 他能解决什么问题 可以mock接口. 可以破除不可控制的依赖.主要体现在:数据库.文件系统.http…
isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isdigit,islower,isupper 表头文件 #include<ctype.h> 定义函数 int isalnum (int c) 函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试. 返回值 若参数c为字母或数字,则返回TRUE,否则返回NULL(). 附加说明 此为宏定义,非真正函数. 范例 /* 找出str 字符串中为英文字母或数字…
系列目录 我们前面说过.Moq在创建模拟对象的时候,简单对象赋值默认值,引用对象赋值为null,但是有些时候接口里面还包含另一个接口对象,我们知道Moq是可以模拟一个接口对象的,我们可以通过配置让Moq模拟所有可以Mock的对象. 我们新增如下代码 public interface IDtoWrapper { MyDto Dto { get; set; } string GetString(); } public interface IOutString { IDtoWrapper wrappe…
1.测试 eclipse下安装activiti插件以及maven 右键新建activiti project(这时会自动创建pom依赖以及activiti.cfg.xml,但还不是maven项目) 选中项目根目录右键选择configure  下的convert maven project(将项目转换成maven项目) 测试文件存放原则(不是必须):测试文件类放在test/java下面,流程bpmn放在resource下面(保证编译后都在classpath下) 命名规则:测试类和bpmn文件在同一个…