自动化测试框架该如何搭建?

2023-06-10 0 595

序言

最近好些爸爸妈妈都在说USB智能化试验,那么究竟什么是USB智能化试验呢?让他们一起往上看就知道了,首先他们得先搞清楚下面这个问题。

为什么要做(智能化)USB试验?

1、由于那时各个控制系统的维数不断上升,导致传统的试验方法成本增加且试验工作效率大幅下降,而USB试验相对于UI试验更加稳定,且相对容易同时实现智能化持续软件系统,能减少育苗重回试验的时间成本,延长试验周期性。

2、USB试验能更早的跟进到项目开发中,一般只要USB定义好了,就能写标识符了。而功能试验必须要等控制系统提供补集的介面后才能展开。

3、相对于UI试验(某些试验环境搞起来贼麻烦事)而言,USB试验能更简单全面性地全面覆盖到下层的标识符方法论,从而发现一些暗藏bug。

4、从安全可靠微观而言,那时大部分控制系统前后端架构是分立的,只倚赖后端展开限制已经不能满足控制系统的安全可靠明确要求,须要后端同步展开控制,所以试验也须要从USB微观展开校正。

5.越来越多的项目组开始转交DevOps所倡导的高度协作,研制、试验、网络管理及交货协同发展的观念,对试验工作效率提出了更高的明确要求。

USB试验基本原理

演示应用程序向伺服器端允诺,伺服器转交后展开处理并向应用程序回到响铃,应用程序再转交响铃的过程。

试验范围

销售业务功能(包括正常、极度情景与否同时实现)销售业务准则(叶黄杨与否全面性)模块校正(边界线、销售业务准则与否达到明确要求)极度情景(多次重复递交、mammalian递交、外交事务受阻、多机环境、大信息量试验)操控性试验(响应时间、客运量、mammalian数、资源明确要求)安全可靠试验(职权校正、SQL转化成等)

一、智能化试验架构规划路子

1.选择语言

pythonjava

他们擅于别的选别的,所推荐python

2.程式设计工具THF1

pycharmvscode

他们擅于别的选别的

3.试验框架THF1

unittest —python便携式的试验架构pytest —unittest改良版,所推荐httprunnerrf架构 —URL

4.报告建模方案THF1

htmltestrunnerbeautifulreportallure

5.持续软件系统方案

jenkins

6.仓库伺服器THF1

github —伺服器在国外gitlabgitee

7.试验管理工具THF1

禅道jira

USB智能化试验架构的构筑一般有两种路子:

1.基于工具的

例如:Postman+Newman+Jenkins+Git/svn Jmeter+Ant+Jenkins+Git/svn

2.基于标识符的

例如:Python+Requests+Pytest+Allure

个人建议:如果是学习阶段,选择基于标识符的模式,通过他们一步一步的规划项目、编写标识符,能更好的理解USB智能化的同时实现基本原理,之后再学习一些工具会更得心应手。

我这里选择的是: Python+pycharm+pytest+allure+gitlab+jira

规划好方案后就能创建他们的项目标识符工程了(能与编写试验用例并行,须要提前约定好试验用例的格式,方便后续标识符设计)。

二、项目标识符工程构建路子

设计架构的原则:

封装基类方法

   对于一些较通用的方法,能封装,比如发送允诺、增、删、改、查。

高内聚低耦合

   每个模块尽可能独立完成他们的功能,不倚赖于模块外部的标识符。

模块与模块之间USB的复杂程度尽量低,比如在类内部尽可能减少方法之间的调用,否则一个方法的变动会影响调用它的另一个方法。

脚本分立

销售业务标识符、试验数据应该相互剥离、灵活调用。理念类似初识PO模式并在Selenium中简单实践中的PO设计模式。标识符中应该不出现具体的数据、配置。而是调用对应的数据文件。

三、一个比较完善的项目标识符工程结构:

common #包文件,公共模块,存放一些通用方法 baseapi.py class BaseApi()#基类 方法1:发送允诺 方法2:增 方法3:删 方法4:改 方法5:查 libs #包文件,存放销售业务层标识符 login.py #登陆模块 class Login(BaseApi) #继承基类里的BaseApi 方法1:发送登陆允诺 方法2:发送登出允诺 logout.py #登出模块 class Logout(BaseApi) configs #包文件,存放配置 config.py HOST=xxx#用于切换试验环境 url=xxx datas #文件夹,存放数据/试验用例 xxx.xls xxx.yaml testCase #包文件,存放试验用例标识符,注意符合pytest命名规范 test_login.py class Test_login 方法1test_login01 方法2test_login02 test_logout.py class Test_logout 方法1test_logout01 方法2test_logout02 outFiles #文件夹,输出文件 logs #存放log文件 report #存放报告 screenShot #存放截图 tools #包文件,工具类 handle_data.py handle_excel.py handle_path.py handle_yaml.py docs #文件夹,存放说明类文档 标识符规范.doc 需求文档.doc

架构构筑:

自动化测试框架该如何搭建?

四、后续标识符编写路子:

架构写好后的标识符编写路子,大体上为

1.基类封装,把一些常用的方法比如发送允诺、增、删、改、查放到他们的基类里。

2.编写销售业务层的USB标识符

3.编写试验用例标识符,过程中发现缺什么就去写什么方法,思考这个方法应该放在具体销售业务内还是基类还是tools内,这个过程是对标识符不断优化的过程。直到他们的用例标识符写完。

比如,写试验用例标识符过程中须要读取yaml文件,就在tools内加一个get_yml_data的方法再比如,两个销售业务模块之间须要关联,须要A方法回到对象给B方法用,则去优化A方法,给出回到值。再再比如,一些关键节点须要截图,则去补充截图的方法。

下面是一份非常优质的学习资源,对于做【软件试验】的朋友而言应该是最全面性最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

自动化测试框架该如何搭建?

这还有一份216页软件试验工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序基本原理、Mysql数据库、抓包工具专题、USB试验工具、试验进阶-Python程式设计、Web智能化试验、APP智能化试验、USB智能化试验、试验高级持续软件系统、试验架构开发试验架构、操控性试验、安全可靠试验等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。

结语

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务