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

评论排行榜

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

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

两成薪资差距,atstudy网校揭秘IT行业职场女性晋升绊脚石

刚过去的女性专属节日,各大互联网线上平台都推出了各类节日营销活动,对节日的称呼也从“三八妇女节”逐步演变为“女王节”“女神节”,彰显出了当代女性的“女子力”。在当今大部分女性经济独立的因素影响下,职场女性的消费能力和消费意识快速提升,很多商家都把精力放在女性的购物需求上,就好像买买买才是对女性节日最好的尊重,但Atstudy网校却另辟蹊径,针对IT职场女性职业发展,以工作生活中的各种矛盾为切入点,解决了职场女性的团队协作、工作重点、职业晋升等诸多问题,一时成为IT圈的热议话题。


《2018中国女性职场现状调查报告》数据显示,从社会整体来看,中国女性的月平均收入要比男性低22%,尤其在晋升方面,男性更容易得到更高的职位与薪资,因为婚姻与生育因素而失去求职或晋升机会,是女性区别于男性的最大障碍。

近期国家出台的《关于进一步规范招聘行为促进妇女就业的通知》,将女性遇到职场晋升空间不足、面试受阻、权衡工作与家庭等各方面矛盾冲突推向台面,引发了社会等各界人士的广泛关注。

就IT行业而言,工作强度大,工作时长不可控,当女性步入婚姻和生育阶段,在家庭上的时间投入要比男性更多,而投入在职业技能提升、人际关系处理、工作任务的实施等其他方面的时间将大幅被占用和压缩,而互联网时代下IT行业技术迭代快速,每一天都有无数产品上新和衰落,技术略有停滞,就很容易被替代,如何在有限的时间内实现高效学习,也成为众多女性在本次活动中探讨的重点话题。

主讲人商老师坦言,自己身为职业女性,也培养过上千女性进入软件测试行业,能深刻感受到女性测试人员其实与男性拥有同等的应变能力、抗压能力,甚至在软件测试这个工种中拥有更为优越的条件,例如细心、沟通谈判优势,但在IT行业的晋升机会仍然普遍低于男性,是因为学习能力薄弱。

女性通常花在学习上的时间和新技术上的精力明显低于男性,这跟家庭干扰有很大的关系。活动中主讲人引导女性在工作中要如何将经历转变为经验,以及从分析问题、解决问题、项目实战、工作总结、工作沟通等多角度阐述突破技术瓶颈的关键要素,用最少的时间掌握最有效的自我提升途径,引发了参会女性的共鸣。

Atstudy网校这次活动是业界首次关注IT职场女性群体,报名的火热情况以及授课过程中的激烈讨论充分反映出这类群体在IT行业遇到普适性问题,本次活动的运营负责人称,当电商将关注点都放在女性消费,反复刺激促进购买力之时,关注女性的赚钱能力、帮助她们提升职业地位,应该是教育培训平台更应该去做的,Atstudy将持续为女性IT从业者分享更多职场经验,女性作为现代职场的半壁江山,不应还停留在家庭大于工作的陈旧观念上,应有更多的人为女性的社会地位提升发声。这跟Atstudy网校对于自己的定位也非常切合,教育的本质是育人,改变职业命运,从而享受更好的生活质量。毕竟钱袋鼓鼓,才更有买买买的资本。

扫描下方二维码,

添加客服小姐姐:sy51testing

备注:女王  

拉你进专属女生群,

享更多活动福利~~


posted @ 2019-03-12 17:41 51testing 阅读(66) | 评论 (0) | 编辑 收藏
 
Python 和Java对比,全面解读哪个语言最赚钱,前景最好?

都知道现在最火爆的是人工智能、大数据。而人工智能和大数据主要用的语言就是Java和Python。今天我们就来分析一下,当前java和python,哪个就业前景更好,薪资更高?该学哪一个?


一、语言历史

Python:生而为简

Python是一门拥有简洁语法的高级编程语言。一个名为Guido van Rossum的荷兰大佬在1991年设计了它。Rossum设计这门语言的初衷,就是为了让代码读起来更轻松,并且让程序员们比起用其他语言,可以写更少的代码,事半功倍。

Java:出生就想当老大

而Jame Gosling在1995年设计了Java。 Java是一门以Class为单位,高度面向对象的高级编程语言。Java的设计初衷是“写一次代码,在哪里都可以用。”Java可以完成任何规模的任务,所以它也是很多公司在做商业级项目的时候的普遍选择。

二、语言特点

Java的特点:

1.编译型语言,编译器会生成由字节码组成的.class文件,然后由java虚拟机来运行;

2.静态类型语言,在编译期间就确定数据类型,变量先声明再使用;

3.强类型语言,一旦变量被指定了某个数据类型,如果不进行强制类型转换那么它就一直是这个类型;

4.面向对象语言,必须面向对象编程,变量和函数都有所归属的类。

python的特点:

借用一首诗(节选):

优美胜于丑陋(Python 以编写优美的代码为目标)

明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)

扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)

可读性很重要(优美的代码是可读的)

即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)

1.解释型语言,解释型语言程序不需要编译,运行时会翻译成机器语言,但python程序在运行过程中会自动生成字节码文件.pyc,改善了python的性能;

2.动态类型语言,变量的使用无需声明,在赋值的时候根据值类型自动确定;

3.强类型语言,一旦变量被指定了某个数据类型,如果不进行强制类型转换那么它就一直是这个类型(同java);

4.面向对象语言,不强制以面向对象的方式编程,可以以独立的函数模块来处理逻辑而不需要放到类中。

三、实际应用

Python

通过丰富的Web开发框架,如Django和TurboGears,Python可以用来快速完成一个网站的开发和Web服务。典型如国内的豆瓣、果壳网等

自动化系统网络的运行维护中,大量重复性工作的地方,并需要做管理系统、监控系统、发布系统等。

人工智能和数据分析

Java

安卓app开发

大型网站的后端

大型的企业级应用

大数据

四、数据分析影响薪资的原因

1.工资与工作年限的关系


符合大众的认知,从事python的应届毕业生起始工资平均值在5K左右,且薪资水平跨度最小,经验5-10年,工资水平跨度最大,主要可能是因为,有一部分转为技术管理岗位,工资较低的可能还在继续码代码,是不是对广大同胞们的警告啊.......

2.工资与学历的关系(专科,本科,研究生,不限)


这里是否能说明学历在一定程度上的重要性?学历本科的工资跨度比较大,因为工作经验的不同导致了薪资的差异。

3.工资与公司融资的关系

对于这部分知识是盲点,但是可以看出融资公司(上市也是一种融资方式)比没有融资的公司平均工资要高出不少,这部分是不是可以是以后找工作的一个风向标。

4.工资与公司大小的关系

公司规模越大,平均的工资也越高。

5.工资与工作时间和学历的关系

在大部分情况下,没(Ren)钱(Chou)就要多读书。不管是经验经验1年以下、经验3-5年、经验5-10年、经验不限的情况下,拥有硕士学历的平均收入都普遍高于本科,本科都高于大专。(这里完全没有歧视低学历之意)

6.公司福利的云图


现在公司的福利贴有“弹性工作,氛围好,团队,大牛,技术,五险一金”等标签来吸引求职者眼球。

五、5岗之间薪水因素影响比较分析

1.Python岗、Java岗、C++岗、PHP岗、C#岗位的平均薪水


通过抓取网上职位信息,可以看出python和java的平均薪资较高,C#的平均工资最低。

由此也验证python近几年火热的态势,由于AI的火热,python的需求越来越大,传统的java也比较强势,薪资待遇较高。

2.相同工作经验不同职位信息薪水比较


对于不同工作经验,不同编程语言平均薪水还是有较大的差异。

3.相同学历信息不同职位信息薪水比较

通过硕士、本科、大专、不限四种比较,硕士的总体薪资高于本科。

4.同一职位不同学历信息薪水比较


六、总结:

总的看来,在每个职业,硕士学历的平均薪水高于本科,本科的平均薪水高于大专。

从语言本身来看,Python语法简洁,容易上手,而Java以独特的架构和较快的速度著称。

Python作为最近越来越火的语言,是大数据和人工智能的主力军,同时也在网页开发中广泛运用。而Java则垄断了企业级应用的开发,两者工程师的薪资也都十分可观。

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

posted @ 2019-03-11 17:35 51testing 阅读(71) | 评论 (0) | 编辑 收藏
 
我只想找个功能测试,面试官却把我逼上了绝境……结果顺利通过!

现在的测试都需要会用8种语言来写Hello World!测试开发的等级也分的越来越细。所谓“点点点”的功能测试员,是否没有出路?我就是一个功能测试,工作内容包括“点点点”,但得知道从哪里入手点点点,和借助什么工具。


很多公司面试人都是:面试造火箭,工作拧螺丝。作为一线大厂,我遇到的面试官并没有遇到过这个情况。我很幸运的没有被“虐”,也顺利入职了一座伟大的公司。下面说一下面试过程。在叙述面试过程中,我会结合入职后工作的一些工作内容。

我是通过内推面试了2个组。第一个组没有通过。因为当时还不会代码,所以对于测开的职位,肯定是没办法通过了。第2个组是招聘T4以下的功能测试,又是内推,内推的两位同事在组内也能说得上话,于是我得到了这次面试机会。

上来先做了一套面试题,是我工作所在的组长(也是我的面试官)出的套题. 题目中有抓包工具的使用细节;一个BUG描述的具体内容;性能测试自己所知道的方法;一个windows任务管理器的错图,需要找它的BUG。还有些其他概念题,具体的记不清了,大概是:V模型的测试类型,迭代-增量开发模型描述,每个测试级别,都需要明确哪些内容等等。组长将考题给我之后就离开了。

作为“资深面试”者,我深深的知道这时候打开手机搜索答案是没有任何意义。面试的内容和结果,答题只占很少的一部分。如果你通过搜索写出的答案,越详细,越全,越官方,被口头提问时答不上来就肯定失败了对吧。于是我全部都根据自己脑子里的东西,答的题。半个小时候,我的组长准时回来了。看了我每个题后,开始口头提问,并没有再看那张正反面的卷子。

首先是叙述抓包工具的实际使用场景

我选择了日常做的最多的那些叙述,做的少的没敢说,怕被问住:

(1)更改host;

(2)埋点上报;

(3)Windows端测试环境软件的自启动: 将fiddler和被测软件都加入到windows的自启动菜单中(在开始菜单中“自启动”右键进入文件夹设置)。将 fiddler配置好host之后重启电脑,电脑重启后会自启动fiddler和被测软件,即刻测试开机后的在测试环境软件自动升级等操作。

在后来的工作中,使用抓包工具做了“下载按钮应判断是否已安装指定APP,不需要重复下载”;自己创建ini配置文件,自己签名,自己打cab升级包,重定向到本地,将ini.update和dl接口重定向到本地的文件,进行模拟服务端升级等等。如果这种通用技能能在面试时多说出来一些会加分。

接下来是性能测试所知道的方法

我由于之前一直是客户端或者终端的“点点点”测试,所以都是基于UI的。其中有大家都知道的:

(1)使用高速摄像机进行录制。数帧,加机器手进行模拟点击;

(2)adb命令加批处理进行模拟点击屏幕坐标,为了“美观”加入间隔等待ping 127.1 是自己的主机

-n 6 ping6次,花费时间大概为5秒左右

>nul 不在屏幕上显示ping的运行结果。如果不加>nul也没有影响

(3)我把Monkey也算在性能测试里。如果没人告诉我该应用的启动activity是什么的时候。 Logcat中搜”cmp=”: 找到应用的启动activity.

(4)查看CPU使用值,查看内存使用。

我的组长问我压力测试有什么实践吗?我说很少,基本也都是adb命令坐标点击,比如拍照500次;或者长时间持续的执行一个操作。因为我不会识别页面元素,不会抓元素来精准点击。我的组长说了,你没想过“挂机”也是压力测试的一种吗?我顿悟……压力测试是无处不在的。

安全测试的思路

作为国内做安全最好的公司肯定要问一些安全测试的题。我将我准备的安全测试的思路说了一些:

(1)查看这个APP进程中,有没有存在debug和info log.

(2)清缓存后,登录不上,说明没有残存cookie.同一账号,记住密码,连续登陆几天,看会不会生效,cookie有时间限制;登陆失败后,不能记录密码的功能.

(3)登录成功后生成的Cookie,是否是http only?,否则容易被脚本盗取,使用火狐的cookie Manager.

(4)在地址栏直接输入各个功能页面的URL地址,看系统如何处理,是否能够直接链接查看(匿名查看),是否有权限控制,是否直接执行,并返回相应结果页

(5)错误登陆的次数限制,防止暴力破解

(6)用户名和密码是否通过加密的方式,发送给Web服务器.

(7)什么都不输入,点击提交按钮,看提示信息。(非空检查)

在这儿工作之后才知道,“安全”是从产品到研发到测试到运营每个人都极度遵守的意识,更不用说严格的代码提交规范,安全审核流程,48小时必须修复安全问题的红线制度等。具体的验证项目不能详细说属于保密内容,但它是真真正正的安全之王。

服务端相关

虽然以前的测试工作肯定有服务端的交互,但是我们都管它叫:云端配置,等等。没有真的接触服务端,看接口业务之类。关于服务端的提问,我没有答上来。我的组长没有因为我只是来面试的,而忽略我的测试知识获取。主动给我讲了:一个新接口的测试,除了服务端逻辑测试,客户端容错测试也很重要。当客户端对返回值不能进行容错,如服务端给的规定逻辑是6,拦截接口后手动设置了999,或设置的频率为1,拦截接口后手动设置0,或null,也许会出现异常内存泄漏,应用崩溃dump。

我清楚的记得我当时是假装听懂的,不停的点头说原来是这样啊。其实根本没有任何轮廓。后来实际工作中发现,原来这么简单这么基础。所以面试时候这一点要说上来哦。

其他的关于数据库,代码类,我都没答上来,当时是真的不会。但这个一定会被问,哪还会有不用数据库的测试呢?哪怕是本地的测试数据库也要会操作。软件测试基础概念,我能说的比较全。最重要的是,我真情流露了对大厂的爱。我组长后来跟我说,也是因为我十分爱大厂所以才破格录取的我。

这就是这次面试的部分经验。并没有写的很全,毕竟涉及一些保密。但此次面试就是拧螺丝,实际工作也是拧螺丝,所见即所得,非常的实在!从而也证明了,只会功能测试的测试老阿姨也是可以入职大厂并顺利工作的。在大厂中学会了很多工具的使用,为功能测试增加了很多辅助。由于功能测试更顺利,所以更有时间和机会去进阶测试开发,学习代码了。

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

posted @ 2019-03-08 17:37 51testing 阅读(98) | 评论 (0) | 编辑 收藏
 
程序员内斗:软件测试工程师与开发搞好关系的秘诀!

一说到测试和开发的关系,你一定会想到一个词“冤家”。

开发的工作就是按照PM的设计将产品最终造出来,而测试则是在开发已完成的工作里纠错。so,测试的工作会让开发很不爽,人之常情,谁都不喜欢自己的劳动成果被别人挑毛病。

如果测试在工作中采用不讲究的方法,更会让比较紧张的测试开发关系雪上加霜。所以测试总是很容易就和开发们吵起来,吵得是鸡飞狗跳,一言不合就鱼死网破。所以,下面这样的场景每天在不同的公司重复上演。


测试:

每次提出一个bug都让测试重现,描述得那么清楚,自己操作下不会吗?

开发太依赖测试了,相同的bug提出一处改一处,就不知道自己检查一遍吗?

出现bug就说自己本地是好的,版本是不是不对,用户不会这么操作。

出现bug就让测试清数据,重启手机,三两下就把bug整不见了,坑……

……

开发:

这么小的bug都要开发改,影响又不大,还耗时费力,测试懂不懂项目管理,预估风险啊?

明明是客户端的bug,指派给我们服务器是几个意思?

花费了时间排查,竟然是无效bug,测试到底有没有搞清楚需求?简直是浪费时间。

明明是个P3的bug,给我报P1,至于么?

测试总是在深究bug产生原因和解决方案,测试又不懂代码,懒得解释。

……

测试和开发在工作中因为职责不一样,往往会造成分歧。

对测试和开发的一些建议:

在完成软件研发的过程中,开发和测试之间的关系非常的“微妙”,时而合作如亲人,时而争论如敌人。我认为,为了做出高质量的软件产品来,开发和测试需要做到:

第一,共同参与软件需求文档的评审,对程序要实现的功能有一个清晰的认识。如果对需求有疑问,一定要当面提出来。

第二,在对需求达成共识之后,软件开发人员严格按照软件需求文档上的描述来编写程序,如果在程序实现上有困难,要提出来和大家讨论。软件测试人员严格按照需求的描述来验证程序的功能,如果发现程序实现与需求不符,要及时与软件开发人员联系,大家共同将程序问题解决掉。

第三,如果开发时间紧张、人手不足,那么在开发人员编写程序的时候,测试人员可以帮忙把测试环境搭建好。等程序编写好之后,开发人员便可以立即进行单元测试和集成测试。

第四,不管是需求有问题,还是程序有缺陷,大家都可以指出来。但注意要就事论事,不可将软件问题上升为对特定个人的人身攻击。

第五,虽然是各司其职,也许还身处不同的部门,但大家的共同目标是一致的:做出让客户满意的、高质量的软件产品。开发和测试人员要为了这个目标,一起努力。

如果要做一名让开发人员佩服的测试人员,需要掌握的技能。

1)编程语言

至少要掌握一门语言,不管是简单的php,java,还是C++也好,或者其他的脚本语言python,perl还是shell也好。

2)数据库

至少要掌握一种数据库的DBA,对SQL的操作要熟悉,熟练的运用JOIN进行查询,知道HAVING用法,测试人员离不开数据库的管理和数据库的操作。

3)操作系统

熟悉系统安装,配置,管理,对于Linux,熟悉常用的命令行操作,用Linux的时候,尽量能用命令行,就不要去点鼠标,能在Linux下能安装和配置软件等。

4)扎实的软件测试理论

理论是实践经验的总结,不能说最好,但是如果说设计测试用例的时候,如果每种方法都有涉及到,肯定会发现用例覆盖率会高,而且容易发现bug。

5)尽量自己分析问题

在发现问题之后,能自己尽量的寻找线索,首先要确定非环境因素,比如检查配置是否全部正确,网络是否有问题等等,然后确定非环境因素后,保护现场,保存记录系统提示信息,如果有日志功能,那自己先根据日志查找一些线索,并把自己检查过的地础和做过的分析信息尽可能多的提供给开发人员,而不是仅仅把错误日志或者错误信息丢给开发人员分析就不管了。

6)多涉猎一些项目之外的知识

做测试的就是要涉猎的广,跟开发不同,测试是要能接受任何类型的项目,因为测试是一门方法学,方法学是不受某个产品或者领域限制的。

7)掌握一些安全方面的知识

安全方面需要哪些知识,首先从网络安全入手,了解一些密码学方面的知识,比如了解常用的加密算法原理,比如报文加密传输协议原理,建议看一下hash的方法,这个简单容易理解,还比较容易举一反三。

8)提高沟通能力,懂得尊重开发人员

测试人员要面对的人员很多,客户,项目经理,开发人员,产品经理等,有时候会全部都接触的到,那么沉默就不一定是金,有良好正确的沟通能力,会帮助测试人。

总结:

很多时候不仅仅是把自己手头的工作做完就结束了,大家是在同一个团队为了同样的目标在努力。如果仅仅是为了更快的完成自己的工作而延误了别的小伙伴的工作,就最终将要达成的目标来说也是得不偿失的。

因此,在日常的工作中多站在对方的角度思考问题,多体谅对方,将自己能力范围内的工作做好,问题解决好,为对方营造一个舒适的解决问题的环境,对方自然将你的好看在眼里,记在心里。即便是前世的宿孽,今世的冤家也能有情人终成眷属。

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

posted @ 2019-03-06 17:36 51testing 阅读(91) | 评论 (0) | 编辑 收藏
 
2019最好用的自动化测试工具Top 10,果断收藏!

经常有人在公众号留言或是后台问我,做自动化测试用哪个工具好,或是学哪门编程语言好呢?

这个时候总是无奈的说:

你应该学习Python 或是Java。

你应该掌握Selenium。

又或者你需要学会jmeter,嗯,可能LoadRunner你应该学习。

也许SoapUI是个不错的选择,或者你可是试试PostMan。

其实这些都不是我真正的答案,我想说:只专注于一种编程语言或一种工具可能限制你的发挥,尤其可能限制了你在工作中可提供的价值。如果你可提供的价值在逐步退化,那么你的舞台可能突然谢幕,你的职业也会停滞不前,受到限制。

所以,什么最重要?当然是能力了!下面我就介绍下2019最好用的10个自动化测试工具,希望可以充实你的知识库,打开你的职业发展舞台!


在自动化测试领域,自动化工具的核心地位毋庸置疑。我总结了最顶尖的自动化测试工具,这些工具可以帮助组织更好地定位自己,跟上软件测试的趋势。这份清单包含了开源和商业的自动化测试解决方案。

1、Selenium

WebUI自动化测试

Selenium是网页应用中最流行的开源自动化测试框架。起源于2000年,10多年来不断地完善,Selenium成为许多Web自动化测试人员的选择,尤其是那些有高级编程和脚本技能的人。Selenium也成为了其他开源自动化测试工具比如Katalon Studio,Watir,Protractor和Robot Framework的核心框架。

Selenium 支持多系统环境(Windows,Mac,Linux)以及多种浏览器(Chrome,FireFox,IE以及无头浏览器(没有界面))。它的脚本可以由各种各样的编程语言编写,比如 Java,Groovy,Python,C#,PHP,Ruby 以及 Perl。

因为Selenium的灵活性,测试人员可以写各种复杂的、高级的测试脚本来应对各种复杂的问题,它需要高级的编程技能和付出来构建满足自己需求的自动化测试框架和库。

2、Appium

AppUI自动化测试

Appium是一个移动端自动化测试开源工具,支持iOS和Android平台,支持Python、Java等语言,即同一套Java或Python脚本可以同时运行在iOS和Android平台,Appium 是一个C/S架构,核心是一个Web服务器,它提供了一套REST的接口。当收到客户端的连接后,就会监听到命令,然后在移动设备上执行这些命令,最后将执行结果放在HTTP响应中返还给客户端。

3、Jmeter

接口测试,性能测试

Apache JMeter是一个开源的Java桌面应用程序,主要用于web应用程序的负载测试。它还支持单元测试和有限的功能测试。

它有很多好的特性,比如动态报告、可移植性、强大的测试IDE等,并且支持不同类型的应用程序、协议、shell脚本、Java对象和数据库。

4、Postman

接口测试

Postman 提供功能强大的Web API和HTTP请求的调试,它能够发送任何类型的HTTP请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和Headers。不仅如此,它还提供测试数据和环境配置数据的导入导出,付费的Post Cloud用户还能够创建自己的 Team Library用来团队协作式的测试,并能够将自己的测试收藏夹和用例数据分享给团队。

5、SoapUI

接口测试

SoapUI是一个非常流行的用于SOAP和REST的开源API测试自动化框架。它还支持功能测试、性能测试、数据驱动测试和测试报告。

6、Monkey

稳定性测试

软件附带在sdk中,适用于android和ios,通过adb shell,生成用户或系统的伪随机事件。

压力测试结果:崩溃crash,无响应anr,

基本命令:adb shell monkey 1000。

7、Robot Framework

WebUI自动化测试,接口测试

Robot Framework是一个开源自动化框架,它实现了用于验收测试和验收测试驱动开发(ATDD)的关键字驱动方法。Robot Framework为不同的测试自动化需求提供框架。但是,通过使用Python和Java实现其他测试库,可以进一步扩展其测试功能。Selenium WebDriver是Robot Framework中常用的外部库。

测试工程师可以利用Robot Framework作为自动化框架,不仅可以进行Web测试,还可以用于Android和iOS测试自动化。对于熟悉关键字驱动测试的测试人员,可以轻松学习Robot Framework。

8、QTP

WebUI自动化测试 

QTP是一种自动测试工具。使用QTP 的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。

QTP针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。 

9、LoadRunner

性能测试

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。

企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。

10、Jenkins

持续集成

自动化构建编译,部署,任务执行,测试报告,邮件通知等。

总结:

使用开源测试工具有很多好处,尤其是无直接的购买成本,而且可定制,但也有一定的局限性。

尤其是缺乏专业的技术支持,有限的许可支持以及脚本维护有时会成为一个挑战性的工作。

为了选择正确的自动化测试工具,你应该确保该工具是处于活跃维护状态的,并且与你所在企业业务、团队、技能匹配,并且是团队里有相应的专家。

因此在选择工具之前,你必须仔细研究,以便该工具能够满足你的测需求,并且能帮助你更好的执行测试。

你觉得哪些自动化测试工具比较好用?想要推荐给大家?这些工具的优势是什么?好用的地方在哪儿?欢迎留言讨论!

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

posted @ 2019-03-05 17:36 51testing 阅读(96) | 评论 (0) | 编辑 收藏
 
JMeter中分布式测试时,本地无法承载时如何操作?

对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式机制,即多台机器同时产生负载的功能。

特点:

1.真实的性能测试,不存在网络瓶颈问题

2.GUI仅限windows平台,命令行可在linux与windows

3.测试结果保存在本地一台master上

4.使用这台master管理多个Jmeter Engines,也叫做slave

5.测试脚本会被master自动发送到作为负载生成器的slave,但数据文件不会

在进行分布式平台测试的时候,要最好注意以下几点:

1.master也可以同时作slave,但要注意负载适量

2.所有负载生成器slave上安装相同的jmeter与jdk

3.防火墙和杀毒软件要关闭或过滤

4.确保所有master与slave在同一个网段或子网,没有网络延迟

5.master与slave可以是windows或linux,不必全部是同一个OS,但要开放防火墙,否则connect fail

6.脚本使用的数据文件(比如CSV)需要单独传到每个slave,并且脚本中指定的文件路径要能够在每个slave找到该文件,常使用相对路径,较方便

7. 确保jmeter可以访问服务器

8. 确保各个jmeter版本一致,不同版本可能会存在协同问题


一、Jmeter分布式执行原理:

1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。

2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。

3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

一、执行机(slave)配置:

1、slave机上需要安装Jmeter 和 支持当前Jmeter版本的JDK。(有时在运行Jmeter时会提示JDK版本过低)

2、添加环境变量:JMETER_HOME路径为bin目录的上一级目录,这样启动jmeter-server服务时,就只会看到Found ApacheJMeter_core.jar

3、启动bin目录下的:jmeter-server.bat,启动成功如下图。(jmeter 的安装路径不要包含空格,因为jmeter-server.bat不支持含空格的文件夹路径。)


4、上图上标红的IP和端口会在master里配置时用到。IP就是slave机器IP,端口默认是1099,端口也可以自定义,这里我自定义为1000。

5、多台slave的话,重复1~4步骤就好。  

三、调度机(master)配置:

1、脚本:简单的一个访问百度的脚本: 


2、打开Jmeter的bin目录下jmeter.properties文件,修改如下配置IP和Port是slaver机的IP以及默认的1099端口,一下两种配置方法都可以。

remote_hosts=172.16.xx.xx,http://172.16.xx.xxx

remote_hosts=172.16.xx.xx:1099,http://172.16.xx.xxx:1099

多台slave之前用 "," 隔开。

修改如下配置,这里端口我自定义为100:

remote_hosts=10.13.223.202:1000,10.13.225.12:1000

我这配置了2台,可以看到标红的这个就是上面截图slave的IP和Port.

3、打开Jmeter,选择运行,有运程启动、运程全部启动两个选项:


4、选择远程启动-->10.13.225.12:1000

a) master结果,这里我只启动了10.13.225.12:1000这一台slave,所以只有一个结果(线程数和循环次数都是1):


b) slave控制台信息:


5、选择远程启动-->远程全部启动:

a) master结果,全部启动,我配置了2台slave,所以有两次执行结果:


四、自定义端口:

如何自定义slave端口:

1、slave:在slave机的Jmeter的bin目录下,找到jmeter.properties文件,修改如下两个配置项,比如我这里修改为9999:

      server_port=9999

      server.rmi.localport=9999

2、启动slave机上的jmeter-server.bat端口已经修改为:9999

3、master:修改master机器的jmeter.properties文件:

      remote_hosts

4、重启jmeter.bat

五、其它说明:

1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为mater。

2、参数文件:如果使用csv进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的,Filename这里设定一下。


3、每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题。

4、如果想要master也分担负载,让master自身也执行测试计划,需要把master 的 IP 和 端口也写到配置文件里,在远程启动前,也要把master的 jmeter-server.bat运行,这样master也能和其他slave一起执行测试计划了。

六、比较

与LoadRunner的异同:

1.都可以实现分布式负载,各有优劣

2.都支持windows和linux下的slave,但master,jmeter跨平台,LR不

3.LR可以指定每个slave生成不同数量的并发用户,jmeter不可

4.jmeter中测试计划使用的数据文件不会随脚本发送到slave,而LR可以通过选择纳入LR管理一起发送到远端slave

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

posted @ 2019-03-04 17:26 51testing 阅读(119) | 评论 (0) | 编辑 收藏
 
女性测试工程师如何顶起职场半边天?

2019年,职场女性,硬起来!

近日,各大高校陆续开学了。这段期间,最忙的莫不过身边的女同事了。上班忙工作,下班从辅导班接孩子,最后回家。回家之后除了煮饭、洗衣,最头痛也莫过于指导孩子做作业,还得应付孩子班级群情况。社会对与每一位职场女性真的是十分苛刻的。


2018年,互联网发布了《2018中国女性职场现状调查报告》 ,在全国31个省份对不同行业、不同年龄层次就业者进行了问卷调查,报告发现:女性对职场成长和成功都表现出了极度的渴望,但由于生理条件、社会期待、历史文化等原因,职场女性仍需承受很多异样的眼光,她们的理想仍然被束缚、潜能仍然被压制、实力仍然被低估。

大环境下对于女性的过高要求,过于苛刻,主要表现在:

1、工作时长和家庭时长的不对称

作为从事软件测试领域的女性来说,一入职场,注定要面临工作和家庭投入两全的问题,尤其在步入婚姻组建家庭后,问题更加凸显。比如加班,对于你一定不陌生,做软件测试往往是一种“正常”现象,有时候面临产品上线,必须付出一些时间。那么势必减弱家庭的时间,失去平衡,而如何赢得职场地位和维护好家庭,这便是给于你的无形压力!

2、不变的工作时间和与日俱增的家庭投入

以婚姻作为分水岭,尽管一定程度上已婚男性和女性每周投入工作的时长较未婚前都有所下降,但二者之间的差距比较稳定,男性略高于女性9%。从每天投入家庭的时间看,虽然随着步入婚姻,大家投入家庭的时间均在增加,但整体上,女性投入家庭的时长高于男性,且这一差距在已婚的情况下进一步被拉大。


对女性而言,每天投入工作的时间并没有变化,却需要拿出更多的时间顾及家庭,这意味着在一天有限的时间内,女性要做和所能做的事情更多,分秒必争,与时间展开较量。

3、管理层女性仍然缺失严重

在起步阶段,女性和男性基本可以获得相同的待遇,却在整体上收入不均。从职级角度,意味着更多的男性跻身管理岗位,薪水获得了提升,而更多的女性仍然停留在基础岗位。调查中,73.8%的职场人认为其所在公司高管中,大部分为男性,75.2%认为所在部门中,经理级别以上的员工大部分是男性。


4、谁在阻碍女性晋升

在探究阻碍女性晋升的原因中,我们发现,公司提供的晋升机会有限、个人能力和经验不足是职场人群普遍存在的阻碍。区别在于,处在婚育阶段,被动失去晋升这一客观因素仍然是女性区别于男性的最大障碍,也是最难以解决的因素。而男性则更多的集中在“论资排辈,不重能力”、“任人唯亲”等职场不良现象。


从以上图片看出,就女性自身而言,2018仍然要面临因婚育使得职场受损的情况。但是2019年人社部、教育部等9部门2月21日联合发布通知,要求进一步规范招聘行为促进妇女就业。其中提出,招聘时不得询问妇女婚育情况;同时规定,对用人单位、人力资源服务机构发布含有性别歧视内容招聘信息的,依法责令改正;拒不改正的,处1万元以上5万元以下的罚款。


5、那么作为软件测试行业的女性,在职场中你又实际遇到哪些问题呢?

如果你还有其他的问题,欢迎留言区给我留言,让我替女性发声!


3.8日女王节当日

Atstudy网校为正在职场奋斗的女王们举办专场在线交流会!

51testing软件测试大咖,与你一起分享交流她的管理经验!

免费报名方式:

添加微信sy51testing,备注“女王”

3月8日,我们在Atstudy网校直播间等你哦!

posted @ 2019-03-01 17:50 51testing 阅读(123) | 评论 (0) | 编辑 收藏
 
软件测试你不知道的技术干货:埋点测试技能秒Get!


曾经有一个乐队在他们的演出条款中明确的写道:演出前,承办方必须提供巧克力豆,但绝对不许出现棕色豆;如有违反,乐队立即取消演出。

相信不少的同学在看到这个条款的时候第一反应都是,搞艺术的人怪癖真多!!!

真相是,多年后,这个乐队的主唱范·海伦在自传中揭晓这一霸王条款的来由:“乐队怎样检测承办方的重视程度?这似乎很难!而把棕色巧克力豆的条款夹在合同里,就是确认承办方是否认真阅读了所有条款的一个办法!在合同中巧妙‘布雷’,如果承办方不幸中招儿,那就没得谈!”事实上,这一条款出台后,乐队再没有为安全问题伤过脑筋。


上述这种Event Tracking的方式放在互联网应用中,俗称就是“埋点”。

从IT开发的角度出发,当应用系统(网站、App等)投入运营后,在做用户行为分析的时候需要去挖掘核心业务功能使用情况时,往往会需要在应用的代码中添加一些额外的代码来采集数据,这就是所谓的“埋点”。包括访问数(Visits),访客数(Visitor),停留时长(Time On Site),页面浏览数(Page Views)和跳出率(Bounce Rate)等。

这样的信息收集可以大致分为三大类目标数据:

1、行为数据:时间、地点、人物、交互、交互的内容;

2、质量数据:浏览器加载情况、错误异常等;

3、环境数据:浏览器相关的元数据以及地理、运营商等;

埋点的方法除了在产品研发的时候直接在程序里嵌入代码统计搭建自己的平台以供查询以外,也有利用第三方统计工具(如友盟、神策、GrowingIO、谷歌的Google Analytics等)。但是不管哪一种埋点方式也不管哪一种埋点机理,在数据埋点以后还需要做的非常关键的一件事情就是埋点测试,从测试人员的角度来看,更准确一点的说法为“埋点数据的测试”。

以下为网上盛传的知乎埋点测试的流程图,从图中可以看出测试人员主要是依据埋点需求进行数据的测试,也就是通常我们说的Checking而非Testing。


 知乎埋点测试流程.jpg

埋点数据的注意事项

埋点数据的一致性:埋点数据的值需要注意客户端和服务端的一致性,包括编码格式、大小写、全角半角、发送时机等。

编码格式:埋点数据的值为中文时,尤其要注意编码格式。为了避免服务端解析数据出错,一般情况下,客户端需要对发出的数据进行编码格式转化;

大小写:埋点数据的值在命名时要和服务端数据组同步命名规则,尤其是大小写;

全角半角:埋点数据的值为英文时,常常容易忽略全角半角的输入方式,有时候会因此产生无法接收的错误;

数据格式:埋点数据的数据格式在定义时要简单明了,尤其是非实时数据的发送机制,发出的数据量大且同一条埋点发出好多,需要整合;

发送时机:埋点数据发送往往是一个公共功能,且发送时机一般情况下分为两种:实时和非实时。因此将数据发送功能作为一个单独的模块存在,其他功能调用即可,避免所有模块在发送时各自处理,增加测试成本;

埋点数据的命名规则:埋点数据的规范化命名规则有利于数据的阅读和查看,比如页面点击的就用Page开头,区域的用Label开头作为前缀;

在规范化埋点数据的一致性后,还需要针对埋点数据的正确性进行检验。埋点数据又可以分为四个类型:展现类、点击类、状态类和计数类。

展现类的埋点。最关键的在于避免重复统计。比如在某宝搜索“华为手机”时,当用户输入了“华为MATE10手机”和“华为MATE10”出来的效果几乎是一样的,失去了统计的意义。

点击类的埋点。关键在于避免服务器超时的情况下连续点击导致的重复统计。

状态类埋点。关键在于避免统计默认状态。并且状态类埋点统计的一定是最终的状态。例如,由开切换到关,那么最后发出的状态数据一定是关闭的状态。

计数类埋点。关键在于避免遗漏。一般情况下,非实时发送的计数埋点容易出现遗漏情况,因为涉及到数据库的读写。因此在测试时要格外留意。

因此,大家可以看出埋点数据的正确性更多的是需要在埋点设计的前期就对需求进行正确性、合理性的考虑,埋点数据的一致性更多体现在实现的技术上对数据一致性的校验。

另外,还有一些特别的注意事项:

网页缓存:对于web页面的埋点统计,要考虑到web页缓存的问题。例如,资讯详情页有停留时长的统计,当进入资讯详情页时开始计时统计,不在该页面时结束统计,那么此时我们就要考虑到在前后台相互切换时是否存在多发的情况,之前浏览器遇到的问题就是将缓存页的时长页做了统计一并发送到了服务器。

网络环境:当网络特别差的时候,客户端发送埋点失败,这种情况下应该将发送失败的数据保存在本地,等下次条件满足的时候一并发出。避免出现丢掉数据的情况。

覆盖安装:产品升级之后,升级之前的埋点不能被删除掉,应该保存在本地,待升级之后满足条件一并发出。

服务端压力:数据发送有实时和非实时两种,当实时数据量特别大时容易给服务器造成压力,因此在测试时要特别留意。

举一个小例子,拿经常使用埋点的移动端平台来说,比如我们需要查看Android平台的埋点是否有效时,前提准备是有Android平台的ddms环境(可以使用androidstudio,或者直接使用android sdk里带的monitor)和埋点字段表(这是开发埋点的依据,以及产品分析的标准)

测试方法为:

1、调起monitor之后,连接移动设备

2、设置logcat的filter,填写包名即可

3、取已埋点的安装包并且输出app埋点的日志

4、查看埋点字段表,执行对应有埋点的操作

比如埋点字段表中,需要监测的埋点为点击首页中的“下一步”时


  埋点字段表

5、进入手机上的app,点击 下一步

6、查看ddms的logcat,即可看到操作的日志,如图所示:


  logcat的日志

检查埋点是否正确,出现错误的情况一般是:

a)漏埋点

b)埋点和操作类型不对应,比如点击的是“下一步”,却上报了“返回”

c)埋点和操作频率不对应,比如只操作了一次,却上报了两次

关于埋点测试也可以做自动化的考虑,知乎,阿里等公司都出了对应于自己公司的埋点自动化测试工具,后续同学们要有兴趣也可以继续的八一八。

以上是关于埋点测试的一些归纳总结和思考,若有做埋点测试的同学也欢迎大家一起来讨论和分享。

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

posted @ 2019-02-28 18:14 51testing 阅读(683) | 评论 (0) | 编辑 收藏
 
银行测试用例设计经验总结,应该怎样去设计测试用例?


测试用例是软件测试核心,好的测试用例会提高测试效率和软件质量,并指导测试人员的行为,避免遗漏掉测试的功能点。所以在测试之前必须设计好测试用例是非常重要的。


下面我来分享下银行测试用例设计的一些经验,希望可以给大家一些新的启发:

经验1:要参与需求评审,评审需求的过程实际也是熟悉业务需求的过程。只有对产品的业务理解到位,才能更好、更充分地设计出高质量的测试用例。

经验2:对于业务需求比较复杂的交易,最好逐条梳理出对应的测试点,一条测试点对应多条案例。

经验3:测试用例的级别要划分清楚,这样在测试执行时有主次之分。比如冒烟测试时,要写把重要的分支流程测到,确保能够优先发现和解决重要的问题。

经验4:评审用例很关键,经过评审可以发现:

(1)用例设计的结构安排是否清晰合理;

(2)是否覆盖所有功能点;

(3)是否存在冗余用例;

(4)是否存在需求理解上的差异;

经验5:测试用例的设计需要不断的更新维护。即使在测试用例设计完成,进入测试执行阶段时,也需要利用发散的思维不断构造和完善用例。预设条件要明确并且丰富,包括测试数据、测试场景。因为许多缺陷只有在特定的场景下才可以引发。

如何编写用例?

1、测试需求分析,得到测试点

在测试需求分析阶段,我们只有需求文档,所以编写测试用例的唯一依据就是需求文档,因此在进行用例编写之前一定要进行需求分析,需求分析的主要工作就是:了解需求的整个实现背景;分析需求的合理性;明确需求的范围,挖掘需求文档中隐藏的需求;在通过需求交底的过程,确定开发的初步实现思路和方法,随着测试需求分析的深入,列出需求的框架,包括测试范围即各个功能点,测试的场景等;确定一些测试可以提前介入的工作等;需要说明的是对于需求中的问题一定要记录下来,找需求确认,需求漏掉的或者存在问题的地方,开发和测试更容易漏掉,而且遗漏的需求很有可能会使得项目整体业务逻辑发生变化,一定要及时提前确认。

2、分析得到用例优先级

得到了需求的各个测试点后,应该先将这些测试点简单的分配一下优等级,一般分为高中低三个优先级,我认为得到优先级后可以让需求用例的设计更有侧重和着重点。

3、细化测试点变成可执行case

根据测试需求分析得到的需求框架,梳理细化测试点,这里的测试点虽然粗,但是不应该有遗漏,这是进行测试点细化的前提。根据测试点,细化出具体的测试用例,要注意各个点的组合测试的情况,还要注意各个测试点的反向测试的情况。

在细化测试点的时候,我们可以要参考以前写好的公共测试用例,甚至可以直接引用,这样既可以避免一些不必要的时间浪费,但是参考不等于照搬,在引用的同时,也一定要思考本次需求自己特有的测试点。

4、及时更新测试用例

需求分析和用例编写阶段,是主要的细化用例时间,这段时间的目标是梳理出可指导执行测试的用例,但是需求会有变动,需求会有维护,用例也一样,所以用例是需要持续维护的, 所以在需求变动的同时,我们也要及时维护测试用例,否则的话,测试用例很可能成为一个错误的指导。

另外测试用例完成后就会进入一个用例评审的阶段,在用例评审阶段,会有用例评审人,针对你的用例作出的评审,主要检查你的用例是否有测试点遗漏,场景遗漏,测试case描述模糊,测试结果输出模糊等问题,针对用例评审人提出的问题,我们也要及时的更改我们的用例。

5、及时维护通用测试用例

通用测试用例就是:项目中或者跨项目中很多的公用业务,固化模块,这些功能基本上是趋于稳定不变的,因此可以梳理出通用的比较全面的测试点,作为指导和规范业务和模块的规范,这些生成的规范即通用的测试用例。当我们针对某一模块或者业务持续维护时,就发现我们需要持续维护这的用例,就会发现有些用例业务类似、执行步骤一致、验证项属性一致等等,这个时候通过梳理业务的通用属性,通用用例梳理梳理成章。

测试用例设计时的分层依据?

7种划分依据是对每个层级的划分依据,通常情况下,测试设计需要多个层级,根据业务特性,可自由组合。

一、按照子模块划分 


二、按照界面属性(如何测试一个界面) 


三、按照操作流程(如发布视频流程、备份应用流程、下载流程等)  


四、按照业务类型,如升级划分为三种升级方式


五、按照等价类划分,有效的由哪些,无效的有哪些 


六、按照边界值划分


七、按照入口划分(多入口注意:从一个入口进去时,功能处于开启状态或关闭状态 )



总结:

设计好测试用例对测试执行和测试管理都大有裨益。对测试执行的好处不言而喻,拿着一个好的测试用例,即便是一个测试菜鸟做测试执行也能保证用例对应功能得到覆盖。

对测试管理而言,也非常有帮助,测试用例设计架构清晰,就能保证测试计划制定、测试任务分配能够更加准确。对自动化测试实施更加有好处。

如果测试用例设计不清晰,不同的人按照同样的用例设计出的自动化测试脚本差异就会比较大。

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

posted @ 2019-02-27 17:46 51testing 阅读(138) | 评论 (0) | 编辑 收藏
 
如何使用Fiddler做接口测试?测试小白进阶大咖的必经之路!

我们都知道使用Postman做接口测试,相比Postman,Fiddler不能写断言,只能构造HTTP请求,并人工确认返回结果的正确性。但作为一个HTTP代理,Fiddler可以抓取到浏览器发出去的HTTP请求,然后通过修改请求重新发送的方式,快捷地进行接口测试。


在HTTP接口的测试过程中,一般我们会按照如下的步骤进行:

1)测试环境的准备

2)HTTP消息体的构造

3)HTTP消息的发送及断言

如果我们可以拿到项目组的接口文档,并且HTTP后台服务是可以工作的,那我们的接口测试会非常顺利,可以不使用Fiddler工具。

但是,实际情况中,不断的测试前移,需要我们的接口自动化测试用例在编码工作还未完成的情况下,就能准备完成。代码开发完成之后,直接运行自动化用例。

这种情况下,Fiddler工具就能大显身手了。

Fiddler工具常见的使用场景:

1)在没有接口文档的情况,使用Fiddler抓包,获得HTTP后台接口;

2)在没有HTTP后台服务的情况下,使用Fiddler模拟服务端。

使用Fiddler做接口测试:

一、Composer介绍

Fiddler Composer的功能就是用来创建HTTP Request 然后发送。 Fiddler创建request有三种方式:

1、自定义一个Request

2、可以手写一个Request

3、在Web会话列表中拖拽一个已有的Request

点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了


1.请求方式:点开可以勾选请求协议是get、post等

2.url地址栏:输入请求的url地址

3.请求头:第三块区域可以输入请求头信息

4.请求body:post请求在此区域输入body信息

5.执行:Execute按钮点击后就可以执行请求了

6.http版本:可以勾选http版本

7.请求历史:执行完成后会在右侧History区域生成历史记录

二、请求百度首页


1.先选择请求方式:get

2.填入请求地址:http://www.baidu.com/

3.http协议版本:默认1.1

4.Request Body:get请求不用填写body,此区域此时会置灰

5.点击execute按钮:执行请求

6.History区域显示请求过的历史记录

7.查看请求结果,左边会话框会显示请求行,如下图:


8.查看response区域,点Textview

9.显示服务器返回结果:百度一下,你就知道

三、在百度输入框输入'测试'后搜索


1.在输入框输入请求url

2.请求地址:/s

3.请求参数如上图红色区域(?后面)

4.查看请求结果,如下图


5.上方区域显示请求参数(wd=测试)

6.response区域点Webview

7.返回结果会显示百度搜索“测试”的结果

四、模拟手机APP登陆

1.打开智行火车票的登陆界面,如下图


2.通过抓包找到登陆请求url

3.请求类型选择:POST

4.输入登陆的url地址

5.RequestBody区域填入请求body,如下图红色框框区域


6.点执行后,左边会话框,直接报:405错误

(405:用来访问本页面的方法不被允许)

7.经过分析可能是请求headers的问题

(fiddler工具在发送请求时,会默认自带出一个headers,但是此APP估计只支持手机端访问,做了限制,所以需要手动创建一个手机端请求的headers,由此可见headers的重要性了吧~)

8.添加手机请求的headers(模拟从手机客户端请求)


9.添加headers后重新execute

10.会话框显示200请求成功

11.查看请求结果response:JSON


12.此时服务器返回的是json格式,如上图(欢迎使用铁路12306)

五、手写一个Request

点开Raw区域,按如下格式填写就行了


六、在Web会话列表中拖拽一个已有的Request


总结:

经验丰富的测试人员,在测试的时候,都是会开启fiddler的,就是说我所有的操作,在fiddler上都有记录,这样做的主要目的就是对我的所有操作在fiddler上有记录,当发生错误的时候,可以随时查看是什么原因引起的错误,更重要的是开发老是叫你重现bug的时候,你就直接将这个请求丢给开发就OK了,减少了很多不必要的沟通,防止甩锅;

composer模块本身就可以进行接口测试,如果有接口技术文档,直接将内容填入此模块,点击执行就可以了,很方便,fiddler功能很强大,是测试人员必备工具的不二选择。

学习没有捷径,从小处着手,落到实处!才是真正的成功之路!

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

posted @ 2019-02-26 17:21 51testing 阅读(277) | 评论 (0) | 编辑 收藏
 
仅列出标题
共55页: First 8 9 10 11 12 13 14 15 16 Last