当前位置:文档之家› 第1章 软件测试基础

第1章 软件测试基础

ISTQB初级认证
第1章 软件测试基础
作者:郑文强 Email: zwqwwuy@https://www.doczj.com/doc/956965645.html, 博客:https://www.doczj.com/doc/956965645.html,/Wenqiang_Zheng

课程内容
1. 为什么测试 2. 什么是测试 3. 测试基本原则 4. 测试基本过程 5. 测试的误区 6. 测试的心理学
软件测试基础
版权所有?郑文强
3

为什么测试
ISTQB考试知识点
通过具体例子描述软件中的缺陷会以什么样的方 式损害个人、 式损害个人、环境或者公司利益( 环境或者公司利益(K2); 区分引起缺陷的根本原因及其影响( 区分引起缺陷的根本原因及其影响(K2); 通过举例的方式说明为什么需要测试( 通过举例的方式说明为什么需要测试 (K2); 描述为什么测试是质量保证的一部分, 描述为什么测试是质量保证的一部分,通过举例 说明测试是如何来提高软件质量的( 说明测试是如何来提高软件质量的(K2); 理解术语错误、 理解术语错误、缺陷、 缺陷、故障、 故障、失效的概念以及相 应的定义( 应的定义(K1);
软件测试基础 版权所有?郑文强 4

软件系统无处不在
网上购物系统 银行系统 手机 卫星通信系统 汽车系统 ……
软件系统成为我们生活中不可或 软件系统成为我们生活中不可或 缺的一部分 缺的一部分…… ……
我们是否有这样的经验: 我们是否有这样的经验 我们是否有这样的经验: :软件或 软件或 我们是否有这样的经验: 者系统没有按照预期进行工作? 者系统没有按照预期进行工作 者系统没有按照预期进行工作? ? 者系统没有按照预期进行工作?
软件或者系统的不正常运行, 软件或者系统的不正常运行 软件或者系统的不正常运行, ,导 导 软件或者系统的不正常运行, 致怎样不同的结果或者后果? 致怎样不同的结果或者后果 致怎样不同的结果或者后果? ? 致怎样不同的结果或者后果? 缺陷造成的各种后果无处不在! 缺陷造成的各种后果无处不在!
软件测试基础
版权所有?郑文强
5

为什么会存在缺陷
PM:小张,订单模 块明天之前编码必 须完成,并提交给 测试组进行测试。 Programmer:明天?..时间 很紧张,模块功能又很多,需 要编写的代码非常的多,没有 办法…… 只能埋头苦干,拼命写代码。 If intPrice>0 Then receipt = intPrice * 2.0 ……
A A mistake! mistake! 这应该是 这应该是20 20,被 ,被 程序员错误的写 程序员错误的写 成了 成了2.0 2.0
软件测试基础
版权所有?郑文强
6

为什么会存在缺陷
人的因素
人总是容易犯错误的 开发人员的态度 开发人员的经验和技术不足 沟通的问题 需求变更频繁 管理上的缺失 进度压力大 …
软件测试基础 版权所有?郑文强 7
软件 系统 文档

为什么会存在缺陷( 为什么会存在缺陷(续)
其他因素
周围环境的影响: 周围环境的影响:电磁辐射等 使用环境的影响: 使用环境的影响:硬件系统的老化等 软件系统越来越复杂 ……
软件测试基础
版权所有?郑文强
8

缺陷相关术语
错误
与错误相关的英语表示为ERROR、 ERRORNEOUS ACTION、MISTAKE等等; 等等; 定义: 定义:人为的产生不正确结果的行为[与IEEE 610一致]; 人为的原因导致一个不正确 为的原因导致一个不正确的 导致一个不正确的结果。 结果。它可以是程 序内的内部错误, 序内的内部错误,也可能是文档内的错误; 也可能是文档内的错误;
软件测试基础 版权所有?郑文强 9

缺陷相关术语
故障/缺陷
与故障/缺陷相关的英语表示为FAULT、 DEFECT、BUG等等; 等等; 定义: 定义:可能会导致软件组件或系统无法执行其定 义的功能的瑕疵, 义的功能的瑕疵,例如: 例如:错误的语句或者变量定 义; 内在的缺陷是人为错误的具体表现, 内在的缺陷是人为错误的具体表现,可以是不正 确的文档、 确的文档、程序段、 程序段、指令或数据定义; 指令或数据定义;
软件测试基础 版权所有?郑文强 10

缺陷相关术语
失效/失败
与失效/失败相关的英语表示为FAILURE等等; 定义: 定义:组件/系统与预期的交付、 系统与预期的交付、服务或结果存 在的偏差[与Fenton一致]; 外部失效是内部缺陷在执行测试软件时的外部反 映。它是( 它是(规范说明) 规范说明)期望的值与实际( 期望的值与实际(观察到) 观察到) 的值存在偏差, 的值存在偏差,如系统的不正确的反应、 如系统的不正确的反应、崩溃、 崩溃、 死机等;
软件测试基础 版权所有?郑文强 11

术语之间的关系
程序人员犯了 一个错误 (mistake)
错误(mistake)在 程序或软件中就表 现为缺陷 (defect/fault)
运行带有缺陷 (defect/fault)的软 件或者程序, 件或者程序,就可能 观察到失效/失败 (fail/failure)
软件测试基础
版权所有?郑文强
12

术语之间的关系
错误 周围环境/ 使用环境
缺陷
失效/失败
软件测试基础
版权所有?郑文强
13

术语之间的关系
缺陷是由于人为错误或者环境因素导致软件系统 中存在的瑕疵; 中存在的瑕疵; 运行存在缺陷的软件系统, 运行存在缺陷的软件系统,并不一定会产生运行 错误或对用户产生消极的影响, 错误或对用户产生消极的影响,即失效; 即失效; 假如运行存在缺陷的软件系统, 假如运行存在缺陷的软件系统,发生了错误或者 对用户产生了影响, 对用户产生了影响,这就是失效; 这就是失效; 一个缺陷的存在不一定会产生失效, 一个缺陷的存在不一定会产生失效,但是有的缺 陷可以产生非常多的失效; 陷可以产生非常多的失效; 缺陷屏蔽: 缺陷屏蔽:一个缺陷会被测试对象中的另外缺陷 所掩盖; 所掩盖;
软件测试基础 版权所有?郑文强 14

软件测试的角色
软件测试是软件质量保证的一个重要环节; 软件测试是软件质量保证的一个重要环节; 软件测试可以降低软件系统在运行环境中的使用 风险; 风险; 系统或者产品通过软件测试发现其中的缺陷, 系统或者产品通过软件测试发现其中的缺陷,对 缺陷修改可以提高软件质量; 缺陷修改可以提高软件质量; 软件测试也可以为了满足合同或者法律法规的要 求,或者满足行业的标准; 或者满足行业的标准;
软件测试基础 版权所有?郑文强 15

软件测试的角色( 软件测试的角色(续)
软件测试可以为项目相关干系人提供信息, 软件测试可以为项目相关干系人提供信息,帮助 他们作出合理的决定; 他们作出合理的决定; 软件测试得到的数据和度量, 软件测试得到的数据和度量,可以帮助进行测试 过程和开发过程的改进; 过程和开发过程的改进; 假如测试过程中没有发现或者发现很少的缺陷, 假如测试过程中没有发现或者发现很少的缺陷, 可以提高对软件系统的信心; 可以提高对软件系统的信心; ……
软件测试基础 版权所有?郑文强 16

软件测试和质量保证 软件测试: 软件测试:寻找缺陷的策 略,关注工作产品
VS
质量保证: 质量保证:预防缺陷的策 略,关注过程的管理和控制
软件测试基础 版权所有?郑文强 17

不同的目标
质量保证
通过监控软件开发过程来保证产品质量; 通过监控软件开发过程来保证产品质量; 保证软件和开发过程符合相应标准与规范; 保证软件和开发过程符合相应标准与规范 ; 保证软件产品、 保证软件产品 、软件过程中存在的问题得到处 理,必要时将问题反映给高级管理者; 必要时将问题反映给高级管理者; 确保项目组指定的计划、 确保项目组指定的计划、标准和规范适合项目组 需要, 需要,同时满足评审和审计需要; 同时满足评审和审计需要;
软件测试
尽早、 尽早、尽可能多地发现软件系统中存在的缺陷及 问题;
软件测试基础 版权所有?郑文强 18

不同的工作内容
质量保证
建立质量保证活动实体 制定质量保证计划 坚持各阶段的评审和审 计,跟踪结果, 跟踪结果,并作相 应处理 监控软件产品质量 采集质量保证活动数据 度量质量保证活动
软件测试基础 版权所有?郑文强 19
软件测试
编写测试计划 评审开发工作产品 编写和执行测试用例 测试结果分析和总结 测试数据收集和度量

测试是否足够
测试是否足够, , 依赖于测试目标、 、 产品和项 测试是否足够 依赖于测试目标 测试是否足够, 测试是否足够 , 依赖于测试目标、 依赖于测试目标 、 产品和项 目的风险、 、 项目的限制条件, , 比如时间、 、 成 目的风险 项目的限制条件 比如时间 目的风险、 、 项目的限制条件, , 比如时间、 、 成 目的风险 项目的限制条件 比如时间 本和资源等! ! 本和资源等 本和资源等! ! 本和资源等
软件测试基础
版权所有?郑文强
20

测试是否足够
假如测试可以帮助: 假如测试可以帮助:
减少软件系统运行过程中发生风险的概率; 减少软件系统运行过程中发生风险的概率; 更好的满足合同或者标准的要求; 更好的满足合同或者标准的要求 ; 评估和增加软件系统的质量, 评估和增加软件系统的质量 ,提高用户对软件的信 心;
或者可以提供信息: 或者可以提供信息:
帮助干系人更好的作出决定: 帮助干系人更好的作出决定:发布软件或继续测试; 发布软件或继续测试; 帮助进行过程改进和缺陷预防; 帮助进行过程改进和缺陷预防 ;
我们可以继续进行测试! ! 我们可以继续进行测试 我们可以继续进行测试! ! 我们可以继续进行测试
软件测试基础 版权所有?郑文强 21

《软件测试基本功》系列教程 - 第2章 操作系统基础

陈能技编著 https://www.doczj.com/doc/956965645.html, 陈能技编著 https://www.doczj.com/doc/956965645.html, 第二章 操作系统基础 操作系统相关的知识是所有IT从业者必备的基础知识,也是软件测试人员的必备基础,扎实的操作系统相关知识是软件测试环境搭建、缺陷查找和分析等测试工作的基础。 本章重点介绍VMWare虚拟机的使用、Linux操作系统的安装和高级使用方面的知识。 2.1 操作系统与虚拟机 2.1.1 测试人员需要熟悉的操作系统 众说周知,软件是运行在操作系统层面之上的,而操作系统又运行于硬件设备(例如CPU、内存、硬盘)之上。常见的操作系统类型有桌面和服务器操作系统Windows、Linux、Mac OS X等,嵌入式操作系统VxWorks、uClinux、WinCE等,手机操作系统Symbian、UIQ、Windows Mobile、Palm、Android 等。 根据软件运行的环境,测试人员需要熟悉相关的操作系统的安装和使用方法。一般在进行软件兼容性测试时需要安装多套操作系统运行环境。 2.1.2 虚拟机在软件测试中的应用 一台计算机设备可以安装多套操作系统,但是如果在软件测试过程中需要频繁切换操作系统,则会浪费很多时间。另外,有些时候我们需要验证软件在不同硬件配置条件(例如内存大小)下的运行情况,但是由于不能随时插拔内存条,因此会带来测试的不便。 这时候我们可以引入虚拟机来解决这些问题。利用虚拟机可以在一台电脑上将硬盘和内存的一部分拿出来虚拟成若干机器,如图2.1所示,每台机器可以运行单独的操作系统而互不干扰,这些虚拟出来的机器可以用于自己独立的硬盘和操作系统,这些虚拟机器上的操作系统之间可以共享一个网络,实现互联互通。

软件测试方法和技术(第二版)复习大纲

软件测试方法和技术指导 目录 第一章引论 (1) 第二章软件测试的基础概念(重点与15章一起看) (2) 第三章软件测试方法(重点) (4) 第四章软件测试依据和规范(考的少) (4) 第五、六、七章单元、集成、系统、验收测试(结合一起看重点!) (4) 第十一章软件测试自动化 (5) 第十二章组建测试团队第十三章部署测试环境 (5) 第十四章测试和维护测试用例(与第三章一起考重点) (6) 第十五章报告所发现的缺陷(与2.1合起来看重点) (6) 第十六章软件测试和质量分析报告 (6) 第十七章软件测试项目管理 (7) 第一章引论 1 什么是软件测试? 答: 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 2. 为什么要进行软件测试:为了保证软件质量。 3. 软件测试的反面性的三个论据:(重点) a) 测试是为了证明程序有错,而不是证明程序无错误。 b) 一个好的测试用例是在于它能发现至今未发现的错误。 c) 一个成功的测试是发现了至今未发现的错误的测试。 4.简述下图的含义(P11 V模型需认真去理解) 这是测试模型中的“V”模型描述了一些不同的测试级别,并说明了这些级别所对应的生命周期中不同的阶段。如模型图中所示,左边下降的是开发过程各阶段即构建过程,与此相对应的是右边上升的部分,是各测试过程的各个阶段即验证过程。

5. 测试驱动开发的思想(P12 了解,不作要求) 第二章软件测试的基础概念(重点与15章一起看) 1. 什么是软件缺陷? 所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需要。 2. 软件缺陷是怎么产生的? 技术问题:算法错误、语法错误、计算和精度问题、接口参数传递不匹配 软件本身:文档错误、时间上不协调、或不一致性所带来的问题、系统的自我恢复或数据的异地备份、灾难性恢复等问题 团队工作:误解、沟通不充分 3. 软件缺陷的构成有哪些?(结合15章看包括:严重性和优先级) 4. 修复软件缺陷要付出的代价?(看图了解) 在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的20~40倍,在外部测试阶段是它的30~70倍,而到了产品发布出去时,这个数字就是40~1000倍,错误的代价不是随时间线性增长,而几乎是呈指数增长的。 5 验证和确认(结合什么是软件测试部分一起看) 6. 软件测试的分类(重点): 按测试的对象或范围分类:单元测试、文档测试、系统测试等。 按测试目的分类:功能测试、回归测试、性能测试、可靠性测试、安全性测试和兼容性测试等。 根据测试过程中被测软件是否被执行:分为静态测试和动态测试。 根据是否针对系统的内部结构和具体实现算法来完成测试:可分为白盒测试和黑盒测试 7. 软件测试的工作范畴(P28 要了解清楚): 软件测试工作的组织与管理:制定测试策略、测试计划,确认所采用的测试方法与规范, 控制测试进度,管理测试资源。 测试工作的实施:编制符合标准的测试文档,搭建测试环境,开发测试脚本、与开发组 织协作实现各阶段的测试活动 第三章软件测试方法(重点)

软件测试习题集及答案(详细版)

第一章 什么是软件测试?软件测试的目的和作用是什么? 答: 软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。 软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。测试是为了证明程序有错,而不是证明程序无错。一个成功的测试是发现了至今未发现的错误的测试。 软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例。 软件缺陷产生的原因? 答: A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改 B.软件设计说明书 C.软件操作人员的水平 D.开发人员不能很好的理解需求明书和沟通不足 软件测试的意义? 意义: 对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息; 通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本; 通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。 通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的 软件测试与软件开发的关系? 答:软件开发是一个系统的工程。包括需求分析,设计,编码,测试,维护等等几个环节。测试是整个软件开发流程中的一个环节。 简述软件测试过程v模型和w模型的主要区别: V模型是软件开发完了之后才开始测试活动。 而W模型则是软件测试活动伴随着软件开发活动。和软件开发同时开展。 W模型更加敏捷,对于软件的交付期和品质的保证能力更强。 第二章 测试计划的目的是什么? 答:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。 什么是黑盒测试?黑盒测试主要采用的技术有哪些? 答:黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它从用户观点出发的测试。用这种方法进行测试时,把被测试程序当作一个黑盒,在不考虑程序内部结构的内部

相关主题
文本预览
相关文档 最新文档