一文带你走进软件测试的大门

news2024/11/16 11:37:51

目录

前言

需求

用户需求

软件需求

从测试人员的角度看需求

测试用例

测试环境

测试数据

预期结果

操作步骤 

为什么要有测试用例

 Bug的概念

世界上的第一个bug

bug的定义

开发模型和测试模型

软件的生命周期

开发模型

瀑布模型

螺旋模型

增量、迭代

敏捷

敏捷中的测试

V模型

W模型


前言

在正式开始进行软件测试之前,我们需要进行前置知识的储备,这篇文章主要是软件测试的基础知识,为了以后正式测试打下坚实的基础.

需求

满足用户期望或正式文档所规定的标准,规范.所具有的条件或者权能,包含用户需求和软件需求.

用户需求

用户需求可以简单的理解为是甲方提出的需求.如果要是没有甲方,就是用户提出的需求

软件需求

把用户的需求转为详细的文档,就是软件需求.软件需求是测试人员进行测试工作的基本依据.

从测试人员的角度看需求

在具体设计测试用例的时候,首先需要搞清楚每一个业务所对应的多个软件功能需求点,然后分析出来每个软件功能需求点对应多个测试功能需求点,然后在针对每个测试功能需求点进行测试用例的设计.

 需求对测试人员的重要性

  • 从软件功能的需求出发,无遗漏的找出测试用例是至关重要的,这将直接关系到测试用例的覆盖率.
  • 对于识别出的每个测试需求点,都要采用具体的设计测试用例的方法,来进行测试用例的设计.

 上面我们对此的提到测试用例,那么我们下面将详细的介绍测试用例.

测试用例

测试用例是为了实施测试为给被测试系统提供的一组集合,包括了测试环境,测试数据,预期结果,操作步骤等.

测试用例主要是为了解决测试什么,怎么测试的问题,

测试环境

例如:LeetCode提供的测试环境,可以在浏览器中打开,浏览器就是测试环境.

测试数据

例如:牛客上面,可以自定义测试数据,后台也提供了一组测试环境.

预期结果

当前测试数据通过100%

操作步骤 

写完代码,点击提交

为什么要有测试用例

测试用例可以提高测试人员的工作效率,减低测试用重复测试的问题.

测试用例是我们建立自动化测试的基础.

接下来我们写一个手机打电话的测试用例:

 Bug的概念

世界上的第一个bug

1945年9月的某天,在一间老式建筑里,从窗外飞进来一只飞蛾,此时Hopper正埋头工作在一台名为 Mark Il的计算机前,并没有注意到这只即将造就历史事件的飞蛾。这台计算机使用了大量的继电器(电 子机械装置,那时还没有使用晶体管)。突然,Mark II死机了。Hopper试了很多次还是不能启动,他 开始用各种方法查找问题,最后定位到了某个电路板的继电器上。Hopper观察这个继电器,惊奇地发 现一只飞蛾已经被继电器打死。Hopper小心地用镊子将飞蛾夹出来,用透明胶布贴到“事件记录本”中, 写上“第一个发现虫子的实例”。Hopper的事件记录本,连同那只飞蛾,现在都陈列在美国历史博物馆 中。 软件错误的一般定义: 程序与规格说明之前不匹配 。

bug的定义

我们在理解bug的过程中需要注意一点,上面的理解并不适用于我们现在的体系结构.

当程序没有实现与最终用户合理预期的功能要求时,就是软件错误(bug).

程序与软件需求不匹配

预期结果与执行结果不符合

开发模型和测试模型

软件的生命周期

软件的生命周期是指一个软件从诞生到消亡的整个过程.

注意:所有互联网软件的诞生都是基于需求诞生的.

软件的生命周期总的来说分为6个部分:

  • 需求分析
  • 计划
  • 设计
  • 编码
  • 测试
  • 运行
  • 维护

开发模型

瀑布模型

 瀑布模型在软件工程中占有重要的地位,是其他模型的基础框架,瀑布模型每一个阶段都只执行一次,因此是线性的进行软件开发的模式.

优点:每个阶段需要做什么,产出什么,都是非常清楚的.

缺点:风险往往都是在后期再显现出来,后期进行纠错的成本是比较高的.

特点:适用于比较小的项目,开发周期短的项目.

螺旋模型

一般在软件开发初期阶段需求不是很明确的时候,采用渐进的开发方式进行开发,螺旋模型是渐进式开发模型的代表之一.

但是这种开发模型,给测试也带来了新的要求,就是测试必须跟着开发的迭代也进行迭代.

优点:强调严格的全过程风险管理。 强调各开发阶段的质量。 提供机会检讨项目是否有价值继续下去.

缺点:引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高的要求。这需要人员、资金和时间的投入.

特点:这个模型一般适用那种大型的,规模大的项目,开发周期长的项目.

增量、迭代

例如开发一个软件,增量就是逐次开发,先开发模块1,然后开发模块2,在开发模块3……

迭代就是先开发模块1一部分,然后开发模块2一部分……

敏捷

轻流程,重交互,拥抱变化.

敏捷宣言:

  • 个体与交互重与过程与工具

  • 可用的软件重于完备的文档

  • 客户的协作重于合同谈判

  • 相应变化重于遵循计划

敏捷中的测试

V模型

  特点:线性的,左边是开发,右边是测试

  优点:每个阶段要干什么事情区分的非常清晰,测试被分为许多类型

  缺点:测试人员介入太晚,测试和开发是串行的。

W模型

  特点:开发一个V测试一个V

  优点:测试人员尽早介入了解需求 测试和开发是并行的。

  缺点:不能拥抱变化,也就是意味着不能适用于敏捷开发。 测试和开发在一定程度上也是串行的。

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

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

相关文章

服务器搭建(TCP套接字)-基础版(客户端)

一、socket 1.1、vim man查看socket :!man socket1.2、 依赖的头文件 #include <sys/types.h> #include <sys/socket.h>1.3、原型 int socket(int domain, int type, int protocol);domain说明AF_INETIPV4协议AF_INET6IPV6协议AF_LOCALUnix域协议 type说明S…

华为云云耀云服务器L实例评测|单节点环境下部署ClickHouse21.1.9.41数据库

文章目录 前言云耀云服务器L实例简介clickhouse数据库简介 一、配置环境购买云耀云服务器L实例查看云耀云服务器L实例状态重置密码查看弹性公网IP地址 FinalShell连接服务器二、搭建ClickHouse单机服务下载ClickHouse安装包解压安装依次解压启动clickhouse相关目录 三、允许远程…

为什么IPIDE代理IP可以帮助TikTok引流?

近期&#xff0c;TikTok菲律宾站点保温杯30天销量破30万&#xff0c;GMV达到近千万人民币。在当今社交媒体迅速崛起的时代&#xff0c;营销策略也在逐渐改变。TikTok作为一款非常热门的短视频社交应用&#xff0c;拥有庞大的用户群体&#xff0c;为跨境企业在国际市场上推广产品…

5个免费样机素材网站,设计必备,赶紧马住!

5个设计师必备的样机素材网站&#xff0c;免费下载~ 1、菜鸟图库 https://www.sucai999.com/searchlist/3217.html?vNTYxMjky 菜鸟图库有多种类型的设计素材&#xff0c;像平面、电商、UI、办公等素材这里面都能找到&#xff0c;样机素材非常丰富&#xff0c;比如服装的、电子…

Arcgis在属性表中添加外部Excel信息

Arcgis在属性表中添加外部Excel信息 现需要把EXCEL中这个每个像元的叶面积指数值&#xff0c;导入每个像元的属性表中。 在点的图层上右击&#xff0c;找到连接和关联&#xff0c;点击连接 字段是用于连接属性表和EXCEL的键&#xff0c;两个字段下的数据都是主键&#xff0…

揭秘梦幻般的Glam风格是什么?

如果你热爱一切漂亮、奢华和总体而言都非常华丽&#xff0c;那么华丽风格可能非常适合你。这种风格从传统的外观出发&#xff0c;通过大量的装饰细节增添了一些华丽的元素&#xff0c;创造出一个令人惊叹、闪闪发光、全方位优雅的外观。如果华丽风格引起了你的兴趣&#xff0c;…

微信小程序自动化发布

参考:https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html 参考:https://www.npmjs.com/package/miniprogram-ci npm install miniprogram-ci -S上传文件 xx.js const isNodeJs typeof process ! undefined && process.release ! null &&…

RabbitMQ消息可靠性(二)-- 消费者消息确认

和生产者的消息确认机制不同&#xff0c;因为消息接收本来就是在监听消息&#xff0c;符合条件的消息就会消费下来。 所以&#xff0c;消息接收的确认机制主要存在三种模式&#xff1a; ①自动确认&#xff0c; 这也是默认的消息确认情况。 AcknowledgeMode.NONE RabbitMQ成功…

Google高性能开源框架gRPC:快速搭建及HTTP/2抓包

一、什么是gRPC gRPC是google发起的一个*远程过程调用&#xff08;rpc&#xff09;*开源框架&#xff0c;可以在任何语言中&#xff0c;用任何编程语言编写。gRPC基于HTTP/2协议&#xff0c;使用Protocol Buffers作为序列化工具。 gRPC官网&#xff1a;https://grpc.io/ RPC …

目标跟踪:Mobile Vision Transformer-based Visual Object Tracking

论文作者&#xff1a;Goutam Yelluru Gopal,Maria A. Amer 作者单位&#xff1a;Concordia University 论文链接&#xff1a;https://arxiv.org/pdf/2309.05829v1.pdf 项目链接&#xff1a;https://github.com/goutamyg/MVT 内容简介&#xff1a; 1&#xff09;方向&#…

使用凌鲨调试网络接口

接口或API是程序员之间进行沟通和协作的重要工具之一。通过接口或API&#xff0c;程序员可以相互调用和共享代码、数据和资源&#xff0c;从而提高协作和开发的效率与便捷性。接口调试的难易程度直接决定了协作的效率。 凌鲨支持主流的接口协议&#xff0c;包括GRPC、OPENAPI/…

Windows PostgreSql 创建多个数据库目录

1 使用默认用户Administrator 1.1初始化数据库目录 E:\Program Files\PostgreSQL\13> .\bin\initdb -D G:\DATA\pgsql\data3 -W -A md5 1.2连接数据库 这时User为Administrator&#xff0c;密码就是你刚才设置的&#xff0c;我设置的为123456&#xff0c;方便测试。 2 添加…

算法leetcode|81. 搜索旋转排序数组 II(rust重拳出击)

文章目录 81. 搜索旋转排序数组 II&#xff1a;样例 1&#xff1a;样例 2&#xff1a;提示&#xff1a;进阶&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 81. 搜索旋转排序数组 II&#xff1…

读取txt文件中的字符串内容并转换成tensor

import os import torch import numpy as np import json# 初始化数据集 dataset ""# 遍历文件夹下的所有文件 folder_path H:/学习资料/代码/python/jupyterlab_project/pytorch/log/ for file_name in os.listdir(folder_path):file_path os.path.join(folder_p…

【计算机网络】网络入门基础

文章目录 1. 网络发展历史2. 认识协议OSI七层协议 3. TCP/IP协议网络与操作系统 4. 数据传输流程4.1 数据包的封装和分用4.2 同一局域网两台主机的通信4.3 跨一个路由器的两个局域网的通信 5. 网络中的地址管理IP地址MAC地址 1. 网络发展历史 &#x1f4a8;计算机网络的发展历…

C/C++数1的个数 2019年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C数1的个数 一、题目要求 1、编程实现 2、输入输出 二、解题思路 1、案例分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 C/C数1的个数 2019年9月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 给定一个十进制正整数n&#xff0c;写下…

奇点云:企业级数据基础设施的设计思路是“操作系统”

「数据场景复杂多变&#xff0c;只能不断推倒重构&#xff1f;」 近日&#xff0c;在《数据云场景指南》线上发布会&#xff0c;“数据云操作系统”同期亮相。奇点云合伙人、CTO地雷谈到&#xff0c;企业级数据基础设施应采用“操作系统”的设计&#xff0c;来帮助企业应对多云…

uniapp 模糊搜索(小白必看)

实现模糊搜索很简单,按照下面的步骤: 1. 搜索栏 <view class"search-box"><uni-search-bar class"uni-mt-10" radius"100" placeholder"请输入移交信息" clearButton"auto" bgColor"#F8F8F8"cancelBut…

安卓核心板开发板的操作系统版本有哪些?

安卓核心板也就是安卓主板平台&#xff0c;一般是指芯片主板硬件平台以及系统开发平台的总称。采用ARM应用处理器平台运行google的android智能化操作系统&#xff0c;是将核心功能封装的一块电子主板&#xff0c;集成芯片、存储器和功放器件等&#xff0c;并提供标准接口的芯片…

【天罡传】李星云终成袁天罡?何为不良帅?特立独行的帅气之道

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 随着《画江湖之天罡传》的即将上映&#xff0c;越来越多的小伙伴们开始对这位神秘人物袁天罡产生了浓厚的兴趣。他是剧中一个极具权谋和智谋的角色&#xff0c;也是李星云一直试图摆脱的影子。在这篇文章中&am…