【运维测试】测试理论+工具总结笔记第1篇:测试理论的主要内容(已分享,附代码)

本系列文章md笔记(已分享)主要讨论测试理论+测试工具相关知识。Python测试理论的主要内容,掌握软件测试的基本流程,知道软件测试的V和W模型的优缺点,掌握测试用例设计的要素,掌握等价类划分法、边界值法、因果图法、判定表法。了解缺陷的定义,知道缺陷的详细信息。了解禅道、Jire的安装配置,掌握禅道的使用,包括角色的常见、缺陷状态的修改。

全套笔记和代码移步gitee仓库: gitee仓库获取完整文档和代码

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~


共 5 章,16 子模块

Python测试理论的主要内容
  • 软件测试的基本理论

    • 掌握测试的定义
    • 掌握测试的分类
    • 掌握测试的基本流程
    • 掌握测试的基本 原则
  • 测试用例

    • 掌握测试用例编写的要素
    • 掌握编写测试用例
  • 缺陷

    • 了解什么是缺陷
    • 了解缺陷管理的好处
    • 了解缺陷报告的内容
  • 缺陷管理工具

    • 禅道
    • Jire

参考:

  1. Jira中文官网
  2. 禅道官网
  3. google软件测试之道
  4. 优质代码:软件测试的原实践与模式

学习目标

  • 掌握软件测试的基本流程

  • 知道软件测试的V和W模型的优缺点

  • 掌握软件测试的分类

软件测试的发展

测试发展

1960年代是调试时期(测试即调试)

1960年 - 1978年 论证时期(软件测试是验证软件是正确的)和 1979年 - 1982年 破坏性测试时期(为了发现错误而执行程序的过程)

1983年起,软件测试已有了行业标准(IEEE829),它需要运用专门的方法和手段,需要专门人才和专家来承担。

1990年起软件迅速发展,测试行业也更着发生了巨大变化,开始引入专业测试工具

什么是软件测试

在规定条件下对程序进行操作,从而发现错误,对软件质量进行评估的一个过程.

软件测试的目的

是想以最少的人力,物力和时间找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。

**注意:**不要和软件测试的定义混淆

软件测试的定义

使用人工或自动手段来运行或测试摸个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果和实际结果之间的差别.

软件开发过程模型

软件开发流程

软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。

软件开发过程模型是软件开发人员在公司里工作的过程.

常见的软件开发过程模型

  • 瀑布模型
  • 快速原型模型
  • 增量模型
  • 螺旋模型

1. 瀑布模型


瀑布模型

1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。

瀑布模型将软件生命周期划分为制定计划、需求分析、系统设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

1.1 核心思想

瀑布模型核心思想

在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。

1.2 地位

瀑布模型是最早出现的软件开发模型, 在软件工程中占有重要的地位,它提供了软件开发的基本框架.

1.3 优缺点

优点:

1. 为项目提供了按阶段划分的检查点,软件开发的每个阶段都很清晰明了2. 当前阶段完成后,只要去关注后续阶段3. 可在迭代模型中每轮迭代很类似于一个小的瀑布模型4. 它提供了一个模版,这个模版使得分析、设计、编码、测试可以在改模版下有一个共同的指导

缺点:

  1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量
  2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险
  3. 突出缺点是不适应用户需求的变化
  4. 软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心

4). 使用范围

  • 用户的需求非常清楚全面,且在开发过程中没有或很少变化;
  • 开发工作对用户参与的要求很低。

2. 快速原型模型


快速原型模型

快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。

2.1 核心思想

快速原型是利用原型辅助软件开发的一种新思想。经过简单快速分析,快速实现一个原型,用户与开发者在试用原型过程中加强通信与反馈,通过反复评价和改进原型,减少误解,弥补漏洞,适应变化,最终提高软件质量。

2.2 优缺点

优点:

克服瀑布模型的缺点,适应需求的变化,能够开发出更加让用户更加满意的需求

缺点:

  • 所选用的开发技术和工具不一定符合主流的发展;
  • 快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。
  • 使用这个模型的前提是要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。

2.3 使用范围

  • 不适合大型项目的研发
  • 对所开发的领域比较熟悉而且有快速的原型开发工具

3. 增量模型


增量模型

3.1 介绍

增量模型又称为渐增模型,是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。

3.2 基本思想

增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。

3.3 优缺点

优点

  • 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展
  • 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统。
  • 开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。

缺点

  • 要求待开发的软件能给进行增量式的开发,否则会很麻烦
  • 在软件开发过程中需求变化是不可避免的,增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性.

3.4 使用场景*

  • 进行已有产品升级或新版本开发

4. 螺旋模型


螺旋开发模型

1988年,巴利·玻姆(Barry Boehm)正式发表了软件系统开发的“螺旋模型]”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。

如图所示,螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:

(1) 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;

(2) 风险分析:分析评估所选方案,考虑如何识别和消除风险;

(3) 实施工程:实施软件开发和验证;

(4) 客户评估:评价开发工作,提出修正建议,制定下一步计划。

螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。

4.1 优缺点

优点:

  • 设计灵活可以在项目各个阶段进行变更
  • 风险驱动,每个项目上线前都要进行风险分析

缺点:

  • 螺旋模型强调风险分析,需要相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;
  • 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,

4.2 使用场景

适合使用大规模的软件项目

评估:评价开发工作,提出修正建议,制定下一步计划。

螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。

4.1 优缺点

优点:

  • 设计灵活可以在项目各个阶段进行变更
  • 风险驱动,每个项目上线前都要进行风险分析

缺点:

  • 螺旋模型强调风险分析,需要相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;
  • 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,

4.2 使用场景

适合使用大规模的软件项目

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

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

相关文章

qt“五彩斑斓“ opengl

本篇文章我们来描述一下opengl相关知识 我们先看一下opengl渲染的效果 很漂亮? 那下面就来介绍一下这么漂亮的opengl OpenGL(Open Graphics Library)是一个跨平台的图形编程接口,用于渲染2D和3D图形。它提供了一系列函数和数据结…

Zotero插件分享(第二弹)

今天紧接上一篇文章(Zotero常用插件分享),继续分享关于Zotero常用插件的相关内容。(排名不分先后) 1.Translate for Zotero 英文文献阅读辅助工具,可以实现将pdf中选中的文字翻译为指定语言,并…

Git中Idea操作git及Git Flow

目录 一、Idea中使用Git 1.idea配置Git和Gitee 2.实践操作 1.将本地项目推送到远程 2.从远程库克隆项目到本地 二、Git Flow 1.什么是Git Flow 2.工作流程 3.实践操作 一、Idea中使用Git 1.idea配置Git和Gitee 第一步:设置git.exe的安装路径 在设置中的…

RMSNorm原理及代码

RMSNorm原理及代码 在大模型中使用层归一化有如下几个因素: 改善网络稳定性加速收敛速度提高模型的泛化能力 批量归一化是对一个批次内的数据进行归一化 层归一化是对一个样本中的不同特征进行归一化 如下是LayerNorm与RMSNorm的公式 在LLaMA中使用RMSNorm替代…

DolphinScheduler安装与配置

DolphinScheduler概述 Apache DolphinScheduler是一个分布式、易扩展的可视化DAG工作流任务调度平台。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 DolphinScheduler的主要角色如下: MasterServer采用分布式无…

二分查找算法及其简单应用(C语言实现)

目录 二分查找算法介绍 二分查找算法的简单应用 二分查找算法介绍 二分查找算法,指在一组有序的数组内查找数值,查找的数值与查找范围内的中间数值进行比较,如果比中间数值小,则在原范围内的左侧范围内重复与该范围内的中间数值…

GPT4:画一只小怪兽,但是不断升级

请你画一只1级的萌怪兽 请你画一只3级的萌怪兽 请你画一只5级的小怪兽 请你画一只10级的小怪兽 请你画一只50级的怪兽 请你画一只100级的怪兽 怪兽被闪电劈了一下,变成了一只0.1级的可爱小怪兽

喝汽水问题

目录 一、题目二、思路二、方法2.1方法一2.2方法二 一、题目 题目:水已知1瓶汽水1元,2个空瓶可以换⼀瓶汽水,输⼊整数money(money>0),表示money元钱,计算可以多少汽水,请编程实现…

Pygame常用模块

Pygame是一个功能强大的Python库,用于开发2D游戏。它提供了许多模块和工具,使得游戏开发变得更加简单和有趣。在这篇文章中,我们将介绍一些Pygame常用的模块,了解它们的功能和用法。 1. pygame.display模块: pygame.d…

软考26-上午题-图3

一、图的遍历 从图中的某个顶点出发,沿着某条搜索路径对图中的所有顶点进行访问,且,只访问一次的过程。 图的遍历比树的遍历复杂,因为要避免对顶点进行重复访问,所以在图的遍历过程中,必须记下每个已访问…

冰雪遮盖着伏尔加河

三套车 - 杨洪基词:李幼客 曲:彼得格鲁波基 冰雪遮盖着伏尔加河 冰河上跑着三套车 有人在唱着忧郁的歌 唱歌的是那赶车的人小伙子你为什么忧愁 为什么低着你的头是谁叫你这样伤心 问他的是那乘车的人 你看吧这匹可怜的老马 它跟我走遍天涯可恨那财主要把…

爬虫系列-web请求全过程剖析

🌈个人主页: 会编程的果子君 ​💫个人格言:“成为自己未来的主人~” 上一小节我们实现了一个网页的整体抓取工作,那么本小节,给各位好好剖析一下web请求的全部过程,这样有助于后面我们遇到的各种各样的网站就有了入手…

【树莓派系统的位数】

要区分 ARM 架构下载的版本是 32 位还是 64 位,可以执行以下步骤: 执行以下命令来检查 Raspberry Pi 的 CPU 类型: uname -m如果返回的结果是 aarch64,则表示您的 Raspberry Pi 是 64 位的 ARM 架构。如果返回的结果是 armv7l&a…

[Linux开发工具]项目自动化构建工具-make/Makefile

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1.背景2.依赖关系和依…

使用LORA微调RoBERTa

模型微调是指在一个已经训练好的模型的基础上,针对特定任务或者特定数据集进行再次训练以提高性能的过程。微调可以在使其适应特定任务时产生显着的结果。 RoBERTa(Robustly optimized BERT approach)是由Facebook AI提出的一种基于Transfor…

python算法之 Dijkstra 算法

文章目录 基本思想:步骤:复杂度:注意事项:代码实现K 站中转内最便宜的航班 Dijkstra 算法是一种用于解决单源最短路径问题的经典算法。该问题的目标是找到从图中的一个固定顶点(称为源点)到图中所有其他顶点…

四、OpenAI之文本生成模型(Text Generation)

文本生成模型 OpenAI的文本生成模型(也叫做生成预训练的转换器(Generative pre-trained transformers)或大语言模型)已经被训练成可以理解自然语言、代码和图片的模型。模型提供文本的输出作为输入的响应。对这些模型的输入内容也被称作“提示词”。设计提示词的本质是你如何对…

ELAdmin 配置定时任务

定义方法 在自己的 Module 中写个要执行的方法。 比如获取微信公众号的 accessToken,每两个小时更新一次。这种的其实使用 Spring 的 Scheduled 更方便些,此处仅为演示。 package me.zhengjie.mp.task;import com.alibaba.fastjson.JSON; import lombo…

java的面向对象编程(oop)——认识泛型

前言&#xff1a; 打好基础&#xff0c;daydayup! 泛型 1&#xff0c;认识泛型&#xff1a; 定义类&#xff0c;接口&#xff0c;方法时&#xff0c;同时声明了一个或多个类型变量&#xff08;例&#xff1a;<E>&#xff09;,称为泛型&#xff0c;泛型接口&#xff0c;泛…

springboot743二手交易平台

springboot743二手交易平台 获取源码——》公主号&#xff1a;计算机专业毕设大全