全国工业和信息化应用人才考试-- 服务外包 软件测试复习整理

news2025/1/13 7:57:24

试卷  

201服务外包软件测试考试样卷(1)【附答案】

单项选择题(每题1分,共40题40分)

多项选择题(每题2分,共10题20分)

判断题(每题1分,共10题10分)

填空题(每题1分,共10题10分)

问答题(每题5分,共420分)(第四问为英译汉*2)

复习

软件测试定义

软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。

软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

软件测试目的

评估实际运行效果与预期效果差异

发现并上报缺陷

提前预防缺陷

促进软件质量改进

为决策者提供信息

测试人员职责

通过评估软件实际运行效果与预期效果的差异、发现和预防软件缺陷,来促进软件质量的改进,从而支撑项目的最终成功交付

缺陷被发现越晚,修复起来花费成本会成倍放大。

从需求阶段,就开始制定测试计划,坚持软件开发阶段的技术评审,才能尽早预防和发现错误,杜绝隐患, 提高产品质量。

软件测试重要性

软件总存在缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去

软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性

测试是所有工程学科的基本组成单元,自然也是软件开发的重要组成部分

测试人员水平越高,找到软件问题的时间就越早,软件就越容易更正,产品发布之后越稳定,公司赚的钱也越多

软件测试的基本原则是什么?

原则一:测试显示软件存在缺陷

测试只能证明软件是存在缺陷的(证伪),却不能证明软件是没有缺陷的(证实)。

原则二:穷尽测试是不可能的

原则三:尽早介入测试

原则四:缺陷具有集群性

在软件测试活动中,80%的缺陷发生在20%的模块中。

原则五:杀虫剂悖论

软件测试也是类似的, 当我们一直使用相同的方法或手段去寻找bug的话,可能很难发现bug甚至无法发现bug。

原则六:测试是上下文相关的

原则七:“没有错误就是好” 是谬误

软件测试不仅仅是找出缺陷,还是确认软件是否满足需求,如果产品不能满足用户的需求,即使没有出现任何缺陷,这个产品也是失败的。

软件测试的6个对象
1. 软件需求

2.软件概要设计

3.软件源代码

4.软件详细设计

5.可运行程序

6.软件运行环境
软件开发与测试流程

  软件测试分类

黑盒测试 

 把被测对象看作一个黑盒,测试软件产品的功能,而不需关注软件产品的内部结构和处理过程。 等价类划分

边界值分析

正交实验分析

场景分析 ……

等价类划分

等价类是指某个输入域的子集,在该子集合中,测试某等价类的代表值就等于这一类其他值的测试,对于揭露程序的错误是等效的。因此,全部输入数据可以合理划分为若干个等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量的代表性的测试数据取得比较好的效果。

有效等价类:对于程序的规格说明来说是合理的,有意义的输入数据构成的集合,利用有效等价类可以检验程序是否实现了规格说明中所规定的功能和意义

无效等价类:与有效等价类相反,是指对程序的规格说明无意义,不合理的数据构成的集合

 边界值分析

1.如果规定了输入域的取值范围,则选取刚好在范围边界的点,以及刚好超过边界的点,作为测试的输入数据。

2.如果规定了输入值的个数,则用最大个数,最小个数,比最小个数少 1,比最大个数多 1 的数作为测试数据。

3.如果规定了输入是一个有序的集合,则选取集合的第一个元素和最后一个元素作为测试数据。

示例:计算 1---100 区间内的两个整数之和(包括 1 和 100)

首先分析边界值:1,100(有效等价类),其次是边界值两边的值:0,2,99,101(0 和 101 是无效等价类,2 和 99 是有效等价类)。把有效等价类中的数值换为边界值,这里有 4 个有效等价类的值要取,分别是 1,2,99,100,那么这四个值两个输入框都需要取到。无效等价类中也要覆盖到 0 和 101 这两个值,同样的两个输入框都需要覆盖。

 场景分析法

场景法一般包含基本流和备选流(也叫备用流),从一个流程开始,通过描述经过的路径来确定过程,经过遍历所有的基本流和备用流来形成整个场景。场景法的基本设计步骤如下:

根据说明,描述程序的基本流以及各项备选流

根据基本流和各项备选流生成不同的场景

对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值

对每一个场景生成相应的测试用例

 决策表/判定表分析

决策表又叫判定表,是分析多种逻辑条件下执行不同操作的技术。决策表由四个部分组成,包括:

列出问题的所有条件,条件的顺序无关紧要;

列出问题规定可能采取的所有动作,排列顺序没有约束;

列出了在条件项的各种取值的有机关联情况下应采取的动作;

 列出了针对条件桩的取值在所有可能情况下的真假值;

示例:打印机是否能打印出来正确的内容,有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响)

条件桩:(1) 驱动程序是否正确;(2) 是否有纸张;(3) 是否有墨粉

动作桩:(假定:缺纸告警优先级最高,其次墨粉告警,最后驱动程序告警。) (1) 打印内容;(2) 提示驱动程序不对;(3) 提示没有纸张;(4) 提示没有墨粉

优化后决策表:

白盒测试

白盒测试是根据被测程序的内部结构设计测试用例的一种测试方法。

主要用于单元测试阶段,代码和逻辑的测试,重点复杂的测试,是一种测试用例设计方法,

白盒测试优缺点

优点:代码覆盖率高

缺点:覆盖所有代码路径难度大

           业务功能可能覆盖不全

           测试开销大

语句覆盖:使得程序中每条语句操作至少被执行一次

判断覆盖:使得程序中的每个判断的”真“和”假“都至少被执行一次

将两个判定 if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2

条件覆盖:每个条件至少有一次取真值,有一次取假值

将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2

将x>0、y>0、magic<0 分别定义为C1、C2、C3

 条件覆盖不能保证判定覆盖

判断条件覆盖:使得被测程序中的每个判断本身的判定结果(真假)至少满足一次,每个逻辑条件的可能值也至少被满足一次。就是既满足判断覆盖,也满足条件覆盖。

将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2

将x>0、y>0、magic<0 分别定义为C1、C2、C3

 条件组合覆盖:使得被测程序中的每个判定中条件结果的所有可能组合至少执行一次

条件组合覆盖能够满足语句覆盖、判定覆盖、条件覆盖、判定条件覆盖

但是条件组合覆盖不能保证所有路径被执行。

路径覆盖:设计测试用例,覆盖程序中所有可能的路径

路径覆盖可以对程序进行彻底的测试,比前面五种覆盖更广。

 基本路径测试法?????

静态与动态测试分类

静态测试技术:通过手工检查(评审)或自动化分析(静态分析工具)的方式对代码或其他项目文档进行检查。

1、代码检查工具(pclint、coverity、fotify、…) 2、文档评审 3、代码检视技术

动态测试技术:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。

黑盒测试 白盒测试 灰盒测试 兼容性测试 探索性测试

分阶段测试概念

 软件缺陷管理

单元测试????

功能测试

兼容性测试

性能测试

安全测试

压力测试

测试用例几大要素

标识符,测试内容,输入条件,预期结果,测试环境信息,与其他测试用例的依赖关系,测试用例需要被开发、审阅、使用、维护和保存。

测试分为哪几个阶段?

一般来说分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试

1-单元测试(模块测试)是开发者编写的一小段代码,用于检验被测试代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。

2-集成测试(也叫组装测试、联合测试)是单元测试的逻辑扩展。它最简单的形式是:两个已经经过测试的单元组合成一个组件,并且测试它们之间的接口。从这一层上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。

3-系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中制定功能的有效方法。(常见的联调测试)。系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求而遵循系统设计。

4-验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让用户将其执行软件的既定功能和任务。验收测试是向未来的用户表明系统能够像预订要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
 

1-在传统的bugzilla中,bug描述应该包括以下的信息

2-和bug产生对应的软件版本

3-开发的接口人员

4-bug的优先级

5-bug的严重程度

6-bug可能属于的模块,如果不能确认,可以用开发人员来判断

7-bug标题,需要清晰的描述现象

8-bug描述,需要尽量给出重新bug的步骤

9-bug附件中能给出相关的日志和截图。

高质量的bug记录就是指很容易理解的bug记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位。
 

1)、单元测试:
指对软件中的最小可测试单元进行检查和验证,单元测试需要从软件的内部结构出发设计测试用例。多个模块可以独立地进行测试。

2)、集成测试:
组装测试/联合测试:将所有模块按照设计要求组装成子系统或者系统进行集成测试。

3)、系统测试:
将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试 和确认测试,系统测试是针对整个产品的测试。

4)、验收测试:
交付测试:确保软件准备就绪。
 

测试类型划分:

1)、功能测试:
主要针对产品需求说明书对软件进行测试,验证软件功能是否符合需求,包括对原定功能的检验以及测试软件是否存在冗余功能、遗漏功能。

2)、界面测试:
主要对系统的界面进行测试,测试用户界面是否友好,软件是否方便易用、系统设计是否合理、界面位置是否正确等问题。

3)、性能测试:
主要测试系统的性能是否满足用户需求,即在特定的运行条件下验证系统的能力状态。性能测试主要是通过自动化的测试工具模拟正常、峰值、异常负载状况、对系统的各项性能指标进行测试。

性能测试类型包括负载测试,强度测试,容量测试等
  负载测试:负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
  强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况
  容量测试:确定系统可处理同时在线的最大用户数

4)、强度测试:
迫使系统在异常的资源配置下运行。目的是找出因资源不足或者资源争用而导致的错误。

5)、压力测试:
主要是在超负荷环境中,检验系统是否能够正常运行。

6)、安全测试:
测试系统防止非法入侵的能力。

7)、兼容性测试:
测试软件产品在不同的平台、不同的工具软件或者相同工具软件不同的版本下的兼容性。

8)、安装测试:
主要校验软件是否可以正确安装、安装文件的各项设置是否有效、安装后是否影响整个计算机系统、卸载软件时是否可以卸载干净、卸载软件之后是否影响整个计算机系统。

9)、文档测试:
主要检查内部或外部文档的清晰性和准确性。
 

黑盒与白盒测试的区别在哪里?静态测试和动态测试的活动分别有哪些?

Selenium 能实现什么功能?

能做接口测试的工具有哪几个?常用的性能测试工具是哪一款?

哪款缺陷管理工具的占有率最高?

Bug流程管理中,问题单回归测试失败后,该怎么处理?

Bug流程管理中,问题单修复完成后该怎么处理?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述 

 在这里插入图片描述

 在这里插入图片描述

 测试用例的基本要素
要素名称    含义
功能模块    待测试模块名称
功能特征    待测试模块功能特征
测试时间    测试进行时间
用例编号    唯一标识该测试用例的值
输入数据    测试需要的数据列表
操作步骤    按照操作步骤的顺序,准确详细的描述
期望结果    按照规格设计所要求的的正确结果
优先级    依据重要程度确定优先级
预置条件    测试进行时的前置条件
测试类型    该用例是功能测试/冒烟测试/接口测试/性能测试等
————————————————
版权声明:本文为CSDN博主「石头缝里的小松鼠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yutian8233/article/details/118483116

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

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

相关文章

基于stm32的ADS1292R 心电波形采集

一、前言 ADS1292R是TI公司早在几年前出产的一款医用级ADC芯片&#xff0c;它主要应用在医疗仪器(心电图ECG),可以监护患者以及病人护理和健身监视器。ADS1292R集成了心电采集所需要的部件&#xff0c;方便设备小型化。它的功耗极低&#xff0c;使得可以作为长时间监控成为可能…

CausalEGM安装使用

1代码来源 github&#xff1a;https://github.com/SUwonglab/CausalEGM/tree/main/src pip&#xff1a;Tutorial for Python Users — CausalEGM documentation 安装&#xff1a;Installation — CausalEGM documentation 版本&#xff1a; 2原理 关于CausalEGM 根据观察…

[文本挖掘和知识发现] 01.红楼梦主题演化分析——文献可视化分析软件CiteSpace入门

八月太忙&#xff0c;还是写一篇吧&#xff01; 本文是作者2023年8月底新开的专栏——《文本挖掘和知识发现》&#xff0c;主要结合Python、大数据分析和人工智能分享文本挖掘、知识图谱、知识发现、图书情报等内容。此外&#xff0c;这些内容也是作者《文本挖掘和知识发现&…

vector实现遇到的问题

前言&#xff1a;vector是表示可变大小数组的序列容器。就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问&#xff0c;和数组一样高效。但是又不像数组&#xff0c;它的大小是可以动态改变的&#xff0c;而且它…

【C/C++】课程设计:通讯录管理系统源码,C语言链表实现

大家好呀&#xff0c;亲爱的小伙伴们&#xff01;你们今天有在编写代码吗&#xff1f; 如果有熟悉的小伙伴看到我&#xff0c;就会知道又到了学习源码项目的好时机了&#xff01;没错&#xff0c;今天要分享的同样是一个经典的管理系统项目&#xff1a;通信录管理系统&#xf…

小白学Linux都能学会

文章目录 1. 初识Linux1.1 操作系统1.2 Linux发展历程1.3 Linux简介1.3.1 什么是 Linux1.3.2 Linux的特点 1.4 Linux和Unix区别1.5 Linux和Windows区别1.6 Linux发行商和常见发行版1.7 Linux 应用领域**1.8 Linux之CentOS**1.9 总结 2. 系统与设置命令2.1 学习命令的原因2.2 Li…

7天GMV达220万美元!TikTok Shop爆品榜出炉。

7天GMV达220万美元&#xff01;TikTok Shop爆品榜出炉 8月28日消息&#xff0c;据跨境指南联合TikTok数据分析平台EchoTik发布的数据&#xff0c;监测了上周TikTok Shop印尼、马来西亚、泰国、美国市场GMV前10的商品。上周在印尼市场GMV排名前10的商品中&#xff1a;FREE ONGK…

Kotlin协程flow缓冲buffer

Kotlin协程flow缓冲buffer 先看一个普通的flow&#xff1a; import kotlinx.coroutines.delay import kotlinx.coroutines.flow.* import kotlinx.coroutines.runBlocking import kotlin.system.measureTimeMillisfun main(args: Array<String>) {val delayTime 100Lru…

初试nacos服务注册中心

项目基本流程是想获取订单信息的同时获取用户信息&#xff0c;所以order服务提供nacos获取user服务提供的用户信息。 启动nacos服务 在bin目录下的cmd命令行下执行 startup.cmd -m standalone 单机部署 启动服务 服务注册到nacos Nacos是SpringCloudAlibaba的组件&#xff0c…

Yolov8小目标检测(12):动态稀疏注意力BiFormer | CVPR 2023

💡💡💡本文改进:动态稀疏注意力,cvpr2023。 BiFormer | 亲测在红外弱小目标检测涨点,map@0.5 从0.755提升至0.758 💡💡💡Yolo小目标检测,独家首发创新(原创),适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文章提供每一步步骤和源码,带你轻松实现小…

【GPT,Flask】用Python Flask结合OpenAI的GPT API构建一个可自主搭建的内容生成应用网站

【背景】 自己构建模型并进行训练需要很高的知识,技能和资源门槛。如今,通过OpenAI提供的API,则可以快速通过GPT能力构建可以提供内容生成服务的在线网站。这套框架可以提供给用户,用户可以利用该框架在自己的环境(比如自己的公司内)构建内容生成服务。你也可以自己上线…

【C++入门】模版初阶(泛型编程)

目录 1.泛型编程2.函数模版2.1函数模版的概念2.2函数模版的使用2.3函数模版的原理2.4函数模版的实例化2.5 模板参数的匹配原则 3.类模版3.1类模版的定义格式3.2类模版的实例化 1.泛型编程 让我们思考一个小问题&#xff1a;如何实现一个通用的交换函数呢&#xff1f; 在解决这…

自动泊车的自动驾驶控制算法

1. 自动泊车系统 自动泊车系统(AutomatedParkingASSiSt,APA)利用车辆搭载的传感器感知车辆周边环境,扫描满足当前车辆停放的障碍物空间车位或线车位,并通过人机交互(HumanMachine Interface,HMI)获取驾驶员对目标车位的选择或自动确定目标车位,自动规划泊车路径,通过控制器向车…

【C++笔记】C++内存管理

【C笔记】C内存管理 一、C中动态内存申请的方式二、new和delete的实现原理2.1、operator new和operator delete函数 一、C中动态内存申请的方式 在C语言中我们需要动态申请空间的时候我们通常都是用malloc函数&#xff0c;但是malloc函数对自定义类型是没什么问题的&#xff0…

ATA-2161高压放大器的电子实验案例(案例合集)

ATA-2161是一款理想的可放大交直流信号的单通道高压放大器。最大差分输出1600Vp-p(800Vp)高压&#xff0c;可以驱动高压型负载。凭借其优异的指标参数受到不少电子工程师的喜欢&#xff0c;其在电子实验中的应用也非常频繁&#xff0c;下面为大家整理出ATA-2161高压放大器的应用…

无涯教程-Android - Intents/Filters

Android Intent 是要执行的操作的抽象描述。它可以与 startActivity 一起启动Activity&#xff0c;将 broadcastIntent 发送给任何BroadcastReceiver组件&#xff0c;并与 startService(Intent)或 bindService(Intent&#xff0c;ServiceConnection&#xff0c;int)与后台服务进…

jq——点击显示隐藏来回切换、图片来回切换

案例展示 案例代码 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>显示隐藏</title></head><script src"js/jquery.js"></script><style>.switch {width: 50px;height: 50px;…

antd table minHeight

网上常见设置antd table最小宽度的方案&#xff1a; 这种方法也不是不可以&#xff0c;但是若需要动态设置最小高度的话&#xff0c;这样写就不是很合适。 所以这边选择动态计算table高度的方法来实现&#xff1a; 第一步&#xff1a;计算table scroll height const getTab…

「CSS|前端开发|页面布局」03 开发网站所需要知道的CSS:如何实现你想要的页面布局

本文主要介绍如何分析页面布局&#xff0c;了解HTML标签元素的默认布局以及如何修改标签元素的布局方式&#xff0c;最终能够结合CSS框架实现任意我们看到或者想到的页面布局。 文章目录 本系列前文传送门一、场景说明二、页面布局设计逻辑三、CSS布局编写逻辑HTML元素的默认布…