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

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

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

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.mzph.cn/pingmian/7300.shtml

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

相关文章

cmake进阶:变量的作用域说明二(从函数作用域方面)

一. 简介 前一篇文章从函数作用域方面学习了 变量的作用域。文章如下: cmake进阶:变量的作用域-CSDN博客 本文继续从函数作用域方面学习了 变量的作用域。 二. 变量的作用域 1. 函数内定义与外部同名的变量 向顶层 CMakeLists.txt添加如下代码&a…

java08基础(值传递和引用传递 类和对象)

目录 一. 值传递和引用传递 1. 值传递 2. 引用传递 二. 面向对象思想 三. 类和对象 1. 类 2. 对象 2.1 使用 2.2 成员变量和局部变量区别 2.3 操作成员方法 2.4 this关键字(初始) 2.5 构造方法 (见java09) 一. 值传递和引用传递 1. 值传递 值传递是指在调用函数时将…

Open CASCADE学习|三重正交标架法则

三重正交标架(Trihedron) 定义:三重正交标架是在三维空间中定义的一个坐标系,由三个互相垂直的向量构成。这些向量分别是: 切线向量(Tangent Vector) - 表示曲线在某一特定点处的切线方向。 主法线向量&…

越权漏洞!

越权漏洞是指在一个系统或应用程序中存在某种不当的访问权限,使得攻击者可以获得比其应该拥有的权限更高的权限。这种漏洞可能允许攻击者执行未经授权的操作,例如访问他人的敏感数据、修改系统设置、执行恶意代码等。越权漏洞通常是由于设计或实现上的错…

淡茶怎么泡?

很多人都知道喝浓茶对身体不好,但是怎么冲泡淡茶却一知半解。按照《品深淡茶冲泡标准》中对绿茶冲泡淡茶的规定,冲泡的茶汤中咖啡碱不得高于31.67mg/100mL,可可碱不得高于2.67mg/mL,茶碱不得高于1.50mg/100mL,茶多酚不…

[C++核心编程-03]----C++函数提高学习

目录 引言 正文 01-函数提升简介 02-函数默认参数 03-函数占位参数 04-函数重载 05-函数重载的注意事项 总结 引言 函数在C编程中扮演着至关重要的角色,通过合理使用函数,可以提高程序的结构性、灵活性、可读性和维护性。因此&…

Guer完成对Gallium Semi的GaN产品组合的收购

预计到2024年6月,完整的射频氮化镓产品组合将完成整合 总部位于美国的Guerrilla RF (GUER)已完成对镓半导体公司GaN功率放大器和前端模块的全部收购。 自2024年4月26日起,GUER收购了Gallium Semiconductor先前发布的所有组件以及正在开发的新内核。此外…

软件测试与管理-白盒测试-基本路径测试法

知识点: 1.原理 是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径的集合,然后根据可执行路径进行测试用例设计的方法。此方法设计出的测试用例需保证被测程序的每个可执行语句至少执行一次。 2.步骤 &a…

计算机SCI期刊,中科院2区,IF=6+,自引率低,专业认可度高!

一、期刊名称 Journal of King Saud University-Computer and Information Sciences 二、期刊简介概况 期刊类型:SCI 学科领域:计算机科学 影响因子:6.9 中科院分区:2区 出版方式:开放出版 版面费:$…

开源模型 Prometheus 2 能够评估其他语言模型,其效果几乎与 GPT-4 相当

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

在Codelab对llama3做Lora Fine tune微调

Unsloth 高效微调大模型的工具,通过Unsloth微调Llama3, Mistral, Gemma 速度提升2-5倍,内存减少70%! Codelab 创建一个jupyter notebook 选择 T4 GPU 安装Fine tune 相关的lib %%capture import torch major_version, minor_version torch…

权益商城系统源码,支持多种支付方式

权益商城系统源码,支持多种支付方式,后台商品管理,订单管理,串货管理,分站管理, 会员列表,分销日志,应用配置。 上传到服务器,修改数据库信息,导入数据库&a…

Python中的分布式爬虫系统Scrapy与分布式任务队列的结合

随着互联网的不断发展,网络爬虫在数据采集和信息挖掘中发挥着重要作用。然而,单机爬虫往往难以应对大规模数据抓取的需求,因此,构建分布式爬虫系统成为了一种必然选择。本文将介绍如何利用 Python 中的 Scrapy 框架和分布式任务队…

android studio apt代码编写实战

之所以试一下apt代码的编写,是因为发现几年前写的工程,在新的android studio中debug apt代码时,一直连不上debug环境,提示报错 Unable to open debugger port (localhost:5005): java.net.ConnectException "Connection refu…

IOS自动化—将WDA打包ipa批量安装驱动

前言 CSDN: ios自动化-Xcode、WebDriverAgent环境部署 ios获取原生系统应用的包 如果Mac电脑没有配置好Xcode相关环境,可以参考以上文章。 必要条件 Mac电脑,OS版本在12.4及以上(低于这个版本无法安装Xcode14,装不了Xcode14就…

excel中数据筛选技巧

1、筛选excel中破折号前后都为空的数据 在Excel中查找破折号前后为空的数据,你可以结合使用Excel的查找和筛选功能,或者利用一些公式来判断。以下是两种常用的方法: 方法一:使用筛选功能选中数据范围:首先&#xff0c…

微信小程序miniprogram_npm目录主包太大如何处理

在使用TDesign开发小程序,miniprogram_npm目录下很多组件,感觉很多组件我都没引用,为什么都在主包来,导致主包很大。如何优化? 在使用npm构建后生成的miniprogram_npm目录里,有所有TDesign组件。但是有很…

Docker 入门篇(六)-- idea 打包 docker 镜像流程

环境准备: idea 环境:IntelliJ IDEA 2021.3.1 (Ultimate Edition)docker 版本:v. 26.1.0准备 springboot jar 文件 :target/DockerDemo-0.0.1-SNAPSHOT.jardocker 可视化管理工具 portainer :v2.6.0 一. 配置docker远…

27.leetcode---随机链表的复制(Java版)

题目链接: https://leetcode.cn/problems/copy-list-with-random-pointer/description/ 题目解析: 使用map来解这个题就比较方便了 代码: 测试:

论文阅读:《Sequence can Secretly Tell You What to Discard》,减少推理阶段的 kv cache

目前各类大模型都支持长文本,例如 kimi chat 以及 gemini pro,都支持 100K 以及更高的上下文长度。但越长的上下文,在推理过程中需要存储的 kv cache 也越多。假设,数据的批次用 b 表示,输入序列的长度仍然用 s 表示&a…