面向对象系统测试全解析
1. 测试阶段概述
测试一般分为四个阶段:单元测试、集成测试、系统测试和验收测试。尽管每个应用系统各不相同,但大多数错误是在集成测试和系统测试阶段被发现的。测试不仅要涵盖不同阶段,还需同时满足功能和非功能需求。
2. 面向对象特性对测试的影响
2.1 封装与信息隐藏
- 业务流程测试难题 :封装和信息隐藏使过程和数据结合形成对象,将一切隐藏在可见接口之后。要测试系统满足用户需求的能力,需测试用例中所代表的业务流程。然而,业务流程分散在一组协作类及其方法中,而对象类实例又将数据隐藏在类边界之后,难以看到业务流程对系统的影响。
- 单元定义问题 :传统方法中,单元测试的单元可能是函数中的过程,但在面向对象系统中,过程分散在一组类中,测试单个方法没有意义,单元应是类,这极大改变了单元测试的方式。
- 集成测试挑战 :对象可聚合形成聚合对象,也可分组协作,还能用于类库、框架和组件。基于这些不同的类组合方式,如何有效进行集成测试是个难题。
2.2 多态与动态绑定
多态和动态绑定对单元测试和集成测试都有显著影响。由于单个业务流程通过分布在一组对象上的方法实现,在方法层面进行单元测试无意义。而且,同一方法可在不同对象中实现,测试单个方法实现也无意义,有意义的测试单元仍是类。除了简单情况,动态绑定使在系统执行前无法知道将执行哪个实现,这让集成测试极具挑战性。
2.3 继承
继承会影响
超级会员免费看
订阅专栏 解锁全文
9532

被折叠的 条评论
为什么被折叠?



