三) 测试用例的设计

  自动化测试架构的选择影响测试用例的设计,测试用例是对特定对象开发的一系列测试输入、执行条件及期望结果的集合,例如练习程序特定执行路径,或检查与特定需求的一致性等。以下是一个查看网上订单的测试用例实例:
  1、测试用例描述
  查看客户订单,订单包含的标识符、状态、归属人、订单组成、订单数量、总金额等。
  2、执行条件
  前置条件:
  客户登陆系统并且不具有管理员权限,ClassicsOnline主窗口打开,两个数量为1的不同订单显示在客户名下,一个买的是Brandenburg,另一个是小提琴
  测试输入:
  从订单菜单里选择"ViewExistingOrderStatus…",查看客户订单后,关闭查看窗口
  观察点:
  "ViewExistingOrder"窗口弹出,订单的客户名显示正确,其他列的抬头显示ORDERID,STATUS,COMPOSER,COMPOSITION,QUANTITY,TOTAL等,滚动条可以正常滚动
  控制点:
  "ViewExistingOrder"窗口里,具有关闭按钮和X按钮以关闭该窗口,还有CancelSelectedOrder按钮
  期望结果:

  两个订单有两个不同的标记数字,状态是"OrderInitiated",归属人是Bach,购买物是Brandenburg和小提琴,数量各为1,总金额分别是18.99和16.99
  后置条件:

  测试完成后,ClassicsOnline主窗口自动激活
  测试用例的书写要有相对固定的模板和表现形式,并存储在固定位置以方便执行和跟踪,测试人员也必须严格按照测试用例执行测试或开发测试脚本。

  四)数据驱动的测试方案
  数据驱动是目前自动化测试应用多的架构模式,它把测试脚本和测试数据有效分离,并具有如下优势:

  测试数据可以快速修改,而不影响测试脚本
  添加测试用例只需修改测试数据,而很少修改测试脚本
  测试数据可被众多测试脚本共享

  关于测试数据:
  需要准备什么样的数据?

  参考程序流程图或用例设计图。流程图可提供测试系统需要的数据信息,或者数据间的依赖关系,然后定义需要的数据,例如数据库数据、输入框数据、期望数据等。
  从哪里获得需要的数据?
  产品数据或先前版本的数据。首先确定这些数据是否合适,或者从中摘录合适的数据子集。
  创建数据。

  无论哪种获取方式,都不要将无法解决的问题遗留到开始运行测试阶段;可以通过和数据库管理员或系统设计人员交流获得数据,以大程度减少和测试数据相关的测试中断。