python自动化架构设计

2024-09-20 08:02:26问答浏览:8675次

最新回答:可以通过以下方法解决问题:

我要提问

登录后回复

2 个回答

  • 巧孟心
    疏孟贞
    python已经自动化了,大家一般用什么测试框架?首先,我们需要明白,自动化测试框架往往更倾向于一种设计思想。这个思想指导了工具的使用或者自主研发,不能只使用一种框架。但一般根据测系统的特点选择几种测试框架。满足测试和设计需求(开发和维护角度)的组合。
    记录和回放测试框架
    记录和回放测试框架使用的原理是通过记录应用程序生成的线性脚本并回放来达到自动化测试的目的。
    优点:对测试员的测试开发技能要求最低,入学即可获得必要的脚本。
    缺点:普遍缺乏逻辑判断能力,维护性差,效率低。
    适应场景:不推荐,传统的用户界面自动化测试逐渐弱化。说到U-自动化,你需要知道测系统是否满足自动化的条件,在测系统频繁的项目中,UI自动化无疑会一个大坑,的维护工作就够了。让你疲倦。迫放弃自动化测试。
    测试库架构框架(TheTestLibraryArchitectureFramework)
    测试库架构框架的核心可以概括为系统功能作和业务逻辑的解耦。将测试系统支的所有功能作封装在测试库中。测试脚本调用测试库,同时传输外部测试数据。测试库由自动化测试开发工程师(不需要懂业务)写,负责控和维护变更。测试脚本可以由熟悉业务的自动化测试开发工程师来写,负责业务逻辑和测试数据的变更和维护。
    优点:无论测系统的哪一层发生变更(代码层或业务层等),只需要相应的员进行变更维护。
    缺点:变更带来的维护工作既束缚于自动化测试开发工程师,又束缚于业务测试员,维护代码量大。
    适应场景:该框架一般基于不同的自动化开发方式(基于Jemet等工具或非工具自研开发+续集成)来使用。
    数据驱动测试框架(TheData-DrivenTestingFramework)
    数据驱动测试的核心思想可以概括为数据(测试数据、配置数据)和代码的解耦。该框架的原理是使用数据驱动的脚本进行测试。数据驱动脚本将数据输入存储在独立的数据文件中。相同的脚本(代码模板)可以在不同的测试用例中运行,实现代码和数据的分离。
    优点:对于业务员从面向代码的开发转换为面向配置的设计(参数组合设计),降低了开发难度和开发成本,同时提高了测试的可扩展性用例,可以快速扩展类似测试,实现自动化代码不随着用例的增而增加
    缺点:测试脚本维护是自动化测试开发工程师的职责,需要自动化程知识和业务逻辑,且测试脚本设计初始成本较高,有一定的限性(对于相同的测试内容,具有相同的测试逻辑)。
    适用场景:比较适合测试内容要求高的情况测试逻辑重复,易于扩展测对象的测试用例对可靠性和复用性要求较高的场景。
    关键字或表驱动的自动化测试框架(TheKeyword-DrivenorTable-DrivenTestingFramework)
    关键字驱动是数据驱动的逻辑扩展,其核心思想可以概括为数据驱动代码流(逻辑)解耦,同时完成代码和测试描述(测试对象的测试描述)的映射。该框架的原理是基于数据驱动的基础。它完成对测对象的划分、抽象和封装,将其映射到单独的“关键字”(测试描述),在写测试用例时,只需要将关键字进行映射,将它们组合起来,就可以完成测试用例的开发各种场景。
    优点:对于业务手动测试员来说,从面向代码或配置到自然语言(测试描述)的开发大大降低了开发难度和维护成本,同时提高了测试效率,用例易于扩展和组织起来,以便自动化代码不会随着用例的增而增加。
    缺点:对测试员的测试开发能力和业务理解能力要求较高。
    适用场景:测试的对象包含复杂的业务流程(逻辑)当然是把简单的复杂化更好。
    要了解更多信息,您可以阅读这篇文章,希望对您有用。欢迎关注它。
    https://www.toutiao.com/i6616242076721873416/
    赞7回复举报
  • 杜叔藻
    节叔旭
    Python自动化测试框架unittest与pytest的区别,你知道多少?Python自动化测试框架unittest和pytest对比

    Unitest和pytest在测试环境上各有特点。主要差异体现在用例写、条件管理、参数化、断言、执行流程、错误处理等方面。-运行、生成报告等:


    unittest用例格式相对复杂,与部分插件不兼容,但二次开发比较方便。;pytest虽然以简单着称,支unittest测试风格,但兼容性很好,插件丰富,比如支失败重新运行的flask插件,支并行执行的xdist插件,效率更高。它更有效率。


    在管理前置条件和后置条件时,unittest遵循特定的执行顺序,而pytest提供更灵活的提交功能,例如自定义级别和共享模式。


    参数化方面,unittest通过ddt实现数据驱动测试,pytest直接使用pytest.mark.parameterize来测试多个数据集。


    以下示例显示了unittest和pytest在前置条件和后置条件以及参数化方面的差异:


    前置和后置unittest的后执行顺序显然,pytest在模块、类和函数级别的预处理和后处理更加灵活。
    Pytest的commit功能允许您自定义全的前后作,以提高测试效率。

    总的来说,pytest由于语法简洁、兼容性好、插件丰富,更适合现代自动化测试需求。如果您正在寻找更高效且用户友好的测试框架,pytest可能是您的最佳选择。

    赞61回复举报
我也是有底线的人~
点击加载更多

热门新闻