在当今智能化、网络化的世界里,软件无所不在,而且无时不在。从政府到企业再到个人生活,都离不开软件。通过软件来获得竞争优势,已经是企业决胜市场的常用武器。耐人寻味的是,软件故障所带来的危害也是惊人的。这种危害不仅包括即时利益的损失,也包括对企业长期信誉和品牌的影响。因此,软件测试的效率和完备程度就成为确保软件不发生或者少发生故障的核心能力。这自然也关系到企业的核心竞争力。
稳定且高质量的软件意味着生产力不会因为软件崩溃或是出现漏洞而受影响。竞争力因此可以提升,而不稳定的软件则有可能增加企业的风险。值得欣慰的是,近年来软件测试市场进入了类似于文艺复兴时期般的繁荣——从技术创新到其在产业价值链中所处的地位都取得了巨大的进步,为企业解决软件质量方面的困扰提供了更加稳定的基础。因而,软件测试从以往那种处于末端不为人知的状态,转而成为企业全部生命周期中的一个重要组成部分。
技术创新提升软件测试价值
因产品内软件比重的增大,软件与企业收益、风险以及品牌信誉之间有着越来越密切的关系。这也使得企业领导层越来越意识到软件测试的重要性。而软件业本身也正在从原本主要关注于开发进度转向全面管理成本、质量和进度,以便从整体上降低企业风险。
欲速则不达,企业必须把风险和进度等多种因素充分地考虑进来。软件和平台的复杂度飞速攀升。企业都意识到,软件即便已经开发完成并处于使用中,仍然存在一定的风险。这就是说,软件测试必须作为其整个生命周期中不可或缺的标准组成部分。
近年来,在软件厂商和测试专业人士的共同努力下,测试工作在整个软件生命周期中的地位和作用有所提升。测试专业人士对于相关技术的发展具备了比以往更强大的信心。他们不再只是站在软件开发过程中的后台,而是常常站在第一线直接面对客户,为客户提供风险评估和诊断,而且软件版本的每一次更新都离不开他们的努力。软件测试人员战略地位的提升也帮助软件提供商向客户提供更高质量的产品和服务,使得客户关系更加融洽。
软件测试在产业中的地位上升,不论是来自技术提升的结果,或是企业界对产品与其软件质量的重视,均有密切关系。但软件测试技术的创新在过去的几年内有目共睹,这主要体现在以下几个方面:
移动环境:在移动的环境中保证软件质量,这不仅对软件企业是新挑战,也激发了许多相关的技术创新。特别是智能手机和平板电脑的迅速普及后,自带设备(BYOD)潮流的兴起。移动办公,这已经不是什么奢侈的想法,而是一种必需。
云计算与物联网:云计算所带来的不仅是技术变化,也是经济环境的变化。由此对可扩展性、性能和安全性所带来的挑战,催生了许多新物联网的技术创新。而要能享受到物联网带来的创新与便利,相关的设备要求了更强大的软件运算能力及功能。因此,设备在出厂前的测试及跨越设备和云等各层级的测试也显得更加重要。
嵌入式软件与企业级应用软件的融合:这种融合显然是一种长期趋势。由此可以让物联网设备与企业级应用一同融入到云计算的架构之中,更加充分地交流和共享信息,从而让企业的生产价值链从市场、用户到生产管理实现更高程度的全程自动化。这种架构上的提升给软件测试也带来了更广泛的要求和挑战。
软件测试工具市场格局
软件测试工具的集成化及其对产品生命周期的覆盖,是软件测试领域当今和未来的必然趋势。软件测试工具提供商也不再是独善其身,而必须广泛的与更多厂商成为合作伙伴生态系统。嵌入式软件测试亦相同。例如,风河公司是嵌入式软件市场的领导者。它就已经与HP和IBM等公司密切合作,让各自的软件测试工具可以集成在一起。风河也与Coverity公司携手合作,共同针对嵌入式软件安全性需求来整合其开发测试解决方案,以便在应用程序编写时能够更快、更容易地找出设备软件安全漏洞。
知名市场研究机构voke长期追踪研究软件测试工具市场格局。其研究报告指出,软件测试市场的赢家将是这样的提供商——软件测试厂商应当是深刻地理解到软件测试不仅关系到软件产品的质量,而且更关系到企业用户兑现其品牌承诺的能力。成功的软件测试提供商必力,voke机构向业界提供了“voke市场推动者格局”报告(图1)。
图1:voke市场推动者格局。
voke在这份报告中指出,软件企业在选择其软件测试解决方案的时候,应该慎重考虑以下要素:你要测试的应用、服务、设备或者硬件是什么?你希望用怎样的方式来测试它?你希望在整个产品生命周期里的哪些阶段进行测试?你要进行软件测试的频率有多高?你的软件产品将会被用在哪些地方?软件的使用者是谁?软件与硬件的关系如何?软件的关键性程度有多高?如果发生故障会带来的影响有多大?你的软件是否必须符合行业规范?
对于以上这些问题,不同的企业所给出的回答肯定是各不相同的。“voke市场推动者格局”报告有利于企业回答上述问题并选择适当的解决方案提供商。在这个格局中,风河公司的解决方案被归入级别最高的“变革型”提供商,比较适合以下情况的软件企业采用:强调设备软件质量的企业;为设备软件寻求商业级测试解决方案的企业;希望有效管理软件复杂度和产品上市速度,并且有高安全性需求的企业;希望通过设备软件来增强竞争优势的企业;寻求与传统IT生命周期相互融合的企业。
软件已经是企业在竞争中脱颖而出的利器。而随着物联网时代的步步逼近,设备也很少单独运行,越来越多的则是参与到M2M式的交互合作当中。多核、多操作系统、64位,这都是当今最热门的技术,而hypervisor(管理程序)在其中起到关键性作用。不仅软件环境如此复杂,产品上市速度的压力也更加严峻。特别是消费电子产品,其生命周期有的时候竟短于6个月。因此,传统的人工软件测试方法已经无法赶上其速度,自动化测试成为必然的选择。