软件测试与开发流程

news2024/9/22 21:14:50

软件测试简介

        软件测试是对软件进行检测和评估,以确定其是否满足所需结果的过程和方法。它是在规定的条件下对程序进行操作,发现程序错误,从而衡量软件质量,并对其是否满足设计要求进行评估的过程。

        与计算机系统操作有关的计算机程序文档数据都可称为软件。程序、文档、数据这三者结合起来就是完整的软件。

软件开发模型

瀑布模型

优点:软件开发的各个阶段比较清晰,强调早期计划和需求调查,比较适合需求稳定的产品开发

缺点: 整个过程是线性的,测试排在最后,系统的早期错误可能后期才能被发现。

敏捷开发模型

适用于产品需求频繁变化和产品需要快速开发的场景。常见的敏捷开发模型有XP和Scrum。

XP(Extreme Programming,极限编程)

XP是一种近螺旋式的开发模型。它是把复杂的周期分解为一个个相对简单的小周期。极限编程从编程方法、小组实践、交付与发布三个维度来组织开发流程。

Scrum 

在Scrum模型中,最基本的概念就是Sprint。Sprint通俗来说就是一个迭代周期。

DevOps开发模型 

        DevOps(Dev和Ops的组合词)涉及软件整个开发生命周期中的各个阶段。DevOps是一个非常关注开发人员(Dev)、运维人员(Ops)以及测试人员之间沟通合作的开发模型。DevOps是通过自动化方式完成软件测试交付流程的,以便在构建、测试、发布软件能够更加快捷、频繁和可靠的运行。

 DevOps生命周期:

 (1)持续开发

  • 计划阶段
  • 编码阶段
  • 构建阶段

(2)持续测试

(3)持续集成(CI)

(4)持续部署

(5)持续监控

常见测试流程

单元测试

单元测试是对软件中的基本组成单位进行的软件测试。目的是检验软件的基本组成单位的正确性 

测试方法:白盒测试

集成测试  

集成测试是对软件系统集成过程中进行的测试,目的是检查软件模块之间的接口是否正确

测试方法:黑盒与白盒结合

冒烟测试

冒烟测试是在软件开发过程中针对软件基本功能的一种快速验证,是对软件基本功能进行确认验证的手段

测试方法:黑盒测试(手工或自动化测试方式)

系统测试

系统测试是对已集成好的软件系统进行彻底的测试,验证软件系统的正确性和性能等是否满足其规约所指定的要求。一般系统的主要测试工作都集中在系统测试阶段。在系统测试中,又包括功能测试、性能测试、安全测试、兼容性测试

测试方法:黑盒测试

验收测试

验收测试是部署软件之前的最后一种测试。验收测试的目的是确保软件准备就绪。

测试方法:黑盒测试

软件测试模型

V模型

V模型是开发模型中瀑布模型的一种改进。瀑布模型将软件生命周期划分为计划、分析、设计、编码、测试和维护这六个阶段。V模型改进了瀑布模型的缺点,在软件开发时期,开发活动和测试活动几乎同时开始。 

优点:明确标注了测试过程中存在着哪些不同的测试类型,并且可以清楚地表达测试和开发各阶段的对应关系。

缺点:顺序性,进入测试后发现的bug不容易找到根源。如果有较大的需求变更,会导致返工量较大。

W模型

W模型是从V模型演化过来,相对于V模型,在软件各开发阶段中W模型增加了应同步进行的验证和确认环节。W模型由两个V组成,分别代表测试过程和开发过程。测试与开发同步进行,有利于尽早、全面地发现系统中的问题。

优点:测试与开发同步进行,而且测试对象不仅仅是程序,还包括需求和设计。这样可以尽早发现软件缺陷,降低软件开发成本。

缺点:开发与测试依然是线性关系,项目的需求变更和调整依然不方便。如果前期工作中没有产生文档,根本无法执行W模型。

H模型 

H模型把测试完全独立出来,形成一个完成独立的工作。将测试准本工作和测试执行工作清晰地体现出来。

图中的其他流程可以是任意的开发流程。测试流程是灵活的,只要满足测试条件,并且完成测试准备活动,测试就可以进行了。

优点:在H模型中软件测试活动可以尽早准备、尽早执行,具有很强的灵活性。而且软件测试可以根据被测对象的不同而分层次、分阶段、分次序执行,同时也是可以被迭代的。

缺点:对于项目管理要求很高、对于测试人员的技能要求也很高、测试就绪点的分析也比较困难。

3种测试模型对比:

  • V模型适用于中小企业
  • W模型适用于中大型企业
  • H模型对测试人员的技能要求非常高,使用比较少 

系统测试工作流程

 Bug管理流程

 

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

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

相关文章

昇思25天学习打卡营第2天|MindSpore快速入门

打卡 目录 打卡 快速入门案例:minist图像数据识别任务 案例任务说明 流程 1 加载并处理数据集 2 模型网络构建与定义 3 模型约束定义 4 模型训练 5 模型保存 6 模型推理 相关参考文档入门理解 MindSpore数据处理引擎 模型网络参数初始化 模型优化器 …

优化路由,优化请求url

1、使用父子关系调整下使其更加整洁 2、比如说我修改了下url,那所有的页面都要更改 优化:把这个url抽出来,新建一个Api文件夹用于存放所有接口的url,在业务里只需要关注业务就可以 使用时 导包 发请求 如果想要更改路径,在这里…

ReAct Agent 分享回顾

在人工智能的迅速发展中,ReAct Agent作为一项前沿技术,受到越来越多的关注。本文结合ReAct Agent 提出者的访谈内容,探讨ReAct Agent的研究背景、技术挑战、未来展望,以及它与大模型的紧密联系,分析其科研成果与商业化…

迅捷PDF编辑器合并PDF

迅捷PDF编辑器是一款专业的PDF编辑软件,不仅支持任意添加文本,而且可以任意编辑PDF原有内容,软件上方的工具栏中还有丰富的PDF标注、编辑功能,包括高亮、删除线、下划线这些基础的,还有规则或不规则框选、箭头、便利贴…

使用Docker、Docker-compose部署单机版达梦数据库(DM8)

安装前准备 Linux Centos7安装:https://blog.csdn.net/andyLyysh/article/details/127248551?spm1001.2014.3001.5502 Docker、Docker-compose安装:https://blog.csdn.net/andyLyysh/article/details/126738190?spm1001.2014.3001.5502 下载DM8镜像 …

动态颤抖的眼睛效果404页面源码

动态颤抖的眼睛效果404页面源码, 源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 动态颤抖的眼睛效果404页面源码

【密码学】密码学五要素

密码学五要素是密码系统的基本组成部分,这五个要素共同构成了密码系统的框架。在实际应用中,密码系统的安全性依赖于密钥的安全管理以及算法的强度。 如果任何一方被泄露或破解,那么整个密码系统都将面临风险。因此,在设计和使用密…

关于多人开发下git pull报错代码冲突问题的解决方案

关于多人开发下git pull报错代码冲突问题的解决方案 问题描述 最近多人开发项目习惯性先 git pull 来更新代码的时候,遇到了下面的问题:error: Your local changes to the following files would be overwritten by merge: Please, commit your change…

医疗器械FDA | FDA如何对医疗器械网络安全认证进行审查?

FDA医械网络安全文件出具​https://link.zhihu.com/?targethttps%3A//www.wanyun.cn/Support%3Fshare%3D24315_ea8a0e47-b38d-4cd6-8ed1-9e7711a8ad5e FDA对医疗器械的网络安全认证进行审查时,主要关注以下几个方面,以确保医疗器械在网络环境中的安全性…

vulhub靶场之DEVGURU:1

1 信息收集 1.1 主机发现 arp-scan -l 发现主机IP地址为“192.168.1.11 1.2 端口发现 nmap -sS -sV -A -T5 -p- 192.168.1.11 发现端口为:22,80,8585 1.3 目录扫描 dirsearch -u 192.168.1.11 发现存在git泄露 2 文件和端口访问 2…

力扣5----最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串 示例 1: 输入:s "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。示例 2: 输入:s "cbbd" 输出…

嵌入式通信协议全解析:SPI、I²C、UART详解(附带面试题)

目录 一、什么是通信 二、 通信的分类 同步通信(Synchronous Communication) 异步通信(Asynchronous Communication) 不同协议标准区分图: UART UART的特点: UART的通信过程: UART的配置…

Linux多进程和多线程(四)进程间通讯-定时器信号和子进程退出信号

多进程(四) 定时器信号alarm()函数示例alarm()函数的限制定时器信号的实现原理setitimer()函数setitimer()和alarm()函数的区别 setitimer() old_value参数的示例 对比alarm()区别总结: 子进程退出信号 示例: 多进程(四) 定时器信号 SIGALRM 信号是用来通知进程…

ctfshow web 36d 练手赛

不知所措.jpg 没啥用然后测试了网站可以使用php伪达到目的 ?filephp://filter/convert.base64-encode/resourcetest/../index.<?php error_reporting(0); $file$_GET[file]; $file$file.php; echo $file."<br />"; if(preg_match(/test/is,$file)){inclu…

统一视频接入平台LntonCVS视频监控平台具体功能介绍

LntonCVS视频监控平台是一款基于H5技术开发的安防视频监控解决方案&#xff0c;专为全球范围内不同品牌、协议及设备类型的监控产品设计。该平台提供了统一接入管理&#xff0c;支持标准的H5播放接口&#xff0c;使其他应用平台能够快速集成视频功能。无论开发环境、操作系统或…

24-7-6-读书笔记(八)-《蒙田随笔集》[法]蒙田 [译]潘丽珍

文章目录 《蒙田随笔集》阅读笔记记录总结 《蒙田随笔集》 《蒙田随笔集》蒙田&#xff08;1533-1592&#xff09;&#xff0c;是个大神人&#xff0c;这本书就是250页的样子&#xff0c;但是却看了好长好长时间&#xff0c;体会还是挺深的&#xff0c;但看的也是不大仔细&…

《第一行代码》小结

文章目录 一. Android总览1. 系统架构2. 开发环境3. 在红米手机上运行4. 项目资源详解4.1 整体结构4.2 res文件4.3 build.gradle文件 二. Activity0. 常用方法小结1. 创建一个Activity 一. Android总览 1. 系统架构 应用层&#xff1a;所有安装在手机上的应用程序 应用框架层&…

vb.netcad二开自学笔记3:启动与销毁

Imports Autodesk.AutoCAD.ApplicationServicesImports Autodesk.AutoCAD.EditorInputImports Autodesk.AutoCAD.RuntimePublic Class WellcomCADImplements IExtensionApplicationPublic Sub Initialize() Implements IExtensionApplication.InitializeMsgBox("net程序已…

字节跳动与南开联合开源 StoryDiffusion:一键生成漫画和视频故事的神器!完全免费!

大家好&#xff0c;我是程序员X小鹿&#xff0c;前互联网大厂程序员&#xff0c;自由职业2年&#xff0c;也一名 AIGC 爱好者&#xff0c;持续分享更多前沿的「AI 工具」和「AI副业玩法」&#xff0c;欢迎一起交流~ 漫画&#xff0c;是多少人童年的回忆啊&#xff01; 记得小学…

Sahi+Yolov10

一、前言 了解到Sahi&#xff0c;是通过切图&#xff0c;实现提高小目标的检测效果。sahi 目前支持yolo5\yolo8\mmdet\detection2 等等算法&#xff0c;本篇主要通过实验onnx加载模型的方式使sahi支持yolov10。 二、代码 &#xff08;1&#xff09;转换模型 首先使用 conda创…