电商网站的制作,外贸网站建设公司效果,广告制作费和广告服务费区别,嘉峪关市建设局网站#x1f345; 点击文末小卡片#xff0c;免费获取软件测试全套资料#xff0c;资料在手#xff0c;涨薪更快 最近很多小伙伴问我自动化测试到底该怎么做#xff1f;流程是什么样的#xff1f;在每个阶段都需要注意什么#xff1f;本文也就主要从自动化测试的基本流程入手…点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快最近很多小伙伴问我自动化测试到底该怎么做流程是什么样的在每个阶段都需要注意什么本文也就主要从自动化测试的基本流程入手对面试自动化测试工程师的同学会有不少帮助。对于在职的朋友也可以参考此流程推进自己项目的自动化测试。今天就通过这篇文章给大家深度解析一下自动化测试的流程。自动化测试的流程和功能测试其实挺相似的整个流程也是按照需求分析及测试计划阶段、测试设计阶段、测试执行和测试总结阶段总结下来就是下面一张图ppt中纯手绘效果不好大家见谅一、测试需求分析及计划阶段自动化测试是要在手工测试之后进行的也就是回归测试阶段这时候其实是已经具备完善的功能测试用例啦并且经过前期功能测试系统版本也已经比较稳定啦这就具备了自动化测试的必要条件下面需要完成几个小任务1、抽样分析项目自动化测试的可行性在进行项目自动化测试之前第一步就是要确认其可行性是否可以实行测试自动化。如果项目时间紧迫、项目周期短、项目需求变幻无常则建议和上级领导商议不要开展自动化测试。想要开展自动化测试还是应该遵循以下几个前提条件软件需求变动不频繁项目周期足够长自动化测试脚本可重复使用通过可行性分析后接下来需要做一个demo 使用选定的框架尝试识别页面元素运行简易脚本如果没问题即可采用该框架对该项目进行自动化测试常见的需要的验证的环境有WEB端的自动化测试采用pythonseleniumunittest框架是否可行App端自动化测试采用JavaAppiumJunit框架是否可行2、测试需求分析对系统的功能需求进行再次梳理划分出可以进行自动化测试的需求划分的标准一般是简单、重复性高、业务复杂度低的需求这样便于我们快速地实现一个版本从而建立推进自动化的信心。相反选择了业务复杂的需求则会花费大量的时间在脚本制作上并且各种异常情况的处理会严重打击我们推进自动化测试的积极性和信心最后也就丧失了我们做自动化的初衷自动化测试是不需要也没有必要做到 100%覆盖率的。所以在测试需求分析这个阶段确定测试覆盖率以及自动化测试粒度、测试用例上的筛选等都是重点工作。3、制定测试计划理想情况下测试始于测试目标和测试策略的建立测试策略应满足测试目标的要求。管理层的测试计划包括评估完成所有测试活动的时间测试活动安排及资源分配控制测试过程以及跟踪整个测试过程所需采取的活动这些高层次活动应该在项目开始前就实施并贯穿项目的整个开发过程。测试计划是测试过程中最重要的活动包括如下活动准入准出原则确定什么时候可以开展自动化达到什么标准自动化项目可以结束测试范围鉴别和确定测试需求的优先级进度安排在什么时间交付什么成果人员安排根据团队成员情况技术好的复杂脚本实现业务能力强的进行功能步骤拆解等风险评估对项目过程中的风险进行预估二、测试设计、开发阶段本阶段主要的工作是测试用例的设计及脚本开发一般情况下我们是先进行测试用例的设计在通过评定之后保证测试用例已经覆盖了需求之后再进行测试脚本的开发这种方式是经过实践验证的最为理想的做法。1、测试用例设计前面已经提到过自动化测试用例不必从0开始是完全可以从功能测试用例通过筛选、简单修改就可以直接拿来用的主要步骤为筛选功能测试用例将其转化为自动化用例模板补充、修改不适于自动化的用例持续维护和优化自动化用例筛选功能测试用例的标准参考如下不是所有的手工测试用例都要转为自动化测试用例考虑到脚本开发的成本不要选择流程太复杂的用例选择的用例最好可以构建成场景选取的用例可以是你认为是重复执行很繁琐的部分选取的用例可以是主体流程这部分适用于冒烟测试在设计补充、修改自动化测试用例过程需要遵循的原则一个用例为一个完整的场景从用户登录系统到最终退出并关闭浏览器一个用例只验证一个功能点不要试图在用户登录后把所有的功能都验证一遍尽可能少的编写逆向测试用例。用例和用例之间尽量避免产生依赖一条用例完成测试之后需要对测试场景进行还原以免影响其它用例的执行2、测试脚本开发测试脚本开发包括创建具有可维护性、可重用性、简单性、健壮性的测试程序。同时要注意确保自动测试开发的结构化和一致性。根据已经开发好的测试用例编写各个功能点的自动化测试脚本并添加检查点进行参数化。该过程还需要编写数据文件处理脚本、日志文件处理脚本、数据库处理脚本、公共检查点处理脚本等。在脚本开发中常见的模型有线性模型是我们开发脚本的基础模块化驱动测试需要将一些功能模块独立出来便于维护和调用数据驱动测试关键字驱动测试为了更好地团队合作进行自动化测试我们需要对项目进行分层管理可以根据需要划分公共模块部分、测试用例、测试数据、测试报告、测试日志等并提供执行主模块。其中公共模块可以包括日志模块邮件发送模块公共登录、退出模块、数据库操作模块等主要是便于测试用例中调用。执行主模块主要负责所有测试用例调度的可以参考如下代码import unittest import time from HTMLTestRunner import HTMLTestRunner from public.mailsend1 import mailsend from public.Loginmodel import verylogin,veryLogout import os if __name____main__: path1 os.path.dirname(__file__)r/test_cases/ path2 os.path.dirname(__file__)r/test_report/ send mailsend() discover unittest.defaultTestLoader.discover(path1,patternveryReg*.py) filename1 time.strftime(%Y-%m-%d-%H-%M-%S) filename2 filename1r.html filename path2filename2 with open(filename,wb) as f: runner HTMLTestRunner(streamf,title测试结果,description第一轮测试结果) runner.run(discover) time.sleep(3) send.sendFujian(filename1)最后为了生产一个可视化报告我们可以选择二次开发的HTML格式报告三、测试执行阶段随着测试计划的建立和测试环境的搭建完毕按照测试程序进度安排执行测试可以通过手动或自动或半手动半自动方式执行它们各自可以发现不同类型的错误。测试执行结束后需要对测试结果进行比较、分析以及结果验证得出测试报告包括总结性报告和详细报告。如果脚本已经稳定可以采用Jenkins工具进行持续集成最终实现无人值守测试集成方式四、测试总结阶段对测试结果文件中报告错误的记录进行分析如果确实是由于被测系统的缺陷导致则提交缺陷报告。对自动化测试的结果进行总结分析系统存在的问题并提交《测试报告》。五、总结一下1、自动化测试的局限性对于自动化测试来说不同的层次有不同的效率项目中需要慎重考虑选择按照测试金字塔模型以及投入/产出比越向下回报率越高。单元自动化测试数据处理层指对软件中最小的可测试单元进行检查和验证一般需要借助单元测试框架如java的Junit、TestNGpython的unittest、pytest接口自动化测试业务逻辑层主要检查验证模块间的调用返回以及不同系统、服务间的数据交换常见的接口测试工具有postman、jmeter、loadrunner等UI自动化测试GUI界面层UI层是用户使用产品的入口所有功能通过这一层提供给用户测试工作大多集中在这一层常见的测试工具有UFT、Robot Framework、Selenium、Appium等以自动化测试行业领军者Google的自动化测试投入不难看出那个梗有钱图小测试Unit占比70%中测试Service占比20%大测试UI占比10%自动化测试面临的最大挑战就是变化因为变化会导致测试用例运行失败所以需要对自动化脚本不断debug如何控制成本、降低成本是对自动化测试工具以及人员能力的挑战。2、如何推进实施自动化测试自动化测试是现在企业中级测试工程师所要求的基本技能如果想在软件测试行业具备核心竞争力就需要在这方面下点功夫希望对面试自动化测试工程师的同学提供面试时候的思路。对于在职的朋友提供推进自己项目的自动化测试的方法。好了就先写到这里文中还有很多不足之处在后续持续维护更新。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。