1.在程序测试过程中将会产生一定的破坏作用
因为在人类的实际活动过程中具有极强的目的性,因此在目标建立过程中也会受到自身心理作用的直接影响。倘若软件测试的最终目的在于证明程序自身并不存在错误,那么在实际工作过程中便会向着该方向发展,即在实际测试过程中可能会挑选那些程序出错几率较小的测试数据。此外,倘若最终的目的在于证明程序中存在错误,那么便会选择部分容易发现程序中存在错误的测试数据。相比来说,后一种工作态度比前一种更具有价值。
对于测试的定义已经明确说明,程序测试的过程中必然会产生破坏性,而其自身产生的破坏作用已经达到了难以忍受的地步。当前 会上绝大多数个体的人生观具有一定的建设性,而不是破坏性。在实际生活和工作过程中,更加希望建造而不是毁坏一个物品。而程序测试因为自身具有较强的破坏性,从而使得人们在工作选择过程中往往会出现排斥测试的现象。根据心理学研究得知,倘若人们已经知道某一件事根本就不合适或者不可能做好,那么最终的结果便是难以良好的完成。将程序测试定义为在程序中找寻出错误的方式,便使得测试成为了完全可以完成的工作任务,继而促使人们有效克服心理上存在的相关问题。
而另一个难以解决的重要问题便是,即便完成了预期的程序测试要求,其中依然可能会存在错误,即如果程序不按照要求进行工作,说明其存在错误,而如果程序进行了不让其进行的工作,也属于错误。
2.在程序测试过程中应当避免程序员测试
要求开发者对自己开发的代码进行测试属于一件极为艰难的事情。因为开发和测试本来就是两种完全不同的活动。开发的目的是创造的行为,而测试的唯一目的是证明软件自身存在错误。上述两种活动之间存在的本质上的对立。对于同一个个体来说,其根本不可能将两个完全对立的角度进行很好的扮演。以该种思想为基础,应当在软件测试过程中避免开发人员的介入。对于程序员自身来说,其完成程序的编写是一种设计性较强的工作,而如果在测试过程中发现错误,试图在短时间内完成个人观点的改变是很艰难的。对于所有户主来说,如果墙纸由自己贴上去,之后要求自己将其揭掉是极强困难的事情,因为这是对自我工作的一种否定。除却心理因素之外,更重要的问题则是,在程序设计过程中可能会包括程序员自身对于问题的叙述,继而产生的误解所引发的的错误。倘若受到该种因素的影响,要求程序员对于自身所开发的程序进行测试时,往往会因为相同误解的影响而使得错误不能被发现。
从多种角度分析,一项工程或者程序设计机构作为生命的有机体,其自身也会存在心理学问题。此外,在绝大多数情况下,人们都会在限定的时间内,以一定的代价编制程序能力对程序设计机构和项目管理人员的能力进行衡量。在该种背景下,时间和成本指标将会成为衡量的关键所在,但是对于程序自身可靠性的衡量却变得艰难。
软件生产的三个最重要的因素是:质量、进度和费用。
计算技术的进步,意味着在经济领域中信息系统更新的速度更快。新的硬件技术的发展,均会使软件过时,系统交付使用的时间变得日益重要,新产品在其性能和费用上被其他产品取代之前的推销时间,即市场窗口就已经缩小了。
由于费用和进度的限制,要开发一种高质量、快速交付和低成本的软件产品变得越来越困难,也就是说要同时达到三个目标是困难的。因此在软件产品的开发中就要权衡它们之间的关系,使软件的特性能满足用户的要求,这意味着软件产品特性的度量和预计是必要的。
在软件生产过程中所涉及到的三个重要因素便是质量和进度以及费用投入。
随着计算技术的不断进步,说明在经济领域中信息系统自身的更新速度将会变得更快。全新的硬件技术的发展都会使得软件出现过时,在此背景下软件系统自身的交付时间将会变得更加中澳,新产品在性能和费用上已经被其他产品的推销时间所取代,从而使得自身的市场窗口明显缩小。
在软件测试工作实际开展过程中往往会由大量独立测试机构承担,在该种背景下,软件测试工作将会在经济和管理两方面实现独立,而独立测试能够避免软件开发者对自己所开发的软件进行测试,受到心理的影响,软件开发者在实际工作过程中难以客观有效的测试自身的软件,继而找寻出那些因为对问题误解而产生的错误。独立测试能够避免软件开发机构对自身软件的测试,因为软件在实际开发过程中将会受到时间和成本以及质量的共同影响,其中时间和成本指标可以有效衡量,但是软件自身的质量成本却不能形成准确度量。基于此,在软件设计过程中倘若上述三种因素相互之间产生矛盾,那么最容易被忽视的便是质量,而如果测试和开发来自于同一家机构,那么最终的测试便会受到开发组织乙方的管理压力,从而使得测试的基本过程受到较大干扰。
采取独立的测试方式,在技术和管理两个方面都能够极大的提升软件测试自身的有效性。
①、客观性
对软件测试和软件中的错误抱着客观的态度,这种客观的态度可以解决测试中的心理学问题,既能够以揭露软件中错误的态度工作,也能不受发现的错误的影响。经济上的独立性使其工作有更充分的条件按测试要求去完成。
②、专业性
独立测试作为一种专业工作,在长期的工作过程中势必能够积累大量实践经验,形成自己的专业优势。同时软件测试也是技术含量很高的工作,需要有专业队伍加以研究,并进行工程实践。专业化分工是提高测试水平,保证测试质量,充分发挥测试效用的必然途径。
③、权威性
由于专业优势,独立测试工作形成的测试结果更具信服力,而测试结果常常和对软件的质量评价联系在一起,由专业化的独立测试机构的评价,更客观、公正和具有权威性。
④、资源有保证
独立测试机构的主要任务是进行独立测试工作,这使得测试工作在经费、人力和计划方面更有保证,不会因为开发的压力减少对测试的投入,降低测试的有效性,可以避免开发单位侧重软件开发而对测试工作产生不利的影响。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!