51Testing软件测试论坛

标题: 【你来问我来答第78期】:论全栈测试工程师的自我修炼之道(活动结束) [打印本页]

作者: lsekfe    时间: 2017-2-3 11:01
标题: 【你来问我来答第78期】:论全栈测试工程师的自我修炼之道(活动结束)
[attach]104292[/attach]
嘉宾的讲解:
全栈测试工程师曾经是一个很火的概念,全世界都在聊全栈的未来,于是越来越多的公司开始招聘各种“全能型”测试人才,这就好比是一个小型医院,希望什么病都治,但是其实什么病都没有治好。这是一种病态的全栈思维。
其实真正的全栈不等于所谓的“全能”实际“全不能”,更不可能“全精通”。我在很多课上都举这样一个例子,测试就像挖井打水,需要多找几个地方去挖,有的呢挖的深一点,有的浅尝辄止,这才是真正的全栈。某一个或几个方面精通,其他方面有一定了解,并非全然不懂,未来的测试一定是属于这样的“全栈”人才的。
讲师介绍:
论坛ID:jacksonren1987
真实姓名: 风落几番(任健勇)
现任公司: 天弘基金管理有限公司
现任职位:高级软件测试工程师
工作经验:7年 曾供职于多家互联网公司及大型外企,多年自动化测试、安全测试以及测试管理工作经验进行过多个大型项目的Web安全测试,带领测试部门从零开始建立安全性测试 规范,针对Web安全测试搭建了基于开源工具的安全测试架构,并应用于SaaS平台等云计算项目;曾独立开发基于Webdriver的自动化测试平台 ,该平台可使无代码基础的测试人员进行自动化脚本的编写与执行。此外,对渗透测试和敏捷测试也有一定的研究。《性能测试巧匠训练营》安全篇作者。
讲师课程:
Web安全攻防学习宝典


各位会员可以在2.11日前以回帖的方式向客座专家提问。

(请大家围绕本期客座专家的擅长领域进行提问、探讨)

客座专家将在2月11日—2月28日为大家集中解答。

机会难得,欢迎大家踊跃提问!





作者: lsekfe    时间: 2017-2-3 11:11
本期专家经验丰富,并且在测试行业中担任测试讲师数年,大家有问题可以向专家提问哦!
作者: qwe1024547862    时间: 2017-2-3 11:34
如何在一个没有安全测试的团队开展安全测试
作者: 1039196210    时间: 2017-2-3 11:37
跪求大神赐教:
1、如何开展安全测试工作,在哪个时间点开展效果好
2、安全测试用那些测试工具
3、安全测试要关注那些方面
4、安全测试的原理是什么
5、为什么要做安全测试
作者: huwenlong    时间: 2017-2-4 16:17
我是一个做安全测试大概一年时间的小学生,目前做的项目中web应用、ios和Android前端应用、主机和数据库都覆盖了,对web安全和前端应用安全较为全面。但是目前挖掘的不深,只能对一些简单的漏洞进行利用,同时缺乏代码能力,可能也快遇到瓶颈,请问专家,如何尽快提升?各个击破,可有相关的学习资料分享?
作者: chanafanghua    时间: 2017-2-4 18:38
大神,最近在纠结于做测试开发的语言,请问一下用Java比较合适还是python比较合适。
作者: jacksonren1987    时间: 2017-2-6 14:22
qwe1024547862 发表于 2017-2-3 11:34
如何在一个没有安全测试的团队开展安全测试

谈到从无到有,最重要的就是无的阶段。首先要让公司、开发部分认识到安全对于一个系统的价值,例如我们抓一个XSS漏洞,截获到用户的cookie;或者我们从服务器端日志分析出系统曾遭受了哪些安全攻击,并对此进行针对性建议。将这些问题在部门会议、冲刺 (sprint) 计划会议等重要会议上提出,很快就可以被接受,因为当前安全问题的确是重大问题,如果你有这个能力,公司自然愿意放手让你去做。
其次再说安全团队的建设,其实和其他测试团队一样,我们需要不同技术能力、不同特色的人组成一支精锐部队,来应对安全难题。大体上可以分为先验团队和监控团队。先验团队中包括系统安全架构设计(安全分析、策略设计)、安全用例设计、安全测试执行等角色;监控团队则更多对服务器日志、蜜罐日志、服务器状况进行监控。当然,小型团队中一人可兼任多职位。
综合以上几点,加上适当的安全技能培训、学习、深化,整个安全测试就可以逐步在项目中推行起来了。
作者: jacksonren1987    时间: 2017-2-6 14:36
1039196210 发表于 2017-2-3 11:37
跪求大神赐教:
1、如何开展安全测试工作,在哪个时间点开展效果好
2、安全测试用那些测试工具

问题很多很好哈,我还是按顺序答吧:
1. 如何开展安全工作?主要也是怎么由零出发,开始推行安全,这方面可以参考上一楼的回复;至于开展的时间点,通常情况下安全测试的规划是在代码设计阶段后就介入,这有点类似于我们的功能测试,但是正是开始进行测试,则是在功能测试、自动化测试结束后,性能测试开始前进行。具体的原因呢,说起来可能还要蛮久的,我在51testing上有一个课程,Web安全攻防学习宝典,链接中试听部分就有一定的讲解。
2. 工具方面嘛,分两个方面,手工测试工具主要包含burpsuite、websacrab、sqlmap等,当然不同工具会有不同场景的应用;自动化审计工具主要是appscan和webinspect。

3. 安全测试需要关注哪些方面?这个问题有点大,从web安全的角度来说,我们重点关注bs架构下,通过客户端、网站能够利用的安全漏洞,主要包括绕过啊、验证机制漏洞啊、会话管理漏洞啊、sql注入、xss、csrf等等。

4. 安全测试的原理这个就太大了。。。估计打上整整一页都没办法说清楚,我在Web安全攻防学习宝典这个课程里把所有安全漏洞按照具体的分类一一从原理、攻击手段、测试方法、防范措施进行了讲解,希望能够对你有所帮助。


5. 为什么要做安全测试?这个问题似乎放在第一个更好一点,安全问题在互联网时代的背景下越来越突出,影响也越来越大。举个例子,一个小小的sql注入会导致一家公司损失上亿的客户数据、几百亿的交易甚至更大的隐患,安全漏洞已经超过了我们功能方面问题,你想一下,如果一个网站的数据库、代码、资料的安全性都无法保证,那么被攻击者劫持后会产生多大的影响?所以安全问题的排查和安全测试也就势在必行了。

作者: jacksonren1987    时间: 2017-2-6 14:41
huwenlong 发表于 2017-2-4 16:17
我是一个做安全测试大概一年时间的小学生,目前做的项目中web应用、ios和Android前端应用、主机和数据库都 ...

安全测试本身就是一个由浅入深的过程,从一个新手变成一个“老司机”,需要更多实践和摸索。想要成为一个出色的白帽子,代码能力也是必备的技能之一,也是初级中级安全测试工程师到高级安全专家的必须品。建议你在全面了解所有漏洞原理、攻击手法的基础之上,再进一步研究其他论坛中关于安全漏洞的细节解析,同时提升自己的代码能力,多做一些代码的白盒审计,来发现更多问题~~
作者: jacksonren1987    时间: 2017-2-6 14:57
chanafanghua 发表于 2017-2-4 18:38
大神,最近在纠结于做测试开发的语言,请问一下用Java比较合适还是python比较合适。

这个问题一直是我们测试人员争论不休的话题之一,python好还是java好,我在上一次专家门诊时候有提到,我们去做测试开发,去做自动化测试,在这两种语言上本身是差不多的,没有特殊的偏好。但是如果说我们切合今天的题目,目标是全栈测试工程师,那么我要说,由于开发人员更多的使用java,所以为了后续能更好的进行白盒测试、进行工具开发、进行jmeter等性能工具二次开发,选用java似乎是一个更好的选择。当然,代码结构本身是举一反三的,java学会了,python还会远么?
作者: 测试菜鸟梦    时间: 2017-2-6 15:39
大神,我也是51testing的学员。13年底毕业后进入我们公司工作。安全方面略有了解。现在主要负责我们公司的测试管理。我手下有四个人。公司还是对测试不是很重视,但是我深知也是我们的团队技术不给力。目前我感觉自己最大的瓶颈就是不会一门编程。我想利用三四个月脱产学习一门编程语言,您觉得怎么样?希望大侠能给建议。
作者: 测试菜鸟梦    时间: 2017-2-7 10:48

大神,我也是51testing的学员。13年底毕业后进入我们公司工作。安全方面略有了解。现在主要负责我们公司的测试管理。我手下有四个人。公司还是对测试不是很重视,但是我深知也是我们的团队技术不给力。目前我感觉自己最大的瓶颈就是不会一门编程。我想利用三四个月脱产学习一门编程语言,您觉得怎么样?希望大侠能给建议。
作者: 学掌门网校    时间: 2017-2-8 09:31
任老师在博为峰网校发布了其精心编排录制的《Web安全攻防学习宝典》课程,,从web安全漏洞原理、攻击手段、测试方法、预防措施四个方面全面剖析WEB安全的点点滴滴,针对开发人员、测试人员、运维人员、网络工程师都能够起到一定的指导意义。课程内容包含绕过漏洞、验证机制漏洞、会话管理漏洞、权限控制漏洞、sql注入、xpath注入、xss、csrf、逻辑漏洞、社会工程学攻击、自动化审计等。如对web安全感兴趣,可登录博为峰网校了解课程更多内容。
课程大纲介绍及免费试听:http://www.atstudy.com/course/196
课程咨询购买:客服QQ 3456844001
作者: 测试菜鸟梦    时间: 2017-2-8 12:38


大神,我也是51testing的学员。13年底毕业后进入我们公司工作。安全方面略有了解。现在主要负责我们公司的测试管理。我手下有四个人。公司还是对测试不是很重视,但是我深知也是我们的团队技术不给力。目前我感觉自己最大的瓶颈就是不会一门编程。我想利用三四个月脱产学习一门编程语言,您觉得怎么样?希望大侠能给建议。
作者: 小斌哥    时间: 2017-2-8 13:35
大神,我是负责功能测试的,我想慢慢学习性能测试,应该i如何学习性能测试,希望能够给提点意见
作者: 旧欢似梦    时间: 2017-2-8 13:52
本人从软件测试工程师 转向安全测试,工作年限5年多,做安全测试已经2年多  ,如何向安全工程师转型
作者: 11111111111111z    时间: 2017-2-8 16:44
测试生涯好迷茫,做软件测试4年了,但是在郑州这个测试不流行的行业还是有点困难的,之前搞过自动化测试和QTP测试,但是目前的公司完全不需要,好迷茫呀
作者: 测试菜鸟梦    时间: 2017-2-9 09:44
11111111111111z 发表于 2017-2-8 16:44
测试生涯好迷茫,做软件测试4年了,但是在郑州这个测试不流行的行业还是有点困难的,之前搞过自动化测试和Q ...

不能因为公司荒废自己的技术。公司可以不用你的技术,但是你不能不会。
作者: yjjuan    时间: 2017-2-9 11:00
大神,作为安全测试新手,主要用了appscan,burpsuite,但都是简单的扫描出web安全漏洞,对于如何验证漏洞是否真是存在,还是不懂,求大神指点下我应该从哪学起!
作者: jacksonren1987    时间: 2017-2-9 16:00
测试菜鸟梦 发表于 2017-2-8 12:38
大神,我也是51testing的学员。13年底毕业后进入我们公司工作。安全方面略有了解。现在主要负责我们公 ...

首先来说,对测试不够重视这点在绝大多数公司都存在,如果想改变这种地位,只有真正体现出自己的专业度和能力。我比较喜欢说的一句话哈,叫做测试的最高境界是什么,是教开发人员写代码。知易行难,一定要向着这个方向发展,这也是为什么我认为全栈测试工程师在未来会占据很重要的地位的原因,当你能看懂开发人员的代码甚至可以对代码里的问题作出正确回应、能够找出安全漏洞和性能瓶颈、能够写出一套属于自己的平台来实现测试自动化,那么你的能力自然不必说,也不会有人对测试不够重视了。脱产学习有脱产的好处,也有其劣势,我一向认为“学而时习之”才是好方法,也就是边学还要边做,而且是真正有压力的做,自己练习的效果永远不及项目上的压力来的好。当然,这是我的意见哈~
作者: jacksonren1987    时间: 2017-2-14 08:57
小斌哥 发表于 2017-2-8 13:35
大神,我是负责功能测试的,我想慢慢学习性能测试,应该i如何学习性能测试,希望能够给提点意见

你好,不好意思回复有些晚~很多同学都是从功能向性能转型,也很多同学通过一款工具开始进行性能测试的探索。总结起来,可以这么简单归纳,了解相应协议、学习一些语言基础(LR主要是c,jmeter主要是java)、从vugen、controller、monitor三个维度学习工具使用、再深入分析高级应用、性能调优等。
作者: jacksonren1987    时间: 2017-2-14 09:02
旧欢似梦 发表于 2017-2-8 13:52
本人从软件测试工程师 转向安全测试,工作年限5年多,做安全测试已经2年多  ,如何向安全工程师转型

其实所谓安全测试到安全工程师的转型有两方面,一是从安全的问题探索向漏洞的防御转型,从事后向事前,从后验到先验。二是从常见漏洞类型向各种0day漏洞的发展。其实说穿了还是从测试维度向QA、QC维度的变化~我的建议是从测试思路跳出来,多关注代码,关注逻辑,多做白盒,关注0day等~
作者: jacksonren1987    时间: 2017-2-14 09:11
11111111111111z 发表于 2017-2-8 16:44
测试生涯好迷茫,做软件测试4年了,但是在郑州这个测试不流行的行业还是有点困难的,之前搞过自动化测试和Q ...

其实让我们努力去学习技术的方式呢,有两种:
一种是公司、企业或者行业内需求较多,为了更好的职业发展和薪水而奋斗;
二种是当我们的地理位置或者行业内需求较少,那么同样为了更好的职位发展而奋斗,更主要的是在当前环境下你可以自主去推行一些自动化、性能,由于地区的限制,反而可能会让你的推行不会遇到太多阻力,得到更多的实践机会
作者: jacksonren1987    时间: 2017-2-14 09:14
yjjuan 发表于 2017-2-9 11:00
大神,作为安全测试新手,主要用了appscan,burpsuite,但都是简单的扫描出web安全漏洞,对于如何验证漏洞是 ...

我一直在我的课程中,包括对我的学员说,非常不推荐去做简单的漏洞扫描,因为毫无意义,也对自身能力提高没什么帮助。我建议你要从漏洞的原理、攻击手段、测试方法、防范措施以及部分的代码实现入手,做手工测试。详细的可以参考一下我在51testing的这个课程大纲:http://www.atstudy.com/course/196
作者: spartan    时间: 2017-2-14 13:48
本帖最后由 spartan 于 2017-2-14 13:51 编辑
jacksonren1987 发表于 2017-2-14 09:14
我一直在我的课程中,包括对我的学员说,非常不推荐去做简单的漏洞扫描,因为毫无意义,也对自身能力提高 ...

你给的链接看了下,在课时列表中, 怎么只有两节科C:\GMAC\1_Work\1111111111111111111.png
作者: 测试菜鸟梦    时间: 2017-2-16 15:41
jacksonren1987 发表于 2017-2-9 16:00
首先来说,对测试不够重视这点在绝大多数公司都存在,如果想改变这种地位,只有真正体现出自己的专业度和 ...

谢谢大神指点
作者: ntgecm    时间: 2017-2-17 10:26
测试菜鸟梦 发表于 2017-2-16 15:41
谢谢大神指点

从最容易的地方做起,实践出真知;
作者: 测试菜鸟梦    时间: 2017-2-17 10:27
ntgecm 发表于 2017-2-17 10:26
从最容易的地方做起,实践出真知;

小女子明白啦
作者: Daa盛    时间: 2017-2-17 13:06
安全测试应该会很火。但是入门到擅长,路很长。
作者: lsekfe    时间: 2017-2-17 13:10
spartan 发表于 2017-2-14 13:48
你给的链接看了下,在课时列表中, 怎么只有两节科

http://www.atstudy.com/course/196/info 这个连接你看下就知道了!
作者: noexcuse    时间: 2017-2-20 13:34
自动化+安全+测试管理,除了没强调测试策略和业务知识,全才啊!
很多想法跟我不谋而合。
测试在代码领域做到的最高境界是指导开发写代码。

作者: Tino    时间: 2017-2-22 11:38
老师你好 你的介绍里有说独立开发基于webdriver的自动化测试平台 可否简单介绍一下开发过程?
作者: jacksonren1987    时间: 2017-2-28 08:46
Tino 发表于 2017-2-22 11:38
老师你好 你的介绍里有说独立开发基于webdriver的自动化测试平台 可否简单介绍一下开发过程?

帖子被淹没啦~~其实这个平台是从关键字框架中衍生出来的,分前后台,前台很简单,就是ssh,后台是用ant+testng+webdriver+seleniumgrid去运行webdriver的自动化测试。当然这是说的简单些了,具体的可以看一下我的新课程,平台部分会有介绍的~
可以参考下这个链接 http://www.atstudy.com/course/218/info




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2