第一节软件测试概述

风戏 风戏     2022-10-25     269

关键词:

  软件测试是软件质量保证的关键步骤,也是软件工程的重要组成部分,对软件产品的质量起着至关重要的作用。软件测试工作的目的就在于尽早找到软件缺陷,并保证其得到修复。

1.软件及其特点

  IEEE Std 610.12 给出了软件(Software) 的定义:软件是计算机程序及其相关的文档,以及用以操作计算机系统的附属数据。

  一般而言,软件来源于应用问题。应用问题经过抽象(包括数据抽象和过程抽象)后,形成软件的设计(包括数据结构和算法等内容),继而被编码实现。其后软件即可运行于硬件之上。

  从软件的定义可以看出,软件有3个主要组成部分。

  1) 指令的集合(计算机程序),通过执行这些指令可以满足预期的特征、功能和性能需求。

  2) 数据结构,它使得程序可以利用必要的信息。

  3) 描述程序操作和使用的文档。

  其中,指令集合和数据结构是软件的可运行部分,而文档是软件的不可运行部分。

 

  软件的产生和运行方式决定了软件具有以下特点。

  1) 软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。

  2) 软件是设计和开发出的,与硬件不同,在其开发过程中没有明显的制造过程。

  3) 在软件的运行和使用期间,没有硬件那样的机械磨损、老化等问题。(ps: 软件在运行过程中,存在数据的增量情况,需要对软件使用过程中产生的有用数据进行存储,对垃圾数据进行筛选或清理;同时无论是有用数据以及垃圾数据都应尽量少的影响软件的运行速度以及运行空间)

  4) 虽然软件工业向着基于构件的构造模式发展,但目前大多数软件仍是依据客户的需求定制的。

2. 软件缺陷

  IEEE Std 729 中定义了软件缺陷:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。从产品外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。

  简而言之,软件缺陷就是软件产品中所存在的各种问题,其最终表现为没有满足用户的需求。

  由软件缺陷的定义,可以得出软件缺陷的主要表现形式,具体如下:

  1) 软件未实现产品规格说明书要求的功能。

  2) 软件出现了产品规格说明书中指明不会出现的错误。

  3) 软件实现了产品规格说明书中未提到的功能。(ps:原因待查阅)

  4) 软件未实现产品规格说明书虽未明确提及但应该实现的目标。(ps: 如何与第三条缺陷进行区分界定)  

  5) 软件难以理解、不易使用、运行缓慢,或者从测试人员的角度看,最终用户会认为不好。                          

 

  软件缺陷的主要来源:

  (1) 软件缺陷的首要来源是软件产品规格说明书

  (2) 软件缺陷的第二大来源是设计

  (3) 软件缺陷的第三大来源是编码错误

  (4)其他原因

 

概述-第一节:因特网概述

文章目录一:网络、互联网和因特网基本概念二:因特网发展的三个阶段三:ISP和基于ISP的三层结构的因特网(1)ISP(2)基于ISP的三层结构的因特网四:因特网的标准化工作五:因特网的组成&... 查看详情

概述-第一节:因特网概述

文章目录一:网络、互联网和因特网基本概念二:因特网发展的三个阶段三:ISP和基于ISP的三层结构的因特网(1)ISP(2)基于ISP的三层结构的因特网四:因特网的标准化工作五:因特网的组成&... 查看详情

工业防火墙架构与技术第一节:概述

 650)this.width=650;"src="https://s5.51cto.com/wyfs02/M01/92/0E/wKiom1j68ZnxsPDHAAAkdOlxAb4934.png"title="1.2.png"width="725"height="121"border="0"hspace="0"vspace="0"style="width:725px;height:12 查看详情

杨森翔:春节文化大观上编第三章春节古诗词目录第一节:春节诗词概述除夕诗词概述元日诗词概述(示例代

杨森翔:春节文化大观上编           第三章春节古诗词 目录第一节:春节诗词概述         一、除夕诗词概述     &nbs 查看详情

贪心算法-第一节:贪心算法概述(代码片段)

文章目录一:贪心算法(1)概述(2)特点(3)框架二:典型贪心算法问题(1)无重叠区间①:题目描述②:解题思路③:完整代码(2)活动安排问题①:题目描述... 查看详情

数据链路层-第一节:数据链路层概述

文章目录一:数据链路层概述(1)为什么要有数据链路层(2)数据链路层定义(3)点对点信道和广播信道二:数据链路层需要解决的一些问题(1)三个最基本问题①:封装成帧②:... 查看详情

第一节:层次聚类算法概述聚合和分裂方法

文章目录一:层次聚类算法概述(1)层次聚类(2)聚合和分裂各自研究的重点(3)优缺点二:聚合方法(1)Single-link方法A:概述B:例子(2)Completelink方法A:概述B& 查看详情

传输层-第一节:传输层概述功能和端口(代码片段)

文章目录一:传输层(1)传输层概述(2)传输层功能二:传输层的寻址与端口(1)端口的作用(2)端口号(3)套接字(Socket)一:传输层(1)传输层概述传输... 查看详情

模式识别与智能计算第一节(模式识别概述)

1•模式识别系统   数据获取:用计算机语言(可计算数字符号)来表示研究对象   预处理:对研究对象去噪声,复原等   特征提取与选择:对数据进行变换,降纬,简化处理等   ... 查看详情

第一节:半监督聚类算法概述

文章目录一:半监督聚类二:约束信息(1)标签约束(2)成对约束A:概述B:举例一:半监督聚类半监督聚类(semi-supervisedclustering):传统的聚类学习任务是一种无监督学习任务... 查看详情

第一节:谱聚类算法概述及拉普拉斯矩阵

文章目录一:谱聚类算法概述二:拉普拉斯矩阵(1)标准拉普拉斯矩阵(2)归一化拉普拉斯矩阵一:谱聚类算法概述谱聚类算法:它是一种基于谱聚理论的聚类算法。对于给定数据集xii=1n,xi∈Rd... 查看详情

第一节:java数据结构预备知识之数据结构java集合框架概述

...下一节内容讲时间和空间复杂度:(王道408考研数据结构)第一章绪论-第二节2:算法的时间复杂度和空间复杂度文章目录一:数据结构(1)什么是数据结构A:基本术语①:数据②:数据元素和数据项③:数据对象④:数据结构(... 查看详情

第一节:基于网格的聚类算法概述

基于网格的聚类算法:主要用于处理大规模多维数据的聚类问题。它利用一个网格结构,将数据分布的空间划分为有限数目的单元,然后在这些网格单元上执行聚类操作。基于网格的聚类算法主要优点是能处理大数据... 查看详情

算法概述-第一节:算法基本概念和算法复杂性分析

文章目录一:算法与程序(1)算法的定义(2)算法的五大特征(3)算法与程序的区别(4)算法的描述方法二:算法复杂性分析(1)时间复杂度A:算法时间复杂度表示方法B࿱... 查看详情

无约束优化算法-第一节:线搜索方法

文章目录一:无约束优化问题概述二:线搜索方法(1)概述(2)线搜索准则A:Armijo准则①:概述②:Armjio准则缺陷③:回退法④:代码B:Goldstein准则①:概述②:代码C࿱... 查看详情

面向对象方法学-第一节:面向对象方法学概述(代码片段)

注意:本章是面向对象的内容,而C++又是一个很经典的面向对象语言,所以本节介绍时会引入C++相关知识。如需深入了解C++,可移步C++学习专栏文章目录一:要点(1)基本原则&... 查看详情

(王道408考研操作系统)第一章计算机系统概述-第一节4:中断和异常(代码片段)

注意!!!本节内容和《计算机组成原理》中的中断有重合,如果需要详细了解的话可以点击链接跳转:(计算机组成原理)第七章输入和输出系统-第四节2:I/O方式之程序中断方式为了内容完整,部分内... 查看详情

(王道408考研操作系统)第一章计算机系统概述-第一节5:系统调用(代码片段)

文章目录一:什么是系统调用二:系统调用分类三:系统调用和核心态用户态的关系四:系统调用与库函数的关系五:操作系统的运行环境前面说过,操作系统接口分为命令接口和程序接口,其中命令... 查看详情