??在我们开始学习测试知识的时候,我们首先需要对测试的基础知识有一个大致的了解,通过本篇博客对测试的基本知识进行一个简单的介绍。
软件测试
??首先我们需要对软件测试进行一个理解,软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否满足设计要求进行评估的过程,简单来说就是一种实际输出和预期输出之间的审核或者比较过程。
软件测试V模型
??软件测试V模型大致可以分为8个步骤,左侧的四个步骤主要有开发人员来进行完成,右侧的四个部分则由测试人员来进行完成。 需求分析 :需求分析的主要任务是明确客户的需求是什么,需要实现什么功能,主要是由产品经理和客户进行沟通,将客户需要的功能和实现方式表述出来,写出需求规格说明书。 概要设计:在这一部分主要是完成架构的搭建,各个模块功能的确定以及模块接口连接和数据传递的实现。 详细设计:对各个模块进行深入的设计分析,以及对各个模块组合进行分析,这一阶段要求达到伪代码级别,已经将程序具体实现的功能,现象描述出来、其中需要包含数据库设计说明。 软件编码:按照设计好的模块的功能,由编程人员编写实际的代码。 单元测试:按照设定好的最小测试单元进行单元测试,主要是测试程序代码。目的是为了保证各单元模块被正确的编译,单元的具体划分按不同的单位与不同的软件有不同,比如有具体到模块的测试,也有具体到类、函数的测试。 集成测试:经过单元测试之后,将各单元组合成完整的体系,主要测试模块之间组合后的功能的实现情况,以及模块接口连接的成功与否,数据传递的正确性等。集成测试的主要目的是检查软件单位之间的接口是否正确,根据集成测试计划,一边将模块或其他软件单位组合成系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。 系统测试:经过了单元测试和集成测试之后,我们要把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能是否和用户需求相符合,在系统中运行是否存在漏洞。。 验收测试:主要就是用户在拿到软件的时候,在使用现场会根据之前提到的需求,以及规格说明书来做相应测试,以确定软件到达预期的效果。
缺陷及解决
??V模型仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。 ??解决思路: 当一个软件开发的同时,要发人员和测试人员需要同时工作,测试在软件做需求分析的同时就会有测试用例的跟踪,这样可以尽快找出程序错误和需求偏离,从而更高效的提高程序质量,最大可能的减少成本,同时满足用户的实际软件需求。
适用范围
??V模型是一种传统软件的开发模型,一般适用于一些传统信息系统应用的开发,而一些高性能高风险的系统、互联网软件,或一个系统难以被具体模块化的时候,就比较难以做成V模型所需的各种构件,需要更强迭代的开发模型或者敏捷开发模型。
软件测试的分类
按照是否查看代码
黑盒测试: 黑盒测试也称为功能测试,测试中把被测试的软件当成是一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据和输出数据。 白盒测试: 白盒测试又称结构测试,透明盒测试,逻辑驱动测试或者基于代码的测试。白盒指的是打开的盒子,去研究里面的源代码和程序结构。 灰盒测试: 是介于白盒测试和黑盒测试之间的一种测试,主要用于集成测试阶段,不仅关注输入输出的正确性,同时也关注程序内部的情况。
按照软件测试周期
冒烟测试: 在对一个软件进行大规模测试之前,首先验证软件的基本功能是否实现,是否具备可测性。 回归测试: 指修改了旧代码之后,重新测试以确认修改没有引入新的错误或导致其他代码产生错误。 随机测试: 根据测试说明书执行用例测试的重要补充手段,所有的输入都是随机产生,目的是为了模拟用户的真实操作,发现边缘性错误。 安全测试: 在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。
|