软件测试基础系列培训 软件测试基础.ppt
软件测试基础系列培训 ST-2009-001,软件测试基础,技术质量部 xx2009年08月,内部资料,请勿外传,范围与目标,课程对象:软件测试人员课程目标:了解软件测试的基本概念了解各种测试的类型,对软件测试工作有整体上的把握本课程将占用90分钟,内容提要,软件质量的概念和理解软件测试原理和概念各种测试类型的简介,软件和质量,软件和质量,质量的多种定义零缺陷 Crosby优越的程度 牛津词典对目标的适应性 Juran能持续一致且可靠地以低成本适应于市场的程度 Deming软件特性集能够行使其最终使用目的的程度 DOD一组固有特性满足要求的程度 ISO固有特性是在某事或某物中本来就有的,尤其是那种永久的特性要求是指明示的、通常隐含的或必须履行的需要或期望实体特性的总和,满足明确或隐含需求的能力GB/T,从哪些方面评价软件产品质量?,1991,ISO发布了ISO/IEC9126软件产品质量特性的国际标准:,这些质量特性对于我们来说已经能够覆盖我们的测试范围了吗?目前我们是按照这个标准来评价我们的产品质量吗,质量特性的子特性,正确理解软件产品质量,软件质量客户满意度,隐含的产品质量特性即使没有说明,也是存在的不同项目对质量要求的范围和严格程度是不一样的,公司的质量方针:以规范的管理、一流的品质、个性化的服务,为客户创造价值,内容提要,软件质量的概念和理解软件测试原理和概念各种测试类型的简介,软件测试的原理和概念,根据G.J.Myers观点,软件测试的目的:软件测试是为了发现错误而执行程序的过程一个好的测试用例在于能发现至今尚未发现的错误一个成功的测试是发现了至今尚未发现的错误的测试这个观点提醒我们以查找错误为中心,但可能会误导我们:测试并不仅仅是为了要找出错误没有发现错误的测试也是有价值的,软件测试的目标和职责,测试的最终目的:确保软件的高质量,并逐步提升测试的目标和职责发现错误,并尽可能地为修正错误提供更多的信息理想的目标:用相对少的测试尽可能多地找到程序中的缺陷;产品零缺陷测试解决方案的所有元素为实现更好的产品和质量提供必要的建议和数据支持,软件测试的一些原则,所有的测试都应追溯到用户需求应尽早地和不断地进行软件测试穷举测试是不可能的测试无法显示潜在的缺陷充分关注测试中的集群现象程序员避免检查自己的程序尽量避免测试的随意性,软件测试的误区,软件测试工作对技术要求不高,至少比编程容易有时间多测,没时间少测功能规格说明中没写的不用测没有需求就无法测试开发说测什么就测什么软件测试是测试人员的事,与开发人员无关根据瀑布模型,测试是开发后期的一个阶段忽视需求阶段的参与软件自动测试效率高,将取代软件手工测试,讨论,软件发布后质量出现问题,测试人员是否应该负责?,内容提要,软件质量的概念和理解软件测试原理和概念各种测试类型的简介,软件测试的分类,按是否运行软件来分类静态测试动态测试按执行方式来分类手工测试自动化测试按实施对象来分类Alpha测试Beta测试第三方测试,软件测试的分类,按阶段划分的测试类型,按测试内容划分的测试类型,功能测试性能测试易用性测试安全性测试强度测试、容量测试兼容性测试可靠性测试安装/卸载测试文档测试效果测试,测试类型,功能测试验证软件是否提供了所期待的功能。包括:“主要”方案-所有的输入是合法的。“辅助”方案-一些或所有的输入是不合法的。性能测试目标:确定系统达到了希望达到的性能水平例子计算通信的时间单位时间处理的信息量,测试类型,易用性测试易用性是指用户感觉使用软件的难易程度。易用性测试是从用户的角度对产品界面进行交互式的测试。可理解性、可学习性、可操作性安全性测试指防止系统被非法入侵的能力,既属于技术问题又属于管理问题,测试类型,强度测试(压力测试)是在一种需要异常数量、频率或资源的方式下,执行可重复的负载测试,以检查程序对异常情况的抵抗能力,找出性能瓶颈。资源少的情况下发现可能的错误低内存、磁盘空间共享资源竞争的情况下发现可能的错误系统资源、数据库加锁、网络带宽容量测试使软件经受大数据量的考验,以确定达到限制时是否引发软件失败,测试类型,兼容性测试在不同的OS、支撑环境下运行检查其正确性可靠性测试在一定的环境下、在给定的时间内、系统不发生故障的概率不发生故障的“最小时间间隔”、“最大时间间隔”和“平均时间间隔”,测试类型,安装/卸载测试是否能正确安装卸载?初次安装升级安装完全安装定制安装安装后,操作是否正确?文档测试验证文档传递正确、合适的信息。包括在线、书面、上下文敏感的帮助,是否最新的并与软件功能一致,其他测试类型,冒烟测试,BVT(Build Verification Test):通过对基本功能、特别是关键功能的测试,目的是确认软件基本功能正常,可以进行后续的正式测试工作回归测试:对软件作出修改后重新执行以前所做的所有测试,以确保修改没有带来新的缺陷随机测试(Ad-hoc Test):主要是根据测试者的经验对软件进行功能和性能抽查。是根据测试说明书执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程效果测试,我们目前涉及到的测试类型,功能性性能稳定性效果测试文档测试安装测试安全性测试易用性,回顾,软件产品质量包含的六大特性软件测试的最终目的是确保产品的高质量,测试人员对发布后出现的严重Bug负责各种测试类型的含义,我们涉及到的测试类型,课程结束,欢迎大家提问、讨论!,严谨 求实 协作 改进,