自动化测试培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

AutomationTestTraining刘万红2015-08-15课程安排时间安排课程内容2015/08/229:30am—12:00am测试流程SecurityTesting2015/08/2213:00pm—18:00pm自动化测试理论Seleniumwebdriver2015/08/239:30am—12:00am自动化测试框架搭建2015/08/2313:00pm—18:00pm自动化测试框架使用目标一本次培训目标:了解Selenium基本框架结构具备自动化测试思想会搭建自动化测试环境了解selenium常用API了解自动化测试开展过程中的注意事项目标二能够在原有框架基础上进行二次开发(框架升级维护和使用)具备安全性测试思想了解常见安全性问题类型原理会使用APPScan进行代码扫描并提交分析报告测试管理流程Q/A大纲一自动化测试行业现状自动化测试投入产出分析什么时候开展自动化测试自动化测试最新的发展技术自动化测试工具比较自动化测试环境搭建Selenium框架介绍Xpath基础介绍大纲二小工具介绍Firebug/xpather/iedeveloperSelenium常用API现有框架详细解析自动化测试开展过程中的注意事项实战-搭建本公司自动化测试框架安全性测试介绍APPScan使用介绍测试管理流程测试流程发布流程:FAT---UAT---点火堡垒测试(smoking)---Baking(灰度)---Rolling(Prod)质量报告SecurityTestTraining2014重大安全事故2014年2月比特币交易站受攻击破产2014年4月中国快递1400万信息泄露2014年5月22日,eBay要求近1.28亿活跃用户全部重新设置2014年9月,大约有500万谷歌的账户和密码的数据库被泄露密2014年12月25日,乌云漏洞报告平台报告称,大量12306用户数据在互联网疯传,内容包括用户帐号、明文密码、身份证号码、手机号码和电子邮箱等码安全测试测试经理以及领导对安全测试要足够重视安全测试也要有测试计划安全测试是一个体系,需要从需求/设计/开发规范/编码到测试一起努力。从测试的角度,必须有部分手工安全性验证的case,有必要在发布之前建立安全checklist代码扫描只是安全测试的一部分工作开发团队要有专人解决安全性问题安全测试case分层从测试工程师角度去设计Testcase:应用程序安全测试(密码/权限划分/超时/代码扫描)操作系统安全测试(帐号/文件服务/日志)数据库安全测试(账户/口令/IP限制/定期备份/演练方案)服务器安全测试(日志/补丁/身份验证/超时设置/跳板机)网络环境安全测试(防火墙/网段/异地备份)安全性测试常见安全问题类型CSRF(Cross-siterequestforgery),跨站请求伪造XSS又叫CSS(CrossSiteScript),跨站脚本攻击SQLInjection(SQL注入)传输中与存储时的密码没有加密,不安全的通信目录遍历缓冲区溢出CSRF跨站请求伪造(英语:Cross-siterequestforgery),也被称为one-clickattack或者sessionriding,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF利用的是网站对用户网页浏览器的信任敏感页面要采用https访问不要选择记住密码XSSXSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。最常见就是钓鱼网站(在有漏洞的正规网站上嵌入登陆框套取账户和密码)测试方法:在输入框中输入下列字符,可直接输入脚本来看HTML标签:……/…转义字符:&(&);<();>(); (空格);脚本语言:scriptalert(document.cookie);/script特殊字符:‘’/最小和最大的长度是否允许空输入对Grid、Label、Treeview类的输入框未作验证,输入的内容会按照html语法解析出来,要控制脚本注入的语法要素。比如:javascript离不开:“”、“”、“(”、“)”、“;”.在输入或输出时对其进行字符过滤或转义处理SQLInjectionSQL注入是描述一个利用写入特殊SQL程序码攻击应用程序的动作,用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据.只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入例:一个验证用户登陆的页面,如果使用的sql语句为:Select*fromtableAwhereusername=’’+username+’’andpassword…..则在Sql语句后面输入‘or1=1――就可以不输入任何password进行攻击SELECTcount(*)FROMusersWHEREusername='a'or'a'='a'ANDpassword='a'or'a'='a'解决方案:1、转义敏感字符及字符串,SQL的敏感字符包括:”Union”,”cmd”,”+”,”//”,”..”,”;”,”‘”,”--”,”%”,”0x”,”=!-*/()|”,和”空格”.2、屏蔽出错信息:阻止攻击者知道攻击的结果3、在服务端正式处理之前提交数据的合法性(数据类型,数据长度,敏感字符的校验)从测试人员的角度来讲,在程序开发前(即需求阶段),我们就应该有意识的将安全性检查应用到需求测试中,例如对一个表单需求进行检查时,我们一般检验以下几项安全性问题:1、需求中应说明表单中某一FIELD的类型,长度,以及取值范围(主要作用就是禁止输入敏感字符)2、需求中应说明如果超出表单规定的类型,长度,以及取值范围的,应用程序应给出不包含任何代码或数据库信息的错误提示.目录遍历举例:=MyFolder那现在把这个URL改装一下:里的所有文件都出来了解决方案:1、限制Web应用在服务器上的运行,格设定WEB服务器的目录访问权限2、进行严格的输入验证,控制用户输入非法路径,如在每个目录访问时有index.htm缓冲区溢出缓存溢出(Bufferoverflow)是指在存在缓存溢出安全漏洞的计算机中,攻击者可以用超出常规长度的字符数来填满一个域,通常是内存区地址。在某些情况下,这些过量的字符能够作为“可执行”代码来运行。从而使得攻击者可以不受安全措施的约束来控制被攻击的计算机。用户使用缓冲区溢出来破坏web应用程序的栈,通过发送特别编写的代码到web程序中,攻击者可以让web应用程序来执行任意代码WEB服务器没有对用户提交的超长请求没有进行合适的处理,这种请求可能包括超长URL,超长HTTPHeader域,或者是其它超长的数据不安全的存储/上传没有做过滤如何测试:没有加密关键数据例:view-source:http地址可以查看源代码在页面输入密码,页面显示的是*****,右键,查看源不恰当的异常处理分析:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞,文件就可以看见刚才输入的密码,APPScan配置要求IBMAPPScanAPPScan安装破解由于新版7.8以前的产品的旧格式(.lic)许可证可以继续用于新版本的APPSCAN所以可以使用以下方法进行破解。解压AppScan7.8破解.rar你会看到:patch.exekeygen.exe如果没有看到keygen.exe那肯定被你的杀毒软件给干了.解压之前一定要关掉所有杀毒的(包括关闭自动防护).第一步:打开patch.exe---patch---Cannotfindthefile.Searchthefile?---是---(AppScan安装目录下)选中engine_control.dll---OK第二步:打开keygen.exe---在第一个框TeamEDGE输入随便输入如:keygen---Generate---当前目录生成license.lic第三步:将自动生成的license.lic复制到APPSCAN的安装目录下。第四步:打开APPSCAN程序,单击帮助---许可证---装入旧格式(.lic)许可证APPScan扫描原理一APPScan扫描原理二执行扫描的原理APPScan工作流程APPScan工作流程界面介绍实例1实例2实例3实例4实例5在执行Web安全扫描任务的过程中,您可以随时查看已经检测出的Web安全问题。扫描专家评估完成后,会显示所建议的配置更改核实表。这里要注意的是:如果存在用户输入的APPSCAN无法执行的更改,那么它们的复选框会显示成灰色且为未选中状态,如果要修改这些更改,单击更改的链接实例6实例7实例8AutomationTestTraining自动化测试项目要素投入产出迭代速度工具选择环境搭建代码管理开发周期难点解决后期维护自动化测试工作开展如何在项目中快速开展自动化测试?团队(知识结构,性格,职业发展)Troubleshooter,Teamlead流程(目标,代码,环境)为什么目标很重要?技术(语言,框架,工具)如何选择?自动化测试工具Watij/Selenium/WebdirverQTP/Winrunner/AutorunnerRobotiumAppiumLoadrunnerUI自动化API自动化Mobile自动化分层自动化概念:UI自动化测试工具比较Watij:开源,只支持IE浏览器,对象识别完全开发,只自持B/S结构,上手需要一定代码基础QTP:商用,单机license5000美金,Vbscript语言,可以录制,支持IE和firefox,上手容易,支持CS结构。但是对象识别不透明,脚本复用性差Webdirver:开源,支持IE/Firefox/Chrome浏览器,对象识别完全开发,只支持B/S结构,需要一定代码基础Selenium自学的迷惑selenium的projects包含如下几个方面:1.SeleniumIDE、2.SeleniumRemoteControl、3.SeleniumGrid、4.SeleniumWebDriver1.SeleniumIDE作为Firefox上的一个插件,提供录制功能,个人观点,如果能手写代码,就不要用这个东西。2.SeleniumRemoteControl是一个客户端/服务器系统,可以在本地或在其他电脑上控制Web浏览器,使用几乎任何编程语言和测试框架。3.SeleniumGrid可以远程的控制到并在多个服务器上同时运行测试4.SeleniumWebDriver可以在本地或远程计算机上的驱动浏览器初识Webdriver自动化测试思想Case层:Case层是一个个完整的测试案例,是自动化测试中最小的执行单元;Flow层:Flow层是对测试所执行的操作的抽象,每一个测试案例都是由一系列的测试操作组合而成,Flow层为Case层提供了可组合的操作集;Page层:Page层是对系统中页面的抽象,Flow层是一系列对于页面或者页面上数据的操作的组合。Page层为Flow层提供了可操作的页面集合;Data层:Data层是对页面上可操作的数据的抽象,为Flow层提供了页

1 / 80
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功