精彩牛耳,用心缔造
您的位置:主页 > 牛耳资讯中心 > 行业资讯 >

关于如何设计自动化测试框架,老司机的答案是

作者:牛耳教育 编辑:陈老师 来源:未知 发布日期:2022年02月24日
信息摘要:
今天,我们一起来学习自动化测试框架的相关内容,包括:框架内容、如何设计一个测试框架等等。关于测试框架的好处,例如:快速回归提高测试效率,提高测试覆盖率等,这些内容...

今天,我们一起来学习自动化测试框架的相关内容,包括:框架内容、如何设计一个测试框架等等。关于测试框架的好处,例如:快速回归提高测试效率,提高测试覆盖率等,这些内容就不一一阐述了。希望今天的内容对大家有所帮助。

什么是自动化测试框架

它是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。

以常见的前端UI测试为例,一个测试框架大概包括测试对象,测试组件,基础类和函数,工具类,测试数据,异常处理,测试日志,断言和测试报告等这些模块。

在设计测试框架的时候,我们要尽可能的将这些模块有机的结合起来,将脚本能够有效的组织、连贯应用起来,提高测试脚本的可维护性和可读性。

没有万能的测试框架

没有万能的测试框架,适合自己项目的,能提高工作效率的就是好框架。

由于应用系统技术五花八门,几乎没有测试框架能应用在多个项目上并体现出应有的价值,所以一般情况都需要根据项目自身情况来定制化我们的测试框架,常用的有数据驱动,关键字驱动和两种方式的混合。

a.数据驱动(DDT)

如果被测系统业务逻辑固定不变或变动较小,我们可以使用数据驱动,通过不同数据来保证测试覆盖率,通常数据都是保存在外面文件或数据库中,运行时自动获取。特点是数据与测试脚本分离,基于模块化的测试库,一个驱动脚本可以执行多个相似测试,这样非常容易建立新测试。

b. 关键字驱动

将数据与关键字结合来描述如何使用数据执行测试。这种方法具备数据驱动的优势,同时非编程人员也能建立新类型测试。

设计框架的思路

a.高内聚低耦合

高内聚就是每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码;低耦合就是模块与模块之间接口的复杂程度,比如在类内部尽可能减少方法之间的调用,否则一个方法的变动会影响调用它的另一个方法。

例如,你要做两个功能:对文本文件的读写,对word读写,同是IO你可以放在一个类里的不同方法,这就是高内聚。

例如,写了一个类,“人”类。“人”有自己的名字年龄等属性,每个“人”又有一条狗做为自己的属性,你可以把“人”类的属性和“人”的狗的属性都写在“人”类里,这就成了高耦合。

而,把狗的属性剥离出来,写成“狗”类,在“人”类里只放一个对“狗”的对象做引用,这个“狗”类,即可做为“人”的属性,也可以做它用。即:低耦合。

b.脚本分离

对象、测试数据、业务逻辑相互剥离、灵活调用,在前端UI测试上可以得到明显的效果,我们可以使用PageObject设计模式来实现对象和业务逻辑的剥离,使用DataProvider来实现数据业务逻辑分离。

c.模块化设计用例,脚本的可重用

如果时间充裕且项目提供支持,可以遵循以下顺序进行测试:页面对象-功能点-业务逻辑-业务流程。

牛耳推荐资讯
湖南工程学院计算科学与

湖南工程学院计算科学与

【产教融合育人才校企合作谋发展】湖南工程学院计算科学与电子学院与牛耳科教集团签约共建实习基地...
2022年11月30日
嵌入式学习路线怎么规划

嵌入式学习路线怎么规划

随着人工智能领域的兴起和发展,嵌入式开发技术也随之受到关注。近几年,学习嵌入式开发的学生越来越多,有的选择自学,有的选择去培训班。不管做...
2022年11月30日
Web前端框架有哪些?哪个

Web前端框架有哪些?哪个

Web前端框架是前端开发中一个非常重要的开发工具。功能强大的框架可以让前端人员更加清晰的看见现有代码的结构,也能快速检查一些代码错误,极大的...
2022年11月30日
软件测试培训多少钱?学

软件测试培训多少钱?学

目前市面上软件测试培训的费用大概在0.8-2.3万之间,为什么费用差别会这么大?影响因素有很多,主要是课程内容、上课方式、地理位置等。...
2022年11月28日
为什么要学习软件开发?

为什么要学习软件开发?

随着时代的进步,国家的发达,信息时代的到来,对于软件开发的需求也越来越大了!普遍性的需要,那么什么是软件开发?...
2022年11月25日
 牛耳教育的教学模式是怎

牛耳教育的教学模式是怎

牛耳教育采取独特的“企业化管理”的教学模式,从专业技能、项目能力和职业素质三方面帮助学生全面提升职业竞争力,完善的软件人才培养体系基础上,同时拥有完善的软件人才考...
2022年11月22日

咨询热线

400-0731-162