软件测试人员在软件开发过程中的作用越来越重要,基本上是一个把关的地位。我们来快速浏览一下主要影响软件测试人员的工作质量的几个方面。
一、软件发布周期的不断加速
为 了应对今天需求的快速性和连续性,软件交付变得越来越快。大多人都认为软件测试在软件交付过程中是一个相当棘手的问题。妄想通过简单的加快开发过程来达到 预期的结果,而且开发过程本身存在问题,这显然是不切实际的。如果没有给软件测试分配足够的时间,那么该公司可能需要重新来审视下自己对于软件开发和测试 的态度。大多数企业都非常在意软件的质量,但是呢,公司更倾向于收益的权衡决策,这将极大地加速了在市场上软件错误的暴露风险。
二、开发过程中的低质量代码
雇佣测试人员是为了进行先进的测试,而不应该被一些简单的开发错误所耽误,这些错误在代码实现的时候就能够被发现。像单元测试,静态分析和同行代码审查这类检测方法可以减少大量的错误,而这些错误是很容易被检测到的,如果开发组经常在将程序递交给QA之前使用这些测试方法,可以达到预期的效果,否则QA不得不时间去检测和报告,然后交给开发组,之后QA再检测。 提前检测不仅提高了开发组的整体速度,而且可以让测试人员在有限的时间内集中精力去执行他们的测试方案,从而解决开发过程中的棘手问题。
三、测试数据的真实性
拥有真实数据能够极大的改善测试组件的有效性。良好的测试数据和测试数据管理方法可以增加检测的覆盖面,以及降低风险。 但是,在面对有限的时间和精力,还有协议,生成或者得到一组测试数据是相当有难度的,而拷贝产品数据是有风险的,也有可能是非法的。还有从数据管理员那获 取数据是非常慢的,慢得让人无法忍受。此外,数据的真实性也有可能延长开发时间,这些都超出了开发人员和测试人员的核心能力。
四、测试环境
在一个复杂环境下,有一个完整的,真实的测试环境是不大可能的。开发人员,QA测试人员和维护实施人员需要共同面对几个问题:
系统不切实际或者对于测试实验太过复杂
由于地区和政治界限而不能得到一些资源
没有第三方支持或者协同系统
在有限的时间内,测试不充分
组件的缺失或者不稳定性
不断变化的开发环境
人 们试图通过构建出一个阶段性的测试环境或者非常昂贵的虚拟测试实验,以解决测试环境对程序的测试限制。大多数情况下,构建这样一个阶段性应用实例或者虚拟 的测试在技术上是不可行的。例如,当相关的应用程序是第三方应用,一个其他部门开发的复杂系统或者是一个超出了测试范围的应用。即使我们可以构建一个完整 的测试环境,但是所有的相关应用的配置和维护需要很高的费用。
结果不幸的是:测试人员没有机会测试。最近的研究表明,由于测试环境的访问限制,64%的测试者目前用一点时间,甚至几乎没有时间来创建自动化测试,只有50%的预期的测试计划能够完成。
如果你想摆脱这些测试人员的烦恼,虚拟化服务可能会给你有所帮助。