使用测试优先方法开发用户界面
2008-01-19 20:24:54 来源:WEB开发网核心提示:1、概述测试优先是测试驱动开发(Test-Driven Development, TDD)的核心思想,它要求在编写产品代码前先编写基于产品代码的测试代码,使用测试优先方法开发用户界面,在测试驱动开发的单元测试中,对GUI应用实施自动测试应该是测试驱动开发的软肋之一,一个删除button控件,由此,由于界面的操作是有由人
1、概述
测试优先是测试驱动开发(Test-Driven Development, TDD)的核心思想,它要求在编写产品代码前先编写基于产品代码的测试代码。在测试驱动开发的单元测试中,对GUI应用实施自动测试应该是测试驱动开发的软肋之一。由于界面的操作是有由人来完成的,所以要想在GUI中完成单元自动测试是有一定难度的。Kent Beck在它的《测试驱动开发》中就曾提到过这个问题。
本文将通过一个例子来讲解在测试驱动开发中如何针对GUI进行单元测试。这个例子是David Astels著的《测试驱动开发实用指南(影印版)》中一个关于影片列表管理的例子。该书中文版即将在国内出版。书中讨论并介绍了开发这个例子的多种方法。笔者将介绍其中的一种,并且为了方便使用C++的朋友的学习,书中的代码我用C++写了一遍,类名和变量名尽量和原书保持一致,以方便阅读该书的C++读者。在此也要感谢David Astels给我们带来如此精彩的一本书。
本文叙述背景为:CppUnit1.9.0, Visual C++ 6.0, Windows2000 pro。文中叙述有误之处,敬请批评指正。如果读者对CppUnit还没有一定的了解,可以先参考笔者的另一篇文章《CppUnit测试框架入门》。
2、需求分析
对于这个影片管理的应用,我们主要实现增加、删除和显示影片列表的功能。基于这些需求,我们可以画一张GUI草图,如图1:
图1
界面的控件主要有:一个显示所有影片的列表listbox控件,一个填写新的影片名的edit控件,一个增加button控件,一个删除button控件。由此,我们的开发目标就十分的明确了。
[]
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
- ››使用 COLUMN函数编制单元信息
赞助商链接