从零开始学测试【1】测试方法术语总结

简介:


1.白盒测试
a.白盒测试把测试对象看作一个透明的盒子,所以又称为玻璃盒测试。
b.它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
c.通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

假如现在有一辆车,你想知道它能不能跑起来?
按照白盒测试的思想,你需要测试车的发动机、底盘、车身、电气设备是否正常,然后做出这辆车能否跑起来的判断(所以我个人认为,白盒测试你需要熟悉项目所用到的技术框架、编码语言、运行环境、等等系列的问题,这项测试是真正具有技术含量的测试,我想普通公司的测试人员不太会涉及到这方面的测试)。

2.黑盒测试
a.黑盒测试又叫功能测试或数据驱动测试,它是把测试对象看作一个黑盒子。
b.测试人员完全不考虑程序内部的逻辑结构和内容特性,只依据程序的设计规格说明书,检查程序的功能是否符合它的功能说明。
上例按照黑盒测试的思想,完全不用去管什么发动机、底盘、车身、电气设备正常与否,你要做的事情就是将钥匙插入,然后发动汽车。

3.边界值测试
任何程序都可以看作一个函数,程序的输入构成函数的定义域,程序的输出构成函数的值域,可基于定义域或值域进行边界值测试。
假如研发部新开发一个接口,接口中少不了传递参数,根据实际业务需求,比如传递的参数是金钱,这就需要用到边界值测试。

4.等价类划分
a.等价类划分是一种典型的黑盒测试方法。
b.等价类最重要的是他们构成集合的划分,其中,划分是指互不相交的一组子集,.这些子集的并集不是整个集合。
C.表示整个集合提供了一种形式的完备性,而互不相交可保证一种形式的无冗余性。
上例采用等价类划分,你可以划分集合(0---10)(11---20)(21---30)…..在集合中随机取数据进行测试。

5.配对组合覆盖测试
a.软件长期存在的难题是需要足够的时间来运行所有可能的测试用例,总体上可以采用很多方法将测试用例减少到一个可管理的数量.
b.最冒险的方法是不使用有规律的方法而随机减少测试用例。
c.最好的方法是按照软件构造版本序列来对全部测试用例进行划分。

6.语句覆盖测试
为了暴露程序中的错误,至少每条语句应该执行一次。语句中覆盖的含义是,选择足够多的测试数据,使程序中的每一条可执行语句至少一次。

7.条件覆盖测试
条件覆盖的含义是,选择足够多的测试数据,使被测试程序中不仅每条语句至少执行一次,而且每个判定表达式中的每个条件都取得各种可能的结果。

8.判定覆盖测试
判定覆盖又叫分支覆盖,它的含义是:不仅每条语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。

9.判定/条件覆盖测试
既然判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,自然会提出一种能同时满足这两种覆盖标准的逻辑覆盖,这就是判定/条件覆盖。它的含义是,选择足够多的测试数据,使得判定表达式中的每个条件都取得各种可能的值,而且每个判定表达式也都得到各种可能的结果。

10.条件组合覆盖测试
条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个判定表达式中的条件的各种可能组合都至少出现一次。

11.兼容性测试
兼容性测试是验证软件与其所依赖的环境的依赖程度,包括对硬件的依赖程序,对操作系统和其他软件的依赖程度等。兼容性测试内容和范围主要是硬件兼容性、浏览器兼容性、数据库兼容性及操作系统兼容性等。

12.业务流程测试
业务流程测试主要是系统业务流程的测试,根据用例场景设计测试用例。用例场景是通过描述流经用例的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。

13.性能测试
性能测试是指在定的约束条件下测试系统所能承受的并发用户量、运行时间及数据量,以确定系统所能承受的最大负载压力,保证产品发布后系统的性能能够满足用户需求。系统的性能包括两方面:一方面是系统完成用户业务功能的响应时间,另一方面是系统实现用户业务功能时的资源利用率分析。这里的资源指的是系统服务器和网络。

14.回归测试
回归测试是指对修改后的程序进行的测试,其目的是对修改的效果进行确认,保证在修改后不会引入新的错误。

15.路径测试
选取足够多的测试数据,使程序中的每条可能路径最少执行一次(若程序图中有环,则要求每个环至少经过一次)。


本文转自Orson博客园博客,原文链接:http://www.cnblogs.com/java-class/p/4059564.html,如需转载请自行联系原作者

相关文章
|
25天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
43 4
|
2月前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
68 1
|
2月前
|
安全 测试技术
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【10月更文挑战第1天】北京大学李戈教授团队提出了一种名为“统一生成测试”的创新方法,有效提升了大模型如GPT-2和GPT-3在单一测试中的代码生成覆盖率,分别从56%提升至72%和从61%提升至78%。这种方法结合了模糊测试、变异测试和生成对抗网络等多种技术,克服了传统测试方法的局限性,在大模型测试领域实现了重要突破,有助于提高系统的可靠性和安全性。然而,该方法的实现复杂度较高且实际应用效果仍需进一步验证。论文可从此链接下载:【https://drive.weixin.qq.com/s?k=ACAAewd0AA48Z2kXrJ】
81 1
|
2月前
|
测试技术 UED
软件测试中的“灰盒”方法:一种平衡透明度与效率的策略
在软件开发的复杂世界中,确保产品质量和用户体验至关重要。本文将探讨一种被称为“灰盒测试”的方法,它结合了白盒和黑盒测试的优点,旨在提高测试效率同时保持一定程度的透明度。我们将通过具体案例分析,展示灰盒测试如何在实际工作中发挥作用,并讨论其对现代软件开发流程的影响。
|
1月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
36 6
|
1月前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
47 6
|
1月前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
238 2
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
101 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
91 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
2月前
|
测试技术 UED
软件测试中的探索性测试:一种高效且灵活的测试方法
本文将深入探讨探索性测试的核心概念、优势及其在实际项目中的应用。我们将从探索性测试的基本定义入手,逐步解析其在不同场景下的具体实施方法和最佳实践。通过详细的案例分析和方法对比,帮助读者全面了解这种既高效又灵活的软件测试技术。