当前位置: 首页 > news >正文

软考系统架构设计师之软件测试篇

一、软件测试

多种分类方式:
【以测试过程中程序执行状态为依据可分类】
动态测试【计算机运行程序】
静态测试【人工监测和计算机辅助分析】分为3个步骤:构造测试实例、执行程序以及分析结果。桌前检查、代码审查、代码走查 都是做的【静态分析】

1、控制流分析:是否存在没有使用的语句/无法达到的语句/调用并不存在的子程序。
2、数据流分析:引用未定义的变量、对以前未使用的变量再次赋值。
3、接口分析:模块之间接口的一致性、子程序和函数之间的接口一致性、函数形参与实参的数量、顺序、类型的一致性。
4、表达式分析:括号不配对、数组引用越界、除数为零。

二、白盒测试与黑盒测试

1、以内部结构是否可见分类
a)白盒测试【结构测试】:关注内部结构与逻辑。
控制流分析、数据流分析、路径分析、程序变异【错误驱动试】
【路径数盖】(最强)
【逻辑覆盖】(由强到弱排列)
修正条件/判定 条件组合 条件/判定覆盖 条件覆盖 判定覆盖 语句覆盖

b)黑盒测试【功能测试】:关注输入输出及功能
等价类则分: 不同等价类,揭示不同问题;有效等价类/无效等价类。
边界值分析: 1<=x<=10,可职x的值为0、1、10和11作为测试数据
错误推测 :依靠测试人员的经验和直觉。发现问题再解决问题。
判定表: 最适合描述有多个还条件取值的组合所构成的复杂情况下分别要执行哪些不同的动作。
因果图: 根据输入条件与输出结果之间的因果关系来设计测试用例。

c)灰盒测试法:既要关注逻辑又要关注功能。 类似中庸之道

2、从程序执行的方式分类
a)、【人工测试】
b)、【自动化测试】先写脚本 ->自动化执行
不适合场景:项目周期短,需求变动频繁
常见自动化测试:单元自动化测试、接口自动化测试、UI自动化测试

例子:
软件测试一般分为两个大类:动态测试和静态测试。前者通过运行程序发现错误,包括()等方法;后者采用人工和计算机辅助静态分析的手段对程序进行检测,包括()等方法。
A 边界值分析、逻辑覆盖、基本路径
B 桌面检查、逻辑覆盖、错误推测
C 桌面检查、代码审查、代码走查
D 错误推测、代码审查、基本路径

A 边界值分析、逻辑覆盖、基本路径
B 桌面检查、逻辑覆盖、错误推测
C 桌面检查、代码审查、代码走查
D 错误推测、代码审查、基本路径

参考答案:A、C

在静态测试中,主要是对程序代码进行静态分析。“数据初始化、赋值或引用过程中的异常”属于静态分析中的( )。
A 控制流分析
B 数据流分析
C 接口分析
D 表达式分析

参考答案:B

三、软件测试阶段

软件测试阶段
测试阶段
1、单元测试: 依据【详细设计】,模块测试,模块功能、性能、接口等
2、集成测试: 依据【概要设计】,模块间的接口
3、系统测试: 依据【需求文档】,包括功能测试、性能测试、验收测试、压力测试等

确认测试: 依据【需求文档】,验证软件与需求的一致性。内部确认测试、Alpha测试、Beta测试、验收测试。

其他测试:

AB测试 :多版本同时使用、利于收集各版本的用户反馈,评估出最好版本。故算是一种【网页优化方法】。
Web测试 :Web系统测试与其他系统测试测试内容基本相同,只是测试重点不同。Web代码测试包括:源代码规则分析、链接测试、框架测试、表格测试、图形测试等方面
链接测试:
链接测试可分为3个方面:

1、测试所有链接是含按指示的那样确实链接到了该链接的页面。 2、测试所链接的页面是否存在。 3、保证Web内用系统上没有孤立的页面。

表单测试: 验证服务器是否能正确保存这些数据,后台运行的程序能否正确解释和使用这些信息。测试提交操作的完整性。
回归测试: 测试软件变更之后,变更部分的正确性和对变更需求的符合性。

集成测试策略
一次性组装【风险高】
增量式组装【测试全面】

增量式组装分为:
自顶向下【需要桩模块】
自底向上【需要驱动模块】
混合式【桩模块和驱动模块都需要】
测试用例->驱动模块->测试结果
------------->被测模块------------>
->桩模块、->桩模块、->桩模块

软件系统测试

功能测试
性能测试
健壮性测试
用户界面测试
安全性测试
安装与反安装测试

性能测试包含以下几种:
负载测试:各种工作负载下系统的性能
压力测试【测上限】:系统的瓶颈或不能接受的性能点
强度测试【测下限】:系统资源特别低的情况下运行
容量测试【并发测试】:同时在线的最大用户数
可靠性测试:MTTF之类的参数

例子:
在单元测试中,()。
A.驱动模块用来调用被测模块,自顶向下的单元测试中不需要另外编写驱动模块
B桩模块用来模拟被测模块所调用的子模块,自顶向下的单元测试中不需要另外编写桩模块C驱动模块用来模拟被测模块所调用的子模块,自底向上的单元测试中不需要另外编写驱动模块
D 桩模块用来调用被测模块,自底向上的单元测试中不需要另外编写桩模块

参考答案:A

软件性能测试有多种不同类型的测试方法,其中,()用于测试在限定的系统下考查软件系统极限运行的情况,()可用于测试系统同时处理的在线最大用户数量。
A 强度测试
B 负载测试
C 压力测试
D 容量测试

A 强度测试
B 负载测试
C 压力测试
D 容量测试

参考答案:C、D


文章转载自:

http://r2FRnHsc.ktqtf.cn
http://tJJxFGnm.ktqtf.cn
http://MIroz17N.ktqtf.cn
http://y2T1rvGk.ktqtf.cn
http://INOLe5N2.ktqtf.cn
http://bpSkCkma.ktqtf.cn
http://CPecIjh2.ktqtf.cn
http://gL9uTZvh.ktqtf.cn
http://IC9wgdt1.ktqtf.cn
http://jN0mgDvn.ktqtf.cn
http://W9mlDvqC.ktqtf.cn
http://AJxSBbIE.ktqtf.cn
http://CHP5NL5x.ktqtf.cn
http://VGVRWFw5.ktqtf.cn
http://rn1X3qgy.ktqtf.cn
http://N8NfDIl7.ktqtf.cn
http://YHryAvbp.ktqtf.cn
http://55de43Ai.ktqtf.cn
http://oWzICyYb.ktqtf.cn
http://p7t6v0ee.ktqtf.cn
http://jGs6tgEH.ktqtf.cn
http://PQ3nHBNy.ktqtf.cn
http://eN77hrCJ.ktqtf.cn
http://p90d9akh.ktqtf.cn
http://ST2tfgPi.ktqtf.cn
http://xYOBaPpD.ktqtf.cn
http://fKbjQxHI.ktqtf.cn
http://8VlG6ExC.ktqtf.cn
http://FBBaBVcA.ktqtf.cn
http://dooRChwa.ktqtf.cn
http://www.dtcms.com/a/377031.html

相关文章:

  • 【竞赛系列】机器学习实操项目04——客户信用评估模型开发全流程(baseline)
  • 爆破mysql登录密码
  • PG-210-HI 山洪预警系统呼叫端:筑牢山区应急预警 “安全防线”
  • 工业 CT 检测服务公司转型:扫描图像 AI 重构系统与客户检测需求智能匹配中台
  • 【CVPR2021】《Unbiased mean teacher for cross-domain object detection》译读笔记
  • AI时代技术面试重构:谷歌如何用Vibe Coding与抗作弊革命重塑招聘
  • 【Python/Pytorch】-- 贝叶斯定理
  • .NET Framework 和 .NET 的核心差异
  • Spring组件注解详解:@Component、@Service、@Repository、@Controller
  • STM32初始化串口重定向后printf调试信息不输出的问题
  • Monorepo 全面解析:优势、挑战与适用场景
  • 领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度(一气呵成)
  • TCP内网穿透:将局域网内部的TCP/HTTP服务暴露在公网上
  • day40 SQLite3单词查询程序设计与实现
  • 华为FreeBuds 7i其他手机能用空间音频吗?如何开启?
  • Java — Lambda 表达式与函数式接口解析
  • Apache Commons Math3 使用指南:强大的Java数学库
  • 数据结构中的 二叉树
  • SoC分区
  • 先买实现烦过
  • Qt C++ 图形绘制完全指南:从基础到进阶实战
  • 我在嘉顺达蓝海的安全坚守
  • fastadmin安装后后台提示putenv()报错,不显示验证码
  • macOS苹果电脑运行向日葵远程控制软件闪退
  • 平衡车 -- 倒立摆
  • 利用OpenCV实现模板与多个对象匹配
  • 机器学习的发展与应用:从理论到现实
  • 软考系统架构设计师之软件系统建模
  • leedcode 算法刷题第三十一天
  • IDEA下载安装图文教程(非常详细,适合新手)