软件工程--软件测试(白盒)

news/2024/7/6 1:43:24

what

白盒测试是结构测试,逻辑驱动测试,我们都知道黑盒指不可见,那么在测试中与之相对应的白盒呢这是可视的,可以清楚内部是如何运作的,这也就达成了对程序内部逻辑结构、对逻辑路径测试。这也就提到了白盒测试法是一个穷举路径测试法。那么什么是穷举路径法呢?穷举路径和穷可没有关系哇,它也有一个别名叫做完全测试。也就是说程序运行的各个可能分支都会被调用到。相当于一个调用搜索–判断可行状态。

检测要求

1.程序的所有逻辑测试(.模块的独立路径都要测一遍(测它))
2.通过不同的检测点来检测(上下边界及其边界内的所有循环)
3.主要的必须测试一遍,成不/不成立的情况都要测试(逻辑值测试true /false)
4.检查内部数据机构

目的

所谓的目的就是为啥要测它,就是为了检查软件部内部的逻辑结构,通过对软件的逻辑路径的覆盖测试、对特定条件的用例测试、对软件的逻辑路径测试、来检查程序的一个状态,确定运行状态和预期状态是不是一样的。如果是一样的就妥妥的了。

优点

1.可以检测代码中的每个分支与路径
2.可以找到代码中的隐藏错误
3.对代码的测试比较彻底

缺点

1.贵
2.不能检测代码中的遗漏路径和数据敏感性错误(路径那么多咋能确保自己全走完呢)
3.规格的正确性不能验证
4.不能查出程序中违反了设计规范的部分
5.可能发现不了一些与数据相关的错误(数据敏感性)

覆盖标准

在这里插入图片描述

  • 语句覆盖
    设计若干测试用例,运行被测试程序,是每一句可执语句至少执行一次

  • 判定覆盖
    每个判断取真值和假值,最少一次

  • 条件覆盖
    判断条件至少执行一次

  • 判定–条件覆盖
    设计足够的测试条件,每个条件能取的值至少执行一次并判断是否每个条件的取值能执行一次

  • 条件组合覆盖
    设计足够的测试用例,将判断的所有可能条件取值组合至少执行一次啊

  • 路径覆盖

  • 覆盖程序中所有可能的路径

总结:其实这个安排相当于说了一下怎么实现测试,具体的条件如何安排设置。


http://www.niftyadmin.cn/n/681373.html

相关文章

FATAL: no pg_hba.conf entry for host ::1 odoo10连接postgre navicate连接问题

FATAL: no pg_hba.conf entry for host "::1" 2016-03-09 15:20:42 作者:MangoCool 来源:MangoCool 之前集群安装的开源版的Greenplum,在安装gpperfmon-cc-web时候,遇到的问题始终解决不了,于是就暂时…

PAT A1055

水题&#xff0c;还是字典排序&#xff0c;没神马好说的&#xff1b; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<string> #include<cstring> #include<vector> #include<algorithm> using namespace std; …

《JavaScript高级程序设计》笔记:新兴的API

requestAnimationFrame() 大多数电脑显示器的刷新频率60HZ&#xff0c;大概相当于每秒钟重绘60次。因此&#xff0c;最平滑动画的最佳循环间隔是1000ms/60&#xff0c;约等于17ms。 mozRequestAnimationFrame() mozRequestAnimationFrame()方法接收一个参数&#xff0c;即在重绘…

Axure 引入元件库

AXURE 里的元件不够使用&#xff0c;想引入一些个性化或符合自己需求的元件怎么办呢&#xff1f;我们可以通过自己建立元件或者引入下载的元件库&#xff0c;那么怎么引入呢&#xff1f;引入的方法有两种&#xff0c;只是形式不一样&#xff0c;但是根本性的原理是一样的。我为…

psql: FATAL: role “postgres” does not exist 解决方案 postgre 无法连接的问题

psql: FATAL: role “postgres” does not exist 解决方案 当时想做的事情&#xff0c;是运行一个创建数据库的脚本。找到的解决方案差不多和下面这个链接相同。 http://stackoverflow.com/questions/15301826/psql-fatal-role-postgres-does-not-exist 实际上做的事情就是logi…

存板子专用

某谷树剖模板 #include<bits/stdc.h> using namespace std; #define ll long long #define ull unsigend long long #define rep(k,i,j) for(int k i;k < j; k) #define FOR(k,i,j) for(int k i;k > j; --k) inline int read(){int x0,f1; char chgetchar();whi…

ThinkPHP3.1在PHP7下页面空白的解决方案

ThinkPHP3.1在PHP7下页面空白的解决方案 浏览&#xff1a;2057 发布日期&#xff1a;2016/06/28 分类&#xff1a;技术分享先把BUG原因扔出来&#xff1a;模板解析出了问题。之前一直用PHP5.6做开发&#xff0c;听说过PHP出7了&#xff0c;不过一直没尝试。直到前两天&#xff…