软件测试概念基础——小记

news2024/12/23 18:46:51

文章目录

    • 1. 什么是软件测试
    • 2. 软件测试和软件开发的区别
    • 3. 什么是需求
    • 4. 需求是软件测试的依据
    • 5. 什么是BUG
    • 6. 什么是测试用例
    • 7. 开发模型
      • 瀑布模型
      • 螺旋模型
      • 增量模型 迭代模型
      • 敏捷模型
        • scrum
    • 8. 测试模型
      • V模型
      • W模型
    • 9. 软件测试的生命周期(软件测试的流程)
    • 10.如何描述一个bug
    • 11. BUG的级别
    • 12. BUG的生命周期

1. 什么是软件测试

软件测试就是软件测试人员验证软件是否满足用户的需求。

2. 软件测试和软件开发的区别

本身:
开发:广度小,专业度高
测试:所需技能较为广泛,但专业度低
软件测试 VS 软件调试
目的:
软件开发人员要确保程序做了他想让程序实现的功能
软件测试是测试人员确保程序实现了它应该实现的功能
角色:
测试是开发人员和测试人员共同完成
开发时开发人员
阶段:
软件测试贯穿整个软件开发的生命周期
软件开发是在开发阶段

3. 什么是需求

用户的期望和满足合同(文档、规则、标准)的规定所需要的条件和权限。
软件需求是用户需求转换来的。它是用户需求的细化,是用户需求的具体实现细节和规范。
用户需求比较粗略,直接实现会有困难,因为没有细节,所以需要软件需求把用户需求细节实现和规范,把用户需求变成一个具体可实现的过程文档。

4. 需求是软件测试的依据

验证需求,保证需求正确性、可操作性。细化需求,从需求提炼出一个一个测试项。
以用户登录为例子:
在这里插入图片描述
软件测试人员从需求测试阶段就开始介入

5. 什么是BUG

当且仅当,程序规格说明书(软件需求)存在并且合理,如果软件功能和软件规格说明书不相符合,我们就说是软件错误;
当软件需求不存在,用户需求存在并且合理,软件功能和用户功能不相符合,就说明是软件错误;

6. 什么是测试用例

测试用例就是向被测系统发起的一组集合,包含测试环境、测试数据、测试步骤、预期结果。

7. 开发模型

软件开发的生命周期
需求分析——计划——设计——开发——测试——运行维护

瀑布模型

在这里插入图片描述
特点:
阶段性强,每一个阶段比较独立;看重前期的需求分析和后期的测试。

缺点:测试在编码后期才开始介入,导致前期存在的问题后期才会发现,失去补救的机会。

螺旋模型

适合于项目庞大、风险大、需求不是很明确的项目。
在这里插入图片描述
特点:
强调每一个迭代的测试质量和风险分析

缺点
风险管控人力物力投入很多,成本比较大

增量模型 迭代模型

同一个系统的四个模块A B C D 两周完成得话

增量模型:
第一周开发A B功能模块
第二周开发C D功能模块

迭代模型:
第一周先开发ABCD的基础功能
第二周再在第一周的基础之上完全其它的功能

特点:
抗击风险能力强

敏捷模型

  • 个体与交互重于过程和工具
  • 可用的软件重于完备的文档
  • 客户协作重于合同谈判
  • 响应变化重于遵循计划

特点:轻文档、轻流程、重目标、重产出

敏捷开发有很多种方式,其中scrum是比较流行的一种

scrum

scrum里面的角色
scrum由product owner(产品经理)、scrum master(项目经理)和team(研发团队) 组成

product owner负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布计划,对产
品负责。
scrum master 负责召开各种会议,协调项目,为研发团队服务。
研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品

scrum的基本流程
在这里插入图片描述

  • 产品负责人收集需求,负责整理user story,形成左侧的product backlog。
  • 发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的story列表,sprint backlog。
  • 迭代计划会议项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计。
  • 每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。
  • 演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story
  • 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果。

8. 测试模型

V模型

在这里插入图片描述
特点:
每一个阶段独立性强
左边每一个阶段是右边测试阶段的依据和右边每一个测试阶段一一对应
瀑布模型变种

缺点
编码后才进行测试
前期的错误后期才会发现,会失去错误及时纠正的机会

W模型

在这里插入图片描述
特点:
每个阶段独立性强
测试一开始就介入,可保证前期的问题及时发现和纠正。

缺点:
每一个阶段都是串行的过程,一个阶段完成后进行下一阶段
不支持敏捷开发

9. 软件测试的生命周期(软件测试的流程)

需求分析——测试计划——测试设计/开发——测试执行——测试报告

需求分析:分析需求;验证需求的正确性、合理性;细化需求、根据需求去提炼测试点。
测试计划:确定测试范围、目的、目标、测试人员、测试工具、时间、测试环境。
测试设计/开发:开发测试用例
测试执行:开发人员已经提交代码,执行测试、提交代码
测试报告:本次迭代的测试情况进行分析和总结;写了多少测试用例执行了多少;发现了多少bug,修改了多少bug; 剩余bug 的解决方案;测试的覆盖率

10.如何描述一个bug

1.测试版本(代码提交版本号)
2.测试环境
不同测试环境问题出现的情况不一样

web系统
(Mac、Windows操作系统)
不同浏览器(谷歌、IE、火狐、edge、Safari、360、搜狗)及不同版本

APP
软件环境:ios 安卓 鸿蒙 塞班 windows 安装系统的版本
硬件环境:不同的设备,手机的品牌、不同的系列

3.测试步骤
测试数据和执行测试的详细步骤

4.实际结果
5.预期结果
6.BUG产生的log日志、错误截图等附件

11. BUG的级别

1. 崩溃
阻碍开发或测试工作的问题。
系统崩溃,不能运行,死循环,数据库死锁,资源分配不均,黑屏,闪退,阻塞
线上(用户使用的环境) 出现崩溃级别的Bug:回一个上一个可用的稳定的历史版本
2. 严重
服务器可以用,但是不稳定,继续使用会产生严重错误;一级菜单错误,数据库插入红黑数据错误,威胁到用户安全等。
3. 一般
功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。
4. 建议(次要)
界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等;如:界面排版不符合用户的使用习惯

12. BUG的生命周期

BUG状态转换图
在这里插入图片描述
问题:发现一个BUG,开发人员修改了,但测试人员测试后又复现了这个BUG,是哪些可能原因?
1.测试环境不一样
2.开发人员理解不到位
3.代码,开发人员修改后,没有提交代码到远程,测试人员用的旧的(有问题的代码)进行测试。

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

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

相关文章

Web大学生个人网页作业成品——学生个人爱好展示网站设计与实现(HTML+CSS+JS)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

FlinkCDC部署

文章目录Flink安装job部署1、测试代码2、打包插件3、打包4、测试Flink安装 1、解压 wget -b https://archive.apache.org/dist/flink/flink-1.13.6/flink-1.13.6-bin-scala_2.12.tgz tar -zxf flink-1.13.6-bin-scala_2.12.tgz mv flink-1.13.6 /opt/module/flink2、环境变量…

快手某HR吐槽:职位要求写得很清楚,照着写简历不行吗?有的工作经历不相关,有的工作好几年还写学生会奖学金,这种一秒扔垃圾桶!...

求职时,你的简历是什么样的?能否帮你顺利通过初筛?一位快手的面试官吐槽很多求职者的简历“一塌糊涂”:职位要求已经写得很明白了,就把里面罗列的技术和跟业务相关的项目经验贴上来就好了,有人偏写航空公司…

Vue 不重新打包,动态加载全局配置的实现过程

背景 项目前端采用了 Vue.js ,跟传统前端 html 技术不同之处在于,每次打包后都重新生成新的 js 文件,而且不可读,必须全量替换。但最近碰到一个漏洞扫描的问题,系统通过单点登录方式访问时,是不能有登录首…

【MySQL基础】数据库操作语言DML相关操作有那些?

目录 一、什么是DML 二、数据插入insert 三、数据的修改update 四、数据的删除delete 五、delete和truncate有什么不同? 六、DML操作知识构图 七、DML操作练习 💟 创作不易,不妨点赞💚评论❤️收藏💙一下 一、什…

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?

通过前面的学习,我们已经知道,怎么将本地自己制作的镜像发布到阿里云远程镜像仓库中去。但是在实际工作开发中,一般,我们都是将公司的镜像发布到公司自己搭建的私服镜像仓库中,那么一个私服的镜像仓库怎么搭建&#xf…

Android之Service

一、Service简介: Service是一种后台服务机制,允许在没有用户界面的情况下,使程序能够长时间在后台运行。 Service是四大组件之一,适用于开发无UI界面、长时间后台运行、做一些用时比较长的操作。 二、Service创建:…

Frida - App逆向 JavaScript代码注入 基本语法以及数据类型介绍

Frida - App逆向 JavaScript代码注入 常用语法介绍 文章目录Frida - App逆向 JavaScript代码注入 常用语法介绍前言一、逆向步骤二、重载(Overload) / Frida数据类型1.重载函数介绍2.重载函数常用的类型三、Frida Hook常用代码介绍1.基本代码框架四、注入JavaScript代码运行监听…

功能测试的工作流程

测试工作人员接收到项目需求、验收标准和原型图并对需求进行分析以了解项目的需求。 一、测试计划:个人觉得测试计划应在在详细设计确认后,代码开始编写的时候开始编写。测试计划主要给后面的测试工作的一些指南。 其内容包含: 1、测试团队人…

kubernetes学习之路--Pod配置学习

写在前面:上篇文章提供了两种简单搭建一个k8s集群的方法,其中两种方式的区别是:kubeadm是直接在主机上进行k8s搭建,kind是在docker中搭建。本文主要分享新建pod等方法。(想了想,对于像我这刚入门的人来说&a…

面试常问的《进程创建—进程终止—进程等待—进程替换》!

送给正在努力前行的你一句话:要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 博主主页 目录 1.进程创建 fork函数初识 fork函数返回值 写时拷贝 2.进程终止 进程退出场景 进程如何退出 3.进程等待 进程等待的必要性 …

Java泛型简介

参考博客:https://www.jb51.net/article/192850.htm 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的…

vuex持久化

下载: vuex-persistedstate npm install --save vuex-persistedstate 或者: npm install --save vuex-persistedstate --legacy-peer-deps 引入使用:在store文件夹下的index文件中,也就是放vuex的js代码中引入: i…

周末福利 | 21天学通Python完整版,豆瓣评分9.6!

前言 又到了周末啦,小编例行给大家发福利! 今天福利的内容是21天学通Python完整版,这是一本豆瓣评分9.6的人工智能入门书籍!全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中,通过大量实际操作的…

mac m1 安装docker docker 安装php 5.6 和 7.2 避坑指南

通过该link可以下载兼容mac m1核心的docker-desktop: Docker Desktop - Docker 所有基于amd64架构核心的都加上--platform linux/amd64来运行,这样就能愉快的玩耍了: docker search centos7 php56 #搜索 docker images #显示所有镜像 docker pull sglim2/centos7 建议使用ln…

如何让青少年在AI时代抢占先机

点击蓝字关注我们AI TIME欢迎每一位AI爱好者的加入!11月17日,由智谱AI支持,北京市科委、中关村管委会科普专项经费资助的系列栏目“科普大佬说”很荣幸邀请到国家科技部“新一代人工智能创新发展与应用研究”项目、中小学人工智能教育服务平台…

在VSCode中用Markdown自动生成PPT详细使用指南,支持多种风格和排版,支持ppt转为pdf等

在VSCode中用Markdown自动生成PPT详细使用指南,支持多种风格和排版,支持ppt转为pdf等。 Marp 官网: https://marp.app/ 这款软件也能在 Windows 或 Linux 系统上使用,并不局限于 macOS 系统。 今天要介绍的是 Marp 推出的 VS Cod…

PLC-Recorder实现速度高达0.24ms准确周期采集的方法(带时间戳采集)

目录 1、PLC的发送程序 2、PLC连接配置 3、PLC-Recorder侧的通讯设置 4、PLC-Recorder的通道配置 5、PLC-Recorder的变量配置 6、正常通讯情况的界面 7、记录数据的情况 8、小结 如果要以非常高的速度高速采集各种控制器(典型的是PLC)的数据&…

【Linux】gcc/g++

目录 Linux编译器-gcc/g使用 No.1 背景知识 No.2 预处理(进行宏替换) No.3 编译(生成汇编) No.4 汇编(生成机器可识别代码) No.5 动态链接过程 No.6 gcc选项 Linux编译器-gcc/g使用 No.1 背景知识 预处理(进行…

什么是Serverless?

Serverless 无服务器;无主机; Serverless ,按中文翻译,称为「无服务器」。被认为是新一代的云计算发展方向。 在某些场景可以解读为一种软件系统架构方法,通常称为 Serverless 架构 关于 Serverless 的定义&#xf…