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博客 | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

想要入行人工智能,为什么Python是首选语言?

在人类发展史上,从来没有任何一项技术及其应用能像计算机网络一样发展如此迅速。对人们的工作、生活、消费和交往方式影响如此巨大,并且随着信息化的网络社会的到来,人类传统的生产方式、生活方式和生存状态都发生着翻天覆地的变化。

而计算机的运行离不开程序,编写程序就要需要用到计算机语言。我们今天说说常用的计算机语言中的Python。

网上说Python是一个不务正业的人发明的:“是”也”不是“。

“ 是 ”是因为:Python是Guido van Rossum创立的, 1989年圣诞节,他在阿姆斯特丹很无聊,决定开发一种新的脚本解释语言,之所以选择Python(大蟒蛇)作为程序的名字,是因为他是一个大蟒蛇飞行马戏团的爱好者。他的爱好很广泛,看起来像无所事事的。

“ 不是 ”是因为:在Python开发之前,他也是ABC语言的设计者,最终ABC没有获得成功,Guido认为是因为ABC没有开源, 所以在Python上就特别重视开源和与其它语言的结合。

Python 是一种解释性脚本语言,不是像c++/java那样的高级语言,需要编译成字节码之后才能运行,它可以边运行边解释。而它的设计也坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

而且随着人工智能的兴起,近几年Python的热度更是逐渐上涨,众多AI从业者都会首选Python,下面我们看两组数据:

根据数据平台 Kaggle发布的2017年机器学习及数据科学调查报告,在工具语言使用方面,Python是数据科学家和人工智能从业者使用最多的语言(见下图)。

IEEE综览(IEEE Spectrum)发布的2017最受欢迎编程语言列表中,Python同样位列第一(见下图)。

为什么Python是人工智能技术首选的编程语言?

原因1:Python是一种说人话的语言

所谓“说人话”,是指这种语言:

开发者不需要关注底层

语法简单直观

表达形式一致

我们先来看几个代码的例子:

C 语言Hello World 代码:

int main()
{ 
printf("Hello, World!");
return 0;
}

Java 语言Hello World 代码:

public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}

Python 语言Hello World代码:

print("Hello World!")

仅仅是一个Hello World程序,就能看出区别了,是不是?

编译 VS 解释

当然,仅仅是一个Hello World的话,C和Java的代码也多不了几行。

可是不要忘了,C和Java的代码要运行,都必须先经过编译的环节。

对于C语言来说,在不同的操作系统上使用什么样的编译器,也是一个需要斟酌的问题。一旦代码被copy到新的机器,运行环境和之前不同,还需要重新编译,而那台机器上有没有编译器还是一个问题,安装上编译器后,也许和之前最初的编译器有所区别,还得修改源代码来满足编译环境的需求……

我到底做错了什么?我只是想运行一个别人写的程序而已。

而Python则不用编译,直接运行。而且都可以不用写文件,一条条语句可以直接作为命令行运行,真的太方便了。

语言语法

和Python比,Java的语法更“啰嗦”。

从上面的例子已经可以看出,创建一个链表,Java还需要声明和逐个插入节点,而Python则可一行代码完成从链表创建到插入节点及赋值的全部操作。

Java非让你很别扭地写好几行,Python直接一句搞定。

这样的结果就是,Python写起来省事,读起来也方便。可读性远超Java。

表达风格

在10年或者更久远之前,Python经常被用来和Perl相提并论。毕竟在那个时候,C是系统级语言,Java是面向对象语言,而Python & Perl则是脚本语言的双子星。

Python和Perl在设计层面有一个非常大的区别:

Python力求让不同的人在撰写同样功能实现的代码时,所用的表达形式尽量一致;

而Perl则是故意追求表达的千姿百态,让同一个人在不同地方写同样功能时所用具体形式都不同。

从哲学层面讲,Perl的追求更加自由主义,更利于释放人类的多样化天性。然而,Perl写的程序——那叫一个乱七八糟!

如果不是想成为代码诗人,或者语言大师,只是想用尽量简单直接的方法,把事情做了,首选语言确实是Python。

原因2:强大的AI支持库

矩阵运算

NumPy由数据科学家Travis Oliphant创作,支持维度数组与矩阵运算。结合Python内置的math和random库,堪称AI数据神器!有了它们,就可以放心大胆玩矩阵了!

大家知道,不管是Machine Learning,还是Deep Learning,模型、算法、网络结构都可以用现成的,但数据是要自己负责I/O并传递给算法的。

而各种算法,实际上处理的都是矩阵和向量。

使用NumPy,矩阵的转置、求逆、求和、叉乘、点乘……都可以轻松地用一行代码搞定,行、列可以轻易抽取,矩阵分解也不过是几行代码的问题。

而且,NumPy在实现层对矩阵运算做了大量的并行化处理,通过数学运算的精巧,而不是让用户自己写多线程程序,来提升程序效率。

有了Python这种:语法简洁明了、风格统一;不需要关注底层实现;连矩阵元素都可以像在纸上写公式一样;写完公式还能自动计算出结果的编程语言,开发者就可以把工作重心放在模型和算法上了。

ML模型

用Python实现大多数经典模型,几十上百行代码就够了。

当然,对于普通用户,也可以连算法都不用管,只是调用Scikit-Learn的接口就可以了。

比如,训练和使用一个logistic Regression模型,只需要下面几行代码就可以了:

# import the LogisticRegression 
from sklearn.linear_model import LogisticRegression 

# Use default parameters
classifier = LogisticRegression() 
# train model
classifier.fit(train_set, target) 
# do test
y_hat = classifier.predict(test_set) 
# print out test results
print y_hat

支持图表

Python还有许多图标方面的支持库。用来生成dashboard上的各种图形表格,是非常简单的事情。

比如使用Plotly图形库,下面这些炫彩的图形,就随便用啦:

原因3:规模效应

语言简单易学,支持库丰富强大,这两大支柱从早期就奠定了Python的江湖地位。

根据以高收入国家Stack Overflow问题阅读量为基础的主要编程语言趋势统计,可以看出,近年来,Python已然力压Java和Javascript,成为目前发达国家增长最快的编程语言(见下图)。

由图可见,2012年之后,对于Python相关问题的浏览量迅速增长,从时间上看,这一趋势正好和近几年人工智能的发展重合。

总结:

技术的普及推广就像滚雪球,早期的积累相对缓慢,一旦过了临界点,就是大爆发。中国已进入人工智能迅速发展的时代,而当下热门的Python被认为是现阶段人工智能技术的首选编程语言。

如今,Python在AI领域的老大地位已经奠定。

若要学AI,舍Python其谁?

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

posted @ 2018-09-10 17:47 51testing 阅读(121) | 评论 (0) | 编辑 收藏
 
一张图带你玩转H5测试……6大模块测试点汇总分享!

一提到H5测试,做WEB测试的朋友肯定早已经非常熟悉,它包括页面H5功能测试,前端性能测试,浏览器兼容性能测试,以及服务端性能测试。今天我们来一起了解下H5测试的测试点,希望可以帮助大家了解:如何进行H5页面的测试,如何发现问题以及相应的优化规则。

​

H5页面的测试点汇总:

业务逻辑相关 
除基本的功能测试之外,H5页面的测试,需要关注以下几点:

1、登陆

目前H5与native各个客户端都做了互通,所以大家在测试的时候要注意两点:

A、若客户端已登录,那么进入H5后仍然是登录状态。

B、若客户端未登录,进入H5,点击对应按钮OR链接,如果需要登录,须拉起native登录。若取消登录,是否可再次拉起登录,或者停留在的页面是否有对应的登录提示。

ps:本次测试过程中就发现,第一次点击链接,可以拉起登录,第二次却不能。

2、翻页

遇到翻页加载的页面,需要注意内容为1页或者多页的情况。

A、数据分页加载时,注意后续页面请求数据的正确。

ps:这个需要注意在快速操作场景中,请求页数是不是依次递增,快速操作(如第一页尚未loading出来的时候仍然继续上拉操作)时是否发出去对应的请求了。

3、刷新与返回

A、下拉刷新是否仍然处于当前页面。

B、用户主动点击刷新按钮是否仍然处于当前页面。

C、点击返回与back键,回退页面是否是期望页面

ps:本次测试过程中就发现,mtop接口请求成功,但是data内无数据时,返回到的就是个空白页面,无法正常发送请求。

4、 mtop接口返回处理

发现这个出现问题的地方有很多,但是只要有意识的去处理,就很容易避免,主要是以下几种情况:

A、请求成功,且返回有数据,测试mtop接口返回数据的各种场景。

B、请求成功,但data内容为空。

C、请求接口异常,出现ERR_SID_INVALID::SESSION过期,拉起登录。

D、请求接口发生除C中提到的异常之外的异常,通常可归结为一类进行处理。

H5适配相关

H5的适配其实比客户端的相对来说,要少一些,手机品牌之间的差异不大,所以不用太多关注,最容易出现问题的系统,这个要特别关注下:

A、大屏(如720*1280,重点关注页面背景是否完全撑开页面,刷新是否有抖动)、小屏手机(如320*480,重点关注下弹框样式和文案折行)

B、android4.X随机找一个即可。

C、ios9、ios8、ios7。

网络相关

不同网络类型测试

a)考虑2G\3G\4G\wifi网络

b)考虑移动网络2G\3G\4G基站的变化的影响

c)无连接、关闭连接状态

d)弱网络信号状态

e)有网络信号但网络不可达状态

测试注意点

a)从wifi切换到2G/3G网络、从2G/3G网络切换到wifi等

b)弱网络降级:处于2G/3G网络省流量模式的一些特殊处理,比如2G网络下测试,图片多时是否要懒加载等

c)无网络时,执行需要网络的操作,给予友好提示,并确保不会导致应用crash;

d)内网测试时,要注意选择到外网操作是的异常情况处理;

e)弱网络下,检查功能状态是否正常,确保不因提交数据失败而造成异常甚至应用crash;

f)弱网络下,检查数据是否一直处于提交中的状态,如遇数据交换失败要给予提示;

g)弱网络下,执行操作后,在回调没有完成的情况下,退出本webview或者其他操作,有无异常

安全相关

1、明确投放渠道都有哪些

如独客、主客、wap,是否对未投放渠道做了限制,直接通过url请求是否拦截等

2、评估是否需要接入集团安全,如mtee黑白名单等。

3、是否需要接入支付宝实名认证

涉及到金钱相关,如天猫积分,红包等,为了防刷,一般都需要判断是否支付宝实名认证。

4、是否接入windvane,所有请求通过native发出。

操作页面体验相关

1、资源相关

A、页面中有图片的话,淘宝那边建议图片一般不大于50kb,本着一个原则,尽量缩小图片。

B、资源是否压缩、是否通过CDN加载。

C、如何保证二次发布后有效更新。

2、流量

A、对于一些不会变化的图片,如游戏动画效果相关图片,不需要每次都请求的东西,做本地缓存。

B、数据较多时是否做了分页加载。

3、页面展现时间

A、关注页面首屏加载时间。

4、页面提示

A、弱网络下,数据加载较慢,是否有对应的loading提示。

B、接口获取异常时,提示是否友好。

C、刷新页面或者加载新内容时页面是否有抖动。

5、手机操作相关

A、锁屏之后展示页面。

B、回退到后台之后,重新呼出在前台展示。  

埋点数据检查

与BI、前端同学一起确认埋点情况。

总结:

随着科技的进步,H5页面的普及和运用正深深的影响着每个行业的发展,我们可以发现在各种各样的App,都从Native APP往Hybird APP发展,比如微信、手机淘宝、支付宝等重量级应用,都在多个入口嵌入了H5,因此,H5的测试需求也是非常大的。

废话少说,最后给大家分享一个小干货——一张图玩转H5测试,其目的在于,当一个测试员拿到一个H5的测试任务时,可以引导你怎么去思考来完整的测试你的业务:

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

posted @ 2018-09-07 17:35 51testing 阅读(186) | 评论 (0) | 编辑 收藏
 
为什么软件测试很重要?5步帮测试小白走出误区!

昨天有小伙伴在后台留言问我:为什么要做软件测试?究竟软件测试有什么用?我想了很久,没错,对于一些刚入门的朋友可能真的并不理解软件测试这行,更不知道软件测试的发展趋势。今天,就让我来带着大家全面认识软件测试以及软件测试的重要性。

1、首先,什么是软件测试?

很多人看到这个小标题肯定会一笑而过,但你绝不能忽视他的真正概念。

软件测试是检查实际结果与预期结果是否匹配并确保软件系统无缺陷的活动。软件测试还有助于识别产品与实际需求不符或是缺失项。测试活动既可以手动完成,也可以使用自动化工具完成。有些人更喜欢将软件测试称为白盒和黑盒测试。

2、软件测试的目标

在给定的产品中尽可能多地发现错误(或bug)。

演示一个给定的软件产品与它的需求规格匹配。

使用最小的成本和努力来验证软件的质量。

生成高质量的测试用例,执行有效的测试,并发布正确和有用的问题报告。

3、软件测试过程

软件测试通常分为两个主要过程——验证 & 认证。

验证 是当您的团队只需要检查软件、系统或框架是否符合文档要求时的过程。

验证是您的团队需要验证系统正确性的过程。在这个过程中,您将回顾产品、系统,并考虑用户真正想要什么和已经做了什么。

在软件测试中,错误、缺陷和错误之间有区别,我们应该清楚地区分,以避免误解问题。

4、为什么软件测试很重要?

测试很重要,因为软件错误可能很昂贵甚至很危险,一个bug越长越不被发现,它就可能带来更大的隐患。此外,如果测试团队错过了准确详尽地捕捉或识别风险和软件问题,会导致一些灾难发生,那么就需要付出昂贵的代价来检测bug,所以软件漏洞或是Bug可能会导致货币和人员的损失,历史上太多这样的例子,下面我们就来看看这些经典的事例。

2015年4月,伦敦彭博终端由于软件漏洞宕机,导致金融市场上超过30万交易商受到影响。迫使政府推迟30亿英镑的债务出售。

日产尼桑汽车由于安全气囊感应探测器的软件故障,召回超过100万辆汽车。据报道,由于此软件故障导致两起事故。

星巴克咖啡由于POS系统的软件故障无法处理交易,因此被迫关闭了美国和加拿大约60%的商店。

亚马逊的一些第三方零售商看到他们的产品由于软件故障价格全部被降至1英磅,由此导致惨重损失。

Windows 10中的漏洞,此问题使用户能够通过win32系统中的缺陷脱离安全沙箱。

2015年,F-35战斗机成为软件漏洞的受害者,导致其无法正确检测目标。

1994年4月26日,中国航空公司空中客车A300因软件故障而坠毁,造成264人无辜死亡

1985年,加拿大的Therac-25放射治疗机由于软件Bug而发生故障,向患者提供了致命的辐射剂量,造成3人死亡,3人严重受伤。

1999年4月,一个软件漏洞导致12亿美元的军事卫星发射失败,这是历史上最昂贵的事故。

1996年5月,一个软件问题导致美国一家大型银行823名客户的银行账户被记入9.2亿美元。

2018年6月27日,阿里云出现大规模故障,原因为上线自动化运维系统触发未知Bug,导致部分产品访问链接不通,影响时间约半小时,不知道云中的程序猿们年终奖是否会泡汤。

5、软件测试的类型

通常,测试分为三类:

下面详细介绍一些比较常用的类型:

1、单元测试

这是在开发人员级别使用的最基本的测试,测试人员专注于单元代码的单个部分,而它已经从任何外部交互或依赖于任何模块之前被隔离。这个测试要求开发人员检查他们编写的最小代码单元,并证明单元可以独立工作。

2、集成测试

在开发人员级别上,在单元测试之后,还应该仔细检查这些最小代码的组合(或集成)。集成测试提供了访问网络、数据库和文件系统的测试模块。

它们将指示数据库和网络在合并到整个系统时是否运行良好。最重要的是,在前一阶段测试的小代码单元之间的连接将在这个阶段被证明。

3、功能测试

毫无疑问,功能测试是更高级别的测试类型,应该在集成测试之后使用。

功能测试检查输出与规范中定义的输入的准确性。对中间值不太重视,但对所创建的最终输出给予了更多的关注。

4、冒烟测试

冒烟测试的类比来自于电子产品,其中一个问题意味着电路板散发出烟雾。

在功能测试完成之后,在新安装和更新的输入值之后,将在起始点执行一个简单的测试。

5、回归测试

当系统中出现复杂的bug时,通常会影响系统的核心区域,所以使用回归测试来重新测试系统的所有模块。

6、UI测试

除了上面的核心测试类型, UI测试现在也是一个众所周知的,在软件工程行业非常流行。

该图形用户界面测试确保了对所有用户友好的特定应用程序或产品。UI测试主要评估设计组件,如布局、颜色、字体、大小等等。另外, UI测试可以手动和自动执行。

当然这不是完整的测试分类列表,因为目前已经有超过150种的测试类型,并且仍在增加中。另外请注意,并非所有测试类型都适用于所有项目,这仍然取决于项目的性质以及测试范围。

总结:

随着软件业的迅猛发展,软件测试也变得尤为重要,但是很多人对测试行业的误解还是存在的,“软件的重点在于需求,在与分析,在于设计,在于开发,而测试,容易,没什么技术含量,找一些用户,对照需求尽力去测就行了;有时间多测点,没时间少测点。”这种错误的看法在好多项目经理,软件负责人的心中巩固着,难以改变。

这种观念的结果有目共睹,是什么?很简单,是大量软件BUG,缺陷的“流失”从测试人员的手中悄然而过,流失到用户手中,流失进项目维护阶段,随之而来的,便是用户无休止的抱怨,维护人员无休止的 “救火”,维护成本无休止的增加。这是软件人员的梦魇!

噩梦总有醒来时,经过无数教训的重击,再不堪回首而不得回首的经历中,软件业的管理者发现:是他们错了,软件测试是不可忽视的。
欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ      群:     755431660

posted @ 2018-09-06 17:08 51testing 阅读(156) | 评论 (0) | 编辑 收藏
 
测试老鸟分享:掌握2项技能,轻松拿到软件测试工程师offer...

时光给予了我们成长也赋予了我们经验,那来说说我的亲身经历吧!入行软件测试已经十年有余,曾经的我认为,进这行是一件非常简单的事情,只要是个正常人,会点点点,就可以很快胜任这份工作。的确我们起初认为的软件测试,无外乎就是整个软件开发完了,给测试从头到尾点一点,没什么问题,就能上线了。

正是因为这个理解,所以留给我们的印象就是:测试职业,门槛低,入门简单 !如果找不到工作,或者不想干开发,就来做测试吧 。

所以,出现了如下的一片景象:

A写了几年代码,写不下去了,听说测试很好上手,先来做几年测试 。

B小文员一枚,想入行 IT,听说测试入门简单,请问怎么入行 。

C之前在工厂上班,太累,且工资低,想入行 IT。听朋友说,测试入门简单,想入行,请问,怎么入 ?

D之前干财务的,想入行 IT,干点技术,听说测试入门简单,怎么入 ?

E高中毕业,不想读书了,想入行 IT,听说测试简单,怎么入 ?

然而,真的是这样吗?随着社会的进步,IT行业的不断发展,经历了这十年,我发现,测试行业,已经不是你臆想中的样子了 。

想要成为一名合格的软件测试从业人员,需要具有极强的综合能力,不仅要懂点代码,还得具有项目管理、环境部署、问题跟进、沟通协调、系统架构等能力。

测试行业的现状:虽然每年都会有大批的测试人员涌入,但是随着公司业务量的激增,创业风潮的兴起,测试人才的需求仍然大于供给,软件测试从业者已然成为了一个重要的职位。

测试人员的现状:如果只是单纯的测试执行(纯功能执行),没有其他综合技能,无法独立去保障单个产品线的质量工作,是很难找到一份满意的工作的 。

走过了这十年,也看过了很多各种各样的招聘信息,我总结了下比较热门的软件测试岗,希望可以帮助一些新入门或者还在迷茫中的朋友们。

热门软件测试岗位:

功能测试工程师,性能测试工程师,安全测试工程师等,根据业务的不同,比如WEB测试、H5测试、APP测试、SDK测试、接口测试等;

集成测试工程师,白盒测试工程师,QA配置,资料审核等;

自动化测试工程师,测试开发工程师,测试工具开发等……

那么月薪2万以上的软件测试岗需要哪些技能?

想要成为一名普通的测试员很容易,但谁愿意一直停步不前呢。现在的软件测试行业也在一步步不断进步,自然需求的人才也在一点点的提高门槛,那一名优秀的测试从业者需要哪些技能呢?以我的经验,分为硬技能+软技能。

硬技能

1、软件测试基础知识:

测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况,还需要良好的沟通能力,以及各种测试阶段所使用的测试方法,单元测试、功能测试、集成测试、系统测试等等、CMMI /ISO9001,不用全都会,但至少要懂一些。

2、各种测试工具的使用:

我们在测试的工作中为了能够提高工作效率进程会用到很多工具,QTP、LR、QC、TD、Bugfree、VSS、SVN等等工具,虽然说工具不是万能的但是工具能为我们提高工作效率所以不能把工具当神一样看待,但是必须得会熟练的使用。

3、操作系统相关知识:

Windows、linux、uinx这些都必须会使用,而且不仅仅是简单的操作,一般的服务管理、注册表编辑、命令行操作都需要会,可以想象下一个连apache服务都不会安装配置的人,谁能想象你可以做好基于apache环境的测试工作。什么?你不知道怎么查看磁盘压力、IO数据,其实windows linux都有提供自带的工具可用于查看这些数据,如果你懂操作系统,这些简单的问题很快便能解决了。

4、数据库知识:

现在Oracle的DBA待遇比一般的开发人员待遇还高,这个就表明了数据库在企业中的重要性,作为测试人员虽然不需要有DBA的能力,但是基本的数据库操作你必须得会吧,不管是Oracle、DB2、MSsql还是mysql最少都应该能熟悉使用其中的一二。

5、计算机硬件知识:

做过性能测试的朋友都知道在性能测试过程中硬件性能也是一个非常重要的指标,CPU、内存、IO、带宽等等。如果你是做硬件测试的,那么就更不用说了,交换机、路由器、防火墙这些设备都需要有所了解。

6、网络协议:

如果你还不知道TCP和UDP有什么不一样的话,请赶快去补充点知识吧!互联网时代,一切都通过网络传输、常用协议必须得了解。曾经面试了一个测试工程师,做了2年的测试,居然不知道自己测试软件使用什么协议,这样的人是你的话你敢招么?

7、开发语言即代码编写能力:

虽然不会写代码也能做测试,但是如果你想做到高级测试工程师以上,那么代码编写能力就是必选项。如果不会写代码,那么你不可能成为高级测试,高级测试工程师的一部分工作就是在写测试工具。

上面列举的这些硬技能,虽然看起来比较复杂,但很多东西,平时工作中,都会用到,用几次,实践多了自然也就会了。不过对于一名合格的软件测试从业者,仅仅会一些硬技能,还不够。你还需要具备一些软技能,具体如下 。

软技能

质量意识(很多时候,团队中,并不缺技术,唯独缺质量意识);

好的工作习惯(每天把不懂的内容,用本子记下来,弄懂为止,几年后,成长超速);

善于主动寻找答案(多数内容,搜索引擎都可以检索到);

简单事情,重复做;

重复事情,微创新(提升效率);

有始有终(对于质量的最后一环节,一定要确保所有的问题,有始有终,走完整个生命周期);

知道怎么提问……

总结:

我说了那么多技能或者是说是需要掌握的技术、如果你没有一颗发现缺陷之美的心态、没有一颗以提高质量为前提来投入工作中、那么就算你其他做得再好也不过是万千普通软件测试从业人员中的一枚,无法更好的提升自己。

所有这些技能中最最重要的一点就是:请不要忘记时刻学习着

这点我相信大家应该都能理解,所以不用写什么:纵使你是五年、十年工作经验的测试人员,仅此一点“不学习就会落后”!!
欢迎加入   51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ     群:      755431660

posted @ 2018-09-05 17:12 51testing 阅读(160) | 评论 (0) | 编辑 收藏
 
2018年度编程语言发展趋势:Python凭什么屠榜?

  有人说,“Python除了不会生孩子,什么都会。”下视频?我用Python;玩跳一跳?我用Python跳到4999分;撩妹子?依然用Python;抢红包?没错还是Python;就算是数瓜子,我也还是用Python……

  废话不多说,相信很多人都听过之前的Python进入小学课本、Python进入浙江省高考等新闻,有这么多头衔加持的Python究竟魅力在哪?为啥说2018年,Python是大家最想学的语言?又为什么大家都对Python如此关注?

  为什么用Python,它能用在哪儿,能做什么呢?

  Python在约40年前出现以来,已经有数以千计基于这项技术的网站和软件项目,Python因其独有的特点从众多开发语言中脱颖而出,深受世界各地的开发者喜爱。

  Python有什么优点呢?

  下面,我们列举了Python最显著的一面。所有这些优点使它非常流行,也正因于此,众多跨国公司选择了Python作为他们的编程语言。

  Python有5大优点。

  

  简单

  Python奉行简洁主义,易于读写,它使你能够专注于解决问题而不是去搞明白语言本身。

  免费

  Python是开源软件。这意味着你不用花一分钱便能复制、阅读、改动它,这也是Python越来越优秀的原因——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。

  兼容性

  Python兼容众多平台,所以开发者不会遇到使用其他语言时常会遇到的困扰

  面向对象

  Python既支持面向过程,也支持面向对象编程。在面向过程编程中,程序员复用代码,在面向对象编程中,使用基于数据和函数的对象。

  丰富的库

  Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

  Python语言的用途

  多年来,Python在各种流行编程语言中一直排名靠前。它几乎可以适用任何开发,它旨在提高程序员的开发效率而不在于他们编的代码。Python适用于网站、桌面应用开发,自动化脚本,复杂计算系统,科学计算,生命支持管理系统,物联网,游戏,机器人,自然语言处理等很多方面。

  而且,既使对于那些从没有开发经验的人来讲,Python的代码也是简洁易懂的。,由于Python程序代码简单,所以和与其他程序语言相比,后期的程序维护更容易,更舒心。从商业角度来看,需要的成本降低,程序员的效率提高

  谁使用Python

  Python开发人员社区不断状大,支持库持续增多,使Python成为世界上功能最丰富的编程语言之一,可以适用于任何项目开发。但我们仍要指出,Python在科学领域非常流行,特别是在数据挖掘和机器学习等方面。

  初学者选择Python语言的原因

  1. Python 易于学习

  好吧,相较于其它许多你可以拿来用的编程语言而言,它“更容易一些”。Python 的语言没有多少仪式化的东西,所以就算不是一个 Python 专家,你也能读懂它的代码。

  2. Python 让你能用少量的代码构建出更多的功能

  Python 能带给所有开发者一种快速的学习体验。另外一些让 Python 成为一门引人注目的编程语言的因素就是它的可读性和高效性。

  

  3. Python 是一门多才多艺的语言,更是一个平台

  要管理本地或者云基础设施吗?Python可以。开发网站?OK,它也能行的。需要处理一个 SQL 数据库?可以。需要为 Hive 或者 Pig 定制一个功能?能做到。只是想为自己构建一个小工具?Python 就是最好的选择。需要一门支持面向对象设计的语言?Python 的特性就能满足啦。

  4. Python 拥有最成熟的程序包资源库之一

  Python 以 PyPI 为其后盾, 这是一个拥有超过 85,000 个 Python 模块和脚本的资源库,你拿过来就立马可以使用。这些模块向你的本地 Python 环境分发已经预先打包好的功能,可以用来解决各种诸如数据库处理,计算机视觉实现,像维度分析这样的高级数据分析的执行,或者是构建 REST 风格的 web 服务这些问题。

  5. Python 在数据科学领域被广泛使用

  很快数据分析技能就会像编码技能一样的重要,而Python 在两个领域都占有重要的地位。Python 紧挨着 R 语言,都是现代数据科学中最常被使用的语言。事实上,在数据科学领域,Python 的职位职位需求超过了 R 语言。

  6. Python 是跨平台且开源的

  Python 可以跨平台运行,并且已经开放源代码超过20年的时间了,如果你需要代码能同时在Linux,Windows 以及 macOS 上跑起来,Python 就能满足要求。

  7. Python 是灵活的

  有一些Python同其它编程语言集成在一起的稳定实现。

  CPython, 同 C 集成的版本。

  Jython, 同 Java 集成的Python版本。

  IronPython, 被设计用来兼容 .Net 和 C#。

  PyObjc, ObjectiveC 工具下的Python 写法。

  RubyPython, 同 Ruby 集成的 Python 版本。

  

  IEEE Spectrum 2018年度编程语言综合排名(由于篇幅限制,此处仅列出排名前20名)

  

  Python俨然已经成为2018最火的编程语言,虽然Python不能让你找到对象,但是你决对可以成为有钱的单身狗。还有具有现实意义的一点,干Python的,薪资相对都不错。年薪40万的有点点多。月薪过万的太多。当然你需要花一段时间来学习Python。
欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ      群:     755431660

posted @ 2018-09-04 17:28 51testing 阅读(125) | 评论 (0) | 编辑 收藏
 
初学者如何学习Python?掌握这17个实用小技巧快速入门!
     摘要: 在开始今天的话题之前,我们先讨论一个问题:编程初学者应该学习什么语言好?每年每天都会有很多新入门的同学提出这个看似简单却又让人一下难以给出准确答复的问题。作为新手,纵然自己抓破脑袋,凭空也想象不出哪种语言更胜一筹;作为过来人,也许所能推荐的仅是自己正在使用的编程语言,也未必适合他人,但可以作为参考,这里我着重推荐一下Python。Python是机器学习的主流语言,没有之一。今年5月,它首次在PYP...  阅读全文
posted @ 2018-09-03 17:40 51testing 阅读(146) | 评论 (0) | 编辑 收藏
 
五年软件测试之精华分享:浅谈如何提高产品质量?

对于一个企业而言,能否很好的生存下去,有四个核心指标,产品质量Q、服务质量S、产品价格P、响应时间T。在我看来,属于技术范畴的2个最核心的指标是:一是产品质量、二是响应时间,提高企业核心竞争力要以提高产品质量为目标,质量是企业的命脉所在,怎样更好的保障产品质量,为一线的销售保驾护航好产品,就显得尤为重要了。

作为一名员工,我们和企业同呼吸,共命运,加强产品质量的意识,提高产品质量也就显得日益迫切。那么到底如何做才能提高产品质量?

就我个人而言,我是一名软件测试工程师,那么我应该在日常的工作中做出怎样的努力,才能为提高产品质量做出一份贡献?

首先我们就以软件测试流程作为规范,分析测试员能为提高产品质量做些什么。

1.需求评审阶段

项目初期,发现那些潜在的缺陷或错误,避免这些错误或缺陷遗漏到项目的后期。所以,在需求评审阶段我们应该做到:

①做好评审前的相关质疑与确认记录;

②对于责任、目标应和项目达成共识。

2.编写测试计划、排期阶段

测试计划的编写包含所需资源、任务安排、进度安排、风险分析等内容。我们应该明确:

①制定测试进度和任务安排;

②准备测试环境;

③制定预发布、停测的标准;

④制定测试策略和测试方法;

⑤确定测试风险;

⑥确定测试所需资源的其他信息;

3.用例评审阶段,我们应该注意:

①用例设计的结构安排,一定和合理、清晰,以便高效的对需求进行覆盖;

②要覆盖需求的所有测试点;

③合理安排优先级的测试;

④用例要具有很好的执行性,用例的前置条件、操作步骤、预期结果应正确清晰;

⑤尽量删除冗余的测试用例;

⑥要从用户层面设计测试用例;

4.测试过程中,我们怎么才能到尽早尽快的发现更多的问题呢?

①测试前期应确保测试环境的稳定性;

②准备应充分,目标应明确,应该正确的理解用户;

③增加版本控制,跟踪记录整个软件的开发过程,避免出现开发混淆代码版本和测试版本的情况或者出现开发与开发之间的代码冲突;

接着我们再从企业自身方面探讨下如何更好的把控产品质量:

1、产品需求设计的合理性

产品需求设计的合理性非常非常的重要,需要PM前期做很充分的需求调研,走在一线多与用户接触,深度了解用户最常用的场景、站在用户角度思考产品逻辑、解决用户痛点问题;

2、技术架构设计、逻辑实现(设计)要合理

避免技术大的框架设计存在问题,多去考虑实现逻辑的合理性或效率、性能等;

3、开发编码规范

规范不是对开发的制约,而是更有助于提高开发效率的;规范的代码还可以降低维护成本、极大的提高团队对代码的可读性,而且还有助于代码review;

4、需求评审

正确而有效的进行需求评审,提前查阅,记录好问题,带着问题去评审,效率更高、效果更好;

5、测试流程的规范

根据自己公司的实际情况来制定,测试流程制定合理,可以更好的提高效率,避免pm、rd、qa来回扯皮、一起更好的把控产品质量,在GSX,我们有PC、APP测试流程,大致分为测试需求分析、case编写、case评审、接口测试、冒烟测试、test4轮测试、beta测试、monkey测试、提交testin进行兼容众测,线上环境回归测试、发布版本后安装卸载升级主流程测试;

6、开发流程的规范

根据公司目前所处阶段制定,如果是多个研发同步在开发多个功能,代码需要分支开发,测试环境无bug后,再合并主干,提交代码时进行必要的review,sql上线一定要进行必要的review,避免一条sql引起全站瘫痪的问题;

7、上线流程的规范

有的研发的分支团队很多,公共代码库的维护很乱,有时容易引发较大的线上事故,所以很有必要约定好一个规范的上线流程,要保证分支没问题的代码才能合并到主干,再做主干整体回归;

8、优化功能测试的范围界定

有时候rd优化一个功能,qa在一个端测试没有问题,但是有可能会引发其他端的问题,所以科学准确的、恰到好处的选定测试范围也是一门很深的学问;

9、接口测试、单元测试

一般情况下后端完成接口开发,就可以提前提测给QA小伙伴,开始服务端的接口测试,这样可以让隐含的Bug提前暴露出来,让开发人员在第一时间修复Bug,让功能测试人员在测试的时候更加顺手一些,最大限度得减少底层Bug的出现数量,让产品研发的流程更加顺畅,进而提高效率、缩短产品的研发周期;

10、UI走查

很多时候产品上了beta,或者上了线,才发现UI与设计不一致,所以UI的检查也非常的重要,更需要在关键的时间点就介入走查,最好在冒烟测试时就走查一遍,在test环境测试完毕走查一遍,确保不因后期修改bug带来的UI问题;

11、bug的度量与预防

定期进行bug的分布分析,线上bug的分析,找到出现该bug真正的原因,bug频发的功能、场景,以及机型等;

12、运维监控

运维层面也要做到非常完善的监控体系,分别从网络层、操作系统层、应用层、接口层、做到端口存活、进程存活、页面级别的监控

13、必要的复盘和总结,

每次项目结束都要及时的进行复盘和总结,针对项目过程中出现的问题,及时的做出调整,避免团队小伙伴下次再犯同样的问题;

14、沟通机制的建立

有很多时候,都是沟通不到位产生的bug,在实际做项目过程中,会遇到很多很多,所以我们尽量要保持畅通的沟通环境和方式,可以组织每天站会的形式,快速无边界沟通,做到信息同步,遇到问题及时沟通解决,提高效率;所以这一点要引起重视!

15、人的培养

对人的培养大致需要从这些方面,技术水平、做事方式、沟通协作能力,主动沟通意识、责任感、执行力、学习力、有效的时间管理、积极乐观、乐于帮助他人、乐于分享、并且从不抱怨,可以将积极向上的一面,感染带动他人;

产品质量管理大师朱兰曾说过:“质量是设计出来的,而不是检验出来的”,这句话证明了提高产品质量除了相应的测试确保质量外,更应该从源头做起,做好前期策划,加强过程管理,辅以适当的产品检验,始终遵循PDCA原则,提高产品的质量才指日可待。

总结

现在大部分产品上线以来出现的运营事故,都是因为产品或流程问题导致的。或者由于之前的发布流程不完善,或者由于开发人员将版本打错,其实很多都是可以避免的,现在我们完善产品发布流程,所有的产品都先在本地服务器测试,通过测试后,再切换到外网服务器供用户使用。明确个人职责,出现运营事故后,根据原因来追究责任,制定个人绩效考核等制度。来进一步完善运营流程和制度。

总之,要想得到用户满意的高质量产品,管理、需求、开发、测试人人把关,人人负责。
欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ     群:    755431660

posted @ 2018-08-30 17:26 51testing 阅读(278) | 评论 (0) | 编辑 收藏
 
Web测试中的UI测试详解:容易忽略的14个测试点汇总

有软件的地方就有界面,就会有界面测试。界面测试是软件测试中,最多,最繁琐,最简单的测试。尤其在本地化测试(多国语言测试)中,有很多的界面测试。

用户界面测试简称UI测试,测试用户界面的功能模块的布局是否合理,整体风格是否一致和各个控件的放置位置是否符合客户使用习惯,更重要的是要符合操作便捷,导航简单易懂,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等等。

UI测试的目的:

1、确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能

2、确保用户界面符合公司或行业的标准

3、通过用户界面 (UI) 测试来核实用户与软件的交互

4、UI 测试的目标在于确保用户界面向用户提供了适当的访问和浏览测试对象功能的操作

5、除此之外,UI 测试还要确保 UI 功能内部的对象符合预期要求,并遵循公司或行业的标准

一般情况下我们进行界面测试,直接依据产品原型图以及UI切图/效果图,进行对比验证,确认是否一致。 但是如果碰到公司没有原型图,没有UI效果图怎么破? 毕竟同是天涯沦落人的情况太多了~~

那么我们可以参考市场上同类型的成熟产品来做界面比对,且考虑以下几个方面:

1、导航测试

2、图形测试

3、内容测试

4、表格测试

5、整体界面测试

接着我分享的就是界面测试中我们容易忽略或者是需要我们注意的测试点:

1、检查整个系统的界面是否和效果图一致(对照设计出来的效果图);

2、并且检查整个系统所有界面的界面风格和设计是否一致;

3、检查界面是否存在错别字或者是不合适的字;

4、检查界面上的所有的按钮的样式是否一致,是否正确;

5、检查界面操作是否友好,用户交互是否亲善;

6、检查界面所有的按钮、下拉框或者是导航箭头是否有反应,且是正确的反应;

7、检查系统上的链接是否有正确的链接地址,且能正确跳转;

8、检查系统中是否存在无用的链接,即不需要做成链接的地方做成了链接,并且点击不能正常跳转或是跳转错误;

9、检查界面中所有的输入框是否都做了检验,比如输入框的最大限制字符,超过输入框的最大限度,系统是否会做处理,而不是报错或者是出现其他错误;

10、检查界面中的标题或者是内容输入过多时,是否会进行换行或者是隐藏处理,而不是出现界面错位等现象;

11、检查系统在不同浏览器的兼容性问题,检查页面在不同浏览器下是否会发生异常,当用户调整浏览器窗口大小时,是否会出现界面不兼容的情况;

12、检查界面中使用的字体风格和大小是否一致,格式是否统一准确;

13、检查所有的字段后面是否有需要的冒号,查看是否冒号为统一的中文冒号还是英文冒号,即中英文符号是否统一;

14、检查界面中的图片是否显示正确,是否被裁减,是否被拉伸变形,是否显示完全;

测试方法:

1、静态测试:对于用户界面的布局,风格,字体,图片等与显示相关的部分测试应该采用静态测试,比如点检表测试,即将测试必须通过的项用点检表一条一条列举出,然后通过观察确保每项是否通过。

2、动态测试:对用户界面中各个类别的控件应该采用动态测试,即编写测试用例或者点检表,对每个按钮的响应情况进行测试,是否符合概要设计所规定的条件,还可以对用户界面在不同环境下的显示情况进行测试。

界面测试用例的设计方法

1、窗体
测试窗体的方法:
a、窗体大小,大小要合适,控件布局合理;
b、移动窗体。快速或慢速移动窗体,背景及窗体本身刷新必须正确;
c、缩放窗体,窗体上的控件应随窗体的大小变化而变化;
d、显示分辨率。必须在不同的分辨率的情况下测试程序的显示是否正常。
进行测试时还要注意状态栏是否显示正确,工具栏的图标执行操作是否有效,是否与菜单懒中图标显示一致;错误信息内容是否正确、无错别字且明确等等。
2、控件
测试方法:
a、窗体或控件的字体和大小要一致;
b、注意全角、半角混合;
c、无中英文混合。

3、菜单
进行测试时要注意:
a、选择菜单是否可以正常工作、并与实际执行内容一致;
b、是否有错别字;
c、快捷键是否重复;
d、热键是否重复;
e、快捷键与热键操作是否有效;
f、是否存在中英文混合;
g、菜单要与语境相关、如、不同权限的用户登陆一个应用程序、不同级别的用户可以看到不同级别的菜单并使用不同级别的功能;
h、鼠标右键快捷菜单。
4、特殊属性
a、安装界面应有公司介绍或产品介绍、有公司的图标;
b、主界面及大多数界面最好有公司图标;
c、选择“帮助”->“关于”命令、应看见相关版权和产品信息。

总结:

现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的。如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了。

很多人认为这是测试中最不重要的部分,但是恰恰相反界面对不懂技术的客户来说那相当关键,慢慢体会你会明白的,界面测试应当引起重视!

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

posted @ 2018-08-29 17:42 51testing 阅读(249) | 评论 (0) | 编辑 收藏
 
测试管理都做哪些事?毕业2年到Leader的经历总结

我从一个一窍不通的测试小白,摸爬滚打到今天,在公司担任测试组长,管理公司的测试组,总觉得软件测试人员不容易。但是,还是对软件测试这个行业满腔热血(至少目前是)。

这几年来,跳的坑实在不少,有些也是自己挖。今天就来谈谈我的一些经验总结。

先来说说管理方面

平时对管理方面很少有总结,总觉得管理是一门艺术,一门需要意会的艺术,虽然目前在做测试leader,平时也看些管理方面的书,但实际中总感觉理解的不够透彻,在工作上实施的话会有各种各样的情况,想要做好管理,真不是一件容易的事,今天就简单的写一些自己的理解。

一、首先要做好工作方面的事情,可以从如下几个方面入手

1.要有目标

2.做好计划

3.合理分配资源、时间

4.把控时间、项目进度、项目质量

5.适当监控测试结果,及时沟通、协调

6.通过周例会、站会或者周报收集当前测试项目存在的问题或潜在的问题,提早解决风险

7.做好总结。如项目总结、漏测分析

详细测试的工作流程如下:

关于这个点,大同小异无外乎:需求分析,测试计划,设计测试用例,评审用例,执行测试,缺陷管理,定版,发布。下面讲讲我整理的测试工作流程。

1、需求分析

所有的测试都是基于需求,所以这一阶段需要多多用心。以我为例,我们团队需求分析主要包括:两图一文档。

两图:业务流程图(需求从流程/整体去理解),思维导图(各项功能点去理解)。

一文档:需求分析文档(思维导图中的功能点去发散成为测试点)。

2、测试计划

我认为测试计划主要给出以下几点:

(1)测试类型:黑盒测试,接口测试,UI自动化测试,接口自动化测试,性能测试等等

(2)测试时间:需求分析起止时间,设计测试用例的起止时间,执行测试的起止时间

(3)测试执行人:创业型公司由于人员少的情况,很可能以项目(模块)划分测试负责人,

3、测试用例

探索性测试,我觉得在业务能力以及测试经验都很充足的情况下,可以结合编写测试用例,去执行测试。但一味的追求探索性测试,其实很难。

目前,我的团队是,测试工程师编写好测试用例,先组内评审,然后导入到QC,测试人员根据QC测试集去执行测试,而我也能很直观的把控测试进度,以及当然存在的问题。

4、测试用例评审

用例评审是一个查漏补缺的环节,这个过程在于补充测试思路,提升测试质量。

测试用例评审方法:

(1)提前邮件提醒评审相关人员(开发负责人,产品负责人,测试负责人,项目经理等),附件上测试用例。

(2)1-2天后,组织用例评审会议,由于事前有看过需求跟用例,所以会议时间不建议很长,只要是查漏补缺,每个人都会有一些测试思路,也会发现已有的测试用例的不足。

(3)根据会议记录,将没有考虑到的点维护成测试用例。定版。

定版后的测试用例,就可以用来执行测试了。

5、缺陷管理

每一个缺陷都是一个优秀的用例,这个思想很重要,这些用例你可能已经写了,也可能没有,而没有的话,就需要维护到测试用例中去,下次执行时,你就多预防一个点。

6、验收测试

上线前,需要产品或者运营,来验收需求。功能实现是否满足需求,有没有未考虑到的功能等等。验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

二、从生活入手

1.团建聚会,吃饭、唱歌等

2.户外活动

3.组织培训

三、从情绪入手

1.多交流,多沟通,建立良好友情

2.多包容,多耐心,多信任

3.不要过多干涉,不随意指手画脚

4.给予自有,权限

四、如何评估团队中测试员人的工作成绩

1.注意每个人的工作量

2.通过线上项目反馈问题、迭代版本中发现的问题总结漏测问题,来评估测试人员的测试质量

3.测试人员对测试时间的把控,是否拖拉或者延迟

4.测试人员是否主动学习,提成个人技能,并进行成果分享

5.工作态度

6.对当前测试流程提出改进优化建议

7.组织团队在任务不忙时进行测试新技术/工具的学习实践,适时引进开源测试工具

8.多组织测试组内知识分享,提高测试技术,推进组内的团队建设和文化建设

9.检查组员工作日报、周报,协调和帮助下属顺利完成工作任务

10.负责测试组内和其他相关部门的沟通协调以及绩效考核

总结:

人往高处走,自身的发展也很重要,一个成功的团队少不了这三种角色,第一:把控方向的人,一般是产品负责人,团队的生死几乎就看他了,第二:团队第一生产力,一般就是架构师,技术最牛的那位,有方向,有策略,还要看能不能实现,第三:据说外国对他有个称号叫master,他懂技术,懂业务,懂流程,根本就是一名全栈人员,他了解团队的优势和劣势,从而能在制定产品策略,技术方案以及生产过程提出建议和改进方法加以保证,给团队发展保驾护航,他是团队的消防员和安保员,测试人员的最终发展方向应该就是这个团队第三人了,个人看法,大家一起加油。
欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ    群:   755431660

posted @ 2018-08-28 17:03 51testing 阅读(167) | 评论 (0) | 编辑 收藏
 
用了Python这么多年,揭秘Python不为人知的7大功能和特点!

经常有新人或转行软件测试的朋友问我,如果想学测试,应该从哪门语言入手,以前我一般会推荐 Java 和 Python,现在主要推荐 Python。从发展趋势看来,Python 的发展势头有增无减,尤其是在工具脚本、数据爬取、数据分析和人工智能领域。大部分库语言都是 Python,可见一斑。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

下面我总结了一些Python不为人知的功能特性,超好用,希望可以帮你更好的了解Python。

带任意数量参数的函数

你可能已经知道了Python允许你定义可选参数。但还有一个方法,可以定义函数任意数量的参数。

首先,看下面是一个只定义可选参数的例子

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

现在,让我们看看怎么定义一个可以接受任意参数的函数。我们利用元组来实现。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

使用Glob()查找文件

很多Python函数都有一个长的描述其功能的名字。但如果你不是在别的地方见过glob()这个函数,你可能很难理解它是做什么的。

想像一个很有用的listdir()函数,它能让你通过匹配模式来搜索文件。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

你可以像下面这样查找多个文件类型:

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

如果你想得到每个文件的绝对路径,你可以在返回值上调用realpath()函数:

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

调试

下面的一些例子利用了inspect模块。这个模块对于调试来说是非常有用的,并且你通该模块可获得的远比这里所描述的要多。

在本文中,我们不会覆盖这些功能的每一个,但是我将会向你展现一些用例:

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

生成唯一ID

可能会有一些情形,你需要生成一个唯一的字符串。我曾经见过很多人使用md5()函数来实现这一需求,尽快它并完全意味着该目的。

其实有一个名为uuid()的Python函数是用于这个目的的。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

你可能会注意到,即使字符串是唯一的,但它们后边的几个字符看起来很相似。这是因为生成的字符串与电脑的MAC地址是相联系的。

为了降低产生相同字符串的几率,你可以使用下面的两个函数。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

序列化

你曾经需要将一个复杂的变量存储在数据库或文本文件中吧?你不需要想一个奇特的方法将数组或对象格转化为式化字符串,因为Python已经提供了此功能。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

这是一个原生的Python序列化方法。然而近几年来JSON变得流行起来,Python添加了对它的支持。现在你可以使用JSON来编解码。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

这样更紧凑,而且最重要的是这样与JavaScript和许多其他语言兼容。然而对于复杂的对象,其中的一些信息可能丢失。

压缩字符

当谈起压缩时我们通常想到文件,比如ZIP结构。在Python中可以压缩长字符,不涉及任何档案文件。

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

注册Shutdown函数

有可模块叫atexit,它可以让你在脚本运行完后立马执行一些代码。

假如你想在脚本执行结束时测量一些基准数据,比如运行了多长时间:

用了Python这么多年,揭秘Python不为人知的7大功能和特点!

打眼看来很简单。只需要将代码添加到脚本的最底层,它将在脚本结束前运行。但如果脚本中有一个致命错误或者脚本被用户终止,它可能就不运行了。

当你使用atexit.register()时,你的代码都将执行,不论脚本因为什么原因停止运行。

总结:

上文中介绍了Python的一些特性,你是否还知道别的Python有用的特性,但还不是广为人知?可以一起探讨下!

最后为了让你更深入的了解Python,我再来介绍下Python的好处。

1、功能强大,使用简单,语言唯一性的特征明显(唯一性的意思就是你不能用十八种写法实现一个功能),而且具备海量的第三方库……Python 程序员最爱说的一句话是:人生苦短,我用 Python。

2、Python 支持交互式编程、面向对象编程、函数式编程、面向切面编程、当然还有元编程。

并没有很多的语言能提供像 Python 这样的多样性和简洁性,无论你是编码新手还是能信手写就脚本的大师,都需要了解一下 Python。
欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ   群:  755431660

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