`
JavaJason
  • 浏览: 24259 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

数据驱动测试(二) – 实例

阅读更多
数据驱动测试(二) – 实例

特点:

  • 1. 工作量小
  • 2. 测试案例很好写
  • 3. 可重复利用
  • 4. 便于持续集成


[u]步骤:[/u]

  • 步骤一:准备数据库
  • 步骤二:生成测试数据模板
  • 步骤三:准备测试数据
  • 步骤四:导入测试数据
  • 步骤五:准备单元测试
  • 步骤六:执行单元测试


步骤一:准备数据库

INFO -- ERD ==> DDTT_BOOK
INFO -- ERD ==> DDTT_CLASS
INFO -- ERD ==> 	|-DDTT_STUDENT_CLASS
INFO -- ERD ==> DDTT_SCHOOL
INFO -- ERD ==> 	|-DDTT_STUDENT
INFO -- ERD ==> 		|-DDTT_STUDENT_CLASS


步骤二:生成测试数据模板

由工具自动从数据库中导出,无需任何手工动作。

INFO -- ########## Start to sync table structure ##########
INFO -- D:\research\ddt\dev\bin\test-data-config.properties is loaded from absolute path.

INFO -- ########## Configurations ##########
INFO -- Excel version: 2007
INFO -- Tables and versions: all
INFO -- Processed tables: DDTT_, XXX_
INFO -- Ignored tables: XXX_\S*|YYY_\S*
INFO -- Process child tables: true
INFO -- Disable triggers: false
INFO -- ########## Configurations ##########

INFO -- Test Data: D:\research\ddt\dev\DDT_TEST_DATA.xlsx
INFO -- Load tables from database to memory

INFO -- =========== Start to load tables ... ===========
INFO -- Load meta data for table: DDTT_BOOK [1/5]
INFO -- Load meta data for table: DDTT_CLASS [2/5]
INFO -- Load meta data for table: DDTT_SCHOOL [3/5]
INFO -- Load meta data for table: DDTT_STUDENT [4/5]
INFO -- Load meta data for table: DDTT_STUDENT_CLASS [5/5]
INFO -- =========== End to load tables ===========

INFO -- =========== Start to sync all tables ... ===========
INFO -- To sync the sheet DDTT_BOOK
INFO -- To sync the sheet DDTT_CLASS
INFO -- To sync the sheet DDTT_SCHOOL
INFO -- To sync the sheet DDTT_STUDENT
INFO -- To sync the sheet DDTT_STUDENT_CLASS
INFO -- =========== End to sync all tables ===========

INFO -- All test data cells are protected, password is 'password'
INFO -- Updating the Master Config sheet ...
INFO -- ########## Table structure is sync successfully. ##########



步骤三:准备测试数据



步骤四:导入测试数据

INFO -- ########## Start to sync test data ##########
INFO -- D:\research\ddt\dev\bin\test-data-config.properties is loaded from absolute path.

INFO -- ########## Configurations ##########
INFO -- Excel version: 2007
INFO -- Tables and versions: all
INFO -- Processed tables: DDTT_, XXX_
INFO -- Ignored tables: XXX_\S*|YYY_\S*
INFO -- Process child tables: true
INFO -- Disable triggers: false
INFO -- ########## Configurations ##########

INFO -- Test Data: D:\research\ddt\dev\DDT_TEST_DATA.xlsx

INFO -- =========== Start to get records ==========
INFO -- Get record list of sheet=DDTT_BOOK, version=all
INFO -- Get record list of sheet=DDTT_CLASS, version=all
INFO -- Get record list of sheet=DDTT_SCHOOL, version=all
INFO -- Get record list of sheet=DDTT_STUDENT, version=all
INFO -- Get record list of sheet=DDTT_STUDENT_CLASS, version=all
INFO -- =========== Get records successfully ==========

INFO -- =========== Start to clear records ==========
INFO -- Clear DDTT_BOOK starts.
INFO -- Clear DDTT_BOOK finished. 3 record(s) are deleted.
INFO -- Clear DDTT_CLASS starts.
INFO -- Clear DDTT_STUDENT_CLASS starts.
INFO -- Clear DDTT_STUDENT_CLASS finished. 2 record(s) are deleted.
INFO -- Clear DDTT_CLASS finished. 2 record(s) are deleted.
INFO -- Clear DDTT_SCHOOL starts.
INFO -- Clear DDTT_STUDENT starts.
INFO -- Clear DDTT_STUDENT finished. 2 record(s) are deleted.
INFO -- Clear DDTT_SCHOOL finished. 2 record(s) are deleted.
INFO -- =========== Clear records successfully ==========

INFO -- =========== Start to insert records ==========
INFO -- Insert DDTT_BOOK starts.
INFO -- Insert DDTT_BOOK finished. 3 record(s) are inserted.
INFO -- Insert DDTT_CLASS starts.
INFO -- Insert DDTT_CLASS finished. 2 record(s) are inserted.
INFO -- Insert DDTT_SCHOOL starts.
INFO -- Insert DDTT_SCHOOL finished. 2 record(s) are inserted.
INFO -- Insert DDTT_STUDENT_CLASS starts.
INFO -- Insert DDTT_STUDENT starts.
INFO -- Insert DDTT_STUDENT finished. 2 record(s) are inserted.
INFO -- Insert DDTT_STUDENT_CLASS finished. 2 record(s) are inserted.
INFO -- =========== Insert records successfully ==========

INFO -- ########## Test data is sync successfully! ##########



步骤五:准备单元测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:bean-ddtt-test.xml")
public class StudentServiceTest extends AbstractTransactionalJUnit4SpringContextTests {
	
	@Resource
	private StudentService studentService;

	@Test
	//DDTT v0.001
	public void findStudentTest() {
		//this case will find a issue: RowMapper doesn't work for no record found case
		StudentTO to = studentService.findStudent(1234567890);
		Assert.assertNull(to);
		
		to = studentService.findStudent(1);
		Assert.assertNotNull(to);
		Assert.assertEquals(to.getName(), "Jason");
	}
	
	@Test
	//DDTT v0.002
	public void deleteStudentTest() {
		studentService.deleteStudent(2);
		
		StudentTO to = studentService.findStudent(2);
		Assert.assertNull(to);
	}

}


步骤六:执行单元测试



  • 大小: 23.2 KB
  • 大小: 20.1 KB
分享到:
评论

相关推荐

    SELENIUM 2 自动化测试实战 基于PYTHON语言

    9. **测试数据驱动**:通过使用数据驱动测试,可以从外部文件(如CSV或Excel)获取测试数据,使测试脚本更具灵活性和可扩展性。 10. **并行测试**:Selenium支持多线程和多进程,可以同时在多个浏览器或多个实例上...

    简单实例助你快速掌握PROTEUS的用法

    - **7407驱动门** – 7407 Driver Gate - **1N914二极管** – 1N914 Diode - **74LS00与非门** – 74LS00 NAND Gate - **74LS04非门** – 74LS04 NOT Gate - **74LS08与门** – 74LS08 AND Gate - **74LS390 TTL双十...

    直流电机专用驱动器DXP资料及其相关资料.zip

    9. **性能测试**:资料中可能包含实际的性能测试数据,展示驱动器在不同条件下的运行效果,以证明其优越的性能。 10. **维护与保养**:长期稳定运行的保证离不开定期的维护和保养,资料可能提供了相关的建议和注意...

    STM32F407_ov2640+esp8266.zip

    总的来说,这个项目涵盖了嵌入式系统开发的多个方面,包括微控制器编程、传感器驱动、无线通信和图像处理,是学习和实践物联网应用的一个很好的实例。通过这样的项目,开发者可以提升在硬件接口设计、网络通信和软件...

    详解Android的MVVM框架 – 数据绑定

    在MVVM中,View与ViewModel之间的通信通过数据绑定来实现,这样开发者无需手动设置UI元素的属性,而是让数据驱动UI的更新。 **Data Binding库的使用** 1. **启用Data Binding**:首先,你需要在Android Studio中...

    ABB焊接机器人工作站故障的分析和维修.doc

    进行硬件分析,首先利用工作站自身硬件测试固化程序检测,检测结果是驱动单元完好,但机械手臂(变位器)的交流伺服电机不能工作,利用本文3.2节分析,测量出电机绕组短路。 四、修复后的性能测试 上表显示修理后...

    jsp与数据库连接源码,SQL2000连接测试程序

    【jsp与数据库连接源码,SQL2000连接测试程序】 在Web开发中,Java Server Pages (JSP) 是一种动态网页技术,用于创建交互式的网页应用。它结合了HTML和Java代码,使得开发者可以在服务器端处理数据并生成响应的...

    Android-EasyMVP–一个强大非常简单的MVP库具有注释处理和字节码编织功能

    在Android应用开发中,Model-View-Presenter(MVP)模式是一种常见的设计模式,它将业务逻辑、数据处理和用户界面解耦,提高了代码的可测试性和可维护性。EasyMVP是一个专为Android设计的强大且简洁的MVP库,它引入...

    【SQL新手达人】资料库管理人员必备的神兵利器–(“维护”相关文档)共32张.pptx

    5. **Integration Services管理**:SSMS 也支持对Integration Services(SSIS)包的开发、测试和部署,用于数据迁移、ETL(提取、转换、加载)等任务。 6. **Notification Services管理**:通过SSMS,可以配置和...

    chromedriver Python开发必备

    【标题】"chromedriver Python开发必备"涉及到的主要知识...综上所述,`chromedriver`是Python自动化开发中的重要工具,特别是在需要与Chrome浏览器交互的场景下,如网页自动化测试、数据抓取和高并发的抢购秒杀应用。

    capls learning

    8. **基本概念**:"CAPL Basics by Vector – Three Examples Reloaded"提供CAPL的基础知识,通过三个实例加深理解,覆盖了CAPL的核心概念。 9. **自动日志保存**:"CAPL Programming on Automatic Logfile Saving...

    java超市管理list框架

    7. **测试**:最后,我们需要编写单元测试来验证每个方法的功能,确保系统在各种情况下都能正确运行。 通过以上步骤,我们可以构建一个基本的"java超市管理list框架"。这个框架不仅可以管理货物,还可以扩展到更...

    WebSphere Integration Developer环境搭建

    总之,搭建WebSphere Integration Developer环境涉及概要文件的管理、数据源的配置、IDE的安装与项目导入、服务器配置以及应用的部署和测试。遵循上述步骤,你应该能够成功地搭建起一个适合开发和调试的WID环境。在...

    配置Oracle(详细附截图)

    - 输入**全局数据库名**,这是一个唯一的标识符,用于识别整个数据库实例。 - 继续输入**主机名**,这通常是你的计算机名称或IP地址,确保它与你的网络环境相符。 - 如果你想进行连接测试,可以选择"是",...

    java技术分享

    - **高效**:数据被编码成二进制形式,占用空间少,解析速度快。 - **跨语言**:支持多种编程语言,便于不同系统之间的数据交换。 - **应用场景**:适合用于网络通信、数据持久化等领域。 ##### 1.7 Disruptor -...

Global site tag (gtag.js) - Google Analytics