测试开发工程师自主学习笔记1--测试入门概念

测试工程师入门知识点梳理

     无论是做硬件还是软件的测试工程师,其目标均为测试产品的可靠性,挖掘可能隐藏的缺陷问题,保证产品的质量。此外,测试是无穷无尽的,测试的数据是无穷无尽的。测试工作只有阶段性的完结。注:下述内容仅为鄙人拙见,欢迎更正指导!!!

一.产品模型

  敏捷模型

       敏捷模型是一种软件开发和项目管理方法论,旨在提高团队的协作、灵活性和客户满意度。它强调持续的反馈、迭代开发和紧密合作,以便更好地应对变化和不确定性。

敏捷模型的特点

  1. 迭代开发:鼓励项目团队将大型项目拆分成小的迭代周期,每个迭代通常持续2至4周。每个迭代都会生成可用的软件产品(加速产品面世)。
  2. 持续反馈:强调客户和团队成员之间的密切合作,以获得及时反馈。这有助于确保软件开发符合需求,并在需要时进行调整(长期合作)。
  3. 信息透明:团队通常使用可视化工具来跟踪项目进度,以确保每个人都能了解项目的状态和挑战。
  4. 团队自组织:鼓励团队成员自行组织和协作,以便更好地应对变化和解决问题。
  5. 可持续开发:强调持续的软件开发,每个迭代都应生成一个可部署的版本。

敏捷模型的作用

  1. 加速交付:通过迭代和快速开发,敏捷模型能够更快地交付可用的软件产品,以满足客户需求。
  2. 适应变化:敏捷方法可以更灵活地适应客户需求的变化和新的优先级,因为项目可以在每个迭代中进行调整。
  3. 提高质量:持续的测试和反馈循环有助于提高软件质量,减少缺陷。
  4. 提升客户满意度:敏捷方法强调与客户的紧密合作,确保交付的软件符合客户的期望,从而提高客户满意度。
  5. 增强团队合作:自组织团队的持续沟通有助于提高团队合作和信任,提高工作效率。

总结:敏捷模型是一种灵活的软件开发方法,旨在加速交付、提高质量并确保客户满意。它在现代软件开发中越来越受欢迎,特别是在需要应对快速变化和不确定性的项目中

  质量模型

       质量模型是一个用于评估和衡量软件产品或项目质量的框架或方法。它们为测试工程师和团队提供了一种结构化的方法来确定软件的质量水平,并识别可能需要改进的方面。以下是质量模型的一些重要概念和作用:

质量模型的重要概念

  1. 质量属性:质量模型通常将软件质量划分为不同的属性或特征,例如性能、可用性、可维护性、安全性和功能性等。这些属性帮助确定软件的优点和不足之处。
  2. 度量指标:度量指标是用于量化和衡量质量属性的具体标准。例如,性能可以通过响应时间来度量,可维护性可以通过代码复杂度来度量。度量指标帮助测试工程师确定软件的实际性能和质量水平。
  3. 标准和准则:质量模型通常建立在一组标准和准则的基础上,这些标准和准则定义了软件质量的期望水平。这些标准可能包括国际标准、行业最佳实践或组织内部的规定。
  4. 评估方法:质量模型提供了评估软件质量的方法,这些方法可以是定性的(如评估软件的功能性)或定量的(如测量性能指标)。测试工程师使用这些方法来收集数据和证据,以评估软件的质量。

质量模型的作用

  1. 质量评估:质量模型允许测试工程师和团队对软件进行全面的质量评估,以识别可能的问题和风险。
  2. 改进决策:测试工程师可以为软件项目提供数据支持的改进决策,根据度量指标确定哪些方面需要改进,并采取相应的行动。
  3. 标准遵循:质量模型有助于确保软件符合标准和行业准则,从而提高软件的可接受性和可靠性。
  4. 客户满意度:通过确保软件质量符合客户期望,质量模型有助于提高客户满意度,增强客户对软件的信任。
  5. 持续改进:质量模型鼓励持续改进实践,以确保软件项目在质量方面不断进步。

总结:质量模型为测试工程师提供了一种系统性的方法来评估和改进软件质量。它们帮助团队识别问题、制定改进计划,并确保软件符合标准和客户期望,从而提高项目的成功机会。不同的质量模型可以根据项目需求和行业标准进行选择和应用。

二.测试的大致分类

按测试目的分类:

  1. 功能测试:验证软件是否按照规格说明执行其功能。
  2. 非功能测试:评估软件的性能、可用性、安全性、兼容性等非功能方面的特性。
  3. 回归测试:确保新的更改没有破坏现有功能。
  4. 验收测试:由客户或最终用户执行,以确认软件是否满足其需求和期望。
  5. 冒烟测试:测试前的测试,大概检测一下功能的完善程度。(多为前后端自己做)

按测试层级分类

  1. 单元测试:测试单个代码单元(通常是函数或方法)的功能。
  2. 集成测试:测试多个单元或组件之间的交互。
  3. 系统测试:在整个系统范围内测试整个应用程序的功能。
  4. 用户界面测试:测试用户界面的可用性和交互性。
  5. 性能测试:评估应用程序的性能、负载和稳定性。
  6. 安全测试:检测和评估应用程序的安全性和漏洞。

执行方式分类

  1. 手动测试:测试人员手动执行测试用例。
  2. 自动化测试:使用自动化测试工具和脚本执行测试。

按测试生命周期阶段分类

  1. 静态测试:在代码编写之前或开发过程中进行,包括代码审查、静态分析和静态测试工具。
  2. 动态测试:在运行时进行,测试应用程序的实际行为。

按测试类型分类

  1. 黑盒测试:测试人员不了解应用程序的内部实现,只关注功能和输入输出。
  2. 白盒测试:测试人员了解应用程序的内部代码和逻辑,进行更深入的测试。
  3. 灰盒测试:介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

按测试策略分类

  1. 探索性测试:基于测试人员的经验和直觉,不依赖于预定的测试计划。
  2. 基于规格的测试:依据软件规格和需求文档执行测试计划。

按测试对象分类

  1. 功能测试:测试应用程序的具体功能和特性。
  2. 系统集成测试:测试应用程序与外部系统和组件的集成。
  3. 接口测试:测试应用程序的接口,如 API、Web服务等。

按测试环境分类

  1. 本地测试:在开发者的本地开发环境中进行测试。
  2. 集成测试:将不同组件集成到一个测试环境中进行测试。
  3. 生产环境测试:在实际生产环境中进行测试。

三.测试流程的大致步骤

  1. 需求分析:对接前后端开发,了解和审查软件需求文档,确保对需求的理解准确。作为使用方使用软件,确定测试范围和测试目标。
  2. 测试计划安排:制定测试计划,包括测试的范围、目标、资源、时间表和测试策略。确定测试用例的编写和执行计划。
  3. 测试用例书写:根据需求文档,编写详细的测试用例,包括测试输入、预期输出和测试步骤。确保测试用例覆盖了各种使用功能和场景。
  4. 测试环境设置:配置测试所需环境,包括硬件、软件、数据库和网络设置。确保测试环境与生产环境尽可能相似。
  5. 测试执行:进行全方位测试(安全,性能等),执行测试用例,模拟用户操作,输入测试数据并记录测试结果。检查和验证软件的功能、性能、安全性和兼容性等方面。
  6. 缺陷管理:如果在测试中发现缺陷(Bug),则记录详细信息,包括缺陷的描述、严重程度和重现步骤。分类和优先处理缺陷,并分配给开发团队进行修复。
  7. 测试报告:撰写测试报告,总结测试结果、发现的缺陷和测试覆盖率。向利益相关者提供测试报告,以支持决策和改进。
  8. 测试交付:结束测试阶段,确保所有测试用例都已执行并通过。准备软件产品的交付,包括测试文档和测试数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值