测试的基础概念

news2024/9/19 18:22:47

需求

需求的定义

        用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略。

        软件需求:产品经理会把用户需求转化为软件需求(写成一个文档),开发人员和测试人员工作的直接依据就是软件需求,软件需求是测试人员进行测试工作的基本依据。

为什么会有需求

        因为这将直接关系到用例的 测试覆盖率,同时对于识别出的每个测试需求点,要采用 具体的设计测试用例的方法 来实现测试用例的设计。

测试角度中的需求

        把每一块需求进行拆分,划分成一个个子需求。

深入了解需求

        测试工程师在需求分析和设计阶段就开始介入,(就是参加需求评审会议)因为这个阶段是理解和掌握软件的原始业务需求的最好时机。

        只有真正理解了原始业务需求之后,才有可能从业务需求的角度去设计针对性明确,从终端用户的使用场景到端到端的覆盖率较高的测试用例集。

测试用例(CASE)

什么是测试用例

        测试用例是一组集合,包含测试环境、测试数据、预期结果、操作步骤......

测试用例 : 用户注册

操作步骤

期望结果

进入注册页面,选择注册

系统展现注册页面

输入符合要求的单位名称、单位邮箱、密码、确认密 码、组织机构代码、验证码,并确认同意《用户注册 协议》,提交注册信息

系统进行注册操作,发送激活邮件。注册 成功后,跳转到注册成功页面,并提示用 户进行激活操作。

进入注册用的邮箱,进行激活操作

激活成功

用注册的邮箱和密码,进行登录操作

登录成功,系统展示欢迎页面

测试方式

手动

重要性

重要

测试环境

Chrome 浏览器

测试前提

系统运行正常,邮件服务器已开启

功能模块

注册登录

为什么会有测试用例

        1、可以提高测试人员的工作效率 / 降低工作重复性

        2、测试用例是建立自动化的基础

软件错误(BUG)

        1、当且仅当规格说明(软件需求)是存在的并且正确,程序与规格说明之间的不匹配才是错误(BUG)。
        2、当需求规格说明书没有提到的功能,判断标准以最终用户为准:即当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。
        

开发模型和测试模型

软件的生命周期

        需求分析:分析需求是否合理、完整、可行性
        计划:谁开发、谁测试、开发多久、测试多久......
        设计:技术文档(设计哪些接口,库表,mq......)、UI 视觉稿......
        编码:写代码
        测试:执行测试用例、写测试报告
        运行维护:如果上线之后存在问题,需要测试人员协助开发定位问题 + 解决问题

开发模型

瀑布模型(小型项目)

优点:每个阶段需要做什么都非常清晰

缺点:测试人员介入太晚,导致发现问题的时机也太晚

螺旋模型(较大项目、风险较多)

优点:每个阶段都会进行风险分析,在一定程度上避免在上线后发生

缺点:可能风险分析错误,需要大量人力财力投入

增量、迭代

        增量通常和迭代混为一谈,但是其实两者是有区别的。增量是逐块建造的概念,例如画一幅人物画,增量先画人的头部,再画身体,再画手脚。

        而迭代是反复求精的概念,同样是画人物画,迭代采用先画整体轮廓,再勾勒出基本雏形,再细化、着色。

敏捷

scrum 开发方式
scrum里面的角色
scrum product owner ( 产品经理 scrum master ( 项目经理 和  team ( 研发团队 组成。
        product owner:负责整理 user story( 用户故事,理解为用户需求 ) ,定义其商业价值,对其进行排序,制定发布计划,对产品负责。
        scrum master:负责召开各种会议,协调项目,为研发团队服务。
        team:则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。
迭代开发
        与瀑布不同,scrum 将产品的开发分解为若干个小 sprint( 迭代 ) ,其周期从 1 周到 4 周不等,但不会超过 4周。参与的团队成员一般是5 9 人。每期迭代要完成的 user story 是固定的。每次迭代会产生一定的交付。
scrum的基本流程

        产品负责人负责整理user story,形成左侧的product backlog

        发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的story列表,sprint backlog

        迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计。

        每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。

        演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story

        回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果。

测试模型

测试 V 模型

特点:左边是开发,右边是测试。类似于 瀑布模型

优点:测试被划分成许多类型

缺点:测试人员介入太晚,导致发现问题的时机也就太晚

测试 W 模型(双 V 模型)

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

优点:测试人员早早就介入了

缺点:测试和开发一定程度上还是串行的、不能拥抱变化也就不适用于敏捷

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

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

相关文章

软件技术(游戏软件开发方向)实训室解决方案

一、引言 随着数字娱乐产业的快速发展,游戏软件开发成为了一个热门领域。为满足市场对高质量游戏开发人才的需求,构建一套先进、全面、实战化的软件技术(游戏软件开发方向)实训室解决方案显得尤为重要。本方案旨在通过集成先进硬…

【守卫你的安全】基于高通QCS6490之AI智慧电子围篱展示方案

高通QCS6490是一款专为工业和商业物联网应用而设计的系统单芯片(SoC),支援高阶物联网装置的Wi-Fi 6E连线,以及先进的摄像头、人工智能和计算功能,以实现低功耗下的强大性能。这款芯片结合高通Kryo™ 670 CPU和高通Hexagon处理器,具…

Redis——哈希

哈希 是一个字符类型的字段和值的映射表,简单来说就是一个键值对的集合,特别适合存储对象; 哈希的命令有 H 有关; 1. 添加键值对 HSET 2. 获取键值对 HGET 3. 判断键值对是否存在 HEXISTS 4. 获取所有键 HKEYS

python-----------MRO知识点笔记

视频来源:【【python】B站最细致的super()详解,一定有你不知道的知识!】 https://www.bilibili.com/video/BV1FL4y1E7xK/?share_sourcecopy_web&vd_sourced59dcee6044af8fc880b46b581c3f58a MRO:方法解析顺序-------------M…

FastAPI 结合 JWT

文章目录 FastAPI 结合 JWT步骤安装步骤导入必要的模块设置配置和初始化应用创建数据模型实现辅助函数生成 JWT Token获取用户数据验证密码获取当前用户 用户登录获取 Token受保护的路由示例 所有代码测试获取 Token访问受保护的路由token正确token错误 总结注意 FastAPI 结合 …

【中项】系统集成项目管理工程师-第9章 项目管理概论-9.5 项目立项管理

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

RAGCache多级动态缓存管理系统,让RAG推理更高效|RAG论文分享

今天为大家分享北京大学和字节跳动联合发表的一篇关于加速RAG推理的论文: RAGCache: Efficient Knowledge Caching for Retrieval-Augmented Generation 论文地址:https://arxiv.org/abs/2404.12457 1.论文概述 Retrieval-Augmented Generation (RAG) …

聊聊Netty中几个重要的生命周期

写在文章开头 Netty内置了各种开箱即用的处理器,把握好处理器中几个比较重要的生命周期回调用助于我们编写出强大的网络通信程序,所以本文将基于一个简单的示例和源码介绍一下Netty中几个比较重要的生命周期函数,希望对你有帮助。 Hi&#x…

九州未来参编,《边缘计算产业发展研究报告》正式发布

日前,由中国通信标准化协会主办的第四届“云边协同”大会暨首届分布式算力论坛在北京成功举办。大会聚焦云边端分布式算力领域技术新突破、应用新场景以及发展新价值,搭建政产学研用交流对接平台,深化产业链协同开放合作。 会上,由…

Cookie-Monster:一款针对Web浏览器的安全分析与数据提取工具

关于Cookie-Monster Cookie-Monster是一款针对常见Web浏览器的安全分析与数据提取工具,该工具可以帮助广大研究人员提取并分析Edge、Chrome和Firefox浏览器中的Cookie数据。 Cookie-Monster适用于红队和蓝队成员,能够提取WebKit主密钥,找到具…

无监督学习与强化学习基础

就是训练数据无标签,算法自动对数据进行分类,听着很神奇,但学了机器学习以后,除了神经网络比较悬,对人像是个黑盒,别的都是基于数学的分类算法,无监督学习也不例外。 聚类—K-means算法 坐标轴…

Postman下载安装~用于springboot控制层测试

第一步:下载安装 方法1:在线下载 Postman API Platform 方法2:百度网盘 通过百度网盘分享的文件:Postman-win64-Setup 链接:https://pan.baidu.com/s/16nNfKvuNfM8z4kP1Ad-K2Q?pwdotxe 提取码:otxe -…

见证中国数据库的崛起:从追赶到引领的壮丽征程《三》

见证中国数据库的崛起:从追赶到引领的壮丽征程《三》 三、深度思考:中国数据库发展的经验与启示产学研用结合的创新模式应用驱动的创新路径人才培养的关键作用 【纪录片】中国数据库前世今生 在数字化潮流席卷全球的今天,数据库作为IT技术领域…

Java高级流

高级流 java将IO分为了两类 节点流:又称为"低级流" 特点:直接链接程序与另一端的"管道",是真实读写数据的流IO一定是建立在节点流的基础上进行的。文件流就是典型的节点流(低级流) 处理流:又称为"高级流" 特点:不能独立存在&#x…

开源项目的发展趋势,以及参与开源项目可以获得的经验和成果,以及涉及到的注意事项

目录 一、当前开源项目的发展趋势 1. 全球化协作与社区增长 2. 多领域技术创新与迭代加速 3. 开放协作模式 4. 商业化与产业融合 5. 安全性与隐私保护 6. 跨界融合与生态构建 7. 政策支持 二、参与开源项目的经验和收获 1. 技术能力提升 2. 团队协作与沟通能力 3.领…

阿里微服务质量保障系列:异步通信模式以及测试分析

软件质量保障 所寫即所思|一个阿里质量人对测试的所感所悟。 1. 异步通信模式 最常见的方式就是异步消息通信。使用消息机制时,服务之间的通信采用异步交换消息的方式完成。基于消息机制的应 用程序通常使用消息代理,它充当服务之间的中介。另一种选择是使用无代理架构,通…

实验室自动测试系统产品化注意问题

在实验室开发的自动测试系统转向产品化时,需要综合考虑多个方面,以确保系统的稳定性、可靠性和可维护性。以下是一些关键问题和建议: 1. 硬件选择与兼容性 在实验室中,可能会使用一些专业的实验设备或定制的硬件,但在…

一文带你掌握C++模版

12. C模板 什么是模板 模板编程也可以叫做泛型编程,忽略数据类型的一种编程方式 //求最值问题 int Max(int a,int b) {return a>b?a:b; } double Max(int a,int b) {return a>b?a:b; } string Max(string a,string b) {return a>b?a:b; …

搭建Nginx正向代理服务器,轻松实现外部网络请求的转发

​ 本文将介绍如何使用Nginx搭建一个简单的正向代理服务器,实现外部网络请求的转发。通过设置正向代理,我们可以隐藏真实的服务器地址,提高访问速度,以及增强网络安全性 一、Nginx正向代理简介 正向代理(Forward Pro…

基于node的学生公寓管理系统-计算机毕设 附源码 06412

基于node的学生公寓管理系统 摘 要 本论文主要论述了如何使用Node.js框架和Express框架开发一个基于Node的学生公寓管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S结构,面向对象编程思想进行项目开发。在引言中&#xff0…