软件测试基础知识 - 说一说黑盒与白盒的测试方法
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net
黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试。它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,因此不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
常用的黑盒测试方法有:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
白盒测试
白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。
白盒测试需要遵循的原则有:1. 保证一个模块中的所有独立路径至少被测试一次;2. 所有逻辑值均需要测试真(true)和假(false)两种情况;3. 检查程序的内部数据结构,保证其结构的有效性;4. 在上下边界及可操作范围内运行所有循环。
常用白盒测试方法:
静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。
动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。
白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
1.语句覆盖:每条语句至少执行一次。
2.判定覆盖:每个判定的每个分支至少执行一次。
3.条件覆盖:每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖:同时满足判定覆盖和条件覆盖。
5.条件组合覆盖:每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖:使程序中每一条可能的路径至少执行一次。
软件测试基础知识 - 说一说黑盒与白盒的测试方法相关推荐
- java软件测试黑盒工具,软件测试中的抽象层次系列之一 – 黑盒与白盒
前几天我在微博上发出了一个STB-010(软件测试在线公益课程系列)报名通知的帖子,这一讲的题目是"软件测试黒盒技术与应用 - 状态转换测试方法",立即引来了一些讨论. 比如朱少民 ...
- 软件测试基础知识——全
先看后赞,养成习惯.点赞收藏,人生辉煌! 目录 1.请你分别介绍一下单元测试.集成测试.系统测试.验收测试.回归测试. 2.请你回答一下单元测试.集成测试.系统测试.验收测试.回归测试这几步中最重要的 ...
- 软件测试基础知识汇总(问答篇)
●请你分别介绍一下单元测试.集成测试.系统测试.验收测试.回归测试 1.单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码,使用过程设计描述作为指南,对重要的控制路径进行测 ...
- 软件测试基础知识大全【乐搏TestPRO】
在很多人的认知里,软件测试入门门槛低,简单易学.确实,软件测试基础知识更偏向于理论方法的学习,及部分常用工具的学习. 接下来的70个基础知识讲解,弄明白后这些问题后,软件测试入门也基本掌握了.本篇共分 ...
- 这些软件测试基础知识你得了解
一.软件测试阶段 1.单元测试 概念: 对软件中的 最小可测试单元 进行检查和验证. 原则: (1)尽可能测试用例相互独立 (2)一般由代码开发人员实施 好处:(1)能尽早发现缺陷 (2)利于重构 ( ...
- 【软考软件评测师】软件测试基础知识
[软考软件评测师]软件测试基础知识 软件测试基础知识 [软考软件评测师]软件测试基础知识 一. 软件测试的概念 1)软件测试定义的发展 2)软件测试的目的 3)软件测试的对象 4)对于测试组织者和实施 ...
- 软件工程与软件测试基础知识_这是我在软件工程工作九个月中学到的知识
软件工程与软件测试基础知识 I've been working for about nine months at Dexter as a software developer. I wrote a b ...
- 软件测试基础知识面试题目(25题英文题目)
软件测试基础知识面试题目(25题英文题目) 1. Verification is: a. Checking that we are building the right system b. Chec ...
- fiddler模拟服务器响应,2020军队文职计算机知识:【软件测试基础知识】如何使用fiddler模拟接口服务器...
[导语]2020军队文职计算机知识:[软件测试基础知识]如何使用fiddler模拟接口服务器已发布,为助力各位考生做好2020年军队文职招聘考试准备,中公部队文职考试网提供了军队文职专业科目和综合辅导 ...
最新文章
- GitHub使用教程详解——官网操作指南(翻译)
- 如何在 Spring 生态中玩转 RocketMQ?
- UI2Code智能生成Flutter代码--整体设计篇
- 四大主流芯片架构(X86、ARM、RISC-V和MIPS)
- 如何选择LoRa产品
- xmind怎么在左边创建_威纶通 触摸屏自动化应用篇 创建程序界面及画面应用
- android 4g wifi热点,全网通吃!中兴MF910S 4G无线热点上手体验
- 数据库设计 资源表与资源收藏表的设计
- matlab 最优比例,matlab最优化实验
- 开源自动化运维平台Spug
- 魔兽争霸无法在这个计算机,win10系统魔兽争霸按F1无法选中自己的英雄的图文办法...
- Matlab超声影像智能硬件
- GDR-Net: Geometry-Guided Direct Regression Network for Monocular 6D Object Pose Estimati
- 【web素材】03-24款后台管理系统网站模板
- latex 的“对号”的几种表示
- 形式语言与自动机 第6章 上下文无关语言的性质
- 微信小程序(30):自定义组件-slot
- 安防网络摄像头互联网直播视频流媒体服务器EasyNVR输出直播流 RTMP、HTTP-FLV、 HLS 的对比分析
- 工业级无线路由器 智能组网 选型参考
- 随机梯度/批量梯度下降
热门文章
- 中国各类医院排行(仅供参考)
- Linux之systemctl命令基本使用
- vue中使用tinymce富文本
- Play 2.6 使用Play WS调用REST API
- LCD12864驱动(Proteus中用51单片机驱动AMPIRE128X64)
- php中的汉字转化为拼音,简繁体转化
- 关于extern用法说明
- ROS自定义消息类型,编译无法生成 msg/srv 文件产生的头文件
- Linux mmap
- 关于thymeleaf的报错:Caused by: org.attoparser.ParseException: Could not parse as expression: ......