测试中“特殊数据”提出的挑战

2014-10-29  徐丹 

Manjula Anandamurthy刚就业时是一名cobol程序员,如今她已在IT界混了20多年。在印度花了10年独立为软件测试项目制定策略并进行管理。她曾在银行,医疗及零售行业当过负责大型软件测试项目的测试经理。她还干过软件工具顾问。

?

  一个精心设计的测试数据管理流程可以保证更高的测试覆盖率并减少终端产品中的缺陷。一个典型的测试数据管理流程包括测试数据需求阶段,期间测试和开发团队成员简单介绍并将所有要求的测试数据合并。还包括对重新测试的更新频率。然而执行测试项目时,我们却发现数据库不仅仅是一个值,一经发布它还有额外惊喜。以下三个数据尤其值得关注:

  例1:隐藏列
   第一例便是一个医疗应用程序。病人数据是高度保密的;受数据保护行动的保护,病人对关于他们的隐藏数据保留某些权力。所有医疗保健单位都必须遵循这一点并确保别人绝对无法获取这些数据。我们正在测试的医疗应用程序有隐藏列。这些隐藏列在设计文件,要求规范或测试用例中无迹可寻。只有在我们将之投入生产时,我们才意识到这些列的存在,且没有做过使用这些列的测试。这种情况下,我们怎么确保发布的产品没有缺陷呢?

  例2:多媒体数据
   另一例:我们在网页用户可以在上面上传视频的网页上进行变更请求。因为用户有可能上传有煽动性的视频,敏感的东西都必须丢弃并从网页上删除。这只能靠人工干预和人为判断而不能靠自动化来完成。不过,我们还是需要用一些测试用例检测这些视频。我们该怎么创建测试数据?难道去上传敏感视频?这么做的话,敏感视频就会留在测试环境中并可能违反信息安全法规。

  例3:多个数据库
   第三例出现在从两个不同源头中提取数据时。比如,遵循HIPAA的法规在个人数据上执行规则。例如个人姓名必须与他们社保卡上的一致。在一些自动服从的数据库中定义这些规则也是有可能的。一个典型的数据库结构是不允许有这些定义的。所以从两个这样的数据库中提取测试数据时,我们最后就会使用不兼容这些规定的测试数据,然后导致不完整的测试。

  这些只是测试员会面临的多种情况中的三个。因此,除了常规测试数据管理流程,测试数据创建阶段还有必要包括以下内容:
   ??一名能够预见数据库结构中这些数据的存在或不存在的领域专家。如果一些重要机密的信息在任一表格内丢失了,领域专家就可以查找去哪可以找到这些数据。测试团队会意识到这类信息的存在,至少在他们的测试用例中发现这类场景并未被覆盖;
   ??一个让测试网页可以上传视频和其他多媒体文件(包括:定期审核一类的活动)的测试计划。有了一些语音识别工具的帮助,这类测试的自动化也是有可能实现的。这类数据的维护也应该被创建,存储和再次利用。一个有效的测试数据管理流程需要一个重要功能的准确环境和可操作数据。认真考虑测试数据管理策略和控制对高效彻底的测试很有必要。

版权声明:本文出自 SPASVO泽众软件测试网:http://www.spasvo.com/news/html/20141028151018.html

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。


311°/3112 人阅读/0 条评论 发表评论

登录 后发表评论