DRINKING WITH JUNIT
作者: 乐晨光 [airwalker@263.net] (欢迎自由转载本文,但请注明作者及出处)
安全合理而富有可扩展性与可读性的测试代码进入了对象中,它就象一棵大数那样支撑起了整个工程。
1. PURPOSE
u 理解系统测试与单元测试的目的与方式
u 考察Junit测试框架的客户层应用;并架构一个待测试的系统案例。
u 考察分析Junit的框架架构原理。
2. THE TESTING
2.1 软件熵(software entropy)的概念:一个程序从设计很好的状态开始,随着新的功能不断地加入,程序逐渐地失去了原有的结构,最终变成了一团乱麻。(其实该处的“很好的状态”得加个?)
2.2 测试的目的:简单而极具活力,写出高质量的软件并解决软件熵这一问题。
2.3 测试的分类:白箱测试、黑箱测试;或,单元测试、集成测试、功能测试等有多种分类方法。
白箱测试 -> 指知道被测试的软件如何(how)完成功能测试和完成什么样的功能(what)的条件下所作的测试。(一般由开发人员完成)
单元测试应属于白箱测试。
黑箱测试 -> 在知道被测试的软件完成什么样(what)的功能的条件下所作的测试。(一般由测试人员完成)
单元测试 -> 目的为验证一个或若干个类是否按所设计那样正常工作与表现。
集成测试 -> 验证所有的类是否可以相互配合,协同完成特定的任务。(复杂的信号与事件通讯与状态机密集大的运作测试)
<<<< Junit应用于单元测试 >>>>
2.4 测试作为一项持续的过程,它贯穿与开发的整个过程中,单元测试尤适合迭代增量式(iteraton and incremental)的开发过程。
最简单的说:测试就是比较预期结果是否与实际执行结果一致。
3.ARCHITECTURE OF JUNIT
3.1 Goal of JUnit
u