软件测试技术-期末理论知识复习速成

news2024/11/24 14:46:39

第一章 软件测试概述

什么是软件缺陷,发生软件缺陷的原因是什么?

答:软件缺陷指的是在软件开发过程中出现的错误、缺陷或故障,导致软件无法按照预期的功能运行或者产生错误的结果。

       导致软件缺陷的原因可能有:(1)编码错误:在软件开发过程中可能会出现编码错误,例如语法错误、逻辑错误、算法错误等。(2)不完全的需求定义,在软件开发的初期阶段,需求定义不够清晰、不完整或者存在歧义。(3)设计错误,软件设计不合理、不完善或者存在逻辑上的错误等。

       软件测试的定义(什么是软件测试?)

答:软件测试是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

       软件测试的目的与原则

答:目的:1.验证软件是否满足开发合同、开发计划、需求规格说明和设计说明等规定的软件质量要求;2.发现尽可能多的软件缺陷,消除它们,提高软件质量;3.软件测试不仅是为了发现软件缺陷,还是对软件质量进行度量和评估的过程;4.通过分析软件缺陷产生的原因,可以有针对性地进行软件过程改进。

       原则:1.软件测试不能证明程序无错;2.所有测试都应当追溯软件缺陷地起源;3.尽早和不断地进行软件测试;4软件测试应尽可能具有独立性;5.完全测试不可行,测试需要适时终止。

       软件测试的过程与分类

答:过程:

1.指定测试计划:在需求评审和设计的基础上指定测试计划,确定测试策略和测试进度;

       2.测试设计:设计测试用例和测试执行过程;

       3.测试准备:为执行测试进行提前准备;

       4.执行测试:执行测试用例,发现和修正软件缺陷;

       5.测试评估:分析测试结果,为测试总结记录量化评测数据;

       6.整体项目测试总结:总结整体项目的测试工作,为今后不断改进测试质量和效率做准备。

       分类:

分为单元测试:对软件的最小可测试单元进行测试,如函数、方法等。集成测试:验证不同模块或组件之间的接口和协作是否正常。系统测试:在整个系统上对功能、性能、稳定性等进行综合测试。验收测试:由用户进行测试,验证软件是否满足用户需求和预期。黑盒测试:只关注软件的输入和输出,不考虑内部逻辑和实现细节。白盒测试:根据软件的内部逻辑和结构设计测试用例,覆盖不同的路径和条件等。

      

       软件测试分为哪几个阶段,生命周期

答:阶段:  

单元测试:测试最小可测试单元(如函数、方法等)的正确性,由开发人员负责。

集成测试:测试不同模块或组件之间的接口和协作是否正常。

系统测试:对整个系统进行综合的功能、性能、稳定性等方面的测试。

验收测试:由用户进行测试,验证软件是否满足用户需求和预期。

       软件测试的生命周期:

计划阶段:确定测试的范围、目标、资源和时间等,编制测试计划和测试策略。

设计阶段:根据需求和设计文档编制测试用例和测试数据,设计测试环境和工具。

执行阶段:执行测试用例,记录测试结果和缺陷,进行错误重现和调试。

缺陷管理阶段:对发现的缺陷进行分类、分析、报告和跟踪,并与开发团队合作进行缺陷修复。

评估阶段:评估测试的覆盖率、效果和质量,检查测试的完整性和一致性。

维护阶段:在软件版本升级或修复缺陷后,重新执行测试用例,确保软件的正确性和稳定性。

      

       软件测试过程模型与软件测试过程的关系

答:软件测试过程模型是指按照一定的规范和流程组织测试活动的模式或方法,用于指导和管理软件测试的实施。而软件测试过程是指具体的测试活动和任务,包括测试计划、测试设计、测试执行、缺陷管理等。软件测试过程模型与软件测试过程之间存在密切的关系,过程模型提供了对测试活动的组织和管理方法,将测试过程划分为不同的阶段和活动,确保测试的全面和有效进行。通过采用适当的过程模型,可以提高测试的效率、准确性和可重复性。

       V模型

 

       W模型

 

       什么是测试用例?

答:测试用例是测试执行之前已经设计好的一套详细的测试方案,也是测试执行时的最小实体。其目的是确定应用程序的某个特性是否能够正常工作,并且满足特定用户需求和软件设计结果。

第二章 白盒测试

       什么是白盒测试?

答:白盒测试也称为结构测试或透明盒测试,是一种测试技术,通过了解和分析被测试软件的内部结构、逻辑和代码来设计和执行测试用例。

       静态测试与动态测试

答:静态:桌面检查、代码审查(开发者讲解,会议形式)、代码走查(会议形式)、代码扫描工具。

       动态:逻辑覆盖法{语句、判定、判定条件、条件组合、路径}测试。基本路径测试法。、

       什么是程序插装

答:程序插装是一种软件开发和测试技术,通过修改或插入代码来收集额外的运行时信息,以便于调试、性能分析、测试覆盖率分析等目的。

逻辑覆测试    省略。

基本路径测试  省略。

       白盒测试应用策略

答:1.开始进行白盒测试时,首先应尽量使用测试工具进行程序静态结构分析;2.在测试中,建议采用先静态后动态的组合方式;3.利用静态分析的结果作为依据,再使用代码检查和动态测试的方式对静态测试分析结果进行进一步确认;4.覆盖率测试是白盒测试的重点,是测试报告中可以作为量化指标的依据;5.在不同测试阶段,白盒测试的应用侧重点也不同。

      

第三章 黑盒测试

       什么是黑盒测试?

答:黑盒测试是一种软件测试方法,该方法测试的焦点在于检查软件系统的功能,而不考虑其内部的实现细节。测试人员只关注输入和输出,而不关心系统的内部设计、代码结构和逻辑。

       什么是等价类,基本思想是什么?

答:等价类是指在某个特定条件下,具有相同功能或特性的输入数据可以被划分为同一组或类别的概念。等价类划分的基本思想是将输入的数据集合划分为多个适当的数据子集合(即等价类),使得每个的等价类中选取的数据可以代表该类中得到其他数据。

       等价类划分规则(p64)

答:按输入区间划分、按数值集合划分、按离散数值划分、按限制条件或规则划分、按布尔量取值划分、细分等价类。

       健壮、弱健壮、一般、弱一般等价类都是等价类划分方法,用于测试设计中选择适当的测试用例。弱一般等价类划分是一种相对宽松的划分方法,既考虑了正常情况的一般等价类,又覆盖了一些边界条件和异常情况的特殊等价类。强一般等价类划分将输入数据严格地划分为一般的等价类,不考虑特殊情况。它主要关注正常情况下的一般等价类不考虑一些边界条件和异常情况。健壮等价类划分不仅关注正常情况下的一般等价类,还特别关注一些边界条件和异常情况的特殊等价类。

一般边界值分析测试用例的数量为4N+1,健壮性边界值分析测试用例的数量为6N+1。

边界值分析法、判定表驱动法、因果图法都在笔记本上。(正交实验法不考大题。)

       场景法的过程、适用的场合?

答:场景法用于测试软件的业务过程或业务逻辑,是一种基于软件业务和用户行为的测试方法。侧重用户对软件的操作步骤。

       过程:1.确定基本流和备选流;2.根据基本流和备选流生成不同的场景;3.对每一个场景设计测试用例。

       使用场景:复杂系统、多用户角色和权限限制系统、需要测试真实环境下表现的系统,以及迭代开发或敏捷开发项目。

       错误推测法的概念:

       错误推测法基于经验和直觉推测程序中可能出现的各种错误和容易发生错误的特殊情况,将其列为清单,然后有针对性得到设计测试用例。

       黑盒测试的应用策略(次重点)

答: 1.对于业务流程清晰的系统,可以利用场景法贯穿整个测试过程;2.对比其他测试方法,优先选用等价类测试方法;3.在任何情况下都应该考虑边界值分析法,该方法是发现软件缺陷最有效的方法之一。

白盒测试与黑盒测试的优缺点对比(次重点)

答:黑盒:优点:1.能直观反映软件是否满足需求;2.不需要了解软件内部的具体实现;3.适用于各阶段测试。

              缺点:1.依赖规格说明书的正确性;2.代码覆盖率低;3.会有很多程序路径没有被测试到。

       白盒:优点:1.可在系统未完成之前对各个已实现单元进行测试;2.可以检测代码中的每条分支和路径;3.对代码的测试比较彻底。

              缺点:系统庞大时,测试工作量大,成本高;2.不能验证规格说明的正确性;3.不易生成测试数据。

第四章 软件测试的执行阶段

       单元测试的概念,单元模块如何定义?

答:单元测试就是根据软件规格说明书、详细设计说明书等,对软件设计中的最小单元进行正确性检验的测试工作,主要测试软件单元在语法、逻辑和格式上的错误。单元测试是软件测试的第一个执行阶段,是软件测试的基础。

       单元模块是软件开发中的最小功能单元,它应该具备单一职责、封装性、可测试性和可重用性。

       能否跳过单元测试直接开始集成测试?

答:不建议跳过单元测试直接开始集成测试,因为单元测试可以帮助尽早发现和解决问题,如果在集成测试阶段才发现问题,可能需要花费更多的时间和精力来定位和解决问题。

四个注解:

(1)@Test 标注为测试方法

(2)@Before 在每个测试方法执行前都要执行

(3)@After  在每个测试方法执行后都要执行

(4)@Lgnore 在测试中被忽略

       什么是集成测试?集成测试主要测试什么,测试依据是什么?

答:集成测试是在单元测试之后进行的一种测试方法,用于测试多个功能单元之间的协作和集成。集成测试旨在验证各个功能单元之间的接口和交互是否正确,并确保系统作为一个整体的功能正常。

       集成测试主要测试模块或组件之间的交互和协作是否正确,测试依据是系统的需求规格和设计文档,以及模块或组件的接口定义。

       集成测试的策略模式

答:非渐增式集成测试:首先对每一个模块进行单元测试,然后根据程序设计结构,将所有模块一次性集成在一起进行测试。

       渐增式集成测试:采用逐步集成的方式,把单元测试和集成测试结合起来进行,将被测模块与已经测试好的模块结合在一起进行测试。

       什么是系统测试?

答:系统测试是将经过集成测试之后的软件系统与计算机硬件、输入输出设备、所需要的其他支撑软件等系统运行必备的元素结合在一起,然后对用户实际运行环境下的完整计算机系统进行测试。

       α测试与β测试的区别?

答:α测试是内部测试,由开发团队或专门测试团队执行。β测试是外部测试,由最终用户或外部测试团队执行。

       什么是回归测试?

答:回归测试是指在对之前测试过的软件进行修改或扩充之后进行的重新测试,是为了保证对软件所做的修改和扩充没有引起新的错误而进行的重复测试。

第五章 功能测试与非功能测试

       什么是功能测试?

答:功能测试是根据软件需求规格说明书,检验软件系统是否满足用户对于各方面功能的使用要求,确保软件以用户期望的方式运行。

       功能测试的主要内容?

答:1.用户界面:测试界面是否规范、合理、是否方便;2.数据:能否接收和输出正确的数据;3.操作:各项操作是否符合用户的要求与习惯;4.逻辑:软件逻辑是否清晰合理;5.接口:能够配合接口使用连接外部设备。

       什么是非功能测试?主要内容是什么?

答:相对与功能测试而言,针对软件非功能属性所进行的测试活动,面对的是软件“好不好用”的问题。

       主要内容:性能测试(达到预期性能)、压力测试(大于预期工作负载)、负载测试(并发数)、可靠性测试(正常运行时长,自我恢复能力)、容量测试(最大存储量,最大用户数)、安全性测试(对非法入侵的防范呢个能力)、可用性测试(使用软件的学习成本)。

       安全测试与常规测试的区别?

答:常规测试关注功能和性能,确保软件正常工作;安全测试评估和修复安全性,发现潜在风险。

       TPS

答:指系统每秒能够处理的事务和交易的数量,是衡量系统能力的重要指标。

第六章 软件缺陷报告与测试评估

       什么是软件缺陷,缺陷等级?

答:软件缺陷是指在软件开发或运行过程中发现的错误、缺陷或问题。它是指软件在设计、编码或集成过程中存在的不符合预期要求、功能错误或逻辑问题。

       等级:

致命:系统的主要功能完全丧失,崩溃、死机甚至危及人身安全;

严重:系统的部分功能丧失,次要功能完全丧失,影响软件系统的正常使用;

重要:产生错误的运行结果,系统运行不稳定,业务流程不正确;

较小:错别字,界面不一致,使用户使用软件不方便。

       软件缺陷的生命周期与处理流程?

答:软件缺陷的生命周期:

              提交->打开:测试人员提交发现的软件缺陷;

              打开->修复:开发人员修复缺陷后通知测试人员修复结果验证;

              验证->重新打开:测试人员执行回归测试,若验证缺陷未被修复,再次打开缺陷等待开发人员修复;

              验证->关闭:测试人员执行回归测试,确认缺陷被修复,将缺陷状态设置为随后的关闭状态。

       如图:

 

       软件测试的评估

答:再软件测试的过程中,需要阶段性地总结和分析测试结果,确保测试过程地有效性。

第七章 软件测试管理

       什么是软件质量?

答:软件质量是与软件系统或软件产品满足明确或隐含需求的能有管的特征和特性的集合。软件质量反映的是软件的综合特征与用户期望。

       软件质量与软件测试的关系?

答:软件测试是评估软件质量的方法,通过检查软件输出和执行测试用例,发现和修复问题。软件测试有助于提高软件质量,并提供决策依据。

       测试计划

答:测试计划是为了确定各个测试阶段的目标和策略,明确需要完成的测试活动,合理安排测试所需要的时间和资源,说明完成测试的组织结构和岗位职责,确定对测试过程及结果运行控制和质量所需要的方法和活动,识别测试风险。

第八章 软件测试自动化

什么是软件测试自动化?

答:自动化测试是指通过软件工具、程序来代替或辅助手工测试的过程,目的是减少手工测试的工作量,提高测试的效率与质量。

       软件测试自动化的过程?

答:自动化测试的一般过程是:首先启动被测软件和相应的测试工具,通过测试工具录制软件操作过程并且插入验证点,对录制好的脚步进行必要的测试,然后保存脚本作为测试用例。测试执行时,调用自动化测试脚本,通过脚本操纵被测软件执行,验证测试结果,根据测试工具的执行日志生成软件缺陷报告。

补充:

       大题:(1)白盒测试的逻辑覆盖方法【5个】,基本路径测试法。

              (2)黑盒测试,等价类测试法,决策树分析法(判定表驱动)。

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

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

相关文章

AI提高软件外包开发效率

最近几年AI技术取得了很大的进步,在一些领域甚至有突破性的进展,虽然无法预测未来AI会如何影响到人们的生活,但可以确定的是AI会在方方面面影响到大家的生活方式,也许未来五年内就会有一个明显的变化。今天和大家分享AI如何提高软…

IPv6地址配置与验证实验

IPv6地址配置与验证实验 【实验目的】 启动IPv6功能。配置IPv6地址。验证配置。 【实验拓扑】 实验拓扑如下图所示。 实验拓扑 设备参数如表所示。 设备参数表 设备 接口 IPv6地址 子网掩码位数 默认网关 R1 S0/1/0 2000:f106:f208:12::1 64 N/A R2 S0/1/0 2…

【软考网络管理员】2023年软考网管初级常见知识考点(9)- 接入网技术

涉及知识点 接入网相关技术,XDSL 接入,HFC 接入, PON 接入,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 原创于:CSDN博主-《拄杖盲学轻声码》,更多考点…

Spring源码:调度框架EnableSchedulingScheduled源码解析

目录 1.开启调度框架 2.ScheduledAnnotationBeanPostProcessor Bean后处理器分析 2.1 调度框架支持的Task类型 2.2 对Task进行调度执行 3.任务调度器 3.1 任务调度器获取 3.2 框架内提供的任务调度器 3.3 任务调度器执行逻辑 在实际项目开发中,有时会遇到定…

1、动手学深度学习——线性神经网络:线性回归的实现(从零实现+内置函数实现)

1、线性回归基本概念 回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法。 在自然科学和社会科学领域,回归经常用来表示输入和输出之间的关系。 给定一个数据集,我们的目标是寻找模型的权重和偏置&#xf…

selenium测试框架快速搭建(UI自动化测试)

一、介绍 selenium目前主流的web自动化测试框架;支持多种编程语言Java、pythan、go、js等;selenium 提供一系列的api 供我们使用,因此在web测试时我们要点页面中的某一个按钮,那么我们只需要获取页面,然后根据…

【力扣刷题 | 第十五天】

目录 前言: ​​​​​​​63. 不同路径 II - 力扣(LeetCode) 343. 整数拆分 - 力扣(LeetCode) 总结: 前言: 本篇我们主要刷动态规划的题,解题还是严格按照我们在【夜深人静写算法…

Linux查看文件大小

1、Linux下查看文件和文件夹大小 当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。 du可以查看文件及文件夹大小。 两者配合使用&#xf…

UE中创建可脚本化编辑器工具(Scriptable Tools)

UE5.2中提供了可脚本化工具编辑模式,该模式下用户可以编写蓝图节点自定义界面操作模式下的逻辑,例如重写鼠标点击事件,制作自定义画刷等。 如果你不太了解UE编辑器工具,可以参考这篇文章: https://blog.csdn.net/gray…

chatgpt赋能python:Python编程计算一元二次方程——最简单的方法实现

Python编程计算一元二次方程——最简单的方法实现 前言 Python编程语言是一种优秀的开源编程语言,具有易于学习、代码简洁明了、易于维护等优点,因此在近年来得到了广泛的应用。 本文将介绍如何使用Python编写一个简单而又实用的计算一元二次方程的程…

华为认证哪个方向考的人多?考试费用是多少?

从学校毕业后,就要走上社会了,很多人就要面临就业困难,对于信息通信行业的人来说,考一份技术证书,是可以帮助自己提高职业竞争力、获得好工作的方法。华为云认证是华为云旗下的认证,其设立时间长&#xff0…

多线程爬虫实战-思路

前言 最近有很多小伙伴找到我,说想要王者荣耀所有英雄皮肤的照片,但是又不想自己去下载,正好借这个机会给大家讲解一下多线程的爬虫实战 由于线程爬虫会对任何服务器都有一定的影响,本文仅供学习交流使用,切勿拿去做什…

PID原理及仿真程序套用(matlab仿真与图像处理系列第3期)

PID控制器模拟器 概述: PID控制器是一种常用的反馈控制算法,用于实现系统输出与期望值之间的精确调节。PID控制器模拟器是一个工具,可以模拟和测试PID控制器的性能,并对系统进行调整和优化。 输入参数: setpoint:期望值或目标值process_variable:过程变量或实际测量…

go中map哈希表使用总结

作者:程序员CKeen 博客:http://ckeen.cn​​​​​​​ 长期坚持做有价值的事!积累沉淀,持续成长,升维思考!希望把编码做为长期爱好😄 在 Go 语言中,map是一种基于哈希表实现的数据结…

设计模式之解释器模式笔记

设计模式之解释器模式笔记 说明Interpreter(解释器)目录解释器模式示例类图抽象表达式类环境角色类封装变量的类加法表达式类减法表达式类测试类 说明 记录下学习设计模式-解释器模式的写法。JDK使用版本为1.8版本。 Interpreter(解释器) 意图:定义一个语言,定义…

chatgpt赋能python:Python编程:如何将程序变成软件

Python编程:如何将程序变成软件 Python是一种非常流行的编程语言,因为它具有简单易学、高效和灵活等优点。许多人使用Python编写程序,但他们可能不知道如何将这些程序变成可执行的软件。在本文中,我们将介绍Python程序如何成为软…

【C/C++数据结构】链表与快慢指针

目录 一、单链表 二、双向循环链表 三、判断链表是否带环 四、链表的回文结构判断 五、复制带随机指针的链表 一、单链表 优点:头部增删效率高,动态存储无空间浪费 缺点:尾部增删、遍历效率低,不支持随机访问节点 头结点&…

【Linux | Shell】bash shell 基础命令

目录 一、概述二、启动shell2.1 用户的默认 Shell 程序2.2 Shell 提示符 三、 基础命令3.1、man 命令3.2、cd 命令3.3、ls命令 一、概述 很多 Linux 发行版的默认 shell 是 GNU bash shell。本文将介绍 bash shell 的基本特性,比如 bash 手册、命令行补全以及如何显…

JavaWeb 第一个Servlet程序

1.Servlet Servlet是Java编写的用于Web应用程序的服务器端程序。 它可以接收来自Web浏览器的HTTP请求并生成响应。 Servlet通常用于创建动态Web内容,例如网页、表单处理、登录和数据库访问等。 Servlet是Java EE(Enterprise Edition)规范…

[补充]托福口语21天——day2 课堂内容

day1 课堂:http://t.csdn.cn/cyvZm day1 语料:http://t.csdn.cn/syTBy 目录 1 时间准备 2 例题 3 答题步骤 3.1 范例 3.2 范例 4 连接词 5 完整回答 5.1 范例 5.2 范例 6 总结 背背背! 1. 如今的生活成本非常高。人们要付…