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

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

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

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

  • 单元测试

  • 集成测试

  • 系统测试

  • 回归测试

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

1、测试范畴不同

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

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

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

2、测试重点不一样

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

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

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

3、检验基准不一样

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

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

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

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

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

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

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

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

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

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

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

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

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

双V模型/W模型:

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

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

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

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

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

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

  • 白盒测试

  • 灰盒测试

  • 黑盒测试

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

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

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

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

  • 静态测试

  • 动态测试

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

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

按照是否借助工具划分:

  • 手工测试

  • 自动化测试

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

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

自动化测试的意义:

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

自动化测试的限制:

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

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


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 想搭建一个能够稳定支持每日500万页面浏览量(PV)的网站架构吗?了解500万PV的实际意义,以及如何计算服务器需要处理的并发请求量,是成功构建高效架构的关键。本文将从基础概念出发,深入探讨实现这一目标所需的技术细节和策略。 ... [详细]
  • 提升接口测试效率的关键:用例与工具的综合应用
    本文将探讨如何通过有效的接口测试用例设计和工具选择,显著提高接口测试的效率和质量。 ... [详细]
  • APP及其接口测试全面解析
    本文深入探讨了移动应用(APP)及其接口测试的关键点,包括安装与卸载、功能一致性、系统兼容性、权限管理等多个方面的测试策略,以及针对接口的功能、边界值、参数组合等专业测试方法。同时,介绍了几款常用的测试工具,帮助开发者提高测试效率和质量。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • MySQL性能测试标准倡议:老叶提出的压测基准
    进行MySQL的压力测试通常是为了评估新旧版本之间的性能差异、验证硬件升级的效果、测试参数调整的影响以及评估新业务的负载承受能力。老叶提出了一个MySQL压力测试基准值倡议,旨在促进行业内的标准化和成果共享。 ... [详细]
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社区 版权所有