软件测试复习02:静态测试

news/2024/11/7 8:43:20/

作者:非妃是公主
专栏:《软件测试》
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩
在这里插入图片描述

文章目录

  • 评审
    • 评审过程
    • 角色和职责
    • 评审类型
  • 静态分析
    • 控制流分析
    • 数据流分析
    • 编码标准一致性检查
      • 桌面检查
      • 代码走查
      • 代码审查
  • 课堂练习

评审

评审过程

  • 组建评审组
  • 评审组长负责主持和控制全部评审活动
  • 评审计划
  • 评审准备
  • 评审会
  • 提交评审报告
  • 建立评审过程
    在这里插入图片描述

角色和职责

  • 主审员:协调本次审查并主持讨论。
  • 责任人:负责被审查的产品。
  • 讲解员:在审查会上讲解被审查的产品。
  • 审查员:审查产品。
  • 记录员:记录在审查会议上讨论的问题。
  • 产品经理:责任人的管理者。

评审类型

  • 需求评审
  • 概要设计评审
  • 详细设计评审
  • 数据库设计评审
  • 测试评审

静态分析

控制流分析

对用结构化程序语言书写的程序,可以通过使用“控制流覆盖规则”从程序推导出其对应的控制流图:
在这里插入图片描述

数据流分析

  • 控制流测试是面向程序的结构,控制流图和测试覆盖准则一旦给定,即可产生测试用例。
  • 数据流测试是面向程序中的变量。
    在这里插入图片描述

编码标准一致性检查

  • 代码检查是静态测试的主要方法, 主要包括:
    • 桌面检查
    • 代码走查
    • 代码审查
    • 静态结构分析:流程图审查
  • 代码检查:主要检查代码和流图设计的一致性、代码结构的合理性、代码编写的标准性、可读性、代码的逻辑表达的正确性等方面。包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

桌面检查

  • 桌面检查是程序员对源程序代码进行分析、检验,并补充相关的文档,发现程序中的错误的过程。
  • 由于程序员熟悉自己的程序,可以由程序员自己检查,这样可以节省很多时间,但要注意避免自己的主观判断。

代码走查

  • 由程序员和测试员组成的审查小组,通过逻辑运行程序,发现问题。小组成员要提前阅读设计规格书、程序文本等相关文档,利用测试用例,使程序逻辑运行。
  • 可分为以下两个步骤:
    • 小组负责人把材料发给每个组员,然后由小组成员提出发现的问题。
    • 通过记录,小组成员对程序逻辑及功能提出自己的疑问,开会探讨发现的问题和解决方法。

代码审查

  • 由程序员和测试员组成的审查小组,通过阅读、讨论、分析技术对程序进行静态分析的过程。
  • 代码审查可分为以下两步:
    • 第一步:小组负责人把程序文本、规范、相关要求、流程图及设计说明书发给每个成员。
    • 第二步:每个成员依据所发材料作为审查依据,但是由程序员讲解程序的结构、逻辑和源程序。在此过程中,小组成员可以提出自己的疑问;程序员在讲解自己的程序时,也能发现自己原来没有注意到的问题。

课堂练习

在这里插入图片描述
答案:A
解析:桌面检查就是程序员整理自己的程序,以达到编码标准一致性。
2.
在这里插入图片描述
答案:C
解析:为了时间和效率,会上只进行问题提出,会下进行问题解决。
3.
在这里插入图片描述
正确答案:A
解析:
在这里插入图片描述


http://www.ppmy.cn/news/11506.html

相关文章

Redis(三)数据类型hash

一、简介1.Redis hash是一个键值对集合2.Redis hash 是一个string类型的filed 和 value 的映射表&#xff0c;hash特别适合用于存储对象。类似java里面的Map<String,Object>。二、常用命令hset <key> <field> <value> 给key集合中的<field>键赋…

【手写 Vue2.x 源码】第十八篇 - 根据 render 函数,生成 vnode

一&#xff0c;前言 上篇&#xff0c;介绍了render 函数的生成&#xff0c;主要涉及以下两点&#xff1a; 使用 with 对生成的 code 进行一次包装将包装后的完整 code 字符串&#xff0c;通过 new Function 输出为 render 函数 本篇&#xff0c;根据 render 函数&#xff0c…

Leetcode:98. 验证二叉搜索树(C++)

目录 问题描述&#xff1a; 实现代码与解析&#xff1a; 递归&#xff1a; 原理思路&#xff1a; 迭代&#xff08;中序&#xff09;&#xff1a; 思路原理&#xff1a; 问题描述&#xff1a; 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。…

Trime同文输入法JNI加载过程

Trime同文输入法JNI加载过程JNI初始化顺序第一步、加载librime_jni.so库第二步、自动注册机制第三步、正式加载librime_jni.so库插入一个话题、简化打印记录第四步、执行Rime.java中的init()方法LoadModules()LoadModule()rime_core_initialize()调用顺序Class不是class关键字&…

一网打尽链表的经典OJ题!链表必考笔试题第二弹

目录 0.前言 1.合并两个排序链表 1.1 实用小妙招 1.2代码书写 2.链表分割 3.链表的回文结构 4.相交链表 4.1 实用小妙招&#xff08;假定指针法&#xff09; 4.2代码书写 5. 复制带随机指针的链表 0.前言 本文代码及分析图片资源都以上传Gitee&#xff0c;可自取&a…

SpringBoot+Vue项目在线拍卖系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

整理了一周近万字讲解linux基础开发工具vim,gdb,gcc,yum等的使用

文章目录 前言一、yum的使用二、vim的使用三 . gcc/g的使用四 . gdb的使用总结前言 想用linux开发一些软件等必须要会的几种开发工具是必不可少的&#xff0c;在yum vim gcc gdb中指令繁杂的是vim和gdb这两个工具&#xff0c;至于yum和gcc的指令就比较简单了。 一、yum的使用…

System Description 步骤

纲要&#xff1a; 在有了Composition以后&#xff0c;下一步就是把它分配到ECU里面。 1. Create System Description Import DBC file, select ECUs and CAN Frames under the DBC. Then it will create "SystemDescription.arxml" file. [1] 2. Check the content…