热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

测试—测试方法

文章目录一、是否关注被测对象的逻辑结构(一)黑盒测试手工1.黑盒测试的主要设计方法:2.黑盒测试优缺点3.黑盒测试类型(二&


文章目录

  • 一、是否关注被测对象的逻辑结构
    • (一)黑盒测试/手工
      • 1. 黑盒测试的主要设计方法:
      • 2. 黑盒测试优缺点
      • 3. 黑盒测试类型
    • (二)白盒测试/单元测试
      • 1. 白盒测试的分析方法:
      • 2. 白盒测试优缺点
    • (三)灰盒测试
  • 二、是否需要借助工具
    • (一)手工测试
    • (二)自动化测试


一、是否关注被测对象的逻辑结构


(一)黑盒测试/手工


定义:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。主要针对软件界面和软件功能进行测试。



1. 黑盒测试的主要设计方法:


  • 等价类划分法
  • 边界值分析法
  • 错误推测法
  • 因果图法
  • 正交试验分析法
  • 状态迁移图法
  • 流程分析法

2. 黑盒测试优缺点

优点:


  • 容易实施,不需要关注内部的实现
  • 更贴近用户的使用角度

缺点:


  • 测试覆盖率角度,一般只能覆盖到代码量的不到40%
  • 针对黑盒测试的自动化测试,复用率较低,维护成本高

3. 黑盒测试类型


  • 功能测试
  • 性能测试
  • 安全性测试
  • 可靠性测试
  • 易用性测试

(二)白盒测试/单元测试


定义:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文字。



1. 白盒测试的分析方法:


  • 静态分析方法:控制流分析、数据流分析、信息流分析
  • 动态分析方法:逻辑覆盖、程序插装

2. 白盒测试优缺点

优点:


  • 一般在测试前期进行,通过达到一定的逻辑,覆盖率指标,成本较低
  • 可以检测代码中的每一条分支和路径
  • 对代码测试比较彻底

(三)灰盒测试


定义:灰盒测试是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。



二、是否需要借助工具


(一)手工测试


  • 数据库: MySQL oracle
  • 抓包工具: Charles fiddler
  • 项目管理工具: 禅道、QC、leangoo
  • 接口测试工具: POSTMAN

(二)自动化测试


  • UI自动化测试:selenium、robotframework、移动端appium
  • 接口自动化测试:jmeter、代码测试python+unittest、代码测试java+junit/testng
  • 压力自动化:jmeter、loadrunner

自动化测试优点
1.减少重复性的测试
2.增加软件的信任度
3.高效率、速度快
4.高复用性
5.机械、发现缺陷率低
6.准确、可靠





推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文介绍了在 Spring Boot 中使用 JPA 进行数据删除操作时遇到的 SQL 错误及其解决方法。错误表现为:删除操作失败,原因是无法打开 JPA EntityManager 以进行事务处理。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本文深入解析了通过JDBC实现ActiveMQ消息持久化的机制。JDBC能够将消息可靠地存储在多种关系型数据库中,如MySQL、SQL Server、Oracle和DB2等。采用JDBC持久化方式时,数据库会自动生成三个关键表:`activemq_msgs`、`activemq_lock`和`activemq_ACKS`,分别用于存储消息数据、锁定信息和确认状态。这种机制不仅提高了消息的可靠性,还增强了系统的可扩展性和容错能力。 ... [详细]
  • 本文详细介绍了在 Oracle 数据库中使用 MyBatis 实现增删改查操作的方法。针对查询操作,文章解释了如何通过创建字段映射来处理数据库字段风格与 Java 对象之间的差异,确保查询结果能够正确映射到持久层对象。此外,还探讨了插入、更新和删除操作的具体实现及其最佳实践,帮助开发者高效地管理和操作 Oracle 数据库中的数据。 ... [详细]
  • Oracle字符集详解:图表解析与中文乱码解决方案
    本文详细解析了 Oracle 数据库中的字符集机制,通过图表展示了不同字符集之间的转换过程,并针对中文乱码问题提供了有效的解决方案。文章深入探讨了字符集配置、数据迁移和兼容性问题,为数据库管理员和开发人员提供了实用的参考和指导。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文详细介绍了数据库并发控制的基本概念、重要性和具体实现方法。并发控制是确保多个事务在同时操作数据库时保持数据一致性的关键机制。文章涵盖了锁机制、多版本并发控制(MVCC)、乐观并发控制和悲观并发控制等内容。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 阿里云MySQL与Oracle数据库的主从复制技术详解 ... [详细]
author-avatar
mobiledu2502861313
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有