《软件测试》PPT课件.ppt
《《软件测试》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件测试》PPT课件.ppt(78页珍藏版)》请在三一办公上搜索。
1、第9章 软件测试,软件测试的目的:第一,是确认软件的质量,一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。第二,是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三,软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。,9.1 软件测试概述,软件就是为了在计算机上实现某些任务而产生的指令代码和数据集合,当然这也包括了所有与指令代码和数据集合相联系的表示方法。换句话说,软件不但包含了程序源代码和数据文件,还包含了所有在需求、分析设计等阶段产生的模型的表示方法(
2、包括大量的标准输出工件、数据设计模型、设计设计模型、远景规划、风险列表等等)。“因为认识的不成熟,所以工作范围局限在编码上。”,“测试”关键词在ISO9000中是这样被定义的:测试是一种基于机器的,对代码执行测试,确认测试的活动。,1983年,IEEE(国际电子电气工程师协会)提出的软件工程标准术语中给软件测试下的定义是:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。该定义包含了两方面的含义:(1)是否满足规定的需求。(2)是否有差别。,软件测试和修复扩展后的测试定义是:测试是发现并指出软件(包含软件经过建模、需求、设计等
3、阶段所产生的大量输出工件)中存在缺陷的过程,这个过程指明和标注问题存在的正确位置,详细记录导致问题出现的操作步骤,及时储存当时的错误状态,以上组合在一起便于测试后问题能够准确再现。,(1)发现问题。(2)记录问题。(3)跟踪问题。(4)再现问题。(5)历史数据。,关于软件测试的一些常用术语(1)测试(2)测试用例(3)测试步骤,软件测试的目的,(1)验证软件需求和功能是否得到完整实现。(2)验证软件是否可以发布使用。(3)发现软件系统的缺陷、错误及不足。(4)获取软件产品的质量信息。(5)预防下一版本可能出现的问题。(6)预防用户使用软件时可能出现的问题。(7)提前发现开发过程中的问题和风险。
4、(8)提供可以用以分析的测试结果数据。,软件测试涉及的关键问题,(1)测试的执行。(2)测试内容。(3)测试时间。(4)测试过程。(5)测试停止的标准。,软件测试的原则和特点,根据软件的测试目的,在测试过程中需要遵循的测试原则为:(1)应当尽早地、不断地进行软件测试。(2)测试用例应当包含合理的和不合理的输入数据。(3)测试用例应由测试数据和与之对应的预期结果两部分组成。(4)软件中的程序应被多方测试。(5)错误数比较多的程序应重点测试。(6)严格执行测试计划。(7)需要对每个测试结果做全面的检查。(8)妥善保存测试的各项数据资料。,软件测试的特点,(1)完全测试程序是不可能的。(2)软件测试
5、是有风险的行为。(3)测试无法显示潜在的软件缺陷。(4)发现的缺陷越多,说明软件缺陷越多。,软件测试的重要性,软件所带来的悲剧p226229,测试是软件开发的重要环节之一,在GJ.Myers的经典著作软件测试技巧中给出了测试的定义:“程序测试是为了发现错误而执行程序的过程。”测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。在软件开发过程中,分析、设计与编码等工作都是建设性的,唯独测试似乎带有“破坏性”。测试可视为分析、设计和编码3个阶段的“最终复审”,在软件质量保证中具有重要地位。为了确保软件的质量,较理想的做法应该是对软件的开发过程,按软件工程各阶段形成的结果,分别进行
6、严格的审查。,软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检测本阶段的成果是否接近预期的目标,尽可能早地发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。,事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要
7、测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要组成部分。自有程序设计的那天起测试就一直伴随着。,9.2 软件测试的分类及测试内容,按是否需要执行被测试软件的角度来分:静态测试动态测试,从测试是否针对系统的内部结构和具体实现算法的角度来分:白盒测试黑盒测试灰盒测试,按测试范围角度来分:单元测试组件测试集成测试系统测试验收测试安装测试,按测试对象来分:单元测试组件测试模块测试程序测试系统测试文档测试。,按测试过程来分:需求阶段的测试设计阶段的测试程序阶段的测试测试结果的评估安装测试验收测试测试变化:维护。,其他测试技术和方法:回归测试压力测试恢复测试安全测试兼容性测试,白盒测试
8、,白盒测试又称结构测试或逻辑驱动测试。所谓“白盒”是指将测试对象看做一个打开的盒子,测试人员可利用程序内部的逻辑结构及有关的信息来设计或选择测试用例。因此白盒测试主要考虑的是测试用例对程序内部逻辑的覆盖程度,而不考虑程序的功能。用例对程序的覆盖程度从低到高分别为:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖。,阅读教材p231234,黑盒测试,等价类划分边缘值分析法因果图法错误推测法教材p234236,灰盒测试,白盒法和黑盒法有其自身的特点,但也都存在着明显的不足,它们的不足之处主要表现在只考虑了程序某一方面的属性和特征,而没有综合考虑。这样,如果要进行较全面的程序测试,就不得不把
9、测试工作分成两次进行:用白盒法测试一次,再用黑盒法测试一次。这样做不仅浪费时间,而且测试的效果不一定好。灰盒法正是基于这一点提出的。,路径/等价法路径/边界值法教材p236238,9.3 软件测试的规范,软件测试规范就是对软件测试流程的过程化,并对每一个过程的元素进行明确界定,形成完整的规范体系。软件测试规范可分为行业规范与操作规范,行业规范主要是指软件行业长期总结形成的通用规范,而操作规范则指某一公司在长期的软件测试工作中总结出属于企业自己的规范,特别是对于专业提供测试服务的企业,这种操作规范内容与实施情况往往是其取得软件开发商信任的法宝。,一个完整的软件测试规范应该包括规范本身的详细说明,
10、比如规范目的、范围、文档结构、词汇表、参考信息、可追溯性、方针、过程规范、指南、模板、检查表、培训工具、参考资料等。,软件测试过程中一般会从以下几个方面入手来规范过程,并在每个子过程明确角色、职责、活动描述及所需资料。角色的确定;进入的准则;输入项;活动过程;输出项;验证与确认;退出的准则;度量。具体描述见教材p239243,9.4 软件性能测试,软件性能一般是指用以标识、评估软件在特定环境下完成任务的若干种指标,软件每种性能都对应有一个或多个指标,这些软件达到的指标可以通过公式计算或评估出来,这些指标是对软件的质量和营利能力的真实反映。,历史上只有性能优异的软件才能生存下来,性能差的软件的最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件测试 软件 测试 PPT 课件
链接地址:https://www.31ppt.com/p-4860803.html