软件工程-软件测试

基本概念

广义上讲软件测试是对软件需求分析,设计说明和编码进行复审的软件质量保证工作

狭义上讲软件测试是为了发现错误而执行程序的过程。换言之,软件测试是根据软件开发各个阶段的规格说明和程序内部结构精心设计的测试用例,并利用这些测试用例运行程序发现错误的过程。

**测试(testing)**的目的与任务:

目的:发现程序潜在的错误

任务:通过执行程序,暴露潜在的错误

**排错(debugging)**的目的和任务:

目的:定位于纠正错误

任务:消除软件故障,保证程序稳定运行

测试用例

为测试程序而专门设计的数据

测试的对象

源程序/目标代码

各个开发阶段的资料

  • 需求规格说明
  • 概要设计说明
  • 详细设计说明
  • 其它相关文档

测试的特性

挑剔性:

抱着为证明程序有错误的目的去测试

复杂性:

需要设计测试用例

不彻底性:

有一句名言"程序测试只能证明错误的存在,不能证明错误的不存在"

经济性:

在测试时考虑测试所需的人力成本

测试的分类

静态测试(不执行程序)

  • 静态分析器
  • 代码复审(code review)

动态测试(执行程序)

黑盒测试

测试程序功能

白盒测试

测试程序结构

测试的文档

测试计划

  • 测试项目的名称
  • 各项测试的目的、进度、步骤
  • 测试用例的设计

测试报告

  • 测试项目的名称
  • 测试结果与预期结果的比较
  • 发现的问题
  • 测试达到的效果

白盒测试

对软件的过程性细节做细致的检查,允许测试人员根据程序的内部结构和相关信息,设计测试用例,对程序所有路径进行测试。

逻辑覆盖法

用流程图来设计测试用例

5条标准(排序按发现错误的能力由弱到强):

  1. 语句覆盖:每条语句至少执行一次
  2. 判定覆盖:每一个判定的分支至少执行一次
  3. 条件覆盖:每一个判定中的每一个条件按"真"和"假"各至少执行一次
  4. 判定/条件覆盖:同时满足判定覆盖和条件覆盖的要求
  5. 条件组合覆盖:求出判定中所有条件可能的组合值,每一种条件组合至少执行一次

基本路径法

根据软件过程中的控制流程导出一组测试用例,确保每个路径都至少被执行一次

流程图------》流图

环路复杂性度量V(G)

流图

把流程图中的结构化构件用一般有向图表示

其中代表条件判断的分支结点成为谓词结点

环路复杂性度量V(G)

等于程序中独立路径的条数

三个计算公式:

  1. V(G)= 流图中区域的个数
  2. V(G)=E-N+2,E是流图中的边数,N是流图中的结点数
  3. V(G)=P+1,P是流图中谓词结点的个数

文章内图片均来自于网络

黑盒测试

把测试对象看作黑盒,不考虑程序内部的逻辑结构和内部特性,只依据程序的规格需求说明,在特定的条件下输入,输入相应的数据,检查程序的输出是否符合它的规格说明。

等价分类法

把输入数据的可能值划分为若干个等价类,大致分为有效等价类和无效等价类。每一个无效等价类至少需要一个测试用例

边界值测试法

使被测程序在边界值及其附近运行,从而更有效地暴露程序中潜在的错误

错误猜测法

猜测被测程序在哪些地方容易出错

针对可能的薄弱环节设计测试用例

对比测试法

多模块程序的测试策略

测试的阶段性

单元(模块)测试

综合(集成)测试

自顶向下的测试

深度优先

宽度优先

能比较块地发现错误

自底向上的测试

能比较全面地测试模块

混合方式测试

对上层利用自顶向下的测试

对底层模块或者子模块使用自底向上的测试

确认测试

α测试:公司内部测试版本

β测试:对外测试版本

系统测试

程序错误的类型

语法错误

结构性错误

功能性错误

接口错误

相关推荐
曦樂~1 小时前
1系统分析与设计及 IT 项目管理
项目管理·软件工程
郝学胜-神的一滴4 天前
深入解析C++命令模式:设计原理与实际应用
开发语言·c++·程序人生·软件工程·命令模式
紫金桥软件4 天前
组态软件和实时数据库区别大吗?
数据库·物联网·软件工程·scada·监控组态软件
HLJ洛神千羽5 天前
人机交互的软件工程方法实验报告(黑龙江大学)
人机交互·软件工程
文火冰糖的硅基工坊5 天前
[人工智能-大模型-97]:大模型应用层 - 随着技术的发展,软件工程与软件开发过程提效演进阶段(工具化 → 流程化 → 智能化)和未来的展望。
人工智能·软件工程
张较瘦_6 天前
[论文阅读] AI + 软件工程 | 从“能用”到“耐用”:LLM生成软件的老化陷阱与研究突破
论文阅读·人工智能·软件工程
雾江流8 天前
快指点击器 1.1.9 | 支持多点操作、自动化脚本,操作记录等功能,快速解放双手
运维·自动化·软件工程
lapiii3589 天前
14天极限复习软考-day5 软件工程 、UML
软件工程·uml
雾江流9 天前
LocalDream 2.1.2 |在手机设备上运行SD模型,支持文本到图像生成和图像重绘,无任何限制
软件工程
雾江流10 天前
vidhub v1.3.13 |聚合主流网盘,自动刮削整理影视资源,有网盘会员的可入,或者使用不限速网盘
软件工程