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

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

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

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、学习缺陷的管理工具

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

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

相关文章

为什么电子商务安全是速度和保护之间的平衡行为

微信搜索关注公众号网络研究观,获取更多信息。 电子商务世界是一把双刃剑。虽然它为企业和消费者提供了便利和可访问性,但它也为网络犯罪分子提供了诱人的目标。在这个不断变化的环境中,优先考虑安全不再是一种选择;而是一种选择&…

nginx--tcp负载均衡

mysql负载均衡 安装mysql yum install -y mariadb-server systemctl start mariadb systemctl enable mariadb ss -ntl创建数据库并授权 MariaDB [(none)]> create database wordpress; Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all privileges o…

使用 electron-vite-vue 构建 electron + vue3 项目并打包

文章目录 一、使用 electron-vite-vue 构建 Vue3 项目1、创建项目并安装相关依赖2、安装依赖时报错 (operation not permitted) 二、项目打包1、执行打包命令2、下载失败处理3、手动方式下载后,将文件放至指定路径下4、打包成功后 参考资料 一、使用 electron-vite-…

C++证道之路第十八章探讨C++新标准

一、复习前面介绍过的C11新功能 1、新类型 C11新增了类型long long 和unsigned long long 新增了类型char16_t 和char32_t 2、统一的初始化 C11扩大了用大括号括起的列表(初始化列表)的使用范围,使其可以用于所有内置类型和用户定义的类…

JavaScript练习

1.冒泡排序 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head>…

设备树与/sys/bus/platform/devices与/sys/devices目录关系

设备树与sys/bus/platform/devices sysfs文件系统中/sys/bus/platform/devices下的设备是由设备树生成&#xff0c; 根节点下有compatible的子节点都会在/bus/platform/devices生成节点 总线 I2C、SPI 等控制器会在/bus/platform/devices生成节点 总线 I2C、SPI 节点下的子节点…

ESP8266做主机 手机网络助手为从机

ATCIFSR查看地址&#xff0c;一般ESP8266 为192.168.4.1 在手机上下载网络调试助手&#xff0c;打开TCP客户端 创建后192.168.4.1 端口8089然后连接ESP8266热点。 ESP向手机发数据前先发送要发几个数据ATCIPSEND0,8表示发8个&#xff0c;然后再发8个数 上面创建好热点后&…

多组间比较散点图+误差棒(自备)

目录 数据 计算四分位值 作图 数据 rm(list ls()) library(ggplot2) library(dplyr) library(ggpubr) library(reshape2) library(tidyverse)data <- iris##鸢尾花数据集 dat <- data[,c(5,1)]#单个数据进行分析 计算四分位值 #根据分组计算四分位及中位数 dat1 …

ubuntu 安装单节点HBase

下载HBase mkdir -p /home/ellis/HBase/ cd /home/ellis/HBase/ wget https://downloads.apache.org/hbase/2.5.8/hbase-2.5.8-bin.tar.gz tar -xvf hbase-2.5.8-bin.tar.gz安装java jdk sudo apt install openjdk-11-jdksudo vim /etc/profileexport JAVA_HOME/usr/lib/jvm/…

短信清空了!华为手机短信删除了怎么恢复?

“有没有人知道这是怎么回事呀&#xff0c;原先有一千多条未读一直放着没管&#xff0c;昨天根本没打开短信这个软件&#xff0c;今晚突然发现只剩一条了&#xff0c;是华为手机自动清理了吗&#xff01;到底该怎么恢复呀&#xff1f;我真崩溃&#xff01;” 在日常生活中&…

面试集中营—Redis架构篇

一、Redis到底是多线程还是单线程 1、redis6.0版本之前的单线程&#xff0c;是指网络请求I/O与数据的读写是由一个线程完成的&#xff1b; 2、redis6.0版本升级成了多线程&#xff0c;指的是在网络请求I/O阶段应用的多线程技术&#xff1b;而键值对的读写还是由单线程完成的。所…

Vitis HLS 学习笔记--AXI_STREAM_TO_MASTER

目录 1. 简介 2. 示例 2.1 示例功能介绍 2.2 示例代码 2.3 顶层函数解释 2.4 综合报告&#xff08;HW Interfaces&#xff09; 2.5 关于TKEEP和TSTRB 2.6 综合报告&#xff08;SW I/O Information&#xff09; 3. 总结 1. 简介 本文通过“<Examples>/Interface…

pandas入门

pandas入门 一、pandas简介1.1 pandas介绍1.2 pandas的基本功能 二、pandas快速入门2.1 读取数据2.2 验证数据2.3 建立索引2.4 数据抽取2.4.1 选择列2.4.2 选择行2.4.3 指定行和列 2.5 排序2.6 分组聚合2.7 数据转置2.8 增加列2.9 统计分析 一、pandas简介 1.1 pandas介绍 pa…

Qt QInputDialog详解

1.简介 QInputDialog是一个对话框类&#xff0c;用于从用户那里获取一个单一的值。这个值可以是字符串、数字、或者一个列表中的选项。QInputDialog提供了一个方便的方式来快速创建一个输入对话框&#xff0c;无需自己从头开始构建。 QInputDialog支持多种输入类型&#xff1…

【备战蓝桥杯】第十四届蓝桥杯省赛C/C++ B组真题及题解

参加了两届蓝桥杯以及做过了往年的真题我的直观感受是蓝桥杯不再那么“暴力”了&#xff0c;而是逐渐趋向DP和搜素图论方面了。下面是第十四届蓝桥杯省赛C/C B组真题及题解&#xff0c;希望对阅读的你有所帮助。 目录 题目试题A&#xff1a;日期统计试题B&#xff1a;01 串的熵…

Redis学习3——Redis应用之缓存

引言 缓存的意义 Redis作为一个NoSql数据库&#xff0c;被广泛的当作缓存数据库使用&#xff0c;所谓缓存&#xff0c;就是数据交换的缓冲区。使用缓存的具体原因有&#xff1a; 缓存数据存储于代码中&#xff0c;而代码运行在内存中&#xff0c;内存的读写性能远高于磁盘&a…

前后端功能实现——查询所有

目录 1、需求 2、步骤 1&#xff09;创建模块 引入坐标 2&#xff09;创建结构 实现三层架构 3&#xff09;创建表 brand 4&#xff09;创建实体类 Brand 5&#xff09;创建MyBatis配置文件 6&#xff09;创建映射文件 7&#xff09;创建工具类 SqlSessionFactoryUti…

基于FPGA的数字信号处理(9)--定点数据的两种溢出处理模式:饱和(Saturate)和绕回(Wrap)

1、前言 在逻辑设计中&#xff0c;为了保证运算结果的正确性&#xff0c;常常需要对结果的位宽进行扩展。比如2个3bits的无符号数相加&#xff0c;只有将结果设定为4bits&#xff0c;才能保证结果一定是正确的。不然&#xff0c;某些情况如77 14(1110)&#xff0c;如果结果只…

部署YUM仓库以及NFS共享服务

YUM仓库部署 一.YUM概述 YUM仓库源是一种软件包管理工具&#xff0c;用于在Linux系统上安装、更新和删除软件包。YUM仓库源包含了软件包的元数据信息和实际的软件包文件。用户可以通过配置YUM仓库源&#xff0c;从中下载和安装软件包。 常见的YUM仓库源包括&#xff1a; 本…

【一起深度吧!】24/05/03

池化层 最大池化和平均层化&#xff1a;最大池化&#xff1a;平均池化&#xff1a; 从零实现池化层&#xff1a; 最大池化和平均层化&#xff1a; 池化的作用: 1、可以降维&#xff0c;减少要 训练的参数。 2、提取特征&#xff0c;也就是保留主要的特征&#xff0c;过滤掉不重…