目的:
|
确定将使所需测试得以执行的测试工作基本元素。
|
要使迭代测试工作取得成功,重要的是确定并维护适当的基础结构。 如果没有基础结构来帮助维护,测试工作很快就会变得无法维护并无法使用。尽管测试基础机构与自动化测试工作的相关性更明显,但它对手动测试工作也是一个重要问题。
考虑系统中的动态元素和事件;它们将对各个测试的实施造成哪些影响?寻机分解各个测试之间的依赖关系,并通过提供间接层的公共控制点来管理它们。可探索依赖关系的常见领域包括测试导航、测试数据使用和系统状态变化。
使用您已收集的信息,考虑哪些需求将控制测试基础结构,以及它将需要提供哪些工具来实现成功的测试方法。
子主题:
当执行测试时,有些测试对遵循的场景或过程有一个公共结构,但同一过程需要针对不同测试目标项执行多次。在测试自动化的情况下,创建可在许多不同环境中重用的公共测试脚本或实用程序功能以高效执行这些公共测试场景可能是很有用的。如果测试场景需要改变,这可以提供一个中心修改点。示例包括对适当的接口元素类执行标准边界测试,以及验证
UI 元素是否服从 UI 设计标准。
当要在给定的测试环境配置下执行测试时,使用的测试数据值中可能会发生冲突。当环境由多个测试团队成员共享时,这个问题就更严重了。考虑使用数据驱动法将测试数据值与使用它们的测试脚本分开,并提供一个测试数据收集和修改中心点。这会提供两种主要好处;它使所有测试团队成员都可看见测试数据,允许他们避免测试数据使用中的潜在冲突,并且在数据需要更新时,它为测试数据提供一个中心修改点。
多数测试执行之前都要求系统处于特定的给定状态,并应在完成之后使系统回到特定的已知状态。常见的依赖关系包括安全权限(功能或数据)、动态数据或环境相关数据(例如,系统日期、订单号、用户标识首选项等)、数据有效周期(例如,安全密码、产品过期等)。有些测试是彼此高度相关的;例如,一个测试可能创建唯一的订单号,随后的一个测试可能需要分派同一个订单号。
常见的解决方案是使用测试套件以正确的系统状态顺序将相关的测试排序。然后,测试套件可以与相应的系统恢复和设置实用程序配合使用。对于自动测试工作,一些解决方案可能包括使用集中的动态系统数据存储和在测试脚本中使用那些引用集中化信息的变量。
测试有时需要从运行时系统状态的一个或多个方面计算或推导相应的数据值。这同时适用于输入和预期结果的测试数据值。考虑开发实用程序来计算得出的数据值,简化测试执行并消除因人为错误而造成的潜在错误。在可能的情况下,开发这些实用程序以使它们可供手动和自动测试工作运用。
对于测试自动化,您应考虑分离出共有的导航顺序并使用集中的实用程序功能或测试脚本实施它们。然后这些共有导航顺序就可以在多处重用,如果随后发生导航更改时,这些顺序就提供了一个中心修改点。这些共有的导航辅助功能只是点到点地导航应用程序;它们自己通常不执行任何测试,而是验证它们的开始状态和结束状态。
|