侧边栏壁纸
  • 累计撰写 31 篇文章
  • 累计创建 14 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

怎么保障自动化测试用例的独立性?

AllyTester
2024-11-29 / 0 评论 / 0 点赞 / 5 阅读 / 0 字

在自动化用例脚本编写时,用例之间应该是相互独立的,目的是为了避免用例执行结果相互干扰,在测试结果出现问题时,便于快速定位问题、排查问题,可以准确定位到是哪个用例出现了故障,不会因为用例之间的相互依赖关系而使问题的排查变得复杂,同时便于共享,其他成员可以直接使用这些测试用例进行测试。本文主要总结了一些保障测试用例独立性的要点。

原则:

  • 一条 testcase 只允许编写一条测试用例

  • 基于用户对象控制数据,用例初始化时需清空用户下的所有数据

  • 用例的前置数据都需要在 testCase下重新生成

  • 后置步骤可以实现数据的清理方法(数据库存储的数据、channel.close()、file.close())

  • 不能基于被测试过的数据执行用例,比方说获取首页便签接口的验证,前置的数据已经被删除后再进行恢复

demo:

import unittest


class Test(unittest.TestCase):
    # 实例化
    # 定义环境变量
    # 定义接口变量

    def setUp(self) -> None:
        # 基于用户进行数据清理
        pass

    def testCase01_major(self):
        """新建分组的主流程"""
        # 新建分组的接口请求
        # 精准校验断言
        # 数据源的校验

    def testCase02_major(self):
        """查询分组的主流程"""
        # 前置分组数据
        # 查询分组的接口请求
        # 精准校验断言

    def testCase03_input_must_key(self):
        """not must key: noteId"""
        pass

    def testCase04_input_must_key(self):
        """not must key: groupId"""
        pass

具体落地情况:

  • 数据清理方法放在 setup 用例的方法前置下,不需要在用例中或用例结束实现数据的清理

  • 用例的前置步骤需要在 testCase 下实现

  • 需要提前准备好测试账号,用于测试数据的构建、修改、删除、查询

  • 数据清理方法只能基于测试账号进行清理,不允许实现清表清库

  • 尽量避免使用用例并行执行

0

评论区