软件测试培训 PPT
9. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处 理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确 处理. 10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系 统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理. 11. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项, 修改也应该必填;添加规定为整型的项,修改也必须为整型. 12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注 意,会不会报和自己重名的错. 13. 重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。 14. 检查多次使用back键的情况: 在有back的地方,back,回到原来页面,再back,重复多次, 看会否出错. 15. search检查: 在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确. 如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确. 16. 输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方.
2)用户测试 在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符
合自己预期的要求。通常情况用户测试不是指用户的“验收测试”,而是指用户 的使用性测试,由用户找出软件的应用过程中发现的软件的缺陷与问题,并对使 用质量进行评价。
1.3软件测试分类
• 按照测试实施组织划分(续)
3)第三方测试。 介于软件开发方和用户方之间的测试组织的测试。第三方测试也称为独立测
• 2.1白盒测试 • 2.2黑盒测试 • 2.3灰盒测试 • 2.4白盒测试与黑盒测试比
2.1白盒测试
• 什么是白盒测试 白盒测试可以把程序看成装在一个透明的盒子里,也就是清楚的了解程序结构和处理
过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的 规定正常运行。
应用程序
2)集成测试 集成测试也叫做组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的
测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或 整个系统。
软件集成的过程是一个持续的过程,会形成很多个临时版本,在不断的集成过程中,功能集成 的稳定性是真正的的挑战。在每个版本提交时,都需要进行冒烟测试,即对程序主要功能进行验 证。冒烟测试也叫版本验证测试、提交测试。
2.2黑盒测试
• 黑盒测试的缺点: 1.只有一小部分可能的输入可以测试到,要测试到每个可能的输入流是不可能的。 2.没有清晰简明的规格,测试用例是很难设计的。 3.会有很多程序路径没有测试到。 4.不能直接针对特定的程序段做处理,修改问题时,这些程序可能非常复杂。
2.3灰盒测试
• 灰盒测试是介于白盒测试和黑盒测试之间的测试。灰盒测试关注输出对于输入 的正确性;同时也关注内部表现,但这种关注不像白盒测试那样详细、完整, 只是通过一些表征性的现象、事件、标志来判断内部的运行状态。
• 为什么要进行白盒测试 1)逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。 2)我们经常相信某逻辑路径不可能被执行,而事实上它可能在正常的基础上被执行。 3)笔误是随机的。
2.1白盒测试
• 白盒测试主要是想对程序模块进行如下检查: 1、对程序模块的所有独立的执行路径至少测试一遍。 2、对所有的逻辑判定,取“真”或取“假”的两种情况都能至少测试一遍。 3、在循环的边界和运行的界限内执行循环体。 4、测试内部数据结构的有效性等等。
• 什么是黑盒测试 • 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在
测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内 部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格 说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信 息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面 和软件功能进行测试。
2.4白盒测试与黑盒测试的比较
• 考虑对象不同: 白盒测试只考虑测试软件代码,它不保证完整的需求规格是否被满足。 黑盒测试只考虑测试软件的需求规格,它不保证实现的所有部分是否被测试到。
• 技术要求不同: 白盒测试要求测试人员要熟悉软件代码以及软件内部的逻辑结构。 黑盒测试要求测试人员熟悉软件规格说明书,不要求熟悉软件代码和软件内部
和程序的外部表现,一般包括白盒测试、黑盒测试、灰盒测试。
1.3软件测试分类
• 按照测试方法划分(续) 1)白盒测试
白盒测试又称结构测试。白盒测试可以看成把程序装在一个透明的盒子里, 也就是清楚了解程序结构和处理过程,检查是否所有的结构和路径都是正确的, 检查程序的内部结构是否按照设计说明的规定正常进行。
1.3软件测试分类
• 按开发阶段划分(续)
3)确认测试 确认测试是通过检验和提供客观证据,证实软件是否满足特定预期用途的需求。确认
测试是检测与证实软件是否满足软件需求说明书中规定的要求。
4)系统测试 系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行
的测试。系统测试是在真实或模拟系统运行的环境下,检查完整的程序系统能否和系统 (包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接、并满足用户需求。
5)验收测试 按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评
审,决定是否接收或拒收系统。
1.3软件测试分类
• 按照测试方法划分
软件 测试 技术
静态分析 (程序不执行)
动态测试 (程序执行)
静态分析器分析 (自动方式)
代码评审 (人工方式)
白盒测试(测试程序结构)
黑盒测试(测试程序功能)
• 测试设计
将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的 测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。
• 测试开发
建立可重复使用的自动测试过程。
• 测试执行
执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、 组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印 地进行测试。
逻辑结构。
• 投入测试成本: 白盒测试比黑盒测试成本高很多。
三、黑盒测试
• 3.1黑盒测试用例设计方法 • 3.2黑盒测试流程 • 3.3黑盒测试常用方法
3.1黑盒测试用例设计方法
• 黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将 测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分 法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、 功能图法、场景法等。
第二、是在软件分发到最终用户手中之前,以最少的时间和人力找 出软件中潜在的各种错误和缺陷。
软件测试目的:检验软件是否满足规定的需求或者是弄清预期结果 与实际运行结果之间的差别。
1.2软件测试的原则
• 所有的测试都应追朔到用户需求 • 穷尽测试是不可能的 • 测试应尽早介入 • 缺陷集群性 • 杀虫剂悖论 • 测试活动依赖于测试背景 • 测试工作应该由独立的专业的测试团队来完成
灰盒测试(测试程序接口)
1.3软件测试分类
• 按照测试方法划分(续)
1)静态测试 静态测试是指不运行程序,通过人工对程序和文档进行分析与检查。静态测
试实际上是对软件中的需求说明书、设计说明书、程序代码等进行评审的一个过 程。
2)动态测试 动态测试是指通过人工或使用工具运行程序进行检查、分析程序的执行状态
• 测试评估
结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综 合评价。
3.3黑盒测试常用方法
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户 要求的功能。常用的测试方法如下 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。 2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。 3. 检查按钮的功能是否正确:如update,cancel,delete,save等功能是否正确。 4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度, 会不会出错. 5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型 的地方输入其他字符类型),看系统是否检查字符类型,会否报错. 6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是 否正确. 7. 中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错. 8. 检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出., 带出信息和添加的是否一致
3.2黑盒测试流程
• 测试计划
首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订 黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合 格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
2)黑盒测试 通过软件的外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个
黑盒子,完全不考虑程序内部结构和处理过程。通常是在程序界面处进行测试, 它只是检查程序是否按照需求规格说明书的规定正常实现。
1.3软件测试分类
按照测试方法划分(续) 3)灰盒测试
介于白盒测试和黑盒测试之间的测试。灰盒测试关注输出对于输入的正确性; 同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些 表征性的现象、事件、标志来判断内部的运行状态。