可通过技术复审检查OOA和OOD的 模型的正确性和一致性。
2 面向对象测试策略 面向对象程序的特点对软件测试的影响:
•信息隐蔽对测试的影响 •封装和继承对测试的影响
•单元和集成测试策略必须有很大的改变 •测试用例的设计必须考虑OO软件的特
征
(1). OO的单元测试
单元概念的变化—封装的类或对象作为最小 的可测试单位
子类继承或重载的父类成员函数的测试问题
•对父类的测试是否能够照搬到子类?
上例中: Base∷Redefined() 和Derived ∷Redefined() 已 是两个不同的成员函数, 照理应对Derived ∷Redefined() 重新进行测试分析, 设计测试用例,但由于它们的相似性,只 需在Base∷Redefined() 的测试要求和测试用例上添加对 Derived ∷Redefined() 的新的测试要求和增补相应的测试
4.对每个消息,确定下一层被调用的操作,并把这些操作 结合进测试序列中.
ATM ATM User Interface verifyStatus depositStatus dispense Case printAccent Stat readCardInfo getCaseAmnt
cardInserted password deposit withdraw accentStatus terminate
在限制 下还是 存在操 作的许 多排列
系统对操作的限制: •必须在应用其它操作之前先打开帐户,在完成了 全部操作之后才能关闭帐户; •……
一个account类实例的最小行为历史包括下列操作: open . setup . deposit . withdraw . close account类的最小测试序列 大量的其它行为可能在下面序列中发生: open . setup . deposit . [deposit | withdraw | balance | summarize | creditLimit] n . withdraw . close