软件质量保证与测试03

白盒测试:分析组件、系统的内部结构,并设计相应的测试用例进行的测试

(结构测试、透明盒测试、逻辑驱动测试、基于代码的测试)

1.为什么要引入白盒测试:

对于行业严格要求的代码,比如军事、金融、医学等必须严格白盒测试

可以洞察程序中的一切,往往可以进行比较完整的测试

2.分类:

静态白盒测试,动态白盒测试

白盒测试方法:控制流分析、数据流分析、覆盖分析、路径分析、符号测试

3.白盒测试应用范围:

可以用于所有的系统开发阶段,包括单元测试、集成测试和系统测试。

通常进行路径测试,可以测试单元内部。单元之间、子系统之间以及系统内部的各种执行路径。

4.白盒测试的优缺点:

优点:

使程序员注意代码的自我审查,

测试代码中每条分支路径,对代码的测试比较彻底,可以测试证明工作完整性。

揭示隐藏在代码中的缺陷,保证程序中没有不该存在的代码

根据内部结构进行最优化测试

缺点:

执行路径可能非常多,导致无法测试

测试员必须会编程

效率不高导致成本过高

5.白盒测试过程:瞎掰掰easy

6.静态白盒测试:评审:正式/非正式

非正式:桌面审查

聊天

伙伴测试

结对编程

正式:  确定问题 -> 遵守规则 -> 准备 -> 编写报告

管理、技术评审

走查(答辩)

审查(专人报告)

审计

(涉及编码标准和规范,通用代码审查清单、静态白盒测试工具C++ test  PC - Lint)

7.动态白盒:

① 基于数据流的白盒测试(数据覆盖):查看代码中变量的定义和引用等情况,可判定软件可能存在的数据方面的隐患或者错误。

变量被定义 + 变量被引用:变量必须先定义,再引用;被定义了就要被使用

基于数据流的白盒测试已经非常成熟了

② 基于控制流的白盒测试(代码覆盖):测试程序的状态及其中的程序流程,设法进入和退出每个模块,执行每一个代码,追踪所有的逻辑和分支。

(通常情况下进行彻底的数据流路径测试不现实)

控制流图:节点 + 控制流线

节点:进程快 + 判定点 + 连接点(具体画法百度)

(具体由边和节点限定的范围被称为区域)啊哈!

特点:有唯一的入口节点(源节点代表开始),唯一的出口节点(中止接点代表结束),判定节点发出的边必须终止于一个节点

                     ※ 流程图化成控制流图

测试覆盖标准:逻辑覆盖:语句覆盖、判定覆盖、条件覆盖、判定 / 条件覆盖、组合覆盖、路径覆盖(功能点覆盖率 和 结构覆盖率)

循环覆盖:

基本路径测试:(McCabe圈覆盖)

独立路径(多次出入每次都不完全一样)

环形复杂度:(也叫圈复杂度:程序模块独立路径数量,确保所有路径执行一次的下界  ※ 环形复杂度计算公式

                                                       基本路径测试方法:画程序流图 -> 计算环形复杂度,独立路径条数 -> 导出基本路径集 -> 设计测试用例输入数据和预期输出

几种不同的覆盖以及代码举例

8.Foster的ESTCA覆盖准则:

9:Xunit简介:

白盒测试是主要的单元测试方法

一般由开发人员实施白盒单元测试

目前广泛使用的动态白盒测试工具是xUnit测试框架家族

单元测试工具分为两类:

自动化单元测试工具:C++ Test 、Visual Unit 自动产生用例,执行测试、生成测试报告等

单元测试框架:提供类库和接口,用户自己编写测试代码来进行单元测试,如 xUnit 家族(xUnit 家族有哪些可以自行百度)

原文地址:https://www.cnblogs.com/yangf428/p/11171974.html

时间: 2024-11-12 21:32:59

软件质量保证与测试03的相关文章

山东大学软件质量保证与测试技术复习纲要

软件质量保证与测试技术复习提纲 1.3  1.5   2.1 2.3 2.5 2.6   3.3(3.3.1    扩展) 3.4 3.7.3  FSM   状态图 状态表   5.1 5.7.1 5.7.2   8.1.1 8.1.5   9.1 9.6 3.3.1    扩展 某研究所重新对其在大学以上学历的职工安排工作.其方针如下:"如果年龄不满18岁,文化程度是大学,若是男性,则一律要求考研究生.若是女性,则分配到研究所办公室任行政干部:如果年龄满18岁但不足50岁,文化程度是研究生,不

软件质量保证与测试01

软件质量工程体系: 1.软件质量控制的基本方法: 目标问题度量法:规定目标,度量收集 风险管理法:识别风险,评估,风险排序,制定计划 PDCA质量控制法:Plan,Do,Check,Action (我国最常用模型:基于PDCA的全面服务质量管理) 2.实施CMM必要性: 实施CMM是改进软件质量的有效方法:控制软件生产过程,提高软件生产者组织性和软件生产者个人能力的有效合理的方法. 主要涉及领域因素:需求工程,软件复用等 CMM五个层次: 初始级 可重复级 已定义级 已管理级 优化级 3.软件质

软件质量保证与测试(作业六)

第13章 软件测试 思考:软件测试的方法和软件性能测试 1.按测试设计的方法分类:(1)黑盒测试:只关心输入和输出的结果(2)白盒测试:去研究里面的源代码和程序结构 2.按是否运行程序分为:(1)静态测试:是指不实际运行被测软件,而只是静态地检查程序代码和可能存在的错误的过程.静态测试包括:对于代码测试,主要是测试代码是否符合相应的标准和规范.对于界面测试,主要测试软件的实际界面与需求中的说明是否相符.对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求.(2)动态测试,是指运行实

软件质量保证与测试第五周作业

软件的质量保障工作 前言: 在本周我们团队开始进入程序编写阶段,我和张超组成的小组被分配到的任务模块式是开发游客模块中的浏览文章.发表评论部分. 在本周我初步完成博主界面以及首页的代码设计,并进行相应的单元测试(包括是否符合组内要求文档核查). 软件质量保障工作是指软件团队为了让软件达到事先定义好的质量标准而进行的活动,包括测试工作. 组内相关文档要求:(见页末附录部分) 界面设计核查表 核查人:陈丽霞 核查时间:2016/3/29 核查 序号 要求 截图示意 审查结果 组内相关文档对比核查(文

软件质量保证与测试(作业五)

部署图(本周项目所分配的任务) 一.部署图的简介 部署图用来描述系统运行时候的结构,展示了硬件如何配置及其软件如何部署到网络结构中.从部署图中,我们可以了解到软件和硬件组件之间的物理关系. 二.部署图的构成 1.结点 一个结点,通常描述成一个立体的盒子,由一个矩形旁边伸出两个小矩形组成.通常它表示一个计算设备. 2.结点实例 结点实例名称格式如下 Node Instance : node,它与结点的区别就是名称有下划线和结点类型前面有冒号. 3.组件 组件(Component)是对数据和方法的简

软件质量保证与测试(作业三)

课本上第5章的习题 1.团队模式和团队的开发模式有什么关系? 答:所谓团队模式,在软件团队中有各种形式,适用于不同的人员和需求.所谓最基础的团队模式,就是一群人踢足球,球在哪里,一堆人就跟到哪里,这样的模式叫--窝锋模式.随着团队的成熟和环境的变化,团队模式会演化成不同的模式.有主治医师模式.明星模式.社区模式.业余剧团模式.秘密团队.特工团队.交响乐团模式.爵士乐模式.功能团队模式.官僚模式等.每个模式有不同的特色和适合的场景,选用时,我们得考虑好得失. 团队开发模式,则是一个团队在一起做软件

软件质量保证与测试(练习)

题目: 选择一种你比较熟悉的软件,点评它的优缺点,并描述此类软件的发展历史 系统软件:操作系统,设备驱动程序.工具软件等 应用软件:用户使用它们来完成工作,从管理核电厂到写文章,或者是通信.游戏.浏览网页.播放视频等 恶意软件:软件病毒等 作答: 应用软件:京东 优点:是真货,基本没有后顾之忧.舒适的界面,全面的订单跟踪,最优秀的分类,反应不错的爪机端.还有最重要的就是人性化的网页和APP. 缺点:价格贵,和市场价差不了多少,可选性也不多.全国货源不一致,某些省份经常没货,货品种类不够全面. 发

软件质量保证和测试(练习二)

软件有很多种:ShringWrap(在包装盒子里面的软件).WebAPP(基于网页的软件).InternalSoftware(企业或学校或某组织内部的软件).Games(游戏).MobileApps(手机应用).OperatingSystems(操作系统).Tools(工具软件),选取1种软件,请分析他们各自的特点. 1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利么? 他们的目标都是赚取用户的现金么?还是别的? 2) 你个人第一次用此类

软件质量保证与测试(--作业--)

题目: 选择一种你比较熟悉的软件,点评它的优缺点,并描述此类软件的发展历史 系统软件:操作系统,设备驱动程序.工具软件等 应用软件:用户使用它们来完成工作,从管理核电厂到写文章,或者是通信.游戏.浏览网页.播放视频等 恶意软件:软件病毒等 应用软件:淘宝 优点: 1. 为用户提供了庞大的信息量,满足了大部分用户的需求 2. 以购物为目的行为,配合其他信息的服务,促进了商品浏览量,进而促进了商品的成交率. 3. 阿里巴巴.阿里软件.阿里妈妈.淘江湖.口碑网.淘宝平台环环相扣为卖家解决了从货源,库存