背景 ​ 最近在工作和业余开源贡献中,和单元测试接触的比较频繁.但是在这两个场景之下写出来的单元测试貌似不太一样,即便是同一个代码场景,今天写出来的单元测试和昨天写的也不是很一样,我感受到了对于单元测试,我没有一个比较统一的规范和一套单元测试实践的方法论.在写了一些单元测试之后我开始想去了解写单元测试的一些最佳实践和技巧.(其实后来我反思的时候觉得,我应该先去学习单元测试相关的最佳实践,现有一个大致的概念,再去实操会好一些.)在这里总结成一篇文章分享给大家,希望读者朋友们有所收获. 1. 为什么…
1.Gcov是进行代码运行的覆盖率统计的工具.它随着gcc的公布一起公布的,它的使用也非常easy,须要在编译和链接的时候加上-fprofile-arcs -ftest-coverage生成二进制文件,gcov主要使用.gcno和.gcda两个文件..gcno是由-ftest-coverage产生的.它包括了重建基本块图和对应的块的源代码的行号的信息. .gcda是由加了-fprofile-arcs编译參数的编译后的文件运行所产生的.它包括了弧跳变的次数和其它的概要信息.gcda文件的生成须要先…
一.简介及安装: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率 gulp的优点:基于流的操作.任务化. 常用api:src .dest.watch.task.pipe 由于gulp是基于node的所以使用的时候需要通过npm或者cnpm安装全局安装(cnpm i -g gulp) 常用的gulp需要安装的包括gulp-cl…
打印流: 有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器 PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream) PringWriter:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream),接收字符输出流(Writer) 为其他流添加功能,可以方便地打印各种数据值,不同的是:它永远不会抛出IO异常 方法: package demo; import java…
一.为什么要学习自动化测试? 在互联网行业中敏捷开发小步快跑,快速迭代,测试环节中回归测试任务大繁琐,手工测试容易漏测,自动化测试可以提高测试效率保证产品质量. 二.学习的层次模型 1.单元自动化测试  a 针对类方法的测试 (白盒测试)   b  junit,TextNG,Numit,Unittest(常用工具 ) 2.接口自动化测试   httpunit postman 3.UI自动化测试  a 界面元素测试     2.RobtFrameWork, Selenium,appium 三.自动…
一.JMeter介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等.JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能. 同时,JMeter可以帮助你对你的应用程序进行回归测试.通过你创建的测试脚本和assertions来验…
cargo是Rust内置的项目管理工具.用于Rust 项目的创建.编译.执行,同一时候对项目的依赖进行管理,自己主动推断使用的第三方依赖库,进行下载和版本号升级. 一.查看 cargo 版本号 安装Rust之后,能够使用 cargo --version 查看cargo的版本号信息. $ cargo --version cargo 0.8.0-nightly (28a0cbb 2016-01-17) 二.创建新项目 1.使用 " new 项目名称" 创建新项目 cargo new hel…
Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.Webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量.Webbench不但具有对静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力.并且还支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试. 1.WebBench安装:wget http://www.ha97.com/code/webbench-1.5.tar.gztar…
一.Semaphore介绍 Semaphore意思为信号量,是用来控制同时访问特定资源的线程数数量.它的本质上其实也是一个共享锁.Semaphore可以用于做流量控制,特别是公用资源有限的应用场景.例如:某个停车场车位只有10个,一开始停车场没有车辆所有车位全部空着,然后先后到来八辆车,停车场车位够,安排进去停车,然后又来三辆,这个时候由于只有两个停车位,所有只能停两辆,其余一辆必须在外面候着,直到停车场有空车位,当然以后每来一辆都需要在外面候着.当停车场有车开出去,里面有空位了,则安排一辆车进…
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁,让你工作更加轻松愉悦. 项目相关信息: 官方首页:http://code.google.com/p/guava-librarie…