软件测试入门:静态测试

什么是静态测试
顾名思义,这里的静态是指程序的状态,即在不执行代码的情况下检查软件应用程序中的缺陷。进行静态测试是为了仅早在开发的早期阶段发现程序缺陷,因为这样可以更快速地识别缺陷并低成本解决缺陷,它还有助于查找动态测试过程找不到的缺陷。与静态测试对应的是动态测试(Dynamic Testing),它指在代码执行过程测试应用程序。

静态测试技术的两种类型
人工检查:指人工完成的代码的分析,也称为CodeRreview。
工具自动分析:自动化分析基本上是借助于工具完成的静态分析。
什么是测试评审?
静态测试中的评审是为了发现任何程序设计中的潜在缺陷而进行的活动。评审的另一个好处是,帮助所有团队成员都了解项目本身,有时想法的多样性可能会产生出色的建议。项目文件直接由项目相关人员检查,并找出大家对统一需求理解的差异性。

评审可以为四个部分:

非正式评审
演示
技术评审
审查
在评审过程中,参与者分别是:

主持人:执行入场检查,跟进返工,指导团队成员,安排会议。
作者:负责修复发现的缺陷并提高文档质量
抄写员:在评审过程中记录缺陷并参加评审会议
审稿人:检查材料是否有缺陷并检查
经理:决定执行评审,并确保达到评审过程的目标。
在静态测试中更容易发现的缺陷类型为:

违背(编码)标准
代码可维护性差
代码存在缺陷
需求缺失
接口规范不一致
通常,在静态测试中发现的缺陷是变量未声明、边界逻辑处理考虑不全面、语法错误、接口设计不一致等因素引起的。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:822269834【暗号:csdn999】

为什么要进行静态测试?
由于以下原因:

早期更容易发现缺陷和修复
缩短开发时间
降低测试成本和时间
为了提高开发效率
降低测试阶段出现缺陷的概率
静态测试测试内容是什么
在“静态测试”中,对以下内容进行测试

单元测试用例
业务需求文档(BRD)
用例
系统/功能要求
原型
原型规格文件
数据库字段字典电子表格
测试数据
需求跟踪矩阵文件
用户手册/培训指南/文档
测试计划策略文档/测试用例
自动化/性能测试脚本
如何进行静态测试
要做静态测试,它可以通过以下方式完成:

进行检查过程以完全检查应用程序的设计
对要审核的每个文档使用清单,以确保所有审核均被完全覆盖
执行静态测试的各种活动是:

用例需求验证:它验证是否标识了所有最终用户操作以及与之关联的任何输入和输出。用例越详细和透彻,测试用例就越准确和全面。
功能需求验证:确保功能需求标识所有必要的元素。它还查看数据库功能,接口列表以及硬件,软件和网络要求。
架构评审:所有业务级别的流程,例如服务器位置,网络图,协议定义,负载平衡,数据库可访问性,测试设备等。
原型/屏幕模型验证:此阶段包括需求和用例的验证。
字段字典验证:UI中的每个字段都定义得足够好,可以创建字段级别的验证测试用例。字段用于检查最小/最大长度,列表值,错误消息等。
静态测试技术有哪些
非正式评审
演示
技术评审
审查
静态分析
数据流
控制流

静态测试的工具有哪些
静态测试的工具如下:

Checkstyle
Soot
SourceMeter
Sonar
静态测试的技巧
静态测试的一些技巧:

只专注于真正重要的事情
明确计划和跟踪审核活动。通常将软件演练和检查综合到同行的评论中
解决人员问题
持续改进流程和工具
通过消除测试执行中的主要延迟,可以减少测试成本和时间
概括
静态测试是为了尽早发现缺陷。
静态测试不能替代动态测试,两者都会发现不同类型的缺陷
评审是进行静态测试的有效技术
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch从入门到精通

Elasticsearch简介 应用开发中一个比较常见的功能是搜索,传统应用的解决方案:数据库的模糊查询。 模糊查询存在的问题: 海量数据下效率低下功能不够丰富:不够智能、不能高亮 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据…

鸿蒙原生应用/元服务开发-Stage模型能力接口(一)

ohos.app.ability.Ability (Ability基类)一、说明 UIAbility和ExtensionAbility的基类,提供系统配置更新回调和系统内存调整回调。本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口仅可在Stag…

flex布局的flex为1到底是什么

参考博客:flex:1什么意思_公孙元二的博客-CSDN博客 flex:1即为flex-grow:1,经常用作自适应布局,将父容器的display:flex,侧边栏大小固定后,将内容区flex:1,内…

华为数通---配置Smart Link负载分担案例

定义 Smart Link,又叫做备份链路。一个Smart Link由两个接口组成,其中一个接口作为另一个的备份。Smart Link常用于双上行组网,提供可靠高效的备份和快速的切换机制。 目的 下游设备连接到上游设备,当使用单上行方式时&#x…

KUKA机器人如何自定义数值型变量?

KUKA机器人如何自定义数值型变量? 在KUKA机器人系统中如何自定义数值型变量来实现工件计数、计时等功能? 具体方法可参考以下内容: 如下图所示,找到SYSTEM—CONFIG.DAT文件,进入(需要管理员权限), 如下图所示,在第10行自定义一个int型的变量a, 如下图所示,自定义完成…

Ribbon组件的负载均衡原理

原因背景 spring cloud的底层负载均衡是采用Ribbon组件,我们将user-service服务注册到eureka-server中,那么当我们在另一个服务的代码层面请求远程调用API接口http://user-service/users/5时,程序代码如何解析远程调用的user-service服务名转…

Dockerfile介绍

1. DockerFile介绍 dockerfile是用来构建docker镜像的文件!命令参数脚本! 构建步骤: 1、编写一个dockerfile文件 2、docker build 构建成为一个镜像 3、docker run运行镜像 4、docker push发布镜像(DockerHub、阿里云镜像仓库…

Django模板,Django中间件,ORM操作(pymysql + SQL语句),连接池,session和cookie, 缓存

day04 django进阶-知识点 今日概要: 模板中间件ORM操作(pymysql SQL语句)session和cookie缓存(很多种方式) 内容回顾 请求周期 路由系统 最基本路由关系动态路由(含正则)路由分发不同的app中…

《论文阅读》用于情绪回复生成的情绪正则化条件变分自动编码器 Affective Computing 2021

《论文阅读》用于情绪回复生成的情绪正则化条件变分自动编码器 前言简介模型结构实验结果总结前言 今天为大家带来的是《Emotion-Regularized Conditional Variational Autoencoder for Emotional Response Generation》 出版:IEEE Transactions on Affective Computing 时间…

ZKP Understanding Nova (2) Relaxed R1CS

Understanding Nova Kothapalli, Abhiram, Srinath Setty, and Ioanna Tzialla. “Nova: Recursive zero-knowledge arguments from folding schemes.” Annual International Cryptology Conference. Cham: Springer Nature Switzerland, 2022. Nova: Paper Code 2. Unders…

openGauss学习笔记-147 openGauss 数据库运维-备份与恢复-逻辑备份与恢复之gs_dump

文章目录 openGauss学习笔记-147 openGauss 数据库运维-备份与恢复-逻辑备份与恢复之gs_dump147.1 背景信息147.2 注意事项147.3 语法147.4 参数说明147.4.1 通用参数:147.4.2 转储参数:147.4.3 连接参数: 147.5 说明147.6 示例 openGauss学习…

HTTP、HTTPS、SSL协议以及报文讲解

目录 HTTP/HTTPS介绍 HTTP/HTTPS基本信息 HTTP请求与应答报文 HTTP请求报文 HTTP响应报文 SSL协议 SSL单向认证 SSL双向认证 HTTP连接建立与传输步骤 HTTP访问全过程相关报文(以访问www.download.cucdccom为例子) DNS报文解析 TCP三次握手连…

【Flink系列六】Flink里面的状态一致性

状态一致性 有状态的流处理,内部每个算子任务都可以有自己的状态,对于流处理器内部来说,所谓的状态一致性,其实就是我们所说的计算结果要保证准确。一条数据不应该丢失,也不应该重复计算。再遇到有故障时可以恢复状态…

RabbitMQ 常见面试题

目录 1.前置知识1.1.什么是 MQ?它有什么作用?1.2.什么是消费者生产者模型?1.3.AMQP 是什么? 2.RabbitMQ 入门2.1.什么是 RabbitMQ?有什么特点?2.2.RabbitMQ 的核心概念有哪些?2.2.1.生产者 (Pro…

css 元素前后添加图标(::before 和 ::after 的妙用)

<template><div class"container"><div class"label">猜你喜欢</div></div> </template><style lang"scss" scoped> .label {display: flex;&::before,&::after {content: "";widt…

LLM之RAG实战(二):使用LlamaIndex + Metaphor实现知识工作自动化

最先进的大型语言模型&#xff08;LLM&#xff09;&#xff0c;如ChatGPT、GPT-4、Claude 2&#xff0c;具有令人难以置信的推理能力&#xff0c;可以解锁各种用例——从洞察力提取到问答&#xff0c;再到通用工作流自动化。然而&#xff0c;他们检索上下文相关信息的能力有限。…

[论文阅读]BEVFusion

BEVFusion BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework BEVFusion&#xff1a;简单而强大的激光雷达相机融合框架 论文网址&#xff1a;BEVFusion 论文代码&#xff1a;BEVFusion 简读论文 论文背景&#xff1a;激光雷达和摄像头是自动驾驶系统中常用的两…

UE Http笔记

c参考链接 UE4 开发如何使用 Http 请求_wx61ae2f5191643的技术博客_51CTO博客 虚幻引擎:UEC如何对JSON文件进行读写?-CSDN博客 UE4 HTTP使用 官方免费插件 VaRest 在代码插件创建的VaRest - 虚幻引擎商城 UE5在蓝图中使用Varest插件Get&#xff0c;Post两种常见请求方式…

webpack学习-3.管理输出

webpack学习-3.管理输出 1.简单练手2.设置 HtmlWebpackPlugin3.清理 /dist 文件夹4.manifest5.总结 1.简单练手 官网的第一个预先准备&#xff0c;是多入口的。 const path require(path);module.exports {entry: {index: ./src/index.js,print: ./src/print.js,},output: …

axios调接口传参特殊字符丢失的问题(encodeURI 和 encodeURIComponent)

1、axios调接口特殊字符丢失的问题 项目开发过程中遇到一个接口传参&#xff0c;参数带特殊字符&#xff0c;axios调接口特殊字符丢失的问题 例如接口&#xff1a; get/user/detail/{name} name是个参数直接调接口的时候拼到接口上&#xff0c;get/user/detail/test123#$%&am…