在当今的测试领域,如何存储测试资产是绝对不能轻视的事情。关注以下两个重要因素有助于制定正确的策略:1)避免测试资产存储中几个常见的误区,2)设计能够满足测试团队对测试资产处理的最佳存储过程以及实现有效的工具支持。本文简要阐述了如何做好上述的两个因素。
大多数成熟的测试团队都会针对存储测试资产的常用需求制定各种策略。这些策略要考虑到测试资产的访问、限制必要的访问人员、以及确保资产不会丢失,还要考虑针对单个特定资产所需的具体存储需求,以证明该资产的存在并保持它的可用。很少有团队能够确保他们的存储方法在操作过程中不会存在任何问题,也很少有团队成功制定出最适合他们自己的高效存储过程。怎么确保在操作存储活动中不面临这类问题,在很大程度上取决于如何去避免几个常见的错误。设计高效的存储过程依赖于团队资产自身的具体需求以及存储这些资产所使用的工具,本文讨论了一些可以帮助实现这一目标的建议。
误区一:使用测试资产一览表
测试团队所面临的第一项艰巨的挑战是:让所有人都知道在哪里可以找到哪些资产。大多数团队采取的措施是,为新成员提供一份测试资产文档的一览表。然而,这基本上不是很有效果。有两个原因,第一,通常这种资产列表是一次性形成的并且很少更新,这意味着列表上的内容随着时间的推移越来越不准确;第二,老成员通常不会访问这种列表,因此资产列表会渐渐被遗忘。
最好的解决方法就是建立并持续维护一个资产地图(根据需要经常更新),有策略地将其放到所有人可以看见的地方,例如:显示在团队门户网站上、粘贴到办公室墙上等。资产地图要能够告诉每个团队成员两件重要的事情:第一,在哪里可以找到与他的角色相关的资产;第二,他应该将他的工作产物存储在哪里。
误区二:正规的存储方式不是很重要
无论何时,都不应该使用非正式的方式或者不按照规定的方式来存储测试资产。例如,网络共享文件夹、测试计算机、团队成员正在使用的台式机或笔记本电脑以及其他非正规方式都应避免。这些方式,限制了更广泛且必要的人群访问或使用资产,鼓励了测试过程中信息孤岛的存在。
误区三:同时使用多种存储工具能够确保测试资产不丢失
当存在多种方式来存储测试资产时,应只明确规定使用的存储方式(仅选择一种)并强制执行。例如,一份培训手册可以同时存储于版本控制工具和文档共享工具中;当这两个工具都可用时,通常情况下会同时使用两种工具来存储文档。但是,应避免这样做而是明确仅使用一种工具并遵照执行(在这种情况下最好使用文档共享工具)。对一份资产创建多个来源仅仅比丢失资产稍好一些,因为资产的冗余存储很可能会导致错误的副本(过期版本、不完整版本等)。
误区四:存储的测试资产越多越好
测试团队不应存储不属于他们的资产。例如,需求、应用程序版本等资产是测试团队所需的,但测试团队并不负责它们的可用性。真正要做的是:通过建立共享过程,使测试团队能够在正确的时间获得正确的资产。另一个类似的错误认识是存储过多的内容。不再使用的测试资产应该存档或者被清除。报告、沟通记录等不需要显式地存储,尤其对于那些很容易从测试管理工具、邮件服务器等地方导出来的资产。测试日志的有效存储期应该限制在使用它们进行分析的时间段内。存储过多的东西可能会引起很多问题,例如:不易查找到重要的资产以及不必要的开支。
建立最佳存储过程
存储过程是一个由一系列规则和惯例组成的框架,它通常是由一个团队制定的,并规定了重要的资产应如何存储以及在哪里存储。下表提供了不同测试资产的恰当的存储方式。这些方式都是从业界的最佳实践中收集来的。尽管这些方式有助于测试团队建立可靠的测试资产存储过程,然而建立最佳存储过程并不像表中所讲的那么简单。最佳存储过程并没有统一通用的模式。很多具体细节都决定了一个团队对最佳的定义,如:团队资产所需的存储容量,一定时间段内资产容量的预期增长情况,资产存储所需的工具和使用许可,组织目标和约束等。
选择适合的测试资产存储工具
测试资产存储工具的选择应该是尽量从测试团队、项目团队和组织(依照此顺序)中选择已有的工具。有时,尽管利用现有工具并不能实现大幅度的优化,但也不应仅由于存储测试资产的需要而购买工具。构建自定义工具或使用免费软件可能不承担购买费用,但需要考虑到如工作量、培训等间接费用。例如,虽然一套测试管理工具是用于存储测试用例的最佳途径,但不应该仅仅由于存储测试用例的唯一目的而购买一套测试管理工具。相反,使用项目团队的版本控制工具就足够了。在没有其他的策略时,一个最佳的存储过程应满足“方便使用”的原则,即从有利于使用该资产的人员的角度出发。例如,测试管理工具和自动化工具本身提供的版本控制功能都可以用于存储自动化测试的脚本;由于自动化测试人员通常使用自动化工具来工作,因此即使在测试管理工具可用的情况下,也应该选择自动化测试工具来存储测试脚本。
测试资产 | 存储方式建议 |
测试活动的项目计划 | 应与设计、编码等其他项目活动的计划共同存储。应利用内容发布工具... |
估算结果 | 应利用内容共享工具 |
测试策略/主测试计划/其他测试计划 | 应利用内容共享工具 |
工作指南文档、模板和表单、行政表单 | 这些文档应该可以从公司网站、内网或门户网站下载。(维护下载链接) |
工具评估报告 | 应利用内容共享工具 |
测试用例/测试数据 | 应利用测试管理工具 |
测试结果 | 应利用测试管理工具 |
缺陷 | 应利用缺陷管理工具 |
测试报告 | 应利用测试管理工具 |
日志/缺陷调查报告等 | 日志应明确保存期限,并定期清理。 缺陷调查报告附在缺陷管理工具中相应的缺陷中。 |
自动化测试脚本 | 应利用自动化工具提供的存储库或版本控制工具。 |
自动化功能库(Automation functional library) | 应利用自动化工具提供的存储库或版本控制工具。 |
自动执行结果 | 应利用自动化工具提供的存储库或版本控制工具。 |
数据库文件、脚本等 | 应利用版本控制工具,最好与被测应用程序使用同一个版本控制工具。 |
培训手册 | 应利用内容共享工具 |
审计规程/日志和报告 | 应利用内容共享/发布工具 |
测试实验室访问和账户申请等表格 | 应利用内容共享工具 |