- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自动化测试框架的实现背景为什么要做自动化测试?提高测试效率和降低测试成本实现快速的回归测试,加快测试进度从而加快产品发布进度更多的测试,提高测试覆盖率提高测试的可靠性,避免人为因素为什么要做自动化测试框架实现自动化就是为了能够提升测试效率,不具备可维护性、复用性差将成为告知自动化测试失败的最致命因素,付出巨大代价但起到的效果甚微。基于以上因素并结合行业发展思路,在正式实施自动化之前,必须搭建一套适合的自动化测试框架,将脚本能够有效的组织、连贯应用起来,提高测试脚本的可维护性和可读性。实现思路分层设计进行测试的时候,首先保证基本功能点走通,验证页面功能点,然后测试系统流程的正确性,最后保证符合系统满足业务要求。对于自动化脚本,采用分层的思想,先实现最底层的操作组件,通过调用操作组件进行组合,实现对业务流程的验证。不同的业务流程,对于底层的操作组件是可以复用的,只是调用的业务逻辑的差异,或者是测试数据的差异性。例如,可以将摸个模块的增加操作作为一个底层的操作组件,实现流程测试的时候,可以将这些操作组件组合起来。 尽可能做到各脚本之间具备独立性,不相互依赖,便于进行各种基本场景的组合运行。脚本分离设计对某个功能进行自动化测试,实际上就是对这个功能涉及的对象进行操作,输入测试数据来验证其结果的正确性,复杂的验证点需要编写业务逻辑。如果全部用脚本的方式编写,针对每一条测试数据就需要编写一份脚本,脚本量相当巨大,同时任何改动(程序、测试用例、GUI对象)都需要调整大量的脚本。 为了达到可维护性、可复用性,将对象、操作、测试数据、业务逻辑剥离、分开管理,通过调用关系去组合实现不同的测试用例。封装基础函数、基本的业务逻辑通过对基本业务逻辑的封装、调用,实现快速的脚本开发,如每个脚本都需要连接数据库,或读取CSV,或给出测试报告,这些基础函数,可以封装起来,不同的页面需要调用的时候,只需要传入这个页面相应的对象名称,调用封装的函数执行即可。可以大大减少脚本量,也更易于维护。又如一个模块不同页面,都包含增删改查,可以将这些基本的业务逻辑封装起来,脚本中重复调用的时候,也是可以调用对象名,实现重复的操作,这样可以大大减少脚本量,也更易于维护。执行体系 有效的执行体系可以批量、定制执行、自动运行,自动化测试真正达到提升测试效率,需要实现无人的情况下批量自动执行,并且可以定制执行。异常处理脚本执行过程中,因程序错误或环境问题、脚本自身问题经常会出现非预期的错误:如意料外的弹出窗口、发现错误的数据、未找到对象等,有些情况下当前用例出错,并不影响后续用例的执行,需要支持异常处理机制,终止执行或者终止当前用例,继续后续用例的执行,亦或者跳过当前步骤,继续执行后续操作,并输出当前的错误报告。数据还原自动化测试执行后,需要不断循环,执行测试后,应该将测试数据删除,恢复到初始状态,不影响接下来的测试工作。脚本管理 自动化脚本比较多,需要进行脚本管理,随着版本的更新,自动化脚本也需要不断的增加和更新,这样需要对脚本进行管理。测试数据调用由于自动化测试需要反复执行,调用大量的测试数据,通过读取CSV的方式,批量的调用测试数据,从而实现数据的参数化。结果体系针对每个测试用例,输出测试用例内容和执行结果,也可以考虑输出执行日志,从而能更详细的看到执行过程三、自动化测试框架模型流程1.eclipse来写测试代码2.提交 svn(测试代码check,可选)3.hudson会检测(svn是否有更新),检测到更新就通过同步更新到其它slave机器(也可以每天定时执行)。4.maven执行test5.grid把test分发到各个slave测试机(有不同的浏览器).6.报告显示在指定的html页面,包括测试用例,测试结果,测试时间等信息。机器部署支持的系统平台和浏览器 四、编写测试代码1. 用firefox中的selenium IDE录制最初的脚本,然后导出为JAVA代码,在Junit里进行进一步的开发;2.编写代码 打开测试站点public void setUp() throws Exception { // 打开测试站点 addr代表服务器地址 port代表端口号 browser代表服务器 web代表测试站点地址 selenium = new DefaultSelenium(“addr, port, “browser, “web); // 打开测试站点 selenium.start(); }Case:测试搜索功能,打开网站,输入hello,点击搜索,验证打开页面标题是否正确。Public void testHello() throws Exception { selenium.open(/); selenium.click(kw); selenium.type(kw, hel
您可能关注的文档
最近下载
- (正式版)H-Y-T 203.2-2016 海水利用术语 第2部分:海水淡化技术(正式版).docx VIP
- 2025年江苏专转本土木建筑类理论实操真题答案汇总.docx VIP
- 牛津上海版小学英语4年级上册 Module 4 Unit 2 At century park 公开课PPT课件5.pptx VIP
- 质量管理体系成熟度评分指南.pdf VIP
- 跨越公路施工方案.doc VIP
- 尺神经肌下前置术.ppt VIP
- GB_T50095-2014:水文基本术语和符号标准.pdf VIP
- 洗涤服务廉洁协议书.docx VIP
- 大连理工大学23春“计算机科学与技术”《Java程序设计》考试历年真题选编附答案.docx VIP
- 煤直接液化技术精讲.ppt
原创力文档


文档评论(0)