软件测试基础1--功能测试
1、什么是软件测试?
软件是控制计算机硬件运行的工具。
软件测试:使用技术手段验证软件是否满足使用需求,为了发现软件功能和需求不相符合的地方,或者寻找实际输出和预期输出之间的差异。
软件测试的目的:减少软件缺陷,保证软件质量。
1.1、测试的主流技能
接口测试:使用代码,工具对服务端提供的接口进行测试
功能测试:验证程序的功能是否满足需求文档上的
自动化测试:使用代码或工具代替人工测试
性能测试:模拟多人使用软件情景,查找服务器缺陷(bug)
1.2、测试的分类
按测试的阶段划分:
单元测试:针对程序源代码测试,比如JUnit
集成测试:即接口测试,针对每一个模块提供的访问地址进行测试。
系统测试:对整个系统进行测试,包括功能,兼容性,文档等等测试
验收测试:即内侧,公测,使用不同人群发掘系统缺陷
按代码可见度划分:
黑盒测试:源代码不可见,根据已实现的功能进行测试,对测试人员的代码阅读力较低
灰盒测试:部分代码可见,类似于接口测试。
白盒测试:源代码透明,类似于单元测试。
2、软件的质量模型
质量模型是衡量软件好坏的维度
功能性:功能数量是否正确(不能多不少),功能是否正确的实现,发生错误时是否能正确处理
性能:服务器每秒处理请求数够吗?硬件配置是否能满足?
兼容性:能在不同的操作系统上运行吗?能在不同内核的浏览器(谷歌,IE,火狐,苹果,欧朋)上使用吗?在不同品牌手机上运行正常吗?在不同网络环境下运行正常吗?
易用性:使用方便吗?页面美观吗?系统流畅吗?界面简洁吗?
安全:信息传输,信息存储是加密吗?
可靠性:是否无响应?是否卡顿?是否崩溃(死机)?
可维护性:后期维护服务器时是否方便?
可移植性:数据迁移,更换服务器时,是否方便?
3.测试流程
需求评审:确保各部门理解一致
计划编写:测什么,谁来测,怎么测
用例设计:验证项目是否符合需求文档
用例执行:项目模块开发完成后,进行测试
缺陷管理:项目存在缺陷时,从提出bug到修复bug的全过程
测试报告:实施测试结果文档
3.1、测试用例
用例是什么:是用户使用的案例,测试用例就是为了测试项目而设计的文档
3.1.1、设计测试用例的作用
- 防止漏测
- 实施测试的标准
3.2.2、测试用例编写格式
用例编号:项目_模块_编号
用例标题:预期结果(测试点)
项目/模块:所属项目或模块
优先级:测试用例的重要程度(P0最高)
前置条件:执行用例前要做的操作
测试步骤:描述怎么测试
测试数据:测试时需要输入的数据,没有为空
预期结果:期望达到的结果
3.2、设计测试点的方法
3.2.1、等价类划分
等价类划分适合需要大量输入数据的地方,但是又不能穷举输入测试
适用于表单的输入框,下拉列表,单选复选框
根据需求的长度,类型,规则进行划分
在有效等价类中选一个作为代表,在无效等价类中各选一个作为总共的测试用例
需求1:验证QQ账号的合法性,QQ账号是6-10位的自然数
需求2:验证手机号的合法性
需求3:给你一个花瓶,给出它的测试用例
首先,硬件还要添加一个属性
1属性测试:花瓶大小,重量,材质,外观
2功能性测试:插花,装水,养鱼
3性能测试:防摔,耐高温,耐低温,耐腐蚀,抗压
4兼容性测试:装水,装饮料,装果汁
5易用性测试:防滑,便携,方便使用
6安全性测试:材质健康,不发生化学反应,不易燃易爆
3.2.2、边界值分析
边界范围节点:选取上点,离点,内点
边界值分析一般都要和等价类划分一起使用,先划分等价类,再分析边界值,最后编写用例。适用于有边界范围的输入,至多,至少重量,最大,最少等等。
上点:正好等于边界值的点
离点:距离上点最近的点,左右各一个
内点,合法范围内中的点
需求1:标题大于0,小于等于30个字符
边界值优化,将七个点优化为五个点,即优化离点,开内闭外
开区间保留内离点,闭区间保留外离点
3.2.3、判定表
判定表用于解决多条件的依赖问题,判定表适用于4个条件以下,较少的情况。
根据判定表设计的用例,数量是2的条件桩次方
3.2.4、场景法(流程图)
用流程图表述用户的使用场景,流程图适用于覆盖业务测试,先测试业务,在测试单功能,单页面
3.3.5、错误推断法
通过测试经验,推测系统可能出现,容易出现的问题,只适用于时间紧,任务量大的场景
4、缺陷
缺陷就是软件使用过程中出现的问题,即BUG
4.1、缺陷的判断标准
软件未实现需求规格说明书要求的功能--少功能
软件实现的功能超出需求规格说明书的要求--多功能
软件出现了需求规格说明书中指明不应出现的错误--功能错误
软件没有实现需求规格说明书中未指出但应当实现的要求--隐形功能错误
软件难以理解,体验差,运行缓慢--不易使用
4.2、缺陷产生的原因与生命周期
4.3、发现缺陷后怎么描述
当发现缺陷时,应该怎么办?
首先保证该缺陷可以重现,其次确认为bug,之后才可以提交
4.4、缺陷管理工具
禅道:在禅道上提交,验证,关闭bug
相关文章:
软件测试基础1--功能测试
1、什么是软件测试? 软件是控制计算机硬件运行的工具。 软件测试:使用技术手段验证软件是否满足使用需求,为了发现软件功能和需求不相符合的地方,或者寻找实际输出和预期输出之间的差异。 软件测试的目的:减少软件缺陷…...
《计算机网络》(第8版)第9章 无线网络和移动网络 复习笔记
第 9 章 无线网络和移动网络 一、无线局域网 WLAN 1 无线局域网的组成 无线局域网提供移动接入的功能,可分为两大类:有固定基础设施的和无固定基础设 施的。 (1)IEEE 802.11 IEEE 802.11 是无线以太网的标准,是有固定…...
非负数、0和正整数 限制最大值且保留两位小数在elementpuls表单中正则验证
一、结构 <el-form-item label"单价:" prop"price"><el-inputv-model.trim"formData.price"placeholder"请输入"blur"formMethod.fixTwo"><template #append>(元)</template></el-i…...
Java多线程-----定时器(Timer)及其实现
目录 一.定时器简介: 二.定时器的构造方法与常见方法: 三.定时器的模拟实现: 思路分析: 代码实现: 在开发中,我们经常需要一些周期性的操作,例如每隔几分钟就进行某一项操作,这…...
【Linux修行路】进度条小程序
目录 ⛳️推荐 一、预备知识 1.1 回车换行 1.2 缓冲区 二、倒计时 2.1 注意事项 三、进度条 3.1 源代码 3.2 代码分析 3.2 实际使用场景 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家…...
网络安全入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。
学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了.2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发.3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答.4.遇到实在搞不懂的,可以先放放,以后再来解决. 基…...
【探索Linux】P.44(数据链路层 —— 以太网的帧格式 | MAC地址 | MTU | ARP协议)
阅读导航 引言一、认识以太网二、以太网的帧格式三、MAC地址四、MTU五、ARP协议温馨提示 引言 在深入探讨了网络层的IP协议之后,本文将带领读者进一步深入网络的底层——数据链路层。我们将详细解析以太网的帧格式,这是数据链路层传输数据的基本单元&am…...
<数据集>航拍行人识别数据集<目标检测>
数据集格式:VOCYOLO格式 图片数量:7482张 标注数量(xml文件个数):7482 标注数量(txt文件个数):7482 标注类别数:1 标注类别名称:[people, pedestrian] 序号类别名称图片数框数1people5226385602pedes…...
在 Windows 10 系统上部署 Medusa
先决条件 在安装 Medusa 之前,你需要确保已经安装了以下工具: Node.js: Medusa 需要 Node.js v16 或更高版本。你可以从 Node.js 官网下载并安装。Git: Git 用于从 GitHub 获取 Medusa 的源代码。你可以从 Git 官网下载并安装。PostgreSQL: Medusa 使用…...
Linux进程 (冯诺依曼体结构 管理 PCB 进程状态 僵尸进程 孤儿进程 运行阻塞挂起状态 进程优先级)
文章目录 一.冯诺依曼体系结构冯诺依曼结构能干什么? 二.操作系统概念结构图(不完整)为什么要有操作系统? 尝试理解操作系统管理结构图(完整)总结: 三.进程进程是什么?PCB为什么要有PCB? Linux中的PCB进程的task_struc…...
《LlamaIndex 之美》-01-LLM、Prompt、Embedding基础入门
在基于数据构建任何 LLM 应用程序时,选择合适的大型语言模型 (LLM) 是您需要考虑的首要步骤之一。 LLM 是 LlamaIndex 的核心组成部分。它们可以作为独立模块使用,也可以插入到其他核心 LlamaIndex 模块(索引、检索器…...
C++ 智能指针简单介绍及用法
C 智能指针简单介绍及用法 智能指针是 C11 引入的一个非常实用的特性,旨在自动管理动态分配的内存,避免内存泄漏和悬空指针问题。主要有三种类型的智能指针:std::unique_ptr、std::shared_ptr 和 std::weak_ptr。下面是对它们的详细介绍&…...
k8s笔记之创建Istio Gateway规则
创建Istio Gateway 背景如何创建Istio Gateway规则配置方式rewrite重写路径直接去除match,默认都转发到一个服务路由规则多种配置方式实践(即开头的完整版) 涉及的命令补充注意事项 背景 为什么需要使用到Istio Gateway?充当k8s服…...
NAND行业回归盈利:AI与云存储需求驱动
市场概览 根据Yole Group于2024年6月25日发布的市场报告,经过五个季度的亏损之后,NAND闪存行业在2024年第一季度(1Q24)实现了盈利回归。这一转变主要得益于企业级固态硬盘(SSD)领域的强劲需求增长…...
【限免】频控阵雷达:概念、原理与应用【附MATLAB代码】
微信公众号:EW Frontier QQ交流群:949444104 主要内容 PDA、FDA MATLAB代码 %---------------------------------------- %功能:FDA和相控阵天线方向图 %版本:ver1.0 %时间:2017.11.1 %--------------------------------------- clear all; clc; disp…...
从0开始搭建vue + flask 旅游景点数据分析系统( 六):搭建后端flask框架
这一期开始开发header部分,预期实现两个目标: 创建 Flask 项目导入旅游数据后端实现旅游数据的查询 1 python 环境 & 开发环境 python 安装和pycharm安装需要去网上找包,建议python使用3.8 或者3.9版本 2 新建项目 我们新建一个文件…...
学习硬件测试04:触摸按键+PWM 驱动蜂鸣器+数码管(P62~P67、P71、P72)
一、触摸按键 1.1理论讲解 1.1.1实验现象 触摸按键 1 单击与长按,控制 LED1;触摸按键 2 单击与长按,控制 LED2;触摸按键 3 单击与长按,控制 LED3;触摸按键 4 单击与长按,控制继电器; 1.1.2硬件电路 是原理图上触摸…...
JS原型链
JS的原型链 文章目录 JS的原型链前言一、原型是什么?二、原型链总结 前言 在使用数组或对象中的方法时,你是不是会感觉很奇怪,为什么仅仅是创建了一个数组或是对象,就能够使用它提供的方法呢?JS是怎么做到的呢&#x…...
《Java初阶数据结构》----5.<二叉树的概念及使用>
前言 大家好,我目前在学习java。之前也学了一段时间,但是没有发布博客。时间过的真的很快。我会利用好这个暑假,来复习之前学过的内容,并整理好之前写过的博客进行发布。如果博客中有错误或者没有读懂的地方。热烈欢迎大家在评论区…...
git查看记录详解
文章目录 git查看记录查看文件修改列表查看修改差异友好的查看修改记录结合多个选项查看记录示例输出 git查看记录 使用 git log 你不仅可以查看提交记录,还可以通过一些选项查看文件的修改列表、修改差异,并以更友好的方式查看修改记录。以下是一些常用…...
检索增强生成RAG系列10--RAG的实际案例
讲了很多理论,最后来一篇实践作为结尾。本次案例根据阿里云的博金大模型挑战赛的题目以及数据集做一次实践。 完整代码地址:https://github.com/forever1986/finrag.git 本次实践代码有参考:https://github.com/Tongyi-EconML/FinQwen/ 目录 …...
程序员自我提升的全面指南
程序员自我提升的全面指南 1. 技术基础巩固重要性实践方法 2. 技术栈拓展重要性实践方法 3. 软技能提升重要性实践方法 4. 实践与项目经验重要性实践方法 5. 持续学习与职业规划重要性实践方法 6. 代码质量与优化重要性实践方法 7. 思维与创新能力重要性实践方法 8. 健康与心理…...
【golang】Golang手写元组 tuple | golang tuple
Golang手写元组 tuple 1、源码 如下: package tupletype Tuple[T any, U any] struct {First TSecond U }// zip combines elements of two slices into a slice of pairs (tuples), which is useful for combining related data. func Zip[T any, U any](slice…...
golang中struct的tag -简记
今天 简单整理一下,关于golang中struct的tag type User struct {UId int gorm:"column:uid;type:bigint;unique_index;not null;comment:用户id"Name string json:"name"Age int bson:"age"From string binding:"requi…...
分布式领域扩展点设计稿
分布式领域扩展点设计稿 背景坐标设计理念设计图Quick Start相关组件 背景 随着交易业务和基础知识的沉淀,愈发觉得扩展点可以在大型交易分布式架构中可以做更多的事情。 经过一个月的思考,决定将 单点领域扩展点(savior-ext) 从…...
玩转微信公众号变现:从新手到专家的全攻略
个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] 📱…...
JVM: 方法调用
文章目录 一、介绍二、方法调用的原理1、静态绑定2、动态绑定(1)介绍(2)原理 一、介绍 在JVM中,一共有五个字节码指令可以执行方法调用: invokestatic: 调用静态方法。invokespecial:调用对象…...
测试面试宝典(四十一)—— 接口自动化的优缺点
接口自动化测试的优点: 1. 提高测试效率:能够快速执行大量的测试用例,节省了手动测试重复执行的时间和人力成本。 2. 尽早发现问题:可以在软件开发的早期阶段介入,有助于及时发现接口层面的缺陷,降低修复…...
“火炬科企对接”先进计算产业推进会 | 麒麟信安受邀参加,并签署开源生态合作协议
7月30日,“火炬科企对接”先进计算产业推进会在长沙隆重召开。大会由工业和信息化部火炬高技术产业开发中心、湖南省科学技术厅、湖南省工业和信息化厅、湖南湘江新区管理委员会、中国邮政储蓄银行联合举办。麒麟信安与来自国内先进计算领域的专家学者,2…...
中文网址导航模版HaoWa1.3.1/模版网站wordpress导航主题
HaoWa v1.3.1由挖主题开发的一款网址导航类主题。 HaoWA主题除主体导航列表外,对主题所需的小模块都进行了开放式的HTML编辑器形式的功能配置,同时预留出默认的代码结构,方便大家在现有的代码结构上进行功能调整。 同时加入了字体图标Font …...
仿模板电影网站/新闻最近的大事10件
简述: Kafka模型产生自日志记录场景,受到场景所限,Kafka不需要太高的并发度。而在阿里这样的大规模应用中,我们经过实践发现,原有模型已经不能满足阿里的实际需要。ONS(RocketMQ)则比较好的解决了并发数问题,已经是内部…...
学校网站需求/怎么去推广自己的公司
【瞎BB】 十一长假的最后一天,想到明天要就回去上班了;内心的激动无法用平常的言语来表达,可能是国人的感情向来比较内敛(这个锅不能我一个人背) 也可能是我们比较重行动(Just Do IT)。但... 我还是有写一些什么东西的必要得,那我…...
上海浦东新区科技网站建设/seo网站优化培训怎么样
MySQL 8.0 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 注意:从 MySQL 5.7 升级到 MySQL 8.0 仅支持通过使用 in-place 方式进行升级,并且不支持从 MySQL 8.0 降级…...
嘉兴丝绸大厦做网站的公司/seo优化网站推广
最近工作电脑换成了64位的win7系统,之前个人电脑上安装的jdk和Eclipse都是32位的。而新的工作电脑上安装的JDK是64位的,因为原来的Eclipse自己安装了很多的插件和个性化配置,不想重新安装64位的Eclipse,所以想在64位的win7系统上继…...
wordpress 微博评论插件/网络营销的策划流程
下面是一软件报的一位读者朋友写给‘软件报’编辑的信:。。。。。。。。。。。。。。。。。(删)感谢软件报杨编辑对我的信任,她委托我就上面这位读者朋友的提问给出一些答复。其实,我本人尽管是一位90年代初的计算机软…...
申请网站官网/如何网上销售自己的产品
来源:人民网准确监测方舱医院大量感染患者的生命状况,精确“诊断”大桥工程结构是否存在安全隐患,随时随地获取独居老人在家的健康体征……上海交通大学彭志科教授团队研发的基于微波感知的微动监测与环境智能前瞻技术,像一种神奇…...