西门子工业电源供应商
(2)黑盒测试。通过对照软件的规格说明书,基于系统应该完成的功能进行测试,测试人员必了解该产品的设计思路,黑盒测试又叫行为测试、功能测试或基于需求的测试。
(3)灰盒测试。灰盒(Gray Box)是一种程序或系统上的工作过程被局部认知的装置。灰盒测试,也称作灰盒分析,灰盒测试是介于白盒测试和黑盒测试之间的一种测试方法,或者说是两者的结合,是基于对程序内部细节有限认知上的软件调试方法。测试者可能知道系统组件之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。它关注输出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。灰盒测试可以避免过度测试,精简冗余用例。测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面地发现问题,例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制订应对措施,这将显著减少总体测试时间,加快项目进度。
但是W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求。
浔之漫智控技术(上海)有限公司(xzm-wqy-sqw)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
西门子工业电源供应商
但是V模型也存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对程序运行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。2. W模型
W模型由Evolutif公司提出,相对于V模型,W模型增加了软件开发各个阶段中应同步进行的验证和确认活动。验证就是要用数据证明是不是在正确地制造产品,强调的是过程的正确性;确认就是要用数据证明是不是制造了正确的产品,强调的是结果的正确性。W模型如
就像软件开发有过程模型一样,软件测试也有过程模型。软件测试过程模型是对测试过程的一种抽象,用于定义软件测试的流程和方法。
测试是一个过程,首先确定在测试过程中应该考虑到哪些问题,如何对测试进行计划,测试要达到什么目标,什么时候开始,在测试中要用到哪些信息资源。其次就是软件产品如何被测试(制作测试用例),之后建立测试环境,执行测试,后再评估测试结果,检查是否达到已完成测试的标准,并报告进展情况。随着测试过程管理的发展,软件测试专家通过实践总结出了很多很好的测试过程模型。这些模型将测试活动进行了抽象,并与开发活动有机地进行了结合,是测试过程管理的重要参考依据。它的提出和发展反映了人们对软件过程的某种认识观,体现了人们对软件过程认识的提高和飞跃。1. V模型
V模型是具有代表意义的测试模型。V模型早是由Paul Rook在20世纪80年代后期提出的,旨在改进软件开发的效率和效果。V模型反映出了测试活动与分析设计活动的关系。在图1.7中,从左到右描述了基本的开发过程和测试行为,非常明确地标注了测试过程中存在的不同类型的测试,并且清楚地描述了这些测试阶段与开发过程期间各个阶段的对应关系。箭头代表了时间方向,左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即测试过程的各个阶段
(5)Pareto原则。测试发现的错误中80%很可能起源于20%的模块中,例如,在美国IBM公司的OS/370操作系统中,47%的错误仅与该系统的4%的程序模块有关。所以一定要注意测试中的错误集中发生现象,如果发现某一程序模块似乎比其他程序模块有更多的错误倾向,则应当花较多的时间和精力测试这个程序模块。
(6)对测试出的错误结果一定要有一个确认的过程。一般由工程师A测试出来的错误,一定要由工程师B来确认,严重的错误可以召开评审会进行讨论和分析。
(7)制订严格的测试计划。制订严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
(8)完全测试是不可能的,测试需要终止。想要进行完全的测试,在有限的时间和资源
1.4.2 软件测试的原则
为了进行有效的测试,测试工程师必需掌握软件测试的基本原则。一般有下面几条原则可作为测试的基本原则。
(1)尽早测试
应当把“尽早和不断地测试”作为座右铭。由于软件的复杂性和程序性,错误在软件生命周期各个阶段都可能产生,所以不应把软件测试仅仅看作是软件开发过程中一个独立阶段的工作,而应当把它贯穿到软件开发的各个阶段中。在软件开发的需求分析和设计阶段就应开始测试工作,编写相应的测试文档。同时,坚持在软件开发的各个阶段进行技术评审与验证,尽早的开展测试执行工作,一旦代码模块完成就应该及时开展单元测试,一旦代码模块被集成成为相对独立的子系统,便可以开展集成测试,一旦有BUILD提交,便可以开展系统测试工作。由于及早的开展测试执行工作,测试人员尽早的发现软件缺陷,大大降低了BUG证软件质量的重要手段。近年来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试。由于软件工程采用的生存周期方法把软件开发划分成若干阶段,这样就对中间产品提供了检验的依据,各阶段完成的软件文档成