测试从零开始-No.5-测试的基本概念和分类

Posted 小博测试成长之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试从零开始-No.5-测试的基本概念和分类相关的知识,希望对你有一定的参考价值。

软件测试阶段分类

软件测试按阶段,可划分以下几类:

  • 单元测试

  • 集成测试

  • 系统测试

  • 回归测试

单元测试、集成测试、系统测试的比较:

1、测试范畴不同

单元测试属于白盒测试范畴

集成测试属于灰盒测试范畴

系统测试属于黑盒测试范畴

2、测试重点不一样

单元测试主要测试内部数据结构、逻辑控制、异常处理等

集成测试主要测试模块间的接口与接口数据传递关系,以及模块组合后的整体功能

系统测试主要测试整个系统相对于需求的符合度

3、检验基准不一样

单元测试主要通过逻辑覆盖率来评估

集成测试主要通过接口覆盖率来评估

系统测试主要通过测试用例对需求规格的覆盖率来评估

测试人员要编写的主要文档有哪些?

  • 测试计划:测试范围、方法、资源,以及相应测试活动的时间进度安排表的文档;

  • 测试方案:为完成软件集成特性的测试而进行的设计测试方法的细节文档;

  • 测试用例:为完成一个测试项的测试输入、预期结果、测试执行条件等因素的文档;

  • 测试报告:执行测试结果的文档;

  • 测试日报:每天测试执行情况的记录和总结。

  • 用户指导手册:教用户怎么使用软件的文档,用途与我们平常买家电的时候附带的说明书类似,一般情况下这个不归测试人员编写,但是有一些小公司可能会让测试写这个文档。

软件测试过程的几个模型,简单了解一下:

V模型:左到右,描述了开发与测试过程之间的阶段对应关系,缺点是不适用于需求变化,灵活性差。

双V模型/W模型:

优点:测试伴随整个产品开发周期,测试对象不仅是程序还有需求、设计文档测试介入较早,及早发现问题,降低修复成本

缺点:实施起来比较复杂,难度大,对于需求阶段和设计阶段的测试设计要求较高(计算机技术、业务知识、管理能力、测试素质等)

为什么要尽早进行测试工作?

按照被测对象的不同,可以分为:

  • 白盒测试

  • 灰盒测试

  • 黑盒测试

    白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况。白盒测试是基于程序结构的逻辑驱动测试。白盒测试发现问题后解决问题的成本较低。

    黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现。黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块等。测试人员不需要了解实现的细节,包括特定的编程语言;从用户的视角进行测试,很容易被大家理解和接受;有助于暴露任何与规格不一致或有歧义的问题;压力测试和负载测试都属于黑盒测试。

    灰盒测试就是介于白盒和黑盒之间的一种。既要关注整体特性,又要关注内部具体实现。

按照是否运行被测对象,可以划分为:

  • 静态测试

  • 动态测试

静态测试:不运行被测试的软件系统,而是采用其他手段和技术对被测试软件进行检测的一种测试技术。例如:代码走读、文档评审、代码扫描等都是静态测试的范畴。

动态测试:按照预先设计的数据和步骤去运行被测软件系统,从而对被测软件系统进行检测的一种测试技术。

按照是否借助工具划分:

  • 手工测试

  • 自动化测试

人工测试:测试活动(如评审、测试设计、测试执行等)由人来完成,狭义上是指测试执行由人工完成,这是最基本的测试形式

自动化测试:一般是指通过计算机模拟人的测试行为,替代人的测试活动,狭义上是指测试执行由计算机来完成

自动化测试的意义:

提高回归测试的效率,可以运行更多更频繁的测试,比如冒烟测试。可以执行手工测试困难或不可能做的测试,比如大量的重复操作或者集成测试。

自动化测试的限制:

不能取代手工测试,自动化测试只能提高测试效率,不能提高测试有效性,即不可能发现更多缺陷,手工测试比自动测试发现的缺陷更多;

对测试设计依赖性极大,测试设计的不好会遗漏问题;工具本身并不具备想象力,自动化测试对软件开发具有很大的依赖性,开发上出现变更可能导致前面的自动化测试完全失效。

以上是关于测试从零开始-No.5-测试的基本概念和分类的主要内容,如果未能解决你的问题,请参考以下文章

从零开始写博客系统——测试我们的代码(单元测试)

从零开始写博客系统——测试我们的代码(单元测试)

从零开始写博客系统——测试我们的代码(单元测试)

从零开始写博客系统——测试我们的代码(单元测试)

测试从零开始-No.9-软件配置管理介绍

Android测试:从零开始1——简介