当前位置:   article > 正文

吐血整理,自动化测试框架总结,一篇从0到1策底打通..._数据库自动化测试逻辑框架

数据库自动化测试逻辑框架


前言

1、什么是框架

定义:为解决某些特定问题而约束边界,支撑整个问题解决方案,配套了一些解决问题的组件而构成的工具。

特定问题:什么问题?——自动化测试
约束边界:为什么约束?——明确测试范围和目的
解决方案:用什么方案解决问题?——编程语言+工具+其他
构成工具的组件:哪些组件?—— 用例、脚本、数据、日志、报告、通知
工具:特点是什么?—— 灵活性、可扩展性、高内聚低耦合

2、自动化测试

1)为什么要进行自动化测试?

①黑盒测试回归效率低
②手动测试的偶然性和不确定性
③回归的覆盖率不足
④交付的产品质量无法保证,全靠评估
⑤系统越复杂,问题越多
⑥上线时间长、构件失败率高导致的蝴蝶效应(迭代快,加班多)

2)自动化测试能解决什么问题?

①提高出现问题后的响应速率
②降低回归成本
③提高回归覆盖率
④提高回归效率
⑤提高回归的稳定性

3)自动化测试的不足有哪些?

①无法减少成本投入,而是为了加快测试结果反馈,提升测试质量
②自动化适用于回归和冒烟,而不是发现BUG
③录制回放功能是鸡肋,可视化并不是一个很好的做法
④不是所有所有系统所有功能都适合做自动化测试

3、自动化测试框架

构成框架的组件,最起码应该具备以下的功能:

Log:日志记录和管理功能,针对不同的情况,设置不同的日志级别,方便定位问题;

Report:测试报告生成和管理以及即时通知,测试结果快速响应;

Source:配置文件、静态资源的管理,遵循高内聚低耦合原则;

Common:公共函数、方法以及通用操作的管理,遵循高内聚低耦合原则;

TestCase:测试用例管理功能,一个功能点对应一个或者多个case,尽可能的提高覆盖率;

TestData:测试数据管理功能,数据与脚本分离,降低维护成本,提高可移植性;

TestSuite:测试组件管理功能,针对不同场景不同需求,组装构建不同的测试框架,遵循框架的灵活性和扩展性;

Statistics:测试结果统计管理功能,每次执行测试的结果统计、分析、对比以及反馈,数据驱动,为软件优化和流程改进,提供参考;

Continuous:持续集成环境,即CI环境,包括测试文件提交、扫描编译、执行测试、生成报告及时通知等功能,持续集成是自动化测试的核心!

4、常见的自动化测试框架

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:自动化测试工具太多,上面只是列举了使用率较高以及我个人还算了解的一些开源工具,具体的框架选型,需要根据具体项目特点和团队、个人技术特点来决定!

5、自动化测试用例的设计方法

测试用例只需要关注自己最直接的预期结果,它的下游依赖或者调用,用对应的测试用例去覆盖即可。

如果是复杂的长链路业务场景自动化测试,可以通过测试用例集合的方式来开展。

考虑好正向逆向流程的校验点,然后调用依赖模块对应的场景和数据,双方约定好,遵循互信原则即可。

设计组合测试用例集合的注意事项,主要有如下几点:

业务团队按照一定的原则划分,而不是混乱;
每个团队之间要明确好业务边界和职责边界;
调用依赖和边界遵循统一的调用方式(如Restful);
测试数据的存储校验建议统一维护而非各自独立;
测试用例要按照不同条件做区分(类似打标签形式);
持续集成任务要按照前后依赖做好执行时序的区分;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有在不断努力和奋斗中,我们才能超越自我、创造属于自己的辉煌。相信自己,坚定前行,你一定会成就一番属于自己的伟大事业!

不论前路有多曲折,不论困难有多艰巨,坚持奋斗的火焰永不熄灭。相信自己的能力,勇往直前,你将创造出属于自己的辉煌人生!

只有拥有坚定的信念和持久的奋斗,才能驱散前路的迷雾,创造出属于自己的光彩人生。相信自己,勇往直前,你一定会收获属于自己的绚烂华章!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/651438
推荐阅读
相关标签
  

闽ICP备14008679号