24成都信息工程大学809软件工程考研
1.渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式?
非渐增式是将所有的模块一次连接起来,简单、易行、节省机时,但测试过程难于排错,发现错误也很难定位,测试效率低;渐增式是将模块一个一个的连入系统,每连入一个模块,都要对新系统进行测试。这种组装测试相比于非渐增式容易查出错误,并及时定位,有利于查出模块接口部分的错误,因此测试效率高。故通常采用渐增式测试方法。
2.什么是动态测试?为何静态测试方法往往比动态测试方法效率高?
动态测试是通过运行软件来检验其动态行为和运行结果的正确性。
动态测试是实际运行被测程序,输入相应的测试用例,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性。
静态测试是对被测程序进行特性分析的一些方法的总称,这种方法的主要特性是不利用计算机运行被测试的程序,而是采用其他手段达到检测的目的。因而在代码产生之前便可对各种文档进行测
3.单元测试与集成测试相关概念。
(1)请简述单元测试的主要内容?
模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
(2)在单元测试中,所谓单元是如何划分的?
单元测试的对象通常是软件设计的最小逻辑单元,单元的划分在面向过程的结构化程序中一般是函数或子过程,在面向对象的程序中可以是类或类的成员函数。
(3)如果开发时间紧迫,是否可以跳过单元测试而直接进行集成测试?
不可以。因为没有经过单元测试的模块会遗留大量的缺陷到集成测试阶段,而在集成测试阶段对这些缺陷定位困难,导致后续工作展开困难,修复缺陷成本成指数级增长。
(4)集成测试也叫组装测试又叫联合测试,为何要进行集成测试?
在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现
试,其效率当然高于动态测试。
4.软件维护的概念、目的、维护类型。
软件维护衍生的一些相关技术。
为什么要进行软件维护?
软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。一个中等规模的软件,如果其开发过程需要一年时间,则它投入使用后,其运行的时间可能持续五到十年。在这个维护阶段,人们不仅需要着手解决开发阶段尚未解决的问题,同时,还需解决维护过程本身产生的问题。维护阶段的的时间大约占整个软件生命周期的67%。因此,我们应充分认识到软件维护的重要性。
5.提高软件可维护性的方法有哪些?
(1)建立明确的软件质量目标与优先级。
(2)使用提高软件质量的技术与工具(如模块化)
(3)进行明确的质量保证审查
(4)选择可维护性好的程序设计语言
(5)改进程序文档
(6)开发时考虑到维护
6.单元测试中采用什么方法?成信软工交流扣,扣:二壹叭漆二肆久叭久
测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输
7.简述结构化程序设计方法的基本特点。
1)是尽可能少用goto语句的程序设计方法;
2)每个代码块都单入单出;
3)使用控制结构:顺序、选择和循环+Do_UNTIL和Do_CASE;
4)自顶向下逐步求精
出。桩模块则用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息
8.面向对象方法学包含哪些核心概念?
(1) 对象:对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。
(2) 类:类表示某些对象在属性和操作方面的共同特征。
(3) 继承:类之间的继承关系是现实世界中遗传关系的模拟,它表示类之间的内在联系 以及对属性和操作的共享。
(4) 聚集:现实世界普遍存在部分—整体关系。
(5) 消息:消息传递是对象与其外部世界相互关联的唯一途径
9.面向对象方法和结构化方法有何区别和联系?
答:区别:结构化方法是一种传统的开发方法,总的指导细想是自顶向下、逐步求精、单入口、单出口,基本原则是抽象和功能分解。从方法论上来看,结构化方法认为系统是由一些功能的相互联系、相互作用而形成的。
面向对象方法的出发点和基本原则是尽可能模拟人类习惯的思维方式,是开发软件的方法与过程尽可能接近人类认识世界的方法和过程。从方法论上来看,面向对象方法认为系统是由一些对象的相互联系、相互作用而形成的。
联系: 面向对象开发是基于结构化开发的,还保留着结构化开发中的“函数”、“结构体”等元素。
10.什么是用例图?用例图有什么作用?
定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的图成为用例图。
作用:用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。用例图可视化的表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足。用例方法是完全从外部来定义系统的,它把需求和设计完全分离开来,使用户不用关心系统内部是如何完成各种功能的.
相关文章:
24成都信息工程大学809软件工程考研
1.渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式? 非渐增式是将所有的模块一次连接起来,简单、易行、节省机时,但测试过程难于排错,发现错误也很难定位,测试效率低;渐增式是将模块一个…...
Filament for Android 编译搭建(基于Ubuntu20.04系统)
一、Filament 源代码下载 github下载地址: 2、安装clang 我是直接安装clang-10 Ubuntu 20.04 ,sudo apt install clang 命令默认就是clang-10 $sudo apt-get install clang-10 # 安装 AST.h 等头文件 $sudo apt-get install libclang-10-dev $sudo …...
【MySQL--->数据库操作】
文章目录 [TOC](文章目录) 一、操作语句1.增2.删3.改4.查5.备份 二、字符集与校验规则 一、操作语句 1.增 语句格式:create database [if no exists]数据库名[create_specification [,create_specification] …]; 中括号内是可选项,if no exists是指如果数据库不存在就创建,存…...
PhotoShop2023 Beta AI版安装教程
从 Photoshop 开始,惊艳随之而来 从社交媒体贴子到修饰相片,设计横幅到精美网站,日常影像编辑到重新创造 – 无论什么创作,Photoshop 都可以让它变得更好。 Photoshop2023 Beta版本安装教程和软件下载 地址:点击…...
并发冲突导致流量放大的线上问题解决
事故现象 生产环境,转账相关请求失败量暴增。 直接原因 现网多个重试请求同时到达 svr,导致内存数据库大量返回时间戳冲突。业务方收到时间戳冲突,自动进行业务重试,服务内部也存在重试,导致流量放大。 转账 首先…...
Spring Cloud Gateway过滤器GlobalFilter详解
一、过滤器的场景 在springCloud架构中,网关是必不可少的组件,它用于服务路由的转发。对客户端进行屏蔽微服务的具体细节,客户端只需要和网关进行交互。所以网关顾名思义,就是网络的一个关卡。它就是一座城的城门守卫。所以这个守…...
【LeetCode】1281.整数的各位积和之差
题目 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例 1: 输入:n 234 输出:15 解释: 各位数之积 2 * 3 * 4 24 各位数之和 2 3 4 9 结果 24 - 9 15示例 2&…...
22、springboot的Profile(通过yml配置文件配置 profile,快速切换项目的开发环境)
springboot的Profile ★ 何谓Profile 应用所在的运行环境发生切换时,配置文件常常就需要随之修改。Profile:——就是一组配置文件及组件的集合。可以整个应用在不同的profile之间切换(设置活动profile),整个应用都将使…...
2023-08-12力扣每日一题-暴力hard
链接: 23. 合并 K 个升序链表 题意: 如题 解: 时间668ms击败 5.00%使用 C 的用户/内存12.37mb击败 87.96%使用 C 的用户 循环选择插入新链表的节点,纯正的暴力,不过空间用得少 最坏应该是1E4*1E4,没…...
Mac安装nvm教程及使用
nvm 是 node 版本管理器,也就是说一个 nvm 可以管理多个 node 版本(包含 npm 与 npx),可以方便快捷的安装、切换 不同版本的 node。 1、直接通过brew安装 执行命令:brew install nvm PS: 如果没有安装br…...
左值引用和右值引用
目录 辨析引用和指针 代码段 定义引用变量的技巧 同一内存 指针和引用的简单运用 辨析两类指针 数组、指针、引用 辨析左值引用和右值引用 代码段 左值引用和右值引用 辨析引用和指针 1、引用是一种更安全的指针 说明:引用必须初始化,而指针可…...
JavaWeb 中对 HTTP 协议的学习
HTTP1 Web概述1.1 Web和JavaWeb的概念1.2 JavaWeb技术栈1.2.1 B/S架构1.2.2 静态资源1.2.3 动态资源1.2.4 数据库1.2.5 HTTP协议1.2.6 Web服务器 1.3 Web核心 2 HTTP2.1 简介2.2 请求数据格式2.2.1 格式介绍2.2.2 实例演示 2.3 响应数据格式2.3.1 格式介绍2.3.2 响应状态码2.3.…...
06-hadoop集群搭建(root用户)
搭建Hadoop集群流程 环境准备 1、基础环境的搭建(内网封火墙关闭、主机名、规划好静态ip、hosts映射、时间同步ntp、jdk、ssh免密等) 2、Hadoop源码编译(为了适应不同操作系统间适配本地库、本地环境等) 3、Hadoop配置文件的修…...
MySQL 窗口函数是什么,有这么好用
先看这段像天书一样的 SQL ,看着就头疼。 SELECTs1.name,s1.subject,s1.score,sub.avg_score AS average_score_per_subject,(SELECT COUNT(DISTINCT s2.score) 1 FROM scores s2 WHERE s2.score > s1.score) AS score_rank FROM scores s1 JOIN (SELECT subject, AVG(sco…...
用户数据报协议UDP
UDP的格式 载荷存放的是:应用层完整的UDP数据报 报头结构: 源端口号:发出的信息的来源端口目的端口号:信息要到达的目的端口UDP长度:2个字节(16位),即UDP总长度为:2^16bit 2^10bit * 2^6bit 1KB * 64 64KB.所以一个UDP的最大长度为64KBUDP校验和:网络的传输并非稳定传输,…...
STM32F429IGT6使用CubeMX配置外部中断按键
1、硬件电路 2、设置RCC,选择高速外部时钟HSE,时钟设置为180MHz 3、配置GPIO引脚 4、NVIC配置 PC13相同 5、生成工程配置 6、部分代码 中断回调函数 /* USER CODE BEGIN 0 */void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {if(GPIO_Pin GPIO_PIN_0){HAL_GPIO…...
时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测)
时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测) 目录 时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测)效果一览基本描述模型结构程序设计参考资料效果一览...
[开发|前端] 路由守卫笔记
描述 vue-router提供的导航跳转或取消的api。 router.beforeEach 切换路由前调用 router.beforeResolve 组件内路由守卫解析之后调用,和beforeEach用法类似 router.afterEach 切换后调用 全局路由守卫有上面3个,调用时机不同 路由守卫都有3个参数 …...
网络基础——网络的由来与发展史
作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、网络的由来 二、计算机网络的发展史 1、第一阶段 2、第二阶段 3、第三阶段 前言 每天都是使用网络,那么你知道网络…...
八数码(bfs)
思路: (1)用string来存储状态,用d<string,int>来记录状态变换次数; (2)在bfs过程中,先初始化(q,d);每次拿出队头状态,得到x的相对位置&am…...
终极指南:如何用RL4CO快速解决复杂组合优化问题
终极指南:如何用RL4CO快速解决复杂组合优化问题 【免费下载链接】rl4co A PyTorch library for all things Reinforcement Learning (RL) for Combinatorial Optimization (CO) 项目地址: https://gitcode.com/gh_mirrors/rl/rl4co 你是否曾为物流配送路线规…...
把 MQTT 带进 ABAP 栈之后,ABAP Platform 1809 的事件驱动能力终于有了真正的外向接口
很多人在第一次看到 MQTT client in ABAP Platform 1809 这个主题时,会下意识把它理解成,ABAP 又多了一种能发消息的协议而已。真把官方资料和示例代码一路看完,感受会完全不一样。这里新增的并不只是一个 publish 动作,而是 ABAP 终于可以用比较自然的方式,直接接到外部消…...
5步掌握GHelper:彻底解决华硕笔记本臃肿问题的终极方案
5步掌握GHelper:彻底解决华硕笔记本臃肿问题的终极方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, S…...
3大核心功能完全掌握:electerm跨平台远程管理终极指南
3大核心功能完全掌握:electerm跨平台远程管理终极指南 【免费下载链接】electerm 📻Terminal/ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice client(linux, mac, win) 项目地址: https://gitcode.com/gh_mirrors/el/electerm 你是否厌倦了在不同…...
PVE里Windows Server卡成PPT?别急着换硬件,先检查这两个虚拟设备
PVE环境下Windows Server性能优化实战:从卡顿到流畅的关键策略 如果你在PVE虚拟化平台上运行Windows Server时遭遇了令人抓狂的卡顿——远程桌面像翻PPT一样迟缓,系统响应慢得让人怀疑人生,甚至怀疑是不是该升级硬件了。别急着下单买新设备&…...
Python 协程任务分发架构设计
Python协程任务分发架构设计:高并发处理的优雅之道 在当今高并发的互联网场景下,如何高效处理海量异步任务成为开发者关注的焦点。Python的协程机制,凭借轻量级线程和事件循环的特性,为任务分发提供了全新思路。通过协程架构设计…...
Cursor Pro永久免费:3步破解试用限制的终极技术指南
Cursor Pro永久免费:3步破解试用限制的终极技术指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial…...
保姆级教程:用Python和DJI Tello SDK 2.0实现你的第一个无人机编队飞行(附完整代码)
Python与DJI Tello无人机编队飞行实战指南 从单机到多机:无人机编队飞行的技术跃迁 去年夏天,我在一个科技展会上第一次看到12台Tello无人机同步完成空中灯光秀,那种精确到厘米级的协同控制让我彻底着迷。回家后立刻下单了三台Tello EDU&am…...
用手机学Java编程?AIDE保姆级入门指南,从零到第一个小游戏
用手机学Java编程?AIDE保姆级入门指南,从零到第一个小游戏 地铁上掏出手机刷短视频?不如试试用碎片时间写代码。AIDE这款Android平台的集成开发环境,让Java学习摆脱了电脑束缚——你完全可以在通勤路上完成从"Hello World&qu…...
别再只懂管道和消息队列了!用C++在Linux上玩转共享内存(shmget/shmdt/shmctl实战)
现代C实战:用RAII封装Linux共享内存的高阶玩法 在Linux系统编程领域,共享内存(Shared Memory)作为最高效的进程间通信(IPC)机制之一,一直被广泛应用于高性能计算、实时数据处理等场景。但传统的…...
