测试新人如何去开展软件测试工作

1. 软件测试
  在一般的项目中,一开始均为手动测试,由于自动化测试前期投入较大,一般要软件项目达到一定的规模,更新频次和质量均有一定要求时才会上自动化测试或软件测试。
  1.1. 项目中每个成员的测试职责
  软件测试从来不是某一个职业,某一个环节,某一个人应该做的,应该是整个项目团队都要参与的,只是每个人承担的责任付出的时间精力的多少决定的。一个项目中的每个岗位,每个成员都应该有自己的需要测试的内容,重点和方向。
  那么也就包括,项目经理、需求人员、设计人员、软件架构师、开发人员(分为各个层面和方向的开发人员)、数据人员、测试人员以及运维人员,在整个项目中每个岗位职责的不同,就要将其工作一定程度的体现在软件上,通过各个人员不同角度的测试实现对软件全方面,尽可能多的测试,不应该是寄希望于某一个人或某一个环节上。因为如果寄希望于一个人则会导致:
  整个项目的所有内容,测试环节的负责人均要知悉,这种可能只能是专业团队下的理想情况,但是随着软件开发模型的不同,这种理想情况的可能性是非常小的。
  · 软件因为一些主观、客观的因素总会发生修改,而这些修改在软件过程中很难详细的记录下来。
  · 整个软件项目的背景、技术瓶颈、设计或架构人员的设计习惯、实现方法等均有一定程度的差异,在项目的开发完成过程中发生了一定程度的化学反应。寄希望于一个人完全的了解是不太可能的。
  在前一条的基础上,则不可避免的导致测试覆盖面小,不完善,甚至理解错误,得出错误的结论。
  如果要解决前一条,则避不可免的需要询问相关的人员,则会产生不可见的隐形开销。
  工作量剧增,在规定的工作时间内全面的``保质保量的完成,在用人成本和人员素质上是不切实际的。
  所以需要在项目中的每个岗位基于自己所处项目的职责,去关注每个角度所体现在软件上的模块和功能,需要根据岗位去决定测试覆盖的广度和深度。
 序号责任岗位 深度和广度 测试任务描述 
1项目经理 注重广度可以适当忽略深度 确认软件的项目边界内容是否实现、基于项目经理的角度分析软件的弹性是否能够支撑后续各类变化,如:数据的变化(包括频次、数据格式等等)、业务的变化、与其他项目的关联方式 
 2 需求设计人员注重广度,一定程度需要关注深度 确认软件的实现是否实现了需求设计、需要从整体的角度去关注业务在系统的体现是否是一个相较完整的闭环 
3软件架构师 关注广度也需要关注深度  1. 协助测试人员设计测试友好的测试框架 2. 从安全性、可用性和可伸缩性的方向制作测试用例 3. 确认每类数据流转在架构中是否存在问题,包括并发并行等情况、适当考虑软件运行效率
4开发人员 关注深度也需要关注广度 1. 完成自我的功能后是否编写一定的测试代码进行了测试 2. 对自己实现的代码成果一方面需要完成设计的内容,另一方面要考虑和测试软件在实际运行中的可能,在不同的输入中,最终是否都能够得到正确的结果 3. 需要对功能完成所选择的实现方式对不同数据量数据内容进行考虑甚至是测试 4. 需要考虑和其他模块之间的关系,是否只是单纯的完成而没有交互 
 5 测试人员 关注广度 基于上述各类人员在项目中的完成和成果,制作不同的数据、不同的测试样例对软件进行系统化的整体测试 
  1.1.1 举例说明
  1. 开发人员需要使用不同数据进行测试?
  数据是软件的生命,不同的数据由于算法的实现可能得出的结果可能不是完全正确的,如下案例:
  地理信息中矢量图形的表达有点、多点、线、多线、面、多面。其在OGC标准WKT或GeoJson的表达上均有一定的表达,算法实现中(比如读取显示)是否兼顾了各类数据格式;面状数据存在天井图斑(内外环)的图斑,是否存在问题
  在数据为王的软件中,比如采集软件、数据质检软件、数据库管理软件中需要对不同的数据依据数据特性进行测试(当然也要结合实际情况进行测试,比如软件面向的是全国则需要测试全国的情况,如果软件面对的这个地方没有则可以适当的测试延后甚至可以考虑不做测试),比如:
  ·三调质检软件中存在一个规则,相邻图斑属性不相同(此用例结合下一个举例再次说明),软件算法是否考虑节点图斑、天井图斑等等数据的不同得到结果不一样。
  · 全国不同的坡度数据采集方式不一样,有的是小图斑、有的是等级图斑(全区域只有10条)则会导致一个图斑的内存大小非常的大,是否会出现内存溢出的情况。
  · 数据读取时不同的数据存放是否标准,如在房屋安全数据中,默认约定是数据全量提供,但是由于一些情况,可能只提供警告数据的,在算法实现中,是否能够兼容不同的数据体量得到一直的结果。
  2. 开发人员需要对不同体量的数据进行考虑甚至是测试?
  结合相邻图斑属性不相同的案例,数据的节点个数大小不同,在算法中是否会出现内存放大的问题,相邻图斑的层数量多,算法实现方式结合时间复杂度和空间复杂度是否会出现时间长度内无法得到结果
  数据入库的方式,是否存在数据条数较多时会出现效率慢的情况(会导致在项目在比较紧张的情况下应对效果较差)
  3. 开发人员和需求人员的系统化和结构化思维
  软件要想一步就位是可遇不可求的理想状态,基本上是不可能的,总会有需求变更和产品迭代,每次变更都要考虑变更对整体的系统性的影响。
  1.2. 如何开始一个软件的测试
  开始进行软件测试是一个重要的步骤,它有助于确保您的软件在交付给用户之前具备良好的质量和稳定性。以下是一些步骤,可以帮助您开始一个软件项目的测试过程:
  1. 理解项目需求:
  首先,深入理解软件项目的需求,包括功能需求、性能需求、安全性需求等。这将有助于确定需要测试哪些方面。
  2. 制定测试计划:
  制定详细的测试计划,包括测试范围、测试目标、测试策略、测试资源、时间表和风险评估。测试计划是测试活动的路线图,有助于确保测试进程有条不紊。
  3. 确定测试环境:
  确定测试所需的硬件、软件和网络环境。测试环境应该与生产环境相似,以确保测试结果的准确性。
  4. 选择测试方法和技术:
  根据项目需求和测试目标,选择适当的测试方法和技术。常见的测试方法包括功能测试性能测试安全测试等。
  5. 创建测试用例:
  基于需求和设计文档,编写详细的测试用例,包括输入数据、预期结果和执行步骤。测试用例是用于执行测试的指南。
  6. 设置测试环境:
  配置测试环境,包括安装和设置必要的测试工具和测试数据。确保测试环境准备就绪。
  7. 执行测试:
  根据测试计划和测试用例,执行测试。记录测试结果、问题和缺陷,并跟踪测试进度。
  8. 自动化测试(如果适用):
  对于重复性高的测试用例,考虑自动化测试。编写自动化测试脚本并集成到测试流程中,以提高效率。
  9. 问题管理:
  使用问题跟踪工具(如JIRA、Bugzilla等)来记录和管理测试中发现的问题和缺陷。确保问题被及时修复和验证。
  10. 性能测试和安全测试(如果适用):
  如果项目需要,执行性能测试和安全性测试,以确保软件在负载和安全方面表现良好。
  11. 测试报告:
  生成详细的测试报告,包括测试结果、问题汇报、测试覆盖率等信息。测试报告应该清晰、易于理解,以便团队做出决策。
  1.2.1. 测试用例
  1. 公用测试用例

 2. 软件性能测试用例 

 

 感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

微信小程序自定义顶部导航栏的胶囊和微信自带的胶囊一样的透明背景色

想要实现微信自带的右上角胶囊背景透明很简单,只需要在pages.js里面设置下面配置就可以了: "navigationStyle": "custom","navigationBarTextStyle": "white" 但是设置完这个后,胶囊的背景色是那种…

业余爱好-社会工程管理记账报税

税务问题笔记 印花税税费申报及缴纳财务和行为税合并纳税申报增值税及附加税费申报企业所得税季度A类申报残疾人就业保障金申报财务报表个税申报 印花税 印花税是对在经济活动和经济交往中书立、领受具有法律效力的凭证的行为征收的一种税。 税费申报及缴纳 财务和行为税合并…

JMeter怎样测试WebSocket

一、安装WebSocket取样器 1、从JMeter插件管理器官网下载: https://jmeter-plugins.org/ 搜索websocket 1、jetty-http-9.1.2.v20140210.jar 2、jetty-io-9.1.2.v20140210.jar 3、jetty-util-9.1.2.v20140210.jar 4、websocket-api-9.1.1.v20140108.jar 5、w…

DAPP开发【04】测试驱动开发

测试驱动开发(Test Driven Development),是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码&#xff0c…

SpringBoot集成邮箱验证码功能(注册/改密)

准备工作 开启SMTP服务 前往你的邮箱网站,以网易邮箱为例,打开网易邮箱地址,登录你的邮箱,进入邮箱管理后台界面。点击“设置”》》“POP3/SMTP/IMAP”后,点击开启SMTP服务即可。 技术实现 Spring Boot 发送邮件验证…

跨越鸿沟-颠覆性产品营销指南笔记

跨越鸿沟-颠覆性产品营销指南笔记 一、发现鸿沟 一、技术采用生命周期 技术采用生命周期 如果采用一个新产品,我们就得改变一贯的行为模式,或者改变我们依赖的其他产品或服务,那么,我们对技术采用的态度就变得很重要&#xff0c…

入门单片机和嵌入式必须学模电数电吗?

入门单片机和嵌入式必须学模电数电吗? 关于这个话题答案,不能一概而论,主要与从事的具体工作内容有关。 嵌入式开发,好多人认为硬件和软件都需要学习,其实不然。 嵌入式领域涵盖的内容很广,比如嵌入式MCU、…

【编译警告】start value has mixed support, consider using flex-start instead

css规范问题,flex布局下,justify-content:start; 应该为:justify-content: flex-start

深入探索Maven:优雅构建Java项目的新方式(二)

Meven高级 1,属性1.1 属性1.1.1 问题分析1.1.2 解决步骤步骤1:父工程中定义属性步骤2:修改依赖的version 1.2 配置文件加载属性步骤1:父工程定义属性步骤2:jdbc.properties文件中引用属性步骤3:设置maven过滤文件范围步骤4:测试是否生效 1.3 版本管理 2,…

【Python表白系列】无限弹窗,满屏表白代码来啦(完整代码)

文章目录 满屏表白代码环境需求完整代码详细分析系列文章 满屏表白代码 环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需…

什么是勒索软件

勒索软件 1. 定义2. 勒索软件的类型3. 勒索软件的工作方式4. 如何处置勒索软件 1. 定义 勒索软件又称勒索病毒,是一种特殊的恶意软件。勒索软件的特殊之处在于,它采用加密等技术手段限制受害者访问系统或系统内的数据(如文档、邮件、数据库、…

基于YOLOv8深度学习的钢材表面缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

【Skynet 入门实战练习】分布式 ID | 雪花算法 | 缓存设计 | LRU算法 | 数据库

文章目录 前言雪花算法LRU 算法缓存模块数据库测试逻辑 前言 本节实现了 分布式 ID 生成系统,采用雪花算法实现唯一 ID;实现缓存架构,采用 LRU (最近最少使用)算法。 雪花算法 分布式 ID 生成算法的有很多种&#x…

hadoop-3.3.5安装过程

准备资源三台虚拟机: 1)准备3台服务器(关闭防火墙、静态IP、主机名称) 2)安装JDK 3)配置环境变量 4)安装Hadoop 5)配置环境变量 安装虚拟机(略)--1台即…

四、C语言数据类型和变量

目录 1. 数据类型介绍 1.1 字符型 1.2 整型 1.3 浮点型 1.4 布尔类型 1.5 各种数据类型的长度 1.5.1 sizeof 操作符 1.5.2 数据类型长度 2. signed 和 unsigned 3. 数据类型的取值范围 4. 变量 4.1 变量的创建 4.2 变量的分类 5. 算术操作符:、-、*、…

postman参数为D:\\audio\\test.mp3请求报错

报错信息 报错 java.lang.IllegalArgumentException: Invalid character found in the request target [/v1/audio/transcriptions?audioPathD:\\audio\\test.mp3 ]. The valid characters are defined in RFC 7230 and RFC 3986 解决方式 yml文件上放行指定字符 relaxed-pa…

【Docker】本地项目打包并发布到线上

部署python到docker 再把docker部署到服务器上 部署 Python 项目到 Docker 并将 Docker 容器部署到服务器通常需要执行以下步骤: 准备 Dockerfile: 在项目根目录创建一个名为 Dockerfile 的文件,该文件包含构建 Docker 镜像的指令。 # 设置…

Linux进程详解

Linux进程详解 1、进程概述1.1并行和并发1.2 PCB1.3 进程状态1.4 进程命令 2、进程创建2.1 函数2.2 fork()解析 3、父子进程3.1 进程执行位置3.2 循环创建子进程3.3 终端显示问题3.4 进程数数 4、execl和execlp4.1 execl()4.2 execlp()4.3 函数的使用 5、进程控制5.1 结束进程5…

nodejs的安装和验证

1.浏览器访问nodejs官网,根据操作系统选择对应版本的安装文件,如下图所示: 2.双击下载的安装文件,点击“Next”,如下图所示: 3.勾选“I accept the terms in the License Agreement”,然后点击“…

笔记----单纯剖分----1

笔记----单纯剖分 定义 线性组合仿射组合: 线性组合的系数为1凸组合: 仿射组合所有的系数都是正数 凸集 R^m 的 任意有限个点的凸组合仍在其中的子集仿射子空间 R^m 的 任意有限个点的仿射组合仍在其中的子集凸包 conv(A) A是R^m的一个子集 A的所有有限凸…