热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

测试基础7章小白学软件测试DAY4

动态白盒测试动态白盒测试动态白盒测试就是利用查看代码功能(做什么)和实现方式(怎么做)得到的信息来确定需要哪些测试、哪些

动态白盒测试


动态白盒测试

动态白盒测试就是利用查看代码功能(做什么)和实现方式(怎么做)得到的信息来确定需要哪些测试、哪些不需要测试、如何展开测试。

动态白盒测试包含以下部分

- 直接测试底层函数、过程、子程序和库。
- 以完整程序的方式从顶层测试软件;
- 以软件获得读取变量和状态信息的访问权,以便确定测试与预期结果是否相符,同时,强制软件以正常测试难以实现的方式运行。
- 估算执行测试时”命中“的代码量和具体代码,然后调整测试,去掉多余的测试用例,补充遗漏的用例。

分段测试


单元测试和集成测试

当如软件测试开始时,测试员先从小片段的代码入手,当一个代码段检查完成后,增加其他的代码段再次来测试,直到将软件的主要代码测试成功后将其及集成,完成系统测试。


数据覆盖


数据流

可以在测试时跟踪一组数据,这组数据最好是有特征的,边界值或具有风险的中间值,通过观察测试结果更改部分用例。


次边界

与程序员沟通,检查次边界问题


公式和等式

寻找所有能够使得公式崩溃的地方;


错误强制

如果在测试中,编译器可以观察并修改某些变量的值,那么就可以强制修改变量的值来达到测试的目的。

注意:不要输入非法数据!如果程序员在开始就声明了参数的类型和取值范围,那么在中间强制修改变量的值为非法值就是违规的!


代码覆盖

所谓代码覆盖,就是单步调试每一行代码,在调试过程中,认真观察数据的流向。


程序语句和代码行覆盖

全面覆盖每一行代码


分支覆盖

试图覆盖软件的每一条路径。路径测试最简单的形式被称为分支覆盖测试。


条件覆盖

条件覆盖的要求就是覆盖每一种可能,将所有可能的条件都测试。


小结

本部分讲述了通过黑盒白盒测试,让初学者对软件测试的内容有了些了解,下面总结几种方法:

- 静态黑盒测试:检查说明书,并在软件编写前自傲出问题;
- 动态黑盒测试:在不了解软件的情况下测试软件;
- 静态白盒测试:通过正式审查和检验检查代码的细节;
- 动态白盒测试:看到软件的工作方法,根据获得的信息对软件进行测试。

推荐阅读
  • 本文档旨在提供C语言的基础知识概述,涵盖常量、变量、数据类型、控制结构及函数定义等内容。特别强调了常量的不同类型及其在程序中的应用,以及如何正确声明和使用函数。 ... [详细]
  • 本文提供了多个关键点来帮助开发者提高Java编程能力,包括代码规范、性能优化和最佳实践等方面,旨在指导读者成为更加优秀的Java程序员。 ... [详细]
  • Java中List的forEach方法与字符串拼接的兼容性问题
    本文深入探讨了在Java中使用List的forEach方法时遇到的字符串拼接问题,提供了有效的解决方案及背后的原理分析,旨在帮助开发者更好地理解和解决此类问题。 ... [详细]
  • 本文探讨了如何选择一个合适的序列化版本ID(serialVersionUID),包括使用生成器还是简单的整数,以及在不同情况下应如何处理序列化版本ID。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • 如何使用Maven将依赖插件一并打包进JAR文件
    本文详细介绍了在使用Maven构建项目时,如何将所需的依赖插件一同打包进最终的JAR文件中,以避免手动部署依赖库的麻烦。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • STM32代码编写STM32端不需要写关于连接MQTT服务器的代码,连接的工作交给ESP8266来做,STM32只需要通过串口接收和发送数据,间接的与服务器交互。串口三配置串口一已 ... [详细]
  • 本文详细探讨了在Windows 98环境下安装Apache 1.3.9、JServ、GNUJSP 1.0、JDK 1.2.2及JSDK 2.0后遇到的中文显示问题,并提供了多种有效的解决方案。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文总结了 #define 在 C/C++ 编程中的多种用途和技巧,包括定义常量、函数、宏以及条件编译等,并提供了详细的示例和注意事项。 ... [详细]
  • 本文详细探讨了PHP中使用const和define定义常量的方法及其差异。了解这些区别有助于开发者根据具体需求选择合适的方式定义常量。 ... [详细]
  • 在VSCode中配置ESP-IDF开发环境
    本文详细介绍如何在无需单独下载工具链的情况下,通过VSCode配置ESP-IDF开发环境,包括下载离线安装包和安装ESP-IDF插件,从而实现项目编译与烧录。 ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
author-avatar
手机用户2502906281
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有