SoftWare Testing Techniques 软件测试技术

本文提供了软件测试领域的术语表,涵盖了从缺陷、测试类型到各种测试技术和方法的详细解释,有助于理解和执行软件测试工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述
Defect缺陷 
Defect Rate缺陷率 
Verification & Validation 验证和确认 
Failure 故障 
White-box Testing白盒测试 
Black-box Testing黑盒测试根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子
Unit Testing单元测试 
Integration Testing集成测试 
System Testing系统测试 
regression testing回归测试 
Acceptance Testing接受测试 
manual手册、指南 
Scenario想定 
Percentage百分比 
Mode模式 
goal目标 
Memory内存 
actual outcome实际结果被测对象在特定的条件下实际产生的结果。
AD Hoc Testing随即测试测试人员通过随机的尝试系统的功能,试图使系统中断
algorithm算法1、一个定义好的有限规则集,用于在有限步骤内解决一个问题 2、执行一个特定任务的任何操作序列
algorithm analysis算法分析一个软件的验证确认任务,用于保证选择的算法的正确的、合理的和稳定的,并且满足所有精确性、规模和时间方面的要求
anomaly 异常 
application software应用软件 
architecture架构一个系统或组织的组织结构
ASQ自动化软件质量automated software quality
assertion断言指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件
assertion checking断言检查 
audit审计一个或一组工作产品的独立检查以评价与规格、标准、契约或其他准则的符合程度
audit trail审计跟踪系统审计活动的一个时间记录
automated testing自动化测试使用自动化测试工具进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用的较多
Backus-Naur Form----BNF范式一种分析与研,用于形式化描述语言的语法 
baseline基线一个已经被正式评审和标准的规格产品,她作为进一步开发的一个基础,并且必须通过正式的变更流程来变更
Basic Block 基本快一个和多个顺序的可执行语句快,不包含任何分支语句
Basis test set基本测试集根据代码逻辑引出来的一个测试用例集合,它保证能获得100%的分支覆盖
Behaviour行为对于一个系统的一个函数的输入和预置条件组合以及需要的反应,一个函数的所有规格包含一个或多个行为
benchmark标杆/指标/基准一个标准,根据该标准可以进行度量或比较
Beta TestingBeta测试在客户场地,由客户进行的对产品预发布版本的测试,这个测试一般是不可控的
big-bang testing大锤测试/一次性集成测试非渐增式集成测试的一种测略。测试的时候把所有系统的组件一次性组合成系统进行测试
bottom-up testing由低向上测试渐增式集成测试的一种,其策略是先测试底层的组件,然后逐步加入较高层次的组件进行测试,直到系统所有组件都加入到系统
boundary value边界值一个输入或输出,他处在等价类的边界上
boundary value coverage边界值覆盖通过测试用例,测试组件等价类的所有边界值
boundary value testing边界值测试通过边界值分析方法来生成测试用例的一种测试策略
boundary value Analysis边界值分析该分析一般与等价类一起使用,经验认为软件的错误经常在输入边界上产生,因此边界值分析就是分析软件输入边界的一种方法
branch condition分支条件 
branch condition combination testing分支条件组合测试通过执行分支条件结果组合来设计测试用例的一中方法
branch condition combination coverage分支条件覆盖在每个判定中所有分支条件结果被测试用例覆盖到的百分比
branch coverage分支覆盖功过测试执行到的分支的百分率
branch outcome分支结果见判定结果(decision outcome)
breadth testing广度测试在测试中测试一个产品的所有功能,但是不测试更细节的特性
bug缺陷 
capture/playback tool捕获/回放工具 
CASE计算机辅助软件工程用于支持软件开发的一个自动化系统Computer aided software engineering
CAST计算机辅助测试在测试过程中使用计算机软件工具进行的辅助测试
cause-effect graph因果图一个图形,用来表示输入(原因)与结果之间的关系,可以被用来是设计测试用例
certification证明一个过程,用于确定一个系统或组件与特定的需求相一致
change control变更控制一个用于计算机系统或系统数据修改的过程,该过程是质量保证程序的一个关键子集,需要被明确的描述
code audit代码审计由一个人、组或工具对原代码进行的一个独立的评审,以验证其与设计规格、程序标准的一致性。正确性和有效性也会被评价。
Code   coverage代码覆盖率一种分析方法,用于确定在一个测试套执行后,软件的那些部分被执行到了,那些部分没有被执行到
code inspection(检查,视察)n.代码检视一个正式的同行评审手段,在该评审中,作者的同行根据检查表对程序的逻辑进行提问,并检查其与编码规范的一致性
code walkthrough代码走读一个非正式的同行评审手段,在该评审中,代码被使用一些简单的测试用例进行人工执行,程序变量的状态被手工分析,以分析程序的逻辑和假设
code-based testing基于代码的测试根据从实现中引出的目标设计测试用例
coding standards(标准,规范)编程规范一些编程方面需要遵循的标准,包括命名方式、排版格式等内容。
Compatibility Testing兼容性测试测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等
stress压力stress test 压力测试
load负荷load test 负荷测试
Open system testing architecture开放系统测试架构OpenSTA
QA质量保证Quality Assurance
SQA软件质量保正software quality Assurance
software testing软件测试 
GUI图形用户界面 
TSL测试脚本语言 
Function Generator功能生成器 
Context Sensitive mode环境判断模式 
Life Cycle生存周期 
Planning计划 
Requirement Analysis需求分析 
Design设计 
Coding程序编写 
Testing测试脚本语言 
Run and Maintenance运行和维护 
Implementation Plan实施计划 
Software Requirement Specifications软件需求说明书 
System User's Manual用户手册 
Preliminary Design概要设计 
Detail Design详细设计 
Correctness正确性 
Reliability可靠性 
Efficiency效率 
Integrity完整性 
complete path texting完全路径测试 
completeness完整性 
complexity复杂性 
componet组件 
Componet testing组件测试 
computation data use计算数据使用 
computer system security计算机系统安全性计算机软件和硬件对偶然的或故意的访问、使用、修改或破坏的一种保护机制
codition条件一个不包含布尔操作的布尔表达式
condition coverage条件覆盖通过测试执行到的条件的百分比
condition outcome条件结果条件为真为假的评价
configuration control配置控制配置管理的一个方面,包括评价、协调、批准、和实现配置项的变更。
configuration management配置管理一套技术和管理方面的原则用于确定和文档化一个配置项的功能和物理属性、空控制对这些属性的变更、记录和报告变更处理和实现的状态、以及验证与指定需求的一致性
Usability可用性 
Maintainability可维护性 
Flexibility灵活性 
Testability可测试性 
Portability可移植性 
Reusability可复用性 
Interoperability共运行性。互用性。协同工作的能力 
conformace testing一致性测试测试一个系统的实现是否个其基于的规格相一致的测试。
consisency一致性测试在系统或组件的各组成部分和文档之间没有矛盾,一致的程度
consistency checker一致性检查器一个软件工具,用于测试设计规格中需求的一致性和完整性
control flow控制流程序执行中所有可能的事件顺序的一个抽象表示
control flow graph控制流图通过一个组件的可能替换控制流路径的一个图形表示
conversion testing转换测试用于测试已有系统的数据是否能够转换到替代系统上的一种测试
corrective maintenance故障检修用于纠正硬件和、或软件中故障的维护
correctness正确性软件在其规格、设计和编码中没有故障的程度。软件、文档和其他项满足需求的程度。软件、文档和其他项满足用户明显的和隐含的需求的程度
coverage覆盖率用于确定测试所执行到的覆盖项的百分比
coverage item覆盖项作为测试基础的一个入口或属性:如语句、分支、条件等
crash崩溃计算机系统或组件突然并完全的丧失功能
criticality关键性需求、模块、错误、故障、失效或其他项对一个系统的操作或开发影响的程度
criticality analysis关键性分析需求的一种分析,他根据需求的风险情况给每个需求项分配一个关键级别
cyclomatic complexity循环复杂度一个程序中独立路径的数量
data corruption数据污染违背数据一致性的情况
data definition数据定义一个可执行语句,在该语句上一个变量被赋予了一个值
data definition C-use pair数据定义C-use使用对一个数据定义个一个计算数据使用,数据使用的值是数据定义的值
data definition C-use coverage数据定义C-use覆盖在组件中被测试执行到的数据定义C-use使用对的百分比
data dictionary数据字典一个软件系统中使用的所有数据项名称,以及这些相关属性的集合;数据流、数据元素、文件、数据基础、和相关处理的一个集合
data flow analysis数据流分析一个软件验证和确认过程,用于保证输入和输出数据和它们的格式是被适当定义的,并且数据流是正确的
data flow coverage 数据流覆盖测试覆盖率的度量是根据变量在代码中的使用情况
data flow diagram数据流图把数据源、数据接受、数据存储和数据处理作为节点描述的一个图形,数据之间的逻辑体现为节点之间的边
data flow testing 数据流测试根据代码中变量的使用情况进行的测试
data integrity数据完整性一个数据集合完全、正确和一致的程度
data use数据使用一个可执行的语句,在该语句中,变量的值被访问
data validation数据确认用于确认数据不正确、不完整、不合理的过程
dead code死代码在程序操作过程中永远不可能被执行到的代码
debugging 调试发现和去除软件失效根源的过程
decision判定一个程序控制点,在该控制点上,控制流有两个或多个可替换路由
decision condition判定条件判定内的一个条件
decision coverage判定覆盖在组件中被测试执行到的判定结果的百分比
decision outcome 判定结果一个判定的结果,决定控制流走哪条路径
decision table判定表一个表格,用于显示条件和条件导致动作的集合
depth testing深度测试执行一个产品的一个特性的所有细节,但不测试所有特性。比较广度测试
design-based testing基于设计的测试根据软件的构架或详细设计引出测试用例的一种方式
desk checking桌面检查通过手工模拟软件执行的方式进行测试的一种方式
diagnostic诊断检测和隔离故障或失效的过程
dirty testing肮脏测试参考负面测试(negative testing)
disaster recovery灾难恢复一个灾难的恢复和重建过程或能力
documentation testing文档测试测试关注于文档的正确性
domain值被选择的一个集合
domain testing 域测试 
dynamic analysis动态分析根据执行的行为评价一个系统或组件的过程
Dynamic testing 动态测试通过执行软件的手段来测试软件
embedded software 嵌入式软件软件运行在特定硬件设备中,不能独立于硬件存在。这类系统一般要求时实性较高
emulator仿真一个模仿另一个系统的系统或设备,他接受相同的输入并产生相同的输出
End-to-End testing端到端测试在一个模拟现实使用的场景下测试一个完整的应用环境,例如和数据库交互,使用网络通信等
entity ralationship diagram实体关系图描述现实世界中实体及他们关系的图形
entry point 入口点一个组件的第一个可执行语句
Equivalence Class等价类组件输入或输出域的一个部分,在该部分中,组件的行为从组件的规格上来看认为是相同的
Equivalence partition coverage等价划分覆盖在组件中被测试执行到的等价类的百分比
equivalence partition testing等价划分测试根据等价类设计测试用例的一种技术
Equivalence Partitioning 等价划分组件的一个测试用例设计技术,该技术从组件的等价类中选取典型的点进行测试
error错误IEEE的定义是:一个人为产生不正确结果的行为
error guessing错误猜测根据测试人员以往的经验猜测可能出现问题的地方来进行用例设计的一种技术
errot seeding错误播种/错误查值故意插入一些已知故障到一个系统中去的过程,目的是为了根据错误检测和跟踪的效率并估计系统中遗留缺陷的数量
exception  异常/例外一个引起正常程序执行挂起的事件
executable statement 可执行语句一个语句在被编译后会转换成目标代码,当程序运行是会被执行,并且可能对程序数据产生动作。
Exhaustive Testing穷尽测试测试覆盖软件的所有输入和条件的组合
exit point出口点一个组件的最后一个可执行语句
expected outcome期望结果 
bottleneck瓶颈 
job工作一个用户定义的要计算机完成的工作单元
job control language工作控制语言用于确定工作顺序,描述他们对操作系统要求并控制他们的语言
load testing负载测试通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力
logic analysis逻辑分析(1)评价软件设计的关键安全程式、算法和控制逻辑的方法(2)评价程序操作的顺序并且检测可能导致灾难的错误
logic-coverage testing逻辑覆盖测试 
maintainability可维护性一个软件系统或组件可以被修改的容易程度,这个修改一般是因为缺陷纠正、性能改进或特性增加引起的
maintainability testing可维护性测试测试系统是否满足可维护性目标
modified condition /decision coverage修改条件/判定覆盖在组件中被测试执行到的等价类的百分比
modified condition /decision testing修改条件/判定测试根据MC/DC设计测试用例的一种技术
monkey Testing跳跃式测试随机性,跳跃式的测试一个系统,以确定一个系统是否会崩溃
multiply condition coverage多条件覆盖 
mutation analysis变体分析一种确定测试用例套完整性的方法,该方法通过判断测试用例套能够区别程序与其变体之间的程度。
Negative Testing逆向测试/反向测试/负面测试测试瞄准于使系统不能工作。
non-functional requirements testing非功能性需求测试与功能不相关的需求测试,如:性能测试,可用性测试
N-switch testingN切换测试根据N装换顺序设计测试用例的一种技术,经常用于状态转换测试中
N-transitionsN转换N+1 转换顺序
operational testing 可操作性测试在系统或组件操作的环境中评价它们的表现
output domain输出域所有可能输出的集合
Partition testing分类测试 
path路径一个组件从入口到出口的一条可执行语句顺序
path coverage路径覆盖在组件中被测试执行到的路径的百分比
path sensitizing路径敏感性选择一组输入值强制组件走一个指定的路径
path testing路径测试根据路径设计测试用例的一种技术,经常用于状态转换的测试中
performance testing性能测试评价一个产品或组件与性能需求是否符合的测试
Portability testing可移植性测试瞄准于证明软件可以被移植到指定的硬件或软件平台
Positive testing正向测试测试瞄准于显示系统能够正常工作
predicate谓词一个逻辑表达式,结果为"真"或"假"
predicate data use谓词数据使用在谓词中的一个数据使用
program instrumenter 程序插装 
progressive testing 递归测试在先前特性回归测试之后对新特性进行测试的一种策略
pseudo-random伪随机看似随即的,实际上是根据预先安排的顺序进行的
QA(quality assurance)质量保证(1)已计划的系统性活动,用于保证一个组件,模块或系统遵从已确立的需求(2)采取的所有活动以保证一个开发组织交付的产品满足性能需求和已确定的标准和过程。
QC(quality control)质量控制用于获得质量需求的操作技术和过程,如测试活动
Race Condition竞争状态并行问题的根源,对一个共享资源的多个访问,至少包含了一个写操作,但是没有一个机制来协调同时发生的访问
recovery testing恢复性测试验证系统从失效中恢复能力的测试
Regression analysis and testing回归分析和测试一个软件验证和确认任务以确定在修改后需要重复测试和分析的范围
Regression testing回归测试在发生修改之后重新测试先前的测试以保证修改的正确性
release发布一个批准版本的正式通知和分发
reliability可靠性一个系统或组件在规定的条件下在指定的时间内执行其需要功能的能力
reliability assesment可靠性评价确定一个已有系统或组件的可靠性级别的过程
requirements-based testing基于需求的测试根据软件组件的需求导出测试用例的一种设计方法
review评审在产品开发过程中,把产品提交给项目成员、用户、管理者或其他相关人员评价或批准的过程
risk风险不期望效果的可能性和严重性的一个度量
risk assessment风险评估对风险和风险影响的一个完整的评价
safety(生命)安全性不会引起人员伤亡,产生疾病,毁坏或损坏设备和财产、或者破坏环境
safety critical严格的安全性一个田间、事件、操作、过程或项,它的认识、控制或执行对生命安全性的系统来说是非常关键的
sanity testing理智测试软件主要功能成分的简单测试以保证它是否能进行基本的测试
security testing安全性测试验证系统是否符合安全性目标的一种测试
security   安全性 
serviceability testing可服务性测试 
simple subpath简单子路径控制流的一个字路径,其中没有不必要的部分被执行
simulation模拟使用另一个系统来表示一个物理的或抽象的系统的选定行为特性
simulator模拟器软件验证期间的一个设备、软件程序、或系统,当它给定一个控制的输入时,表现的与一个给定的系统类似
extreme programming极限编程 
e-commerce电子商务 
SLA服务级别协议(service level agreement)服务提供商与客户之间的一个协议,用于规定服务提供商应当提供什么服务
Smoke Testing冒烟测试对软件主要功能进行快餐式测试,最早来自于硬件测试实践,以确定新的硬件第一次使用的时候不会着火
software development process软件开发过程一个把用户需求转换为软件产品的开发过程
software diversity软件多样性一种软件开发技术,其中,由不同的程序员或开发组开发的相同规格的不同程序,目的是为了检测错误、增加可靠性
software element软件元素软件开发或维护期间产生或获得的一个可交付的或过程内的文档
software engineering软件工程一个应用于软件开发、操作和维护的系统性的、有纪律的、可量化的方法。
software engineering environment软件工程环境执行一个软件工程工作的硬件、软件、各固件
software life cycle软件生命周期开始于一个软件产品的构思,结束于该产品不再被使用的这个阶段
SOP标准操作过程(standard operation procedures)书面 的操作步骤,这对保证生产和处理的控制是必须的
source code源代码用一种适合于输入到汇编器、编译器或其他转换设备的计算机指令和数据定义
source statement源语句 
specification规格组件功能的一个描述,格式为:对指定的输入在指定的条件下属处
specified input指定的输入一个输入,根据规格能预知其输出
spiral model螺旋模型软件开发过程的一个模型,其中的组成活动,典型的包括需求分析、概要设计、详细设计、编码、集成和测试等活动被迭代的执行直到软件被完成
SQL (structured query language)结构化查询语句在一个关系数据库中插叙和处理数据的一种语言
state状态一个系统、组件或模拟可能存在其中的一个条件或模式
state diagram状态图一个图形,描绘一个系统或组件可能假设的状态,并且显示引起或导致一个状态切换到另一个状态的事件或环境。
state transition状态转换一个系统或组件的两个允许状态之间的切换
state transition testing状态转换测试根据状态转换来设计测试用例的一种方法
statement语句程序语言的一个实体,是典型的最小可执行单元
statement coverage语句覆盖在一个组件中,通过执行一定的测试用例所能达到的语句覆盖百分比
statement testing语句测试根据语句覆盖来设计测试用例的一种方法
static analysis静态分析分析一个程序的执行,但是并不实际执行这个程序

转载于:https://www.cnblogs.com/vinyfeng/articles/1495295.html

### 软件测试技术栈的相关参考文献 对于软件测试技术栈而言,研究者们已经提出了多种方法和技术来提高移动应用程序中的性能缺陷检测效率和准确性[^1]。这些工作不仅限于理论探讨,在实际应用中也取得了显著成果。 在构建图形用户界面(GUI)或数据库部分时,大多数开发工具试图避免让开发者编写大量底层代码。然而当确实需要编码时,所提供的支持往往仅停留在关键字着色层面;真正先进的技术支持会在输入变量名时提供一些辅助提示功能[^2]。尽管如此,这并不意味着缺乏针对特定领域如GUI自动化测试框架的研究和发展。 为了更好地理解当前主流的软件测试技术及其发展趋势,可以参考以下几篇重要文献: #### 文献推荐 - **《Software Testing Techniques》** 这本书籍深入浅出地介绍了各种类型的软件测试技术和实践案例分析,适合初学者以及有一定经验的专业人士阅读学习。 - **《Testing Computer Software》** 提供了一个全面而系统的视角来看待计算机软件的质量保证过程,并涵盖了从单元测试到集成测试等多个方面的方法论介绍。 - **《Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation》** 探讨了如何通过持续交付模式实现高效可靠的版本发布流程管理,其中涉及到了CI/CD管道建设过程中不可或缺的各种自动化的测试手段的应用实例分享。 ```python # Python 示例:使用 Pytest 实现简单的单元测试函数 def test_addition(): assert 1 + 1 == 2 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值