第四章 软件测试的分类和方法

第四章 软件测试的分类和方法
4.1 软件测试的分类
前面我们讲到了软件测试的流程,了解了测试是一项复杂的系统工程,同样
从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测
试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。

1、要执行被测软件的角度
按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用
计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要
是让测试 人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余
的变量等),而动态测试则通过运行被测试软件来达到目的。

2、按阶段划分:
□1单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等
等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验
软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节
知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块
来辅 助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重
要。

一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被
测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错
测试、分域测试等等。

□2 集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单
位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合
成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部
分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。

□3 系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正
确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一
项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试
计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系
统测 试方法很多,主要有功能测试、性能测试、随机测试等等。

□4 验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试
数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统
的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前
的最后测试。

□5 回归测试
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检
验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修
改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响
软件的其他功能的正确性。

□6 Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然
会有少量的设计变更。这种测试一般由最终用户或其他人员完成,不能由程序员
或测试员完成。

□7 Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题
需要在最终发行前找到。这种测试一般由最终用户或其他人员完成,不能由程序
员或测试员完成。

3、按测试方法划分:
□1 白盒测试
白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑
知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作
过程,可 通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,
按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正
确工作,而不顾 它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主
要用于软件验证。

“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白
盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,
从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但
即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违
反了 设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出
程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的
错误。

白盒测试的工具有Junit Framework,Jtest等。
□2 黑盒测试
黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测
试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,
通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打
开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接
口进 行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程
序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数
据库或文 件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果
图、错误推测等,主要用于软件确认测试。

“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和
软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为
测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷
多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入
进行 测试。

黑盒测试也可以借助一些工具,如WinRunner,QuickTestPro,Rational
Robot等。

4.2 黑盒测试方法列举

黑盒测试是软件测试人员常用的一种方法,由于不涉及代码,虽然现在有很
多自动化功能的测试工具,但对大多初级软件测试人员来说,就需要一遍遍的去
测试程序的功能,好的方法定能够提高测试的效率,下面介绍几种常用的黑盒测
试法。

1. 等价类划分法
是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从
每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,
常用的黑盒测试用例设计方法。

如我们要输入一个学生的成绩范围是0~100,我们不可能一个个的去穷举测
试,那么我们首先要划分等价类,就是要把可能输入的数据分类,在只考虑整数
的情况下我们可以分为:小于0,大于等于0小于等于100,大于100三类。第
一类和第三类属于无效等价类,只有第二类属于有效等价类,我们就可以用-1,
90,123这三个数来覆盖所有的等价类。

2. 边界值法
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通
常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等
价类的边界。长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范
围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测
试用例,可以查出更多的错误。

还是上面的例子,0和-1,100和101就是上述等价类的边界。
3. 错误推测法
错误推测法: 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有
针对性的设计测试用例的方法.


错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错
误的特殊情况,根据他们选择测试用例.

例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中
曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的
情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况.
可选择这些情况下的例子作为测试用例.

除了上述方法之外还有因果图法,判定表驱动分析方法,正交实验设计方法,
功能图分析方法等等。

合集下载

《软件工程》-重点考试知识点,简答

《软件工程》-重点考试知识点,简答

第一章1、软件概念:由计算机程序,数据,软件文档组成软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性软件的分类:按功能分:系统支撑应用软件;按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象。

主要表现:●开发人员开发的软件产品不能完全满足用户的需求;●软件产品的质量难以得到保障;●开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;●随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;●软件文档不完备并且存在文档内容与软件产品不符的情况。

原因:①软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段②没有完善的质量保证体系③软件文档的重要性没有得到软件开发人员和用户的足够重视④从事软件开发的专业人员对这个产业认识不够充分缺乏经验⑤软件独有的特点也给软件的开发和维护带来困难3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。

软件工程的目标:●使软件开发的成本控制在预计的合理范围内;●使软件产品的各项功能和性能能够满足用户需求;●提高软件产品的可靠性;●使生产出来的软件产品易于移植维护升级和使用;●使软件产品的开发周期能够控制在预计的合理时间范围内。

软件工程学科内容:●软件工程原理过程方法模型管理度量环境应用。

软件工程的基本原则:●将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理;●坚持阶段评审制度已确保软件产品的质量;●实施严格的产品控制以适应软件规格的变更;●采用现代程序设计技术;开发出来的产品应该能够清楚地被审查;●合理地安排软件开发小组人员并且开发小组的人员要少而精;●不断改进软件工程的实践。

常见软件测试分类

常见软件测试分类

常见软件测试分类
软件测试分类五花⼋门,⼀直以来都没有统⼀的分类标准,每个⼈的理解也不尽相同
根据相关资料以及⾃⼰实战中对于软件测试的理解,整理出详细的软件测试分类,详见下图
个⼈⾓度整理,欢迎相互交流,补充完善
说明:
1.软件测试分类中的名词基本上是交集的关系,⽐如接⼝测试属于动态测试,也属于集成测试的范围,可以是⼿⼯测试,也可以是⾃动化测试,同时服务类型是移动端的,架构类型是C/S类型的。

所以在理解分类时不能⼀概⽽论,需要相互交叉来看
2.个⼈认为⽐较重要的其实是三种分类⽅式,分别是测试⽅法、软件阶段、测试内容,其它⼏种分类⽅式作为辅助
3.实际中在测试的时候,更多是以测试内容的分类来执⾏,所以这块当属核⼼中的核⼼。

之所以这样认为,是因为这⾥的分类都是为了得到⽬标软件某项具体的指标,和软件测试的定义契合。

其它⼏种分类个⼈认为属于弥补测试思维⾓度、场景区分需要⽽产⽣。

软件测试期末复习资料

软件测试期末复习资料

需求分析与系统 设计
系统测试
概要设计
集成测试
详细设计
单元测试
编码
W模型
W模型由Evolutif公司提出,强调测试活动伴随着整个软件开发 周期,而且测试对象不仅仅是程序,需求、设计等活动同样需 要测试,也就是说,测试与开发是同步进行的。
W模型可以说是V模型的自然而然的发展。W模型体现了“及早 的和不断的进行软件测试”原则,能够帮助改进项目的内部质 量,减少总体测试时间,加快项目进度,降低测试和修改成本。
X模型也是对V模型和W
模型的改进。X模型提
出针对单独的程序片段
进行相互分离的编码和
封版 测试,此后通过频繁的
程序片段1 测试设计
X模型是事先计划再进行测试
执行测试 交接,通过集成最终合 成为可执行的程序。
工具配置
测试设计
X模型左边描述的是对
执行测试
工具配置
单独程序片段所进行的
编码完成
集成1~n
分离的编码和测试,此
敏捷开发过程模型 TDD
敏捷开发是一种以人为核心、迭代、循序 渐进的开发方法。在敏捷开发中,软件项 目的构建被切分成多个子项目,各个子项 目的成果都经过测试,具备集成和可运行 的特征。换言之,就是把一个大项目分为 多个相互联系,但也可独立运行的小项目, 并分别完成,在此过程中软件一直处于可 使用状态。
第三方测试也叫做独立测试,是指介于软件开发 者和软件用户之间的测试组织对软件进行的测试。
测试用例
从测试目的的角度来看,为达到最佳的 测试效果或高效的揭露隐藏的错误,而 精心设计并执行的少量测试数据,称之 为测试用例。
测试用例最基本由输入和预期输出组成。
软件开发过程模型

软件测试包括哪些步骤和方法

软件测试包括哪些步骤和方法

软件测试包括哪些步骤和方法软件测试是确保软件系统质量的关键过程。

通过对软件系统进行全面的测试,可以帮助发现潜在的缺陷并验证系统是否符合预期需求。

软件测试涉及到多种步骤和方法,本文将介绍其中一些常用的步骤和方法。

1. 需求分析在进行软件测试之前,首先需要进行需求分析。

这一步骤的目的是确保测试团队对软件系统的需求有清晰的理解。

测试团队需要详细了解软件系统的功能、性能、安全等需求,以便能够针对性地设计和执行测试用例。

2. 测试计划编制测试计划是测试工作的蓝图,它包含了各个测试阶段的计划、资源分配、风险评估等信息。

测试计划的编制需要根据软件系统的特点和需求制定相应的测试策略。

测试计划应当明确测试的目标、范围、时间、资源以及测试用例的设计等内容。

3. 测试用例设计测试用例是用于验证软件系统是否符合需求的具体测试步骤。

在设计测试用例时,需要根据功能需求和场景来确定测试的重点和覆盖范围。

测试用例应当具有可重复性,并尽量覆盖各种可能的情况和边界条件。

4. 环境搭建在进行软件测试之前,需要搭建适当的测试环境。

测试环境应当与实际使用环境尽可能接近,以便能够更真实地模拟用户使用软件系统的情景。

测试环境的搭建包括硬件设备、操作系统、数据库等的配置和安装。

5. 执行测试执行测试是将设计好的测试用例应用到软件系统上进行验证的过程。

测试团队根据测试计划和测试用例的执行顺序进行测试工作。

在执行测试时,需要记录测试过程中的关键数据和结果,便于后续的分析和评估。

6. 缺陷管理在测试过程中,测试团队会发现一些软件系统的缺陷或错误。

这些缺陷需要进行记录、分类和管理,以便软件开发团队能够及时进行修复。

缺陷管理包括缺陷的报告、追踪、验证和关闭等过程。

7. 性能测试性能测试是为了验证软件系统在不同负载条件下的性能表现。

通过对软件系统进行压力测试、负载测试等,可以评估系统在大量用户同时访问时的稳定性和响应速度。

性能测试可以帮助发现系统性能瓶颈并优化系统性能。

软件测试流程规范化操作手册

软件测试流程规范化操作手册

软件测试流程规范化操作手册 第一章 引言 ..................................................................................................................................... 2 1.1 软件测试流程概述 ........................................................................................................... 2 1.2 规范化操作的重要性 ....................................................................................................... 3 第二章 测试计划 ............................................................................................................................. 4 2.1 测试计划编制 ................................................................................................................... 4 2.2 测试计划审批 ................................................................................................................... 4 2.3 测试计划执行 ................................................................................................................... 4 第三章 测试用例设计 ..................................................................................................................... 5 3.1 测试用例编写 ................................................................................................................... 5 3.2 测试用例审核 ................................................................................................................... 6 3.3 测试用例维护 ................................................................................................................... 6 第四章 测试环境搭建 ..................................................................................................................... 7 4.1 测试环境准备 ................................................................................................................... 7 4.2 测试环境配置 ................................................................................................................... 7 4.3 测试环境监控 ................................................................................................................... 7 第五章 测试执行 ............................................................................................................................. 8 5.1 测试用例执行 ................................................................................................................... 8 5.2 缺陷跟踪 ........................................................................................................................... 8 5.3 测试报告编写 ................................................................................................................... 9 第六章 缺陷管理 ............................................................................................................................. 9 6.1 缺陷报告编制 ................................................................................................................... 9 6.1.1 报告内容 ....................................................................................................................... 9 6.1.2 报告编制要求 ............................................................................................................. 10 6.2 缺陷分类与优先级 ......................................................................................................... 10 6.2.1 缺陷分类 ..................................................................................................................... 10 6.2.2 缺陷优先级 ................................................................................................................. 10 6.3 缺陷生命周期管理 ......................................................................................................... 10 6.3.1 缺陷发觉 ..................................................................................................................... 10 6.3.2 缺陷分配 ..................................................................................................................... 10 6.3.3 缺陷修复 ..................................................................................................................... 11 6.3.4 缺陷验证 ..................................................................................................................... 11 6.3.5 缺陷关闭 ..................................................................................................................... 11 6.3.6 缺陷跟踪 ..................................................................................................................... 11 第七章 自动化测试 ....................................................................................................................... 11 7.1 自动化测试工具选型 ..................................................................................................... 11 7.2 自动化测试脚本编写 ..................................................................................................... 11 7.3 自动化测试执行与维护 ................................................................................................. 12 第八章 功能测试 ........................................................................................................................... 12 8.1 功能测试计划 ................................................................................................................. 13 8.2 功能测试执行 ................................................................................................................. 13 8.3 功能测试结果分析 ......................................................................................................... 13

软件测试的基本流程和方法

软件测试的基本流程和方法

软件测试的基本流程和方法软件测试是指在软件开发中,对软件系统进行验证和评估的过程,旨在保证软件产品的质量,增强软件的可靠性和稳定性,同时降低软件出现问题的可能性。

软件测试是软件开发过程中不可或缺的一环,其基本流程和方法对于软件开发人员来说是必须掌握的。

一、软件测试基本流程软件测试的基本流程包括:计划测试、设计测试用例、执行测试、评估测试结果、修改缺陷和最终报告。

具体如下:1.计划测试:首先需制定测试计划,主要包括确定测试目标和测试策略,确定测试用例设计方法和评估测试结果的标准等。

这一步对于测试的执行非常重要,测试计划应该非常清晰明确。

2.建立测试环境:在具备测试资料和测试场所的情况下,需要为测试建立测试环境,如测试服务器,虚拟机等。

测试环境应该与生产环境尽量相同,尤其是对于系统硬件、操作系统、数据库等基础组件需要尽量相同。

3.测试用例设计:设计测试用例,以验证系统的不同功能点和模块。

测试用例应该覆盖到所有功能点。

更进一步的,测试用例应该包括正常流程、异常处理和边缘情况等。

4.执行测试:根据设计的测试用例逐一执行测试,并在测试过程中记录测试结果。

在测试执行过程中,需要提供足够的信息让开发人员能够定位、并修复缺陷,这是测试执行过程的最终目标。

5.测试结果评估:测试结果需要一一评估。

测试评估基于事先定义的测试标准,以及软件系统的业务规则。

测试结果有必要进行分类处理,统计已发现的缺陷总量、严重性、频率等,并与预期结果进行比较并进行归类。

6.修改缺陷:测试结果的评估后,需将已发现的缺陷陈述清楚,把测试者从测试报告中提供的具体的问题记录下来。

开发人员严格按照这些记录,修复缺陷。

7.最终报告:在软件缺陷修复完毕后,需要就测试结果进行整理,形成测试报告。

测试报告需要包括测试计划、测试用例、测试结果、缺陷清单等内容,便于工作记录。

二、软件测试的基本方法软件测试的基本方法包括:手工测试、自动化测试等。

1.手工测试:在软件测试过程中,手工测试是最常用的测试方法。

测试技术


系统集成测试——设计 设计 系统集成测试
集成测试,通常是在单元测试的基础上,需要 将所有模块按照设计要求组装成为系统。这时 需要考虑的问题:
1.把各个模块连接起来的时候,穿越模块接口的数据是否 会丢失。 2.一个模块的功能是否会对另一个模块的功能产生不利的 影响。 3.各个子功能组合起来,能否达到预期要求的父功能。 4.单个模块的误差累加起来,是否会放大,从而达到不能 接受的程度。 5.模块之间是否存在时序问题(实时系统)与资源竞争。
软件测试
——软件测试基础
软件测试的概念
使用人工或者自动化手段来运行或测定某个系 统的过程,1.其目的在于检验它是否满足规定 的需求2.或者是发现预期的结果和实际结果之 间的差别。 软件生存期的各个阶段都可能产生错误。而软 件需求分析,设计和实现阶段是软件错误的主 要来源。
软件测试的分类
按测试用例设计方法:白盒测试,黑盒测试。 按测试策略和过程:单元测试,集成测试,确 认测试,系统测试,验收测试。 按实施对象:企业内部测试,最终用户测试, 第三方测试。
软件测试原则
充分注意群集现象。 问题的相互确认。 回归测试。 出错统计和分析。数量、定性、严重程度。 妥善保存一切测试过程文档。 完全测试是不可能的,测试需要终止。
测试方法的分类
任何工程产品都可以使用以下的两种方法进行 测试: 已知产品的内部工作过程,可以通过测试证明 每种内部操作是否符合设计规格的要求,所有 内部成分是否已经过检查。 已经知道产品的功能设计规格,可以进行测试 证明每个实现了的功能是否符合要求。
如果软件在Windows等现有平台上运行,标准 式已经确定的。 平台也可能没有标准,也许测试的软件就是平 台本身。在这种情况下,设计小组可能成为软 件易用性标准的创立者。

软件测试ppt课件


缺陷管理工具
缺陷管理工具概述
缺陷管理工具是用于对软件缺陷进行跟踪管理的软件,能够记录、 跟踪、处理和报告缺陷。
缺陷管理工具分类
缺陷管理工具可分为开源缺陷管理工具、商业缺陷管理工具等。
缺陷管理工具应用场景
缺陷管理工具适用于各种类型的软件项目,特别是对于大型项目和 团队,能够有效地管理和跟踪缺陷。
05
测试结果分析和报告
缺陷分析
缺陷分类
根据缺陷的性质和影响程度,将缺陷分为功能缺陷、性能缺陷、界面缺陷、安全缺陷等 类别,以便于分析和处理。
缺陷跟踪
建立缺陷跟踪机制,记录缺陷的发现、报告、确认、修复和验证等过程,确保缺陷得到 及时处理和关闭。
缺陷分析方法
采用因果图、鱼骨图等方法,分析缺陷产生的原因,找出根本原因,为预防和优化提供 依据。
回归测试
回归测试计划
制定详细的回归测试计划,确定 需要测试的功能、模块和场景,
以及相应的测试方法和资源。
回归测试执行
按照回归测试计划执行测试,确保 所有已修复的缺陷不再出现,以及 新功能和优化部分能够正常工作。
回归测试报告
编写回归测试报告,总结回归测试 的执行情况、发现的问题和改进建 议,为软件发布提供依据。
编写测试用例
在编写代码之前,先编写测试用例,明确软件 需求和期望结果。
编写代码
根据测试用例编写代码,确保代码符合要求并 通过测试。
重构
通过不断重构代码,提高代码质量和可维护性。
行为驱动开发(BDD)
明确需求
通过自然语言描述软件需求,明确业务行为 和期望结果。
编写测试用例
根据需求编写测试用例,确保软件行为符合 预期。
软件测试PPT课件

软件测试基础


概要设计
概要设计又称总体设计,即确定系统 的具体实现方案、给出软件的模块结构、 编写总体设计说明书。
概要设计的任务
(1)将系统划分成物理元素,即程序、文件 、数据库和文档等。 (2)设计软件结构,即将需求规格转换为体 系结构,划分出程序的模块组成、模块间的相互 关系。确定系统的数据结构、文件结构、数据库 模式,确定测试方法与策略。 (3)编写总体设计说明书、用户手册、测试 计划,用结构图来描述软件结构,选择分解功能 与划分模块的设计原则。
实际软件与用户想要的有偏差。
缺陷的分布
5% 15%
需求 设计 编码 其他
20%
60%
缺陷的分布-实例
实物资产管理项目:
总共发布30个测试版本,其中仅因用 户修改需求(增加或删除功能)而发布的 版本达到了15次,真正因缺陷集中修复发 布的只有12次,其他原因3次。
缺陷修复成本
100 90 80 70 60 50 40 30 20 10 0
软件测试基础
软件测试概论
软件生存周期各个阶段产生的文 档
阶 段
问题定义 可行性研究
基本任务
理解问题 理解工作范围
工作结果
系统目标与范围说明书 项目计划任务书
需求分析
概要设计 详细设计 编码
定义用户要求
建立软件结构
需求规格说明书
概要设计说明书
各模块的功能实现 程序规格说明书 编写程序 程序清单
测试
按测试实施者分
开发方测试 开发方通过检测和提供客观证据,证实软 件的实现是否满足规定的需求。
用户测试 用户通过运行和使用软件,检测与核实软件 实现是否符合自己预期的要求。 第三方测试 介于开发方和用户之间的测试组织的测试。

软件测试课后答案

第一章引论3、软件测试与开发的关系是怎样的为什么这么说答:软件测试和软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标:按时、高质量的完成项目。

【补充题】补1、软件测试要在编程完成后才能开始,这种观点对吗说明原因。

答:P11补2、V模型,测试阶段与开发阶段的对应关系。

答:P11第二章软件测试的基本概念2、如何理解软件质量和软件缺陷的对立统一关系答:P14缺陷是质量的对立面,要了解什么是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷。

5、需求分析、系统设计所存在的问题在软件缺陷中占有较大比例,对软件开发和测试工作有何启发答:P21要尽早发现需求工程、软件设计等各个方面的问题,减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。

【补充题】补1、根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示(P20)第三章软件测试方法3、针对国内18位身份证号验证,通过等价类划分法设计测试用例。

解:(1)等价类划分表(1)输入40088,覆盖(1)(7)(9)(12);2)输入4009X,覆盖(2)(7)(9)(12);3)输入4009,覆盖(3);4)输入400999,覆盖(4);5)输入AB0203C,覆盖(5)(6);6)输入000000,覆盖(8);7)输入40099,覆盖(10);8)输入40099,覆盖(11);9)输入40099,覆盖(13)。

6、针对程序流程图(图略),用最少的测试用例完成各种逻辑覆盖和路径覆盖的测试设计。

解题要点:分别回答语句覆盖、判定覆盖、条件覆盖、路径覆盖。

其中:前三种逻辑覆盖可以用同样的两个测试用例覆盖(假设图中向右分支为True分支;如果标注向右分支为False分支,语句覆盖可以用一个用例);路径覆盖需要三个用例(两个判定均为True的路径不可能覆盖)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档