学习笔记—功能测试的基础认知

news2024/11/15 15:59:09

除了测试工作之外,其他流程并行

优点:

软件测试出测试执行外,还有很多工作

软件测试完全独立,其他流程并发进行

具有很强的灵活性

缺点:

管理型要求高

技能要求高

测试就绪点分析困难

测试用例的定义

  测试用例(test case)是为特定的目的而设计的一组测试输入、执行条件和预期的结果,一边测试是否满足某个特sing的需求

测试用例的八要素

  包括用例编号、用例标题、测试项目、用例级别、预置条件、测试输入、执行步骤、预期结果

测试常见方法

等价类划分法

划分为:

有效等价类:满足要求的

无效等价类:不满足要求的

设计步骤

1、明确需求

2、确定有效和无效等价类

3、编写测试用例:对于所有的无效等价类,测试用例要尽量全覆盖,一条测试用例尽可能地覆盖多有有效等价类

ps:测试是无法穷尽的,可以输入具有代表性的子集。

例子

地区码:空白或者三位数字

有效等价类:空白或者三位数字

无效等价类:非空白或者不是三位数字或者非数字

前缀:非‘0’或非‘1’开头的三位数字

有效等价类:非‘0’或非‘1’开头的三位数字

无效等价类:‘0’或‘1’开头的三位数字或者不是3位数字或者非数字

后缀:4位数字

有效等价类:4位数字

无效等价类:非4位数字或者非数字

案例

注册新用户

用户名(昵称)长度为3-19:以字母开头(可能需求文档存在错误)

有效等价类:长度为3-19:以字母开头后面位数字

无效等价类:<3或者>19位  不是以字母开头3-19位,中文,空格,空,特殊字符,小数,敏感词汇

登录名称:非空

有效等价类:非空

密码:非空

有效等价类:非空

确认密码:值和密码相同

有效等价类:值和密码相同

边界值分析法

上点:边界上的点(正好等于)

离点:距离上点最近的点

内点:范围内的点

判定表法

定义

有多个输入和多个输出,而且输入与输入之间有相互的组合关系,输入和输出之间有相互的制约和依赖关系

四个组成部分

条件桩、动作桩、条件项、动作项

判定表的设计步骤

1、明确条件桩

2、明确动作桩

3、对条件桩进行组合

4、明确每个组合对应的动作桩

5、设计测试用例,每列数据对应一条测试用例

案例

订购单的检查,如果金额大于500元,又未过期,则发出批准单和提货单;如果金额大于500元,但过期了,则不发批准单;如果金额小于等于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。

因果图法

A、恒等

B、非恒等(不是a则不是结果b)

C、或者(多个条件a1、a2、a3,有一个条件出现就出现b)

D、与(多个条件a1、a2、a3,全部条件出现就出现b)

基本步骤

用数字标识输入和输出

画出因果图

将因果图转换为判定表

生成测试用例

适用范围

题目中有多个输入和多个输出,而且输入和输入之间有相互组合关系,输入和输出之间有相互的制约和依赖关系

案例

如想对文件进行修改,输入的第一列字符必须是A或者B,第二列字符必须是一个数字,如果第一列字符不正确则给出信息L,如果第二列字符不正确,则给出信息M

场景法

模拟用户正常操作流程

基本流

按照正确的业务流程来实现的一条操作路径

备选流

导致程序出现错误的操作流程(模拟错误的流程)

场景法基本操作步骤

1、确定基本流和备选流

2、依据基本流和备选流确定场景

3、一条场景就是一条测试用例

案例

用户进入一个在线购网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。

流程图法

圆角矩形  开始/结束

箭头符号  路径  流程进行方向

平行四边形  数据  数据的输入或输出

长方形  处理  表示执行或者处理某项工作

菱形  判定  表示对某个条件做判断

流程图法步骤

1、画出业务流程

2、写用例,覆盖所有的路径分支

错误推测法

使用场景

项目紧任务急、时间不够,这时就不要按部就班的测试了,根据之前项目的经验,找到之前出错过的类似模块进行重点测试;所有正常测试结束后,通过错误推断法再测试一些之前出过问题的模块。

正交法

一种特制的表,一般的正交表标记为:Ln(mk)

n表示行数,也就是需要测试组合的次数

k是表的列数,表示控件的个数(因素的个数,或是因子个数)

m是每个控件包含的取值个数(各因素的水平数,即各因素的状态数)

举例如:L9(3 4)4因素3水平(4个控件3个取值)有9条测试用例

正交法设计测试用例步骤

1、根据需求形成因子状态表----->因子:控件名称状态:每个控件对应的取值

2、确定所采用的正交表

3、将正交表中的字母用文字代替

4、一行就是一条测试用例

因子状态表

见连接:http://support.sas.com/techsup/technote/ts723_Designs.txt

例子

假设查询某个人时有三个查询条件(查询条件仅考虑填写和不填写两种情况):

根据“姓名”进行查询

根据“身份证号码”查询

根据“手机号码”查询

工具

正交设计助手

allpairs工具

软件缺陷

定义:bug或者defect(软件缺陷指的是存在于软件中那些不符合用户需求的问题)

表现形式

1、软件为达到需求说明书标明的功能

2、软件出现了需求规格说明书中指明不会出现错误的地方

3、软件的功能超出了需求规格说明书指明的范围

4、软件出现了需求规格说明书虽未指明,而应该达到的目标

5、软件测试人员认为软件难以理解,不易使用,运行速度慢,或者最终用户体验不好

软件缺陷产生的原因

1、需求解释、记录或者定义错误

2、设计文档说明存在错误或者拼写错误

3、编码说明、程序代码有误

4、硬件或者软件系统上存在错误

软件产生的根源

1、需求的变化

2、交流不充分

3、软件的复杂性

4、开发人员的错误

5、进度压力

软件缺陷的信息

缺陷id

⭕️缺陷状态 - new:新建缺陷 - open:打开缺陷 - fixed :修复缺陷 - close:关闭缺陷  reopen:再次打开  postpone:推迟修复  rejected拒绝

⭕️缺陷标题

⭕️缺陷的严重程度(5-critical 致命缺陷  4-veryhigh 严重缺陷  3-high 一般缺陷  2-medium 一般缺陷        1-low 细微缺陷)

⭕️缺陷的优先级(根据公司的规定的优先级标准)

⭕️缺陷所属模块

缺陷记录者

缺陷提交时间

缺陷的处理人

处理结果描述

缺陷处理时间

缺陷验证人

验证结果描述

⭕️缺陷详细描述

缺陷环境说明

必要的附件

缺陷的分类

系统缺陷

数据的缺陷

数据库的缺陷

接口缺陷

功能缺陷

安全性缺陷

兼容性缺陷

性能缺陷

界面缺陷

建议

注意事项

1、尽量确保缺陷可以重现

2、简洁、准确、完整

3、一个缺陷一条记录(禅道或者其他bug管理平台)

缺陷的跟踪

研发修改完bug后进行回归测试,如果还是存在bug激活bug让研发继续修复,注意回归不仅仅只是测试研发改的bug而是系统性的测试(可以选择执行自己测试用例的12级用例,因人而异),避免研发改完其他模块或者功能出现bug。

缺陷的统计

1、缺陷按活动分布

用例评审-第一轮-第二轮-第三轮-用户手册评审-验收测试-其他

2、缺陷按严重程度分布

致命-严重-一般-提示

3、缺陷按引入源分布

产品需求-系统设计-软件设计-概要设计-详细设计-代码-测试

缺陷的数据分析

正在测的软件哪个模块的问题最多

测试人员中谁报告的软件缺陷最多

各类缺陷所占的数量百分比分别是多少

开发人员能及时修复软件缺陷吗

开发人员一次正确修复缺陷的百分比是多少

正在开发的软件能否在计划的时间内正常发布

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

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

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

相关文章

Java List集合取交集的八种不同实现方式

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在Java中&#xff0c;取两个List集合的交集可以通过多种方式实现&#xff0c;包括使用Java 8的Stream API、传统的for循环遍历、使…

DeepLearning in Pytorch|我的第一个NN-共享单车预测

目录 概要 一、数据准备 导入数据 数据可视化 二、设计神经网络 版本一 版本二&#xff08;正片&#xff09; 三、测试 小结 概要 我的第一个深度学习神经网络模型---利用Pytorch设计人工神经网络对某地区租赁单车的使用情况进行预测 输入节点为1个&#xff0c;隐含…

安装及管理docker

文章目录 1.Docker介绍2.Docker安装3.免sudo设置4. 使用docker命令5.Images6.运行docker容器7. 管理docker容器8.创建image9.Push Image 1.Docker介绍 Docker 是一个简化在容器中管理应用程序进程的应用程序。容器让你在资源隔离的进程中运行你的应用程序。类似于虚拟机&#…

PyTorch基础(20)-- torch.gt() / torch.ge() / torch.le() / torch.lt()方法

一、前言 嗯……最近遇到的奇奇怪怪的方法很多了&#xff0c;学无止境啊&#xff01;学不完啊&#xff0c;根本学不完&#xff01;本篇文章介绍四个方法&#xff1a;torch.gt()、torch.ge()、torch.le()和torch.lt()方法&#xff0c;由于这四个方法很相似&#xff0c;所以放到…

灯塔:CSS笔记(2)

一 选择器进阶 后代选择器&#xff1a;空格 作用&#xff1a;根据HTML标签的嵌套关系&#xff0c;&#xff0c;选择父元素 后代中满足条件的元素 选择器语法&#xff1a;选择器1 选择器2{ css } 结果&#xff1a; *在选择器1所找到标签的后代&#xff08;儿子 孙子 重孙子…

Docker常见命令使用

Docker命令是使用Docker的基础。这里记录下Docker日常运维过程中经常使用到的一些命令&#xff0c;更全面的命令还请参考Docker官网。 docker用法概述 Docker命令可以通过CLI工具实现与服务器的交互。Docker命令的语法如下&#xff1a; docker [DOCKER-COMMAND] [OPTIONS] […

【高效开发工具系列】Windows 系统下将 Windows 键盘的 ctrl 和 alt 互换

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

vscode 配置opengl (glut), lib链接可参考

这里假定你已经配置好基础的vscode c环境 json介绍 这里其实主要配置的3种json, vscode其实就是通过launch.json和tasks.json来自动生成指令的 launch.json 这个用于启动程序用的&#xff0c;但是由于其可以指定preLaunchTask-即在启动之前需要做什么事情&#xff0c;所以这…

【面试精讲】Java动态代理是如何实现的?JDK Proxy 和 CGLib 有什么区别?

Java动态代理是如何实现的&#xff1f;JDK Proxy 和 CGLib 有什么区别&#xff1f; 目录 一、Java动态代理的实现 1、使用JDK Proxy实现动态代理 2、使用CGLib实现动态代理 二、JDK Proxy 与 CGLib 的区别 三、Spring中的动态代理 四、 Lombok代理原理 总结 前言 本文…

做跨境电商,选哪个浏览器好?跨境电商浏览器推荐

在我们的日常生活中&#xff0c;有很多浏览器可供选择&#xff0c;比如百度浏览器、谷歌浏览器和360、火狐等等。但是在跨境电商行业中&#xff0c;是否有特别适合我们卖家使用的浏览器呢&#xff1f;所谓跨境电商浏览器&#xff0c;就是为跨境电商用户设计的浏览器&#xff0c…

【LeetCode 算法专题突破】---二分查找(⭐⭐⭐)

前言 我在算法题目的海洋中畅游已久&#xff0c;也曾在算法竞赛中荣获佳绩。然而&#xff0c;我发现自己对于算法的学习&#xff0c;还缺乏一个系统性的总结和归类。尽管我已经涉猎过不少算法类型&#xff0c;但心中仍旧觉得有所欠缺&#xff0c;未能形成完整的算法体系。 因…

官方阴阳怪气?双标?《Nature》专访《中科院预警名单》,中国作者为何炸裂?

毕业推荐 SCIE&#xff1a; • 计算机类&#xff0c;6.5-7.0&#xff0c;JCR1区&#xff0c;中科院2区 • 2个月19天录用&#xff0c;6天见刊&#xff0c;36天检索 SCI&EI&#xff08;CCF-C类&#xff09; • 算法类&#xff0c;2.0-3.0&#xff0c;JCR3区&#xff0c…

Springboot+vue的养老院管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的养老院管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的养老院管理系统&#xff0c;采用M&#xff08;model&#xff09;V&…

SpringBoot 多平台文件配置

目录 一 主配置文件和辅配置文件 二 具体使用 1. 通过直接修改 application.yml 中的属性值 2. 通过 maven 进行配置修改 当我们需要部署项目的时候, 肯定会遇到不同的部署环境下, 需要有不同的配置. 例如开发环境下和生产环境下的配置肯定就不会是完全相同的, 如数据库的…

pytorch 批量归一化BatchNorm的BatchNorm1d和BatchNorm2d理解

BatchNorm即批量归一化&#xff0c;是深度学习中经常用到的加速神经网络训练&#xff0c;加速收敛速度及稳定性的算法&#xff0c;是神经网络训练必不可少的一部分。 BatchNorm作用&#xff1a;在进行批量训练过程中&#xff0c;每个batch具有不同的分布&#xff0c;使数据分布…

图片二维码不限扫码次数怎么做?长期有效的图片二维码在线生成技巧

图片制作二维码能长期使用吗&#xff1f;在生活中很多地方都可以看到很多存有图片的二维码&#xff0c;通过扫码后查看图片内容&#xff0c;比如一些公共场所、产品介绍、景区等场所中都有图片转二维码的应用。那么怎么做出可以长期扫码展示图片二维码呢&#xff0c;其实方法很…

CSS 弹性盒子模型

它主要是在一个大的容器当中里面子元素的一个设置。一个大的盒子里面里面的子元素如何摆放由我们的弹性盒子说的算。 之前的盒子模型是一个元素&#xff0c;内边距外边距&#xff0c;边框来调整在页面所显示的位置。 弹性盒子&#xff0c;在大容器里面&#xff0c;里面有很多…

基于C++的配置文件解析器/编码器——toml库

在平常的软件开发过程中&#xff0c;配置文件是重要的一环&#xff0c;使用配置文件在软件开发过程中具有以下好处和必要性&#xff1a; 灵活性&#xff1a;配置文件允许在不修改代码的情况下更改应用程序的行为&#xff0c;通过修改配置文件&#xff0c;可以调整应用程序的参…

智能合约语言(eDSL)—— proc_macro实现合约init函数

我们通过属性宏来实现合约的init函数&#xff0c;call函数其实和init是类似的&#xff1b; GitHub - XuHugo/xwasm 构建属性宏&#xff0c;要在cargo.toml里面设置一些参数&#xff0c;这是必须的。一般来说&#xff0c;过程宏必须是一个库&#xff0c;或者作为工程的子库&…

LabVIEW质谱仪开发与升级

LabVIEW质谱仪开发与升级 随着科技的发展和实验要求的提高&#xff0c;传统基于VB的质谱仪系统已经无法满足当前的高精度和高效率需求。这些系统通常存在着功能不全和操作复杂的问题&#xff0c;影响了科研和生产的进度。为了解决这些问题&#xff0c;开发了一套基于LabVIEW开…