软件测试-白盒灰盒篇

2024-05-04 02:18
文章标签 软件测试 白盒 灰盒

本文主要是介绍软件测试-白盒灰盒篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇博客接着来介绍白盒测试,在没有具体接触白盒测试前,总觉他很神秘,很复杂。相信大家都会有这样的感觉,


今天就来把这个盒子打开,剖析一下白盒测试。

 

白盒测试                                                                                                                      


白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格


说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而


不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。



“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。测试者必须检查程序的内部结构,从检查程序的


逻辑着手,得出测试数据。

 


白盒测试方法                                                                                                              



主要有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆

盖和程序变异。

其中逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖。

                                                           

 

六种覆盖标准发现错误的能力呈由弱到强的变化:

 

 1. 语句覆盖每条语句至少执行一次。

 2. 判定覆盖每个判定的每个分支至少执行一次。

 3. 条件覆盖每个判定的每个条件应取到各种可能的值。

 4. 判定/条件覆盖同时满足判定覆盖条件覆盖。

 5. 条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

 6. 路径覆盖使程序中每一条可能的路径至少执行一次。

 

导图展示                                                                                                                      


 

                                        

 

 

黑白盒对比                                                                                                                   



                          


灰盒测试                                                                                                                     


       灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关

注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状

态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很

低,因此需要采取这样的一种灰盒的方法。

 


通过这两篇博客的介绍,相信大家对软件测试的基本方法有了一定的认识,能够知道黑盒,白盒,灰盒之间的区别和

联系,以及如何取舍。结合实际情况,咱们ITOO项目是黑盒白盒都采用了,但是由于白盒的成本昂贵,要做的非常

细致的相对困难些,所以这次白盒测试主要安排了代码走查法和单元测试,旨在提高大家的编码水平,希望大家多多

配合!

这篇关于软件测试-白盒灰盒篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/958143

相关文章

软件测试之压力测试知识总结

软件测试之压力测试知识总结 一、压力测试概述 压力测试(Stress Testing)是软件测试中的一种重要手段,用于验证软件应用程序在极端负载条件下的稳定性和可靠性。其主要目的是在软件承受极高负载时,测量其健壮性、错误处理能力和恢复能力,确保软件在危急情况下不会崩溃或表现异常。压力测试也被称为耐力测试,在软件工程中占有举足轻重的地位。 1.1 压力测试的目的 压力测试的主要目的包括:

软件测试中常用的linux命令总结

1、修改ssh登陆密码命令:passwd 2、新建一个名字为dbuser的Linux新用户:(sudo adduser dbuser) 4、./frps -c ./frps.ini(FRP启动命令) 5、lsof -i:7500(监听端口) 6、sh reload.sh master(文件后缀为sh时,nginx启动命令);( 文件为执行文件启动命令:./nginx -s reload) 7、sh

软件测试永远的家——银行测试,YYDS

为什么做金融类软件测试举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没有,业务稳定。实在是测试类岗位中的香饽饽! 一、什么是金融行业 金融业是指经营金融商品的特殊行业,它包括银行业、保险业、信托业、证券业和租赁业 往往涉及证券、银行、基金、信托、保险、投行、期货等领域 二、金融行业的业务特点 随着金融行业的业务不断增加,金融交易模式的不断变化,

软件测试学习笔记丨Pytest的使用

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22158 1. 简介 pytest是一个成熟的全功能python测试框架测试用例的skip和xfail,自动失败重试等处理能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试,接口自动化测试pytest有很多第三方插件,并且可以自定义扩展,如pytest-

【软件测试】设计测试用例

📕引言 本文章重点目标: 测试用例的概念 设计测试用例的万能思路 设计测试用例的方法 ◦ 基于需求的设计方法◦ 具体的设计方法 ▪ 等价类 ▪ 边界值 ▪ 判定表法 ▪ 正交法 ▪ 场景法 ▪ 错误猜测法 🍀测试用例 🚩概念 什么是测试用例? 测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要

软件测试学习笔记丨Linux-Bash编程语法

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32091 一、Bash编程基础 1.1 变量 1.1.1 语法 Variable_name=value 1.1.2 变量定义的规则 变量名区分大小写,a和A为两个不同的变量;变量名可以使用大小写字母混编的形式进行编写;变量名与值之间的=两侧都不能有空格;在读取或打印变量时,需使用$+变量名;

第八章 软件测试简记

第八章  软件测试 软件测试:在软件投入运行前对软件需求分析、软件设计规格说明和软件编码进行差错和纠正。 软件测试的目标: 1.用最少的人力、时间找出软件潜在的各种错误和缺陷; 2.能够确认软件实现的功能和用户需求上是一样的; 3.能够收集到足够的测试结果为软件可靠性提供依据; 软件测试的任务:根据软件开发各个阶段的文档资料和程序的内部结构,精心设计

【软件测试】软件测试-----什么是Bug?Bug是如何分级的?Bug的生命周期是怎样的?如何描述一个Bug?

博客目录 一.软件测试的生命周期二.BUG的定义和级别2.1 bug的概念.2.2 如何描述一个bug.2.3bug的级别2.3.1 bug分级的意义.2.3.2 bug的四种级别. 三.BUG的生命周期.四.当与开发人员发生冲突该如何处理(高频面试)五.总结 一.软件测试的生命周期 软件测试贯穿于软件的整个生命周期,针对这句话我们一起来看一下软件测试是如何贯穿软件的整个生命周

【软件测试专栏】自动化测试函数篇

博客主页:Duck Bro 博客主页系列专栏:软件测试专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 自动化测试函数篇 关键词:函数、浏览器参数、常用函数、元素定位 目录 自动化测试函数篇一、元素定位函数1. cssSelector2. xpath 二、操作函数1. 点击/提交(按钮)2. 模拟按键输入(文本框输入)3. 清楚

专业软件测试服务机构分享:小程序测试步骤和作用

在数字经济飞速发展的今天,小程序因其轻量、便捷的特点受到了广泛关注。作为技术服务的重要组成部分,软件测试成为确保小程序质量的关键环节。 一、小程序测试的定义   小程序测试是指对小程序进行系统性验证和验证的过程,旨在检查其功能、性能、安全性等方面是否符合预期标准。小程序相比传统应用,相对轻量,开发周期短,更新频繁,测试的重要性尤为突出。卓码软件测评专注于提供专业的测试服务,确保每一个小程序在上线