软件质量保障——三、四

三、黑盒测试

1.黑盒测试概述

1.1 如何理解黑盒测试?

1.2 黑盒测试有什么特点?

1.3 如何实施黑盒测试?

2. 黑盒测试用例设计和生成方法(这里还是要自己找题做)

2.1 等价类划分法

步骤:

1.选择划分准则

2.确定有效等价类和无效等价类

3.设计测试用例覆盖所有的有效等价类,单独覆盖无效等价类

4.写出预期结果

2.2 因果图法

(1)步骤:

1.找出所有原因,原因即输入条件或输入条件的等价类;找出所有的结果,结果即输出结果;

2.明确所有输入条件之间的关系;明确所有输出结果之间的关系

3.找出什么样的输入条件组合会出现哪种输出结果,画出因果图;

4.把因果图转换成判定表(决策表);

5.为判定表(决策表)中的每一列表示的情况设计测试用例。

(2)判定表组成

1. 条件桩:列出所有可能问题(条件)
2. 条件项:列出条件所有可能取值
3. 动作桩:列出可能采取的操作
4. 动作项:指出在条件项的各种取值情况下应采取的动作
判定规则:贯穿条件项和动作项的一列
(3) 判定表简化
简化目标:合并相似规则
相似规则判断:
有两条或以上规则具有相同动作,并且在条件项之间存在极大相似,便可以合并
“—” :表示合并后该条件项与取值无关,称 无关条件

2.3 边界值分析法

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应重点测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据
测试用例(数据)确认方法
边界值附近数据的确认方法
n : 存在边界值的参数个数
m : 边界值条件数
Paul Jorgensen 公式( 3 种方法的测试粒度依次增强):
1.4n + 1 :基本边界测试。每个参数取 min min+1 max-1 max 各一次,同时其他参数取典型值 nom 。 最后全部参数取典型值 nom 一次。
2. 6n + 1 (+x) :健壮性边界测试。每个参数取 min-1 min min+1 max-1 max max+1 各一次,同时其他参数取典型值 nom 。最后全部参数取典型值 nom 一次。
3. 3m :条件边界测试。每个条件取 -1 ,自身, +1 各一次。
条件边界测试
确定边界条件:
1. 每次只考虑一个参数的边界,固定其它参数
2. 补充确定的关联边界值

2.4 边界值分析和等价类划分的关系

(1)等价类划分时,往往先要确定边界值。
(2)边界值分析是等价类划分方法的补充。
(3)测试中需要将两者结合起来使用

3.第三、四次作业

1.什么是黑盒测试?黑盒测试又称基于需求的测试,为什么?

2.黑盒测试都有哪些用例设计和生成方法?

3.举例说明什么是正面测试和负面测试?

4.写出下列问题的所有等价类:

选举班委,6个候选人,每张选票最多只能选3人,那么选择4-6人的票都是废票,1个不选的是弃权票,选1-3人的是有效票。

四、白盒测试

1.白盒测试简介

1.1 定义

一种基于 源程序 代码 的测试方法。依据 源程序 代码结构与逻辑生成测试用例,以尽可能多地发现并修改源程序错误。分为 静态 动态 两种类型。

1.2 作用

主要的单元测试方法,保证软件质量的基础

1.3 实施者

单元测试阶段:一般由开发人员进行
集成测试阶段:一般由测试人员和开发人员共同完成

2.静态白盒测试

定义
在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时称为结
构化分析。

3.动态白盒测试

特点
1. 不但要提供软件源代码,还要提供可执行程序,测试过程需要在计算机上执行程序 .
2. 对程序模块中的所有独立执行路径至少执行一次
3. 对所有逻辑判定的取值( )都至少测试一次
4. 在上下边界及可操作范围内运行所有循环
5. 测试内部数据结构的有效性

3.1基于控制流的测试

3.1.1覆盖准则

1.语句覆盖

2.判定覆盖(判定节点真假都要各取一次)

3.条件覆盖(每一个原子条件都要取真取假各一次)

4.条件——判定覆盖(同时满足条件和判断覆盖)

5.路径覆盖:2^x(x为分支次数)
它是一种比较强的覆盖标准,但不能替代条件覆
盖和条件组合覆盖标准。

3.1.2 基本路径测试

(1)基本路径覆盖:根据基本路径构造测试用例,保证每条基本路径至少执行一次

(2)又称独立程序路径,是指任何一条贯穿程序的路径,该路径至少包含一条不同于其他路径的边

(3)基本路径的两个性质

3.1.3 循环处理方法

注意简单循环适用于边界值测试的6n+1公式

3.2基于数据流的测试

例题:

步骤:

1.画出DFG

2.分别找出D节点和U节点

3.找DU路径,每个D节点到每个U节点各一次

4.约简掉被覆盖的路径

5.设计测试用例

4.第五次作业

1.为什么说测试用例是软件测试的基础,测试用例的好坏决定了测试

2.请说说测试覆盖准则的重要意义,白盒测试和黑盒测试的测试覆盖准则有什么不同?

3.路径覆盖和条件覆盖哪个更强?路径覆盖和条件组合覆盖呢?

4.基本路径的两个重要性质是什么?举例说明。

5. 写出下面程序的语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖的测试用例和预期结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解释JDBC的作用和连接数据库的步骤

JDBC(Java Database Connectivity)是Java编程语言中用来执行SQL语句的API。它的主要作用是为Java程序提供连接各种关系型数据库的能力,使得Java开发者能够编写出与数据库进行交互的应用程序。JDBC的作用具体体现在以下几个方面: 数…

在多支付渠道中这个设计模式无敌好用!

假设我们有一个电商平台,需要支持多种支付方式。 通过策略模式来实现,管理不同的支付方式,并根据需求快速添加新的支付方式。 定义支付策略接口及其实现类: // 支付策略接口 public interface PaymentStrategy { void pay(int …

SASS基础知识

什么是SASS 1. SASS与CSS的关系 SASS(Syntactically Awesome Stylesheets)是一种强大的CSS扩展语言,它允许开发者使用变量、嵌套规则、混合宏和更多功能,这些在纯CSS中是不可能做到的。SASS旨在简化CSS代码的维护,并…

C语言练习1

前言 从0开始记录我的学习历程,我会尽我所能,写出最最大白话的文章,希望能够帮到你,谢谢。 提示:文章作者为初学者,有问题请评论指正,感谢。 题目 1: 已有定义:char a…

BI平台概述

随着数字化浪潮的推进,企业对于数据驱动决策的需求日益增长。纷享销客作为一款领先的CRM平台,一直致力于帮助企业实现销售管理的高效与智能。纷享销客一体化BI智能分析平台作为CRM平台中的重要一环,旨在为企业提供更加全面、深入的数据分析能…

【EBS】通过SQL查找所有的定时请求

--查找所有定时请求。 --也可以登录系统,在系统管理员下查找特定请求,状态设置为Scheduled进行查询 SELECT DISTINCT USER_CONCURRENT_PROGRAM_NAME, B.RESUBMIT_INTERVAL, B.RESUBMIT_INTERVAL_UNIT_CODE FROM FND_CONCURRENT_PROGRAMS_TL A, FND_…

HBuilderX编写APP一、获取token

一、新建项目 二、从onenet获取key.js 1、下载之后的压缩包,解压2、关键就是找到key.js 3、将这个key.js复制到刚才的目录下面去 4、这个key.js文件就是生成token的代码 5、只要调用createCommonToken(params)这个函数,就可以实现生成token了 其中onload…

Vue Router源码分析

摘要&#xff1a;最近项目中遇到了点Vue Router的问题&#xff0c;发现有些只是没理清楚&#xff0c;再次复习了下Vue Router的源码&#xff0c;记录下... Vue-Router的能力十分强大&#xff0c;它支持hash、history、abstract 3种路由方式&#xff0c;提供了<router-link&g…

Java多线程核心工具类

1.Thread类&#xff1a;代表一个线程。你可以通过继承Thread类或实现Runnable接口来创建线程。 2.Executor框架&#xff1a;java.util.concurrent.Executors和java.util.concurrent.Executor接口提供了一种创建和管理线程池的方法&#xff0c;可以减少在创建和销毁线程上的开销…

【TB作品】msp430g2553单片机,OLED,PCF8591,ADC,DAC

硬件 OLED PCF8591 /** OLED* VCC GND* SCL接P2^0* SDA接P2^1*//** PCF8591* VCC GND* SCL接P1^4* SDA接P1^5*//* 板子上按键 P1.3 *//* 单片机ADC输入引脚 P1.1 *//* 说明&#xff1a;将PCF8591的DAC输出接到单片机ADC输入引脚 P1.1&#xff0c;单片机采集电压并显示 */功能…

Docker run 命令常用参数详解

Docker run 命令提供了丰富的参数选项&#xff0c;用于配置容器的各种设置。以下是docker run命令的主要参数详解&#xff0c; 主要参数详解 后台运行与前台交互 -d, --detach: 在后台运行容器&#xff0c;并返回容器ID。-it: 分配一个伪终端&#xff08;pseudo-TTY&#xff0…

python字典用法

有dict和defaultdict两种字典。 defaultdict 是 Python 标准库中 collections 模块提供的一个类&#xff0c;它是 dict 的一个子类&#xff0c;具有与普通字典相同的接口和功能&#xff0c;但在某些方面表现出不同的行为。 与普通的字典相比&#xff0c;defaultdict 的一个主要…

RGB转LAB,HSV

Excel如下 目标 代码&#xff08;改下两个地址就可以&#xff09; import pandas as pd import colorspacious import colorsys# 读取Excel文件 df pd.read_excel(未分类output.xlsx)# 定义RGB到LAB和HSV的转换函数 def rgb_to_lab(rgb):lab colorspacious.cspace_convert(r…

Linux开发:tmpfs文件系统

通过df可以查看当前挂载的文件系统的使用情况: $ df文件系统 1K的块 已用 可用 已用% 挂载点 tmpfs 812364 3016 809348 1% /run /dev/sda3 526802392 16562608 483406276 4% / tmpfs 4061816 0 …

Layui:一款强大的前端UI框架

随着互联网技术的快速发展&#xff0c;前端技术也在不断更新和演进。前端工程师们面临着越来越多的挑战&#xff0c;需要在短时间内构建出高质量、高效率的网页应用。为了提高开发效率和降低开发难度&#xff0c;许多前端UI框架应运而生。在这些框架中&#xff0c;Layui凭借其优…

Git-lfs入门使用教程

在备份我的毕设到github私有库的时候&#xff0c;发现git对于单文件大于100MB的会限制上传&#xff0c;一番折腾一下发现了git-lfs [Git LFS&#xff08;Large File Storage,大文件存储&#xff09;是 Github 开发的一个Git 的扩展&#xff0c;用于实现 Git 对大文件的支持]。 …

揭秘Linux启动的层层面纱,一文看懂从黑屏到界面的精彩之旅

从按下开机键到Linux系统界面显示&#xff0c;这中间究竟经历了怎样的过程?本文将为您一一揭开Linux启动的神秘面纱&#xff0c;详细剖析每个环节的工作原理&#xff0c;让你从内核出生到系统服务启动&#xff0c;一路见证这个过程的壮阔与精彩。 一、概述 Linux系统的启动过…

【场景题】如何排查CPU偏高的问题

为了解决CPU偏高的问题&#xff0c;我们首先看一下每一个进程的CPU占用情况&#xff0c;使用命令Top 可以看见是进程id为2266的进程里面的java程序&#xff0c;占用了CPU90%使用情况 所以我们需要找到是哪一个代码导致的这样的情况&#xff0c;由于代码是线程执行的&#xff…

测绘GIS和遥感领域比较好的公众号有哪些

测绘GIS和遥感领域&#xff0c;微信公众号作为信息传播和知识分享的重要渠道&#xff0c;为从业者提供了一个快速获取行业动态、技术进展和职业发展机会的平台。分享一些在测绘GIS和遥感领域表现突出的公众号推荐&#xff1a; 1. 慧天地&#xff1a;慧天地是一个知名的测绘公众…

Webrtc源码编译之个人仓库

FGYP_GENERATORSGoogle官方文档参考&#xff1a;https://webrtc.github.io/webrtc-org/native-code/development/# 安装VS ​ VS 必须安装在C盘&#xff0c;负责后续需要修改很多文件 ​ 1、Desktop development with C ​ 2、MFC and ATL support ​ 3、Windows10SDK ​ 选…