class Test:
def test_case1():
测试点 1
def test_case2():
测试点 2
def test_case3():
测试点 3
还是 以下这种方法?
class Test:
def test_case1():
测试点 1
测试点 2
测试点 3
看你测试点之间有没有依赖,没依赖就分开,有就放一起
其实这个问题,大家都有困扰。这个好不好没有标准的答案,最关键的是取决于领导想要的效果。
同上诉
测试点 1、2、3 是互斥的还是依赖的?如果是互斥的就不能放在一条 case 当中。如果是依赖的也有必要对大 case 进行拆分分层,当然放一起也是可以的。
那断言可以这样写吗?
class Test:
def test_case1():
测试点 1
断言测试点 1
测试点 2
断言测试点 2
测试点 3
断言测试点 3
在使用测试框架(如 PyTest、unittest 等)编写自动化测试用例时,推荐采用多个独立的测试方法(如 test_case1(), test_case2(), test_case3()),分别对应不同的测试点。原因如下:
可读性与维护性:每个测试方法只关注一个特定的测试点,使得测试逻辑清晰明了,方便阅读和理解。当某个测试点需要修改或排查问题时,不会影响到其他测试点。
原子性:每个测试方法应当是独立且完整的,即每个测试用例的成功或失败不应依赖于其他测试用例的结果。如果将多个测试点放在一个测试方法中,一旦其中一个测试点失败,可能导致整个测试用例失败,无法准确判断其他测试点是否正常。
报告粒度:在生成测试报告时,每个测试方法的结果都会单独体现,有利于快速定位问题所在。
并行执行:很多测试框架支持测试用例的并行执行,如果每个测试点都是独立的方法,那么可以同时进行测试,提高测试效率。
综上所述,建议按照第一个示例的方式组织测试用例代码。
然而,如果你有一些测试点是紧密相关的,或者需要在相同的测试环境下进行多个测试,你可以考虑将这些测试点放在同一个测试用例中。但即使在这种情况下,也建议尽可能将每个测试点分开成独立的测试用例,因为这样可以更好地组织代码,使其更易于阅读和维护。
总的来说,建议每个测试用例只关注一个特定的测试点或功能点。这样可以使你的测试代码更加清晰、可维护和可扩展。
我感觉没有固定的吧,具体 case 上哪种自己做起来和维护舒服就用哪种方式
一般是:操作->预期结果,断言应该是在每一步操作之后。
对于场景准备类的操作可以仅做一些简单断言,比如 api 请求仅判断状态码,和一些关键业务数据
首次见到第二种写法,我最低也是一个 case 一个点,多接口的就包含在一个 class 内
第二种这样能区分断言吗?
class Test:
def test_case1():
测试点 1
断言测试点 1
测试点 2
断言测试点 2
测试点 3
断言测试点 3 这样可以吗
我们领导要求每一个脚本对应一条手工测试用例,依次进行自动化测试脚本编写并统计自动化覆盖率。
接口测试的时候就直接在数据库写数据构造测试场景;
页面的测试,如修改功能, setup 就是增加一条信息,teardown 就是清理测试环境
目前是这样做的
如果是一条流程链的接口用例我建议单脚本 class 多 case,一接口一 case
如果是第二种方式的话,不必要每个测试点都做断言。因为这条用例的逻辑是严格规定的, 如果整个用例失败了。说明实际没有根据预期的走,此时就需要去看日志排查了。步骤之间的紧密联系就是一个个的断言。
我是分为两种,1.主流程 测试 2.单元测试
基本是以单点组业务吧