测试从零开始-No.5-测试的基本概念和分类
软件测试阶段分类
软件测试按阶段,可划分以下几类:
-
单元测试
-
集成测试
-
系统测试
-
回归测试
单元测试、集成测试、系统测试的比较:
1、测试范畴不同
单元测试属于白盒测试范畴
集成测试属于灰盒测试范畴
系统测试属于黑盒测试范畴
2、测试重点不一样
单元测试主要测试内部数据结构、逻辑控制、异常处理等
集成测试主要测试模块间的接口与接口数据传递关系,以及模块组合后的整体功能
系统测试主要测试整个系统相对于需求的符合度
3、检验基准不一样
单元测试主要通过逻辑覆盖率来评估
集成测试主要通过接口覆盖率来评估
系统测试主要通过测试用例对需求规格的覆盖率来评估
测试人员要编写的主要文档有哪些?
-
测试计划:测试范围、方法、资源,以及相应测试活动的时间进度安排表的文档;
-
测试方案:为完成软件集成特性的测试而进行的设计测试方法的细节文档;
-
测试用例:为完成一个测试项的测试输入、预期结果、测试执行条件等因素的文档;
-
测试报告:执行测试结果的文档;
-
测试日报:每天测试执行情况的记录和总结。
-
用户指导手册:教用户怎么使用软件的文档,用途与我们平常买家电的时候附带的说明书类似,一般情况下这个不归测试人员编写,但是有一些小公司可能会让测试写这个文档。
软件测试过程的几个模型,简单了解一下:
V模型:左到右,描述了开发与测试过程之间的阶段对应关系,缺点是不适用于需求变化,灵活性差。
双V模型/W模型:
优点:测试伴随整个产品开发周期,测试对象不仅是程序还有需求、设计文档测试介入较早,及早发现问题,降低修复成本
缺点:实施起来比较复杂,难度大,对于需求阶段和设计阶段的测试设计要求较高(计算机技术、业务知识、管理能力、测试素质等)
为什么要尽早进行测试工作?
按照被测对象的不同,可以分为:
-
白盒测试
-
灰盒测试
-
黑盒测试
白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况。白盒测试是基于程序结构的逻辑驱动测试。白盒测试发现问题后解决问题的成本较低。
黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现。黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块等。测试人员不需要了解实现的细节,包括特定的编程语言;从用户的视角进行测试,很容易被大家理解和接受;有助于暴露任何与规格不一致或有歧义的问题;压力测试和负载测试都属于黑盒测试。
灰盒测试就是介于白盒和黑盒之间的一种。既要关注整体特性,又要关注内部具体实现。
按照是否运行被测对象,可以划分为:
-
静态测试
-
动态测试
静态测试:不运行被测试的软件系统,而是采用其他手段和技术对被测试软件进行检测的一种测试技术。例如:代码走读、文档评审、代码扫描等都是静态测试的范畴。
动态测试:按照预先设计的数据和步骤去运行被测软件系统,从而对被测软件系统进行检测的一种测试技术。
按照是否借助工具划分:
-
手工测试
-
自动化测试
人工测试:测试活动(如评审、测试设计、测试执行等)由人来完成,狭义上是指测试执行由人工完成,这是最基本的测试形式
自动化测试:一般是指通过计算机模拟人的测试行为,替代人的测试活动,狭义上是指测试执行由计算机来完成
自动化测试的意义:
提高回归测试的效率,可以运行更多更频繁的测试,比如冒烟测试。可以执行手工测试困难或不可能做的测试,比如大量的重复操作或者集成测试。
自动化测试的限制:
不能取代手工测试,自动化测试只能提高测试效率,不能提高测试有效性,即不可能发现更多缺陷,手工测试比自动测试发现的缺陷更多;
对测试设计依赖性极大,测试设计的不好会遗漏问题;工具本身并不具备想象力,自动化测试对软件开发具有很大的依赖性,开发上出现变更可能导致前面的自动化测试完全失效。
文章来源: xiaobotester.blog.csdn.net,作者:小博测试成长之路,版权归原作者所有,如需转载,请联系作者。
原文链接:xiaobotester.blog.csdn.net/article/details/119964642
- 点赞
- 收藏
- 关注作者
评论(0)