
软件测试是测试软 bug,更加偏向 *** 作,不像编程需要 的逻 维能力 。如果只 能测试 的话,并不需要写代码,只需通过点击来测试功能有没有问题即可。如果做自动化测试,就要写一些简单的代码来运行程序进行测试从而代替手动点击测试。不过跟软件开发比起来,软件测试需要写的代码是很少的, 而且也简单的多。 软件测试课程基本都是针对零基础学员的,有无IT的背景和基础都不会影响你的学习。软件测试课程大体分为功能测试、自动化测试、接口测试、性能测试四个方向,你掌握了一个方向就能从事这个方向的工作,并不是必须掌握所有方向。即使你一点代码都不想写,那么就掌握功能测试就可以了,也能找到不错的工作。
什么是第三方检测报告?
检测报告不仅仅为入驻名商城提供一项资质,也对产品起到了锦上添花的作用,使得更消费者的放心购买使用您的产品。产品质量检验报告能全面、客观地反映产品的质量信息,一般是由独立于供需双方的第三方专业质量检验机构完成。第三方质量专业检验机构具有相对的独立性、公正性和权威性,有资格向社会出具公正数据(检验报告)。生产企业对自己生产的产品所做的检验报告,称为第一方(供方) 检验报告,由于利益相关,没有向社会出具公正数据的资格。为了保证第三方检验机构的检验能力和检验工作的科学性和公正性, 国家有关部门在确认了检验机构的计量能力后,授予 计量认证合格证书,并允许其在检验报告上加盖 CMA 章(含计量证书编号和发证日期,证书有效期为五年,下同)。
第三方检测报告即质量检测报告(又称型式检验报告),是根据电商实施规则、超市要求或标准要求进行,对产品进行质量或者安全检测,又或者是某种性能检测,需要客户提供国家标准或者检测需求。如果客户没有指定标准和要求,那么就根据客户做报告的用途决定做什么检测。一般质检报告测试的标准有很多,每种产品做质检报告测试的标准都是不一样的。比如:灯具类的标准是GB7000,家电类的测试标准是GB4706,IT信息技术类的标准是GB4943,AV影视频类的标准是GB8898等等。如果细分到产品的标准也是不一样的,像数据线,移动电源,平衡车这样的标准是GB17761等等。
软件测试职业发展方向,大体上可以分为管理路线、技术路线、管理+技术路线。
测试初级阶段:
测试工程师,属于软件测试职业生涯的初级域,其适用范围是入行软件测试3年内的常规测试从业者,其主要工作内容是按照测试主管(即直接上司)分配的任务计划,编写测试用例、执行测试用例、提交软件缺陷,包括提交阶段性测试报告、参与阶段性评审等。
管理+技术路线:
首先是常规路线,这条发展路线要求管理与技术并重,因为软件测试的行业特点决定了这个因素:测试工程师向上晋升到测试主管、测试经理、测试总监,直至咨询域的更高方向!
测试主管是企业项目级主管,对于中小型软件公司也可以是企业级主管,属于中级发展域,适用范围是2到5年职业经验的测试从业者。其工作内容是根据项目经理或测试经理的计划安排,调配测试工程师执行模块级或项目级测试工作,并控制与监督软件缺陷的追踪,保证每个测试环节与阶段的顺利进行。严格来说,这个级别更多属于测试的设计者,因为企业的测试流程搭建是由更高级别的测试经理或相关管理者来做的,测试主管负责该流程的具体实施;而更多的工作,是思考如何对软件进行更加深入、全面的测试。测试主管比较有创造性的工作内容就是测试设计,而恰恰很多公司忽略了或没有精力来执行此工作内容!应该说,在一个企业里做了3年左右测试工作的人员,很容易晋升到该职位,而之所以晋升,是与个人测试技术的过硬、测试方法的丰富,加上对测试流程的监控力与执行力的职业素质息息相关!
测试经理是更高级别的测试管理者,属于高级测试方向域。对于大中型软件公司,该职位尤为重要,并且对其职业要求也比较高,一般适合4到8年的测试从业者,在管理与技术能力双双比较成熟的情况下,可以结合具体环境晋升到该级别。测试经理负责企业级或大型项目级总体测试工作的策划与实施。测试经理除了需要统筹整个企业级或项目级测试流程外,还要对于不同软件架构、不同开发技术下的测试方法进行研究与探索,为企业的测试团队成员提供指导与解决思路,同时还要合理调配不同专项测试的人力资源(如业务测试工程师、自动化测试工程师、白盒测试工程师、性能测试工程师),对软件进行全面的测试;另外,一些企业里,测试经理还需要与客户交流与沟通,负责部分的销售性或技术支持性工作。
测试总监,属于常规发展路线的最高域,该职位一般在大型或跨国型软件企业,或者专向于测试服务型企业有所设立,一般设立测试总监的企业,北京IT培训认为该职位都相当于CTO或副总的级别,是企业级或集团级测试工作的最高领导者,驾驭着企业全部的测试与测试相关资源,管理着企业的全部测试及质量类工作。而其职业要求,也是技术与管理双结合。
刚工作的第一个任务是搭建缺陷管理系统。在朋友的帮助下,我知道了缺陷管理系统有 TD 、JIRA和bugzilla ,前两个是收费的,bugzilla是开源。这对当时的我来说绝对是一个有挑战的事情。我当时花了一周时间,尝试搭建这三个环境中的任意一个都没有成功,晚上稿到凌晨一两点,压力很大的说。最后,在一次偶然的一次搜索中发现了禅道,那时禅道10刚发布。加了他们的群。搭建非常简单。一个上午就稿定了,非常感谢王春生(bugfree\禅道的作都)。然后,得到老大的认可,开始在我们项目组使用。
第二个困难就是老大让我对目前的项目做一次性能测试,晕死。一入行两天就稿这么牛B的东西,自我膜拜一下。哈哈!老大推荐我用JMeter 和apache ab,apache 是个小工具。jmeter配合badboy使用,下了个jmeter中文文档。也算把第一份性能测试报告做出来了。不过,现在看来,那个报告没有一丝价值。
其实,这里不得不提一下博客园jacke的博客,也正是看了他的博客自己才对性能测试略有所悟,虽然,他近两年很少写技术博客,但他以前的好多文章仍然非常好。这也是我在博客园安家的原因。
之后的性能测试中,我开始采用loadrunner,因为在用jmeter的过程中,有些问题以我当时的水平无法理解。比如,百度地图,当你打开那个页面时,先出现的一定是框架,地图的显示要慢一点显示出来。但我通过badboy录制脚本时。Badboy会把那个框架与地图转化成两个地址,虽然他们调用的不是一个数据,但他们毕竟在一张页面上显示的。Jmeter会分别对这两个地址进行加压。我不知如何描述这个页面加载完成的时间。
所以,loadrunner是将一个 *** 作定为一个脚本。比如,一个登录,一次填写提交。这样我把重点放在结果分析上就行了。但实际也没想的那么简单。Loadrunner与浏览器的兼容问题比较麻烦,还有在录制的脚本的过程中还遇到不少问题、参数化、集合点等等。其实,对于新手来说,学习LoadRunner的难点应该在录制脚本的部分,新手往往会在录制的过程中遇到各种问题。至于结果分析,主要是看自己性能测试知识的积累,还有对被测系统理解的程度。
学习LoadRunner时,对我最大帮助的是播布客论坛,上面有大量的视频。最适合初学者观看。尤其要感谢无私奉献小布、小强老师。但那hp单点登录系统的广告也听得烂熟于心了,哈哈!天下哪有免费的午餐。
之后的工作都比较我顺利了,又不是太忙,关于功能测试主要是你对公司项目的熟悉程度,平时多搜集一些通用测试用例,比如,文件上传下载用例,用户登录用例,查询功能测试用例。积累的多了一看到一个功能,测试思路自然就有了。
后面,开始看QTP自动化功工具的视频,把自带的飞机订票系统练习了一下。为此还买了一本书《QTP自动化测试进阶》,因为没有项目拿来练手,学起来动力不足,再加上好多项目并不适合自动化。又要学习VBS脚本。于是学了一点就丢那里了。
当然,其间又了解了许多个测试相关的工具,测试死链接工具Xenu、页面性能测试工具Charles 、网络安全性测试工具Appscan 。
当你连续奋战了好几天,终于合上了笔记本,想要出去透透风时,一个熟悉的问句传来:“你好,请问什么时候可以交付报告?”
有成千上万的书籍讲解什么是信息安全,什么是渗透测试,也有数不清的培训课程视频。但是,我敢打赌,在这些材料中,只有不到10%是在讲写报告的事情。在一个完整的渗透测试过程中,有将近一半的时间都用在了编写报告上,这听起来很让人吃惊,但是也并不奇怪。
教会某人写报告不像教会某人制作一个完美的缓冲区溢出那么有意思,大部分的渗透测试人员情愿复习19次TCP数据包结构的工作原理,也不愿意写一份报告。
不管我们的渗透测试水平多么高,想要把一个很深的技术点解释的很通俗易懂,即使是完全不懂安全的人也可以理解,这是一件异常艰难的挑战。不但得学会简单明了的解释渗透测试的结果,还得控制好时间。这样做的好处很多,关系到客户会不会不断的采购你的服务。有一次,我开车到350英里以外的一家客户那里做售前,当面重新解释了渗透测试报告的本内容;如果能把测试报告写的简单明了,我就不用跑这么一趟,相当于节省了一整天的时间和一整箱汽油。
举个例子:
一个模糊不清的解释:“SSH版本应该被禁用,因为它含有高危漏洞,可能允许攻击者在网络上拦截和解密通信,虽然攻击者控制网络的风险很低,这减少了严重性。”
清楚的解释:“建议在这些设备上禁用SSH,如果不这样做,就有可能允许攻击者在当地网络解密和拦截通讯。”
为什么渗透测试报告如此重要?
请谨记:渗透测试是一个科学的过程,像所有科学流程一样,应该是独立可重复的。当客户不满意测试结果时,他有权要求另外一名测试人员进行复现。如果第一个测试人员没有在报告中详细说明是如何得出结论的话,第二个测试人员将会不知从何入手,得出的结论也极有可能不一样。更糟糕的是,可能会有潜在漏洞暴露于外部没有被发现。
举个例子:
模糊不清的描述:“我使用端口扫描器检测到了一个开放的TCP端口。“
清晰明了的描述:“我使用Nmap 550,对一段端口进行SYN扫描,发现了一个开放的TCP端口。
命令是:nmap –sS –p 7000-8000“
报告是实实在在的测试过程的输出,且是真实测试结果的证据。对客户高层管理人员(批准用于测试的资金的人)可能对报告的内容没有什么兴趣,但这份报告是他们唯一一份证明测试费用的证据。渗透测试不像其他类型的合同项目。合同结束了,没有搭建新的系统,也没有往应用程序添加新的代码。没有报告,很难向别人解释他们刚买的什么东西。
报告给谁看?
至少有三种类型的人会阅读你的报告:高级管理人员,IT管理和IT技术人员。
高级管理人员根本不关心,或者压根不明白它的意思,如果支付服务器使用SSL v2加密连接。他们想知道的答案是“我们现在到底安不安全?”
IT管理对该组织的整体安全性感兴趣,同时也希望确保其特定的部门在测试过程中都没有发现任何重大问题。我记得给三个IT经理一份特别详细的报告。阅读这份报告后有两个人脸色变得苍白,而第三个人笑着说“太好了,没有数据库的安全问题”。
IT人员是负责修复测试过程中发现的问题的人。他们想知道三件事:受影响系统的名称,该漏洞的严重程度以及如何解决它。他们也希望这些信息以一种清晰而且有组织的方式呈现给他们。最好的方法是将这些信息以资产和严重程度来进行划分。例如“服务器A”存在“漏洞X,Y和Z,漏洞Y是最关键的。这样IT人员就可以快速的找到问题的关键,及时修复。
当然,你可以问你的客户是否愿意对漏洞分组。毕竟测试是为了他们的利益,他们是付钱的人!一些客户喜欢有个详细说明每个漏洞的页面,并表明受漏洞影响的资产有哪些。
虽然我已经提到了渗透测试报告三种最常见的读者,但这并不是一个详尽的清单。一旦报告交付给客户,取决于他们用它干什么。它可能最终被提交给审计人员作为审计的证据。它可以通过销售团队呈现给潜在客户。“任何人都可以说自己的产品是安全的,但他们可以证明这一点?我们可以看看这里的渗透测试报告。“
报告甚至可能最终共享给整个组织。这听起来很疯狂,但它确实发生过。我执行一次社会工程学测试,其结果低于客户的期望。被触怒的CEO将报告传递给整个组织,作为提高防范社会工程攻击意识的一种方式。更有趣的是,几周后当我访问同一个公司做一些安全意识的培训。我在自我介绍时说,我就是之前那个负责社工测试的人。愤怒的目光,嘲讽的语气,埋怨我给他们所有人带来多少麻烦。我的内心毫无波动,答道:“把密码给我总比给真正的黑客好。”
报告应该包含什么?
有时候你会很幸运的看到,客户在项目计划之初就表明他们想要的报告内容。甚至有一些更为细小的要求,比如,字体大小和线间距等。但是这只是少数,大部分客户还是不知道最终要什么结果,所以下面给出一般报告的撰写程序。
封面
封面是报告的第一面窗户,封面页上包含的细节可以不那么明显。但是测试公司的名称、标志以及客户的名称应该突出显示。诸如“内部网络扫描”或“DMZ测试”测试标题也应该在那里,对于相同的客户执行多个测试时,可以避免混淆。测试时间也要写上,随着时间的推移,用户可以清楚的得知他们的安全状况是否得到了改善。另外该封面还应包含文档的密级,并与客户商定如何保密好这份商业上的敏感文件。
内容提要
我见过一些简直像短篇小说一样的内容提要,其实这部分一般要限制在一页纸以内。不要提及任何特定的工具、技术,因为客户根本不在乎,他们只需要知道的是你做了什么,发现了什么,接下来要发生什么,为什么,执行摘要的最后一行应该是一个结论,即明确指出是该系统是安全还是不安全。
举个例子:
一个糟糕的总结:“总之,我们发现一些地方的安全策略运作良好,但有些地方并未遵从。这导致了一定风险,但并不是致命风险。”
一个优秀的总结:“总之,我们发现了某些地方没有遵守安全策略,这给组织带来了一个风险,因此我们必须声明该系统是不安全的。”
漏洞总结
将漏洞列表放在一个页面上,这样,IT经理便可以一目了然的知道接下来要做什么。具体怎样表现出来,形式多样,你可以使用花哨的图形(像表格或图表),只要清晰明了就行。漏洞可以按类别(例如软件问题,网络设备配置,密码策略)进行分组,严重程度或CVSS评分——方法很多,只要工作做得好,很容易理解。
测试团队的详细信息
记录测试过程中所涉及的每一个测试人员的名字,这是一个基本的礼节问题,让客户知道是谁在测试他们的网络,并提供****,以便后续报告中问题讨论。一些客户和测试公司也喜欢依据测试的内容向不同的测试小组分配任务。多一双眼睛,可以从不同的角度查看系统的问题。
工具列表
包括版本和功能的简要描述。这点会涉及到可重复性。如果有人要准确复现您的测试,他们需要确切地知道您使用的工具。
工作范围
事先已经同意,转载作为参考是有用的。
报告主体
这部分才是报告的精华,报告的正文应包括所有检测到的漏洞细节,如何发现漏洞,如何利用漏洞,以及漏洞利用的可能性。无论你做的是什么,都要保证给出一个清晰的解释。我看过无数份报告,都是简单的复制粘贴漏洞扫描的结果,这是不对的。另外报告中还应包括切实贴合的修复建议。
最终交付
在任何情况下任何一份报告应该加密传输。这虽然是常识,但往往大家就会摔倒在最后的这环上。
以上就是关于IT里学软件测试怎么样全部的内容,包括:IT里学软件测试怎么样、什么是第三方检测报告、北京IT培训分享软件测试职业发展方向等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)