51Testing软件测试网

 
 

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿(3)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔档案

  • 2021年6月 (1)
  • 2021年3月 (1)
  • 2020年9月 (1)
  • 2020年3月 (1)
  • 2020年1月 (2)
  • 2019年12月 (3)
  • 2019年11月 (5)
  • 2019年10月 (1)
  • 2019年9月 (2)
  • 2019年8月 (14)
  • 2019年7月 (20)
  • 2019年6月 (15)
  • 2019年5月 (12)
  • 2019年4月 (19)
  • 2019年3月 (20)
  • 2019年2月 (9)
  • 2019年1月 (16)
  • 2018年12月 (17)
  • 2018年11月 (21)
  • 2018年10月 (16)
  • 2018年9月 (20)
  • 2018年8月 (22)
  • 2018年7月 (3)
  • 2018年6月 (1)
  • 2018年5月 (7)
  • 2018年4月 (1)
  • 2018年3月 (3)
  • 2018年2月 (6)
  • 2018年1月 (2)
  • 2017年9月 (8)
  • 2017年8月 (28)
  • 2017年7月 (3)
  • 2016年11月 (1)
  • 2016年6月 (1)
  • 2016年4月 (1)
  • 2016年2月 (2)
  • 2015年7月 (1)
  • 2015年5月 (1)
  • 2015年4月 (2)
  • 2015年3月 (1)
  • 2015年2月 (2)
  • 2015年1月 (6)
  • 2014年12月 (3)
  • 2014年11月 (3)
  • 2014年10月 (3)
  • 2014年9月 (2)
  • 2014年8月 (8)
  • 2014年7月 (16)
  • 2013年12月 (5)
  • 2013年11月 (1)
  • 2013年10月 (3)
  • 2013年9月 (2)
  • 2013年8月 (2)
  • 2013年7月 (3)
  • 2013年5月 (1)
  • 2013年4月 (2)
  • 2013年3月 (2)
  • 2013年2月 (3)
  • 2013年1月 (4)
  • 2012年12月 (4)
  • 2012年11月 (4)
  • 2012年10月 (3)
  • 2012年9月 (4)
  • 2012年8月 (3)
  • 2012年7月 (4)
  • 2012年6月 (2)
  • 2012年5月 (2)
  • 2012年4月 (1)
  • 2012年3月 (2)
  • 2012年2月 (2)
  • 2012年1月 (1)
  • 2011年12月 (3)
  • 2011年11月 (2)
  • 2011年10月 (1)
  • 2011年9月 (4)
  • 2011年8月 (3)
  • 2011年7月 (2)
  • 2011年6月 (4)
  • 2011年5月 (4)
  • 2011年4月 (2)
  • 2011年3月 (4)
  • 2011年2月 (4)
  • 2011年1月 (7)
  • 2010年12月 (7)
  • 2010年11月 (5)
  • 2010年10月 (4)
  • 2010年9月 (7)
  • 2010年8月 (7)
  • 2010年7月 (3)
  • 2010年6月 (3)
  • 2010年5月 (4)
  • 2010年4月 (4)
  • 2010年3月 (5)
  • 2010年2月 (3)
  • 2010年1月 (4)
  • 2009年12月 (3)
  • 2009年11月 (3)
  • 2009年10月 (1)
  • 2009年9月 (3)
  • 2009年8月 (2)
  • 2009年7月 (3)
  • 2009年6月 (1)
  • 2009年5月 (2)
  • 2009年4月 (4)
  • 2009年3月 (5)
  • 2009年1月 (1)
  • 2008年11月 (2)
  • 2008年7月 (5)
  • 2008年6月 (4)

文章分类

  • 行业资讯(45) (rss)
  • 软件业务知识(43) (rss)
  • 软件开发知识(33) (rss)
  • 软件测试工具(39) (rss)
  • 软件测试技术(157) (rss)
  • 软件测试管理(40) (rss)
  • 软件测试职业发展(57) (rss)

51testing软件测试网

搜索

  •  

最新评论

  • 1. re: 淘宝后台技术大揭秘,不看这篇你双十一要损失几个亿!
  • 关注官方公众号“Atstudy网校”,点击中间菜单栏“双11”,领取双十一技术内幕资料。
  • --51testing
  • 2. re: 软件测试流程的一点感悟
  • 提交缺陷时只需要描述现象即可,过多的分析可能会误导开发
  • --凡客诚品
  • 3. re: 软件测试流程的一点感悟
  • 阿达宿建德江阿斯顿
  • --凡客礼品卡
  • 4. re: 手机软件测试的经验总结
  • 很好啊~不错
  • --乐蜂网
  • 5. re: 手机软件测试的经验总结
  • 很好啊~
  • --罗莱家纺

阅读排行榜

  • 1. 软件测试流程的一点感悟(1525)
  • 2. 5年经验之谈:月薪3000到30000,测试工程师的变“行”记!(1136)
  • 3. 测试自动化及软件测试工具的比较(1014)
  • 4. 银行线上信贷系统如何做好接口测试?手把手教你接口工具Postman(1000)
  • 5. 软件为什么要做异常测试?测试员必知的22个测试点总结!(971)

评论排行榜

  • 1. 软件测试流程的一点感悟(4)
  • 2. 软件测试的原则和经验 (4)
  • 3. 嵌入式软件测试技巧(2)
  • 4. 手机软件测试的经验总结 (2)
  • 5. 常用软件测试工具的分析与比较(1)

Powered by: 博客园
模板提供:沪江博客
IT博客 | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

纵观整个测试行业,为什么优秀的测试人员不到20%?

对于软件测试人员来说需要具备的素质,我觉得首先最重要的是要有一定的理论知识和测试技能,这是测试工作的基础。我们测试人员应该如何成长才能在工作当中被不断的认可呢?


下面我将以问答的形式阐述:

1、一定要懂代码吗?

网络时代的有些因素导致很多人误以为测试很简单。其实,测试不是简单的点点点。当开发人员将开发完成的软件提交到测试人员那里以后,测试人员最好可以迅速透彻的理解软件的功能。可能你会说这是需求阶段要做的工作,但是其实很多时候都是赶鸭子上架,所以你最好自身有一定基础。如果你有一定的编码基础,你就可以更好的了解所要测软件的功能及测试需要的软硬件环境,而且可以更好的和开发沟通遇到的问题。

2、软件测试人员如何成长?

很多人从学校步入工作之后都会迷茫,会无从下手。其实,现在网络这么发达,深度了解编程可以去CSDN、开源中国等论坛,深度了解测试可以去51Testing,你可以多去浏览,总会看到很多行业资讯、资料等,我建议你最好参与其中,分享一些自己的学习心得,参与一些自己感兴趣的活动,这样你会成长的更快更好。

3、工作技能要广还是精?

软件测试种类很多:功能测试、性能测试、自动化测试等等;但很多人能接触的只有某一个方面。不过我建议,最好广泛接触下各个方面的测试,比如自动化测试网上有很多免费资料、视频及工具,刚开始可以下载已成型的工具试用,跟着相关资料不断学习,等到后期可以研究下各个自动化测试框架,再厉害的就可以自己编写自动化测试工具了。通过广泛接触各个方面的知识,了解清楚行业发展及自己兴趣爱好,选择自己喜欢的一个方面不断深入,学到精通,你就应该已经成为一名优秀的测试员了。

优秀软件测试员还应具备哪些素质?
1.探索精神:软件测试员不会害怕进入陌生环境,有较强的学习能力。 
2.故障排除能手:通过事物的表面现象发现事物的本质,从琐碎的现象中发现内部的联系和规律。 
3.不懈努力:软件测试员总是不停尝试,在做一件事情之前给自己制定一个规则,然后去按计划继续进行下面的工作,直到再次“偶遇”某个缺陷。 
4.创造性:测试员的工作是想出富有创意甚至超常的手段来寻找软件缺陷,有很多事实并不是那么显而易见。 
5.追求完美:测试员力求完美,但是知道某些无法企及时,不去苛求,而是尽力接近目标。 做任何事情都应当有一个策略,分配给每项任务一个指标或者一部分资源,当这部分资源耗尽时,就停止这项任务。 
6.判断准确:测试员要决定测试内容、测试时间,以及看到的问题是否算作真正的缺陷。 要不断的提高自己的专业素养,除了行业知识、测试专业知识以外,还要尽可能的去学习一些软件行业的基础知识,例如操作系统、数据库、程序设计开发、计算机网络等。 
7.老练稳重:软件测试员不害怕坏消息。其实做任何工作、任何事情都一样,人生就是一个不断的发现问题和解决问题的过程,没什么好怕的。 
8.说服力:软件测试员要善于表达观点,表明软件缺陷为何必须修复,并通过实际演示力陈观点。 测试工作开展的好坏,很大程度上就靠沟通能力和展示自己工作的能力了。 
9.在编程方面受过教育。一个有过开发经历的测试人员,对系统的领悟能力和学习速度同没有开发经历的测试人员是截然不同的。

作为一名出色的测试员可以带来更多的商业价值,起到关键性作用,本文提出了一些成为优秀测试员的实践建议,这些建议源于我对许多掌握专业技术备受尊敬的测试员的观察,这些建议可以帮助你提高效力和效率。

总结:

对于一些对软件测试职业发展特别迷茫的朋友,我想说,随着时代的不断发展,每个行业都会不断的整合、改变,我们能做的就是选择好自己喜欢的行业,不断的学习,成长为行业的大牛。这个时候,我相信你永远不会失业了,甚至都有可能你会改变软件测试这个行业!

关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ  群: 755431660

posted @ 2018-08-24 16:43 51testing 阅读(136) | 评论 (0) | 编辑 收藏
 
小白学习大数据测试:6个主流程和3个关键步骤归纳整理

什么是大数据?

大数据是一个大的数据集合,通过传统的计算技术无法进行处理。这些数据集的测试需要使用各种工具、技术和框架进行处理。大数据涉及数据创建、存储、检索、分析,而且它在数量、多样性、速度方法都很出色。

大数据测试类型

测试大数据应用程序更多的是验证其数据处理,而不是测试软件产品的个别功能。当涉及到大数据测试时,性能和功能测试是关键。

在大数据测试中,QA工程师数据处理可以是三种类型:批量、实时、交互。

与此同时,数据质量也是大数据测试的一个重要因素。它涉及检查各种字段,如准确性,重复,一致性,有效性,数据完整性等。

大数据测试步骤

下图给出了测试大数据应用程序阶段的高级概述:

大数据测试实现被分成三个步。

1:数据阶段验证

♦ 来自各方面的数据资源应该被验证,来确保正确的数据被加载进系统
♦ 将源数据与推送到Hadoop系统中的数据进行比较,以确保它们匹配
♦ 验证正确的数据被提取并被加载到HDFS正确的位置

该阶段可以使用工具Talend或Datameer,进行数据阶段验证。

Step 2:"MapReduce"验证

在这个阶段,测试者在每个节点上进行业务逻辑验证,然后在运行多个节点后验证它们,确保如下操作的正确性:

♦ Map与Reduce进程正常工作
♦ 在数据上实施数据聚合或隔离规则
♦ 生成键值对
♦ 在执行Map和Reduce进程后验证数据

Step 3:输出阶段验证

生成输出数据文件,同时把文件移到一个EDW(企业数据仓库)中或着把文件移动到任何其他基于需求的系统中。在第三阶段的活动包括:

♦ 检查转换规则被正确应用
♦ 检查数据完整性和成功的数据加载到目标系统中
♦ 通过将目标数据与HDFS文件系统数据进行比较来检查没有数据损坏

大数据测试完整流程

遵循:需求调研+分析---->测试策略计划制定---->测试用例编写--->执行测试----->线上验证测试----->测试总结的流程。

1、需求调研+分析

测试若不清楚需求的背景现状是无法真正做好测试、保证产品质量的。

需求分析的越透彻,后续的工作就越顺利。这个步骤是需要产品、开发、测试相互补充辅助完成。

2、测试策略计划制定

通过开发的技术架构评审会,测试会了解开发的架构逻辑,表结构设计,开发排期,从而制定测试策略方法,测试重点,测试工具选用,测试排期,风险预估等

3、编写及评审测试用例

测试用例需要覆盖所有的测试场景:

正常的,异常的、功能逻辑的,接口的、性能的等等.

测试用例的目的:

从来就是为了更好执行测试,更好的保证执行测试时的高覆盖率和高通过率,绝对不是为了写用例而写用例。

测试工具的选择遵循两个重要标准:

(1)清晰展现测试思路和逻辑

(2)方便快速评审及执行测试。

目前我们所使用的的用例管理工具是matrix+easytest+freemind+excel,根据不同的需求场景,选择不同的工具。

4、用例执行测试

执行测试包括两部分:

第一部分:每周平均两次的迭代版本测试,这种类型的执行测试以手工测试为主工具为辅。

第二部分:定期执行部分, 主要依赖工具执行。用来做web、接口的功能测试和性能测试,包括selenium+git+idea、easytest、jmeter、beyondcompare这类工具分别设置了不同的执行周期,定期的进行全产品线的回归测试,进一步保证产品功能逻辑及接口功能的正确及可用性。

5、线上验收测试

上线后,第一时间针对上线更新内容进行线上回归测试,并且快速反馈给开发和产品,做出决策;上线验证完成后,根据实际上线结果向项目所有成员发送上线测试报告;

6、测试总结

包括:文档整理、技术总结、项目概况综述。

文档整理

针对项目所涉及的环境数据、业务数据等实际场景做项目后的总结整理。

技术总结

主要是针对项目中用到的工具技术,所遇到的难点或新的突破和改进。

项目概况综述

包括需求覆盖率、需求遗漏变更率、开发自测通过率、开发bug反复率、用例覆盖率、问题遗漏率、项目bug类型及数量统计等。

总结:

万变不离其宗,不论是什么测试ta的主流程基本都是一样的,就是我们刚开始学习测试的那一套流程。也许你会觉得简单,但你要明白,无规不成方圆,有时候没有推行好或者结果不好不一定是因为技术不行,也许是没有好的流程。就好像,一辆汽车的生产,如果没有好的流程你觉得最终出来的汽车质量会好吗?

很多东西不会立马就明白,大数据测试也是一样,先做了解和记忆,等后续随着知识的积累自然就明白了,学习就是这样的,需要一个过程,不能太强求。

关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ  群: 755431660

posted @ 2018-08-23 17:35 51testing 阅读(196) | 评论 (0) | 编辑 收藏
 
5年经验之谈:月薪3000到30000,测试工程师的变“行”记!

自我介绍下,我是一名转IT测试人,我的专业是化学,去化工厂实习才发现这专业的坑人之处,化学试剂害人不浅,有毒,易燃易爆,实验室经常用丙酮,甲醇,四氯化碳,接触多了,吃个饭都感觉在吃试剂,实属被逼无奈,只能选择转行。

在这期间我迷茫过,纠结过,不知道该选择什么方向,后来我的发小推荐我转行去做软件测试,看他在这行发展的还挺好,我就想着要么我也试试看。然而走上这条路,我才发现完全不懂it的我,学起来也不会太困难。就这样转行测试改变了我的人生轨迹,和一群努力奋斗、满腔热血的同事们一起,燃起了我的斗志,也为自己创造了更好的前途!

授人以鱼不如授人以渔,所以,今天我也想把我的经验和经历分享给大家,希望可以帮助一些迷茫职业发展方向、纠结是否转行的朋友们!

首先我们聊聊软件测试的前景。这个行业前景怎么样,我入行的话会出现什么样的问题?遇到瓶颈怎么破?这一系列问题是很多在行业外观望的同学甚至是刚刚入行的朋友都密切关注,毕竟这关系到自己未来的收入,甚至是决定自己的职业发展方向,下面以我多年的经验帮你一一化解你们的疑问。

如下,我将以问答的形式阐述 。

1、现在学习软件测试,将来的发展潜力怎么样呢?

互联网浪潮来袭,大大小小的公司都开始重视软件测试了。发展到2018年初来说,这个行业已经比较稳定,但是并没有饱和,缺口依然很大。

一是软件测试在未来的5~10年内发展会很快,人才缺口很大,因为人工智能和大数据的发展,把互联网带入了新的时代,软件的复杂度和信息安全使得软件企业越来越需要专业的测试人员来把控质量,测试这关过不了,产品做出来也是死掉。

二是很多测试人员的技术水平因为知识不成体系或者学的不够扎实的原因,只能做一下简单的工作,其实企业更多的需要一些技术层级稍微高一点的人才。

2、2018年这个行业有一个什么样的趋势呢?

1.纯功能测试,需求量会越来越低;

2.接口自动化测试,比重会明显增加;

3.性能测试,还是一样,人才稀缺;

4.软件测试人才的需求量会越来越大;

5.企业招人,综合技能要求会越来越高;

6.测试人员的薪资差距会越来越大;

7.自学测试,就业机会越来越少。

3、想做点有技术含量的工作,想学习自动化,如何入手?

是否有技术含量,与是否参与自动化测试,没直接关系 。软件测试过程中,涉及到技术含量的内容,多的是 。

比如,问题定位,需要涉及到服务器知识、各种服务架构知识、Linux知识、数据库知识、抓包工具、HTML知识等等 ,这些都可以折腾,跟单纯的自动化脚本编写相比,同样有价值 。

而且,测试执行过程中,可以自己写一些小脚本,代替重复性的工作,或者实现一些手工不太方面的事项;此项,称为辅助性小工具,可以提高工作效率 。

4、会不会很难,学了之后还是不能胜任工作呢?

首先说,不难,但是要有人带,千万不要盲目自学,即使要自学,也是在有明确而清晰的脉络之后再进行自学,否则就是浪费时间。如果方向错了,每一次努力都是在倒退。

有人问学后能不能胜任工作,也是完全可以的,一般培训机构都是有实际的项目去操作的,其实自学的也最怕的是这个,找不到项目去练手。而且遇到问题会蒙圈。

一般来说,一本书,找个有经验的老师,3节课讲完一本书足以,3节课教会一个工具也足以了,最后再结合实际的项目去操作,全部都是按照工作的流程来的,又为何不能胜任工作呢?

5. 想入行软件测试,怎么入行 ? 

1)多看书 ; 

2)多思考  ;

3)准备简历 ; 

4)多面试 ; 

5)多总结;  

6)如果条件允许、时间充裕,可以去培训,培训可让你加速入行,其他价值靠自己。

6.测试学几个月就能找到6-9千的工作,这可能吗?

这已经是一线城市初级测试工程师的基本标准了,达不到这个标准就跳,总会找到合适的。

我担心的不是你们入行之后起始拿不到这样的薪酬,而是担心一直处于这个阶段。见过太多的人卡在这个瓶颈期,一去分析,要么是说自己的学历限制、要么是说自己的年龄限制、要么是说自己的技术水平限制。可是这些都是在找一些客观条件,能拿多少薪资,看自己能干什么事,毕竟我身边大神们的逆袭故事太多了。

基本上做上1-2年,薪酬过万是没有问题的,以前的一个朋友,刚去找工作的时候是8.5k,隔了一年,也就是上个月,拿到百度的offer,14k,可以说是很励志了!

软件测试这一行有两条路可以选择,我当初走的是技术路线,3年时间过去了,现在我升到了测试主管,月薪2w+,每个人擅长的技能不同,你可以根据自己的发展方向去选择要走的路。

软件测试这两个路线我总结了下:

1. 管理路线:初级测试人员-->中级测试人员-->高级测试人员-->测试组长-->测试经理-->质量管理;

2. 技术路线:初级测试人员-->中级测试人员-->高级测试人员-->白盒测试/功能自动化测试/安全性测试/性能测试等

看上面的发展路线你会发现,前期走的路是一样的,这段时间在于积累测试经验,并决定自己走哪条路线(哪条路线更适合自己)。

上面通过我的个人经验对测试岗位的供求现状,可能存在的片面与不足之处,但是也能说明测试的发展前景:

  1. 这个行业的发展已经比较成熟,但是缺口巨大,具有系统知识技能体系的,会高级使用一些工具的缺口更大;
  2. 入门比较容易;
  3. 就业机会多,因为公司产品迭代快,个人技术能力增长也快
  4. 转行成本不是很大,相比来说,时间和资金相比开发都要少很多。

目前软件测试还存在一个现状是,这个行业大学普遍还没有专门的课程,不像开发。想要进去这个行业大多选择自学和培训两种途径。

对比市面上的培训机构,51Testing培养了一批又一批专业的软件测试人员,0基础在线就业班更适合转行的人选择,不用脱产0风险学习,管就业分配而且服务多元化!0基础没关系,只要明确职业规划,高薪就业无压力。

51testing提供给您最好的职业!入错行悔一生,趁年轻选对的!

​欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群:755431660

 

posted @ 2018-08-22 17:25 51testing 阅读(1136) | 评论 (0) | 编辑 收藏
 
渗透测试员必备!超好用的安全工具Top 10盘点!

  什么是渗透测试?是用来测试软件是否存在例如安全方面的漏洞,如果已经存在,会不会被入侵。

  

  渗透测试流程:

  1、列出软件或系统潜在的安全漏洞。

  2、根据漏洞的严重性进行排列。

  3、在内网和外网环境下对软件或系统进行安全测试。

  4、如果入侵测试成功,需要在修复漏洞后重新进行测试,直至漏洞完全修复。

  测试工具:主要有2类,扫描工具和攻击工具。扫描工具主要是为了找到系统或软件中的漏洞,攻击工具用来进行系统或软件的渗透测试。

  这些工具有的是公开免费的,也有些则需要支付费用,但这篇文章向你保证,绝对值得一看。

  排名前10名的测试工具:

  1、Metasploit。

  类别: 漏洞利用框架。Metasploit 框架提供了一系列在系统上执行渗透测试的工具。它是一个多用途的黑客框架,被渗透测试人员广泛地用于挖掘不同平台的漏洞,收集有关现有漏洞的信息,并重新测试修复补丁等。Metasploit 框架是一个由超过20万贡献者支持的开源项目,这使它成为了一个强大的集渗透测试、执行漏洞利用策略、测试补丁、进行研究于一身的框架,并持续不断地为更新漏洞数据库贡献力量。

  2、SQLmap

  

  Sqlmap是一款跨平台的开源渗透测试工具,主要用于数据库的SQL注入和入侵测试,只有命令行界面。SQLmap支持所有常见数据库平台——MySQL、MSSQL、Access、DB2、PostgreSQL、Sybase、SQLite,还有6中不同攻击方法。

  3、Nmap

  

  类别: 端口扫描工具。Nmap 是“网络映射器”(Network Mapper)的缩写,它是一款用于网络扫描的免费、开源的应用程序。它使用 IP 包来审计网络。Nmap提供了多种选项,用来扫描单个IP、端口或一个范围段的 IP、端口和主机。它还可以用于扫描子网, 识别主机上运行的服务,识别运行远程主机的操作系统版本,并发现安全漏洞。它是一个功能非常强大的工具。输出信息可用做渗透测试工作的前身。

  4. BeEF(浏览器漏洞利用框架)

  

  BeEF是利用客户端攻击方法,评估目标环境切实安全状态的趁手工具。鉴于该工具提供的众多功能和选项,很多安全专家都提到了BeEF,并评价称特别好用。

  5、Social Engineer Toolkit(SET)

  

  社会工程工具箱(SET)是一款跨平台的开源软件,利用人的因素进行渗透测试,可以模拟人类发送电子邮件、JAVA插件等攻击方式,只有命令行界面。

  6、Wireshark

  

  类别: Web漏洞扫描工具。Wireshark 是一个企业级标准网络协议分析工具。该工具本质上是通过不停地捕获在网络中移动的数据包,并以人类可读的形式将其展示给最终用户。Wireshark 允许用户通过以太网、WiFi、NpCap适配器、蓝牙以及令牌环等各种网络接口来捕获数据。它甚至允许用户通过“USBPCAP”工具从USB连接的网络接口中捕获数据。此外,Wireshark甚至还带有一个名为“tshark”的控制台版本。

  7、w3af

  

  网络应用攻击审计工具。跨平台免费软件,具有快速HTTP请求、整合WEB代理服务器、注入各类HTTP请求等功能,命令行界面。

  8、CORE Impact

  CORE Impact是Windows平台上的商业软件,可以用作移动设备测试、网络设备测试、密码认证和破解等测试。具有命令行和GUI图形界面,价格昂贵。

  9. OWASP ZAP

  

  Zed Attack Proxy (ZAP)是一款跨平台的免费漏洞扫描工具,具有代理解析、各种扫描工具、圈套程序等功能。OWASP推荐ZAP用作应用测试,并发布了一系列教程,指导使用者在长期安全项目中有效利用该工具。

  10、Canvas

  

  Canvas是一款免费的跨平台,含有400多个漏洞检测和各种加载选项的测试工具,对网络应用、无线系统网络等适用,具有命令行和GUI图形界面。

  总结:

  这些工具将渗透测试员从手动审核的工作中解放出来。它们也使审核的过程变得更为快速有效。执行有力的渗透测试评估并不意味着简单地从列表中选择一个工具。相反,它意味着评估组织结果,以及评估信息、要求和所涉及的利益相关者。这个过程将有助于构建一个理想的策略,包括使用工具来有效和高效地识别和解决安全漏洞。

  关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。
欢迎加入   51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ     群:      755431660

posted @ 2018-08-21 17:51 51testing 阅读(172) | 评论 (0) | 编辑 收藏
 
如何用Python进行大数据挖掘和分析?快速入门路径图!

大数据无处不在。在时下这个年代,不管你喜欢与否,在运营一个成功的商业的过程中都有可能会遇到它。

什么是大数据?

大数据就像它看起来那样——有大量的数据。单独而言,你能从单一的数据获取的洞见穷其有限。但是结合复杂数学模型以及强大计算能力的TB级数据,却能创造出人类无法制造的洞见。大数据分析提供给商业的价值是无形的,并且每天都在超越人类的能力。

大数据分析的第一步就是要收集数据本身,也就是众所周知的“数据挖掘”。大部分的企业处理着GB级的数据,这些数据有用户数据、产品数据和地理位置数据。今天,我将会带着大家一起探索如何用Python进行大数据挖掘和分析?


为什么选择Python?

Python最大的优点就是简单易用。这个语言有着直观的语法并且还是个强大的多用途语言。这一点在大数据分析环境中很重要,并且许多企业内部已经在使用Python了,比如Google,YouTube,迪士尼等。还有,Python是开源的,并且有很多用于数据科学的类库。

现在,如果你真的要用Python进行大数据分析的话,毫无疑问你需要了解Python的语法,理解正则表达式,知道什么是元组、字符串、字典、字典推导式、列表和列表推导式——这只是开始。

数据分析流程

一般可以按“数据获取-数据存储与提取-数据预处理-数据建模与分析-数据可视化”这样的步骤来实施一个数据分析项目。按照这个流程,每个部分需要掌握的细分知识点如下:


数据获取:公开数据、Python爬虫

外部数据的获取方式主要有以下两种。

第一种是获取外部的公开数据集,一些科研机构、企业、政府会开放一些数据,你需要到特定的网站去下载这些数据。这些数据集通常比较完善、质量相对较高。

另一种获取外部数据的方式就是爬虫。

比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,爬取豆瓣评分评分最高的电影列表,获取知乎点赞排行、网易云音乐评论排行列表。基于互联网爬取的数据,你可以对某个行业、某种人群进行分析。

在爬虫之前你需要先了解一些 Python 的基础知识:元素(列表、字典、元组等)、变量、循环、函数………

以及,如何用 Python 库(urllib、BeautifulSoup、requests、scrapy)实现网页爬虫。

掌握基础的爬虫之后,你还需要一些高级技巧,比如正则表达式、使用cookie信息、模拟用户登录、抓包分析、搭建代理池等等,来应对不同网站的反爬虫限制。

数据存取:SQL语言

在应对万以内的数据的时候,Excel对于一般的分析没有问题,一旦数据量大,就会力不从心,数据库就能够很好地解决这个问题。而且大多数的企业,都会以SQL的形式来存储数据。

SQL作为最经典的数据库工具,为海量数据的存储与管理提供可能,并且使数据的提取的效率大大提升。你需要掌握以下技能:

提取特定情况下的数据

数据库的增、删、查、改

数据的分组聚合、如何建立多个表之间的联系

数据预处理:Python(pandas)

很多时候我们拿到的数据是不干净的,数据的重复、缺失、异常值等等,这时候就需要进行数据的清洗,把这些影响分析的数据处理好,才能获得更加精确地分析结果。

对于数据预处理,学会 pandas (Python包)的用法,应对一般的数据清洗就完全没问题了。需要掌握的知识点如下:

选择:数据访问

缺失值处理:对缺失数据行进行删除或填充

重复值处理:重复值的判断与删除

异常值处理:清除不必要的空格和极端、异常数据

相关操作:描述性统计、Apply、直方图等

合并:符合各种逻辑关系的合并操作

分组:数据划分、分别执行函数、数据重组

Reshaping:快速生成数据透视表

概率论及统计学知识

需要掌握的知识点如下:

基本统计量:均值、中位数、众数、百分位数、极值等

其他描述性统计量:偏度、方差、标准差、显著性等

其他统计知识:总体和样本、参数和统计量、ErrorBar

概率分布与假设检验:各种分布、假设检验流程

其他概率论知识:条件概率、贝叶斯等

有了统计学的基本知识,你就可以用这些统计量做基本的分析了。你可以使用 Seaborn、matplotlib 等(python包)做一些可视化的分析,通过各种可视化统计图,并得出具有指导意义的结果。

Python 数据分析

掌握回归分析的方法,通过线性回归和逻辑回归,其实你就可以对大多数的数据进行回归分析,并得出相对精确地结论。这部分需要掌握的知识点如下:

回归分析:线性回归、逻辑回归

基本的分类算法:决策树、随机森林……

基本的聚类算法:k-means……

特征工程基础:如何用特征选择优化模型

调参方法:如何调节参数优化模型

Python 数据分析包:scipy、numpy、scikit-learn等

在数据分析的这个阶段,重点了解回归分析的方法,大多数的问题可以得以解决,利用描述性的统计分析和回归分析,你完全可以得到一个不错的分析结论。

当然,随着你实践量的增多,可能会遇到一些复杂的问题,你就可能需要去了解一些更高级的算法:分类、聚类。

然后你会知道面对不同类型的问题的时候更适合用哪种算法模型,对于模型的优化,你需要去了解如何通过特征提取、参数调节来提升预测的精度。

你可以通过 Python 中的 scikit-learn 库来实现数据分析、数据挖掘建模和分析的全过程。

总结:

其实做数据挖掘不是梦,5步就能让你成为一个Python爬虫高手!






  • 《半小时初探SoapUI接口测试》免费听课资格,点击我的链接,你也可以免费听课,入群备注“听课”>>https://jq.qq.com/?_wv=1027&k=53g6qLZ
posted @ 2018-08-20 16:32 51testing 阅读(149) | 评论 (0) | 编辑 收藏
 
软件测试人员,究竟怎么霸气过七夕?!大神攻略请笑纳!

事情是这样的,昨晚我测试项目的时候遇到了一个难题:搭建Python Api接口自动化测试框架时总是找不到方向,立马跑到51testing寻找解决办法,办法找到了,我也有了一个重大发现,原来明天是七夕……


正好明天周五,应该事情比较少,所以我有了一个计划!

作为一名资深测试员

也就是一名软件测试工程师

七夕,下面是我的全方位360°的安排

↓↓↓


然而,理想很丰满,现实很骨感,来自测试员真正的七夕↓↓↓

今天早上我刚到,产品经理便丢给我一个新需求,让我先分析需求再来安排测试周期。又是测啊测,上周全天无休,天天加班,周五让我偷个懒行不行?

当然这是在心里说的~~拿过新需求,看了一眼,赶紧关掉了WPS,不行了,上班看电脑,下班看电脑,路上玩手机,我现在得了见屏幕就闪退的综合征。

“小五哥,下午给你答复啊,上午我花时间好好看一波。”

东东,现在项目什么进展啦?身后传来熟悉的声音。

什么项目进展?用例执行结果一片红,还来问我?

领导,是这样子的,因为A项目开始时间已经延期,中间又出现冒烟测试不通过情况,同时产品合入了新需求,所以整体项目预计延期5天。B项目刚刚也添加了新需求,所以B项目预计延期4天。

“你给我抓紧啊,这都周五了,项目都做多长时间了?有任何你觉得有风险的地方一定要提前说出来。”

刚松一口气的时候,桌面右下角钉钉在闪动,心道,不好,有暗器,有大招。

果不其然,今天行政部催着要写绩效考核,考你妹啊考,上午要看需求,要回归两个项目,虽然已经习惯了加班,但今天可是情人节啊!

哎呦喂,心里这样嘀咕着,但是还是在冰冷的键盘敲下两个字

------收到~

为了避免各位测试员步我后尘,特别编写七夕当天注意事项,帮你轻松过节:

1、正常上班,相对于平时不要太早或太迟,否则容易引起其他同事的注意。

2、时刻关注工作群的动静,除非@了自己,或是只有自己才能解决的问题,否则不要发言。

3、不要提测任何需求,即使很简单,BUG这个东西,而且很容易感染。

4、不要质疑产品的任何需求改动,当天还能提需求变动的肯定是单身狗,先稳住他们,否则就会被反咬一口。

5、不要拒绝测试的任何BUG,当天还能提BUG的肯定也是单身狗,先稳住他们,否则必被反咬一口。

6、时不时的出去转转,尽量让其它同事适应你的不存在。

7、下班后,边低头玩手机,边慢慢走出公司,也不要和任何人打招呼,多看一眼,都会多出一份加班的可能。

8、离开公司立即关机!永诀后患。

对于七夕想要提早下班的测试员来说

结果真的是经过严格证明的

真的不是我们yy就能决定的

当你解决完一个问题

再去解决下一个问题,以及下一个

你就能约会去了...吗


所以,关于测试员的七夕节

你有什么想吐槽的吗?

最后,祝大家七夕情人节快乐~~






欢迎加入   51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ    群:     755431660
posted @ 2018-08-17 17:26 51testing 阅读(107) | 评论 (0) | 编辑 收藏
 
成为一名合格的软件测试工程师,需要具备哪些技能(内附统计表)?

现在软件测试工作越来越得到企业的重视,许多人也投入到软件测试的行列中。软件测试工程师的队伍也越来越壮大。但前段时间看到一个测试行业的调查报告,该报告指出“目前测试从业人员不会超过5万,合格的测试人员不会超过3万,而工作超过5年的更不会超过1万”。那如何成为一名合格的软件测试工程师呢?这是许多人比较关注的一个问题,尤其是初入这个行业的菜鸟更想知道这个问题的答案。


那如何成为一名合格的软件测试工程师?

1、软件测试工程师技能表如下

从2000家知名企业的软件测试招聘信息中统计出来的。


2、具有逆向思维的能力

我曾经接触过一位软件测试工程师,干了一段测试工作后又返回去做开发工作了。问他为什么,他的回答是软件测试工作太难了。开发是顺向思维,而软件测试是逆向思维,总要找一些稀奇古怪的方法去操作软件。软件的使用者千差万别,软件在使用过程中遇到的各种现象也各不相同,所以要求软件测试工程师需要具有一些逆向思维的能力。想别人所不想,测别人所不测,这样才可以找到更多软件中深层次的Bug。这是作为一名优秀的软件测试工程师最基本的素质(其实,开发工程师也应该具有逆向思维的能力,在代码中放一些必要的防御型语句对各种错误情况进行处理,才能使软件具有更好的容错性)。

3、具有敏锐的洞察力和锲而不舍的精神

软件测试工程师应当擅于发现问题,并且要肯于钻研,有打破砂锅问到底的精神。对于偶然出现过一次的Bug,一定要找出原因,要有不找到问题根源誓不罢休的决心,这种情况下发现的可能是非常严重或者非常容易被人忽视的问题。细心、耐心、信心是软件测试工程师的基本的素质。

4、具有发散性思维的能力

软件测试工程师需要从多个角度思考问题,想尽各种方法及可能性,并从各个角度模拟不同用户的使用。

5、擅于同软件开发工程师沟通

沟通是当今软件项目中需要掌握的关键技能之一。软件测试工程师要擅于同软件开发工程师沟通。软件测试工程师与软件开发工程师搞好关系,使软件测试工程师不成为软件开发工程师的眼中钉——这对提高整个软件项目质量十分重要。

沟通的内容主要包括以下 4 方面:

①讨论软件的需求与设计

通过沟通,可以更好地了解测试的软件产品,以至于尽可能减少在测试过程中测试出不是缺陷的“缺陷”,从而减少给软件开发工程师带来的压力以及给项目带来的延时。

②报告好的软件测试结果

作为软件测试工程师,发现错误往往是软件测试工程师最愿意而且引以为豪的事情,但是一味给开发工程师报告软件错误,会令他们厌恶,降低整个软件的质量和开发进度。所以,作为一名优秀的软件测试工程师,当你测试完毕一个模块后,没有严重的错误或者错误很少时,不妨跑到开发工程师那里告诉他们这个好消息,这样可以加深软件测试工程师与软件开发工程师之间的友谊。

③不仅要报告缺陷,而且要学会如何帮助软件开发工程师定位缺陷

作为一名优秀的软件测试工程师,尽可能多地发现缺陷是最基本的要求。除了这个技能,如果软件测试工程师能够通过分析产品日志等方法,帮助软件开发工程师精确定位,快速解决问题。这样,软件开发工程师与软件测试工程师之间的关系会变得融洽,软件开发工程师也会认为软件测试工程师是他们的助手,而不是给他们找麻烦的人。这样,软件测试工程师的技能也得到了提高。

④讨论一些与工作无关的事情

软件测试工程师经常和软件开发工程师讨论一些与工作无关的事情,如新闻、趣事和家庭等。这样可以加强相互间的默契程度。许多统计表明,这样可以更好地提高软件的质量。

6、擅于同领导沟通

软件测试工程师往往是领导的眼和耳。领导根据软件测试工程师的软件测试结果可以了解公司的产品质量,从而做出正确决策。领导工作一般比较忙碌,所以软件测试工程师要学会把软件测试结果进行总结,最好以图表的形式给领导展示,使领导在第一时间了解软件的质量情况。

7、掌握一些自动化软件测试工具和脚本

软件测试是比较繁琐、枯燥无味的工作,软件测试工程师长期重复的手工工作,会降低软件测试的效率,并且对软件测试质量也有影响。况且软件测试不使用测试工具是不可行的,如性能测试等。目前市场上有许多软件测试工具可供选择,公司或者个人可以根据需要选择一些软件测试工具来辅助软件测试工作。另外,现在有许多自动化工具需要软件测试工程师自己去开发一些代码,所以具有一定自动化测试开发能力也是非常重要的。但是,要记住一点,不是说有了软件测试工具,就不要人工软件测试了,软件测试工具不是万能的。

8、擅于学习

软件测试技术随着时间的变化也在发生更新。软件测试工程师要善于利用书籍、网站、论坛和沟通等途径不断提高自己各方面的知识水平,包括业务知识、软件测试知识和计算机专业知识等方面的内容。

9、提高自己的表达能力

软件测试工程师发现软件中存在缺陷时,要书写缺陷报告。缺陷报告要写得详尽清楚,使软件开发工程师能够尽快定位错误、修改错误。所以,软件测试工程师提高自己的写作能力非常必要。

10、了解业务知识

更好地了解所测试软件的业务知识非常重要。对业务知识了解得越深入,越能够找出更专业、更关键、更隐蔽的错误。所以,软件测试工程师,需要多向该领域的专家、同行学习,提高自身的业务知识水平。学习业务知识的难度比较大,所以软件测试工程师必须在这方面做好心理准备。

11、培养对软件测试的兴趣

“兴趣是最好的老师”。对待任何工作,只有充满兴趣,才会投入更多的精力和时间,才会达到事半功倍的效果。

12、追求完美

对于优秀的软件测试工程师来说,尽可能追求完美,把事情做到极致。尽管有些事无法做到十全十美,但也应该去尝试。

综合以上 12 点阐述,如图 。


关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。

欢迎加入   51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ    群:     755431660

​

posted @ 2018-08-16 16:47 51testing 阅读(168) | 评论 (0) | 编辑 收藏
 
测试技能分享:Web性能测试用例设计实践

随着网络技术的迅速发展,尤其是WEB及其应用程序的普及,各类基于WEB的应用程序以其方便、快速,易操作等特点不断成为软件开发的重点。与此同时,随着需求量与应用领域的不断扩大,对WEB应用软件的正确性、有效性和对WEB服务器等方面都提出了越来越高的性能要求,今天我就来跟大家分享一个性能测试用例,以便帮助你更好的进行性能测试!


首先,为什么要进行性能测试?

性能不佳的应用通常无法实现企业预期利益,花费了大量时间和金钱,但是却在用户中失去了信誉。

相比功能测试和验收测试,性能测试容易被忽略,往往在发布之后碰到性能和扩展性问题才意识到重要性。

某网站性能测试用例分享

某网站提供会员模板下载、上传、购买、支付等功能,目前进入性能测试阶段,通过性能需求可以了解到主要有以下几个性能指标需要进行测试:

● 产品页面刷新性能

● 产品上传性能

● 产品下载性能

目前给出的指标为:

延迟:

测试项 响应时间 抖动 备注

产品页面刷新 <5秒 <2秒

产品下载相应时间 <4秒 <2秒

吞吐量:

编号 项 吞吐量

Perf.T.1 所有登录用户在线状态更改频率 每10分钟1次

Perf.T.2 每日页面平均访问量 60000次

Perf.T.3 每日下载量 50000

Perf.T.4 平均每日新增会员数量 500

Perf.T.5 高峰同一模板下载量 100用户并发下载

Perf.T.6 高峰不同模板下载量 150用户并发下载

容量:

编号 项 容量

Perf.C.1 用户数 <=100万

Perf.C.2 活动用户数 10000

Perf.C.3 模板中心总用户数 <=25万

根据如上性能需求及数据我们该如何设计性能测试用例及场景呢?(可以说给出的性能需求很垃圾,没有丝毫价值,但没办法还是点做啊)

首先,我不去在乎它要求的性能是什么,我只需要去做在一定的测试环境下对系统进行压力测试,找到各个性能指标的临界点就好了,至于是否达到性能指标,在和性能需求对照编写测试报告即可。

所以,针对这几个需要进行性能测试的页面,我们做一下分析,如何设计场景才能尽可能准确地体现出系统的性能:

  先说一下搜索页面

搜索页面根据对项目的了解,搜索后,将所有符合条件的结果遍历出来,显示在前台,每页的显示数量是一定的,超出的部分分页显示。根据上面的描述我们可以看出搜索结果是在将符合条件的所有结果集均发送到前台页面,对于页面显示对性能的消耗我们可以忽略不计,主要的压力来自数据的传输、sql的执行及应用服务器的处理过程,所以我可以从两个方面设计场景:

a、虚拟用户一定,不同数据库数量级的情况下,搜索的性能

如何确定虚拟用户的数量成为一个关键,我们可以让客户提供一个常规情况下每天访问用户数(如果没有实际数据可参考,可以根据产品方案中期望的用户数来代替),我们就用这个用户数来进行测试;再来分析一下不同的数据库数量级,如果系统运营1年的产品数据量是5万条,那么我们就根据这个值分别取1W条、3W 条、5W条、10W条、20W条数据量来进行测试(具体的分法可以根据实际情况而定),所以对于这个测试目标,我们可以设计5个场景进行:

虚拟用户数数据库数量级录制页面并发用户数执行时间思考时间

100 10000 搜索页面随机产生30分钟加入思考时间

100 30000 搜索页面随机产生30分钟加入思考时间

100 50000 搜索页面随机产生30分钟加入思考时间

100 100000 搜索页面随机产生30分钟加入思考时间

100 200000 搜索页面随机产生30分钟加入思考时间

b、一定数据库数量级,不同量虚拟用户的情况下,搜索的性能

我们定下来一个常规的数据库数据量,在数据量不变的情况下逐步增加虚拟用户数,测试一下不同虚拟用户压力下系统的性能

虚拟用户数数据库数量级录制页面并发用户数执行时间思考时间

50 50000 搜索页面随机产生30分钟加入思考时间

80 50000 搜索页面随机产生30分钟加入思考时间

100 50000 搜索页面随机产生30分钟加入思考时间

120 50000 搜索页面随机产生30分钟加入思考时间

150 50000 搜索页面随机产生30分钟加入思考时间

产品上传

影响上传性能的主要因素有上传文件的大小和上传的请求数,所以我们就从这两个方面设计用例。

a、虚拟用户数一定,上传不同大小的文件

虚拟用户数上传文件大小录制页面并发用户数执行时间思考时间

50 100k 上传页面随机产生30分钟取消思考时间

50 300k 上传页面随机产生30分钟取消思考时间

50 500k 上传页面随机产生30分钟取消思考时间

50 800k 上传页面随机产生30分钟取消思考时间

50 1M 上传页面随机产生30分钟取消思考时间

b、上传文件大小一定,不同量的虚拟用户

虚拟用户数上传文件大小录制页面并发用户数执行时间思考时间

20 300k 上传页面随机产生30分钟取消思考时间

50 300k 上传页面随机产生30分钟取消思考时间

80 300k 上传页面随机产生30分钟取消思考时间

100 300k 上传页面随机产生30分钟取消思考时间

产品下载

影响下载性能的主要因素有下载文件的大小和下载的请求数,所以我们就从这两个方面设计用例

a、虚拟用户数一定,下载不同大小的文件

虚拟用户数下载文件大小录制页面并发用户数执行时间思考时间

50 100k 下载页面随机产生30分钟取消思考时间

50 300k 下载页面随机产生30分钟取消思考时间

50 500k 下载页面随机产生30分钟取消思考时间

50 800k 下载页面随机产生30分钟取消思考时间

50 1M 下载页面随机产生30分钟取消思考时间

b、下载文件大小一定,不同量的虚拟用户

虚拟用户数下载文件大小录制页面并发用户数执行时间思考时间

20 300k 下载页面随机产生30分钟取消思考时间

50 300k 下载页面随机产生30分钟取消思考时间

80 300k 下载页面随机产生30分钟取消思考时间

100 300k 下载页面随机产生30分钟取消思考时间

总结:

一个网站优化的目的即是,最大限度的利用好服务器硬件资源提升资源利用率,减少用户请求的响应时间,提高系统吞吐量,提高系统并发数。

关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。

欢迎加入   51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ   群:    755431660

posted @ 2018-08-15 16:51 51testing 阅读(204) | 评论 (0) | 编辑 收藏
 
消灭 Bug!推荐5款测试员不可不知的bug管理工具!

Bug是软件开发过程中的“副产品”,也是开发人员最不想见到的状况。如果没有跟踪和梳理各种bug和问题并及时解决,项目就会花费非常多的时间,导致整个项目的重心偏移。如果在此过程中,测试人员使用一个合适的Bug管理工具,将可以提高整个团队的工作效率,把控产品质量,更好的完成任务。


根据每个公司性质的不同,规模的不同,所用到的bug管理工具也可能不同。你们用的bug管理工具是什么呢?下面介绍几款主流的bug管理工具:

JIRA(付费)


JIRA的生产者把JIRA定义为Professional Issue Tracker,即它是一个专业的问题跟踪管理的软件。这里的”问题”对应的英文单词是Issue,所以含义比较广,包括Bug,Task,Enhancement,Improvement等等跟软件开发相关的名词。

跟踪管理即对问题的整个生命周期进行记录和管理。一个问题从创建到解决到关闭涉及到很多相关信息,包括是什么问题,谁发现的问题,谁处理了这个问题,如何处理的,相应的代码有什么改变等等,JIRA可以方便的记录这些信息,并且在问题的不同状态呈现在相应的责任人面前。

JIRA具有很多优点,对测试来说,以下3点必须知道:

1. 针对问题其默认定义了丰富的字段来记录问题的各种信息,包括Issue Type, Issue summary, Issue Description, priority, assignee, reporter, resolutions等等;

2. 默认定义了工作流的一些状态: new, open, defer, pending, resolved, reopened, closed。 默认定义了一个简易的工作流, open-in progress-resolved-closed;

3. 支持邮件通知,邮件通知可以同工作流中和工作流之外的事件关联;

Trac


Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。

Trac是以面向进度模型为项目管理模型的,很明显的特点就是它以里程碑(Milestone)方式进行项目管理的。每个里程碑中的具体要做哪些事情,就使用Ticket来进行定义、跟踪等。

Gitlab


Gitlab管理bug也是最近才接触到。跟项目绑定,特别方便管理bug,随时assign给相关开发,也可以看到开发提交bug时的Commits,每次发版可以对照相关提交,既方便测试,也可以在出现问题时找到对应开发。

Mantis


缺陷管理平台Mantis,也做MantisBT,全称Mantis Bug Tracker。

Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。

基本特性:

1. 个人可定制的Email通知功能,每个用户可根据自身的工作特点只订阅相关缺陷状态邮件;

2. 支持多项目、多语言;

3. 权限设置灵活,不同角色有不同权限,每个项目可设为公开或私有状态,每个缺陷可设为公开或私有状态,每个缺陷可以在不同项目间移动;

4. 主页可发布项目相关新闻,方便信息传播;

5. 具有方便的缺陷关联功能,除重复缺陷外,每个缺陷都可以链接到其他相关缺陷;

6. 缺陷报告可打印或输出为CSV格式,1.1.7版:支持可定制的报表输出,可定制用户输入域;

7. 有各种缺陷趋势图和柱状图,为项目状态分析提供依据,如果不能满足要求,可以把数据输出到Excel中进一步分析;

8. 流程定制方便且符合标准,满足一般的缺陷跟踪。

Bugzilla


Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System),它可以管理软件开发中缺陷的提交(new),修复(resolve),关闭(close)等整个生命周期。

Bugzilla Bug报告分类

(1)待确认的(Unconfirmed)

(2)新提交的(New)

(3)已分配的(Assigned)

(4)问题未解决的(Reopened)

(5)待返测的(Resolved)

(6)待归档的(Verified)

(7)已归档的(Closed)

(8)Bug处理意见

(9)已修改的(Fixed)

(10)不是问题(Invalid)

(11)无法修改(Wontfix)

(12)以后版本解决(Later)

(13)保留(Remind)

(14)重复(Duplicate)

(15)无法重现(Worksforme)

Bugzilla指定处理人:

(1)可以指定一个处理人

(2)如不指定处理人,则系统指定管理员为默认处理人

Bugzilla链接:

输入超链接地址,引导处理人找到与报告相关联的信息

Bugzilla概述:

(1)概述部分“Summary”的描述,应保证处理人在阅读时能够清楚提交者在进行什么操作的时候发现了什么问题。

(2)如果是通用组件部分的测试,则必须将这一通用组件对应的功能名称写入概述中,以便今后查询。

Bugzilla平台操作系统:

(1)测试应用的硬件平台(Platform),通常选择“PC”

(2)测试应用的操作系统平台(OS)

BUG管理工具的跟踪过程

再来说说一下bug管理工具的跟踪过程(以BugZilla为例子):

测试人员发现了BUG,提交到Bugzilla中,状态为new,BUG的接受者为开发接口人员,

开发接口将BUG分配给相关的模块的开发人员,状态修改为已分配,开发人员和测试确认BUG,如果是本人的BUG,则设置为接收;如果是别的开发人员的问题,则转发出去,由下一个开发人员来进行此行为;如果认为不是问题,则需要大家讨论并确认后,拒绝这个BUG,然后测试人员关闭此问题。

如果开发人员接受了BUG,并修改好以后,将BUG状态修改为已修复,并告知测试在哪个版本中可以测试。

测试人员在新版本中测试,如果发现问题依然存在,则拒绝验证;如果已经修复,则关闭BUG。

我以上分享的每个工具都有自己的优缺点,选择一款适合自己的来提升工作效率。bug管理工具也不仅仅是介绍到的几款,还有禅道,Redmine等,大家可以自己搜搜了解下。

关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。

欢迎加入   51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ  群:   755431660

posted @ 2018-08-14 16:41 51testing 阅读(248) | 评论 (0) | 编辑 收藏
 
从业余变专业,这8个超实用的Java测试框架和库请收好!

测试是应用程序生命周期里至关重要的一步,应用程序在进行最后的部署之前,需要通过测试来确保它的负载管理能力以及在特殊情况下的工作条件和工作加载情况。

网络上许多Java测试工具和框架,然而真正经得起时间和实践考验的不多,本文例举了8个超实用的Java测试框架和库,并且得到了测试人员和QA团队的广泛使用。

Java入门

如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runtime Environment(JRE)和JVM(Java运行时环境)。它能让你在自己的电脑上编译、运行、测试你的Java程序。

此外,你还需要IDE(集成开发环境)。选择有很多,如IntelliJ、Eclipse和NetBeans。

想要提高你的自动化测试技术?下面我们来了解8 个优秀的测试框架和库,以及它们常见用法的概述。

JUnit

JUnit 无须赘述,即便是小白,可能也已经听说过它,你可以使用它编写 Java 代码的单元测试。

几乎所有主流 IDE,例如 Eclipse,NetBeans 和 IntelliJ,都集成了 JUnit,可以直接在这些IDE中编写和运行单元测试。

大多数人仍在使用 JUnit 4,即使 JUnit 5 已经发布,它很可能是今年下一个热点。通过 JUnit 5,可以将 JUnit 同时应用于单元测试和集成测试,并且它还支持 Java 8 的特性。

REST Assured

用 Java 语言测试和验证 REST 服务,要难于 Groovy 这类动态语言。

REST Assured 将这类语言的易用性带入了 Java 领域,是一个优秀的 REST API 的集成测试工具。

Selenium

Selenium 很可能是最流行的 Java UI 测试工具了,它可以让你在不必启动浏览器的情况下测试 JSP 页面。

你可以使用 JUnit 和 Selenium 来测试 Web 程序的界面,它甚至允许你编写 Web 应用程序的验收测试。

TestNG

TestNG 是一个测试框架,其灵感来自 JUnit 和 NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。例如可以使用注解,在任意大的线程池中,配置各种可用策略进行测试(例如所有方法都在自己的线程中,每一个测试类使用一个线程等)。

因为 TestNG 使用 JUnit 4 的注解,同时又集成了 HAMCSTREST 匹配器,它与 JUnit 的差异已经减小了,但两者如何选择,这取决于你。

Cucumber

Cucumber 是另一个重要的自动化集成测试工具,但与其它同类别的工具不同的是它能够针对规格文档进行自动化测试。

Cucumber 将规格文档和测试文档合成整个动态文档,同时 Cucumber 自动测试这个文档,使测试规范始终保持在最新版本。

Spring Test

Spring MVC 自带一个很有用的测试框架,它可以在不引入 Web 容器的情况下进行深入测试。

Spring Test 是为 Spring 程序编写自动化测试的最有用的库之一。为了给 Spring 驱动的应用程序(包括 MVC 控制器在内),编写单元测试和集成测试,Spring Test 提供了一流的支持。

另外,Spring Test DbUnit 集成了 Spring Test 框架与 DbUnit;Spring Test MVC HtmlUnit 集成了Spring Test MVC 框架和 HtmlUnit。

通过使用这些工具,你可以轻松地自动测试 Spring MVC 应用程序。

DBUnit

数据库是许多 Java 应用程序,包括核心 Java 和 Web 应用程序中不可或缺的部分,也有可能是单元测试的最大障碍。

在进行集成测试时,连接开发环境或用户验收测试的数据库并不可靠,因为任何人都可以更改数据模式和数据本身,例如表和存储过程等,这会导致自动化集成测试失败。

DbUnit 是一个 JUnit 扩展,每次集成测试前,将数据库初始化成已知状态,确保数据库存储正确的数据。

DbUnit 自身还存在着一些问题,但它是一个非常有用的工具,因为它可以帮助我们分离测试数据与测试代码。

Robot 框架

Robot 框架是一个基于 Python 的通用测试自动化框架,用于验收测试和验收测试驱动开发。

它是一个由关键字驱动的,使用表格测试数据语法的测试框架,可以用来测试那些涉及多种技术和接口的分布式异构应用。

结论

以上列举了几个超实用的Java测试工具,框架和库。

还有很多库没有包括在这个列表中,例如 AssertJ 和 Hamcrest,它们可以帮助你写出漂亮且流畅的测试,但学习需要一步步来。

首先,学习一个可以应用于日常工作的工具或库。 例如,如果你正在使用 Java UI,那么首先应该学习 Selenium,这样你可以有更多时间专注在这个工具上。

关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。
欢迎加入   51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群:  755431660

posted @ 2018-08-13 17:41 51testing 阅读(168) | 评论 (0) | 编辑 收藏
 
仅列出标题
共55页: First 19 20 21 22 23 24 25 26 27 Last