软件测试方法分类
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
压力测试:也称强度测试、负载测试。测试时模拟实际应 用的软件环境及用户使用过程的负荷,长时间或超大负荷 地运行测试软件,来测试被测性能、可靠性、稳定性等。
容量测试:预先分析出反映软件系统应用特征的某项指标 的极限量。如最大并发用户数、数据库记录数等。
性能测试:通过测试确定系统运行时的性能表现,如得到 运行速度、响应时间、占有系统资源等方面的系统数据。
集成测试是在软件系统集成过程中所进行的 测试,其主要目的是检查软件单位之间的接口是 否正确。
它根据集成测试计划,一边将模块或其他软 件单位组合成越来越大的系统,一边运行该系统, 以分析所组成的系统是否正确,各组成部分是否 合拍。集成测试的策略主要有自顶向下和自底向 上两种。
按测试阶段划分:
3 系统测试
指不基于内部设计和代码的任何 知识,而基于需求和功能性的测试,黑盒测试也 称功能测试或数据驱动测试。 测试人员以用户的 角度,通过各种输入和观察软件的各种输出结果 来发现软件存在的缺陷,而不关心程序具体如何 实现的一种软件测试方法。测试者在程序接口进 行测试,它只检查程序功能是否按照需求规格说 明书的规定正常使用,程序是否能适当地接收输 入数据而产生正确的输出信息,并且保持外部信
黑盒测试—因果图
因果图介绍 1) 4种符号分别表示了规格说明中4种因果
关系。
黑盒测试—因果图
A.输入条件的约束有以下4类: ① E约束(异):a和b中至多有一个可能为1,即a和b
不能同时为1。 ② I约束(或):a、b和c中至少有一个必须是1,即 a、
b 和c不能同时为0。 ③ O约束(唯一);a和b必须有一个,且仅有1个为1。 ④R约束(要求):a是1时,b必须是1,即不可能a是1
时b是0。 B.输出条件约束类型
输出条件的约束只有M约束(强制):若结果a是1,则 结果b强制为0。
黑盒测试—因果图
某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列 字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字 符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
2)如果输入条件规定了值的个数,则用最大个数,最 小个数,比最小个数少一,比最大个数多一的数作为测试数 据。
比如,一个输入文件应包括1~255个记录,则测试用 例可取1和255,还应取0及256等。
黑盒测试—边界值分析
3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达 到边界值及其左右的值。
指基于一个应用代码的内部逻辑知识,即基于覆 盖全部代码、分支、路径、条件的测试。采用白 盒测试必须得了解程序内部逻辑结构、对所有逻 辑路径进行测试。
白盒测试法的覆盖标准有逻辑覆盖、循 环覆盖和基本路径测试。其中逻辑覆盖包括语句 覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条 件组合覆盖和路径覆盖。
六种覆盖标准:
黑盒测试—判定表
对功率大于50马力的机器、维修记录不全或已运行10年以 上的机器,应给予优先的维修处理……” 。这里假定, “维修记录不全”和“优先维修处理”均已在别处有更严 格的定义 。请建立判定表。
被覆盖为止。
黑盒测试—等价类划分
设有一个管理系统,要求用户输入以年月 表示的日期。假设日期限定在1990年1月 ~2049年12月,并规定日期由6位数字字符 组成,前4位表示年,后2位表示月。现用 等价类划分法设计测试用例,来测试程序 的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果
⑨
200113 无效输入
⑩
黑盒测试—边界值分析
2)边界值分析
边界值分析法就是对输入或输出的边界值进行测试的 一种黑盒测试方法。通常边界值分析法是作为对等价类划 分法的补充,这种情况下,其测试用例来自等价类的边界。
通常大量的错误是发生在输入或输出范围的边界上, 而不是发生在输入输出范围的内部。因此针对各种边界情 况设计测试用例,可以查出更多的错误。
黑盒测试—边界值分析
常见的边界值
1)对16-bit 的整数而言 32767 和 -32768 是边界
2)屏幕上光标在最左上、最右下位置 3)报表的第一行和最后一行 4)数组元素的第一个和最后一个 5)循环的第 0 次、第 1 次和倒数第 2 次、 最后一次
黑盒测试—边界值分析
基于边界值分析方法选择测试用例的原则
5)如果程序中使用了一个内部数据结构,则应当选择这个内部数 据结构的边界上的值作为测试用例。
6)分析规格说明,找出其它可能的边界条件。
黑盒测试—边界值分析
NextDate 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。 例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1920≤year≤2050
语句覆盖、判定覆盖、条件覆盖、判定/条 件覆盖、条件组合覆盖和路径覆盖,发现错误的 能力呈由弱至强的变化。
语句覆盖每条语句至少执行一次。判定覆盖 每个判定的每个分支至少执行一次。条件覆盖每 个判定的每个条件应取到各种可能的值。判定/条 件覆盖同时满足判定覆盖条件覆盖。条件组合覆 盖每个判定中各条件的每一种组合至少出现一次。 路径覆盖使程序中每一条可能的路径至少执行一 次。
测试数据 期望结果 覆盖的有效等价类 200211 输入有效 ①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据 期望结果 覆盖的无效等价类
95June 无效输入 ②
20036 无效输入
③
2001006 无效输入
④
198912 无效输入
⑥
200401 无效输入
⑦
200100 无效输入
黑盒测试—错误推测
错误推测方法
基于经验和直觉推测程序中所有可能存在的 各种错误, 从而有针对性的设计测试用例的方法。
比如,在进行新增或修改学生信息时,新增 或将修改为与已有记录完全重复的记录时(学号 相同),系统如何处理。
黑盒测试—因果图
因果图
是一种利用图解法分析输入的各种组合情 况,从而设计测试用例的方法,它适合于检查 程序输入条件的各种组合情况。
安全测试:检查系统对非法侵入的防范能力。安全测试期 间人员假扮非法入侵者,采用各种办法试图突破防线。
容错测试:主要检查系统的容错能力。当系统出错时,能 否在指定时间间隔内修正错误并重新启动系统。
按测试阶段划分:
4 验收测试
验收测试旨在向软件的购买者展示该软件系 统满足其用户的需求。它的测试数据通常是系统 测试的测试数据的子集。所不同的是,验收测试 常常有软件系统的购买者代表在现场,甚至是在 软件安装使用的现场。这是软件在投入使用之前 的最后测试。
按测试阶段划分:
5 回归测试
回归测试是在软件维护阶段,对软件进行修 改之后进行的测试。其目的是检验对软件进行的 修改是否正确。这里,修改的正确性有两重含义: 一是所作的修改达到了预定目的,如错误得到改 正,能够适应新的运行环境等等;二是不影响软 件的其他功能的正确性。
按测试阶段划分:
6 Alpha 测试:
α测试是指软件开发公司组织内部人员模拟 各类用户对即将面市的软件产品(称为α版本) 进行测试,试图发现错误并修正。α测试的关键 在于尽可能逼真地模拟实际运行环境和用户对软 件产品的操作并尽最大努力涵盖所有可能的用户 操作方式。经过α测试调整的软件产品称为β版 本。
按测试阶段划分:
7 Beta 测试:
息(如数据库或文件)的完整性。
黑盒测试
黑盒测试方法主要有:等价类划分、边界值分析、 因—果图、错误推测等,主要用于软件确认测试。
等价类划分:是把所有可能的输入数据,即程序的输 入域划分成若干部分(子集),然后从每一个子集中选取 少数具有代表性的数据作为测试用例。
等价类划分可有两种不同的情况:有效等价类和无效 等价类。
黑盒测试—因果图
3)根据因果图建立判定表。
黑盒测试—判定表
判定表
是分析和表达多逻辑条件下执行不同操作的情 况的工具。
判定表的优点
能够将复杂的问题按照各种可能的情况全部列 举出来,简明并避免遗漏。因此,利用判定表能够设 计出完整的测试用例集合。
在一些数据处理问题当中,某些操作的实施依赖 于多个逻辑条件的组合,即:针对不同逻辑条件的组 合值,分别执行不同的操作。判定表很适合于处理这 类问题。
输入等价类 日期的类型及长度
年份范围 月份范围
有效等价类
无效等价类
①6位数字字符 ⑤在1990~2049之间 ⑧在01~12之间
②有非数字字符 ③少于6位数字字符 ④多于6位数字字符
⑥小于1990 ⑦大于2049
⑨等于00 ⑩大于12
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了 3个有效等价类,编号分别为①、⑤、⑧,设计的测试用 例如下:
例如,某程序的规格说明要求计算出“每月保险金扣除额为0至 1165.25元”,其测试用例可取0.00及1165.24、还可取一0.01及 1165.26等。
再如一程序属于情报检索系统,要求每次“最少显示1条、最多 显示4条情报摘要”,这时我们应考虑的测试用例包括1和4,还应包 括0和5等。
4)如果程序的规格说明给出的输入域或输出域是有序集合,则应 选取集合的第一个元素和最后一个元素作为测试用例。
解答: 1) 根据题意,原因和结果如下: 原因: 1——第一列字符是A; 2——第一列字符是B; 3——第二列字符是一数字。 结果: 21——修改文件; 22 ——给出信息L; 23——给出信息M。
黑盒测试—因果图
2) 其对应的因果图如下:
11为中间节点;考虑到原因1和原因2不可能同时为1,因 此在因果图上施加E约束。
软件测试方法
软件测试分类
软件测试从不同的角度考虑可以有不同的 划分方法,对测试进行分类是为了更好的 明确测试的过程,了解测试究竟要完成哪 些工作,尽量做到全面测试。
按是否需要执行被测软件的角度
按是否需要执行被测软件的角度,可分 为静态测试和动态测试 。
静态测试不利用计算机运行待测程序而 应用其他手段实现测试目的,如代码审核。 (主要是让测试人员对编译器发现不了的潜 在错误进行分析,如无效的死循环,多余的 变量等)。
β测试是指软件开发公司组织各方面的典型 用户在日常工作中实际使用β版本,并要求用户 报告异常情况、提出批评意见。然后软件开发公 司再对β版本进行改错和完善。 一般包括功能度、 安全可靠性、易用性、可扩充性、兼容性、效率、 资源占用率、用户文档八个方面。
按测试方法划分:
1 白盒测试 白盒测试也称结构测试或逻辑驱动测试 ,是
系统测试是集成测试之后,与计算机硬件和 某些支持软件、数据和人员等系统元素结合起来, 在实际运行环境下对计算机系统进行严格的测试, 以验证软件系统的正确性和性能等满足指定的要 求。其内容包括压力测试、容量测试、性能测试、 安全测试、容错测试等。
软件系统测试方法很多,主要有功能测试、
性能测试、随机测试等等。
设计测试用例
在确立了等价类后,可建立等价类表,列出所有划分出 的等价类输入条件:有效等价类、无效等价类,然后从划 分出的等价类中按以下三个原则设计测试用例:
1)为每一个等价类规定一个唯一的编号; 2)设计一个新的测试用例,使其尽可能多地覆盖尚未 被覆盖地有效等价类,重复这一步,直到所有的有效等价 类都被覆盖为止; 3)设计一个新的测试用例,使其仅覆盖一个尚未被覆 盖的无效等价类,重复这一步,直到所有的无效等价类都
动态测试则通过运行被测试软件来达到 目的。
按测试阶段划分:
1 单元测试
是对软件中的基本组成单位进行的测试,目 的是检验软件基本组成单位的正确性。因为需要 知道内部程序设计和编码的细节知识,一般应由 程序员而非测试员来完成,往往需要开发测试驱 动模块和桩模块来辅助完成单元测试。
按测试阶段划分:
2、集成测试
1)如果输入条件规定了值的范围,则应取刚达到这个 范围的边界的值,以及刚刚超越这个范围边界的值作为测 试输入数据。
例如,如果程序的规格说明中规定:“重量在10公 斤至50公斤范围内的邮件,其邮费计算公式为……”。作 为测试用例,我们应取10及50,还应取10.01,49.99,9.99 及50.01等。