01软件测试基础

软件测试常见名称

在软件测试中,常见的名称和术语包括:

1.需求(Requirement)

  软件需要实现的功能或特性,通常由客户或业务方提出。需求又可分为:用户需求、软件需求。

  • 用户需求:一般是客户甲方提出。
  • 软件需求:是从技术角度详细描述系统需要实现的功能、性能、约束等,通常以结构化文档形式呈现,供开发团队使用。

用户需求 vs 软件需求

特性用户需求软件需求
描述角度用户视角技术视角
语言非技术性语言,自然语言技术性语言,结构化文档
关注点用户目标、任务、使用场景系统功能、性能、约束
编写者客户、业务分析师、产品经理系统分析师、架构师、开发人员
示例用户希望系统能够快速加载页面系统应在 1 秒内加载页面

     2.测试用例(Test Case)

为了验证某个特定功能或场景而设计的一组输入、执行条件和预期结果。测试用例是测试执行的最小单位,用于检查软件是否按预期工作。

以下是一个简单的测试用例示例:

用例编号TC_LOGIN_001
测试标题验证用户使用正确的用户名和密码可以成功登录
前置条件用户已注册并拥有有效的账号
测试步骤1. 打开登录页面。
2. 输入用户名 "testuser"。
3. 输入密码 "password123"。
4. 点击“登录”按钮。
测试数据用户名="testuser",密码="password123"
预期结果用户成功登录,跳转到主页。
实际结果用户成功登录,跳转到主页。
测试状态通过
优先级
所属模块登录模块

3.测试计划(Test Plan)

测试计划是测试活动的指导性文件,概述测试范围、策略、资源、进度等内容的文档。,确保测试工作有序进行,并为项目团队提供清晰的测试方向。

以下是一个简化的测试计划示例:

部分内容
引言本测试计划旨在验证 XXX 系统的功能、性能和安全性,确保其满足用户需求。
测试目标1. 验证系统功能是否符合需求文档。
2. 确保系统在高负载下的性能表现。
测试范围1. 功能测试:登录模块、支付模块。
2. 性能测试:系统响应时间、并发用户数。
测试策略1. 功能测试:手动测试。
2. 性能测试:使用 JMeter 进行负载测试。
测试资源1. 测试人员:3 名功能测试工程师。
2. 测试环境:Windows 10、Chrome 浏览器。
测试进度1. 测试用例设计:2023-10-01 至 2023-10-05。
2. 功能测试执行:2023-10-06 至 2023-10-15。
测试交付物1. 测试计划文档。
2. 测试用例文档。
3. 测试报告。
风险与应对措施1. 风险:测试环境未按时准备好。
2. 应对措施:提前与运维团队沟通。
测试通过标准1. 所有高优先级的测试用例已执行并通过。
2. 未解决的缺陷数量低于 5 个。
测试工具1. 功能测试:JIRA、TestRail。
2. 性能测试:JMeter。

4.测试脚本(Test Script)

自动化测试中用于执行测试的代码或指令。测试脚本可以模拟用户操作、输入数据、验证结果,并生成测试报告。它是自动化测试的核心组成部分,能够提高测试效率,减少重复性工作。

5.缺陷(Bug)

是指在软件测试过程中发现的与需求、设计或预期行为不符的问题。缺陷可能涉及功能、性能、界面、安全性等方面。

以下是一个缺陷报告的示例:

字段内容
缺陷编号BUG-001
标题登录功能无法处理空密码
描述步骤:
1. 打开登录页面。
2. 输入用户名 "testuser"。
3. 不输入密码。
4. 点击“登录”按钮。
实际结果:系统未提示密码为空,直接跳转到错误页面。
预期结果:系统应提示“密码不能为空”。
严重程度
优先级
所属模块登录模块
环境信息Windows 10、Chrome 浏览器
附件登录错误页面的截图
状态新建
发现人张三
分配给

李四

5.1Bug的等级

  1. 崩溃:导致系统完全无法运行或核心功能失效的缺陷。
  •      登录功能完全无法使用,所有用户无法登录系统。
  •       系统在启动时崩溃。

    2.严重:影响主要功能或重要业务流程的缺陷。

  • 支付功能无法完成交易。

  • 数据保存失败,导致用户输入丢失。

   3.一般:影响次要功能或非核心业务流程的缺陷。

  • 页面布局错乱,但不影响功能使用。

  • 某些边界条件下功能异常。

   4.次要:对系统功能影响较小或仅限于界面优化的缺陷。

  • 按钮颜色与设计稿不一致。

  • 提示信息中的拼写错误。

5.2 Bug的生命周期

  • New:新发现的bug,未经评审决定是否指派给开发人员进行修改。
  • Open:确认是bug,并且认为需要进行修改,指派给相应的开发人员。
  • Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。
  • Rejected:如果认为不是bug,则拒绝修改
  • Delay:如果认为暂时不需要修改或者暂时不能修改,则延后修改。
  • Closed:修改状态的bug经测试人员的回归测试验证通过,则关闭bug。
  • Reopen:如果经验证bug仍存在,则需要重新打开bug,开发人员重新修改

6.测试环境(Test Environment)

用于执行测试的硬件、软件、网络配置等。

软件的生命周期vs软件测试的生命周期

软件的生命周期

软件测试的生命周期

SDLC vs STLC 对比表格

阶段SDLCSTLC
目标完成软件开发并交付用户使用。确保软件质量,发现并修复缺陷。
主要活动需求分析、计划、设计、编码、测试、运行维护。需求分析、测试计划、测试设计、测试执行、测试评估。
输出需求文档、设计文档、代码、上线版本。测试计划、测试用例、测试报告、缺陷报告。
参与角色产品经理、开发人员、测试人员、运维人员。测试经理、测试工程师、开发人员。
时间范围覆盖软件从概念到退役的整个生命周期。主要集中在软件开发阶段的测试活动。
关注点软件的功能实现和用户需求满足。软件的质量和缺陷修复。

开发模型

是软件开发过程中使用的框架或方法论,用于指导团队从需求分析到软件交付的整个流程。不同的开发模型适用于不同的项目需求和团队特点。

1. 瀑布模型(Waterfall Model)

  • 特点

    • 线性顺序开发,每个阶段完成后才能进入下一个阶段。

    • 阶段包括:需求分析、设计、实现、测试、部署、维护。

  • 优点

    • 结构清晰,易于理解和管理。

    • 适合需求明确且不变的项目。

2. 迭代模型(Iterative Model)

  • 特点

    • 将项目分为多个迭代,每个迭代都是一个完整的开发周期(需求、设计、实现、测试)。

    • 每个迭代交付一个可运行的版本。

  • 优点

    • 逐步完善软件功能,灵活性高。

    • 早期交付部分功能,降低风险。

3. 增量模型(Incremental Model)

  • 特点

    • 将软件分为多个增量,每个增量都是一个完整的功能模块。

    • 每个增量独立开发、测试和交付。

  • 优点

    • 早期交付部分功能,用户可提前使用。

    • 降低整体项目风险。

4. 螺旋模型(Spiral Model)

  • 特点

    • 结合瀑布模型和迭代模型,强调风险分析。

    • 每个迭代包括四个阶段:规划、风险分析、开发、评估。

  • 优点

    • 强调风险管理,适合高风险项目。

    • 灵活应对需求变化。

5. 敏捷模型(Agile Model)

 

  • 《敏捷宣言》
    个体与交互重于过程和工具
    可用的软件重于完备的文档
    客户协作重于合同谈判
    响应变化重于遵循计划

    特点

    • 以用户需求为核心,强调快速迭代和持续交付。

    • 常见方法:Scrum、Kanban、极限编程(XP)。

  • 优点

    • 高度灵活,适应需求变化。

    • 持续交付,用户可尽早使用。

敏捷开发特点

  1. 迭代开发

    • 将项目分为多个短周期(通常 2-4 周),每个周期称为一个迭代(Sprint)。

    • 每个迭代交付一个可运行的软件版本。

  2. 用户需求为核心

    • 通过用户故事(User Story)描述需求,确保开发始终围绕用户价值。

  3. 持续交付

    • 每个迭代结束后交付可用的软件,用户可尽早使用并提供反馈。

  4. 自组织团队

    • 团队高度协作,自主分配任务和解决问题。

  5. 快速响应变化

    • 通过频繁的评审和调整,快速适应需求变化。


常见的敏捷开发方法Scrum

包括三个角色、五个会议

会议包括 需求发布会议、迭代计划会议、每日会议、演示会议、回顾会议。

角色包括:产品经理、项目经理、开发团队。

使用固定的迭代周期(Sprint)1-4周,通常情况下为1周。

 

测试模型

1. V 模型(V-Model)

V模型的核心思想是测试与开发并行,通过早期测试来降低缺陷修复成本。

V模型将开发过程分为左侧的开发阶段和右侧的测试阶段,两者形成对称的V字形结构。每个开发阶段都有一个对应的测试阶段,确保软件在开发的每个环节都经过验证和确认。

2. W 模型(W-Model)

它是对V模型的扩展和优化。W模型的核心思想是测试与开发并行,强调测试活动贯穿整个软件开发生命周期,从而更早地发现和修复缺陷,提高软件质量。

 

 

3.V模型与W模型的对比

方面V模型W模型
测试活动测试活动在开发完成后进行。测试活动与开发活动并行进行。
灵活性较低,适合需求稳定的项目。较高,适合需求变化的项目。
适用场景大型复杂项目、对质量要求高的项目。中小型项目、需求变化频繁的项目。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值