cvs

浅谈自动化测试实践经验和教训

隐身守侯 提交于 2020-05-08 16:28:55
做自动化有好一段时间了,经历了自动化从无到有,然后到框架,到现在的平台,以及持续集成,回顾发现由于自己之前经验太浅,走过的弯路太多,现在也还在谨慎的前进着,之前发现早前很多懵懂的经验,现在稍稍清晰,于是想着结合自己的历程精简出一些经验吧。现在经验还是尚浅,如果有更深认识的朋友,互相讨论,谢谢。 一、所谓自动化是为了软件发布服务的,并不只是为了测试服务   以前一直怀疑自动化测试的用处,我们之前花费大力气开发了大量的基于关键字方式的脚本,用来提高测试的覆盖率,每次测试耗费大量时间,但是发现的问题少之又少,虽然说,自动化测试不是用来发现问题的,是用来验证软件没有问题,但是有一个矛盾在于我如果不做自动化测试,问题还是那么少,那么做自动化测试我们难道只是为了追求一个心理感受吗?这个概率问题怎么平衡 后来,这个经验是在与开发一起合作冒烟测试建设,到现在的持续集成建设,开始明白,自动化测试的好处是为了增强开发的灵活性和保证软件开发流程的有序性 1)快速检测新版本的不稳定变更,即冒烟测试,能够快速验证当前build版本是否可以继续下一步或者提测,此处冒烟测试可以是单元测试、集成测试和基本功能覆盖测试,常用的框架和工具:Junit、TestNG和接口测试框架(soapui、httpClient等)、界面测试框架用于基本的界面测试(QTP、RFT、selenium)。 2)尽可能的暴露回归程序的错误

浅谈自动化测试实践经验和教训

為{幸葍}努か 提交于 2020-05-08 16:19:20
做自动化有好一段时间了,经历了自动化从无到有,然后到框架,到现在的平台,以及持续集成,回顾发现由于自己之前经验太浅,走过的弯路太多,现在也还在谨慎的前进着,之前发现早前很多懵懂的经验,现在稍稍清晰,于是想着结合自己的历程精简出一些经验吧。现在经验还是尚浅,如果有更深认识的朋友,互相讨论,谢谢。 一、所谓自动化是为了软件发布服务的,并不只是为了测试服务   以前一直怀疑自动化测试的用处,我们之前花费大力气开发了大量的基于关键字方式的脚本,用来提高测试的覆盖率,每次测试耗费大量时间,但是发现的问题少之又少,虽然说,自动化测试不是用来发现问题的,是用来验证软件没有问题,但是有一个矛盾在于我如果不做自动化测试,问题还是那么少,那么做自动化测试我们难道只是为了追求一个心理感受吗?这个概率问题怎么平衡 后来,这个经验是在与开发一起合作冒烟测试建设,到现在的持续集成建设,开始明白,自动化测试的好处是为了增强开发的灵活性和保证软件开发流程的有序性 1)快速检测新版本的不稳定变更,即冒烟测试,能够快速验证当前build版本是否可以继续下一步或者提测,此处冒烟测试可以是单元测试、集成测试和基本功能覆盖测试,常用的框架和工具:Junit、TestNG和接口测试框架(soapui、httpClient等)、界面测试框架用于基本的界面测试(QTP、RFT、selenium)。 2)尽可能的暴露回归程序的错误

版本管理工具Git(一)简要介绍

我怕爱的太早我们不能终老 提交于 2020-05-08 07:41:00
版本管理工具不但可以备份而且还能记录版本,也就是同一个东西不同时期的状态同时可以跟踪追溯。 版本管理工具由CVS、SVN、Git、GitHub。 最早的版本管理工具CVS,因为多人开发项目导致工作很难协调所以就实现了CVS工具。 产品 特点 CVS 最早的版本管理工具,集中式管理,中心服务器,每个人都存放。 SVN 一个更好的集中式版本管理工具 Git 分布式的,由Linux开源社区诞生的。 Github 托管网站,一个项目可以有一个网站,项目代码可以托管到这个网站 Github和Gitlab的区别:Gitlab拥有Github的一切功能而且还有更多特性。用户界面丰富。Github可以理解为一个网站为用户提供GIT仓储,而Gitlab是基于GIT实现的项目管理软件,我们自己可以在公司内部搭建Gitlab服务。 GIT和SVN的区别:SVN等其他传统版本管理工具保存的是每个版本的变化 Git保存的是快照而不是结果 GIT中所有数据在存储前都进行数据校验然后以校验和来引用。在GIT数据库中保存的信息都是以这种SHA-1哈希值来保存的而不是文件名称。 状态 Commited 已提交表示数据已经按照保存到本地数据库中 Modified 表示修改了文件但是还没有提交到数据库中 Staged 表示对一个已修改的文件的当前版本做了标记。 由上面三个概念引入的三个区域 GIT仓库

Git、Github和GitLab的区别及与SVN的比较

一曲冷凌霜 提交于 2020-05-08 06:23:39
个人理解:   SVN适合领导啊,大家一起在加班,看你进度什么的,git则不必如此,忙完传上来完活。 一、含义: 百度上这样介绍的:   Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。   GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。   GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 二、详解:   Git是一个版本控制系统(Version Control System,VCS)。版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。有了版本控制系统,就可以不用担心文件丢失,不小心误修改文件等等“事故”,而且你可以随便回到历史记录的某个时刻。   Github 和 Git 是两回事。Git是版本控制系统,Github是在线的基于Git的代码托管服务。GitHub是2008年由Ruby on Rails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,但是付费账户也可以创建私有的代码仓库。  

【实战案例】利用Python输出精美表格的5个案例,过程详细

白昼怎懂夜的黑 提交于 2020-05-07 17:33:07
1. 前言 最近在用python写一个小工具,这个工具主要就是用来管理各种资源的信息,比如阿里云的ECS等信息,因为我工作的电脑使用的是LINUX,所以就想着用 Python写一个命令行的管理工具,基本的功能就是同步阿里云的资源的信息到数据库,然后可以使用命令行查询。 因为信息是展现在命令行中的,众所周知,命令行展现复杂的文本看起来着实累人,于是就想着能像表格那样展示,那看起来就舒服多了。 prettytable库就是这么一个工具,prettytable可以打印出美观的表格,并且对中文支持相当好(如果有试图自己实现打印表格,你就应该知道处理中文是多么的麻烦) 说明:本文使用Markdown语法编写,为了展示方便,以及复制方便,所以本文中没有使用截图,因为格式控制的问题,文章中的运行结果会出现一些分割线的偏移,在终端中呈现并此问题,请各位手动去操作验证。 2. 安装 prettytable并非python的内置库,通过 pip install prettytable即可安装。 3. 一个小示例 我们先来看一个示例: 以上示例运行结果如下: 在以上的示例中,我们通过form导入了表格库。table实例化了一个表格库,并且添加了['编号','云编号','名称','IP地址']为表头,如果没有添加表头,那么会以默认的Field+编号显示,例如: 所以为更直观看出每一列的意义

php 生成读取csv文件并解决中文乱码

南楼画角 提交于 2020-04-28 22:29:03
csv其实是文本文件,但是里面的内容是利用逗号分隔的。 1. 生成csv文件 1 function new_csv( $arr ) 2 { 3 $string ="" ; 4 foreach ( $arr as $key => $value ) 5 { 6 foreach ( $value as $k => $val ) 7 { 8 $value [ $k ]= iconv ('utf-8','gb2312', $value [ $k ]); 9 } 10 11 $string .= implode (",", $value )."\n"; // 用英文逗号分开 12 } 13 $filename = date ('Ymd').'.csv'; // 设置文件名 14 header ("Content-type:text/csv" ); 15 header ("Content-Disposition:attachment;filename=". $filename ); 16 header ('Cache-Control:must-revalidate,post-check=0,pre-check=0' ); 17 header ('Expires:0' ); 18 header ('Pragma:public' ); 19 echo $string ; 20 } 生成csv文件 2

Git: checkout

纵然是瞬间 提交于 2020-04-27 14:22:45
checkout是Git最常用的命令之一,但又是有些复杂的命令,总会感觉有些用不明白,用不明白的原因应该是没有深度地、全面地理解一下,所以要对它好好整理一下。 介绍 checkout在CVS和SVN中都是检出的意思,从版本库检出一个版本,在Git中就不是这么简单了。手册上是这样介绍的: git-checkout - Switch branches or restore working tree files 1 在Git里面,checkout用于切换分支或者恢复工作树的文件。 ———————————————— 版权声明:本文为CSDN博主「IT老兵驿站」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/chaiyu2002/java/article/details/81086865 来源: oschina 链接: https://my.oschina.net/u/4400642/blog/4255140

Intellij IDEA 安装与激活

好久不见. 提交于 2020-04-25 16:46:08
Intellij IDEA是java编程语言开发的集成环境。它在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 Every aspect of IntelliJ IDEA is specifically designed to maximize developer productivity. Together, the powerful static code analysis and ergonomic design make development not only productive but also an enjoyable experience. IntelliJ IDEA的每个方面都专门设计用于最大化开发人员的工作效率。 强大的静态代码分析和符合人体工程学的设计使开发不仅具有高效性,而且还具有令人愉悦的体验。 IDEA的下载与安装 下载 ​ IDEA下载比较简单,它的官网提供了Ultimate(旗舰版)和Community(社区版)两个版本的下载方式,其中旗舰版包含了所有的功能,只能免费试用30天,过了期限后就需要收费了;社区版是缩减版,只提供了基本的功能,这个版本是免费的。那么我们使用旗舰版就必须要收费吗

img对象,file对象,base64,canvas对象相互转换以及图片压缩

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-24 06:07:53
先上一张图: 以上图片是js几乎所有图片类型的转换方式了。接下来讲讲几种常用的类型转换: 1、 urltoImage(url,fn) 会通过一个url加载所需要的图片对象,其中 url 参数传入图片的 url , fn 为回调方法,包含一个Image对象的参数,代码如下: function urltoImage (url,fn){ var img = new Image(); img.src = url; img.onload = function(){ fn(img); } }; 2、 imagetoCanvas(image) 会将一个 Image 对象转变为一个 Canvas 类型对象,其中 image 参数传入一个Image对象,代码如下: function imagetoCanvas(image){ var cvs = document.createElement("canvas"); var ctx = cvs.getContext('2d'); cvs.width = image.width; cvs.height = image.height; ctx.drawImage(image, 0, 0, cvs.width, cvs.height); return cvs ; }; 3、 canvasResizetoFile(canvas,quality,fn) 会将一个

聊一聊,单元测试应该测试什么?

情到浓时终转凉″ 提交于 2020-04-16 15:47:28
【推荐阅读】微服务还能火多久?>>> 现在大公司越来越重视项目的单元测试,甚至明确要求项目的单元测试覆盖率不能低于某个值,足可见单元测试的重要性; 试想如果没有单元测试,那么如何保证代码能够正常运行呢? 测试人员做的只是业务上的集成测试,也就是黑盒测试,对单个的方法是没有办法测试的,而且,测试出的 bug 的范围也会很广,根本不能确定 bug 的范围,还得去花时间来确定 bug 出在什么地方。 另外,一个最常见的问题:写单测浪费时间? 你有没有计算过你改bug的时间(定位+修复),算一下的话你会发现时间浪费的会更多。 参考建议 关于如何写好单元测试,下面有几条建议供大家参考: 1. 测试数据外部化 测试数据大致分为两种:变化的和不变化的,对于不变的测试数据,我们完全可以写在单元测试用例代码中,也可以将数据外部化。 而对于测试数据一直在变,并且测试数据量比较大的时候可以使用测试数据外部化将数据放在测试用例的外部进行统一管理。 什么是数据外部化 ?就是将数据放在单元测试用例的外部统一管理,比如我们可以将一个单元测试用例中的测试数据统一放在一个CSV文件中。 我们就可以通过比如junit5中的参数测试注解 @ParameterizedTest 和引入CVS文件的注解 @CsvFileSource 并指定其中的resources属性指定CSV文件,numLinesToSkip = n