软件测试之【软件测试概论一】

读者大大们好呀!!!☀️☀️☀️

🔥 欢迎来到我的博客
👀期待大大的关注哦❗️❗️❗️
🚀欢迎收看我的主页文章➡️寻至善的主页

文章目录

  • 前言
  • 软件生命周期
    • 软件项目开发过程
    • 软件项目组织架构
    • 软件开发相关模型
  • 软件测试过程
    • 什么是软件测试
    • 为什么做软件测试
    • 软件测试过程

前言

题外话:哲学的三连问,很适合我们一开始的学习时的三连问,我是谁(什么是软件测试)?我从哪里来(为什么做软件测试 )?我要干什么(软件测试的过程)?
🔥本软件测试概论系列将分为三篇来带你系统的了解软件测试,分别是:第一篇:软件生命周期(包含软件测试基本概念)与软件测试过程;第二篇:软件测试用例与软件缺陷文档项目训练;第三篇:测试用例设计方法
本文为🚀软件测试概论第一篇,并解决上面所提的三连问,尽情期待下面的阅读吧!!!

软件生命周期

一个软件也和人一样,万事万物的运转都会有生命周期的概念:便是从诞生到灭亡的一系列过程。

软件项目开发过程

软件项目开发一般包括以下几个阶段:项目计划阶段➡️需求分析阶段➡️软件设计阶段➡️软件实施开发阶段➡️软件测试阶段➡️软件运维实施阶段➡️软件评价阶段(用户端)

可能大家开始会有一个疑问,为何没有可行性分析,其实这个可以放在项目计划书里,前言部分对项目的可行性进行分析。
每个阶段都有对应的输出文档分别是:
🚀软件项目计划(SPP:Software Project Plan)
✈️软件需求规格说明书(Software Requirement Specification)
🚌概要设计文档(HLD:HighLevel Design);详细设计文档(LLD:Low Level Design)
🚗 编码与创建数据表
⛵️测试计划、方案、用例、脚本、缺陷报告、总结报告
🚲 实施、运维手册
📖客户评价与反馈

软件项目组织架构

组织架构图
具体责任为:
⭐️项目经理⭐️确定软件项目工作范围;安排项目进度与分配项目工作任务;识别项目风险;估算成本工作量;制定项目标准。
⭐️产品经理⭐️获取需求(访谈、调查、会议、分析);分析需求(功能性、性能性、兼容性、稳定性等);编写需求分析文档。
⭐️系统架构师⭐️系统的架构设计(客服端/服务器端结构设计;系统与数据库服务结构设计;子系统结构设计;模块的接口结构设计)。
⭐️高级开发工程师⭐️系统详细设计(函数、数据库表)。
⭐️开发工程师⭐️根据项目计划、需求、各种设计文档完成开发工作。
⭐️测试工程师⭐️根据计划、需求、设计文档、代码完成各个阶段的测试工作
⭐️运维工程师⭐️给客户进行软件安装、部署、问题解决。

软件开发相关模型

软件开发过程中,需要根据具体情况来运用开发模型。
🅰️顺序开发模型(瀑布模型)
比较晚看到开发成果;测试活动开展比较晚;存在风险;如果中间有需求变化影响范围比较大。适合需求非常稳定的项目,规模比较小简单的项目。
瀑布模型

🅱️迭代增量开发模型
有些需求或者工作还不能完全确定下来,只先计划和去完成已经确定的工作,下一个工作的开始依赖于上一个工作的完成情况进行;
1️⃣增量式的螺旋模型(瀑布+原型)
螺旋模型
2️⃣RUP基于迭代、面向对象的软件开发过程模型
在这里插入图片描述

软件测试过程

什么是软件测试

1️⃣狭义:代码之后检查;找软件代码中的bug;符合预期;考察软件的稳定性;用工具去测试;
2️⃣广义:测试是一个过程包括测试执行前的准备工作(计划、设计、用例)和执行工作;可以通过测试工作验证软件的实现符合需求,可以通过测试工作找出软件中的bug;软件测试要贯穿于整个软件生命周期,不仅仅是代码之后的检查工作;测试工作有静态测试也有动态测试;测试工作可以手工完成也可以通过工具自动化完成;软件测试要考察软件所有方面的表现(功能;性能;兼容;稳定;界面;易用等等)
3️⃣官方(IEEE):使用人工和自动的手段来运行或测试某个系统的过程,其目的在于检验软件是否满足规定的需求或是弄清预期结果与实际结果之间的差别;

为什么做软件测试

👉:证明
🔥20世纪60年代:软件规模非常小,能够100%证明软件没问题,表明软件能工作;
🔥🔥目前:软件规模非常大,无法做穷举测试,不能百分百证明软件没有问题,在项目的初期保证项目的可行性证明基本没有问题,客户验收时证明这个软件可以接受;
👉:检测
🔥 20世纪70年代:软件作坊的兴起,对软件有一定的认识,除了功能我们还要考虑其他表现,比如性能、兼容、界面、异常数据的测试;发现错误
🔥🔥目前:项目中后期通过各种测试,各种合法数据、非法数据找出软件中的各种问题,检查软件的性能表现、兼容性、界面美观性、稳定性;
👉:预防
🔥20世纪90年代;软件的问题是源于多种原因,全面管理质量,人人有责;
🔥🔥目前:软件测试要贯穿于整个软件生命周期;对测试工作的数据进行一系列统计分析,对缺陷进行分析找缺陷的原因

软件测试过程

软件测试是软件开发生命周期中至关重要的一个环节,旨在评估软件系统的质量、发现潜在问题并提高软件系统的可靠性。软件测试通常包括以下几个关键过程:

  1. 测试计划
    制定测试计划,确定测试的范围、目标、资源、进度和策略。确定测试环境和测试工具。
  2. 测试设计
    根据需求和设计文档编写测试用例。确定测试数据、测试场景和测试过程。
  3. 测试执行
    执行测试用例,模拟不同情况下的操作和输入数据。记录测试结果,收集日志和错误报告。
  4. 缺陷管理
    发现问题后,记录缺陷信息,包括问题描述、严重程度、重现步骤等。跟踪和管理缺陷的修复过程,直至问题得到解决。
  5. 回归测试
    对软件进行修改或更新后,执行回归测试,确保修改不会导致其他问题或原有功能受损。
  6. 性能测试
    评估软件在不同负载条件下的性能表现,包括性能、稳定性和可扩展性等方面。
  7. 安全测试
    评估软件系统的安全性,发现潜在的安全风险和漏洞。
  8. 用户验收测试
    邀请最终用户参与测试,以确认软件是否符合用户需求和期望。
  9. 测试报告
    撰写测试报告,总结测试结果、问题和建议,并提出改进建议。

✈️✈️✈️如果喜欢这篇文章的话

🙏大大们可以动动发财的小手:
👉👉👉 点赞:👍收藏:⭐️评论:✍️👈👈👈

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

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

相关文章

深入理解与实践“git add”命令的作用

文章目录 **git add命令的作用****git add命令的基本作用****高级用法与注意事项** git add命令的作用 引言: 在Git分布式版本控制系统中,git add命令扮演着至关重要的角色,它是将本地工作区的文件变动整合进版本控制流程的关键步骤。本文旨…

《乱弹篇(30)厌战的杜诗》

时下地球村有一伙成天叫嚣着“打打杀杀”、鼓吹快快发动战争的狂人,他们视老百姓的生命如草芥,毫不珍惜。没有遭受过战火焚烧的人,也跟着成天吠叫“快开战吧”。然而中国唐朝大诗人却是个“厌战派”,他对战争的厌恶集中表现在诗《…

放大器DC参数测试(1)

放大器DC参数测试(1) Hi,uu们,最近在忙啥呢?想好5.1,端午去哪里玩了吗? 咱们直接开始正题,放大器的DC参数还挺多,在Bench测试中,需要自动化测试,通常需要很多Relay去切换不同的配置去测量不同的参数,在这里瑞萨给出了测试参考电路.如图1所示. 图1:直流关键参数测试电路 Re…

近期分享学习心得4

1、带有多的条件的if的语句 逻辑 || 的简写 if (x true || x 2523 || x 小明) {}// 简化操作if ([true, 2523, 小明].includes(x)) {}2、查找两个数组的交集 var numOne [0, 2, 4, 6, 8, 8]; var numTwo [1, 2, 3, 4, 5, 6]; var cross [...new Set(numOne)].filter(item…

【树莓派】如何刷个系统给树莓派4B,如何ssh登陆到树莓派

文章目录 下载树莓派镜像下载烧写软件烧写编辑设置连接树莓派4B重启ssh查看树莓派IPssh远程连接问询、帮助 下载树莓派镜像 https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit 下载烧写软件 https://www.raspberrypi.com/software/ 烧写 编辑…

python使用redis存储时序数据

import redisdef ts_demo():"""时序数据存储RedisTimeSeries测试"""# 连接到Redisr redis.Redis(hostlocalhost, password"xxxx", port63790, db0)r1 r.ts()# print(r1.get("ts_key"))# print(r.exists(ts_key))# # 清空键…

【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程

文章目录 前言安装教程使用教程 前言 JavaScript文件可能会泄露敏感信息,如注释中的机密信息、内部IP地址,以及包含未授权访问或其他漏洞的URL。手动检查这些信息效率低下,而该工具——LinkFinder,可用于自动收集JavaScript文件中…

CefSharp.WinForms模拟登录

一、新建Web项目 {ViewData["Title"] "Home Page";Layout null; } <script src"~/lib/jquery/dist/jquery.min.js"></script> <script src"~/lib/jquery/dist/jquery.js"></script> <head><scrip…

FairAdaBN论文速读

FairAdaBN: Mitigating Unfairness with Adaptive Batch Normalization and Its Application to Dermatological Disease Classification 摘要 深度学习在医疗研究和应用中变得越来越普遍&#xff0c;同时涉及敏感信息和关键诊断决策。研究人员观察到不同人口统计属性子组之间…

变频器基础原理

文章目录 0. 基本知识1.三相的电压之和为02.正弦交流相量的相量表示法(相量只是表示正弦量&#xff0c;而不等于正弦量 &#xff1b;只有正弦量才能用相量表示)引入相量表示法目的:一种正弦量的产生方式:正弦量的相量表示&#xff0c;使用欧拉公式表示复数 3.用复数表示正弦量&…

基于SpringBoot + Vue实现的医护人员排(值)班系统设计与实现+毕业论文+开题报告

项目介绍 本医护人员排班系统包括管理员&#xff0c;医护。 管理员功能有个人中心&#xff0c;医院信息管理&#xff0c;医护信息管理&#xff0c;医护类型管理&#xff0c;排班信息管理&#xff0c;排班类型管理&#xff0c;科室信息管理&#xff0c;投诉信息管理。 医护人员…

Swift-20-基础数据类型

数据定义 语法规则 先来看下下面的代码 import Cocoavar num1 "four" //a var num2: String "four" //b var num3 4 //c var num4: Int 4 //d上面的几行代码都能正常运行&#xff0c;其中a和b行等价&#xff0c;c和d行等价。区另就在于是否声…

AppWizard的软件开发GUI的使用记录

前言 这个软件是针对于EmWin6.0以上的这个软件在emWin的基础上又封装了一层,也只提供的API函数.基于消息事件为核心&#xff08;个人理解&#xff09;一些组件的之间的交互可以通过软件界面进行配置,比较方便本次是基于模拟器进行测试记录,观察api 按键和文本之间的关联 通过…

基于SpringBoot+Vue七匹狼商城系统的设计与实现

系统介绍 近年来随着社会科技的不断发展&#xff0c;人们的生活方方面面进入了信息化时代。计算机的普及&#xff0c;使得我们的生活更加丰富多彩&#xff0c;越来越多的人使用通过网络来购买各类的商品。早期商品的销售和购买都是通过实体店&#xff0c;这种购买方式需要耗费…

分析和比较深度学习框架 PyTorch 和 Tensorflow

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 深度学习作为人工智能的一个重要分支&#xff0c;在过去十年中取得了显著的进展。PyTorch 和 TensorFlow 是目前最受欢迎、最强大的两个深度学习框架&#xff0c;它们各自拥有独特的特点和优势。 1. Py…

网络编程学习——IO多路复用

目录 ​编辑 一&#xff0c;多路复用 1&#xff0c;IO的分类 2&#xff0c;IO的效率 二&#xff0c;Linux环境下实现通信的多路复用 1&#xff0c;select select的特点&#xff1a; 参数&#xff1a; 操作函数&#xff1a; 返回值&#xff1a; 使用select实现网络通信…

B树和B+树试题解析

一、单项选择题 01&#xff0e;下图所示是一棵&#xff08;A ). A.4阶B树 B.3阶B树 C.4阶B树 D.无法确定 02.下列关于m阶B树的说法中&#xff0c;错误的是( C ). A.根结点至多有m棵子树 B.所有叶结点都在同一层次上 C.非叶结点至…

JAVAEE——IP协议

文章目录 IP协议IP协议报头格式IP协议报头的各个区段四位版本四位首部长度八位服务类型16位总长度16位标识&#xff0c;3位标志&#xff0c;13位片偏移八位生存时间八位协议 地址管理IP地址解决提议1&#xff1a;动态分配Ip地址解决提议2&#xff1a;NAT机制 IP协议 IP协议报头…

超越GPT-4V,苹果多模态大模型上新,神经形态计算加速MLLM(二)

上文介绍基于MINOnets神经网络架构加速多模态大模型的策略&#xff0c;本文将以Spinnaker2多核神经网络芯片EGRU架构为起点&#xff0c;覆盖存内计算架构&#xff0c;介绍新型计算架构在加速大模型推理的作用。SpiNNaker 2是一个设计用于大规模异步处理的多核神经形态芯片&…

openGauss学习笔记-267 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置

文章目录 openGauss学习笔记-267 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置267.1 操作步骤 openGauss学习笔记-267 openGauss性能调优-TPCC性能调优测试指导-网络配置-网卡多中断队列设置 本章节主要介绍openGauss数据库内核基于鲲鹏服务器和openE…