软件工程导论 黑盒测试、白盒测试

这篇具有很好参考价值的文章主要介绍了软件工程导论 黑盒测试、白盒测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

单元测试

集中检测软件设计的最小单元(即模块)。

测试重点

  • 模块接口
  • 局部数据结构
  • 重要执行通路
  • 出错处理通路
  • 边界条件

代码审查

一次审查可以发现多个错误,可以减少系统验证的总工作量。

集成测试

非渐增式测试

将程序作为一个整体,对错误的定位和改正十分困难。

渐增式测试

自顶向下集成

从主控程序模块开始,沿着程序控制层次向下移动,逐渐把各个模块结合起来。

步骤
  1. 对主控模块进行测试,测试时用存根程序代替所有直接附属于主控制模块的模块;
  2. 以深度优先或宽度优先的策略每次用一个实际模块代替一个存根程序;
  3. 在结合进一个模块的同时进行测试;
  4. 为保证新模块未引入新错误,可选进行回归测试。
优点
  • 无需驱动程序
  • 早期可实现和验证主要功能
  • 早期发现上层模块错误
缺点
  • 需要存根程序
  • 早期不能充分展开人力
  • 底层关键模块错误发现晚

自底向上集成

从原子模块开始测试。

步骤
  1. 把底层模块合成某个特定的软件子功能的簇;
  2. 写一个驱动程序来协调测试数据的输入和输出;
  3. 对有模块组成的子功能簇进行测试;
  4. 去掉驱动程序,沿软件结构自下向上移动,合并子功能簇。
优点
  • 无需存根程序
  • 早期充分展开人力
  • 早期发现底层关键模块错误
缺点
  • 需要驱动程序
  • 实现和验证主要功能较晚
  • 发现上层模块错误较晚

回归测试

确认增加模块之后没有引入新的错误或导致其他模块产生错误。

确认测试

用于检验软件有效性。以用户为主进行。
通常采用黑盒测试

Alpha测试

由用户在开发者环场所,在开发者指导下进行测试。在受控环境中进行测试

Beta测试

用户在一个或多个用户场所进行测试,开发者不在场。即在不受控环境中进行测试。

白盒测试和黑盒测试

软件工程导论 黑盒测试、白盒测试

黑盒测试

用于发现界面错误、功能错误或缺失,初始化和终止错误、性能错误、数据结构错误、外部数据库访问错误等。

等价划分

将程序输入域划分为若干个数据类,据此导出测试用例。

边界值分析

测试数据在边界值附近选取,应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据。

错误推测

很大程度上依靠直觉和经验进行。列举出易发生错误的特殊情况。

白盒测试

进行于测试过程早期,确定一组最可能发现某个(类)错误的测试数据。

逻辑覆盖

有选择地执行程序中的某些具有代表性的通路是对穷尽测试的唯一可执行的替代方案。

  • 判定覆盖(分支覆盖):每个语句和每个判定的每种可能的结果都应该至少执行一次。
  • 条件覆盖:每个语句至少执行一次。每个判定表达式中的每个条件都取到所有可能的结果
  • 判定/条件覆盖:每个语句和每个判定的每种可能的结果都应该至少执行一次每个判定表达式中的每个条件都取到所有可能的结果。
  • 条件组合覆盖:每个判定中条件的各种组合都出现至少一次。即if (id <= 0 || name == null || name.length <= 0)需要3条测试数据。
  • 路径覆盖:选取足够多的测试数据,使程序每条可能路径都至少执行一次,如果程序有环,则每个环至少经过一次。

控制结构测试

基本路径测试

软件工程导论 黑盒测试、白盒测试文章来源地址https://www.toymoban.com/news/detail-420781.html

条件测试
  • 容易度量条件的测试覆盖率
  • 程序内部条件覆盖率可指导附加测试的设计
循环测试
  • 简单循环:测试集:(n为循环允许的最大次数)
    • 跳过循环
    • 循环1次
    • 循环2次
    • 循环m<(n-1)次
    • 循环n-1次
    • 循环n次
    • 循环n+1次
  • 嵌套循环:如果把简单循环的测试方法.直接应用到嵌套循环,可能的测试数就会随嵌套层数的增加按几何级数增长,这会导致不切实际的测试数目。故采用如下方法:
    • 从最内层循环开始测试,把所有其他循环都设置为最小值。
    • 对最内层循环使用简单循环测试方法,而使外层循环的送代参数取最小值,并为越界值或非法值增加一些额外的测试。
    • 由内向外,对下一个循环进行测试,但保持所有其他外层循环为最小值,其他嵌套循环为“典型”值 。
    • 继续进行下去,直到测试完所有循环 。
  • 串接循环:
    • 如果串接循环的各个循环都彼此独立,则可以使用前述的测式简单循环的方法来测试串接循环。但是,如果两个循环中接而且第一个循环的计数器值是第二个循环的初始值,则这西个循环并不是独立的。当循环不独立时,建议使用测试嵌套循环的方法来测试串接循环。

到了这里,关于软件工程导论 黑盒测试、白盒测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软件工程】单元测试:构建坚固软件基石的不可或缺一环

    人不走空                                                                          目录         🌈个人主页:人不走空       💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 1. 什么是单元测试? 2. 单元测试的原则 2.1 独立性 2.2 可重复性 2.3 快速性

    2024年01月25日
    浏览(60)
  • 软件测试技术之单元测试—工程师 Style 的测试方法

    什么是单元测试? Wikipedia 对单元测试的定义: 在计算机编程中,单元测试(Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 在实际测试中,一个单元可以小到一个方法,也可以大到包含多个类。从定义上讲,单元测试和

    2024年02月12日
    浏览(61)
  • 软件测试技术之单元测试—工程师 Style 的测试方法(2)

    怎么写单元测试? JUnit 简介 基本上每种语言和框架都有不错的单元测试框架和工具,例如 Java 的 JUnit、Scala 的 ScalaTest、Python的 unittest、JavaScript 的 Jest 等。上面的例子都是基于 JUnit 的,我们下面就简单介绍下 JUnit。 JUnit 里面每个 @Test 注解的方法,就是一个测试。@Ignore 可以

    2024年02月11日
    浏览(49)
  • 软件测试技术之单元测试—工程师 Style 的测试方法(3)

    如何设计单元测试? 单元测试设计方法 单元测试用例,和普通测试用例的设计,没有太多不同,常见的就是等价类划分、边界值分析等。而测试用例的设计其实也是开发者应该掌握的基本技能。 等价类划分 把所有输入划分为若干分类,从每个分类中选取少数有代表性的数据

    2024年02月12日
    浏览(65)
  • 【软件构造】黑盒测试与白盒测试

    按照 是否需要知道程序内部是如何实现 的,将测试分为 黑盒测试 与 白盒测试 。 需要知道程序内部是如何实现的—— 白盒测试 不需要知道程序内部是如何实现的—— 黑盒测试 白盒测试一般是 内部人员 即程序员进行测试 黑盒测试一般是 外部人员 如专门的测试人员和用户

    2023年04月15日
    浏览(47)
  • 【读书笔记】《软件工程导论》

    目录 一、软件工程概述 二、启动阶段 三、计划阶段 四、实施阶段 五、收尾阶段 软件危机: 在计算机软件的开发和维护过程中遇到的一系列严重问题。 软件危机的产生与自身的特点有关,还与软件开发、管理的方法不正确有关。 软件危机的典型表现: 对软件开发的进度和

    2024年02月11日
    浏览(45)
  • 计算机导论10-软件与软件工程

    软件(software)是 信息的载体,并且提供了对信息的处理能力 ,软件来 反映用户特定的信息处理逻辑,从而由对信息增值来取得用户自身效益增值。 软件运行在硬件之上,是硬件实施计算、控制等功能的工作步骤、流程及相关说明; 硬件是软件运行的物质基础 ,硬件系统

    2024年01月20日
    浏览(59)
  • 软件工程导论期末救急包(中)

    目录  用户需求  需求分析常用的分析方法  软件设计   创建良好设计的原则  内聚性  耦合性  UML中各种视图及其作用  用例视图VS逻辑视图  UML中的主要图及其作用  软件开发过程与UML可视化建模  MVC模式   MVVM模式  面向对象模型主要哪些模型组成?  概要设计阶段的

    2024年02月10日
    浏览(52)
  • 软件工程导论期末急救包(上)

    目录 什么是软件工程?它的目标和内容是什么? 软件文档作用及包含 软件过程模型  瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 软件生存周期  需求分析阶段的基本任务是什么?  可行性研究的任务是什么? 软件是什么? 软件工程是一种用科学知识和技术原理来

    2024年02月11日
    浏览(44)
  • Linux环境下,针对QT软件工程搭建C++Test单元测试环境的操作指南

    C++Test是Parasoft公司出品的一款可以针对C/C++源代码进行静态分析、单元测试、集成测试的测试工具。本文主要讲解如何在Linux环境下,搭建QT插件版的C++Test测试环境。 1、在官网上下载Linux环境下的QT库和QT Creator: 2、先安装依赖文件: 3、解压QT库安装包: 4、配置(用于生成

    2024年01月19日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包