当此类信息被竞争对手获取后,他们则可以得知此类技术的优劣,学习的更快,甚至可能直接窃取测试结果,获得该产品。他们会和你一样了解产品的代码、功能、潜在问题以及应用程序中的薄弱环节,借此可以在新功能发布后他们开发出更为完善的产品,直到完全占据市场。
背后有一系列的风险存在
再者,就是正常的隐私问题。当测试环境处于被劫持状态后,即便未在进行任何应用程序测试,设备依然面临危险,信息数据依然可能被盗。无关测试,也许是公司其他信息,可能是新的UI设计,可能是未公开的发布计划等均可能酝酿出重大的安全问题。
这时,攻击者就像是普通的黑客,闯入你的私人领域窃取相关信息并且发布在网上。原始测试数据被上传,公司专利技术变成公共知识,个人信息被窃取,所有的问题仅仅只是因为不安全的测试环境,这种危险绝非耸人听闻,而是正在发生的问题。
测试环境真正的安全
那么,要怎样的测试环境才能够算得上是安全呢?真正安全的环境应当有如下几个特点。
第一,测试专用虚拟机应当是一次性的。在测试中,每一个测试虚拟机都应该是动态的,用于单一的测试,结束后便直接销毁。虚拟机绝对不可以回收后再交给其他用户多次利用,也不可以为同一用户进行多次测试。
第二,确保通信安全。与测试系统相关联的通信系统应当通过安全的VPN通道连接。测试脚步和数据只需要将缓存暂时交给测试系统另一端的客户,而并非将之储存后再交出。而且一定要仅利用当前测试的虚拟机与客户进行相关的沟通。
第三,保证与外部没有更多沟通。在测试虚拟机中,除了连接客户的VPN通道和测试需要连接保留,其他一切与外网相互沟通的渠道都应该禁用。
第四,测试数据及其他构件不要现场存储。相关测试数据的存储只应该存在RAM测试服务器上,然后通过安全连接发送到客户端。而如果存储也是属于测试内容的一部分的话,这些存储应当存储在基于云的安全位置,并且在一定的时间内交由客户,由其自由处置。
如果一个测试环境中不能具有以上几点因素,那么任何开发商都应该注意,你的测试环境可能面临太多安全问题。一个真正的软件测试服务至少应该对测试数据的安全进行保障,否则你的测试努力,会是谁的测试结果呢?