香港吉利心水论坛 > 零基础测试 >

软件测试零基础

2019-07-21 15:33 来源: 震仪

  软件测试零基础_计算机软件及应用_IT/计算机_专业资料。软件测试零基础

  主题 软件测试基础 课程内容 ?软件测试背景 ?什么是软件测试 ?软件测试的流程 ?测试用例及其设计方法 ?软件测试工具 课程目标 ?了解软件测试工程师的职业要求及特点 ?掌握软件测试的基本概念 ?熟悉常用的软件测试类型 ?熟悉软件测试的工作流程和阶段划分 ?了解软件自动化测试 ?理解软件测试与软件开发的相互关系 小插曲 你以前接触过软件测试工作么? 你认为软件测试人员是做什么的? 臭名昭著的软件缺陷案例 ?爱国者导弹防御系统 一个小的系统时钟错误,导致在多哈袭击 战中,系统被拖延100多个小时(1991) ?美国航天局火星极地登陆 由于确定何时关闭推进器的程序中某一个 数据位被以外修改,飞船在试图登陆火星表 面失踪(1999) 什么是软件缺陷? ?软件未达到产品需求表明的功能; ?软件出现了产品需求指明不会出现的错误; ?软件功能超出产品需求指明的范围; ?软件未达到产品需求虽未指出但应达到的 目标; ?软件测试人员认为软件难以理解、不易使 用、运行速度慢,或者最终用户认为不好 为什么会出现软件缺陷? 需求变化 设计错误 软件复杂 开发编码 缺陷 时间压力 缺乏交流 文档缺乏 …… 软件缺陷的修复费用 软件测试人员究竟做些什么? 目标:尽可能早的 发现软件缺陷, 并确保其得以修复 小插曲 大家有愿意做测试工作的么? 不愿意的原因? A、测试工作太枯燥。 B、测试工作不需要什么技术,只有技术水平低的人才 去做。 C、测试工作没有创造性,我喜欢有创造的开发工作。 D、做测试工作,发展空间不大,选择比较少。 E、测试人员工资比开发人员低 F、其它 优秀的测试人员应该具备的素质 1、探索精神:软件测试员不会害怕进入陌生环境。 2、故障排除能手:软件测试员善于发现问题的症 结,喜欢猜谜。 3、不懈努力:软件测试员总是不停尝试。他们可 能会碰到转瞬即逝或者难以重建的软件缺陷;他们 不会心存侥幸,而是尽一切可能去寻找。 4、创造性:想出富有创意甚至超常的手段来寻找 软件缺陷。 优秀的测试人员应该具备的素质 5、追求完美:他们力求完美,但是知道某些目标 无法企及时,不去苛求,而是尽力接近目标。 6、判断准确:软件测试人员要决定测试内容、测 试时间,以及看到的问题是否算作线、老练稳重:软件测试员不害怕坏消息。 8、说服力:软件测试员要善于表达观点,表明软 件缺陷为何必须修复,并通过实际演示力陈述观点。 怎样成为优秀的测试人员? 软 件 [广义]所有的软件系统都需要的基础知识 包括:基本的编程能力、面向对象方法、 操作系统、数据库、计算机网络…… [针对性]具体项目的业务知识 测 试 测试基础知识 测试工具 自动化测试 测试的思维方式 … … … … 软件工程 广度深度 工 程 师 专业 敬业 软件测试人员的职业发展机会 测试工作太枯燥,没有创造性? 测试工作枯燥? 喜欢看推理侦探小说么?测试的过程其实也和推理 破案的过程一样的有趣。当进行了严密的推理终于 发现一个大缺陷后,会很有成就感。 没有创造性? 测试也需要创造,新的测试方法,新的自动化测试 工具,创造的机会很多。 成功的秘密 强烈的动机 强烈的愿望,明确的目标 我最想做什么样的人? 我一定要做到最好 坚定的信念 坚信我的选择是正确的 我要坚持不懈 做别人不去做的事 做别人不敢去做的事 做别人做不到的事 做三件事 课程内容 ?软件测试背景 ?什么是软件测试? ?软件测试的流程 ?测试用例及其设计方法 ?软件测试工具 小插曲 你对软件测试的理解? 对软件测试错误的理解 如果发布出去的软件有质量问题,那是软件测试人员的错。 软件测试技术要求不高,至少比编程容易多了。 软件测试是测试人员的事,与开发人员无关。 设计-实现-测试,软件测试是开发后期的一个阶段。 测试后没有发现缺陷,说明我们的软件没有缺陷。 什么是软件测试? ?软件测试的定义 ?软件测试的对象 ?软件测试的目的 ?软件测试分类和比较 ?软件测试的内容 软件测试的定义 ?软件测试(Software testing)是软件生存期中的 一个重要阶段,是软件质量保证的关键步骤。通俗地 讲,软件测试就是在软件投入运行前,对软件需求分 析、设计规格说明和编码进行最终复审的活动。 ?1983年IEEE提出的软件工程术语中给软件测 试下的 定义是:“使用人工或自动的手段来运行或测定某个 软件系统或系统部件的过程,其目的在于检验它是否 满足规定的需求或弄清预期结果与实际结果之间的差 别”。 软件测试的对象 ?软件测试不等于程序测试,软件测试贯穿于软件定义 和开发的整个期间。需求分析,概要设计,详细设计, 以及程序编码等各个阶段所得到的文档,包括需求规格 说明、概要设计规格说明、详细设计规格说明以及源程 序,都是软件测试的对象。 软件测试的对象 用户需求 用户: 我要什么? 运行结果 计算机: 程序运行得到 相符合么? 的结果 5 理解正确性 表达正确性 需求说明书 1 4 源程序 运行正确性 输入正确性 需求分析员: 我可以提供什么? 理解正确性 设计正确性 表达正确性 2 设计说明书 设计员: 我要软件做什么? 3 程序员: 我要要让计算机 怎么做? 理解正确性 编码正确性 软件测试的目的 基于不同的立场,存在着两种完全不同的测试目的: ? 从用户(测试人员)的角度出发,普遍希望通过软件 测试暴露软件中隐藏的错误和缺陷,以考虑是否可接 受该产品。 ? 从软件开发者的角度出发,则希望测试成为表明软件 产品中不存在错误的过程,验证该软件已正确地实现 了用户的要求,确立人们对软件质量的信心。 软件测试的目的 ? 想以最少的时间和人力,系统地找出软件中潜在 的各种错误和缺陷。如果我们成功地实施了测试, 我们就能够发现软件中的错误。 ? 测试的附带收获是,它能够证明软件的功能和性 能与需求说明相符合。 ? 实施测试收集到的测试结果数据为可靠性分析提 供了依据。 ? 测试不能表明软件中不存在错误,它只能说明软 件中存在错误。 软件测试的原则 ? 测试的目的在于发现错误 ,应尽早地和不断地进行测试 ? 充分注意测试中的群集现象经验表明,测试后程序中残存 的错误数目与该程序中已发现的错误数目成正比。 ? 所有的测试都应可追溯到客户需求 ? 穷举测试是不可能的 ? 严格执行测试计划,排除测试的随意性。 ? 应当对每一个测试结果做全面检查。 ? 妥善保存测试计划,测试用例,出错统计和最终分析报告, 为维护提供方便。 软件测试的分类 名称 黑盒测试 白盒测试 单元测试 说明 基于软件需求,而不是基于软件内部设计和程序实现的测试方式。 基于软件内部设计和程序实现的测试方式。 主要测试软件模块的源代码。一般由开发人员而非独立测试人员来执行,因 为测试者需要懂得该单元的设计与程序实现,测试者可能需要编写额外的测 试驱动程序。 将一些“构件”集成一起时,测试它们能否正常运行。这里“构件”可以是 程序模块、客户机-服务器程序等等。 测试软件的功能是否符合功能性需求,通常采用黑盒测试方式。一般由独立 测试人员执行。 测试软件系统是否符合所有需求,包括功能性需求与非功能性需求。一般由 独立测试人员执行,通常采用黑盒测试方式。 指错误被修正后或软件功能、环境发生变化后进行的重新测试。回归测试的 困难在于不好确定哪些内容应当被重新测试。 集成测试 功能测试 系统测试 回归测试 验收测试 由客户或最终用户执行,测试软件系统是否符合需求规格说明书。 软件测试的分类 名称 负载测试 压力测试 性能测试 易用性测试 安装与反安装测试 恢复测试 安全性测试 兼容性测试 说明 测试软件系统的最大负载,超出此负载软件可能会失常。 概念上与负载测试相似,叫法不同。 测试软件在各种状况下的性能,如在正常或最大负载下的状况。 测试软件是否易用,主观性比较强。一般要根据很多用户的测试反馈 信息,才能评价易用性。 测试软件在“全部、部分、升级”等状况下的安装/反安装过程。 测试该系统从故障中恢复过来的能力。 测试该系统防止非法侵入的能力。 测试该系统与其它软件硬件兼容的能力。 比较测试 Alpha 测试 Beta测试 通过与同类产品比较,考察该系统的优点、缺点。 一种先期的用户测试,此时系统刚刚开发完成。 一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经 改正,即将正式发行。 软件测试的分类与比较 测试方式 ? 白盒测试:关心软件内部设计和程序实现,主要测试依据是设 计文档 ? 黑盒测试:不关心软件内部,只关心输入输出,主要测试依据 是需求文档 软件测试的分类与比较 测试方式 特征 依据 测试人员 测试驱动程序 黑盒测试 只关心软件的外部 软件需求 任何人(包 一般无需编写 表现,不关心内部 括开发人员、额外的测试驱 设计与实现。 独立测试人 动程序 又叫做功能测试或 员和用户) 数据驱动测试。 关注软件的内部设 设计文档 由开发人员 需要编写额外 计与实现,要跟踪 兼任测试人 的测试驱动程 源代码的运行。 员的角色 序 结构测试或逻辑驱 动测试。 白盒测试 软件测试的分类与比较 测试阶段 ? 单元测试、集成测试、系统测试、验收测试。是“从小到大”、 “由内至外”、“循序渐进”的测试过程,体现了“分而治之” 的思想。 ? 单元测试的粒度最小,一般由开发小组采用白盒方式来测试, 主要测试单元是否符合“设计”。 ? 集成测试界于单元测试和系统测试之间,起到“桥梁作用”, 一般由开发小组采用白盒加黑盒的方式来测试,既要验证“设 计”又要验证“需求”。 ? 系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测 试,主要测试系统是否符合“需求规格说明书”。 ? 验收测试与系统测试非常相似,主要区别是测试人员不同,验 收测试由用户执行。 软件测试的内容 测试内容 ? 接口与路径测试。 ? 功能测试、健壮性测试、性能测试、用户界面测试、安全 性测试、压力测试、可靠性测试、安装/反安装测试… 测试阶段 单元测试 集成测试 主要依据 测试人员、测试方式 主要测试内容 接口测试、路径测试 接口测试、路径测试 功能测试、性能测试 系统设计文档 由开发小组执行白盒测 试 系统设计文档 由开发小组执行白盒测 试和黑盒测试 需求文档 系统测试 验收测试 需求文档 需求文档 由独立测试小组执行黑 盒测试 由用户执行黑盒测试 功能测试、健壮性测试、性能测 试、用户界面测试、安全性测试、 压力测试、可靠性测试、安装/ 反安装测试 课程回顾 ?软件测试的定义 ?软件测试的对象 ?软件测试的目的 ?软件测试分类和比较 ?软件测试的内容 回头再看看对软件测试错误的理解 如果发布出去的软件有质量问题, 那是软件测试人员的错。 测试有助于提高软件的质量, 但高质量的软件不是测试出来的。 软件测试技术要求不高,至少比编程容易多了。 好的测试人员不仅要掌握各种测试技术, 还要具备丰富的编程经验和对缺陷的敏感, 测试的复杂之处,除了测试技术问题之外, 还有测试管理问题。 回头再看看对软件测试错误的理解 软件测试是测试人员的事,与开发人员无关。 开发人员参与的测试有单元测试和集成测试 设计-实现-测试,软件测试是开发后期的一个阶段。 测试是贯穿与软件项目的整个过程 应该尽早开始测试 测试后没有发现缺陷,说明我们的软件没有缺陷。 测试只能说明故障存在,不能说明故障不存在。 课程内容 ?软件测试背景 ?什么是软件测试? ?软件测试的流程 ?测试用例及其设计方法 ?软件测试工具 测试生命周期 准备计划 用户需求 验证 准备计划 验收测试 软件需求 验证 准备计划 系统测试 体系结构设计 验证 集成测试 详细设计 单元测试 编码实现 螺旋测试过程 Design Test Case Design Coding Test Development Test Planning Plan /Analysis Test Execution/Evaluation Test/Deliver 测试涉及文档 ?《测试计划》:指明范围、方法、资源,以及相应测试活 动的时间进度安排表的文档。 ?《测试方案》:指明为完成软件或软件集成特性的测试而 进行的设计测试方法的细节文档。 ?《测试用例》:指明为完成一个测试项的测试输入、预期 结果、预期执行条件等因素的文档。 ?《测试规程》:指明执行测试时测试活动序列的文档。 ?《测试报告》:指明执行测试结果的文档。 课程内容 ?软件测试背景 ?什么是软件测试? ?软件测试的流程 ?测试用例及其设计方法 ?软件测试工具 什么是测试用例 ? 所谓的测试用例就是将软件测试的行为活动,做一个科学 化的组织归纳。软件测试是有组织性、步骤性和计划性的, 而设计软件测试用例的目的,就是为了能将软件测试的行 为转换为可管理的模式。 ? 软件测试是软件质量管理中最实际的行动,同时也是耗时 最多的一项。基于时间因素的考虑,软件测试行为必须能 够加以量化,才能进一步让管理阶层掌握所需要的测试过 程,而测试用例就是将测试行为具体量化的方法之一。 不同阶段测试用例 测试用例的基本要素 目的 前提条件 输入数据或动作 期望的响应 各种环境设置 对应的需求 测试用例的内容 ? 实施一次测试而向被测系统提供的输入数据、操作或各 种环境设置。 ? 对交互式系统,软件交互执行过程的控制也是一种测试 用例。 ? 测试用例的设计与生成是依据测试大纲对其中每个测试 项目的进一步实例化。比如:对于一个输入项的测试, 应当设计一组测试数据,包括合法的、边界的和非法的 数据等。 测试用例设计的基本准则 ? 测试用例的代表性:能够代表并覆盖各种合理的和不合 理、合法的和非法的、边界的和越界的、以及极限的输 入数据、操作和环境设置等; ? 测试结果的可判定性:即测试执行结果的正确性是可判 定的,每一个测试用例都应有相应的期望结果; ? 测试结果的可再现性:即对同样的测试用例,系统的执 行结果应当是相同的。 黑盒测试用例的设计方法 ? 具体的黑盒测试用例设计方法包括等价类划分法、边界 值分析法、场景法、错误推测法、因果图法、判定表驱 动法、正交试验设计法、功能图法等。 ? 这些方法是比较实用的,但采用什么方法,在使用时自 然要针对开发项目的特点对方法加以适当的选择。 测试方法选择的综合策略 以下是各种测试方法选择的综合策略,可在实际应用过程 中参考: ? 首先进行等价类划分,包括输入条件和输出条件的等价 划分,将无限测试变成有限测试,这是减少工作量和提 高测试效率的最有效方法。 ? 在任何情况下都必须使用边界值分析方法。经验表明用 这种方法设计出测试用例发现程序错误的能力最强。 测试方法选择的综合策略 ? 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程 度。如果没有达到要求的覆盖标准,应当再补充足够的 测试用例。 ? 对于业务流清晰的系统,可以利用场景法贯穿整个测试 案例过程,在案例中综合使用各种测试方法。 课程内容 ?软件测试背景 ?什么是软件测试? ?软件测试的流程 ?测试用例及其设计方法 ?软件测试工具 测试工具的分类 ? 白盒测试工具:对代码的测试 ? 黑盒测试工具:功能和性能上的测试 ? 测试管理工具:对测试需求、测试计划、测试用例、测 试执行进行管理 ? 其他测试工具:专门针对于数据库、网络等方面的测试 工具。 测试工具 HP ? QuickTestPro(功能自动化) ? LoadRunner(性能测试) ? QualityCenter(测试管理) IBM ? Rational系列 其他 ?微软WAS、开源Jmeter等 结束 欢迎提问和讨论!

友情链接:
雅思培训 英语冲刺 零基础测试 雅思题型 核心大纲

Copyright © 2002-2019 香港吉利心水论坛 版权所有    技术支持:爱彩9838.com