关于测试的那点事|BATJ争抢的全栈测试工程师真的存在(一段10年软件测试大咖的访谈)

关于测试的那点事|BATJ争抢的全栈测试工程师真的存在(一段10年软件测试大咖的访谈)
文章图片

1、最近在纠结于做测试开发的语言,请问一下用Java比较合适还是python比较合适?
??这个问题一直是我们测试人员争论不休的话题之一,python好还是java好,我在上一次专家门诊时候有提到,我们去做测试开发,去做自动化测试,在这两种语言上本身是差不多的,没有特殊的偏好。
??但是如果说我们切合今天的题目,目标是全栈测试工程师,那么我要说,由于开发人员更多的使用java,所以为了后续能更好的进行白盒测试、进行工具开发、进行jmeter等性能工具二次开发,选用java似乎是一个更好的选择。当然,代码结构本身是举一反三的,java学会了,python还会远么?
2、如何在一个没有安全测试的团队开展安全测试?
??谈到从无到有,最重要的就是无的阶段。首先要让公司、开发部分认识到安全对于一个系统的价值,例如我们抓一个XSS漏洞,截获到用户的cookie;或者我们从服务器端日志分析出系统曾遭受了哪些安全攻击,并对此进行针对性建议。
??将这些问题在部门会议、冲刺 (sprint) 计划会议等重要会议上提出,很快就可以被接受,因为当前安全问题的确是重大问题,如果你有这个能力,公司自然愿意放手让你去做。
??其次再说安全团队的建设,其实和其他测试团队一样,我们需要不同技术能力、不同特色的人组成一支精锐部队,来应对安全难题。
??大体上可以分为先验团队和监控团队。先验团队中包括系统安全架构设计(安全分析、策略设计)、安全用例设计、安全测试执行等角色;监控团队则更多对服务器日志、蜜罐日志、服务器状况进行监控。当然,小型团队中一人可兼任多职位。
??综合以上几点,加上适当的安全技能培训、学习、深化,整个安全测试就可以逐步在项目中推行起来了。
3、如何开展安全测试工作,在哪个时间点开展效果好?
??主要也是怎么由零出发,开始推行安全;至于开展的时间点,通常情况下安全测试的规划是在代码设计阶段后就介入,这有点类似于我们的功能测试,但是正是开始进行测试,则是在功能测试、自动化测试结束后,性能测试开始前进行。具体的原因呢,说起来可能还要蛮久的,我在51testing上有一个课程,Web安全攻防学习宝典,链接中试听部分就有一定的讲解。
4、安全测试用哪些测试工具?
??工具方面嘛,分两个方面,手工测试工具主要包含burpsuite、websacrab、sqlmap等,当然不同工具会有不同场景的应用;自动化审计工具主要是appscan和webinspect。
5、安全测试要关注哪些方面?
??这个问题有点大,从web安全的角度来说,我们重点关注bs架构下,通过客户端、网站能够利用的安全漏洞,主要包括绕过啊、验证机制漏洞啊、会话管理漏洞啊、sql注入、xss、csrf等等。
6、安全测试的原理是什么?
??安全测试的原理这个就太大了。估计打上整整一页都没办法说清楚,所有安全漏洞按照具体的分类一一从原理、攻击手段、测试方法、防范措施进行分析。
7、为什么要做安全测试?
??这个问题似乎放在第一个更好一点,安全问题在互联网时代的背景下越来越突出,影响也越来越大。举个例子,一个小小的sql注入会导致一家公司损失上亿的客户数据、几百亿的交易甚至更大的隐患,安全漏洞已经超过了我们功能方面问题,你想一下,如果一个网站的数据库、代码、资料的安全性都无法保证,那么被攻击者劫持后会产生多大的影响?所以安全问题的排查和安全测试也就势在必行了。
8、目前做的项目中web应用、ios和Android前端应用、主机和数据库都覆盖了,对web安全和前端应用安全较为全面。但是目前挖掘的不深,只能对一些简单的漏洞进行利用,同时缺乏代码能力,可能也快遇到瓶颈,请问专家,如何尽快提升?各个击破,可有相关的学习资料分享?
??安全测试本身就是一个由浅入深的过程,从一个新手变成一个“老司机”,需要更多实践和摸索。想要成为一个出色的白帽子,代码能力也是必备的技能之一,也是初级中级安全测试工程师到高级安全专家的必须品。
建议你在全面了解所有漏洞原理、攻击手法的基础之上,再进一步研究其他论坛中关于安全漏洞的细节解析,同时提升自己的代码能力,多做一些代码的白盒审计,来发现更多问题~~
9、大神我现在主要负责公司的测试管理,手下有5个人。公司还是对测试不是很重视,但是我深知也是我们的团队技术不给力。目前我感觉自己最大的瓶颈就是不会一门编程。我想利用三四个月脱产学习一门编程语言,希望大侠能给建议。
【关于测试的那点事|BATJ争抢的全栈测试工程师真的存在(一段10年软件测试大咖的访谈)】??首先来说,对测试不够重视这点在绝大多数公司都存在,如果想改变这种地位,只有真正体现出自己的专业度和能力。我比较喜欢说的一句话哈,叫做测试的最高境界是什么,是教开发人员写代码。
关于测试的那点事|BATJ争抢的全栈测试工程师真的存在(一段10年软件测试大咖的访谈)
文章图片

??知易行难,一定要向着这个方向发展,这也是为什么我认为全栈测试工程师在未来会占据很重要的地位的原因,当你能看懂开发人员的代码甚至可以对代码里的问题作出正确回应、能够找出安全漏洞和性能瓶颈、能够写出一套属于自己的平台来实现测试自动化,那么你的能力自然不必说,也不会有人对测试不够重视了。
脱产学习有脱产的好处,也有其劣势,我一向认为“学而时习之”才是好方法,也就是边学还要边做,而且是真正有压力的做,自己练习的效果永远不及项目上的压力来的好。当然,这是我的意见哈~
10、我是负责功能测试的,我想慢慢学习性能测试,应该如何学习性能测试,希望能够给提点意见。
??很多同学都是从功能向性能转型,也很多同学通过一款工具开始进行性能测试的探索。总结起来,可以这么简单归纳,了解相应协议、学习一些语言基础(LR主要是c,jmeter主要是java)、从vugen、controller、monitor三个维度学习工具使用、再深入分析高级应用、性能调优等。
11、本人从软件测试工程师转向安全测试,工作年限5年多,做安全测试已经2年多,如何向安全工程师转型?
??其实所谓安全测试到安全工程师的转型有两方面,一是从安全的问题探索向漏洞的防御转型,从事后向事前,从后验到先验。二是从常见漏洞类型向各种0day漏洞的发展。其实说穿了还是从测试维度向QA、QC维度的变化

    推荐阅读