资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Software Product Testing Framework-Zeng,qi(AMS-ATS),1,Software Product Testing Activity,Author: Department: AMS-ATS,软件产品的定义书写或其他手段记录信息、概念、事物或程序组成的产品,平台软件:平台软件是一种以业务为导向,可快速构建应用软件的平台,典型如操作系统类软件及其他可供二次开发的软件。 应用软件:为实现特定应用功能或目的而开发的应用程序,应用程序可运行于平台软件之上。,软件测试的定义 软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件 1.程序测试是为了发现错误而执行程序的过程 G.J.Myers 2.评价一个程序和系统的特性或能力,并确定它是否达到预期的结果。软件测试就是以此为目的的任何行为 -Dr. Bill Hetzel 3.就是在既定的状况条件下,运行一个系统或组建,观察记录结果,并对其某些方面进行评价的过程 -IEEE/ANSI标准 1990.,软件测试的目的 软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行 质量控制。软件测试应由独立的评测部门负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。 测试是为了证明程序有错,而不能保证程序没有错误,Software Product Testing Framework-Zeng,qi(AMS-ATS),5,软件测试方法,依照测试手法分为 白盒测试 (White-box or Glass-box) 黑盒测试 (Black-box) 灰盒测试 (Gray-box) 有效用例 (Valid-Case) 边界条件 (Boundary-Case) 等价类 (Equivalent-Classes) 依照测试目的分为 功能测试 性能测试 依照测试阶段分为 UAT Regression Unit .,白盒测试,白箱测试或白盒测试(White-box testing 或glass-box testing)是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。,黑盒测试,黑箱测试或黑盒测试(Black-box testing)是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件或某种软件功能的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。通常测试人员在进行测试时不仅使用肯定出正确结果的输入数据,而且还会使用有挑战性的输入数据以及可能结果会出错的输入数据以便了解软件怎样处理各种类型的数据。,灰盒测试,灰箱测试或灰盒测试(Gray-box testing):灰箱测试就像黑箱测试一样是通过用户界面测试,但是测试人员已经有所了解该软件或某种软件功能的源代码程序具体是怎样设计的。甚至于还读过部分源代码。 因此测试人员可以有的放矢地进行某种确定的条件/功能的测试。这样做的意义在于:如果你知道产品内部的设计和对产品有透过用户界面的深入了解,你就能够更有效和深入地从用户界面来测试它的各项性能。,有效用例,有效用例(Valid case)或者叫合法输入用例:是那些已知软件程序能正确地处理的测试用例。一般是指软件输入的测试用例。比如说,在 Microsoft Excel 中,用键盘输入“=1+1”, 看到的结果是“2”。 这里输入的有效用例是“=1+1”。无效用例(Invalid case有人叫不合法输入用例)或者出错用例(error case):是那些事先就知道软件程序不支持处理的测试用例。比如说在 Microsoft Excel 中,用键盘输入“=a+1”, 看到的结果是“#NAME?”。这里输入的“=a+1”既是无效用例同时也是出错用例。,边界条件,边界条件(Boundary Cases):环绕边界值的测试。通常意味着最大值,最小值或者所设计软件能够处理的最长的字符串等等。比如说某软件字体的字号支持范围是:从8到72。那么边界测试用例应该包括:小于8, 等于8, 等于72 和大于72。,有效性,等价类(equivalent classes):等价类测试用例指的是如果有很多测试用例执行再多也不会找到新的缺陷。因为虽然输入和输出结果有所不同,但是它们都通过同样的软件的源代码路径。通常只要一个源代码程序的路径是用于处理一定数值范围内的所有数值,那么除了边界值以外,在边界值范围以内的所有数值一般都属于等价类。因为如果软件程序能正确处理一个值,也就意味着该程序能正确处理在这个范围内的除了边界值以外的其他任何有效输入值。我们来用以上软件字体的字号来举例说明。软件支持的字号范围是:从8到72。那么8和72之间的所有支持的字号都可以被认为是等价类的测试用例。再比如:测试超链接时两个用例 和 也是等价类的测试用例。,软件测试方法没有完全标准化和统一化,Software Product Testing Framework-Zeng,qi(AMS-ATS),13,Testing is to establish confidence that a program does what it is supposed to do. ,Testing Activity In ATS,Software Product Testing Framework-Zeng,qi(AMS-ATS),14,Traditional Testing Model in SDLC,Software Product Testing Framework-Zeng,qi(AMS-ATS),15,Comprehensive Capability,Software Product Testing Framework-Zeng,qi(AMS-ATS),16,ATS Automated Testing life cycle,Software Product Testing Framework-Zeng,qi(AMS-ATS),17,Operating Model (Integrated),Software Product Testing Framework-Zeng,qi(AMS-ATS),18,Operating Model (Dedicated),Software Product Testing Framework-Zeng,qi(AMS-ATS),19,Operating Model (Managed),Software Product Testing Framework-Zeng,qi(AMS-ATS),20,Practice In Software Product Testing,Software Product Testing Framework-Zeng,qi(AMS-ATS),21,软件产品开发模型,Software Product Testing Framework-Zeng,qi(AMS-ATS),22,软件产品开发,Software Product Testing Framework-Zeng,qi(AMS-ATS),23,软件产品的特点,周期延续性:软件产品开发周期长 测试切入点早 功能稳定性:软件产品发布后对稳定性要求更高 一旦发生招回成本无法估量 功能扩展性:便捷的接口 便于功能拓展和二次开发 环境兼容性:对使用环境的软硬件要求较好的兼容性 需求市场+主观导向且相对稳定 客户群体多样行 面向行业多样性:产品的易用性和广泛适用性 安全性:加密 知识产权 防破解防盗版 主动,Software Product Testing Framework-Zeng,qi(AMS-ATS),24,软件项目的特点(相较于软件产品),周期延续性:项目开发时间短 测试切入点晚 功能扩展性:通常无须考虑功能拓展和二次开发 集成特性:多种软件产品的集成 在已知环境下配置安装 需求客户导向变更大且频繁 客户群体固定或已知 被动,Software Product Testing Framework-Zeng,qi(AMS-ATS),25,软件产品测试的特点,通常为黑盒 遵循使用说明 站在市场、超用户超行业的角度 偏重用户的视角 各种软硬件环境下的兼容性测试 稳定性测试 需求变更少导致测试用例可重用性高,Software Product Testing Framework-Zeng,qi(AMS-ATS),26,软件产品测试的方法,两类经典的测试方法 验证软件是工作的 目前的主流和行业标准 第一类测试可以简单抽象地描述为这样的过程:在设计规定的环境下运行软件的功能,将其结果与用 户需求或设计结果相比较,如果相符则测试通过,如果不相符则视为Bug,这一过程的终极目标是将 软件的所有功能在所有设计规定的环境全部运行. 测试软件产品前期 验证软件是不工作的 一个成功的测试必须是发现Bug的测试,不然就没有价值。如同一个病人(假定此人确有病),到医院做一项医疗检查,结果各项指标都正常,那说明该项医疗检查对于诊断该病人的病情是没有价值的,是失败的,没有没有bug的程序.通过BUG数量来衡量测试人员的工作量. 测试软件产品后期,Software Product Testing Framework-Zeng,qi(AMS-ATS),27,软件产品测试的方法,两类经典的测试方法的优劣比较 虽然软件测试总的目的是为了软件产品的质量,这两类测试方法在具体目标、或指导思想上截然相反。由此也决定了它们在思路、过程和测重点上有很大的差别,并各有利弊的。 一类测试方法以需求和设计为本,有利于界定测试工作的范畴,更便于部署测试的侧重点,加强针对性。这一点对于应用程序的测试,尤其是在有限的时间和人力资源情况下显得格外重要。而二类测试方法与需求和设计没有必然的关联,如果计划管理不当,测试活动很容易丢失重点。 一类测试方法可以与软件的架构和软件开发的计划相配合,使软件测试活动逐层次的展开,从而使软件的功能和质量有计划地逐步完善和提高。(二类测试方法不具备这种过程的渐进性) 一类测试方法的缺点是缺乏灵活性,不利于测试人员主观能动性的发挥,不容易找到软件的错误。而这方面正是二类测试方法的长处。,Software Product Testing Framework-Zeng,qi(AMS-ATS),28,我们的策略,以一类测试方法为基础和主要线索 阶段性地运用二类测试方法,Software Product Testing Framework-Zeng,qi(AMS-ATS),29,一类测试流程,一、审核需求和设计 一类测试是以需求和设计为本来验证软件的正确性。需求和设计本身也有正确性的问题。依据不正确的需求和设计不可能开发出正确的软件产品,测试也将是徒劳的。因此验证需求和设计是进行一类测试的第一步。 这里所说的需求和设计具体说来它一般包括: (1)由项目经理根据用户要求(信息来源于市场部门,用户支持部门等等)而编写的需求文本(Requirement Specification); (2)由项目经理根据需求文本而编写的功能设计文本(Functional Design Specification); (3)由开发人员根据功能文本而编写的实施设计文本(Implementation Design Specification)。测试人员要参与所有这些文本的审核。作为测试人员,审核重点是检查文本对需求定义的完整性、严密性和功能设计的可测性。同时这种审核对于测试人员也是一种热身活动,使他们尽早地进入技术和业务状态。,Software Product Testing Fr
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号