深圳大学 软件测试作业 #2

news2024/10/9 18:20:03

声明:本人上课摆烂选手,稍微听了下,答案仅供参考。

————————

1. 考虑下面这个代码,并回答以下的问题。

(a) 请画出上面代码的控制流程图。(20分)

(b) 请画出上面代码的数据流程图。(10分)

(c) 找出每个变量的定义使用对。(10分)

(d) 根据全定义使用覆盖准则,为变量sq_dist_value找出所有覆盖路径。(10分)

GPT给出答案:

一、
(a)控制流程图
+---------------------+
| Initialize variables|
+---------------------+
          |
          v
+-------------------------+
| Loop i from 0 to n-1    |
+-------------------------+
          |
          v
+----------------------------------------+
| Compute sq_dist_value and dist_value   |
+----------------------------------------+
          |
          v
+----------------------+
| dist_value < bandwidth|
+----------------------+
         / \
       /     \
    Yes      No
     |        |
     v        v
+---------------------------+
| Select kernel type and    |
| update density_value      |
+---------------------------+
          |
          v
+------------------+
| Return density_value |
+------------------+

(b) 数据流程图
+--------+
| Input  |
| data   |
| n      |
| bandwidth|
| kernel_type|
+--------+
     |
     v
+----------------+
| Initialize     |
| variables      |
+----------------+
     |
     v
+--------------+
| For loop     |
| (i=0 to n-1) |
+--------------+
     |
     v
+--------------------+
| Compute            |
| sq_dist_value      |
| dist_value         |
+--------------------+
     |
     v
+---------------------+
| Check bandwidth     |
| and update          |
| density_value       |
+---------------------+
     |
     v
+--------+
| Output |
| density_value|
+--------+

(c)变量定义使用对

density_value

定义:double density_value = 0
使用:返回值return density_value; 以及在计算过程中 density_value += ...

sq_dist_value

定义:double sq_dist_value;
使用:sq_dist_value = ... 以及在各个核函数计算过程中

dist_value

定义:double dist_value;
使用:dist_value = Math.sqrt(sq_dist_value); 以及在三角形核函数和指数核函数计算中

temp_value

定义:double temp_value;
使用:temp_value = ... 以及在四次核函数计算中

(d) 全定义使用覆盖路径
变量 sq_dist_value 的定义使用覆盖路径:
1.定义:sq_dist_value = (data[i][0] - g[0]) * (data[i][0] - g[0]) + (data[i][1] - g[1]) * (data[i][1] - g[1])
2.使用:
dist_value = Math.sqrt(sq_dist_value)
density_value += ... (根据不同的 kernel_type,有不同的使用形式)

因此,sq_dist_value 的覆盖路径包括:
1.计算 sq_dist_value
2.使用 sq_dist_value 计算 dist_value
3.在每种 kernel_type 的条件下使用 sq_dist_value 更新 density_value

2. 考虑以下的逻辑谓词,判断a、b和c那个是主子句,并给出解释。

(a) p1 = ~a ∧ ~b ∧ c (10分)

(b) p2 = b ∧ (a ^ c) ∧ (a ↔ c) (10分) (备注:在这个问题中,没有解释的答案是 0 分。) 

二、

主子句定义:

  1. 写出逻辑谓词真值表:(1为true,即T;0为false即F)

框柱部分,a和b取值不变,改变c的取值,逻辑谓词随之改变。并且c为真时逻辑谓词为真,c为假时逻辑谓词为假(c决定了逻辑谓词取值),所以c是主子句。

不存在其他主子句。

(2)双条件(↔)运算符:a ↔c 表示 a 和 c必须同时为真或同时为假。

这是个合取范式,需要同时为真,逻辑谓词才会为真。可是第二项a,c异或需要ac相异才能为真,而第三项却要求ac相同。所以整个式子永远为假。所以不存在主子句能决定逻辑谓词取值。

3. 给定了逻辑谓词p = ((a ^ c) ∨ b) ^ d及其主子句a,给出:

(a) 广义有效子句覆盖的测试需求。(10分)

(b) 限制性有效子句覆盖的测试需求。(10分) (

c) 相关性有效子句覆盖的测试需求。 (10分) (备注:在这个问题中,没有步骤(如:没有列出条件和条件对)的答案是0分。)

三:

  1. 广义有效子句覆盖,只需要先找出主子句,然后根据逻辑谓词不同来任意组合即可:

(5 , 13)和(8 , 16)中a是有效字句。

所以广义有效子句覆盖的测试需求为:

(5,13),(5,16),(8,13),(8,16)

(b)其实上面中(5 , 13)和(8 , 16)就是限制性有效子句覆盖的测试需求。

限制性有效子句覆盖的定义:

(c)相关性有效子句覆盖定义:

根据定义,接着寻找符合的测试需求对。

除了上面的(5,13),(5,16),(8,13),(8,16)

还有(6,14),(7,15),这两项再任意组合:

(6,14),(6,15),(6,15),(7,15)

所以相关性有效子句覆盖的测试需求为:(5,13),(5,16),(8,13),(8,16),

(6,14),(6,15),(6,15),(7,15)

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

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

相关文章

SpringBoot整合Mybatis并实现数据库增删改查

写在前面 Mybatis一个基于Java的持久层框架&#xff0c;它通过XML或注解的方式&#xff0c;将SQL语句和Java方法进行映射&#xff0c;使得开发者可以轻松地进行数据库操作。下面我会演示mybatis的配置与使用并实现数据库的增删改查。 1.准备测试数据 使用mybatis实现对数据库…

Java银系统/超市收银系统/智慧新零售/ERP进销存管理/线上商城/h5/小程序

>>>系统简述&#xff1a; 神点收银系统支持B2B2C多商户模式&#xff0c;系统基于前后端分离的架构&#xff0c;后端采用Java SpringBoot Mysql Mybatis Plus&#xff0c;前端基于当前流行的Uniapp、Element UI&#xff0c;支持小程序、h5。架构包含&#xff1a;会员端…

AI智能写作工具,AI写作助手大全

随着人工智能技术的快速发展&#xff0c;AI智能写作工具助手已成为学术研究、内容创作和商业文案等领域的重要辅助工具。它们不仅能够提高写作效率&#xff0c;还能激发创意灵感&#xff0c;为各行各业的专业人士提供了强大的支持。下面小编将为大家全面介绍目前市场上备受瞩目…

Mac(M1芯片)安装多个jdk,Mac卸载jdk

1.jdk下载 oracle官方链接&#xff1a;oracle官方下载链接 2.安装 直接下一步&#xff0c;下一步就行 3.查看是否安装成功 出现下图内容表示安装成功。 4.配置环境变量 open -e .bash_profile 路径建议复制过去 #刷新环境变量 source ~/.bash_profile 5.切换方法 6.jdk…

HTML+CSS 彩色浮雕按钮

效果演示 实现了一个彩色按钮特效&#xff0c;包括一个按钮&#xff08;button&#xff09;和一个前景色&#xff08;::before&#xff09;。按钮具有四种不同的颜色&#xff0c;当鼠标悬停在按钮上时&#xff0c;前景色会出现渐变效果&#xff0c;并且按钮的颜色、文本阴影和边…

【研究】AI大模型需要什么样的硬件?

关注AI大模型 x 硬件的两条思路 从22年11月OpenAI推出ChatGPT至今&#xff0c;我们看到Chatbot应用的能力不断增强&#xff0c;从最初的文字问答&#xff0c;迅速向具有自主记忆、推理、规划和执行的全自动能力的AI Agent发展。我们认为端侧智能是大模型发展的重要分支。建议投…

昇思25天学习打卡营第二天|张量

张量 Tensor 张量&#xff08;Tensor&#xff09;是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数&#xff0c;这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 &#x1d45b;&#x1d45b; 维空间内&#xff0c;有  &#x1…

北尔Beijer软件iXDeveloper2触摸屏和使用说明手侧

北尔Beijer软件iXDeveloper2触摸屏和使用说明手侧

Python笔记 文件的写,追加,备份操作

一、文件的写操作 案例演示&#xff1a; # 1.打开文件 f open(python.txt,w)# 2.文件写入 f.write(hello world)# 3.内容刷新 f.flush() 注意&#xff1a; 直接调用write&#xff0c;内容并为真正的写入文件&#xff0c;二十会积攒在程序的内存中&#xff0c;称之为缓冲区…

SpringBoot控制反转和依赖注入

目录 一、内聚和耦合 二、分层解耦 三、具体实现 四、bean的组件扫描 五、bean注入 一、内聚和耦合 在了解分层解耦的概念之前我们我们要去先了解一下内聚和耦合。内聚&#xff1a;通常将的是软件中各个模块之间的功能联系。耦合衡量软件各个模块之间的依赖、关联的程度。一…

Lua网站开发之文件表单上传

这个代码示例演示如何上传文件或图片&#xff0c;获取上传信息及保存文件到本地。 local fw require("fastweb") local request require("fastweb.request") local response require("fastweb.response") local cjson require("cjson&q…

30-33、SpringBoot项目部署\属性配置方式\多环境开发(一个文件)\多环境分组(多个文件)

1、打包插件:和springboot的版本保持一致 根pom <build><plugins><!--打包插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>3.1.3</versi…

期末复习题中的问题

一、编程中&#xff08;包括函数&#xff09;的问题 1. malloc 头文件是stdlib.h 二、第二次写复习题的不会的 三、程序填空 总结&#xff1a; 删除节点m >>>>要有一个指针来遍历找到这个m >>>> 用另一个指针指向这个指针的下一 个 >>&…

【机器参数】安装适合的nvidia驱动

背景&#xff1a;我现在nvidia-smi没有显示&#xff0c;我的目标是让nvidia-smi正常显示 参考&#xff1a; nchttps://www.cnblogs.com/carle-09/p/11504544.html 可能是驱动版本不对&#xff0c;所以我重新去nvidia官网下载了驱动。 Official Drivers | NVIDIA 得到了NVID…

线性代数、矩阵计算

一、线性代数 1、对于向量&#xff0c;若a是标量&#xff0c;为a的绝对值乘以b的向量长度。 2、点乘 3、范数&#xff1a;向量或者矩阵的长度 L1范数&#xff1a;&#xff08;对向量&#xff09;每个元素的绝对值求和 L2范数&#xff1a;&#xff08;对向量&#xff09;torch.…

Cortex-M Fault

Cortex-M CPU 会在系统发生故障时引发异常。非法内存写入和读取、访问未通电的外设、执行无效指令、除以零以及其他问题都可能导致此类异常。通常在所有情况下都会引发 HardFault 异常。对于某些故障&#xff0c;可以启用不同的异常来专门处理这些情况。 Cortex-M 故障异常 …

Unity数据持久化3——Json

概述 基础知识 Json文件格式 Json基本语法 练习 可以搜索&#xff1a;Json在线&#xff0c;复制代码进去解析是否写错了。 Excel转Json C#读取存储Json文件 JsonUtility using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine;[Sy…

PCM、WAV,立体声,单声道,正弦波等音频素材

1&#xff09;PCM、WAV音频素材&#xff0c;分享给将要学习或者正在学习audio开发的同学。 2&#xff09;内容属于原创&#xff0c;若转载&#xff0c;请说明出处。 3&#xff09;提供相关问题有偿答疑和支持。 常用的Audio PCM WAV不同采样率&#xff0c;不同采样深度&#…

Mac安装多版本node

Mac下使用n模块去安装多个指定版本的Node.js&#xff0c;并使用命令随时切换。 node中的n模块是&#xff0c;node专门用来管理node版本的模块&#xff0c;可以进行node版本的切换&#xff0c;下载&#xff0c;安装。 1.安装n npm install -g n 2.查看版本 n --version 3.展…

sql:between and日期毫秒精度过多导致的查询bug

复现 一般情况下&#xff0c;前端传的日期值大多都是yyyy-MM-dd HH:mm:ss(标准格式)&#xff0c;比如2024-06-25 10:49:50&#xff0c;但是在测试环境&#xff0c;测试人员测出了一个带毫秒的日期&#xff1a;比如2024-06-25 10:49:50.9999999 这种情况下会出现查询bug SELEC…