软件测试v模型-什么是软件测试?手工测试是什么意思?
软件测试的定义软件测试的·分类
(1)从被测试对象的角度分类,测试可以分为黑盒测试、白盒测试和灰盒测试
(2)从被测试对象是否运行的角度进行分类。从被测试对象是否运行的进行分类,测试可以被分为动态测试和静态测试。
(3)从测试执行时使用的工具角度分类。从测试执行时使用的工具角度分类测试可以分为手工测试和自动化测试。
被测对象被测对象是否运行
黑盒测试
动态测试
白盒测试
静态测试
灰盒测试
>
静态测试是指不运行被测试的软件系统,而是采用其他手段和技术对被测试软件进行检测的一种测试技术。例如:代码走读、文档评审、程序分析等都是静态测试的范畴。
动态测试是指按照预先设计的数据和步骤去运行被测软件系统,从而对被测软件系统进行检测的一种测试技术。如果按阶段来分,单元测试中常见的动态测试方法就是逻辑覆盖的方法,而在系统测试阶段,我们做的测试都属于动态测试,因为我们要运行系统才能验证系统功能是否正确。
手工测试是指软件测试的整个活动过程(如评审、测试设计、测试执行等)都是由软件测试工程师手工执行来完成,不使用任何测试工具,狭义上是指测试执行由人工完成,这是最基本的测试形式。
自动化测试是使用软件来控制测试执行过程,比较实际结果和预期结果是否一致,设置测试前置条件和其他测试控制条件并输出测试报告。通常,自动化测试需要在适当的时间使已经形式的手工测试过程自动化
软件测试模型瀑布模型
瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护六项基本活动,其过程是将上一项活动接收的工作对象作为输入,当该项活动完成后会输出该项活动的工作成果,并将该项成果作为下一项活动的输入。该模型规定这六项基本活动自上而下、固定相互衔接的次序,如同瀑布流水,逐级下落。
从本质上讲,它是一个软件开发架构,开发过程通过一系列阶段顺序展开的,从需求分析直到产品发布和维护。如果在其中某个阶段有信息未被覆盖或有问题,那么就得返回到上一个阶段,并对这些阶段进行适当的修改才能进入下一个阶段,这样每个阶段都会产生循环反馈,开发过程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来
瀑布模型的优点:
瀑布模型的缺点:
W模型
由于V模型存在一些明显的缺陷,人们就在实际测试过程中对V模型进行了改进,将演变为W模型。W模型由两个V字型模型组成,相对于V模型,增加了软件各开发阶段中应同步进行的验证和确认活动。
W模型也称之为双V模型,一个V是开发的生命同期,另一个V是测试的生命周期型与V模型有一个很大的不同,就是W模型是一个并行的模型,V模型是一个串行的模垄型开始是从需求分析开始就开始了,而不是等到编码完成后才开始。并且测试阶段的划分: 而不仅仅是单元测试、集成测试、系统测试,还包括前期的测试计划、测试方案等内容,这更符合现在企业测试的流程。
w模型的特征:
H模型
H模型将测试活动分离出来软件测试v模型,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来
特征:
系统生命周期的测试策略
软件测试策略是指在软件测试标准、测试规范的指导下,依据测试项目的特定环境约束制定的软件测试原则、策略和方法的集合。
开发阶段的测试策略
开发阶段是指在整个产品开发过程中我们使用的测试方法,在开发阶段的测试策略和方法主要是白盒测试,当然有一些公司也会开展灰盒测试,但并不多,通常灰盒测试也就是我们说的集成测试。
白盒测试也称结构测试或逻辑驱动测试,主要是测试源程序内部的结构软件测试v模型,通过测试来检查程序内部动作是否满足设计规格说明书的要求,检查源程序中路径覆盖情况。白盒测试将被测程序看作一个打开的盒子,即程序内部的逻辑结构可以看的很清楚
白盒测试通常的程序结构覆盖测试的方法有
语句覆盖
判定覆盖
条件覆盖
判定|条件覆盖
路径覆盖
基本路径覆盖
产品阶段的测试策略
产品阶段主要采取黑盒测试策略进行测试。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用,是否符合规格说明书。在测试过程中,把程序看作一个不能打开的黑盒子。在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试,它只检查程序功能是否能按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度、从输入数据与输出数据的对应关系出发进行测试的,黑盒测试主要发现以下几类错误:
常见的黑盒测试设计方法
等价类划分法
边界值划分法
错误推断法
因果图法
场景法
判定表法
正交实验法