从零开始的软件测试学习之旅(一)理论知识篇

软件测试学习理论知识

    • 一.软件测试分类
    • 二.什么是软件测试?
    • 软件测试选择最为经典的几个模型
      • 一.瀑布模型 :将软件生命周期进行划分
      • 二.快速原型模型
      • 三.敏捷开发
    • 三.软件测试流程
      • 一.软件测试模型
      • 测试流程:
    • 四.软件测试分类
    • 项目环境
    • 测试与代码

一.软件测试分类

1.按开发规模

小型 中型 大型开发项目

2.按照用户对象划分

1.普通用户产品面向大众:百度,office,qq等软件;

2.企业定制:为企业定制的OA系统

3.是否需要联网

单机工具游戏

网络: 1.C/S项目(客户端与服务器): qq/lol

2.B/S项目(浏览器与服务器):百度,页游等;

4.按功能划分

普通应用软件:淘宝,有道词典等

系统软件:数据库软件/各种驱动/操作系统等

二.什么是软件测试?

在规定的条件下对程序进行操作,以发现程序错误与需求缺陷的过程

测试对象1.源程序 2.目标程序 3.数据检测 4.需求文档/设计文档

学习软件测试之前,先要了解软件开发的模型

软件测试选择最为经典的几个模型

一.瀑布模型 :将软件生命周期进行划分

1.制定计划(boss/项目经理,可行性分析报告)

->2.需求分析(项目经理,开发,测试人员,编写需求文档)

->3.软件设计(开发,编写开发说明书)

->4.程序编写(写代码)

->5.软件测试(测试,找问题bug写出测试报告)

->6.运行维护(运维) 自上而下,互相衔接,如同瀑布

在这里插入图片描述

优点:1.阶段清楚 2.一个阶段只执行一次,当阶段结束后,只需要关注下一阶段工作 3.文档驱动

缺点:1.返工量大 2.不适用于需求变化项目(有变化要不断循环费时费力)

适用于需求清晰的项目如大型银行,建筑,保险等

二.快速原型模型

与瀑布式不同,中间加入参与用户从而收集信息,及时进行需求更改减少返工量

详细描述为:在软件设计后写出简单demo提供给用户,根据用户的满意程度进行考虑是否要继续开发或重新需求分析设计,降低了需求变化带来项目失败的风险.
在这里插入图片描述

三.敏捷开发

以人为核心(相信团队不断优化,重视客户),一切从简(减少文档,增加交流)迭代(持续交付缩短周期)循序渐进开发方式.

在这里插入图片描述

三.软件测试流程

一.软件测试模型

1.V模型

以编码为分割,建立开发与测试的串行关系

在这里插入图片描述

此模型弊端与瀑布式类似测试介入过晚,项目周期被延长,返工量大

2.W模型

双V模型组成,一个为开发一个为测试

在这里插入图片描述

测试与开发并行,测试提前介入

3.最佳测试模型

在这里插入图片描述

测试流程:

1.需求分析,需求评审(1.拿到需求文档,对比同类产品,确认需求合理性 2.参与需求评审 3.根据用户体验,给出建议)

2.编写测试计划(1.部署环境 2.执行测试 3.发现bug,定位并管理 4.输出测试报告(a.冒烟测试b.第一轮–新功能测试 c.第二轮–bug测试… f.最后一轮测试旧功能回归))

3.验收报告(编写测试报告)

4.线上测试(线上收集bug)

四.软件测试分类

一.按阶段划分

1.单元测试(软件中最小测试单元验证/测试基本功能能否实现)

2.集成测试(在单元测试基础上按照要求组成子系统,进行测试/螺丝没问题看看组成的元件能不能使)

3.系统测试(将软件与操作系统看作一个整体测试/游戏运行环境PC/安卓)

4.验证测试对完成系统进行最开始的需求验证

二.按用户对象划分

1.项目验证:甲方发起,验证乙方是否满足业务需求

2.产品验收:产品经理发起,验证是否满足用户需求

按阶段测试 1.α版本(内测) 2.β版本(公测用户体验反馈)

项目环境

项目环境:软件+操作系统+硬件

项目环境分类: 1.开发环境 2.测试环境 3.预生产环境 4.生产环境

单元测试–开发人员–开发环境

集成测试–开发–开发环境

系统测试–测试人员–测试环境

验收环境–产品/甲方–预生产环境

测试与代码

1.黑盒测试:不管代码 只关注 输入与输出 中间发生了什么我们不关心

在这里插入图片描述

重点:验证程序的功能是否符合需求文档

注意: 功能测试:产品功能是否满足需求

界面测试:UI测试,检查是否符合要求及美观

易用性测试:用户体验

性能测试:模拟用户场景,测试系统指标,查看是否满足要求

2.白盒测试,测试时对程序的所有逻辑路径进行测试,检查每个路径是否能通

在这里插入图片描述

重点:验证源代码逻辑是否符合设计

测试依据:代码规范,详细设计

3.灰盒测试:了解一部分代码逻辑后,重点验证程序功能

在这里插入图片描述

小结

单元测试–开发人员–开发环境–白盒

集成测试–开发–开发环境–白盒/灰盒

系统测试–测试人员–测试环境–黑盒/灰盒

验收环境–产品/甲方–预生产环境–黑盒

打算从事软件测试的小伙伴注意啦!!领取软件测试零基础全套入门学习资料,扫码加微领取
添加wx好友时备注: 111 !!!
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux 基础命令使用创建用户

浏览网站的时候图片,看到一个小练习。创建用户分别位于不同的用户组。 解答下面的题目 2、建立用户使用 useradd,设置密码使用passwd的命令。大概不会使用命令可以借助man来解答。 先建立用户组: groupadd group1 # group1 不存在先建立&…

nginx学习记录-URL Rewrite

1. URL Rewrite 1.1 基本概念 有的时候我们访问后台网站时,会携带大量的参数,比如/test?id1,像这种ur就会携带一些参数,由于有些参数名会携带一些敏感信息,我们希望在url中隐藏传递的参数,比如将/test?…

轻松搭建llama3Web 交互界面 - Ollama + Open WebUI

Ubuntu下安装:(官网:Download Ollama on Linux) curl -fsSL https://ollama.com/install.sh | sh 就运行起来ollama了,不放心可以用ollama serve查看一下 ollama run llama3 就可以跑起来了, 那么我们肯…

线性代数基础1向量

1、向量是什么 1.1、向量的定义 在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的…

【程序创建的技巧】

文章目录 导语名词源代码目标代码(object code)可执行代码 创建源代码文件编译和链接UNIX编译和链接Linux编译和链接Windows命令行编译器Windows编译器 总结 导语 假设您编写了一个 C 程序。 如何让它运行起来呢? 具体的步骤取决于计算机环境…

CountDownLatch源码分析

1.创建 CountDownLatch latch new CountDownLatch(5); 2.latch.countDown(); 将count执行减一操作,当count为0时,等待中的线程会被唤醒 SIGNAL (值为-1): 表示后继节点需要被唤醒。当一个节点释放锁的时候,会唤醒它的后继节点…

javaScript中的this 指向

this 指向总结 this 关键字是一个非常重要的语法点。 this 可以用在构造函数之中,表示实例对象。除此之外,this 还可以用在别的场合。但不管是什么场合,this 都有一个共同点:它总是返回一个对象。 关于 this 的指向&#xff0c…

基于Kepware的Hadoop大数据应用构建-提升数据价值利用效能

背景 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它允许用户在不需要深入了解分布式底层细节的情况下,开发分布式程序。Hadoop充分利用集群的威力进行高速运算和存储,特别适用于处理超大数据集。 Hadoop的生态系统非常丰富&…

如何利用美国站群服务器通过CN2线路优化中美之间的数据传输?

如何利用美国站群服务器通过CN2线路优化中美之间的数据传输? 随着全球化进程的不断推进,跨国企业和国际市场的拓展对数据传输速度和稳定性提出了更高的要求。特别是对于中美之间的数据传输,由于地理位置遥远和网络环境不同,优化数据传输变得…

风格迁移adaIN 和iT的adaLN

文章目录 BN、LN、IN、GN的区别![](https://img-blog.csdnimg.cn/direct/d38c005616f145cba2aa1c4c2e046be0.png)图像风格迁移adaINDiT adaLN BN、LN、IN、GN的区别 BatchNorm:batch方向做归一化,算NxHxW的均值,对小batchsize效果不好&#x…

二次封装el-carousel

我们创建了一个名为MyCarousel的组件&#xff0c;它接受el-carousel的一些常用属性作为props&#xff0c;并默认提供了一些值。我们还通过setup函数返回了所有props&#xff0c;以便它们可以在模板中被使用。 1.MyCarousel.vue组件 <!-- 轮播图片 --> <template>…

08 IO-字符流其它流

IO-字符流&其它流 **字节流&#xff1a;**适合复制文件等&#xff0c;不适合读写文本文件 **字符流&#xff1a;**适合读写文本文件内容 IO流体系 字符流 FileReader&#xff08;文件字符输入流&#xff09; 作用&#xff1a;以内存为基准&#xff0c;可以把文件中的数…

盛水最多的容器 ---- 双指针

题目链接 题目: 分析: 最大容积 即使就是最大面积, 长为下标之差, 宽为两下标对应值的最小值解法一: 暴力枚举: 将每两个数之间的面积都求出来, 找最大值, 时间复杂度较高解法二: 假设我们的数组是[6, 2, 5, 4], 我们先假设最左边和最右边, 即6 和 4 之间是最大面积长a*宽b此…

Android --- 常见UI组件

TextView 文本视图 设置字体大小&#xff1a;android:textSize"20sp" 用sp 设置颜色&#xff1a;android:textColor"#00ffff" 设置倍距(行距)&#xff1a;android:lineSpacingMultiplier"2" 设置具体行距&#xff1a;android:lineSpacingExtra&q…

Day06-Java进阶-Arrays数组工具类冒泡排序选择排序二分查找正则表达式正则爬取

1. Arrays数组工具类 package arrays;import java.util.Arrays;public class ArraysDemo {/*Arrays类常用方法 :----------------------------------------------------------------------public static String toString (类型[] a) : 将数组元素拼接为带有格式的字符串public …

直接用表征还是润色改写?LLM用于文生图prompt语义增强的两种范式

直接用表征还是润色改写&#xff1f;LLM用于文生图prompt语义增强的两种范式 导语 目前的文生图模型大多数都是使用 CLIP text encoder 作为 prompt 文本编码器。众所周知&#xff0c;由于训练数据是从网络上爬取的简单图文对&#xff0c;CLIP 只能理解简单语义&#xff0c;而…

SpringBoot引入第三方jar包或本地jar包

idea2018创建spring boot项目 New Project窗口选择Spring Initializr Type选择Maven(Generate…),有两个Maven选择这一个。 勾选Spring Web。 pom.xml中version改成2.5.10。 在resources中新建jar目录&#xff0c;将第三方jar包fastjson2-2.0.47.jar放入其中。&#xff08…

星球大战绝地幸存者XGP微软商店免费领取教程(XGP注册+开通)

星球大战绝地幸存者XGP微软商店免费领取教程&#xff08;XGP注册开通&#xff09; 《星球大战绝地幸存者》这款游戏是由重生游戏工作室制作&#xff0c;EA发行的冒险类动作游戏&#xff0c;续写了《星球大战绝地&#xff1a;陨落的武士团》中的故事。在这款银河系第三人称动作…

数据仓库与数据挖掘(实验一2024.4.24)

实验准备&#xff1a; 1.下载conda 2.配置环境C:\ProgramData\miniconda3\Scripts 3.创建文件夹panda进入虚拟环境qq 激活虚拟环境&#xff1a;activate qq 启动jupyter lab&#xff08;python语言环境编译&#xff09;&#xff1a;jupyter lab 4.panda下载 &#xff08;…

C 语言实例 - 数值比较

比较两个数 以下实例中定义了两个整数变量&#xff0c;并使用 if 来比较两个数值&#xff0c;可以先看下逻辑图&#xff1a; #include <stdio.h>int main() {int a, b;a 11;b 99;// 也可以通过以下代码实现让用户在终端输入两个数// printf("输入第一个值:&quo…