不论是在智能化试验课堂教学,还是日常生活沟通交流中,时常听见两个词:架构。以后自学智能化试验的过程中,一直对“架构”那个词索韦泰Churu。
前段时间看了许多智能化有关的数据资料,加之自己的许多课堂教学,称得上对“架构”有了一些认知,这篇文就谈谈智能化架构的许多事吧。
01甚么是架构
架构(framework)是两个套套—指其硬性,也是两个门边—指其支撑力性。是两个基本原理上的结构,用作去化解或者处置繁杂的难题。
在应用计算机科学中,架构(Framework)是整个或部分系统的可宠信结构设计,表现为几组抽象化梁柱及梁柱示例间可视化的方法;
另一种表述认为,架构是可被应用领域合作开发人员订制的应用领域金属结构,前者从应用领域各方面而前者从目地各方面得出的表述。
—— 腾讯新浪网
下面的基本概念比较抽象化,换另两个视角说明:
架构这类一般不完备到能化解某一难题;架构与生俱来就是为扩充而结构设计的;架构里头能为先期扩充的模块提供许多临时性、支撑力性的方便快捷功能强大的辅助工具,换句话说架构是基础建设了许多协助化解一般而言难题的库(libraries)或辅助工具(tools)。硬性:特别针对化解某一难题的应用软件架构会具体来说表述难题的边界线,从而将有关的应用软件模块束缚在那个边界线内,保持架构在化解难题各方面上的收敛性。
支撑性:架构这类不化解甚么难题,但给了化解难题的有关模块两个女团基本功,那个基本功的有效性和可用性直接影响在此其内进一步合作开发的有效性和便利性。
—— chan
表述:
为化解某些某一难题而束缚边界线,支撑力整个难题化解方案,基础建设了许多化解难题的模块而构成的辅助工具。
某一难题:甚么难题?——智能化试验
束缚边界线:为甚么束缚?——明确试验范围和目地
化解方案:用甚么方案化解难题?——编程语言+辅助工具+其他
构成辅助工具的模块:哪些模块?—— 用例、脚本、数据、日志、报告、通知
辅助工具:特点是甚么?—— 灵活性、可扩充性、高内聚低耦合
02智能化试验
1、为甚么要进行智能化试验?
黑盒试验回归效率低手动试验的偶然性和不确定性回归的覆盖率不足交付的产品质量无法保证,全靠评估系统越繁杂,难题越多上线时间长、梁柱失败率高导致的蝴蝶效应(迭代快,加班多)2、智能化试验能化解甚么难题?
提高出现难题后的响应速率降低回归成本提高回归覆盖率提高回归效率提高回归的稳定性3、智能化试验的不足有哪些?
无法减少成本投入,而是为了加快试验结果反馈,提升试验质量智能化适用作回归和冒烟,而不是发现BUG录制回放功能是鸡肋,可视化并不是两个很好的做法不是所有所有系统所有功能都适合做智能化试验03智能化试验架构
构成架构的模块,最起码应该具备以下的功能:
04常见的智能化试验架构
1、接口智能化架构:
① java+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine
② python+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine
③ python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine
④ jmeter+Maven/Ant+Jenkins+MySQL+testlink/redmine
2、UI智能化试验架构
① java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine
② python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine
③ python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine
通过下面的许多常见架构,你发现了甚么?
它们都拥有共同特性:编程语言+单元试验架构+扫描编译辅助工具+持续集成辅助工具+数据库+项目管理辅助工具。
编程语言:编写试验脚本、日志记录和输出;单元试验架构:提供试验脚本运行、异常校验等许多列的配置;扫描编译辅助工具:试验文件扫描编译,一般配合持续集成辅助工具使用效果更佳;持续集成辅助工具:Jenkins,经典的持续集成辅助工具;数据库:试验数据管理;项目管理辅助工具:试验结果统计管理;PS:智能化试验辅助工具太多,下面只是列举了使用率较高以及我个人还算了解的许多开源辅助工具,具体的架构选型,需要根据具体项目特点和团队、个人技术特点来决定!
算了解的许多开源辅助工具,具体的架构选型,需要根据具体项目特点和团队、个人技术特点来决定!