惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
博客园_首页
W
WeLiveSecurity
S
Secure Thoughts
S
Security @ Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Hugging Face - Blog
Hugging Face - Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
H
Hacker News: Front Page
Project Zero
Project Zero
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
U
Unit 42
N
News and Events Feed by Topic
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
Forbes - Security
Forbes - Security
T
Tor Project blog
I
Intezer
B
Blog
F
Full Disclosure
Security Archives - TechRepublic
Security Archives - TechRepublic
F
Fortinet All Blogs
Schneier on Security
Schneier on Security
T
Threat Research - Cisco Blogs
AI
AI
Google DeepMind News
Google DeepMind News
L
LINUX DO - 最新话题
Cloudbric
Cloudbric
L
Lohrmann on Cybersecurity
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
P
Privacy International News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
PCI Perspectives
PCI Perspectives
Y
Y Combinator Blog
Spread Privacy
Spread Privacy
Simon Willison's Weblog
Simon Willison's Weblog
罗磊的独立博客
Vercel News
Vercel News
A
Arctic Wolf
The Register - Security
The Register - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
H
Heimdal Security Blog
Know Your Adversary
Know Your Adversary
P
Proofpoint News Feed
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed

博客园 - callbin

dockfile Docker 城市扬尘监测系统方案设计 项目跟进 软件配置管理活动在 GJB 5000B 评价中的应用 测试 软件的生命周期模型 QT FeatureList文件分析 需求跟踪矩阵维护情况 软件开发阶段与基线 企业数字化-销售数字化看板项目(Axure9) 软件配置项目 背景于框架-中心模式 Web交互式设计尺寸 Office2019 激活密钥 项目开发流程与角色 Idea快捷键 多线程
软件配置项测试
callbin · 2024-10-19 · via 博客园 - callbin

一、软件黑盒测试,顾名思义就是把被测目标当做一个黑盒子,不需要了解对象内在的逻辑和特征,只针对对象的外部输入输出接口去设计的一种测试方式。

黑盒测试简单的说就是通过外部输入获取外部输出,不考虑中间过程、

目前常用的黑盒测试用例设计方法有好几种,需要根据各种应用场景分析和结合使用。

1、等价类划分法:是黑盒测试中最常用的、典型的方法。其核心思想就是选择一套合理的输入子集来体现出所有的输入情况,其中还需要包括所有的有效数

据和无效数据。

2、边界值分析法:由过去累计的测试数据表明,在数据的边界是最有可能产生错误的。边界值分析法是根据各种数据的边界进行分析来设计测试用例的一种

方法。因为这种针对性的特点我们可以把它当作是等价类划分法基础上的扩展;

3、因果图分析:是一种着眼于将各种输入有策略的结合方法,首先分析所有的输入情况,组合出一组会导致一个确定性输出结果的输入集合,那么这个输

入集合为“因”,输出结果为“果”。

二、白盒测试

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。是指被测对象内部是可视的,测试人员需要全面了解对象内部的逻辑结构,然后对

逻辑的所有路径进行测试,并确定不同路径下的测试结果与期望值是否一致。

1、代码检查法:是属于静态测试方法的一种。会根据检查人员和形式的差异,划分为桌面检查、代码审查和走查[34][35]。主要是检查代码的编码规范、程序的语

法和结构等内容;

2、静态结构分析法:借助测试工具对软件的各种内部结构进行分析,然后以各种图标的方式生成信息,使测试人员能更清晰的对软件进行分析;

3、静态质量度量法:根据 ISO/IEC 9126 质量模型作为评估依据,构造质量度量模型,对软件各个方面进行评估;

4、逻辑覆盖法:是针对软件内部的逻辑结构来进行编写测试用例的一种方法。要求编写测试用例的人员需要对软件内部的逻辑结构非常清晰[36]。在设计测试用

例时需要根据代码模块的复杂度,选择对应的覆盖方法:

(1)判断覆盖:需要使每一条可执行语句至少被执行一次;

(2)判断覆盖:需要使每个判断的取真分支和取假分支至少经历一次;

(3)条件覆盖:需要使每个判断的每个条件的可能取值至少执行一次;

(4)判定-条件覆盖:需要使每个判断中每个条件的所有可能取值至少被执行

一次,同时每个判断本身的所有可能判断结果至少执行一次;

(5)条件组合覆盖:需要使得每个判断的所有可能的条件取值组合至少执行

一次;

(6)路径覆盖:需要覆盖程序中所有的路径[37]。

5、基本路径测试法:从上述路径覆盖的描述,可以看出想要覆盖所有的路径是不现实的。因此如何在保证测试有效性和可靠性的基础上,来确定需要覆盖的

路径。基本路径测试法就是基于这个的一种测试手段[38]。其是根据程序控制流程图来进行测试用例的编写,保证程序的每个可执行语句至少执行一次。

三、灰盒测试

灰盒测试是针对软件需求规格说明中的部分需求点,需要将黑盒测试与白盒测试有策略的结合起来,才能完成测试目的的一种测试手段。它虽然也同白盒测

试一样需要清楚软件内部的逻辑,但又不需要对软件内部理解的那么透彻[39]。例如当有个功能需求,无论怎么通过黑盒测试的手段都无法满足测试需求,或者需

要非常繁琐、复杂的黑盒测试方式才能勉强完成,这时如果使用灰盒测试,将外部接口与内部逻辑有效的结合,可能就会比较简便的设计出满足需求的测试用例。

总而言之,灰盒测试不仅需要了解外部输入对应外部输出的影响,也需要了解程序内在的表现。