软件测试技术 第2版 教学课件 ppt 作者 徐芳 第一章

上传人:E**** 文档编号:89361778 上传时间:2019-05-24 格式:PPT 页数:58 大小:1.17MB
返回 下载 相关 举报
软件测试技术 第2版 教学课件 ppt 作者 徐芳 第一章_第1页
第1页 / 共58页
软件测试技术 第2版 教学课件 ppt 作者 徐芳 第一章_第2页
第2页 / 共58页
软件测试技术 第2版 教学课件 ppt 作者 徐芳 第一章_第3页
第3页 / 共58页
软件测试技术 第2版 教学课件 ppt 作者 徐芳 第一章_第4页
第4页 / 共58页
软件测试技术 第2版 教学课件 ppt 作者 徐芳 第一章_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《软件测试技术 第2版 教学课件 ppt 作者 徐芳 第一章》由会员分享,可在线阅读,更多相关《软件测试技术 第2版 教学课件 ppt 作者 徐芳 第一章(58页珍藏版)》请在金锄头文库上搜索。

1、软件测试,2019年5月24日,第一章:开始软件测试工作,学习目标: 理解软件开发与软件测试的关系 掌握软件测试概念 了解软件测试目标 理解软件测试的分类和主要内容 了解软件测试职业岗位,软件开发过程,1.1 软件测试与软件开发,软件生存周期 定义、计划、实现、稳定化、部署、运行与维护 软件生存期模型,瀑布模型 原型模型 增量模型 螺旋模型,瀑布模型,整个开发包括六个阶段:计划、需求分析、设计、编码、测试、运行维护。六个阶段自上而下、相互衔接,以固定的次序来进行。 特点 阶段的顺序性和依赖性 推迟实现的观点 质量保证 存在问题 不适合需求模糊的系统,原型模型,先建立一个能反映用户需求的原型系统

2、,使得用户和开发者可以对目标系统的概貌进行评价和判断,然后对原型进行反复的扩充、改进和求精,最终建立符合用户需求的目标系统。 特点 快速开发工具 循环 低成本 种类 渐进型 抛弃型,增量模型,增量模型中,在每个阶段都生成软件的一个可发布版本。这些阶段是交错进行的。 在增量模型中,软件版本是逐步完善的。 在原型中,每个阶段是发布一个原型,而在增量模型中,是完成一个正式的版本。,进度,螺旋模型,螺旋模型将瀑布模型和快速原型模型结合起来,并且加入了两种模型均忽略的风险分析。 螺旋模型的每一周期都包括制定计划、风险分析、实施工程和评审四个阶段。,软件开发成本分布,软件开发中,在需求、设计、编码阶段都有

3、可能发生错误。 测试在软件开发中占有重要地位 测试成本占有开发成本的近一半,小结:,10,1.2 软件质量保证,软件质量包括多方面 满足用户的需求 合理进度、成本、功能关系 具备扩展性和灵活性,能够适应一定程度的需求变化 能够有效的处理例外的情况 保持成本和性能的平衡,软件错误定义,当程序没有实现其最终用户合理预期的功能要求时,就表现为软件错误,未将规格说明正确实现。 规定的或预期的需求未体现在产品中(可能未将规格说明全面实现,也可能在开发过程中追加了需求。) 规格说明并未规定的需求被纳入产品,得到实现。,软件错误的几种情况,软件质量保证内容 技术方法的应用 正式技术评审的实施 软件测试 标准

4、的执行 修改的控制 度量 记录和记录保存,如何保障软件质量,软件测试是软件质量保证的重要手段,讨论: 你该如何发现软件中是否有错误?,测试一个小软件:,1.3什么是软件测试,软件测试就是为了发现程序中的错误而分析或执行程序的过程。,软件测试定义,软件测试有两个基本的功能: 验证(Verification) 确认(Validation),软件测试功能,Do the right thing,Do it right,需求规格 说明 SRS,设计规格 说明 DS,程序,软件测试的对象,软件测试:发现程序及前期开发的错误,测试的对象,测试能提高软件的质量,但是提高质量不能依赖测试 测试只能证明错误存在,

5、不能证明错误不存在。“彻底地测试”难以成为现实,要考虑时间、费用等限制,不允许无休止地测试 测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心地结束测试 每个程序员都应当测试自己的程序(份内之事),但是不能作为该程序已经通过测试的依据(所以项目需要独立测试人员) 80-20原则:80的错误聚集在20的模块中,经常出错的模块改错后还会经常出错 测试应当循序渐进,不要企图一次性干完,注意“欲速则不达”,对软件测试的一些基本理解,了解测试用例(Test Case),任务:测试数码相机拍照功能 完成以下工作: 检查电源、存储卡,工作模式设置为“拍摄”、“全自动”; 按下快门; 在取景框

6、中所看到的内容应该被拍摄下来; 将相机工作模式设置为“播放”,检查刚才拍摄的照片。,前提条件 操作步骤 预期结果,测试用例需要设计,好的测试用例能有效地发现别的测试用例未发现的错误(缺陷) 成功的测试是发现了未曾发现的错误(缺陷),软件测试目标,软件测试员的基本目标是发现软件错误 软件测试员所追求的是尽可能早地找出软件错误 软件测试人员必需确保找出的软件错误得以关闭,1.4 软件测试的分类,基于是否关注软件结构与算法 黑盒测试 白盒测试 基于是否执行被测试软件 静态测试 动态测试 基于测试的不同阶段 单元测试 集成测试 系统测试 验收测试,1.4.1 黑盒测试和白盒测试,两种测试方法从不同的角

7、度出 发,反映了软件的不同侧面,也 适用于不同的开发环境,进行黑盒测试从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 不可能覆盖所有的代码,覆盖率较低;,理解黑盒测试,白盒测试的直接好处就是知道所设计的测试用例在代码级上哪些地方被忽略掉,发现代码中隐藏的问题。 可能会漏掉一些功能需求;,理解白盒测试,1.4.2 静态测试和动态测试,静态测试不执行被测试的软件。类似于汽车检查。,动态测试是在测试过程中执行被测试软件,类似于试车。,按测试阶段分类,测试可分4个主要阶段:单元测试、集成测试、系统测试和验收测试。 这是一种

8、从小到大、循序渐进的测试过程。 单元测试是对程序员编写完成的一个个程序单元进行测试。对结构化程序,单元主要指函数,对面向对象程序,单元主要指类。,1.4.3 软件测试阶段,单元测试,单元测试,单元通常不是可运行的程序。 单元测试必须编写额外的可运行的测试驱动程序,模块,错误处理,模块接口,局部数 据结构,重要的 执行路径,边界条件,单元测试,单元测试,时机: 编码完成后,首先要实施的测试 方法: 静态测试 白盒测试 责任: 开发工程师,集成测试,集,成,测,试,集成测试,时机: 主要的单元测试完成后,经常与单元测试同步进行 方法: 黑盒测试为主 责任: 开发工程师 测试工程师,集成测试有渐增式

9、和非渐增式两种方式 渐增式的集成中可以采用两种:“自顶向下”和“自底向上”。 集成测试可以发现模块间接口以及全局数据结构等问题。,集成测试,A,测试 A,S2,S1,S3,A,加入B,S2,B,S3,S4,A,加入E,S2,B,S3,E,集成测试,系统测试,系统测试,系统测试,目标: 检验组成整个系统的代码、以及系统的软硬件配合有无错误 代码实现的系统与用户需求是否吻合 检验系统的文档等各种是否完整、有效 时机:多数集成测试完成后 方法:黑盒测试 责任:测试工程师,验收测试,验收测试是由用户完成的测试 验收测试的内容与系统测试的内容类似 验收测试可以分成Alpha测试和Beta测试 Alpha

10、测试是由用户在开发环境下完成的测试 Beta测试是由用户在用户环境下完成的测试,系统维护 二次开发 项目更新,单元测试,集成测试,系统测试,验收测试,回归测试,功能测试:软件功能是否符合功能性需求 性能测试:为了获取或验证系统性能指标进行的测试。 负载测试:通过改变系统负载方式、增加负载等来发现系统中存在的性能问题。 压力测试:可以被看作是负载测试的一种,通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。,1.5 软件测试的内容,易用性测试 :测试软件是否易用,主观性比较强。一般要根据很多用户的测试反馈信息,才能评价易用性。 安装/反

11、安装测试 :测试软件在“全部、部分、升级”等状况下的安装/反安装过程。 健壮性测试 :又称为容错性测试,用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。 安全性测试 :测试该系统防止非法侵入的能力。,软件测试的内容,兼容性测试 :测试该系统与其它软件硬件兼容的能力。 接口测试 :测试软件的内部及外部接口是否工作正常,测试的重点是检查数据的交换,传递和控制管理过程。 文档测试 : 这里的文档是指伴随着产品同时提供给用户的各种使用手册、说明书、须知等,测试文档描述与实际产品的一致性、清晰性等。,软件测试的内容,小结:测试各种分类间关系,1.6 软件测试工作流程,测试工作的主要步骤

12、测试计划 :测试人员对需求进行分析,最终定义一个测试集合 测试设计与开发 :测试人员根据软件需求,完成测试用例 执行测试 :建立测试环境;根据前面编写的测试计划和测试用例运行测试;记录测试结果;报告软件缺陷;跟踪软件缺陷,直至其被处理;分析测试结果,测试信息流,整个测试过程需要三类输入 软件配置 :包括软件需求规格说明、软件设计规格说明、源代码等; 测试配置:包括测试计划、测试用例、测试驱动程序等。 测试工具:为提高软件测试效率,可使用测试工具支持测试工作,1.7 软件测试岗位职业要求,岗位要求 全职 1、测试网络软件 2、撰写规范的测试报告,具有较好的表达能力 3、工作认真负责,对网络或游戏

13、有一定的爱好 4、在校计算机专业学生优先考虑,企业软件测试岗位要求(一),岗位要求 工作职责: 1、编写产品的测试计划和测试用例; 2、执行功能测试和性能测试; 3、编写相关的测试报告。 任职要求: 1、计算机或相关专业毕业,大专以上学历; 2、熟悉软件工程,有软件测试的工作经历,有一年以上Web应用测试经验者优先; 3、对自动化测试工具有一定的认识,熟悉多种测试工具和缺陷管理工具者优先考虑; 4、有较强的文档编写能力; 5、有一定的数据库操作基础,了解Oracle、Sybase等常用数据库系统的操作; 6、有强烈的责任心和很强的发现问题、分析问题、解决问题的能力,能够承受工作压力; 7、有快

14、速学习的能力和良好的沟通能力,有良好的团队合作精神。,企业软件测试岗位要求(二),企业软件测试岗位要求(三),岗位要求 职位描述:制定测试计划,编写测试用例,执行测试,编写测试报告,会同各专家分析测试结果。跟踪、监测发布后产品的质量。 职位要求: 1、深刻理解软件测试思想,熟悉软件测试过程,会熟练编写测试计划,测试用例,测试报告; 2、熟悉一种以上自动化测试和压力测试工具; 3、一年以上web应用测试经验; 4、熟悉linux,Oracle; 5、有开发经验优先考虑。,岗位要求 1、计算机类专业大专或以上学历, 2、熟悉开发或测试工作流程,熟悉软件测试规范和流程,具有极强的文档编写能力; 3、

15、了解一定的测试工具,如QTP、LoadRunner等等; 4、熟悉JAVA,VC+,Delphi或PB等开发工具及数据库管理者尤佳; 职位职责: 1、软件开发项目测试及其管理(功能测试与性能测试); 2、测试用例、测试脚本的设计; 3、测试的执行, 测试的反馈、BUG跟踪。 4、提交故障分析和解决方案方面的报告 5、参加系统集成类软件新产品的策划,企业软件测试岗位要求(四),规划测试任务 设计测试 建立一个合适的测试执行环境 评估、获取、安装和配置自动测试工具 执行测试 撰写适当的测试文档,测试人员的主要工作,熟悉软件测试和开发流程 较强的文档能力,会撰写测试报告 会设计、编写测试用例 熟悉测

16、试工具 执行测试并跟踪缺陷 计划测试 熟悉一些开发工具,测试人员的职业能力要求,初级测试工程师:工作通常是按照测试方案和流程搭建测试环境并对产品进行功能测试,检查产品是否有缺陷,并提交相应报告。 中级测试工程师:要能够编写测试方案,测试文档、与项目组一起制定测试阶段的工作计划。能够在项目中合理利用测试工具来完成测试任务。 高级测试工程师:需要掌握测试与开发技术,而且对所测试软件对口的行业非常了解,能够对测试方案可能出现的问题能够进行分析和评估。,软件测试职业前景,责任心 学习能力 怀疑精神 沟通能力 专注力 洞察力 团队精神 注重积累,测试工程师职业素质,软件测试在整个软件开发中不可或缺 测试工程师需要的能力和技术,对特定行业领域的了解 相对全面的技术能力 对软件开发过程的了解,小结:,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号