不论是在智能化试验课堂教学,却是日常生活沟通交流中,时常听见两个词:架构。以后自学智能化试验的操作过程中,始终对“架构”那个词索韦泰Churu。
前段时间看了许多智能化有关的数据资料,加之他们的许多课堂教学,称得上对“架构”有了一些认知,这篇文就谈谈智能化架构的许多事吧。
01
甚么是架构
架构(framework)是两个套套—指其硬性,也是两个门边—指其支撑力性。是两个基本原理上的内部结构,用作去化解或是处置繁杂的难题。
在计算机科学中,架构(Framework)是整座或部份控制系统的可宠信内部结构设计,整体表现为几组抽象化梁柱及梁柱示例间可视化的方式;
另一类表述指出,架构是可被应用领域开发人员订制的应用领域金属内部结构,前者从应用领域各方面而前者从目地各方面得出的表述。
——腾讯新浪网
下面的基本概念较为抽象化,换另两个视角说明:
架构这类通常不完备到能化解某一难题;
架构与生俱来是为扩充而内部结构设计的;
架构里头能为先期扩充的模块提供更多许多临时性、支撑力性的方便快捷功能强大的辅助工具,换句话说架构是基础建设了许多协助化解通常而言难题的库(libraries)或辅助工具(tools)。
硬性:针对化解某一难题的软件架构会首先表述难题的边界,进而将有关的软件模块约束在那个边界内,保持架构在化解难题各方面上的内聚性。
支撑力性:架构这类不化解甚么难题,但给了化解难题的有关模块两个组合底子,那个底子的科学性和功能强大性直接影响在此之上进一步开发的科学性和方便快捷性。
——知乎
下面的2个对架构的说明和表述,看起来也并没有很简单直白的说清楚甚么是架构,下面是我的许多认知:
02
智能化试验
1、为甚么要进行智能化试验?
黑盒试验回归效率低
手动试验的偶然性和不确定性
回归的覆盖率不足
交付的产品质量无法保证,全靠评估
控制系统越繁杂,难题越多
上线时间长、梁柱失败率高导致的蝴蝶效应(迭代快,加班多)
2、智能化试验能化解甚么难题?
提高出现难题后的响应速率
降低回归成本
提高回归覆盖率
提高回归效率
提高回归的稳定性
3、智能化试验的不足有哪些?
无法减少成本投入,而是为了加快试验结果反馈,提升试验质量
智能化适用作回归和冒烟,而不是发现BUG
录制回放功能是鸡肋,可视化并不是两个很好的做法
不是所有所有控制系统所有功能都适合做智能化试验
03
智能化试验架构
构成架构的模块,最起码应该具备以下的功能:
Log:日志记录和管理功能,针对不同的情况,设置不同的日志级别,方便快捷定位难题;
Report:试验报告生成和管理以及即时通知,试验结果快速响应;
Source:配置文件、静态资源的管理,遵循高内聚低耦合原则;
Common:公共函数、方式以及通用操作的管理,遵循高内聚低耦合原则;
TestCase:试验用例管理功能,一个功能点对应两个或是多个case,尽可能的提高覆盖率;
TestData:试验数据管理功能,数据与脚本分离,降低维护成本,提高可移植性;
TestSuite:试验模块管理功能,针对不同场景不同需求,组装构建不同的试验架构,遵循架构的灵活性和扩充性;
Statistics:试验结果统计管理功能,每次执行试验的结果统计、分析、对比以及反馈,数据驱动,为软件优化和流程改进,提供更多参考;
Continuous:持续集成环境,即CI环境,包括试验文件提交、扫描编译、执行试验、生成报告及时通知等功能,持续集成是智能化试验的核心!
04
常见的智能化试验架构
1、接口智能化架构:
2、UI智能化试验架构
通过下面的许多常见架构,你发现了甚么?
它们都拥有共同特性:编程语言+单元试验架构+扫描编译辅助工具+持续集成辅助工具+数据库+项目管理辅助工具。
编程语言:编写试验脚本、日志记录和输出;
单元试验架构:提供更多试验脚本运行、异常校验等许多列的配置;
扫描编译辅助工具:试验文件扫描编译,通常配合持续集成辅助工具使用效果更佳;
持续集成辅助工具:Jenkins,经典的持续集成辅助工具;
数据库:试验数据管理;
项目管理辅助工具:试验结果统计管理;
PS:智能化试验辅助工具太多,下面只是列举了使用率较高以及我个人还算了解的许多开源辅助工具,具体的架构选型,需要根据具体项目特点和团队、个人技术特点来决定!
2022年,我们一起加油(班)!
往期推荐
空降的大厂 CTO,半年内成功把团队带垮了!
程序员床上二三事 …
“阿里味” PUA 编程语言,火上GitHub热榜,标星2.7K!
长按进入小程序,进行打卡签到 小程序送书福利更新啦! (更多精彩值得期待……) 2“在看”点一点
知足常乐