2022 软件测试大题【太原理工大学】

news2024/11/24 12:34:33

大题应该是有两道,每道10分,具体是不是我也不知道,老师也不确定。① 白盒测试 —— 控制流图,给出一段代码,画出控制流图,根据公式求程序段的环形复杂度,求程序基本路径集合中的独立路径;② 根据已知条件划分等价类;③ 给出某趋势图分析数据变化情况;④ 用等价类、用决策表、因果图、判定表等各种方法设计测试用例。(设计测试用例三颗星++) 

五、设计题

1. 使用基本路径测试方法测试以下程序段。

Int IsLeap(int year)

{

    if(year % 4 == 0)                         ①

    {

       if(year % 100 == 0)                  ②

        {

           if(year % 400 == 0)              ③

                leap = 1;                          ④

            else 

                leap = 0;                          ⑤

        }

        else

            leap = 1;                              ④

    }

    else

        leap = 0;                                  ⑤

    return leap;                                  ⑥

}


(1)画出程序的控制流图(用题中给出的语句编号表示)。

(2)计算上述程序段的环形复杂度。

(3)导出基本路径集,列出程序的独立路径。

(1)

如何画控制流图?

① 确定流程,拆分复合条件;

② 将条件标注在线上,操作标记在圈上。

第一步,先整体浏览一下程序结构,画出程序流程图。(草稿上画)

第二步,根据程序流程图就可以画出控制流图了。 

(2)

环路复杂度如何计算?

① 方法一,通过观察,流图中的区域数等于环形复杂度 4;

② 方法二,环形复杂度等于 E - N + 2,其中E是流图中边的条数 8,N是节点数 6;

③ 方法三,环形复杂度等于 P + 1,P是流图中判定节点的数目 3,判定节点由流程图看出。

程序段的环形复杂度为 V(G) = 8条边 - 6个节点 + 2 = 4 

最好使用第二种方法进行计算。

(3)

路径1:1 → 5 → 6

路径2:1 → 2 → 4 → 6

路径3:1 → 2 → 3 → 5 → 6

路径4:1 → 2 → 3 → 4 → 6

这个就根据程序流图去写,从上到下,从左到右,不要丢掉哦。

2. 某单位财务管理系统中计算出差补助的方法是,当员工办理长期出差时,不论是否出差,出差到哪里,每月固定补助 1000元,当员工未办理长期出差差时,如果出差省会城市,则每月补助 1500
元,否则补助 800 元。试用判定表法设计测试用例, 测试系统的出差补助计算功能。

由题意可得判定表:

测试用例如下:

基于判定表的方式设计测试用例的步骤:

第一步:首先确定条件桩

第二步:确定动作桩

第三步:确定条件组合的结果

第四步:根据结果写测试用例

3. 某城市电话号码由三部分组成。他们的名称和内容分别是:
地区码:空白或三位数字;前缀:除“0”和“1”以外的任意三位数字;
后缀:任意4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。试根据该程序的规格说明,划分其等价类,并用表格形式表示出来。

 避免漏写或冗余。

4. 根据输入3条边(a、b、c)边长的值来判断是否构成一个三角形。如果是三角形,继续判断是等腰三角形还是等边三角形等。为简化问题,a、b、c 只能输入大于零的数,不需要考虑 a、b、c 取零或负数的情况。请使用决策表的方法制定决策表并设计测试用例。
提示,根据三角形边的情况分析规则:
如果不能构成三角形,则不需要判断后3个条件;
如果构成三角形,即 a+b>c、a+c>b 和 b+c>a 都必须成立,没有例外;
如果a=b且a=c,则 b=c 肯定成立;
如果a=b,而 a=c 不成立,就不需要判断 b=c,实际上 b=c 也肯定不能成立,只能为等腰三角形。

 

5. 在各种输入条件下,测试程序的登录对话框功能。

 Agent Name 的规则如下:

Agent Name长度为6至10位(含6位和10位)

Agent Name 由字符(a-z、A-Z)和数字(0-9)组成

Agent Name 不能为空、空格和特殊字符

Password 的规则同 Agent Name的规则,试写出相应的测试用例。

 

 

6. 下图是累积缺陷数的理想趋势图,请根据此图回答以下2个问题。

(1)请详细描述理想状态缺陷数据变化情况。

① 产品开发质量情况取决于累积打开/关闭曲线的趋势;

② 项目进度取决于累积关闭/打开曲线起点的时间差;

③ 开发人员、测试人员的工作进度、效率也能得到反映。

(2)如果实际累积曲线与理想曲线差别显著,详细说明软件开发过程可能存在哪些问题。

① 产品的质量是否达到预定的标准;

② 缺陷修正的速度是否滞后;

③ 测试人员验证缺陷是否及时;

④ 缺陷遗漏程度;

⑤ 回归缺陷数量;

⑥ 流程。

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

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

相关文章

永磁同步电机(PMSM)磁场定向控制(FOC)电流环PI调节器参数整定

文章目录前言一、调节器的工程设计方法二、电流环PI调节器的参数整定2.1.电流环的结构框图2.2.典型I型系统2.3.电流环PI参数整定计算公式三、电流环PI调节器设计实例3.1.永磁同步电机磁场定向的电流闭环控制3.2.电流环PI参数计算3.3.仿真分析总结前言 本章节采用工程设计的方法…

CommaFeed:仿Google Readerd的RSS阅读器

最近老苏身边中招的人也开始多起来了,大家要保重~ 本文开始于 9 月下旬,完成于 10 月下旬,目前正式版本还是老苏打包时用的 2.6.0,不过现在已经有了 3.0.0 RC1 什么是 CommaFeed ? CommaFeed 是受 Google Reader 启发而…

CS144-Lab0解析

讲在开头 cs144建议我们使用Modern C来完成所有的lab,关于modern c的全面的用法可以在(http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines)获取。 以下是一些代码规范: 不要使用malloc()和free()不要使用new和delete在不得不使用指针时应…

如何自动估算项目开发成本及报价,提高估算效率?

项目估算需要有科学专业的估算方法,需要有明确的量化指标,那么如何自动估算项目开发成本及报价? 第一步:功能点复杂程度的估算 CoCode需求分析工具,根据用户需求,使用COSMIC和IFPUG项目规模估算法&#xff…

数据结构C语言版 —— 队列+循环队列实现

文章目录队列1.概念2. 生活中队列应用3. 队列的实现初始化队列入队列出队列获取队头元素获取队尾元素获取队列中元素个数判断队列是否为空销毁队列2. 循环队列队列 1.概念 和栈相反,队列(queue)是一种先进先出的线性表,它只允许在一端进行插入&#xf…

C#-winform调用COM组件(COM组件由Qt开发)

一、场景介绍 在项目开发中,需要Qt与C#进行混合编程,完成项目开发。C#这边作为主框架,Qt负责编写插件,将功能模块通过COM组件的形式封装注册,再由C#调用、交互完成最终的项目。 程序开发环境: win10 64位 编译器: VS2017 Qt版本: Qt5.12.6 二、Qt封装COM组件 2.1 环境…

android flutter 安装

下载 flutter官网下载安装:https://flutter.dev/docs/development/tools/sdk/releases 将下载下来的zip安装包解压到想安装Flutter SDK的路径。注意,不要将flutter安装到需要一些高权限的路径,比如C:\Program Files\ 配置环境变量 添加fl…

案例教学 | 如何确定ADAMS简化模型的准确性,以及简化模型精度不够怎么办?

仿真建模过程中不可避免地对各种复杂元素进行简化处理。这种建模思路的终极目标是不牺牲仿真精度、还提升仿真效率。在Adams仿真建模过程中也有一些常见的简化方式,如非线性元素按线性建模、不考虑摩擦力、通过耦合约束等效传动关系等等。应用简化建模之前&#xff…

蓝桥杯有必要参赛吗?

昨天和群里的小伙伴在群里聊,有的小伙伴竟然说蓝桥杯一等奖没有含量,我也是醉了! 就像去年看了一个号主写的:研究生遍地都是! 放眼全国14亿人口,别说研究生了,本科生占比有多少? “蓝桥杯是我人生中得到…

多态性:中的向下转型,instanceof 操作符的使用

多态性:中的向下转型,instanceof 操作符的使用 每博一文案 都说树叶不是一天变黄的,人心也不是一天变凉的,每一个现在的自己,其实都是过去的自己拼凑的。 如今我们的气质里都藏着过去走过的路,看过的书和爱…

混合模式和预乘原理的理解

首先说到混合模式,简单理解,混合模式就是同一像素上有两个颜色需要混合成一个使用的模式。 这里的两个像素点,我们把原先已经存在的,也就是下面的像素点颜色定义为目标颜色。把新加上来的,也就是上面的像素点颜色定义为…

【Selenium IDE录制脚本】三分钟教会你安装Selenium IDE的安装及使用

目录 1、安装Selenium IDE 1.1、安装Firefox浏览器 1.2、安装selenium IDE 2、selenium的脚本录制 1、安装Selenium IDE 1.1、安装Firefox浏览器 因为selenium的不同版本对Firefox的支持不同,所以我们安装了Firefox之后,需要关闭他的自动更新 搜索&…

Python-Tinydb数据库详解

目录 数据库 Tinydb Tinydb 使用 安装 导入 创建数据库 创建 table 增 删 查 改 其他函数 示例 最后 数据库 数据库就是存储数据的的地方,现在我们生活中几乎每时每刻做的事可能都有它的作用。今天来介绍 Tinydb 数据库,它适合初学者&am…

设计模式概述之建造者模式(五)

常说的设计模式是23种设计模式,分为3大类: 创建型模式5种:工厂方法、抽象工厂、单例、建造者、原型 结构型模式7种:适配器、代理、桥接、装饰者、外观、享元、组合 行为型模式11种:模板方法、解释器、策略、观察者、…

【如意如意顺遂我意快快显灵】

文章目录 ● 【猿如意安装】 (基于Windows环境安装) ● 【猿如意首页】 ● 【猿如意效率工具】 ● 【猿如意开发工具】 ● 【猿如意教程文档】 ● 【猿如意一行代码】 ● 【猿如意ChatGPT】 ● 【Markdown笔记】 猿如意官网:猿…

【码极客精讲】二叉树

二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点…

Linux yum 命令

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖…

Go 微服务开发框架 DMicro 的设计思路

Go 微服务开发框架 DMicro 的设计思路 DMicro 源码地址: Gitee:dmicro: dmicro是一个高效、可扩展且简单易用的微服务框架。包含drpc,dserver等 背景 DMicro 诞生的背景,是因为我写了 10 来年的 PHP,想在公司内部推广 Go, 公司内部的组件及 rpc 协议都…

Python:whl文件简介及实践

文章目录简介一、安装过程二、whl源地址推荐小结简介 WHL文件是以Wheel格式保存的Python安装包,Wheel是Python发行版的标准内置包格式。在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件,…

【视觉高级篇】27 # 如何实现简单的3D可视化图表:GitHub贡献图表的3D可视化?

说明 【跟月影学可视化】学习笔记。 第一步:准备要展现的数据 可以使用这个生成数据:https://github.com/sallar/github-contributions-api 这里直接使用月影大佬的github提交数据的数据即可 结构大致如下: 第二步:用 SpriteJS…