`

敏捷开发之DDT(测试驱动开发)

阅读更多

背景:
一个 高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不 耐,使大多数开发人员无所适从。最近兴起的一些软件开发过程相关的技术,提供一些比较高效、实用的软件过程开发方法。其中比较基础、关键的一个技术就是测 试驱动开发(Test-Driven Development)。虽然TDD光大于极限编程,但测试驱动开发完全可以单独应用。

 

优势:
1.编写测试相当于编写设计文档
2.能够迅速的发现和定位bug
3.功能编写完成的同时测试也编写完成了
4.测试驱动开发是一种代码设计的过程,在编写测试的时候相当于在设计代码

重构的目标:
保障单元测试,如果你能把一段代码可以重构成设计模式出来的话,那就是最精炼的代码了
5.看着红条变绿的时候,会提升自信和好心情。


过程

软件开发其他阶段的测试驱动开发,根据测试驱动开发的思想完成对应的测试文档即可。下面针对详细设计和编码阶段进行介绍。

测试驱动开发的基本过程如下:

1) 明确当前要完成的功能。可以记录成一个 TODO 列表。

2) 快速完成针对此功能的测试用例编写。

3) 测试代码编译不通过。

4) 编写对应的功能代码。

5) 测试通过。

6) 对代码进行重构,并保证测试通过。

7) 循环完成所有功能的开发。


原则

测试隔离

   不同代码的测试应该相互隔离。对一块代码的测试只考虑此代码的测试,不要考虑其实现细节(比如它使用了其他类的边界条件)。

一顶帽子

    开发人员开发过程中要做不同的工作,比如:编写测试代码、开发功能代码、对代码重构等。做不同的事, 承担不同的角色。开发人员完成对应的工作时应该保持注意力集中在当前工作上,而不要过多的考虑其他方面的细节,保证头上只有一顶帽子。避免考虑无关细节过 多,无谓地增加复杂度。

测试列表

   需要测试的功能点很多。应该在任何阶段想添加功能需求问题时,把相关功能点加到测试列表中,然后继续手头工作。然后不断的完成对应的测试用例、功能代码、重构。一是避免疏漏,也避免干扰当前进行的工作。

测试驱动

   这个比较核心。完成某个功能,某个类,首先编写测试代码,考虑其如何使用、如何测试。然后在对其进行设计、编码。

先写断言。测试代码编写时,应该首先编写对功能代码的判断用的断言语句,然后编写相应的辅助语句。

可测试性。功能代码设计、开发时应该具有较强的可测试性。其实遵循比较好的设计原则的代码都具备较好的测试性。比如比较高的内聚性,尽量依赖于接口等。

及时重构

   无论是功能代码还是测试代码,对结构不合理,重复的代码等情况,在测试通过后,及时进行重构。关于重构,我会另撰文详细分析。

小步前进

分享到:
评论

相关推荐

    DDT(数据驱动测试)

    DDT,全称为Data Driven Testing,是一种软件测试方法,其核心思想是将测试用例的数据与测试逻辑分离,使得测试更加灵活且可扩展。在DDT中,测试脚本根据输入的数据执行相应的操作,并验证预期的结果。这种方法常...

    基于python的接口自动化测试 ddt数据驱动.docx

    总的来说,这个基于 Python 的接口自动化测试框架利用了数据驱动测试的方法,通过 DDT 模块和 Excel 数据源,实现了高效且易于维护的测试。这种框架对于接口测试来说非常实用,尤其是在面对复杂多变的接口参数时,...

    自动代测试数据驱动ddt.py

    数据驱动,自动化测试,unittest, ddt, data

    python实现接口自动化(python+unittest+requests+ddt数据驱动框架)

    python实现接口自动化测试: 1、测试框架:python+unittest+requests+ddt数据驱动 2、测试用例维护在excle 3、支持post方法、get方法等 4、支持测试报告结果发送至qq邮箱

    python+selenium+ddt关键字驱动搭建自动化测试框架(csdn)————程序.pdf

    在本文档中,我们讨论了如何使用Python、Selenium和DDT库来构建一个关键字驱动的自动化测试框架。首先,让我们深入理解各个组件及其在测试框架中的作用。 1. Python:Python是一种流行的高级编程语言,因其简洁易读...

    Python ddt模块数据驱动下载.rar

    ddt允许开发人员以更灵活的方式编写测试,通过数据驱动的方式来组织和执行测试,提高测试的覆盖率和效率。在给定的"Python ddt模块数据驱动下载.rar"压缩包中,很可能包含了ddt库的源码、示例代码、可能的文档以及...

    python3+unittest+request+ddt接口测试

    ddt(Data Driven Testing)是Python中的一个第三方库,它扩展了unittest,实现了数据驱动测试的功能。数据驱动测试允许我们将测试数据与测试逻辑分离,使测试用例更加灵活且可复用。通过ddt,我们可以为同一个测试...

    测试驱动开发的PPT

    测试驱动开发(Test-Driven Development,简称TDD)是一种软件开发方法,它的核心思想是先编写测试用例,再编写实现这些测试用例所需的代码。这种方法由Kent Beck提出,强调了编写可测试的代码和持续重构的重要性。...

    上手直接可用的接口自动化框架(包含数据驱动),最新版(pytest+ddt+db+yaml+allure)

    这种数据驱动的测试方式可以使测试用例更易于维护和扩展,因为不同的输入数据可以对应不同的测试场景。 “db”可能是指数据库,接口测试中常常需要与数据库交互,验证接口操作对数据库数据的影响。例如,可以通过...

    python 数据驱动ddt模块下载

    cd D:\python\Lib\site-packages\ddt-master python setup.py install 然后执行 python import ddt 如果没有报错,说明安装成功

    demo_ddt_interface:接口测试框架demo(ddt数据驱动excel管理测试用例)

    【标题】"demo_ddt_interface"是一个接口测试框架的示例,它采用了数据驱动测试方法,利用Excel来管理测试用例。这个框架是基于Python语言实现的,特别适合于进行接口自动化测试。 【描述】该项目的目录结构设计得...

    python ddt实现数据驱动

    DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据) 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或者...

    Python自动化测试实战篇(4)selenium+unttest+ddt实现自动化用例测试,模拟用户登陆点击交互测试

    综上所述,本实战篇将结合selenium进行页面交互,unittest组织和运行测试,ddt实现数据驱动测试,并通过assert进行断言验证,生成详细的测试报告。所有这些组件一起构成了一个强大的自动化测试解决方案,能够有效地...

    Python自动化测试实战篇(3)优化unittest批量自动化接口测试代码,ddt驱动+yaml实现用例调用,输出测试报告

    这时,我们可以借助ddt库来实现数据驱动测试,将测试数据与测试逻辑分离,使得测试用例更易于维护和扩展。 ddt库允许我们将测试参数化,通过装饰器@ddt和数据提供方法@data,可以将多个输入值与测试方法关联,这样...

    python+pytest+yaml+ddt+allure的接口自动化测试框架(测)

    4. 利用ddt插件,将数据驱动的测试用例组织起来,实现数据的遍历和测试。 5. 在测试执行后,生成Allure报告,展示测试结果和相关信息。 掌握这些技术,不仅可以提高接口测试的效率,还能增强测试的可读性和可维护性...

    unittest 和ddt

    它是Python开发中不可或缺的一部分,因为测试驱动开发(TDD)和持续集成(CI)都依赖于强大的单元测试框架。unittest提供了一组丰富的断言方法,可以方便地验证代码的行为是否符合预期。此外,它还支持测试套件、...

Global site tag (gtag.js) - Google Analytics