热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

软件测试阶段分类软件测试按阶段,可划分以下几类:单元测试集成测试系统测试回归测试单元测试、集成测试、系统测试的比较:1、测试范畴不同单元测试属于白盒测试范畴集成测试属于灰盒测试范畴
软件测试阶段分类

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

  • 单元测试

  • 集成测试

  • 系统测试

  • 回归测试

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

1、测试范畴不同

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

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

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

2、测试重点不一样

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

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

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

3、检验基准不一样

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

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

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

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

测试人员要编写的主要文档有哪些?
  • 测试计划:测试范围、方法、资源,以及相应测试活动的时间进度安排表的文档;

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

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

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

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

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

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

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

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

双V模型/W模型:

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

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

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

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

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

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

  • 白盒测试

  • 灰盒测试

  • 黑盒测试

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

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

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

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

  • 静态测试

  • 动态测试

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

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

按照是否借助工具划分:

  • 手工测试

  • 自动化测试

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

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

自动化测试的意义:

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

自动化测试的限制:

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

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


推荐阅读
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 在这篇文章中,我们将深入探讨MySQL在某些情况下为什么会选择错误的索引,并从专业角度进行详细分析。通过丰富的案例和理论依据,帮助读者理解这一现象的原因及优化策略,提升数据库性能。 ... [详细]
  • 深入理解排序算法:集合 1(编程语言中的高效排序工具) ... [详细]
  • Java排序算法详解:选择排序、插入排序、冒泡排序与递归实现
    本文详细解析了Java中的几种基础排序算法,包括选择排序、插入排序和冒泡排序,并探讨了递归在这些算法中的应用。选择排序通过每次找到未排序部分的最小值并将其置于已排序部分的末尾来实现;插入排序则通过逐步将每个元素插入到已排序序列的正确位置;而冒泡排序则是通过多次遍历数组,两两比较并交换相邻的元素,最终使较大的元素逐渐“冒”到数组末尾。文章还提供了具体的代码示例,帮助读者更好地理解和掌握这些算法的实现细节。 ... [详细]
  • 短信验证码安全性堪忧,多因素认证或成未来主流
    短信验证码安全性堪忧,多因素认证或成未来主流 ... [详细]
  • 斯坦福大学公开课:利用神经网络技术实现自动驾驶的案例分析
    斯坦福大学的公开课深入探讨了如何利用神经网络技术实现自动驾驶。课程中通过实例展示了汽车如何通过学习算法自主驾驶。具体而言,课程展示了一幅图解,其中左下角显示了汽车前方的实时路况图像,而左上角则呈现了一个水平的菜单栏,用于展示系统处理和决策的过程。这一案例详细解析了神经网络在自动驾驶中的应用,为学生提供了宝贵的实践参考。 ... [详细]
  • 解题心得:UVA1339(逻辑分析与字符串处理+排序算法)
    解题心得:UVA1339(逻辑分析与字符串处理+排序算法) ... [详细]
  • 在 Linux 环境下,多线程编程是实现高效并发处理的重要技术。本文通过具体的实战案例,详细分析了多线程编程的关键技术和常见问题。文章首先介绍了多线程的基本概念和创建方法,然后通过实例代码展示了如何使用 pthreads 库进行线程同步和通信。此外,还探讨了多线程程序中的性能优化技巧和调试方法,为开发者提供了宝贵的实践经验。 ... [详细]
  • 【系统架构师精讲】(16):操作系统核心概念——寄存器、内存与缓存机制详解
    在计算机系统架构中,中央处理器(CPU)内部集成了多种高速存储组件,用于临时存储指令、数据和地址。这些组件包括指令寄存器(IR)、程序计数器(PC)和累加器(ACC)。寄存器作为集成电路中的关键存储单元,由触发器构成,具备极高的读写速度,使得数据传输非常迅速。根据功能不同,寄存器可分为基本寄存器和移位寄存器,各自在数据处理中发挥重要作用。此外,寄存器与内存和缓存机制的协同工作,确保了系统的高效运行。 ... [详细]
  • 每年,意甲、德甲、英超和西甲等各大足球联赛的赛程表都是球迷们关注的焦点。本文通过 Python 编程实现了一种生成赛程表的方法,该方法基于蛇形环算法。具体而言,将所有球队排列成两列的环形结构,左侧球队对阵右侧球队,首支队伍固定不动,其余队伍按顺时针方向循环移动,从而确保每场比赛不重复。此算法不仅高效,而且易于实现,为赛程安排提供了可靠的解决方案。 ... [详细]
  • Ceph Placement Group 数量计算方法与最佳实践
    Ceph Placement Group 数量计算方法与最佳实践 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
  • 云原生SRE
    序言年底了,没有分手的朋友的赶紧分了,所谓新年新气象,年年不重样。去留无意,望看风卷残云。。。运维不会消失,但 ... [详细]
  • 2010年下半年软件评测师试题标准答案阅卷用标准答案,更多答案登录http:www.enpass.cn查看,软考培训权威机构由于发博文的限制,有些图片不能发上来,下载完全版答 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有