软件测试基础理论复习

什么是软件?

软件是计算机系统中与硬件相互依存的另一部分,

软件包括程序+文档

什么是软件测试?

(1)软件测试是在现有软件(程序+文档)中寻找缺陷的过程;

(2)软件测试是指使用人工或者自动化手段来运行或测试某个系统的过程,目的是检验系统是否满足需求规格说明书中的要求

软件测试的目的?

测试的目的是找出软件产品中的错误,使软件尽可能的符合用户的要求。

黑盒测试:

又叫功能测试,把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,根据规格说明书,通过操作软件验证程序的功能是否与规格说明书规定的一致。

白盒测试:

也称结构性测试,是基于代码的测试,按照程序内部的逻辑结构,检测程序是否能按预定要求进行正确的工作。

回归测试:

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

冒烟测试:

是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性,冒烟测试又称版本验证测试。冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件的基本功能正常,可以进行后续的正式测试工作。 简单地说,冒烟测试就是用较少的人,在较短的时间内测试程序的主要功能,如果通过再进行正式的测试。

aplha测试和bate测试的区别?

 

Alpha测试(α测试):

通常也叫“验证测试”,主要是指在软件开发完成以后,在软件开发环境下,开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并进行。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。

Beta测试(β测试):

在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。通常情况用户测试指用户的使用性测试,由用户找出软件的应用过程中发现的软件的缺陷与问题,并对使用质量进行评价。β测试通常被看成是一种用户测试。β测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。β测试中厂商获取的信息,可以有助于软件产品的成功发布。

什么是测试用例?

测试用例是由测试人员在测试执行之前编写的文档,用于指导测试过程

什么是软件缺陷?(如何识别bug)

(1)需求规格说明书中要求的功能未实现

(2)需求规格说明说中未要求的功能实现了

(3)程序中出现了需求规格说明书中指明不该出现的问题

(4)需求规格说明书中虽未明确提及,但必须实现的功能未实现

(5)程序难以理解,不易使用,界面不美观,用户体验不好等

(6)参照需求文档,实际与文档不符就是bug

(7)与需求人员,开发人员,用户进行讨论

(8)参照测试用例中的预期结果,实际结果与预期结果不符的就是bug

第一台计算机诞生在什么时候?叫做什么名字?

1946-2-15,叫做“艾尼阿克”

计算机的层次?

计算机分为3个层次:应用软件、操作系统、计算机硬件/裸机

裸机包含软件吗?如何进入?

裸机也包含软件,主要是bios程序;

开机或重启以后,迅速按下“delete”键(如果是笔记本,一般为功能键,如F2)

软件的分类?

软件包括系统软件和应用软件

按照系统软件划分?

操作系统、操作系统的补丁程序、驱动程序

按照软件结构划分?

可分为单机版软件和分布式软件;

根据客户端的特点将分布式软件分为c/s结构和b/s结构

什么是c/s结构和b/s结构?

①C/S结构:client/server客户端/服务器结构,客户端需要使用该公司提供的专门软件才能享受服务,QQ、微信、滴滴打车

②B/S结构:browser/server浏览器/服务器结构,客户端只要有浏览器就可以访问服务,网站、搜索引擎、论坛

什么是缺陷报告?

缺陷报告记录了测试人员在测试时发现的缺陷,是测试人员和开发人员交流和沟通的重要工具

缺陷报告包括那些(重要组成)?

1.缺陷编号:Defect

2.缺陷标题:Summary

3.缺陷的所属模块:Subject

4.缺陷的发现者:Detected By

5.缺陷的发现日期:Detected on date

6.缺陷的发现版本:Detected in release

7.缺陷指派给:Assigned to

8.缺陷的状态:Status

9.缺陷的严重程度:Serverity

10.缺陷的优先级:Priority

11.缺陷描述:Description

提交缺陷报告时,缺陷的等级划分

严重级别(S1):系统崩溃、数据丢失、数据毁坏

较严重(S2):流程走不通、操作性错误、结果错误

模块性错误(S3):功能遗漏、功能不实现

一般错误(S4):小问题,错别字,界面排版不合理等

建议性错误(S5):不影响产品质量的瑕疵

缺陷报告的处理流程?

1.测试人员发现新的bug,将状态改为new,转交给开发经理

2.开发经理验证该bug是否有效:

如果是缺陷,将状态改为open,分配给相应的开发人员

如果不是缺陷,将状态改为rejected

3.开发人员看到指派给自己的bug,进行修改,修改完后,把缺陷状态改为fixed

4.测试人员对修复的bug进行返测:

如果反测成功,将缺陷状态改为closed

如果返测失败,将缺陷状态改为reopen

缺陷报告的用途?

1.记录bug

2.对bug就行分类表达

3.跟踪管理bug

4.对bug进行分析,统计

缺陷的严重程度是什么?分为哪些等级?各代表的含义是什么?

缺陷的严重程度是表明bug对软件或用户造成的影响有多大

1.Urgent:造成死机,系统崩溃等致命问题

2.Veryhigh:非常严重的问题

3.High:严重的问题

4.Medium:中等程度的问题

5.Low:小的问题(尽量在发布之前解决)

缺陷的优先级是什么?分为哪些等级?各代表的含义是什么?

缺陷的优先级是希望程序员在什么时间,或在程序的哪个版本中修复bug

1.Urgent:立即修改,否则影响开发或者测试的进度

2.Veryhigh:本版本修改

3.High:下个版本修改

4.Medium:发布之前修改

5.Low:允许在发布中存在的bug

优先级需要考虑哪些重点因素?

1.严重程度:一般严重程度越高,优先级越高(但不是严格成正比关系)

2.影响范围:一般影响范围越大,优先级越高

3.开发组的任务压力:任务压力越小,优先级越高

4.解决bug的成本:成本越低,优先级越高

什么是缺陷描述?

把发现bug的步骤、过程、使用的数据记录下来,让程序员通过此描述重视bug

所有的bug在软件发布之前都必须解决的吗?

不是所有的bug在软件发布之前都能够解决;

对于没有解决的bug,一般要通过项目组的讨论,明确不解决bug的风险、给用户造成的损失以及解决缺陷的成本

编写测试用例有哪些方法?各方法的应用场合?

1.等价类划分法

只要有数据输入的地方就可以使用,从无穷多的数据中挑选出少数代表性数据进行测试

2.边界值法

只要有数据输入的地方就可以使用,往往和等价类划分法一同使用,形成一套完善的测试方法;找到有效数据和无效数据的分界点,对分界点及其两边的点,进行单独测试

3.因果图法

在一个界面中有多个控件,控件之间存在一定的组合关系和限制关系,不同的输入组合会产生不同的输出结果,为了弄清输入组合和输出之间的对应关系,选择因果图法

4.判定表法

判定表和因果图本质上是一种方法,都是解决控件组合问题,判定表法是因果图法的简化

5.正交排列法

6.场景法

7.测试大纲法

写用例时的参考?

1.需求文档(开发文档如果可以参考最好)

2.对照已经开发出来的程序

3.与需求人员,开发人员,用户进行沟通

测试思想?

穷举测试是最完善的测试方法,但由于时间成本过高,实际工作中不宜采用。

所以在保证质量的同时,使用最少的数据完成测试过程。

什么是有效等价类?

对程序的规格说明有意义,合理的数据的集合,程序接收到有效等价类数据应该正确计算执行

什么是无效等价类?

对程序规格说明无意义,不合理的数据集合,程序接收到无效等价类数据,应该给出错误提示,或根本不允许输入

无效等价类主要考虑的因素?

1.需求要求不能为空或必填,无效等价类就是为空

2.数据有范围要求,无效等价类就是超出范围

3.字符有个数要求,无效等价类就是超出规定的范围

4.数据有格式样式类型的要求,无效等价类就是测试格式样式。类型非法

5.需求有小数点位数要求,无效等价类就是保留位数超过范围

6.需求要求不能重复,无效等价类就是重复

一个好的软件的基本特点?

1.要求的功能要实现

2.具有很强的异常处理能力(健壮性)

V模型及优缺点

优点:

1.测试阶段划分明确

2.和开发的对应关系明确

3.既包含底层测试(单元测试)又包括用户级测试(验收)

缺点:

1.容易理解成软件测试是开发完成之后才参与的

2.没有体现出测试前期的工作(写计划、用例、测试文档),不符合越早测试和不断测试的原则

深入理解:

1.对需求、开发文档进行测试

2.根据开发文档编写测试计划、测试用例等,为执行用例最准备

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux——socket编程之tcp通信

前言 前面我们学习socket的udp通信,了解到了socket的概念与udp的实现方法,今天我们来学习一下面向连接的tcp通信。 一、tcp套接字创建 UDP和TCP都是通过套接字(socket)来实现通信的,因此TCP也得使用socket()接口创建…

练习题(2024/5/9)

1删除二叉搜索树中的节点 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为…

Redis(安装及配置)

1.什么是redis Redis 全称 Remote Dictionary Server(即远程字典服务),它是一个基于内存实现的键值型非关系(NoSQL)数据库,由意大利人 Salvatore Sanfilippo 使用 C 语言编写。 2.优势 性能极高&#xff…

快速排序(java细节实现)

目录 快速排序: Hoare版: 挖坑法 快速排序的优化 快速排序的非递归实现 小结 从小到大排序 快速排序: 基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值&…

python代码自动生成器原理 python 生成器原理

python生成器原理剖析 函数的调用满足“后进先出”的原则,也就是说,最后被调用的函数应该第一个返回,函数的递归调用就是一个经典的例子。显然,内存中以“后进先出”"方式处理数据的栈段是最适合用于实现函数调用的载体&…

51单片机入门:DS1302时钟

51单片机内部含有晶振,可以实现定时/计数功能。但是其缺点有:精度往往不高、不能掉电使用等。 我们可以通过DS1302时钟芯片来解决以上的缺点。 DS1302时钟芯片 功能:DS1302是一种低功耗实时时钟芯片,内部有自动的计时功能&#x…

技术分享 | 京东商品API接口|京东零售数据可视化平台产品实践与思考

导读 本次分享题目为京东零售数据可视化平台产品实践与思考。 主要包括以下四个部分: 1.京东API接口介绍 2. 平台产品能力介绍 3. 业务赋能案例分享 01 京东API接口介绍 02 平台产品能力介绍 1. 产品矩阵 数据可视化产品是一种利用数据分析和可视化技术&…

Ti雷达常用工具

Ti雷达常用工具 名称网站功能雷达开箱界面mmWave Demo Visualizer (ti.com)显示距离谱、RD谱图雷达参数估计mmWaveSensingEstimator根据性能设计估计参数雷达项目资料Embedded Software (ti.com)Ti雷达示例及说明书官方论坛Sensors forum - Sensors - TI E2E support forumsTi…

php傻瓜式搭建tcp及websocket服务

网络编程 随着互联网的快速发展,网络应用程序的需求也越来越高。为了使网页更加丰富有趣,许多网站都开始使用套接字(socket)实现网络的实时通信。而 tcp/ip 协议则常常用于实现此类应用程序。 TCP/IP协议是一种工业标准协议,是互联网使用最…

Cheetah3D for Mac - 轻松打造专业级3D作品

对于追求专业级3D作品的设计师来说,Cheetah3D for Mac无疑是一款不可多得的工具。 这款软件拥有强大的建模、渲染和动画功能,能够满足您在3D设计方面的各种需求。通过简单的操作,您可以轻松构建出复杂的3D模型,并为其添加逼真的材…

QT中的容器

Qt中的容器 关于Qt中的容器类,下面我们来进行一个总结: Qt的容器类比标准模板库(STL)中的容器类更轻巧、安全和易于使用。这些容器类是隐式共享和可重入的,而且他们进行了速度和存储的优化,因此可以减少可…

# 从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(4)

从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(4) 一、hystrix:使用 turbine 聚合所有的 hytrix 的监控数据测试。创建父工程 spring_cloud_hystrix_demo,导入相关依赖坐标。并在父工程 spring_cloud_…

牛客NC97 字符串出现次数的TopK问题【中等 哈希+优先级队列 Java/Go】

题目 题目链接: https://www.nowcoder.com/practice/fd711bdfa0e840b381d7e1b82183b3ee 核心 哈希,优先级队列Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返…

AI智能对话系统源码 内置所有支付接口 功能强大 带完整的安装代码包以及安装部署教程

在数字化日益普及的今天,AI智能对话系统已经成为企业与客户沟通的重要桥梁。为了满足市场的需求,罗峰给大家分享一款全新的AI智能对话系统源码,它集成了所有必要的支付接口,功能强大且易于部署。 以下是部分代码示例:…

vue3创建响应式数据ref和reactive的区别

reactive和ref在Vue.js中都是用于创建响应式数据的,但它们之间存在一些区别 定义数据类型不同。ref主要用于定义基本数据类型,如字符串、数字、布尔值等;reactive主要用于定义对象(或数组)类型的数据,但re…

备考2024年小学生古诗文大会:吃透10道历年真题和知识点(持续)

对上海小学生的小升初和各种评优争章来说,语文、数学、英语的含金量较高的证书还是很有价值和帮助的。对于语文类的竞赛,小学生古诗文大会和汉字小达人通常是必不可少的,因为这两个针对性强,而且具有很强的上海本地特色。 根据往…

MM模块学习一(供应商创建,物料类型的定义及功能)

物料管理流程: 源头:采购需求->采购申请 MRP:物料需求计划。运行物料需求计划的结果,根据物料的性质来判断是外购(采购申请)或者是生产(计划订单->生产订单)。 采购申请&am…

Angular基础-搭建Angular运行环境

这篇文章介绍了在Angular项目中进行开发环境搭建的关键步骤。包括node.js安装和配置、安装Angular CLI工具、安装angular-router、创建Angular项目等步骤。这篇文章为读者提供了清晰的指南,帮助他们快速搭建Angular开发环境,为后续的项目开发奠定基础。 …

改进灰狼算法优化随机森林回归预测

灰狼算法(Grey Wolf Optimization,GWO)是一种基于自然界灰狼行为的启发式优化算法,在2014年被提出。该算法模仿了灰狼群体中不同等级的灰狼间的优势竞争和合作行为,通过不断搜索最优解来解决复杂的优化问题。 灰狼算法…

如何使用ESOP电子作业指导书系统提高工作效率?

在当今工业生产和制造领域,实现作业标准化是提高生产效率、保证产品质量、提升企业竞争力的重要途径。而 ESOP 无纸化指导书系统作为一种创新的技术手段,正逐渐成为实现作业标准化的关键所在。 ESOP 无纸化指导书系统通过数字化的方式,将传统…