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