当前位置: 首页 > article >正文

软件工程复试专业课-测试

测试

  • 1 软件质量
  • 2 黑盒测试
    • 2.1 概念
    • 2.2 等价划分类
  • 2.3 边值分析
    • 2.4 错误推测
    • 2.5 因果图
  • 3 白盒测试
    • 3.1概念
    • 3.2 覆盖标准
      • 3.2.1 语句覆盖
      • 3.2.2 判断覆盖
      • 3.2.3 条件覆盖
      • 3.2.4 判定/条件覆盖
      • 3.2.5 条件组合覆盖
      • 3.2.6 路径覆盖
  • 4 软件测试的四个阶段
  • 5 测试工具

1 软件质量

	定义:是软件特性的总和,以及满足规定和潜在用户需求的能力
	概括的说,软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”
	更具体的描述,软件质量是软件与明确叙述的功能和性能需求、文档中明确描述的开发标准、以及任何
专业开发的软件产品都应具有的隐含特征相一致的程度

2 黑盒测试

2.1 概念

	又称功能测试,主要用于集成测试和确认测试阶段。它把软件看作一个不透明的黑箱子,完全
不考虑(或不了解)软件的内部结构和处理算法,它只检查软件功能是否能按照软件需求说明
书的要求正常使用,软件是否能适当地接收输入数据并产生正确的输出信息,软件运行过程中
能否保持外部信息(例如文件和数据库)的完整性等。
	黑盒测试根据软件需求说明书所规定的功能来设计测试用例,它不考虑软件的内部结构和处理算法。
常用的黑盒测试技术包括等价类划分、边值分析、错误推测和因果图等。

2.2 等价划分类

	在设计测试用例时,等价类划分是用得最多的一种黑盒测试方法。所谓等价类就是某个输入域的集合,
对于一个等价类中的输入值来说,它们揭示程序中错误的作用是等效的。也就是说,如果等价类中的
一个输入数据能检测出一个错误,那么等价类中的其他输入数据也能检测出同一个错误;反之,如果
等价类中的一个输入数据不能检测出某个错误,那么等价类中的其他输入数据也不能检测出这一错误
(除非这个等价类的某个子集还属于另一等价类)。
	如果一个等价类内的数据是符合(软件需求说明书)要求的、合理的数据,则称这个等价类为有效
等价类。有效等价类主要用来检验软件是否实现了软件需求说明书中规定的功能。
	如果一个等价类内的数据是不符合(软件需求说明书)要求的、不合理或非法的数据,则称这个等价
类为无效等价类。无效等价类主要用来检验软件的容错性。
	黑盒测试中,利用等价类划分方法设计测试用例的步骤是:
① 根据软件的功能说明,对每一个输入条件确定若干个有效等价类和若干个无效等价类,并为每个有效
等价类和无效等价类编号。
② 设计一个测试用例,使其覆盖尽可能多的尚未被覆盖的有效等价类。重复这一步,直至所有的有效
等价类均被覆盖。
③ 设计一个测试用例,使其覆盖一个尚未被覆盖的无效等价类。重复这一步,直至所有的无效等价类
均被覆盖。

2.3 边值分析

	经验表明,软件在处理边界情况时最容易出错。设计一些测试用例,使软件恰好运行在
边界附近,暴露出软件错误的可能性会更大一些。
	通常,每一个等价类的边界,都应该着重测试,选取的测试数据应该恰好等于、稍小于或稍大于边界值。
将等价类划分法和边值分析法结合使用,更有可能发现软件中的错误。


2.4 错误推测

	使用等价类划分和边值分析技术,有助于设计出具有代表性的、容易暴露软件错误的测试方案。
但是,不同类型不同特定的软件通常又有一些特殊的容易出错的地方。错误推测法主要依靠测试人员的经
验和直觉,从各种可能的测试方案中选出一些最可能引起程序出错的方案。

2.5 因果图

	因果图法是根据输入条件与输出结果之间的因果关系来设计测试用例的,它首先检查输入条件的各种
组合情况,并找出输出结果对输入条件的依赖关系,然后为每种输出条件的组合设计测试用例。

3 白盒测试

3.1概念

	白盒测试,又称结构测试,主要用于单元测试阶段。它的前提是可以把程序看成装在一个透明
的白箱子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部逻辑设计测试用
例,检测程序中的主要执行通路是否都能按预定要求正常工作。
	白盒测试根据软件的内部逻辑设计测试用例,常用的技术是逻辑覆盖,即考察用测试数据运行
被测程序时对程序逻辑的覆盖程度

3.2 覆盖标准

3.2.1 语句覆盖

语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。
很显然,语句覆盖是一种很弱的覆盖标准。

3.2.2 判断覆盖

又称分支覆盖,它的含义是,不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)
都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。

3.2.3 条件覆盖

条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取得各种可能的结果。
条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。

3.2.4 判定/条件覆盖

同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是,选取足够的测试用例,
使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。

3.2.5 条件组合覆盖

条件组合覆盖的含义是,选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。
显然,满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。因此,条件组合覆盖是上述 5 种覆盖标准
中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都至少经过一次。

3.2.6 路径覆盖

路径覆盖的含义是,选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果
程序中有环路,则要求每条环路路径至少经过一次)。
路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖
并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖。

4 软件测试的四个阶段

单元测试、集成测试、系统测试和验收测试

5 测试工具

1、Selenium(浏览器自动化测试框架)
2、LoadRunner(工业标准级负载测试工具)
3、Jmeter:APache组织开源项目,功能和特性测试的工具,100%用java实现
4、Rational Robot:业界最顶尖的功能测试工具,他甚至可以在测试人员学习高级脚本技术之前
帮助其进行成功的测试

http://www.kler.cn/a/565234.html

相关文章:

  • ISO 15118,最新版,汽车充电桩相关标准,1~22子标准
  • 清华大学|DeepSeek学习资料,从入门到精通。
  • MATLAB分析与仿真白噪声
  • 【软件设计】SOLID原则详解与PHP实战示例
  • HIVE数据类型
  • 软件工程----统一过程模型RUP
  • API测试中如何利用Postman和Apipost进行参数编码与加密
  • 数巅科技中标中电科智慧院智能数据分析平台项目
  • git配置多个SSH key
  • 深圳南柯电子|医疗设备EMC测试整改检测:零到一,保障医疗安全
  • ClkLog里程碑:荣获2024上海开源技术应用创新竞赛三等奖
  • Redis要点总结一
  • kotlin 知识点四 高阶函数详解 什么是内联函数
  • Spring Cloud——路由网关Zuul
  • STM32智能小车(循迹、跟随、避障、测速、蓝牙、wifi、4g、语音识别)总结
  • docker 运行claude 的computer use
  • Mercury、LLaDA 扩散大语言模型
  • StableDiffusion打包 项目迁移 项目分发 0
  • kmsvnc
  • ONES 功能上新|ONES Copilot、ONES Project 新功能一览