西门子TP700触摸屏
入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。测试人员对所测试软件涉及的业务知识了解得越多,测试就越贴近用户实际需求。并且测试发现的缺陷也是用户非常关注的缺陷。相反,如果缺乏对产品所涉及的业务领域的理解,则有可能测试出来的缺陷只是停留在功能操作的正确性层面,可能会因为对某些业务知识存在误解,导致误测。
(2)计算机专业知识nford Myers的《软件测试艺术》可算是软件测试领域的第一本*重要的专著,Myers将软件测试定义为:“测试是为发现错误而执行的一个程序或者系统的过程”。Myers和他的同事们在20世纪70年代的工作对软件测试的发展起到了重要的作用。
到了20世纪80年代初期,IT行业开始大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。1982年,美国卡来纳大学召开了首次软件测试技术会议,这是软件测试、软件质量研究人员与开发人员的第一次聚会,这次会议成为软件测试技术发展的里程碑。1983年,Bill Hetzel在《软件测试完全指南》一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量”,这个定义至今仍被引用。1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。”这个定义明确指出软件测试的目的是为了检验软件系统是否满足需求。软件测试再也不是一个一次性的、而且只是开发后期的活动,而是与整个开发流程融为一体。软件测试已成为一个专业,需要运用专门的方法和手段,由专门人才和专家来承担。
进入20世纪90年代,软件行业开始迅猛发展,软件的规模变得非常大,在一些大型软件
的覆盖策略可能足以生成测试完全程度的可计量评测。例如,如果已经确定了所有性能测试需求,则可以引用测试结果来得到评测,如已经核实了75%的性能测试需求。
如果应用基于代码的覆盖,则测试策略是根据测试已经执行的源代码的多少来表示的。这种测试覆盖策略对于安全至上的系统来说非常重要。代码覆盖可以建立在控制流(语句、分支或路径)或数据流的基础上。控制流覆盖的目的是测试代码行、分支条件、代码中的路径或软件控制流的其他元素,数据流覆盖的目的是通过软件操作测试数据状态是否有效。
2种评测都可以手工得到或通过测试自动化工具计算得到。
(3)质量评测。质量评测是对测试软件的可靠性、稳定性以及性能的评测,它建立在对测试结果的评估和对测试过程中确定的缺陷分析的基础上。当评估测试对象的性能行为时,可以使用多种评测,这些评测侧重于获取与行为相关的数据,如响应时间、计时配置文件处理软件和表单软件,用于编写测试计划和规范)、视频设备、网速、显示分辨率、数据库权限、硬盘容量等。如果条件允许,**能配置几组不同的测试环境。
测试准备是经常被测试人员忽略的一个环节,在接到测试任务之后,基于种种因素的考虑,测试人员往往急于进度,立即投入到具体的测试工作,忙于测试、记录、分析,可是当工作进行了一半才发现,或是硬件配置不符合
没有做好测试准备造成的。4. 执行测试
执行测试是执行所有的或一些选定的测试用例,并观察其测试结果。执行测试的过程可以分为以下几个阶段。
单元测试→集成测试→系统测试→验收测试,其中每个阶段都包括回归测试等。
从测试的角度而言,执行测试涉及一个量和度的问题,也就是测试范围和测试程度的问题。比如,一个版本需要测试哪些方面?每个方面要测试到什么程度?
执行测试的步骤由以下4部分组成。
• 输入,要完成工作所必须的入口标准。
• 执行过程,从输入到输出的过程或工作任务。
(8)其他。测试计划还要包括测试计划编写的日期、作者信息等内容。
测试计划当然越详细越好,但是在实际实施的时候就会发现往往很难按照原有计划开展工作。在软件开发过程中资源匮乏、人员流动等情况都会对测试造成一定的影响,这时就要求对测试工作从宏观上来进行调控。但是,只要对测试工作制订了详细的计划,那么测试人员在变化面前就能够做到应对自如、处乱不惊。2. 设计测试方案
测试的设计阶段要设计测试用例和测试过程,要保证测试用例完全覆盖测试需求。
测试用例是为特定目标开发的测试输入、执行条件和预期结果的集合,这些特定目标可以是验证一个特定的程序路径,也可以是核实某项功能是否符合特定需求。
设计测试用例就是针对特定功能或组合功能制订测试方案,并编写成文档。测试用例
既要考虑一般情况,也应考虑极限情况以及边界值情况。测试的目的是暴露应用软件中隐藏的缺陷,所以在设计、选取测试用例和数据时要考虑那些易于发现缺陷的测试用例和数据,并结合复杂的运行环境,在所有可能的输入条件和输出条件中确定测试数据,检查应用软件是否都能产生正确的输出。
软件测试流程就是指从软件测试开始到软件测试结束为止所经过的一系列准备、执行、分析的过程。软件测试工作一般要通过制订测试计划、设计测试、测试准备、测试环境的建立、执行测试、评估测试和总结测试等几个阶段来完成理速度如何?
(7)用户界面测试。用户界面测试主要对系统的界面进行测试,测试用户界面是否友好、软件是否方便易用、系统设计是否合理、界面位置是否正确等问题。
(8)安全测试。安全测试主要测试系统防止非法侵入的能力,例如测试系统在没有授权的内部或者外部用户对系统进行攻击或者恶意破坏时如何运行,是否能够保证数据的安全。
(9)可靠性测试。可靠性测试是指为了保证和验证软件的可靠性水平是否满足用户的要求而进行的测试,即确定软件是否满足软件规格说明书中规定的可靠性指标。软件可靠性测试的目的是给出可靠性的定量估计值,通过对软件可靠性测