白盒测试

软件测试手段

会有一股神秘感。 提交于 2019-12-04 23:43:26
1.按测试手段来分类   ①黑盒测试和白盒测试   ②动态测试和静态测试     静态测试:是指无需执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率     动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等   ③手工测试和自动化测试     手工测试:由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。众包测试、探索式测试。     自动化测试:使用单独的测试工具软件控制软件的自动化执行以及对预期和结果进行自动检查。单元测试、接口测试、性能测试。 2.黑盒测试的优点   ①容易实施,不需要关注内部的实现   ②更贴近用户的使用角度 3.黑盒测试的缺点   ①测试覆盖率较低,一般只能覆盖到代码量的不到40%   ②针对黑盒的自动化测试,复用率较低,维护成本较高 4.黑盒测试主要测试什么?   ①是否有不正确后遗漏的功能   ②在接口上,输入是否正确的接受,能否输出正确的结果   ③是否有数据结构错误或外部信息(例如数据文件)访问错误   ④性能上是否能够满足要求 5.黑盒测试的主要设计方法   等价类划分法  边界值分析法  错误推测法  因果图法  正交试验分析法  状态图法  流程分析法 6

(十二)软件测试基本理论

匿名 (未验证) 提交于 2019-12-03 00:19:01
一、软件开发阶段 需求分析 ①根据客户的要求,清楚了解客户需求中的产品功能、性能、界面和具体规格等,然后进行分析,确定软件产品索要达到的目标 ②要形成规则说明书 概要设计 ① 系统分析员审查软件计划、软件需求分析提供的文档,提出候选的最佳推荐方案,确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块,确定模块间的联系,确定数据结构、文件结构、数据库模式等 ② 概要设计说明书 详细设计 ① 将每一个模块确定使用的算法,并用适当的工具(如流程图)表示算法的过程,写出模块的详细过程性描述;确定每个模块使用的数据结构;确定模块接口的细节,包括用户界面、数据输入输出等全部细节。 ② 详细设计说明书 编码 通过编程语言实现 哪个阶段引入的缺陷最多? 二、软件测试阶段 单元测试 ①依据:详细设计文档 ②以黑盒测试(功能测试)为主,重点核心模块可以进行白盒测试(检查代码) ③可能需要编写驱动模块或桩模块【因为一个模块,可能不会单独存在,需要调用别的模块或者被别的模块调用】 驱动模块:模拟被测模块的上一级模块(调用被测模块的哪个模块) 桩模块:模拟被测模块的下一级模块(被被测模块调用的模块) ④在实际工程中,为了节约成本,单元测试经常只由开发人员完成,有悖于测试测试思想(测试必须由第三方来完成) 一个好的单元测试将会在产品开发的阶段发现大部分的缺陷,并且修改它们的成本也很低。

软件测试理论知识点(二)

限于喜欢 提交于 2019-12-01 08:55:40
1. 黑盒测试 : (1) 等价划分法 :同时考虑 有效 等价类、 无效 等价类 (2) 边界值分析法 :选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。同时考虑 输入 边界、 输出 边界。 (3) 决策表 :适用于if-else分支逻辑突出语句 条件桩 条件项 动作桩 动作项 (4) 因果图 : (5) 正交试验设计法 : 2. 白盒测试 :静态白盒测试(又称结构分析)+动态白盒测试(又称结构化测试) <1>逻辑覆盖法测试: (1) 语句覆盖 :每个可执行语句至少执行一次, 最弱逻辑覆盖 。 (2) 判定覆盖 :又称分支覆盖、所有边覆盖,程序中每个判定至少取一次真和一次假,即真假值均被满足。 (3) 条件覆盖 :使每个判断中每个条件的可能取值至少满足一次。条件覆盖不一定包含判定覆盖。 (4) 条件判定覆盖 :所有条件可能至少执行一次取值+所有判断的可能结果至少执行一次。 (5) 条件组合覆盖 :每个条件的所有可能至少出现一次+每个判断本身的判定结果也至少出现一次+这些结果的所有可能组合都至少出现一次。 覆盖准则相当强 ,但仍有可能会漏掉一部分路径, 测试不完全 。 <2>路径覆盖法测试 (1)按程序结构分: 顺序结构、选择结构、循环结构 。 循环结构又分为:简单循环+串接循环+嵌套循环等。 (2) 基本路径测试 3 .性能测试: (1) 负载测试

软件测试分类

自作多情 提交于 2019-12-01 08:01:29
软件测试分类 1. 按照阶段进行划分 1.1 单元测试(Unit Testing) 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师 测试依据:代码和注释+详细设计文档 测试方法:白盒测试 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 1.2 集成测试(Integration Testing) 集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。主要目的是检查软件单位之间的接口是否正确。 测试阶段:一般单元测试之后进行 测试对象:模块间的接口 测试人员:白盒测试工程师或开发工程师 测试依据:单元测试的模块+概要设计文档 测试方法:黑盒测试与白盒测试相结合 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 补充说明: 单元测试是一个模块内部的测试,集成测试是在模块之间进行测试(至少两个) 1.3 系统测试(System Testing) 将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试 测试阶段

测试划分

谁说我不能喝 提交于 2019-12-01 07:49:46
1. 按照阶段进行划分 1.1 单元测试(Unit Testing) 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师 测试依据:代码和注释+详细设计文档 测试方法:白盒测试 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 1.2 集成测试(Integration Testing) 集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。主要目的是检查软件单位之间的接口是否正确。 测试阶段:一般单元测试之后进行 测试对象:模块间的接口 测试人员:白盒测试工程师或开发工程师 测试依据:单元测试的模块+概要设计文档 测试方法:黑盒测试与白盒测试相结合 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 补充说明: 单元测试是一个模块内部的测试,集成测试是在模块之间进行测试(至少两个) 1.3 系统测试(System Testing) 将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试 测试阶段:集成测试通过之后 测试对象

测试基础知识学习笔记

好久不见. 提交于 2019-11-30 05:54:43
1、 软件测试的过程分为单元测试、集成测试、确认测试和系统测试几个步骤。 (1) 单元测试(也称模块测试): 针对软件设计的基本单元——程序模块,进行正确性检验的测试工作。目的在于发现各个模块内部可能存在的各种差错。单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行、独立地进行测试; (2) 集成测试(也称组装测试,联合测试) :在单元测试的基础上,将所有模块按设计要求集成在一起进行测试,以检验总体设计中各模块间的接口设计问题、模块之间的相互影响、上层模块存在的各种差错及全局数据结构对系统的影响等方面。 (3) 确认测试(也称验收测试,有效性测试) :主要检验软件的功能和性能是否与需求说明书中的规定一致。 (4) 系统测试: 将软件系统作为一个元素,放入整个实际的计算机系统中,与计算机硬件、其他软件、使用人员等系统元素结合在一起,在实际使用环境下进行综合全面的测试。 2、α测试和β测试 (1) α测试 是指软件开发公司组织内部人员模拟各类用户对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。Alpha测试是在受控的环境中进行的。经过α测试调整的软件产品称为β版本。 (2) β测试 是由软件的多个用户在实际使用环境下进行的测试

黑盒测试和白盒测试的区别

谁说胖子不能爱 提交于 2019-11-30 03:40:38
alpha测试版,有点相当于内部测试,一般开发人员在场 ,是由用户做测试,但开发人员在场,一般是请用户到开发现场去测试 beta测试版,完全交给用户,由用户做测试,返回测试报告,相当于发行前的一个版本 Alpha测试 在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。 Beta测试 当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。 转载自 https://www.cnblogs.com/i16i1007/p/6623269.html 感谢! 推荐: 黑盒测试和白盒测试的区别 来源: https://www.cnblogs.com/Comet-Fei/p/11553540.html

297.白盒测试

最后都变了- 提交于 2019-11-30 03:13:57
1.概述 1.1 白盒测试基本概念 ​ 白盒测试又称为结构测试或逻辑驱动测试,是针对被测试程序单元内部如何工作的测试,特点是基于被测试程序的源代码,而不是软件的需求规格说明。(以代码为对象) ​ 使用白盒测试方法时,测试者必须全面了解程序内部逻辑结构,检查程序的内部结构,从检查程序的逻辑着手,对相关的逻辑路径进行测试,最后得出测试结果。 1.2采用白盒测试方法必须遵循原则 (1)保证一个模块中的所有独立路径至少被测试一次。 (2)所有逻辑值均需测试真值和假值两种情况。 (3)检查程序的内部数据结构,保证其结构的有效性。 (4)在上下边界及可操作范围内运行所有循环。 2.静态白盒测试方法 ​ 静态白盒测试主要通过审查、走查、检验等方法,来查找代码中的问题和缺陷。 ​ 主要原因是为了尽早发现软件缺陷,以找出黑盒测试难以发现或隔离的软件缺陷。其次,为黑盒测试员在接受软件进行测试设计时,设计和应用测试用例提供思路。通过审查评论,可以确定有问题或者容易产生软件缺陷的特性范围。 2.1检查设计和代码 ​ 静态白盒测试是在 不执行软件 的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程。有时又称为结构化分析。 2.2正式审查 1、正式审查有四个要素 (1)确定问题 (2)遵守规则 (3)准备 (4)编写报告 2、正式审查的效果 ​ 正式审查的主要的目的是找出软件中存在的缺陷

白盒测试的逻辑覆盖

不想你离开。 提交于 2019-11-29 16:57:53
符号说明:   ^ 代表逻辑运算符 && 或者 ||      T 代表 True F 代表 False      A / B 代表条件表达式 六种逻辑覆盖的强弱关系: 在外面很多的教程都认为这六种逻辑覆盖从弱到强的排列顺序是: 语句覆盖->判定覆盖->条件覆盖->判定-条件覆盖->条件组合覆盖->路径覆盖 但经过上面的分析,它们之间的关系实际上可以用下图表示 语句覆盖 每条语句至少执行一次。 测试用例条件: A ^ B = T 判定覆盖(分支覆盖) 分支执行一致 测试用例条件:        A ^ B = T        A ^ B = F 条件覆盖 每个条件取到各种可能的值 测试用例条件:        A=T     A=F        B=T     B=F 判定/条件覆盖 判定覆盖、条件覆盖 测试用例条件:        A ^ B = T    A ^ B = F        A=T     A=F        B=T     B=F 条件组合 每个判断语句中条件结果的所有可能组合至少出现一次 测试用例条件:        A= T    B= T        A= T    B= F        A= F    B= T        A= F    B= F 路径覆盖 覆盖程序中所有可能的执行路径 优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖

测试方法

﹥>﹥吖頭↗ 提交于 2019-11-29 09:32:22
         测试方法 1 、按是否执行程序分 静态测试 静态测试是不运行被测试本身而寻找程序代码中可能存在的错误或评估程序代码的过程。静态测试通过分析或者监察源程序的语法、结构、过程、接口等来检查程序的正确性,   找出问题。 动态测试 动态测试是运行被测试程序,输入相应的测试数据,检查运行结果于预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统 运行效率和健壮性等性能。 2 、按是否在意内部代码逻辑结构分 黑盒测试 又称功能测试,数据驱动测试或者基于规格说明书的测试。注重于测试软件的功能需求。 灰盒测试 是介于黑盒测试于白盒测试之间的测试方法。在执行白盒测试的时候考虑黑盒测试的 方法。 白盒测试 又称结构测试、逻辑驱动测试或基于程序本身的测试。 3 、按测试目的分 冒烟测试 冒烟测试(Smoke testing)的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。 回归测试 在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新版本上再现。 4 、功能测试和性能测试 功能测试 功能测试(Functional testing),根据产品特征、操作描述和用户方案