技术开发 频道

启发法测试策略模型

  2.7. 测试要素。被测试的产品对象。。

  ? 范围:在你的测试职责范围中,包含产品中的哪一部分功能,不包含哪些?

  ? 可用性:你有需要被测试的产品么?

  ? 易变性:产品是否在不断的变化?再次测试时需要些什么?

  ? 新元素:最近,产品中新增或者修改了些什么?

  ? 可测试性:产品的功能和可靠性是否足够让你能有效的来进行测试?

  ? 将来的版本:你测试中哪部分,如果有的话,必须被设计来应用到产品的将来的版本中?

  2.8. 可提交物。测试工程的可以看得见的提交物。

  ? 内容:你要提交哪种报告?你会分享你的工作记录,还是只有结果?

  ? 目的:你的提交物是不是作为产品的一部分?有别的其他人要运行你的测试么?

  ? 标准:你有要遵循的一些特别的测试文档标准么?

  ? 媒体:你要怎样记录和并与其它人交流你的报告?

  3.产品元素

  一个产品,最终是要提供给客户一种体验或者是一个解决方案。产品是有很多尺度的。因此,为了获得好的测试结果,我们必须检验这些尺度。下面所列的每一类,都代表着一个产品的重要的并且是少有的一个方面。测试人员如果对这些方面关注得很少的话,很可能会错过很重要的Bug.

  3.1. 结构。构成产品本身的任何东西。

  ? 代码:构成产品的代码结构,从可执行到独特的例程(from executables to individual routines)

  ? 接口:子系统间连接和通讯的点。

  ? 硬件:对产品必不可少的任何硬件组件。

  ? 非可执行的文件:与多媒体和程序不同的任何文件,例如文本文件,样品数据,或者帮助文件。

  ? 附属品:产品中除了软件和硬件之外的任何其它部分,例如纸质文档,Web链接和内容,包装,许可声明,等等…

  3.2. 功能。产品能做的任何事情。

  ? 用户界面:用来给用户交互数据的任何功能(例如,浏览器,显示界面,数据输入窗口)。

  ? 系统接口:用来给不同于用户的其它事物交互数据的任何功能,例如,其它程序,硬件,网络,打印机,等等。

  ? 应用:用来定义或区分产品或者实现核心需求的任何功能。

  ? 算法:任何计算的功能或者算法的操作嵌入在其它功能里面的。

  ? 与时间有关的:暂停时间设置;每日或每月报告;每晚的批处理作业;时区;商业假日;利息算法;条款和担保期;以及要求精确的功能。

  ? 改变:修改或改变某些东西的功能(例如,设置字体,插入剪贴画,从账户中取钱)

  ? Startup/Shutdown:启用和初始化或者退出产品时需要用到的任何方法与接口。

  ? 多媒体:声音,图片、视频、或者嵌入在产品中任何图形化的显示。

  ? 出错处理:侦测错误并从错误中恢复的任何功能,包括所有的错误信息。

  ? 集成交互:产品的功能之间的任何交互或接口。

  ? 可测性:提供的可以用来帮助测试的任何功能,例如诊断(diagnostics),日志文件,断言,测试的菜单,等等。

  3.3. 数据。产品处理的所有东西。

  ? 输入:产品要处理的任何数据。

  ? 输出:产品处理过的结果数据。

  ? 预设值:作为产品的一部分提供的任何数据,或者直接在产品中创建的数据,例如初始化数据库,系统默认值,等等。

  ? 配置项:任何内置的并且会在多个操作持续使用数据。包括产品的状态或样式,例如参数设置,视图模式,文档目录,等等。

  ? 数据排序:数据的任何顺序或排列,例如文字的排序,分类或未分类的数据,测试顺序。

  ? 数据规模(Big and little):数据的大小和聚集的变化量。

  ? 异常数据:以不受控制或不正确的方式产生的无效的、被破坏掉的、或者产生的任何数据或者状态。

  ? 生命周期:在数据实体的整个生命周期中的变化,包括创建、访问、修改和删除。

  3.4. 平台。产品所依赖的所有事物(并且也是你项目的外部环境)

  ? 外部硬件:并不是要交付的产品的一部分,但是是为了保证产品运行的必须的硬件组件和配置(或者是可选的):CPU,内存,键盘,外设,等等。

  ? 外部软件::并不是要交付的产品的一部分,但是是为了保证产品运行的必须的软件组件和配置(或者是可选的):操作系统,同时执行的应用程序,驱动,字体,等等。

  ? 内部组件:被嵌入在你的产品中,但是不是由你的项目生产的库或者其它组件。既然你不能控制它们,你必须决定如果它们失效了该做些什么来解决问题。

0
相关文章